Navidrome Daily: Squashing Slow Queries and Windows Flakes
This build cycle centered on making large-library performance actually scale, with two persistence rewrites replacing full-table scans with indexed joins, alongside a cluster of fixes hardening the artwork cache and Jellyfin compatibility layer.
Duration: PT2M41S
Episode overview
This episode is a short developer briefing from Navidrome Daily.
It explains recent repository work in plain language.
- Show: Navidrome Daily
- Published: 2026-08-11T10:01:30Z
- Audio duration: PT2M41S
Transcript excerpt
This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.
Good morning, it's August 11th, 2026, and this is Navidrome Daily.
The clear throughline today: performance work driven by real large-library reports, backed by a wave of test reliability fixes to keep that work trustworthy.
Start with performance. PR 5930 rewrites artist-driven filters — think artist pages and role-based lookups — to stop scanning every album or track row through a JSON tree search. Instead, they now join against dedicated artist tables, a change measured at over 90 percent faster on a 96,000-track production copy. The…
Second theme: Windows test flakiness in the artwork pipeline. PR 5927 fixed a genuine race — the cache completion marker was written after the writer closed, so a reader seeing end-of-file didn't guarantee the cache was actually done. The fix writes the marker first. The same effort surfaced and fixed a second race…
Third: Jellyfin compatibility. PR 5935 fixes multi-type item requests — asking for tracks, artists, and albums together previously returned tracks only, breaking Finamp's random-favorite feature. It now runs parallel queries and interleaves results properly. A related commit added genre lookup by ID, fixing a 404…
Separately, PR 5931…