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 Mar 29 17:39:58 UTC 2026

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

Log Message:
py-beets: update to 2.8.0.

2.8.0 (March 28, 2026)
----------------------

New features
~~~~~~~~~~~~

- :doc:`plugins/discogs`: Add :conf:`plugins.discogs:extra_tags` option to use
  additional tags (such as ``barcode``, ``catalognum``, ``country``, ``label``,
  ``media``, and ``year``) in Discogs search queries.
- :doc:`plugins/smartplaylist`: Add new configuration option ``dest_regen`` to
  regenerate items' path in the generated playlist instead of using those in the
  library. This is useful when items have been imported in don't copy-move (``-C
  -M``) mode in the library but are later passed through the ``convert`` plugin
  which will regenerate new paths according to the Beets path format.
- :doc:`plugins/missing`: When running in missing album mode, allows users to
  specify MusicBrainz release types to show using the ``--release-type`` flag.
  The default behavior is also changed to just show releases of type ``album``.
  :bug:`2661`
- :doc:`plugins/play`: Added ``-R``/``--randomize`` flag to shuffle the playlist
  order before passing it to the player.
- :doc:`plugins/lyrics`: Add ``auto_ignore`` configuration option to skip
  fetching lyrics for items matching a beets query during auto import.

Bug fixes
~~~~~~~~~

- :doc:`plugins/missing`: Fix ``--album`` mode incorrectly reporting albums
  already in the library as missing. The comparison now correctly uses
  ``mb_releasegroupid``.
- :ref:`replace`: Made ``drive_sep_replace`` regex logic more precise to prevent
  edge-case mismatches (e.g., a song titled "1:00 AM" would incorrectly be
  considered a Windows drive path).
- :doc:`plugins/fish`: Fix AttributeError. :bug:`6340`
- :ref:`import-cmd` Autotagging by explicit release or recording IDs now keeps
  candidates from all enabled metadata sources instead of dropping matches when
  different providers share the same ID. :bug:`6178` :bug:`6181`
- :doc:`plugins/mbsync` and :doc:`plugins/missing` now use each item's stored
  ``data_source`` for ID lookups, with a fallback to ``MusicBrainz``.
- :doc:`plugins/musicbrainz`: Use ``va_name`` config for ``albumartist_sort``,
  ``albumartists_sort``, ``albumartist_credit``, ``albumartists_credit``, and
  ``albumartists`` on VA releases instead of hardcoded "Various Artists".
  :bug:`6316`
- :doc:`plugins/beatport`: Use ``va_name`` config for the album artist on VA
  releases instead of hardcoded "Various Artists". :bug:`6316`
- :ref:`config-cmd` on Windows now uses ``cmd /c start ""`` for the default
  editor fallback so ``beet config -e`` works when ``VISUAL`` and ``EDITOR`` are
  unset. :bug:`6436`
- :doc:`plugins/lastimport`: Rename flexible field ``play_count`` to
  ``lastfm_play_count`` to avoid conflicts with :doc:`plugins/mpdstats`.
  **Migration**: This cannot be migrated automatically because of the field
  clash. If you use ``lastimport`` without ``mpdstats``, migrate manually with
  ``beet modify lastfm_play_count='$play_count'``.
- :ref:`import-cmd` Simplify autotag metadata application for albums and
  singletons, fixing null-overwrite handling and keeping singular/plural artist
  metadata fields in sync during tagging.

For plugin developers
~~~~~~~~~~~~~~~~~~~~~

- :py:func:`beets.metadata_plugins.album_for_id` and
  :py:func:`beets.metadata_plugins.track_for_id` now require a ``data_source``
  argument and query only that provider.
- Colorisation, diff and layout utility helpers previously imported from
  :mod:`beets.ui` now live in :mod:`beets.util.color`, :mod:`beets.util.diff`,
  and :mod:`beets.util.layout`. Update external imports accordingly.
- The lastgenre ``tunelog`` helper was generalized into
  :py:meth:`beets.logging.BeetsLogger.extra_debug`, which emits ``DEBUG``
  messages only at verbosity level 3 or higher (for example ``-vvv``). Plugin
  authors can use it via ``self._log.extra_debug(...)``.

Other changes
~~~~~~~~~~~~~

- Deprecate the :doc:`plugins/beatport` and :doc:`plugins/bpsync` plugins.
  Beatport has retired the API these plugins rely on, making them
  non-functional. :bug:`3862`
- API-backed metadata source plugins can now use
  :py:class:`~beets.metadata_plugins.SearchApiMetadataSourcePlugin` for shared
  search orchestration. Implement provider behavior in
  :py:meth:`~beets.metadata_plugins.SearchApiMetadataSourcePlugin.get_search_query_with_filters`
  and
  :py:meth:`~beets.metadata_plugins.SearchApiMetadataSourcePlugin.get_search_response`.
- :doc:`guides/installation`: Remove redundant macOS section from the
  installation guide. :bug:`5993`
- :doc:`guides/installation`: Update installation guide to document plugin
  management with pipx and move package manager instructions to the FAQ.
- :doc:`guides/main`: Update quick installation section to reflect current
  installation guide structure.
- :doc:`guides/installation`: Update pipx installation guide link
- :doc:`contributing`: Update pipx installation guide link


To generate a diff of this commit:
cvs rdiff -u -r1.51 -r1.52 pkgsrc/audio/py-beets/Makefile
cvs rdiff -u -r1.28 -r1.29 pkgsrc/audio/py-beets/PLIST
cvs rdiff -u -r1.30 -r1.31 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.51 pkgsrc/audio/py-beets/Makefile:1.52
--- pkgsrc/audio/py-beets/Makefile:1.51 Mon Mar  9 16:52:24 2026
+++ pkgsrc/audio/py-beets/Makefile      Sun Mar 29 17:39:58 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.51 2026/03/09 16:52:24 wiz Exp $
+# $NetBSD: Makefile,v 1.52 2026/03/29 17:39:58 wiz Exp $
 
-DISTNAME=      beets-2.7.1
+DISTNAME=      beets-2.8.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    audio python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=b/beets/}
@@ -43,8 +43,8 @@ INSTALLATION_DIRS+=   ${PKGMANDIR}/man1 ${
 
 PYTHON_VERSIONS_INCOMPATIBLE=  310
 
-# as of 2.7.1
-# 1 failed, 845 passed, 100 skipped
+# as of 2.8.0
+# 1 failed, 849 passed, 100 skipped
 .if make(test)
 ALLOW_NETWORK_ACCESS=  yes
 .endif

Index: pkgsrc/audio/py-beets/PLIST
diff -u pkgsrc/audio/py-beets/PLIST:1.28 pkgsrc/audio/py-beets/PLIST:1.29
--- pkgsrc/audio/py-beets/PLIST:1.28    Mon Mar  9 16:52:24 2026
+++ pkgsrc/audio/py-beets/PLIST Sun Mar 29 17:39:58 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.28 2026/03/09 16:52:24 wiz Exp $
+@comment $NetBSD: PLIST,v 1.29 2026/03/29 17:39:58 wiz Exp $
 bin/beet-${PYVERSSUFFIX}
 ${PYSITELIB}/${WHEEL_INFODIR}/METADATA
 ${PYSITELIB}/${WHEEL_INFODIR}/RECORD
@@ -158,12 +158,18 @@ ${PYSITELIB}/beets/util/artresizer.pyo
 ${PYSITELIB}/beets/util/bluelet.py
 ${PYSITELIB}/beets/util/bluelet.pyc
 ${PYSITELIB}/beets/util/bluelet.pyo
+${PYSITELIB}/beets/util/color.py
+${PYSITELIB}/beets/util/color.pyc
+${PYSITELIB}/beets/util/color.pyo
 ${PYSITELIB}/beets/util/config.py
 ${PYSITELIB}/beets/util/config.pyc
 ${PYSITELIB}/beets/util/config.pyo
 ${PYSITELIB}/beets/util/deprecation.py
 ${PYSITELIB}/beets/util/deprecation.pyc
 ${PYSITELIB}/beets/util/deprecation.pyo
+${PYSITELIB}/beets/util/diff.py
+${PYSITELIB}/beets/util/diff.pyc
+${PYSITELIB}/beets/util/diff.pyo
 ${PYSITELIB}/beets/util/functemplate.py
 ${PYSITELIB}/beets/util/functemplate.pyc
 ${PYSITELIB}/beets/util/functemplate.pyo
@@ -173,6 +179,9 @@ ${PYSITELIB}/beets/util/hidden.pyo
 ${PYSITELIB}/beets/util/id_extractors.py
 ${PYSITELIB}/beets/util/id_extractors.pyc
 ${PYSITELIB}/beets/util/id_extractors.pyo
+${PYSITELIB}/beets/util/layout.py
+${PYSITELIB}/beets/util/layout.pyc
+${PYSITELIB}/beets/util/layout.pyo
 ${PYSITELIB}/beets/util/lyrics.py
 ${PYSITELIB}/beets/util/lyrics.pyc
 ${PYSITELIB}/beets/util/lyrics.pyo
@@ -335,6 +344,9 @@ ${PYSITELIB}/beetsplug/kodiupdate.pyo
 ${PYSITELIB}/beetsplug/lastgenre/__init__.py
 ${PYSITELIB}/beetsplug/lastgenre/__init__.pyc
 ${PYSITELIB}/beetsplug/lastgenre/__init__.pyo
+${PYSITELIB}/beetsplug/lastgenre/client.py
+${PYSITELIB}/beetsplug/lastgenre/client.pyc
+${PYSITELIB}/beetsplug/lastgenre/client.pyo
 ${PYSITELIB}/beetsplug/lastgenre/genres-tree.yaml
 ${PYSITELIB}/beetsplug/lastgenre/genres.txt
 ${PYSITELIB}/beetsplug/lastimport.py

Index: pkgsrc/audio/py-beets/distinfo
diff -u pkgsrc/audio/py-beets/distinfo:1.30 pkgsrc/audio/py-beets/distinfo:1.31
--- pkgsrc/audio/py-beets/distinfo:1.30 Mon Mar  9 16:52:24 2026
+++ pkgsrc/audio/py-beets/distinfo      Sun Mar 29 17:39:58 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.30 2026/03/09 16:52:24 wiz Exp $
+$NetBSD: distinfo,v 1.31 2026/03/29 17:39:58 wiz Exp $
 
-BLAKE2s (beets-2.7.1.tar.gz) = b3152a02edd6b3060afa49f777db98571477f0bef7538ebd4e4558d80ddd3079
-SHA512 (beets-2.7.1.tar.gz) = 5ca73805564dfbf849005464d74691c9a1156154147c795d20768601a98436749435d1766a2ef0050de22d9c83bdb29d42de1a072bf6ff76285a532a5f195417
-Size (beets-2.7.1.tar.gz) = 2189644 bytes
+BLAKE2s (beets-2.8.0.tar.gz) = 0f6193c893e545ff38e122dc7971882d32061ffc74c8021df80b59988c7f3591
+SHA512 (beets-2.8.0.tar.gz) = c99f7602056c9c15175e81085c0383f2397a7908d55378ff380555a40a3fe3478249ee0b5dd1b0c6e088db012bd7e67b7aa5bc92f02052a5eb46f612761ea2d2
+Size (beets-2.8.0.tar.gz) = 2195951 bytes



Home | Main Index | Thread Index | Old Index