1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438
|
### Version 1.4.0 (2014-10-16)
* Andrew 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
### Version 1.3.2 (2014-10-06)
* Andrew Kelley:
- style: fix messed up menus and volume slider from upgrading jquery ui
- config file is config.json instead of config.js
### Version 1.3.1 (2014-10-03)
* 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
### Version 1.3.0 (2014-10-03)
* Andrew 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.
### Version 1.2.1 (2014-07-04)
* Andrew Kelley:
- fix ytdl-core version locking. Fixes YouTube import.
### Version 1.2.0 (2014-07-04)
* Andrew 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)
### Version 1.1.0 (2014-06-20)
* Andrew 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.
### Version 1.0.1 (2014-03-18)
* 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
### Version 1.0.0 (2014-03-15)
* Andrew Kelley:
* Remove dependency on MPD. Groove Basin now works independently of MPD.
It uses [libgroove](https://github.com/andrewrk/libgroove) for audio
playback and streaming support.
* Support MPD protocol on (default) port 6600. Groove Basin now functions as
an MPD server.
* Fix regression for handling unknown artist/album
* Fix playlist to display artist name
* Plug upload security hole
* Groove Basin is no longer written in coco. Hopefully this will enable more
code contributions.
* Simpler config file that can survive new version releases.
* Simpler and more efficient protocol between client and server.
* Pressing prev on first track with repeat all on goes to end
* Automatic loudness detection (ReplayGain) using EBU R128.
- Lazy playlist scanning.
- Automatic switching between album and track mode.
- Takes advantage of multi-core systems.
* Faster rebuilding of album table index
* HTTP audio stream buffers much more quickly and flushes the buffer on seek.
* Fix volume ui going higher than 1.0.
* Fix changing volume not showing up on other clients.
* Native html5 audio streaming instead of soundmanager 2
* Streaming shows when it is buffering
* add meta charset=utf8 to index.html.
* fix volume keyboard shortcuts in firefox.
* Watches music library for updates and quickly updates library.
* Route dynamicmode through permissions framework
* Better default password generation
* web ui: fix current track not displayed sometimes
* upgrade jquery and jquery ui to latest stable. Fixes some UI glitches.
* static assets are gzipped and held permanently in memory. Makes the
web interface load faster.
* player: set "don't cache this" headers on stream
* Remove chat. It's not quite ready yet. Chat will be reimplemented better
in a future release.
* Remove stored playlist stub from UI. Stored playlists will be reimplemented
better in a future release.
* Josh Wolfe:
* Converting the code to not use MPD
* fix multiselect shiftIds
* deleting library items removes them from the queue as well.
* fix shift click going up in the queue
* after deleting tracks, select the next one, not some random one.
### Version 0.2.0 (2012-10-16)
* Andrew Kelley:
* ability to import songs by pasting a URL
* improve build and development setup
* update style to not resize on selection. closes #23
* better connection error messages. closes #21
* separate [mpd.js](https://github.com/andrewrk/mpd.js) into an open source module. closes #25
* fix dynamicmode; use higher level sticker api. closes #22
* search uses ascii folding so that 'jonsi' matches 'Jónsi'. closes #29
* server restarts if it crashes
* server runs as daemon
* server logs to rotating log files
* remove setuid feature. use authbind if you want to run as port 80
* ability to download albums and artists as zip. see #9
* ability to download arbitrary selection as zip. closes #9
* fix track 08 and 09 displaying as 0. closes #65
* fix right click for IE
* better error reporting when state json file is corrupted
* log chats
* fix edge case with unicode characters. closes #67
* fix next and previous while stopped behavior. closes #19
* handle uploading errors. fixes #59
* put link to stream URL in settings. closes #69
* loads faster and renders faster
* send a 404 when downloading can't find artist or album. closes #70
* read-only stored playlist support
* fix playlist display when empty
* add uploaded songs to "Incoming" playlist. closes #80
* fix resize weirdness when you click library tab. closes #75
* don't bold menu option text
* add color to the first part of the track slider. closes #15
* Josh Wolfe:
* fix dynamic mode glitch
* fix dynamic mode with no library or no tags file
* uploading with mpd <0.17 falls back to upload name
### Version 0.1.2 (2012-07-12)
* Andrew Kelley:
* lock in the major versions of dependencies
* more warnings about mpd conf settings
* remove "alert" text on no connection
* better build system
* move dynamic mode configuration to server
* server handles permissions in mpd.conf correctly
* clients can set a password
* ability to delete from library
* use soundmanager2 instead of jplayer for streaming
* buffering status on stream button
* stream button has a paused state
* use .npmignore to only deploy generated files
* update to work with node 0.8.2
* Josh Wolfe:
* pointing at mpd's own repository in readme. #12
* fixing null pointer error for when streaming is disabled
* fixing blank search on library update
* fixing username on reconnect
* backend support for configurable dynamic history and future sizes
* ui for configuring dynamic mode history and future sizes
* coloring yourself different in chat
* scrubbing stale user ids in my_user_ids
* better chat name setting ui
* scrolling chat window properly
* moar chat history
* formatting the state file
* fixing chat window resize on join/left
* validation on dynamic mode settings
* clearer wording in Get Started section and louder mpd version dependency
documentation
### Version 0.0.6 (2012-04-27)
* Josh Wolfe:
* fixing not queuing before random when pressing enter in the search box
* fixing streaming hotkey not updating button ui
* stopping and starting streaming in sync with mpd.status.state.
* fixing weird bug with Stream button checked state
* warning when bind_to_address is not also configured for localhost
* fixing derpy log reference
* fixing negative trackNumber scrobbling
* directory urls download .zip files. #9
* document dependency on mpd version 0.17
* Andrew Kelley:
* fix regression: not queuing before random songs client side
* uploaded songs are queued in the correct place
* support restarting mpd without restarting daemon
* ability to reconnect without refreshing
* log.info instead of console.info for track uploaded msg
* avoid the use of 'static' keyword
* David Banham:
* Make jPlayer aware of which stream format is set
* Removed extra constructor. Changed tabs to 2spaces
### Version 0.0.5 (2012-03-11)
* Note: Requires you to pull from latest mpd git code and recompile.
* Andrew Kelley:
* disable volume slider when mpd reports volume as -1. fixes #8
* on last.fm callback, do minimal work then refresh. fixes #7
* warnings output the actual mpd.conf path instead of "mpd conf". see #5
* resize things *after* rendering things. fixes #6
* put uploaded files in an intelligent place, and fix #2
* ability to retain server state file even when structure changes
* downgrade user permissions ASAP
* label playlist items upon status update
* use blank user_id to avoid error message
* use jplayer for streaming
* Josh Wolfe:
* do not show ugly "user_n" text after usernames in chat.
### Version 0.0.4 (Mar 6 2012)
* Andrew Kelley:
* update keyboard shortcuts dialog
* fix enter not queuing library songs in firefox
* ability to authenticate with last.fm, last.fm scrobbling
* last.fm scrobbling works
* fix issues with empty playlist. fixes #4
* fix bug with dynamic mode when playlist is clear
* Josh Wolfe:
* easter eggs
* daemon uses a state file
### Version 0.0.3 (2012-03-04)
* Andrew Kelley:
* ability to select artists, albums, tracks in library
* prevents sticker race conditions from crashing the server (#3)
* escape clears the selection cursor too
* ability to shift+click select in library
* right-click queuing in library works
* do not show download menu option since it is not supported yet
* show selection on expanded elements
* download button works for single tracks in right click library menu
* library up/down to change selection
* nextLibPos/prevLibPos respects whether tree items are expanded or collapse
* library window scrolls down when you press up/down to move selection
* double click artists and albums in library to queue
* left/right expands/collapses library tree when lib has selection
* handle enter in playlist and library
* ability to drag artists, albums, tracks to playlist
* Josh Wolfe:
* implement chat room
* users can set their name in the chat room
* users can change their name multiple times
* storing username persistently. disambiguating conflicting usernames.
* loading recent chat history on connect
* normalizing usernames and sanitizing username display
* canot send blank chats
* supporting /nick renames in chat box
* hotkey to focus chat box
### Version 0.0.2 (2012-03-01)
* Andrew Kelley:
* learn mpd host and port in mpd conf
* render unknown albums and unknown artists the same in the playlist (blank)
* auto-scroll playlist window and library window appropriately
* fix server crash when no top-level files exist
* fix some songs error message when uploading
* edit file uploader spinny gif to fit the theme
* move chat stuff to another tab
* Josh Wolfe:
* tracking who is online
|