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.
Search has been completely rebuilt on top of SQLite FTS5 with two-phase BM25 ranking, delivering faster and more accurate results across your entire library.
Transcoding 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.
The 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.
SecurityBreaking Changes
- Bump
golang.org/x/imageto 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)
Configuration Changes
- Remove built-in Spotify integration. The
Spotify.IDandSpotify.Secretconfiguration 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)
Status Option Description Default New EnableArtworkUploadEnable uploading custom artwork for playlists and artists. (#5110, #5198) trueNew EnableM3UExternalAlbumArtEnable fetching album art URLs from #EXTALBUMARTURLdirectives in M3U playlists. (#5131)falseNew DiscArtPriorityPriority list for disc-level cover art sources. (#5182) disc*.*, cd*.*, cover.*, folder.*, front.*, discsubtitle, embeddedNew ArtistImageFolderFolder name to search for artist images within the library. (#5198) — New Search.BackendSearch backend to use ( ftsfor FTS5 full-text search). (#5079)ftsNew ExtAuth.LogoutURLURL to redirect to when logging out with external authentication. (#5074) ""New Subsonic.AppendAlbumVersionAppend album version/edition to album names in Subsonic API responses. (#5111) trueNew UISearchDebounceMsDebounce delay for the UI search field. (#5079) — Changed CoverJpegQuality→CoverArtQualityRenamed for clarity. Old name still works. (#5181) 75CHanged SearchFullStringUse Search.FullStringinstead. (#5079)— Removed Spotify.ID,Spotify.SecretSpotify integration has been removed. (#5197) — For a complete list of all configuration options, see the Configuration Options documentation.
ArtworkUI
- 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)
Search
- 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
pathfield 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)
Transcoding
- Implement FTS5-based full-text search for faster and more accurate results. (#5079)
- Improve FTS queries with two-phase BM25 ranking for Subsonic's
search3endpoint. (#5086)Subsonic API
- 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)
Scanner
- Implement OpenSubsonic
transcodingextension. (#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
publicattribute for playlists in XML responses. (0c3cc8653)Playlists / Smart Playlists
- 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)
Server
- Support
#EXTALBUMARTURLdirective 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
averageRatingas a smart playlist field. (#5092)Plugins
- 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_atwhen moving songs between libraries. (#5055)- Increase SSE writeTimeout to exceed keepAlive period. (#5054)
- Use
http.TimeFormatfor 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)
Translations
- 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
[]bytefor binary support. (6fd044fb0)- Clear plugin errors on startup to allow retrying. (27a83547f)
- 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)
