pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/audio/py-beets



Module Name:    pkgsrc
Committed By:   wiz
Date:           Sun Jun 28 14:06:41 UTC 2026

Modified Files:
        pkgsrc/audio/py-beets: Makefile distinfo

Log Message:
py-beets: update to 2.12.0.

New features

    Convert Plugin: The --force and --keep-new CLI flags are now also available as config options via force and keep_new.

    import command: The --nomove / -M CLI flag can now be used to override the move: yes config option during import.

    Lyrics Plugin: Write synced (LRC) lyrics to the SYLT (synchronized lyrics) ID3 frame and plain text to USLT for ID3-tagged files, instead of storing raw LRC timestamps in USLT. Players that only 
support USLT continue to see readable plain lyrics. 🐛 (#6541)

    ListenBrainz Plugin: Add support for importing ListenBrainz listening history from an export file. Use the -f / --export-file flag to specify the path to the ListenBrainz export file.

    MusicBrainz Plugin: Introduce aliases_as_credits to make aliases-as-artist-credit optional.

    Bad Files Plugin: Added settings for auto error and warning actions.

    Tidal Plugin: New flexible attributes are now populated during imports, including tidal_track_id, tidal_album_id, tidal_artist_id, tidal_track_popularity, tidal_album_popularity, and 
tidal_updated. Added a new beet tidalsync command to refresh popularity data for imported items by default, or albums with --album, with --force to re-fetch and --write to update file tags.

    Migration: Existing Tidal imports can copy the previously stored IDs into the new flexible attributes with modify command: run beet modify data_source:tidal tidal_album_id='$mb_albumid' -a for 
albums and beet modify data_source:tidal tidal_track_id='$mb_trackid' for items.

Bug fixes

    Convert Plugin: Tidy the --playlist help text so it no longer has awkward indentation in CLI output.
    Duplicates Plugin: Fix plugin output: information about duplicate items was not displayed by default. --count option was ignored 🐛 (#6476)
    FetchArt Plugin: Catch OSError in _set_art so that permission errors (e.g. a file locked by another process) are logged as warnings instead of crashing beets. 🐛 (#6193)
    Fish Plugin: Fix error on plugin initialization.
    import command: Fix duplicate album merge during import when running in threaded mode. The merge action no longer creates a duplicate folder or reports could not get filesize errors. 🐛 (#6601)
    Lyrics Plugin: Add rate limiting and exponential backoff to HTTP requests to prevent 429 Too Many Requests errors from lyrics sources during bulk imports. 🐛 (#6728)
    Lyrics Plugin: Improve Musica.com lyric scraping so fetched lyrics no longer omit the opening verse or include non-lyric page content.
    MBSync Plugin / BPSync Plugin: Do not clear items metadata when import.from_scratch is enabled. 🐛 (#6613)
    modify command: Fix beet modify -a splitting multi-value field strings (like artists, genres) into individual characters when modifying albums. Album field types now fall back to the 
corresponding item field type definitions. 🐛 (#5690)
    move command: move command no longer crashes when an item referenced in the database has been deleted from disk. Missing items are now skipped with a warning and the command continues. 🐛 (#6720)
    MPDStats Plugin: Fix crashes and invalid configuration when passing --host, --port, or --password on the command line. 🐛 (#5404)
    MusicBrainz Collection Plugin: Handle MusicBrainz 401 Unauthorized errors during mbupdate without crashing, and log a clearer message that points users to musicbrainz.user and musicbrainz.pass 
configuration. 🐛 (#6651)
    MusicBrainz Plugin: Fix KeyError: 'aliases' crash when looking up releases with more than 500 tracks.
    MusicBrainz Pseudo-Release Plugin: Fix crashes when applying a pseudo-release. One in PseudoAlbumInfo.raw_data and a sqlite3.ProgrammingError.
    Replace Plugin: Fix TypeError when invoking the Replace Plugin command. 🐛 (#6260)
    Spotify Plugin: Improved Spotify API parsing to handle missing label data 🐛 (#6679)
    Spotify Plugin: Use single instead of double quotes in spotify queries.
    Tidal Plugin: add Tidal Plugin dependency extra to make sure requests-oauthlib is installed. 🐛 (#6633)
    Tidal Plugin: Fix auth URL not printed in environments without a configured browser 🐛 (#6710)
    AttrDict.__getattribute__ now unmasks AttributeError raised inside a cached_property body. Previously such errors were swallowed by the __getattr__ fallback, producing a misleading message about 
the property name itself. The wrapped RuntimeError keeps the original traceback so it still points at the real failing line. 🐛 (#6558)
    ReadError and WriteError now include the file path and the underlying reason in their message instead of a <super: ...> object representation. 🐛 (#6560)
    Fix a CLI help formatting regression that moved command descriptions to separate lines; descriptions are inline again, with regression test coverage.
    Path format queries now correctly match multi-value fields such as genres when using exact string matches like genres:=Classical or genres:=~Classical. 🐛 (#6598)

For plugin developers

    Introduced beets.importer.DuplicateAction to simplify handling of duplicates.
    Plugin authors can import all autotagger helpers directly from beets.autotag, including match classes, distance helpers, and assign_items, without relying on lower-level autotag modules.

Other changes

    Lyrics Plugin: Fold rate limiting and 429 retry from the lyrics-specific LyricsSession into the shared beetsplug._utils.requests.TimeoutAndRetrySession so all plugins benefit. The standalone 
LyricsSession class has been removed.
    Spotify Plugin: spotifysync now batches its SQLite commit for a sync run, follows the standard beets write-before-store pattern, and logs audio-features API unavailability only once per run.
    Titlecase Plugin: Correct the path format example and document the %titlecase{text} template function. 🐛 (#6697)
    Log message prefix formatting (musicbrainz: msg) moved from a filter to LegacyFormatter, making future customization easier.


To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 pkgsrc/audio/py-beets/Makefile
cvs rdiff -u -r1.34 -r1.35 pkgsrc/audio/py-beets/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/audio/py-beets/Makefile
diff -u pkgsrc/audio/py-beets/Makefile:1.55 pkgsrc/audio/py-beets/Makefile:1.56
--- pkgsrc/audio/py-beets/Makefile:1.55 Sun May 10 12:21:46 2026
+++ pkgsrc/audio/py-beets/Makefile      Sun Jun 28 14:06:41 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.55 2026/05/10 12:21:46 wiz Exp $
+# $NetBSD: Makefile,v 1.56 2026/06/28 14:06:41 wiz Exp $
 
-DISTNAME=      beets-2.11.0
+DISTNAME=      beets-2.12.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    audio python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=b/beets/}

Index: pkgsrc/audio/py-beets/distinfo
diff -u pkgsrc/audio/py-beets/distinfo:1.34 pkgsrc/audio/py-beets/distinfo:1.35
--- pkgsrc/audio/py-beets/distinfo:1.34 Sun May 10 12:21:47 2026
+++ pkgsrc/audio/py-beets/distinfo      Sun Jun 28 14:06:41 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.34 2026/05/10 12:21:47 wiz Exp $
+$NetBSD: distinfo,v 1.35 2026/06/28 14:06:41 wiz Exp $
 
-BLAKE2s (beets-2.11.0.tar.gz) = 810ede3dba8e8e2ad96b46c70492aac54ebcfd2ba03591b788c3e22946e79499
-SHA512 (beets-2.11.0.tar.gz) = 54e077d893485786f3448e04c956b74aa247e731b85f6359dc208cf993bf2b7f4a4139dec6e8bc81bca05a79326314ba4a0427256eee63b56fe29085b972cf3a
-Size (beets-2.11.0.tar.gz) = 2298259 bytes
+BLAKE2s (beets-2.12.0.tar.gz) = f434f775523bb0c73d89b5ba2e4d8581e88360e6bad13125c8526a2ce3aedc65
+SHA512 (beets-2.12.0.tar.gz) = ab069c6494925442b63b62c3530a122cdf1ba54281e086791f32699e91a59c3b81cfbe4687cbb28a70c6d47ae7889cf940461198247c4f52ba07287960319480
+Size (beets-2.12.0.tar.gz) = 2305682 bytes



Home | Main Index | Thread Index | Old Index