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