Repository navigation
Navidrome v0.64 compatibility - #284
Merged
Merged
Conversation
Navidrome 0.64.0 (released 2026-09-12) builds `coverArt` through `coverArtOrEmpty`: once its background artwork pipeline marks an item ImageAbsent, getAlbum, getArtist, songs and getAlbumList2 all leave the field out. 0.63 always returned `al-<id>`, backed by a placeholder image. None of the federation fixtures has art, so the hub (correctly) stores no cover_art_id. test_get_cover_art then fell back to the bare album id, which the hub rejects with 400. Every PR's federation job failed because compose pulls the unpinned `latest` tag. - Add a 64x64 cover.jpg to one fixture album per hub. - The test now fetches art for an album that reports coverArt, instead of guessing an id. - `NAVIDROME_IMAGE` overrides the Navidrome image, so a specific release can be tested or pinned without retagging `latest`. The federation suite passes locally against both 0.63.2 and 0.64.0. refs #283 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CNTqdCoTsmaZ6cqH1x5VRn
This was referenced Sep 14, 2026
Checked end to end on an isolated stack (0.63.2 -> 0.64.0 on the same navidrome-data volume). All track ids were re-encoded; album ids stayed the same. Unified ids, stars, play counts and album Share IDs survived. Streams failed until auto-sync re-synced the local library, about 30s on the fixture library. refs #283 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CNTqdCoTsmaZ6cqH1x5VRn
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the
federationCI job, which fails on every PR since Navidrome v0.64.0 (2026-09-12) was published asdeluan/navidrome:latest, and documents what 0.64 means for hubs.coverArtfor items its artwork pipeline marksImageAbsent. The fixture albums have no art, sotest_get_cover_artfell back to a bare album id and got a 400. The hub's behavior (no art → nocoverArt) is correct.cover.jpgper hub library.coverArt.NAVIDROME_IMAGE: new override indocker-compose.ymlfor testing or pinning a release. The default stayslatest; whether to pin is an open question on Navidrome v0.64 compatibility #283.docs/pitfalls.md(Navidrome ops) anddocs/hub-internals.md, covering the 0.64 upgrade window, Share ID format, and backing upnavidrome-datafirst.The ID migration was checked end to end on an isolated stack: unified ids, stars, play counts and Share IDs survive. Streams fail until the hub re-syncs. Full notes are on #283. Follow-up: #285 (a stream error envelope is relayed as a 200).
Testing
pnpm verify: greenNAVIDROME_IMAGE=deluan/navidrome:0.64.0 pnpm test:federation: 84 passed, all assertions passpnpm test:federation(locallatest= 0.63.2): 84 passed, all assertions passunit+federation(0.64.0): greencloses #283
🤖 Generated with Claude Code
https://claude.ai/code/session_01CNTqdCoTsmaZ6cqH1x5VRn