This release brings an experimental Jellyfin Music API, so Jellyfin-compatible music clients like Finamp and Jellify can now connect to Navidrome. Artwork got a new background pipeline with blurred low-quality placeholders and a diagnostic CLI. Under the hood, all IDs move to a uniform canonical 128-bit format, genre and artist filtering is now index-backed, and playlist import on large libraries is dramatically faster. There is also natural sort order, playlist favourites, Refresh Metadata actions, new Catppuccin themes, and many fixes across scanning, transcoding and scrobbling.
⚠️ Breaking Changes / Migration Notes
- All internal IDs are re-encoded to a single canonical 128-bit base62 format. The migration touches every table, so back up your database before upgrading. Clients that cache item IDs (for example, offline downloads) may need to re-sync. (#5824)
- Plugin authors: Extism’s built-in HTTP is disabled. Calls through
pdk.NewHTTPRequest(Go),http::request(Rust) or the equivalent in other PDKs now fail withHTTP request ... is not allowed. Plugins must use the host HTTP service instead:host.HTTPSend(Go) ornd_pdk::host::http::send(Rust). Also, plugin HTTP and WebSocket connections to private or loopback addresses are now blocked for named hosts; to reach a LAN service, list its IP or CIDR in the manifest’srequiredHosts, or use a bare"*". (1a8463f7d, 276d767ce) - Shares are always owned by the user who creates them. Admins can no longer create shares on behalf of another user via
userId. (1a8463f7d) - Configuration durations are now validated. Negative values are rejected at startup. (#6002)
- Navidrome now warns about unrecognized options in the config file, so typos no longer fail silently. (#5870)


I don’t understand it either, seems like a maintenance burden for not much benefit since the opensubsonic ecosystem is much richer than jellifin’s one.
Hopefully it’s easy to maintain