Release v2.11.0
- FromFilename Plugin: support track prefix when parsing track number from filename
- Tidal plugin: new plugin for fetching metadata from Tidal with support for album and track lookups by ID, batch operations, search by query, and ISRC codes and barcode/EAN support
- Add support for adding or modifying subtitle field (ID3 tag TIT3)
- Smart Playlist Plugin: restructure splupdate command output to include track count per-playlist summary, show per-track details only with -v flag, make --pretend flag report would be updated count, and add --format option for customizing track line format
- import command: remove source archive after successful import when move: yes is set
- import command: multi-disc album detection now recognizes cassette, digital media, and vinyl as disc markers in addition to disc, disk, and cd
- Spotify Plugin: batch spotifysync track and audio-features API requests and deduplicate repeated Spotify track IDs within a run
- Bad Files Plugin: respect quiet mode during import so corrupt-file prompt is suppressed in non-interactive imports
- Discogs Plugin: prevent duplicate featured artists in track artist fields when same artist is credited in both artists and extraartists
- import command: fix duplicate album art files being created when re-importing albums with FetchArt Plugin enabled
- import command: metadata source plugin ID lookups now correctly call each plugin's own lookup method when running in parallel
- import command: tags with zero distance penalty are no longer shown as differences in match display
- import command: with original_date: yes, album-level year, month, and day now use original release date
- Lyrics Plugin: fix apostrophe handling in musixmatch backend slug
- MusicBrainz Plugin: correctly handle release dates where leading or intermediate components are missing
- Improve DBAccessError messages to mention directory missing and file permissions as potential causes
- Library path migration now handles manually edited database rows where item or album-art paths were stored as SQLite TEXT values instead of bytes
- Smart Playlist Plugin: remove --pretend-paths option
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). :bug: (#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. :bug: (#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. :bug: (#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. :bug: (#1264) :bug: (#6205) - import command: Metadata source plugin ID lookups now correctly call each plugin's own lookup method when running in parallel. :bug: (#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. :bug: (#6577) - Lyrics Plugin: Fix apostrophe handling in the
musixmatchbackend slug. :bug: (#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. :bug: (#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. :bug: (#6561)
Other changes
- Spotify Plugin: Batch
spotifysynctrack and audio-features API requests and deduplicate repeated Spotify track IDs within a run.