Skip to content

Conversation

soerenschneider
Copy link
Owner

@soerenschneider soerenschneider commented Jul 7, 2025

This PR contains the following updates:

Package Update Change
docker.io/deluan/navidrome minor 0.55.2 -> 0.58.0

Release Notes

navidrome/navidrome (docker.io/deluan/navidrome)

v0.58.0

Compare Source

Navidrome v0.58.0 Release Notes

Navidrome v0.58.0 introduces Multi-library Support, a major architectural enhancement that enables users to organize and manage multiple music collections with proper permission controls and complete UI integration. This long-requested feature allows you to create separate libraries for different music collections (e.g., personal music, family music, audiobooks) while maintaining proper access controls and data isolation.

For full documentation on how to use it, see the new Multi-library page in the documentation website.

⚠️ Important

Full Scan

Although this release does not force a full scan on upgrade, you should do it as soon as possible. This is because the multi-library changes affect the move/rename/retag detection and can potentially make you lose annotations (stars, playcounts, playlist references). During the full scan, it will duplicate all your albums, but that's expected. It will remove the duplicates at the end of the scan.

Database Migration Warning

This release includes database schema changes that are NOT reversible by simply downgrading to a previous version of Navidrome.

Before installing this version:
  1. BACKUP YOUR DATABASE - Create a complete backup of your navidrome.db file
  2. TEST ON A COPY FIRST - If possible, test this version on a copy of your data before upgrading your main installation
If you need to rollback:
  • Stop Navidrome
  • Restore your database backup
  • Reinstall the previous version

Added

Multi-Library Support
Create and manage multiple music libraries with separate music folders. (#​4181 by @​deluan)
  • Library-aware permission system: Users can be assigned access to specific libraries with proper data isolation.
  • Admin interface for library management: Complete CRUD operations for libraries including creation, editing, and deletion.
  • Library selector in UI: Users can switch between accessible libraries using the sidebar library selector.
  • Per-library statistics: Artist and tag statistics are now calculated per library with proper counting.
  • Cross-library playlist support: Playlists can contain songs from multiple libraries, filtered by user access.
UI Features
Plugin Features
  • Plugin scheduler enhancement: Add TimeNow function to SchedulerService for better plugin capabilities. (#​4337 by @​deluan)
  • Plugin insights: Add plugin and multi-library information to insights endpoint. (#​4391 by @​deluan)
API Features
  • Multi-library API support: All Subsonic endpoints now respect library permissions with proper filtering. (#​4181 by @​deluan)
  • Enhanced search capabilities: Search endpoints are library-aware and filter results by user access. (#​4181 by @​deluan)
  • Music folder endpoints: Return user-accessible libraries through music folder API. (#​4181 by @​deluan)

Changed

  • Agents logic streamlining: Remove unnecessary caching and streamline metadata agents logic. (#​4298 by @​deluan)
  • Dependency updates: Update Go dependencies to latest versions. (#​6722af50e by @​deluan)

Fixed

UI
  • Playlist menu interaction: Prevent disabled "Show in Playlist" menu item from triggering actions. (#​4356 by @​deluan)
  • Year display: Don't show year "0" in the interface. (#​3c1e5603d by @​deluan)
  • ReplayGain support: Fix replaygain for Artist Radio and Top Songs. (#​4328 by @​deluan)
Scanner
  • Apple Music playlists import: Fix playlist import for songs with accented characters. (#​4385 by @​deluan)
  • Foreign key constraint errors: Prevent errors in album participant insertion. (#​4373 by @​deluan)
  • Tag UpdateCounts errors: Prevent foreign key constraint errors in tag UpdateCounts. (#​4370 by @​deluan)
  • Custom tag configuration: Fix misleading custom tag split config log message. (#be83d6895 by @​deluan)
  • Lyrics tag parsing: Properly handle both ID3 and aliased tags for lyrics. (#​4310 by @​kgarner7)
  • Cover art reading: Read cover art from DSF, WavPack files and fix WMA test. (#​4296 by @​kgarner7)
Server
  • URL path handling: Improve URL path handling in local storage for special characters. (#​4378 by @​deluan)
  • Dockerfile typo: Fix typo in Dockerfile. (#​4363 by @​emmmm)
Subsonic API
Plugins
  • Plugin warnings: Silence plugin warnings and folder creation when plugins disabled. (#​4297 by @​deluan)
  • Metrics reporting: Report metrics for all plugin types, not only MetadataAgents. (#​4303 by @​deluan)
  • Metrics improvements: Add metrics on callbacks and improve plugin method calling. (#​4304 by @​deluan)
  • Reverse proxy authentication: Don't log "no proxy IP found" when using Subsonic API in plugins with reverse proxy auth. (#​4388 by @​kgarner7)
  • Plugin initialization: Correct error handling in plugin initialization. (#​4311 by @​deluan)
  • Race condition prevention: Prevent race condition in plugin tests and manager registration. (#​9fcc99633 and #adef0ea1e by @​deluan)
  • Error handling enhancement: Enhance error handling in checkErr function. (#​1166a0fab by @​deluan)
  • Discord Rich Presence documentation: Fix README.md for Discord Rich Presence plugin. (#​4387 by @​Cristiandis)
Testing
Code Quality

New Contributors

Full Changelog: navidrome/navidrome@v0.57.0...v0.58.0

Helping out

This release is only possible thanks to the support of some awesome people!

Want to be one of them?
You can sponsor, pay me a Ko-fi, or contribute with code.

Where to go next?

v0.57.0

Compare Source

A big thank you to all the contributors who made this release possible!

Added

Changed

  • Docker: Downgraded the Alpine base image in the Dockerfile to oldest supported version 3.19 for smaller images. (7928adb3d by @​deluan)
  • Dependencies: Updated TagLib to version 2.1.1. (#​4281 by @​deluan)

Fixed

  • UI:
    • Fixed an issue where the playlist page was not resetting to page 1 when changing playlists. (#​4154 by @​strider-)
  • Scanner:
    • Ensured that full scans always update the database. (#​4252 by @​deluan)
    • Fixed an issue where artist statistics were not refreshing during quick scans. (#​4269 by @​deluan)
  • Server:
  • Subsonic API:
    • Fixed an issue where clearing a playlist's comment and public status was not working. (#​4258 by @​deluan)
    • Fixed JukeboxRole logic in getUser to respect AdminOnly setting. (#​4170 by @​deluan)
    • Fixed loading lyrics from external files when the embedded lyrics was empty. (#​4232 by @​wilywyrm)
    • Fixed lyrics detection when the there are multiple instances of the same song. (#​4237 by @​kgarner7)
  • Database:
  • Jukebox: Fixed issues with mpv command and template parsing, and ensured the MusicFolder is included. (#​4162 by @​deluan, #​4067 by @​patso23)

Note: For those waiting for the Multi-Library feature, it is still in progress and will be released in the next version. You can follow its development in the Multi-Library PR. It is a complex feature that requires significant changes to the codebase, so it's taking a bit longer than expected. Thank you for your patience and continuous support!

New Contributors

Full Changelog: navidrome/navidrome@v0.56.1...v0.57.0

Helping out

This release is only possible thanks to the support of some awesome people!

Want to be one of them?
You can sponsor, pay me a Ko-fi, or contribute with code.

Where to go next?

v0.56.1

Compare Source

Changelog

Quick fix for Artists not showing up in Subsonic clients, See #​4140

Bug fixes

Full Changelog: navidrome/navidrome@v0.56.0...v0.56.1

Helping out

This release is only possible thanks to the support of some awesome people!

Want to be one of them?
You can sponsor, pay me a Ko-fi, or contribute with code.

Where to go next?

Changelog

Bug fixes

Full Changelog: navidrome/navidrome@v0.56.0...v0.56.1

Helping out

This release is only possible thanks to the support of some awesome people!

Want to be one of them?
You can sponsor, pay me a Ko-fi, or contribute with code.

Where to go next?

v0.56.0

Compare Source

We're excited to announce Navidrome v0.56.0, a major release packed with new features, important bug fixes, and significant improvements to the user experience. This release includes 81 commits with contributions from our amazing community!

🔒 SECURITY UPDATES

🎉 Major New Features

Missing Files Management
  • Remove All Missing Files: New bulk action to clean up missing files from your library - @​deluan (#​4108)
  • Scanner.PurgeMissing Configuration: New config option to automatically purge missing files during scans - @​deluan (#​4107)
  • Missing Artists: Hide missing artists from the UI and Subsonic API, and add admin-only "missing" filters - @​deluan (#​4092)
Playlist Enhancements
  • M3U File Downloads & Unified Export Logic: Downloaded playlists now include M3U files for better compatibility with external players - @​deluan
  • Playlist Cover Art: Playlists now display their cover art in the UI - @​deluan
  • Save Queue to Playlist: Easily save your current playback queue as a new playlist - @​deluan (#​4110)
Enhanced User Interface
  • Smooth Image Transitions: Smooth transitions for album and artist artwork - @​deluan (#​4120)
  • Scan Progress & Status Improvements: Real-time scan progress, error reporting, and elapsed time - @​deluan (#​4094, #​4115)
  • Sample Rate Display: View sample rate information in the song info dialog - @​gqgs (#​3960)
  • Genre and Mood Fields: Added genre and mood fields to the AlbumSongs component - @​deluan
  • Internationalization Improvements: Updated translations for multiple languages
Scanner and Metadata Improvements
  • Filesystem Lyrics Support (only for Subsonic clients): Support for reading lyrics (.lrc) directly from filesystem files - @​kgarner7 (#​2897, #​3997)
  • Symlink Support: New Scanner.FollowSymlinks option (default true)to allow disabling symbolic links following - @​deluan (#​4061)
  • ISRC Support: Added ISRC (International Standard Recording Code) support for OpenSubsonic - @​deluan (#​4088)
  • Artist/AlbumArtist Filtering: New filter options for media files - @​kgarner7 (#​4001)
  • Scanner Optimizations: Improved refresh performance and missing flag update logic - @​deluan (#​4059)
Other Notable Features
  • Default Share Expiration: New DefaultShareExpiration configuration option - @​caiocotts (#​4082)
  • Scrobble First Artist Only: New option Lastfm.ScrobbleFirstArtistOnly to send only the first artist when scrobbling - @​deluan (#​4131)

🐛 Critical Bug Fixes

Performance and Memory
  • Memory Leak Fix: Resolved memory leak in cache warmer that could affect long-running instances - @​deluan (#​4095)
Database and Data Integrity
  • User Deletion Fix: Fixed issue preventing deletion of users who have shares - @​kgarner7 (#​4098)
  • Smart Playlist Fixes: Fixed numeric comparisons for float custom tags and albumtype handling - @​deluan (#​4116)
Media Handling
  • Multi-disc Artwork: Always select cover art from the first disc in multi-disc albums - @​deluan (#​3950)
  • AIFF/WMA Cover Art: Fixed cover art detection for AIFF and WMA files - @​kgarner7 (#​3996)
  • Track Ordering: Albums now always order tracks by disc and track number correctly - @​deluan (#​3975)
User Interface Fixes
  • Share Image Aspect: Fixed share image aspect ratios by forcing square dimensions - @​kgarner7 (#​4122)
  • UI Display Improvements: Enhanced external link display, artist link rendering, and button styles - @​deluan
  • Page Titles: Updated titles for radios, shares and show pages - @​deluan (#​4128)

🔧 Technical Improvements

Development and Build
  • Go 1.24.2: Updated to Go version 1.24.2 - @​deluan
  • Dependency Updates: Updated both Go and JavaScript dependencies, including golangci-lint - @​deluan (#​3937)
  • Automated Dependency Updates: eslint-config-prettier and golangci-lint-action updates - @​dependabot (#​4077, #​4035)
  • golangci-lint Integration: Added automatic installation and improved Makefile setup - @​deluan
  • Demo URLs Update: Updated Makefile with new demo URLs - @​caiocotts (#​4080)
Code Quality
  • External Metadata Refactoring: Refactored external*metadata to external.Provider - *@​deluan_ (#​3903)
  • Documentation: Added code guidelines, copilot instructions, and scanner overview - @​deluan
  • Cleanup: Removed unused files and improved code organization - @​deluan

📚 Documentation and Developer Experience

  • Documentation Updates: Added code guidelines, copilot instructions, and scanner overview - @​deluan
  • Test Infrastructure: Enhanced test reliability and added new test coverage - @​deluan

Full Changelog: navidrome/navidrome@v0.55.2...v0.56.0

Helping out

This release is only possible thanks to the support of some awesome people!

Want to be one of them?
You can sponsor, pay me a Ko-fi, or contribute with code.

Where to go next?


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@soerenschneider soerenschneider self-assigned this Jul 7, 2025
@soerenschneider soerenschneider force-pushed the renovate/docker.io-deluan-navidrome-0.x branch 8 times, most recently from 34483dd to 11b043a Compare July 14, 2025 04:15
@soerenschneider soerenschneider force-pushed the renovate/docker.io-deluan-navidrome-0.x branch 10 times, most recently from 8e9b3a6 to b872d8f Compare July 21, 2025 04:15
@soerenschneider soerenschneider force-pushed the renovate/docker.io-deluan-navidrome-0.x branch 10 times, most recently from 5d5cdc9 to 4540ae8 Compare July 28, 2025 04:45
@soerenschneider soerenschneider force-pushed the renovate/docker.io-deluan-navidrome-0.x branch from 4540ae8 to 653b94b Compare July 29, 2025 04:19
@soerenschneider soerenschneider force-pushed the renovate/docker.io-deluan-navidrome-0.x branch 4 times, most recently from be2fd3e to 7bb299a Compare September 8, 2025 08:20
@soerenschneider soerenschneider force-pushed the renovate/docker.io-deluan-navidrome-0.x branch 10 times, most recently from cb2f2b3 to 46e520f Compare September 19, 2025 04:22
@soerenschneider soerenschneider force-pushed the renovate/docker.io-deluan-navidrome-0.x branch 2 times, most recently from 0436b76 to 4701b38 Compare September 22, 2025 04:18
@soerenschneider soerenschneider changed the title chore(deps): update docker.io/deluan/navidrome docker tag to v0.58.0 Update docker.io/deluan/navidrome Docker tag to v0.58.0 Sep 22, 2025
@soerenschneider soerenschneider force-pushed the renovate/docker.io-deluan-navidrome-0.x branch 7 times, most recently from dbd035c to 83b9bde Compare September 29, 2025 04:18
@soerenschneider soerenschneider changed the title Update docker.io/deluan/navidrome Docker tag to v0.58.0 chore(deps): update docker.io/deluan/navidrome docker tag to v0.58.0 Sep 29, 2025
@soerenschneider soerenschneider force-pushed the renovate/docker.io-deluan-navidrome-0.x branch 3 times, most recently from 7811441 to 00d906f Compare October 6, 2025 04:18
@soerenschneider soerenschneider force-pushed the renovate/docker.io-deluan-navidrome-0.x branch from 00d906f to 81587f9 Compare October 6, 2025 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants