All Versions
18
Latest Version
Avg Release Cycle
69 days
Latest Release
3631 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v1.5.1 Changes
May 15, 2015- Andrew Kelley:
- update dependencies
- update to work with both io.js and node.js v0.12
- fix error handling logic for attaching/detaching encoder
- groovebasin protocol: add 'libraryQueue' subscription item. It gives you library information about the subset of items that are in the play queue.
- groovebasin protocol: fix messages not being delimited by newlines.
- MPD protocol: fix crash when queuing songs
- add
encodeBitRate
config option defaulting to 256 which is the old hardcoded value. - add
--dump-users
CLI argument which can recover passwords. Note: next version of groove basin will hash passwords. See #434 - fix the high CPU usage bug. Special thanks to Felipe Sateler for diagnosing the cause after all my failed attempts.
- Andrew Kelley:
-
v1.5.0 Changes
January 09, 2015Contains breaking changes to the Groove Basin protocol. Since the Groove Basin protocol is not officially stable yet, only the minor version number is bumped.
Andrew Kelley:
- playlist support
- support for MPD stored_playlist commands
- imported songs automatically added to an Incoming playlist
- client: double quotes can be used to include spaces in search terms.
- import by name feature - searches YouTube for the name and imports into your library.
- client: fix security bug where title display was not escaping HTML
- fix symlink behavior in music library
- fix spacebar keyboard shortcut in Firefox
- fix crash when zip files contain non music files
- rename "Dynamic Mode" to "Auto DJ"
- rename "Events" pane to "Chat"
- MPD users show up in events pane, and MPD commands show up as events for MPD users.
- MPD lsinfo command allows '/' to mean root directory. Fixes compatibility with gmpc.
- MPD list command supports a single argument to return all tags of that type. Fixes compatibility with gmpc.
- MPD: when appending tracks with Auto DJ on, insert them before the random ones.
- (breaking change) protocolupgrade UUID has changed
- (breaking change) slashes and spaces disallowed in user names
- (breaking change) clear and shuffle commands removed from protocol
- HTTP redirect to HTTPS on the same port
- client: clear and shuffle buttons removed from UI
- client: Ctrl+A to select all. Works on queue, library, and playlists.
- client: shuffle works on the selection instead of the entire queue and also works on playlists and playlist items.
- client: shuffle context menu item added to playlists and queue.
- client: ability to click in the empty queue area to get rid of context menu
- client: scroll to cursor instead of selection
- client: clear selection when focusing search box
- client: disable context menu items lacking permission
- client: fix context menu popping up outside document boundary
- client: fix playlist item movement not anticipating correctly
- client: 'E' keyboard shortcut to edit tags
- client: prettier edit tags dialog
- client: no longer depends on jQuery, jQuery UI, and cssreset. The code is now smaller, less buggy, and more performant.
- client: fix not all DOM elements resizing correctly
- client:
>
and<
keyboard shortcuts require pressing shift - client: ability to show keyboard shortcuts from settings
- client: add to playlist UI allows better keyboard interaction
- fix crash when encountering paid YouTube videos
- fix not respecting verbose logging for play queue
--config
option so config file can be in a different place- db path is relative to config file instead of CWD
- save
playCount
in the db - make importing files more efficient by disabling fs watching during
- server handles many commands more efficiently
- use
xdg-user-dir
if available for default music directory - add
--delete-all-events
CLI argument - chat: invalid commands do not get cleared or sent
- fix MPD/groovebasin ID mapping memory leak
- groovebasin protocol has stricter and safer argument parsing, resulting in several security vulnerabilities fixed.
- deleting multiple tracks from the library is more efficient and results in
O(1)
messages to connected clients instead ofO(n)
. - ability to add SSL CA certificates
- better shuffle behavior
- When Auto DJ is on, it re-rolls all the random songs without interrupting history or current track.
- When Auto DJ is off, it preserves sort keys; just shuffling them around.
- rescan command deletes mtimes in the db instead of relying on a flag in memory. This way if you kill the server in the middle of a rescan, it picks up where it left off.
- add
--spawn
,--print-url
, and--start
command line options - client: smoother track slider
- client: improved page performance due to no longer gzipping assets which are already compressed.
Melissa Noelle:
- chat: support /me events
- chat: convert URLs to links
- client: style the slider widget
Josh Wolfe:
- sort keys for queueing up large number of songs at once requires
O(n*log(n))
size over the network instead ofO(n^2)
. - play queue total never displays a negative number and shows '?' if some tracks need scanning.
- sort keys for queueing up large number of songs at once requires
moshev
- Fixed a regression in uploading.
-
v1.4.0 Changes
October 17, 2014Andrew Kelley:
- client: fix showing filter without filtered results when server restarts
- fix auto pause behavior and add event for it
- fix symlink behavior in music library
- import by url: respect content-disposition header
- fix serving invalid content-disposition header
- no longer accidentally shipping config.json in npm module
- uploaded files are imported in a streaming fashion instead of after all files are finishing uploading.
- fix an uploading crash
- ability to import and upload .zip files.
- auto queue happens server side.
- play queue displays total duration and selection duration
- add progress reporting for ongoing imports
- fix aborted uploads getting stuck
- Remove the easter eggs. It was fun while it lasted. Maybe someday we will live in a society where nothing is copyrighted.
- add Cache-Control header to static assets to help enforce caching rules.
Josh Wolfe:
- fix crash when uploading 0 byte .zip file
Felipe Sateler:
- open stream and homepage links in new tabs/windows
Melissa Noelle:
- client supports /nick command to change name
-
v1.3.2 Changes
October 06, 2014- Andrew Kelley:
- style: fix messed up menus and volume slider from upgrading jquery ui
- config file is config.json instead of config.js
- Andrew Kelley:
-
v1.3.1 Changes
October 04, 2014- Andrew Kelley:
- update to jquery 2.1.1; include unminified source
- correctly report error when fail to parse config
- use cssreset source instead of minified file
- update to jquery ui 1.11.1; include source
- Andrew Kelley:
-
v1.3.0 Changes
October 03, 2014Andrew Kelley:
- if songs have no track numbers then never use album loudness
- fix YouTube import
- fix streaming not pausing and playing reliably
- fix glitch in streaming when resuming after a long pause
- add client side volume slider
- use SSL by default with a public self signed cert
- import URL allows downloading from https with invalid certs
- replace uuid dependency with a simpler, faster, and more robust random string
- rewrite user login and permissions support. MPD users can log in with (username) + '/' + (password)
- user accounts and permissions are managed via the browser interface instead of with the configuration file
- add events tab which tells what actions have happened recently, supports chat, and displays which users are streaming
- fix permissions checking for downloading anonymous requests
- remove 'l' hotkey for library and add 'e' hotkey for settings
- rename legacy protocol message names
- quieter log by default; ability to run with --verbose
- fix bug where all files on play queue would be preloaded; now only the next and previous few files are preloaded
- client: shift+delete only attempts to delete tracks when you have the necessary permissions
- stream endpoint obeys permission settings
- stream count is number of logged in users with an activated stream button plus number of anonymous users connected to the http endpoint
- auto-pause is now instant instead of half second timer
- client: fix cutting/pasting text filter box behavior
- fix crash when removing a nested directory in the music directory
- client: fix player preduction when currently playing track is removed
- fix handling of slashes when importing from YouTube
- client: disable hardware playback toggle button when not admin
- cut the client javascript bundle size in half
- build: /bin/sh instead of /bin/bash
Josh Wolfe:
- implement and switch to more robust zip generating module. Fixes unicode file names in zips and enables the download progress bar.
- implement and switch to simpler object diffing module. Reduces client-side JavaScript bundle size as well as bandwidth needed to stay connected to Groove Basin when other users are making edits.
- Multi-file downloads use a GET request. This lets you copy a download URL which downloads multiple files to the clipboard.
David Renshaw:
- Fix crash when import URL fails to download.
-
v1.2.1 Changes
July 04, 2014- Andrew Kelley:
- fix ytdl-core version locking. Fixes YouTube import.
- Andrew Kelley:
-
v1.2.0 Changes
July 04, 2014Andrew Kelley:
- client uses relative stream URL so reverse proxies can work.
- client uses wss if protocol is https.
- client UI indicates how many people are streaming
- automatically pause when last streamer disconnects
- client: remove dotted outline of links.
- uploading is permission add, not control
- rename the Upload tab to the Import tab
- fix not being able to see client with anonymous read-only permissions set
- fix library scan errors deleting songs from database.
- streaming: less chance of glitches
- streaming: no hiccup sound on skip
Josh Wolfe:
- fix unable to download songs with hashtags in the URL (but first, let me take a #selfie)
-
v1.1.0 Changes
June 20, 2014Andrew Kelley:
- Serve static assets gzipped from memory and use etags. Client loads faster.
- Fix upload for multiple files.
- Uploading has a progress bar and queues things in the correct order.
- Client: UI renders faster. No longer depends on handlebars HTML templating.
- Client: Status update no longer interfere with user input in settings pane.
- Client: Fix incorrectly displaying songs as random
- Client: Use textContent instead of innerText. Fixes incompatibility with some browsers.
- Client: Fix incorrect expand icon shown sometimes.
- Update duration info in DB when loudness scan finishes.
- Default streaming buffer size tuned carefully to work well with browsers.
- Fix crash - writing to closed web socket.
- Prevent imported track filenames from ending directory names with '.'.
- Import by URL: Fix race condition.
- Import by URL: Prevent needless file copy operation when importing in situations where the music directory is in a different device than /tmp.
- Import by URL: Support importing from YouTube.
- Import by URL: URI decode filename
- Fix not watching music root folder
- Client: Fix filenames with percent (%) having invalid download URL.
- Client: Fix displaying incorrect track number when track number is unknown
- Client: Fix library items not always expanding consistently
- Recognize TPA and TCM tags.
- Fix queue failing to persist on shuffle.
- Ability to edit tags. Note these edits are currently only saved to the DB and not written to the music files.
- Client: Fix selection behaving erradically for albums in a list.
- Client: Keyboard shortcuts window scrollable with arrows.
- Client: Fix UI issues with buttons
- Client: Default selected queue item is the current track.
- Client: Fix repeat one and repeat all behavior swapped.
- Fix Dynamic Mode not weighting last queue date properly when selecting random songs.
- Fix potential crash when users disconnect from client.
- Fix segfault when deleting tracks.
- Save CPU cycles by only encoding audio when streamers are connected.
- Ability to toggle server-side audio playback.
- Loudness adjustment: Avoid soft limiting when possible based on looking at the true peak of the song.
- Add check for correct version of libgroove on startup. This prevents users from accidentally using an outdated version and getting bugs.
- Ability to start even if MPD protocol port cannot be bound.
- Preserve volume over application restarts.
- Improved streaming playback reliability.
- Fix downloading zip for artist and album.
- Deleting currently playing track goes to next song.
- Client: Fix stream button not always in correct state.
- Add header so that downloading always results in download.
- Start at last play position on server restart.
- Various improvements to how tracks are filed in the library browser.
- When playlist changes, reprioritize scanning queue.
- Scanning progress is reported to the client.
- HTTP commands go through permissions framework.
- Fix sometimes player stops and does not go to next track automatically.
- Ignore folders in music directory beginning with a dot.
- Client: Fix freezing and stuttering when many library or playlist updates happen quickly.
- Client: Preserve library selection state on library update.
Josh Wolfe:
- Client: Fix client side crash when 2 clients delete the same queue item.
- Client: Fix cursor selection not showing up.
- Client: Ctrl+Space to toggle selection under the cursor.
- Client: Queue now uses Ctrl to move the cursor without selecting, and Alt to bump selected tracks up or down.
- Client: Ctrl+Arrows and Ctrl+Space in library now work like in the queue.
- Client: Shift+Arrows in queue now works as expected.
- Client: Fix Shift Up/Down behavior in library.
- Seeking no longer automatically starts playing.
- Client: Hide the password in the UI.
- Client: Library deletions are anticipated.
Caleb Morris:
- Add filter delay to wait for user to finish typing before beginning search.
jeffrom:
- Fix disabled menu item focus jumping.
jimmy:
- MPD: Make "search" a substring match.
- MPD: Support "any" as a search type in find and search.
jprjr:
- Fix hardware playback fallback behavior.
seansaleh:
- encodeQueueDuration is now a configurable option.
Ronak Buch:
- Client style: Add margin to URL upload bar.
Jeff Epler:
- README: Mention nodejs-legacy Debian package.
-
v1.0.1 Changes
March 18, 2014- Andrew Kelley:
- Fix race condition when removing tracks from playlist. Closes #160
- Default import path includes artist directory.
- Also recognize "TCMP" ID3 tag as compilation album flag
- Fix Last.fm authentication
- Andrew Kelley: