Software-update: Navidrome 0.61.0
Versie 0.61 van Navidrome is uitgekomen. Navidrome is wat ze zelf noemen een personal streaming service, en is een opensource mediaserver die je persoonlijke muziekcollectie van overal benaderbaar kan maken. Het is snel, gebruikt weinig resources, heeft geen moeite met hele grote collecties en elke gebruiker kan zijn eigen playlists en favorieten aanmaken. Navidrome is compatibel met Subsonic, dus je hebt een grote keuze uit mediaspelers om naar de muziek te luisteren. Downloads en installatie-instructies zijn beschikbaar voor Docker, Windows, Linux, macOS en FreeBSD. In deze uitgave zijn de volgende veranderingen en verbeteringen aangebracht:
Navidrome 0.61.0This version brings a comprehensive Artwork overhaul, with per-disc cover art, artist image uploads, animated image preservation, and a faster image pipeline powered by WebP encoding. You can now upload custom artwork for playlists, artists, and internet radios directly from the UI, and multi-disc albums will automatically pick up disc-specific cover images.
Artwork overhaulSearch has been completely rebuilt on top of SQLite FTS5 with two-phase BM25 ranking, delivering faster and more accurate results across your entire library.
SearchTranscoding is now fully server-managed: Navidrome detects client codecs, applies format-aware bitrate defaults, and implements the OpenSubsonic Transcoding extension, so clients no longer need to guess what format to request.
TranscodingThe Plugin System continues to mature with new host services for HTTP requests, persistent task queues, lyrics providers, and key-value storage with TTL support, giving plugin developers more tools to build powerful integrations.
Plugin SystemSecurityBump golang.org/x/image to v0.38.0 to address CVE-2026-33809. (#5268)Add ownership checks to share Delete and Update operations, preventing unauthorized access to other users' shares. (#5189)Clear server-managed fields in savePlaylist to prevent field injection via REST API. (f102036dc)
Bump golang.org/x/image to v0.38.0 to address CVE-2026-33809. (#5268)Add ownership checks to share Delete and Update operations, preventing unauthorized access to other users' shares. (#5189)Clear server-managed fields in savePlaylist to prevent field injection via REST API. (f102036dc)Breaking ChangesRemove built-in Spotify integration. The Spotify.ID and Spotify.Secret configuration options are no longer supported. Use the Last.fm or Deezer agents, or a plugin for similar functionality, like the new Apple Music Plugin. (#5197)
Remove built-in Spotify integration. The Spotify.ID and Spotify.Secret configuration options are no longer supported. Use the Last.fm or Deezer agents, or a plugin for similar functionality, like the new Apple Music Plugin. (#5197)Configuration ChangesFor a complete list of all configuration options, see the Configuration Options documentation.
ArtworkAdd per-disc cover art support, with configurable DiscArtPriority. (#5182)Add artist image uploads and image-folder artwork source. (#5198)Preserve animated image artwork (GIF, APNG, animated WebP) during resize. (#5184)Improve image serving performance with WebP encoding and optimized pipeline. (#5181)Increase cover art size to 600px and use CatmullRom scaling for sharper images. (cb396f3db)Fallback mediafile cover art to disc artwork before album. (#5216)Refresh stale artist image URLs on expiry. (#5267)Validate ffmpeg pipe before returning in cover art fallback. (420d2c8e5)Search parent folders for album cover art in multi-disc layouts. (#5157)
Add per-disc cover art support, with configurable DiscArtPriority. (#5182)Add artist image uploads and image-folder artwork source. (#5198)Preserve animated image artwork (GIF, APNG, animated WebP) during resize. (#5184)Improve image serving performance with WebP encoding and optimized pipeline. (#5181)Increase cover art size to 600px and use CatmullRom scaling for sharper images. (cb396f3db)Fallback mediafile cover art to disc artwork before album. (#5216)Refresh stale artist image URLs on expiry. (#5267)Validate ffmpeg pipe before returning in cover art fallback. (420d2c8e5)Search parent folders for album cover art in multi-disc layouts. (#5157)UIAdd custom playlist cover art upload. (#5110)Add cover art support for internet radio stations. (#5229)Add Dracula theme. (#5023)Add Nutball theme. (#4544)Add tooltips for long playlist and album names. (#5070)Add download link for config TOML and disable clipboard copy when unavailable. (#5035)Add path field as optional column in library list for desktop view. (4e34d3ac1)Integrate server-managed transcoding decisions into web player. (#5155)Improve browser codec detection. (#5171)Allow DefaultTheme="Auto" from config. (#5190)Fix search focus after clearing search field. (#4932)Fix "Play Next" from restarting playback at top of queue. (#5049)Fix toggle switches not visible in Gruvbox Dark theme. (#5064)Fix delete button contrast in AMusic theme. (51c48bcac)Cancel in-flight image requests on pagination, cache across remounts. (#5249)Prevent mobile touch events from triggering playback after lightbox close. (197d357f0)Prevent duplicate getCoverArt requests on artist page. (549b81263)
Add custom playlist cover art upload. (#5110)Add cover art support for internet radio stations. (#5229)Add Dracula theme. (#5023)Add Nutball theme. (#4544)Add tooltips for long playlist and album names. (#5070)Add download link for config TOML and disable clipboard copy when unavailable. (#5035)Add path field as optional column in library list for desktop view. (4e34d3ac1)Integrate server-managed transcoding decisions into web player. (#5155)Improve browser codec detection. (#5171)Allow DefaultTheme="Auto" from config. (#5190)Fix search focus after clearing search field. (#4932)Fix "Play Next" from restarting playback at top of queue. (#5049)Fix toggle switches not visible in Gruvbox Dark theme. (#5064)Fix delete button contrast in AMusic theme. (51c48bcac)Cancel in-flight image requests on pagination, cache across remounts. (#5249)Prevent mobile touch events from triggering playback after lightbox close. (197d357f0)Prevent duplicate getCoverArt requests on artist page. (549b81263)SearchImplement FTS5-based full-text search for faster and more accurate results. (#5079)Improve FTS queries with two-phase BM25 ranking for Subsonic's search3 endpoint. (#5086)
Implement FTS5-based full-text search for faster and more accurate results. (#5079)Improve FTS queries with two-phase BM25 ranking for Subsonic's search3 endpoint. (#5086)TranscodingImplement server-managed transcoding. (#4990)Add player MaxBitRate cap, format-aware defaults, and browser profile filtering. (#5165)Improve transcoding failure diagnostics and error responses. (#5227)Use ADTS for AAC transcoding. (#5167)Implement fallback to DefaultDownsamplingFormat for unknown formats. (5ecbe31a0)Prevent raw file being returned when explicit transcode format is requested. (053a0fd6c)
Implement server-managed transcoding. (#4990)Add player MaxBitRate cap, format-aware defaults, and browser profile filtering. (#5165)Improve transcoding failure diagnostics and error responses. (#5227)Use ADTS for AAC transcoding. (#5167)Implement fallback to DefaultDownsamplingFormat for unknown formats. (5ecbe31a0)Prevent raw file being returned when explicit transcode format is requested. (053a0fd6c)Subsonic APIImplement OpenSubsonic transcoding extension. (#4990)Append album version to names in Subsonic API responses. (#5111)Add coverArt to internetRadioStation response. (03608d3ee)Add per-disc cover art support. (#5182)Never omit duration for AlbumID3. (#5217)Always return required playqueue fields. (#5172)Always include mandatory title field in Child responses. (a887521d7)Restore public attribute for playlists in XML responses. (0c3cc8653)
Implement OpenSubsonic transcoding extension. (#4990)Append album version to names in Subsonic API responses. (#5111)Add coverArt to internetRadioStation response. (03608d3ee)Add per-disc cover art support. (#5182)Never omit duration for AlbumID3. (#5217)Always return required playqueue fields. (#5172)Always include mandatory title field in Child responses. (a887521d7)Restore public attribute for playlists in XML responses. (0c3cc8653)ScannerAdd MKA/Matroska audio file support via TagLib 2.2. (#5071)Exclude Vorbis VERSION from albumversion tag mapping. (#5194)Widen WASM panic recovery to cover tag/property reading. (#5223)Prevent duplicate tracks when multiple missing files match same target. (#5183)Prevent ScanOnStartup when scanner is disabled. (1cf3fd916)Increase watcher channel buffers to prevent dropped filesystem events. (0790f6662)
Add MKA/Matroska audio file support via TagLib 2.2. (#5071)Exclude Vorbis VERSION from albumversion tag mapping. (#5194)Widen WASM panic recovery to cover tag/property reading. (#5223)Prevent duplicate tracks when multiple missing files match same target. (#5183)Prevent ScanOnStartup when scanner is disabled. (1cf3fd916)Increase watcher channel buffers to prevent dropped filesystem events. (0790f6662)Playlists / Smart PlaylistsSupport #EXTALBUMARTURL directive and sidecar images for playlist cover art. (#5131)Add percentage-based limits to smart playlists. (#5144)Make album and artist fields available to smart playlist queries. (#4927)Add averageRating as a smart playlist field. (#5092)
Support #EXTALBUMARTURL directive and sidecar images for playlist cover art. (#5131)Add percentage-based limits to smart playlists. (#5144)Make album and artist fields available to smart playlist queries. (#4927)Add averageRating as a smart playlist field. (#5092)ServerAdd ExtAuth logout URL configuration. (#5074)Accept ND_-prefixed environment variable names in config files. (#5258)Add syslog priority prefixes for systemd-journald. (#5192)Require additional variable to enable systemd logging. (#5222)Add crontab(5) random ~ syntax support for schedule expressions. (#5233)Preserve created_at when moving songs between libraries. (#5055)Increase SSE writeTimeout to exceed keepAlive period. (#5054)Use http.TimeFormat for Last-Modified header. (#5219)Return correct scanType in startScan response. (#5159)Return 404 instead of 500 for non-existent playlists. (b64d8ad33)Normalize timestamps and fix recently added album sorting. (#5176)
Add ExtAuth logout URL configuration. (#5074)Accept ND_-prefixed environment variable names in config files. (#5258)Add syslog priority prefixes for systemd-journald. (#5192)Require additional variable to enable systemd logging. (#5222)Add crontab(5) random ~ syntax support for schedule expressions. (#5233)Preserve created_at when moving songs between libraries. (#5055)Increase SSE writeTimeout to exceed keepAlive period. (#5054)Use http.TimeFormat for Last-Modified header. (#5219)Return correct scanType in startScan response. (#5159)Return 404 instead of 500 for non-existent playlists. (b64d8ad33)Normalize timestamps and fix recently added album sorting. (#5176)PluginsAdd HTTP host service for plugin HTTP requests. (#5095)Add TaskQueue host service for persistent background task queues. (#5116)Add lyrics provider plugin capability. (#5126)Add TTL support, batch operations, and hardening to kvstore. (#5127)Allow mounting library directories as read-write. (#5122)Change websockets Data field type to []byte for binary support. (6fd044fb0)Clear plugin errors on startup to allow retrying. (27a83547f)
Add HTTP host service for plugin HTTP requests. (#5095)Add TaskQueue host service for persistent background task queues. (#5116)Add lyrics provider plugin capability. (#5126)Add TTL support, batch operations, and hardening to kvstore. (#5127)Allow mounting library directories as read-write. (#5122)Change websockets Data field type to []byte for binary support. (6fd044fb0)Clear plugin errors on startup to allow retrying. (27a83547f)TranslationsAdd Slovak language translation. (#5231)Update Chinese Simplified translation. (#5025)Update Basque translation. (#5038)Update Hungarian translation. (#5041, #5263)Update Bulgarian, Catalan, Danish, German, Greek, Spanish, Finnish, French, Galician, Portuguese (BR), Russian, Slovenian, Swedish, Thai, Ukrainian, Chinese (Traditional) translations. (#5044, #5039, #5218, #5260)
Add Slovak language translation. (#5231)Update Chinese Simplified translation. (#5025)Update Basque translation. (#5038)Update Hungarian translation. (#5041, #5263)Update Bulgarian, Catalan, Danish, German, Greek, Spanish, Finnish, French, Galician, Portuguese (BR), Russian, Slovenian, Swedish, Thai, Ukrainian, Chinese (Traditional) translations. (#5044, #5039, #5218, #5260)
Source:
Tweakers.net