Groove Basin v1.5.1 Release Notes
Release Date: 2015-05-15 // almost 10 years ago-
- 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:
Previous changes from v1.5.0
-
Contains 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.