Navidrome Music Server v0.38.0 Release Notes

Release Date: 2020-11-16 // 14 days ago
  • Highlights

    • ๐Ÿ’ป [UI] New Activity panel (top right) shows server info and allow triggering rescans manually (#130)
    • ๐Ÿšš [UI] Moved notifications to the top, so they are not covered by the player
    • ๐Ÿ’ป [UI] Added comments to Songs and Albums
    • ๐Ÿ’ป [UI] Added <-, -> (skip songs), =, - (volume) and m (collapse left menu) hotkeys
    • ๐Ÿ’ป [UI] Added optional Gravatar support. Can be enabled with new config option and requires user's emails being correct
    • ๐ŸŒ [UI] Added Thai translation, thanks @aneekl
    • ๐ŸŒ [UI] Added Esperanto translation, thanks @ebanDev
    • ๐Ÿ’ป [UI] Don't disable media controls when buffering (#568)
    • ๐Ÿ’ป [UI] Fixed durations with more than 24 hours (#612)
    • ๐Ÿ’ป [UI] Fixed "Something went wrong" error when deleting a playlist
    • [Server] New, faster, cache folder layout
    • ๐Ÿ’ป [Server] New config option to globally disable download options in the UI
    • ๐ŸŽ General stability and performance improvements

    Complete Changelog

    โšก๏ธ 53b2cdd Update Thai language
    โšก๏ธ 088af90 Only try to check cover art file for lastUpdated if fast access is not set
    1ee3983 Retry connecting to the events endpoint more frequently on first load
    โšก๏ธ 972a94d Update translations (#623)
    b87f7b6 Bump react-redux from 7.2.1 to 7.2.2
    f09a642 Bump react-dom from 16.13.1 to 16.14.0
    49d28d3 Bump jwt-decode from 3.0.0 to 3.1.2
    8b09f03 Bump react-ga from 3.1.2 to 3.2.1
    โœ… 41cbd3a Bump @testing-library dependencies
    a1dcb9a Show folders scanned instead of files scanned
    be715c3 Disable scan buttons when there's a scan in progress
    ๐Ÿšš fddded3 Move star to end of album title. Use flex for album details
    โšก๏ธ cf90f0a Update sizes with SQL, instead of a full rescan
    ๐Ÿ‘ 8bfaa0a Better detection of ID fields, to use = instead of LIKE
    ๐Ÿ‘• 15697a6 Bump github.com/golangci/golangci-lint from 1.32.1 to 1.32.2
    bcb3e14 Bump github.com/astaxie/beego from 1.12.2 to 1.12.3
    ๐Ÿšš 44d13bd Remove stray Printf
    ๐ŸŒ 9629c26 Fix ja translation (#624)
    ๐ŸŒฒ 1c7f859 Add more broker log
    โœ… 8b2a550 Fix test
    b0ea517 Add Album comment to Album details
    08f9663 Add Uptime to Activity Panel
    b64bb70 Use Gravatar in GetAvatar Subsonic API
    0๏ธโƒฃ a4ef312 Enable activity panel by default
    ๐ŸŒ 84cd6b7 Add Esperanto translation, thanks to @ebanDev
    df86a81 New translated terms
    b38be69 Make AppBar back to original height
    48e0d2c Trunc long names
    ๐Ÿ‘• 3dac9ae Fix linting error
    ๐Ÿ‘ 9d7995f Redesign UserMenu, now with support for Gravatar
    7efc32d Ignore "Cover (front)" tag when using ffmpeg extractor
    153cf8f Don't display "Comment" field in details if it is empty
    ๐Ÿ‘ b3f373c Better Activity panel layout
    08399c4 Fix some JS console errors
    25db696 Detect different discs, even when missing the first track of the disc. Fix #620.
    bdad927 Fix color of activity icon on light themes
    ๐Ÿ’ป b1a9dfe Replace <hr/> with Material-UI's <Divider/>
    c09ba50 Fine tune scan status behaviour
    ๐Ÿ’ป 0e7163e Sanitize comments and lyrics on import, as they are rendered as HTML on the UI
    5111cf8 Display comments in SongDetails and AlbumList's details
    98af68a Import comments and lyrics
    ๐Ÿ‘ aee4eb7 Add support for multi-line tags
    99d454d Fix import
    โœ… 1101230 Add tests for formatters
    ๐Ÿ‘ 9d2426a Use a better notation for exporting JS components and functions
    8a44f61 Fix setting up Event Stream message handler on first login
    7afad2c Fix download single track from Playlist
    08e63c8 Add config option to globally enable/disable downloads
    ๐ŸŒฒ bf69c55 Fix log message
    ๐Ÿšš 714100e Remove old TODO
    8f2fe6f Add buffer to broker SendMessage
    ๐ŸŒฒ 08dbf44 Better broker logging
    84080a0 Hide activity menu from non-admin users
    1b624b2 Do not create the EventStream if unauthenticated
    a2e76d6 Add flag to enable activity menu
    โฑ 56803d0 Auto-reconnect to event stream after 20secs timeout
    2b1a5f5 Adding a communication channel between server and clients using SSE
    ๐Ÿšš 3fc8163 Moved all reducers and actions to their own folders
    24b040a Add more keyboard shortcuts
    8d608ac Faster display of cover in album detail view
    ๐Ÿšš 0216046 Remove unused file
    โšก๏ธ b5abd80 Update react-jinke-music-player to 4.9.1. Fix #568
    6542842 Make sure we don't get durations with decimals
    ๐Ÿ‘€ 8d7931b Fix "seekable" log message (was always "false")
    9224a67 Add <- and -> hotkeys, to jump to previous or next song
    873cea4 Fix "Something went wrong" error when deleting a playlist
    ๐Ÿ›  0b977df Fixed duration formatter to properly count lengths longer than 24 hours (#612)
    ๐Ÿ”€ fb1461f Fix reading dirs from a MergeFS
    9cbedda Avoid cross-site scripting
    c9b119f Make scrobble submits compatible with Last.FM specification
    0๏ธโƒฃ a6bd9f6 Make new cache layout the default
    ๐Ÿšš 861c742 Move notifications to the top
    36596d4 Don't send the transcoded file if it is a HEAD request
    ๐Ÿ‘ 94f28f6 Generate a better salt for Subsonic token authentication
    2f56f1b Use new fscache's SetKeyMapper
    โšก๏ธ f4a88b8 Update screenshots


Previous changes from v0.37.0

  • Highlights

    • ๐Ÿ’ป [UI] New Album Grid! Thanks @christophernewton
    • ๐Ÿšš [UI] Moved settings to the top right user menu
    • ๐ŸŒ [UI] Added Russian translation. Thanks @lun4r
    • ๐Ÿ’ป [UI] Better contrast for action buttons when multiple tracks are selected
    • โšก๏ธ [Server] Updated Subsonic API version to 1.16.1
    • [Server] Added startScan and getScanStatus to the Subsonic API
    • [Server] Improved artist matching from Last.FM and Spotify
    • [Scanner] Faster scanner startup, specially for network mounted libraries
    • ๐Ÿ‘ฏ Experimental: Added config option to pre-warm album art (useful for rclone mounts)

    ๐Ÿ”„ Changelog

    ๐Ÿ‘• f50aeb0 Bump golangci-lint version in pipeline
    fd1604b Add user's name to UserMenu
    โฌ†๏ธ 7fbdcf8 Upgrade react-admin to 3.9.6
    ๐Ÿšš 7f7b0c1 Move Settings options to UserMenu
    ๐Ÿ‘• 68e0fe5 Bump github.com/golangci/golangci-lint from 1.32.0 to 1.32.1
    โšก๏ธ 8ddf4d6 Update README.md
    9bcd606 Fix Artist full_text refresh
    7819e83 Fix Artist filtering
    โช 779d4a1 Revert "Process empty folders as changed folders"
    e07152b Process empty folders as changed folders
    ee5a069 Simplify scanner utilization
    71b77cb Bump Subsonic API to 1.16.1
    โšก๏ธ 8e584ee Update count on getScanStatus
    3ea5b85 go mod tidy
    cfad355 Add artistImageUrl available in getArtists endpoint
    ๐Ÿ‘• 7583dda Bump github.com/golangci/golangci-lint from 1.31.0 to 1.32.0
    ๐Ÿšš 6b89679 Remove hardcoded color
    3535fba Fix BulkActions contrast once and for all(?)
    488db26 Improve bulk actions color contrast
    ๐Ÿšš 1f842b0 Remove duplicated code for SongBulkActions
    aabef62 Add "PlayNow" button to bulk actions
    ๐ŸŒฒ 6c0778a Add log to pool
    58d6b0a Cache Warmer now waits for Cache to be available
    145a570 Stop tag_scanner when waltDirTree is interrupted by errors
    ๐Ÿšš 6ccdc2e Fine tune colors, remove PlayButton from AlbumDetail
    6da2f1b feat: ran prettier over changes
    ๐Ÿ‘• 28bcd3f feat: fixed linting error
    1076dda feat: changed hvoer state for album list, added play icon to album details
    e30704f feat: altered grid layout to be more like itunes
    ๐Ÿ‘ 84384da Better naming for function
    ๐ŸŒ 62fe1cd improve spanish translation
    4d6c948 Recover from panic when reading invalid id2 tags
    cdd44a2 Abort scan when media folder is empty
    ๐ŸŒฒ ba8d2f5 Log when a cache has finished loading
    00ec6cf Process changed folders as they are discovered
    ๐Ÿšง 2f39462 WIP
    โšก๏ธ f1a24b9 Use timestamp of artwork file instead of album's UpdatedAt in the cache key
    ๐Ÿ‘ฏ d913108 Add option to disable track cover art. Should help with cloud mounting (rclone)
    32bac11 Make CreatePlaylist response compatible with API >1.14.0
    78630d4 Limit startScan to admins only
    โ†ช 1e57852 Make pool's queue buffered. Workaround while we don't put the queue in disk
    464e251 Only start the cache warming after all folders were scanned
    d9f7a15 Implements library scanning endpoints. Also:
    9b756fa Make caches singletons
    โœ… 515528e Disable flaky test
    ๐Ÿ‘ท 4bd6012 Fix job dependencies in pipeline
    โœ… 2164918 Increased pool test timeout (hate time based tests...)
    4777cf0 Simplify error responses
    ๐Ÿ“ฆ 0f418a9 Completely removed engine package, fewer abstraction layers \o/
    ๐Ÿ“ฆ d0bf37a Move mock datastore to tests package
    ๐Ÿคก 313a088 Make mocks strongly typed
    ๐Ÿšš 6152fad Removed list_generator completely
    ๐Ÿ“ฆ 3037ea0 Removed more layers of indirection from the engine package
    โœ… acba4b1 Add test for pool
    8dfa929 Bump github.com/kr/pretty from 0.2.0 to 0.2.1
    c1fb32c Replace unicode quotes and dash with simple ascii chars
    โฌ†๏ธ b6a6422 Upgrade GoLang to 1.15.3
    ๐Ÿšš 21ed734 Remove invalid migration
    โช 95cc211 Revert "Make caches singletons"
    bf5318d Add flag to enable new cache layout
    81d7556 Make caches singletons
    0๏ธโƒฃ 1e56f4d Add simple cache warmer, disabled by default
    f3bb51f Add formatting to config dump
    197d402 Add dedicated Item interface for cache items
    7eaa427 Uses cached original image when requesting a resized image
    d39bd02 Fix cache key-mapping
    9f533b2 New Cache FileSystem implementation
    1cfa7b2 Change MediaFolder.ID type to int32
    d24709b Add getScanStatus Subsonic response
    af7eaa2 Add scanner status
    ๐Ÿ‘ c0ec0b2 Add better process lifecycle management
    โœ… 6d08a94 Fix test suite name
    04fd72e Change avatar placeholder to new logo
    ๐ŸŒ fc19199 Add Russian translation. Thanks @lun4r