this post was submitted on 31 Jul 2026
132 points (97.8% liked)

Selfhosted

61512 readers
641 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

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: .nsp smart playlists using inPlaylist or notInPlaylist keep 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.

top 9 comments
sorted by: hot top controversial new old
[–] perishthethought@piefed.social 17 points 2 weeks ago

Thanks for the heads up

[–] AMillionMonkeys@lemmy.world 10 points 2 weeks ago (1 children)

This is for the version after 0.63.2?

[–] chagall@lemmy.world 6 points 2 weeks ago* (last edited 2 weeks ago)
[–] Finofilipino@lemmy.world 6 points 2 weeks ago (1 children)
[–] BruisedMoose@piefed.social 1 points 2 weeks ago

Perfect. I'm 2/3 through my initial scan after a week. Suppose I should hold off updating Navidrome until it's done.

[–] non_burglar@lemmy.world 3 points 2 weeks ago

Will test, thx. Keep up the good work.

[–] irmadlad@lemmy.world 2 points 1 week ago (1 children)

Question: Is there a hard limit for playlists? Reason being, I have a rather large collection I have converted from the physical media to flac. I have a playlist that is edging 100k songs. When I try to play it in the Navidrome UI, it takes at least 5+ minutes to even begin to play, and then forwarding to another song is neigh impossible. I can play other playlists smaller than that in the UI. Feishin, which is indirectly routed through Cloudflare, and not taping the local IP of the server, has no issues playing the playlist in question. Substreamer, iOS, has no problem either.

Specs:

Optiplex 7020 i7-49790 32 GB RAM

.....which seems like it would be sufficient.

[–] chagall@lemmy.world 2 points 1 week ago (1 children)

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.

[–] irmadlad@lemmy.world 2 points 1 week ago

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.