Original post here [redlib link].
Written by deluan
The next release normalizes every ID in the database into a single format. It runs a one-time migration on first start. The PR with this change will be merged this weekend: https://github.com/navidrome/navidrome/pull/5824
If you run develop or auto-update, this lands soon (this weekend) and without warning. Make a backup of navidrome.db now. The migration is one-way, so rolling back (if needed) means restoring that backup.
The short version:
- Takes ~30s to ~1m20s on my 96k-track library (QNAP Celeron). Scales with library size.
- Everyone gets logged out once. Web UI and clients using the Navidrome API need to log in again. Subsonic clients authenticate per request, so they are unaffected.
- Song IDs change, album and artist IDs do not. Clients that cache song IDs (offline downloads, cached playlists) may need a re-sync.
- Cover art gets re-fetched, so the first browse after upgrading is slower.
- Share links keep working.
- Nothing is lost: favorites, ratings, play counts, bookmarks, play queues, scrobble history and Last.fm / ListenBrainz links all survive. No rescan needed.
- One manual fix:
.nspsmart playlists usinginPlaylistornotInPlaylistkeep the old playlist ID on disk and need updating by hand.
Full write-up: https://gist.github.com/deluan/917ebc243c8b486101de857ffae6739b
If you can, please test it with your favourite client once it is merged, and reply here (or on our Discord) if anything looks off.
EDIT: For app/client developers: I’ll merge the topSongsByArtistId PR at the same time as this ID migration. This means that you’ll be able to detect if a server is migrated by checking the getOpenSubsonicExtensions response and looking for the topSongsByArtistId extension.


So I’m not the developer, just some random dude on lemmy. But I have had similar issues with the Navidrome native UI playing large playlists. Actually, I’ve had issues with it just loading unusually large box sets. I tried to load up a 75GB box set (idk how many discs, but a lot) and the native UI can’t do it. Feishin can do it and so can Arpeggi, Navibeat, Play:Sub and even Music Assistant using the Opensonic plugin. But not the native UI.
I use Feishin to manage all of my playlists. It’s the best playlist manager I’ve ever used for any music service.
OOoops! Sorry about that. Yeah, Feishin is an awesome player and has no issues with huge playlists. In the UI, it nopes out. That’s my only real complaint.