What's New in v2.3.4
✨ New Features
- Playlist As Albums (
--playlist-as-albums): If you use playlists to hunt for specific songs, this flag completely bypasses the Flat Folder logic. The engine will "explode" the playlist, routing each track into its respective original album folder using your standardfolder_format, keeping the original track numbers, and downloading the specific cover art for each album.
🐛 Bugfixes & Optimizations
-
Standalone Lyrics Command Fix: Resolved a scoping issue in
cli.pyto dynamically initialize and passQobuzDLSettingsto theretro_taggermodule. The engine now strictly respects theno_lrc_filesandembed_lyricsdirectives fromconfig.ini, successfully preventing the generation of unwanted physical.lrcfiles during retroactive metadata injection. -
Roon ARC & Stealth Metadata Parsing: Fixed Roon ARC metadata collision by implementing stealth Vorbis/ID3 tags (
QDL_TRACK_ID) to prevent unwanted API routing. -
Universal Playlist Upgrade (.m3u8): Upgraded playlist generation to universal
.m3u8format, strictly enforcing UTF-8 encoding to fix Mojibake bugs in legacy players like foobar2000. -
O(1) Matching Engine Alignment: Updated
sync_playlist.pyandutils.pyO(1) matching engine to support 2-stage hierarchical stealth parsing for backward compatibility. -
Architecture Documentation: Integrated the Ultimate Edition architecture manifesto and complete documentation.