New features
-
Smart Playlist Plugin: The
splupdatecommand output is restructured. The per-playlist summary now includes a track count. Per-track details are shown only when-vflag is provided (beet -v splupdate). The--pretendflag produces the same output but reports "N playlists would be updated" instead of "N playlists updated". The--formatoption allows customizing the track line format. The--pretend-pathsoption was removed (use--format='$path'instead). 🐛 (#6183) -
import command: When importing an archive (zip, tar, rar, or 7z) with
move: yes, the source archive is now removed after a successful import. Archives are preserved if any file in the archive was not imported (e.g. skipped as a duplicate, or the import was aborted), and in non-move import modes. -
FromFilename Plugin: Support
trackprefix when parsing the track number from the filename (e.g.,track01.m4a). -
Tidal plugin: Introduces a new plugin for fetching metadata from Tidal. It supports album and track lookups by ID, including batch operations via
albums_for_idsandtracks_for_ids. It also enables search by query as well as identifier-based retrieval, with support for ISRC codes (tracks) and barcode/EANs (albums).This is an initial, relatively minimal implementation, but already fully usable for common metadata workflows. We welcome feedback, improvement ideas, and community contributions to further extend its capabilities.
See Tidal Plugin for more information.
-
Add support for adding or modifying a subtitle (ID3 tag
TIT3) field
Bug fixes
- Bad Files Plugin: Respect quiet mode (the
--quietflag orimport.quiet: yesconfig) during import so the corrupt-file prompt is suppressed in non-interactive imports. 🐛 (#4736) - Discogs Plugin: Prevent duplicate featured artists in track artist fields when the same artist is credited both in
artists(for example withFeat.join text) andextraartistsasFeaturing. 🐛 (#6166) - import command: Fix duplicate album art files (e.g.
cover.2.jpg) being created when re-importing albums with the FetchArt Plugin plugin enabled. Old album art is now properly removed when replacing duplicate albums during import. 🐛 (#1264) 🐛 (#6205) - import command: Metadata source plugin ID lookups now correctly call each plugin's own lookup method when running in parallel. 🐛 (#6583)
- import command: Multi-disc album detection now recognizes
cassette,digital media, andvinylas disc markers (e.g.vinyl 1,12 vinyl 2), in addition to the existingdisc,disk, andcdmarkers. - import command: Tags with a zero distance penalty are no longer shown as differences in the match display. Previously, custom
distance_weightscould cause fields with no actual mismatch to appear in the≠line. - import command: With
original_date: yes, album-levelyear,month, anddaynow use the original release date. 🐛 (#6577) - Lyrics Plugin: Fix apostrophe handling in the
musixmatchbackend slug. 🐛 (#4759) - MusicBrainz Plugin: Correctly handle release dates where leading or intermediate components are missing, e.g. 2008-??-02
- Improve
DBAccessErrormessages to help users diagnose database permission issues more easily. The error message now mentions directory missing and file permissions as potential causes. 🐛 (#1676) - Library path migration now also handles manually edited database rows where item or album-art paths were stored as SQLite
TEXTvalues instead of bytes, so upgrading to the portable-path storage format no longer fails for those libraries. 🐛 (#6561)
Other changes
- Spotify Plugin: Batch
spotifysynctrack and audio-features API requests and deduplicate repeated Spotify track IDs within a run.