Prepare changelog for 1.4.8

This commit is contained in:
Carl Suster 2019-04-23 12:26:36 +10:00
parent 4d55e6dfbb
commit 0a7c5cb163

View file

@ -4,50 +4,8 @@ Changelog
1.4.8 (in development)
----------------------
New features:
There are some new core features:
* :doc:`/plugins/lastgenre`: Added option ``-A`` to match individual tracks
and singletons.
:bug:`3220` :bug:`3219`
* The disambiguation string for identifying albums in the importer now shows
the catalog number.
Thanks to :user:`8h2a`.
:bug:`2951`
* :doc:`/plugins/play`: The plugin can now emit a UTF-8 BOM, fixing some
issues with foobar2000 and Winamp.
Thanks to :user:`mz2212`.
:bug:`2944`
* A new :doc:`/plugins/playlist` can query the beets library using
M3U playlists.
Thanks to :user:`Holzhaus` and :user:`Xenopathic`.
:bug:`123` :bug:`3145`
* Added whitespace padding to missing tracks dialog to improve readability.
Thanks to :user:`jams2`.
:bug:`2962`
* :bug:`/plugins/gmusic`: Add a new option to automatically upload to Google
Play Music library on track import.
Thanks to :user:`shuaiscott`.
* :doc:`/plugins/gmusic`: Add new options for Google Play Music
authentication.
Thanks to :user:`thetarkus`.
:bug:`3002`
* :doc:`/plugins/absubmit`: Analysis now works in parallel (on Python 3 only).
Thanks to :user:`bemeurer`.
:bug:`2442` :bug:`3003`
* :doc:`/plugins/replaygain`: albumpeak on large collections is calculated as
the average, not the maximum.
:bug:`3008` :bug:`3009`
* A new :doc:`/plugins/subsonicupdate` can automatically update your Subsonic library.
Thanks to :user:`maffo999`.
:bug:`3001`
* :doc:`/plugins/chroma`: Now optionally has a bias toward looking up more
relevant releases according to the :ref:`preferred` configuration options.
Thanks to :user:`archer4499`.
:bug:`3017`
* :doc:`/plugins/convert`: The plugin now has a ``id3v23`` option that allows
to override the global ``id3v23`` option.
Thanks to :user:`Holzhaus`.
:bug:`3104`
* A new ``aunique`` configuration option allows setting default options
for the :ref:`aunique` template function.
* The ``albumdisambig`` field no longer includes the MusicBrainz release group
@ -57,15 +15,54 @@ New features:
example, ``beet modify -a artist:beatles artpath!`` resets ``artpath``
attribute from matching albums back to the default value.
:bug:`2497`
* Modify selection can now be applied early without selecting every item.
:bug:`3083`
* :doc:`/plugins/chroma`: Fingerprint values are now properly stored as
strings, which prevents strange repeated output when running ``beet write``.
* A new importer option, :ref:`ignore_data_tracks`, lets you skip audio tracks
contained in data files :bug:`3021`
There are some new plugins:
* The :doc:`/plugins/playlist` can query the beets library using M3U playlists.
Thanks to :user:`Holzhaus` and :user:`Xenopathic`.
:bug:`123` :bug:`3145`
* The :doc:`/plugins/loadext` allows loading of SQLite extensions, primarily
for use with the ICU SQLite extension for internationalization.
:bug:`3160` :bug:`3226`
* The :doc:`/plugins/subsonicupdate` can automatically update your Subsonic
library.
Thanks to :user:`maffo999`.
:bug:`3001`
And many improvements to existing plugins:
* :doc:`/plugins/lastgenre`: Added option ``-A`` to match individual tracks
and singletons.
:bug:`3220` :bug:`3219`
* :doc:`/plugins/play`: The plugin can now emit a UTF-8 BOM, fixing some
issues with foobar2000 and Winamp.
Thanks to :user:`mz2212`.
:bug:`2944`
* :doc:`/plugins/gmusic`:
* Add a new option to automatically upload to Google Play Music library on
track import.
Thanks to :user:`shuaiscott`.
* Add new options for Google Play Music authentication.
Thanks to :user:`thetarkus`.
:bug:`3002`
* :doc:`/plugins/replaygain`: ``albumpeak`` on large collections is calculated
as the average, not the maximum.
:bug:`3008` :bug:`3009`
* :doc:`/plugins/chroma`:
* Now optionally has a bias toward looking up more relevant releases
according to the :ref:`preferred` configuration options.
Thanks to :user:`archer4499`.
:bug:`3017`
* Fingerprint values are now properly stored as strings, which prevents
strange repeated output when running ``beet write``.
Thanks to :user:`Holzhaus`.
:bug:`3097` :bug:`2942`
* :doc:`/plugins/convert`: The plugin now has a ``id3v23`` option that allows
youto override the global ``id3v23`` option.
Thanks to :user:`Holzhaus`.
:bug:`3097` :bug:`2942`
* The ``move`` command now lists the number of items already in-place.
Thanks to :user:`RollingStar`.
:bug:`3117`
:bug:`3104`
* :doc:`/plugins/spotify`: The plugin now uses OAuth for authentication to the
Spotify API.
Thanks to :user:`rhlahuja`.
@ -74,58 +71,142 @@ New features:
provider: you can match tracks and albums using the Spotify database.
Thanks to :user:`rhlahuja`.
:bug:`3123`
* :doc:`/plugins/ipfs`: The plugin now supports a ``nocopy`` option which passes that flag to ipfs.
* :doc:`/plugins/ipfs`: The plugin now supports a ``nocopy`` option which
passes that flag to ipfs.
Thanks to :user:`wildthyme`.
* :doc:`/plugins/discogs`: The plugin has rate limiting for the discogs API now.
:bug:`3081`
* The `badfiles` plugin now works in parallel (on Python 3 only).
Thanks to :user:`bemeurer`.
* Querying the library is now faster because we only convert fields that need
to be displayed.
Thanks to :user:`pprkut`.
:bug:`3089`
* :doc:`/plugins/mpdstats`, :doc:`/plugins/mpdupdate`: Use the ``MPD_PORT``
environment variable if no port is specified in the configuration file.
* :doc:`/plugins/mpdstats`, :doc:`/plugins/mpdupdate`: These plugins now use
the ``MPD_PORT`` environment variable if no port is specified in the
configuration file.
:bug:`3223`
* :doc:`/plugins/bpd`: MPD protocol commands ``consume`` and ``single`` are now
supported along with updated semantics for ``repeat`` and ``previous`` and
new fields for ``status``. The bpd server now understands and ignores some
additional commands.
:bug:`3200` :bug:`800`
* :doc:`/plugins/bpd`: MPD protocol command ``idle`` is now supported, allowing
the MPD version to be bumped to 0.14.
:bug:`3205` :bug:`800`
* :doc:`/plugins/bpd`: MPD protocol command ``decoders`` is now supported.
:bug:`3222`
* The new :doc:`/plugins/loadext` allows loading of SQLite extensions, primarily
for use with the ICU SQLite extension for internationalization.
:bug:`3160` :bug:`3226`
Changes:
* :doc:`/plugins/mbsync` no longer queries MusicBrainz when either the
``mb_albumid`` or ``mb_trackid`` field is invalid
* :doc:`/plugins/bpd`:
* MPD protocol commands ``consume`` and ``single`` are now supported along
with updated semantics for ``repeat`` and ``previous`` and new fields for
``status``. The bpd server now understands and ignores some additional
commands.
:bug:`3200` :bug:`800`
* MPD protocol command ``idle`` is now supported, allowing the MPD version
to be bumped to 0.14.
:bug:`3205` :bug:`800`
* MPD protocol command ``decoders`` is now supported.
:bug:`3222`
* The plugin now uses the main beets logging system.
The special-purpose ``--debug`` flag has been removed.
Thanks to :user:`arcresu`.
:bug:`3196`
* :doc:`/plugins/mbsync`: The plugin no longer queries MusicBrainz when either
the ``mb_albumid`` or ``mb_trackid`` field is invalid.
See also the discussion on Google Groups_
Thanks to :user:`arogl`.
* :doc:`/plugins/export` now also exports ``path`` field if user explicitly
specifies it with ``-i`` parameter. Only works when exporting library fields.
* :doc:`/plugins/export`: The plugin now also exports ``path`` field if user
explicitly specifies it with ``-i`` parameter. This only works when exporting
library fields.
:bug:`3084`
.. _Groups: https://groups.google.com/forum/#!searchin/beets-users/mbsync|sort:date/beets-users/iwCF6bNdh9A/i1xl4Gx8BQAJ
Fixes:
Some improvements have been focused on improving beets' performance:
* Querying the library is now faster because we only convert fields that need
to be displayed.
Thanks to :user:`pprkut`.
:bug:`3089`
* :doc:`/plugins/absubmit`, :doc:`/plugins/badfiles`: Analysis now works in
parallel (on Python 3 only).
Thanks to :user:`bemeurer`.
:bug:`2442` :bug:`3003`
* :doc:`/plugins/mpdstats`: Use the ``currentsong`` MPD command instead of
``playlist`` to get the current song, improving performance when the playlist
is long.
Thanks to :user:`ray66`.
:bug:`3207` :bug:`2752`
Several improvements are related to usability:
* The disambiguation string for identifying albums in the importer now shows
the catalog number.
Thanks to :user:`8h2a`.
:bug:`2951`
* Added whitespace padding to missing tracks dialog to improve readability.
Thanks to :user:`jams2`.
:bug:`2962`
* The :ref:`move-cmd` command now lists the number of items already in-place.
Thanks to :user:`RollingStar`.
:bug:`3117`
* Modify selection can now be applied early without selecting every item.
:bug:`3083`
* Improve error reporting during startup if sqlite returns an error. The
sqlite error message is now attached to the beets message.
:bug:`3005`
* Fixed a confusing typo when the :doc:`/plugins/convert` plugin copies the art
covers.
:bug:`3063`
Many fixes have been focused on issues where beets would previously crash:
* Avoid a crash when archive extraction fails during import.
:bug:`3041`
* Missing album art file during an update no longer causes a fatal exception
(instead, an error is logged and the missing file path is removed from the
library).
:bug:`3030`
* When updating the database, beets no longer tries to move album art twice.
:bug:`3189`
* Fix an unhandled exception when pruning empty directories.
:bug:`1996` :bug:`3209`
* :doc:`/plugins/fetchart`: Added network connection error handling to backends
so that beets won't crash if a request fails.
Thanks to :user:`Holzhaus`.
:bug:`1579`
* :doc:`/plugins/badfiles`: Avoid a crash when the underlying tool emits
undecodable output.
:bug:`3165`
* :doc:`/plugins/beatport`: Avoid a crash when the server produces an error.
:bug:`3184`
* :doc:`/plugins/bpd`: Fix crashes in the bpd server during exception handling.
:bug:`3200`
* :doc:`/plugins/bpd`: Fix a crash triggered when certain clients tried to list
the albums belonging to a particular artist.
:bug:`3007` :bug:`3215`
There are many fixes related to compatibility with our dependencies including
addressing changes interfaces:
* On Python 2, pin the Jellyfish requirement to version 0.6.0 for
compatibility.
* A new importer option, :ref:`ignore_data_tracks`, lets you skip audio tracks
contained in data files :bug:`3021`
* Fix compatibility Python 3.7 and its change to a name in the ``re`` module.
:bug:`2978`
* Fix several uses of deprecated standard-library features on Python 3.7.
Thanks to :user:`arcresu`.
:bug:`3197`
* Fix compatibility with pre-release versions of Python 3.8.
:bug:`3201` :bug:`3202`
* :doc:`/plugins/web`: Fix an error when using more recent versions of Flask
with CORS enabled.
Thanks to :user:`rveachkc`.
:bug:`2979`: :bug:`2980`
* Avoid some deprecation warnings with certain versions of the MusicBrainz
library.
Thanks to :user:`zhelezov`.
:bug:`2826` :bug:`3092`
* Restore iTunes Store album art source, and remove the dependency on
python-itunes_, which had gone unmaintained and was not py3 compatible.
Thanks to :user:`ocelma` for creating python-itunes_ in the first place.
Thanks to :user:`nathdwek`.
:bug:`2371` :bug:`2551` :bug:`2718`
* Fix compatibility Python 3.7 and its change to a name in the ``re`` module.
:bug:`2978`
* :doc:`/plugins/lastgenre`, :doc:`/plugins/edit`: Avoid a deprecation warnings
from the YAML library by switching to the safe loader.
Thanks to :user:`translit` and :user:`sbraz`.
:bug:`3192` :bug:`3225`
* Fix a problem when resizing images with PIL/Pillow on Python 3.
Thanks to :user:`architek`.
:bug:`2504` :bug:`3029`
.. _python-itunes: https://github.com/ocelma/python-itunes
And there are many other fixes:
* R128 normalization tags are now properly deleted from files when the values
are missing.
Thanks to :user:`autrimpo`.
@ -136,86 +217,30 @@ Fixes:
* With the :ref:`from_scratch` configuration option set, only writable fields
are cleared. Beets now no longer ignores the format your music is saved in.
:bug:`2972`
* LastGenre: Allow to set the configuration option ``prefer_specific``
without setting ``canonical``.
:bug:`2973`
* :doc:`/plugins/web`: Fix an error when using more recent versions of Flask
with CORS enabled.
Thanks to :user:`rveachkc`.
:bug:`2979`: :bug:`2980`
* Improve error reporting: during startup if sqlite returns an error the
sqlite error message is attached to the beets message.
:bug:`3005`
* Fix a problem when resizing images with PIL/Pillow on Python 3.
Thanks to :user:`architek`.
:bug:`2504` :bug:`3029`
* Avoid a crash when archive extraction fails during import.
:bug:`3041`
* The ``%aunique`` template function now works correctly with the
``-f/--format`` option.
:bug:`3043`
* Missing album art file during an update no longer causes a fatal exception
(instead, an error is logged and the missing file path is removed from the
library). :bug:`3030`
* Fixed the ordering of items when manually selecting changes while updating
tags
Thanks to :user:`TaizoSimpson`.
:bug:`3501`
* Confusing typo when the convert plugin copies the art covers. :bug:`3063`
* The ``%title`` template function now works correctly with apostrophes.
Thanks to :user:`GuilhermeHideki`.
:bug:`3033`
* When updating the database, beets no longer tries to move album art twice.
:bug:`3189`
* :doc:`/plugins/fetchart`: Added network connection error handling to backends
so that beets won't crash if a request fails.
Thanks to :user:`Holzhaus`.
:bug:`1579`
* Fetchart now respects the ``ignore`` and ``ignore_hidden`` settings. :bug:`1632`
* :doc:`/plugins/badfiles`: Avoid a crash when the underlying tool emits
undecodable output.
:bug:`3165`
* :doc:`/plugins/lastgenre`: Allow to set the configuration option
``prefer_specific`` without setting ``canonical``.
:bug:`2973`
* :doc:`/plugins/fetchart`: The plugin now respects the ``ignore`` and
``ignore_hidden`` settings.
:bug:`1632`
* :doc:`/plugins/hook`: Fix byte string interpolation in hook commands.
:bug:`2967` :bug:`3167`
* Avoid some deprecation warnings with certain versions of the MusicBrainz
library.
Thanks to :user:`zhelezov`.
:bug:`2826` :bug:`3092`
* :doc:`/plugins/beatport`: Avoid a crash when the server produces an error.
:bug:`3184`
* :doc:`/plugins/the`: Log a message when something has changed, not when it
hasn't.
Thanks to :user:`arcresu`.
:bug:`3195`
* :doc:`/plugins/bpd`: The plugin now uses the main beets logging system.
The special-purpose ``--debug`` flag has been removed.
Thanks to :user:`arcresu`.
:bug:`3196`
* Fix several uses of deprecated standard-library features on Python 3.7.
Thanks to :user:`arcresu`.
:bug:`3197`
* :doc:`/plugins/lastgenre`, :doc:`/plugins/edit`: Avoid a deprecation warnings
from the YAML library by switching to the safe loader.
Thanks to :user:`translit` and :user:`sbraz`.
:bug:`3192` :bug:`3225`
* Fix compatibility with pre-release versions of Python 3.8.
:bug:`3201` :bug:`3202`
* :doc:`/plugins/bpd`: Fix crashes in the bpd server during exception handling.
:bug:`3200`
* :doc:`/plugins/lastgenre`: The `force` config option now actually works.
:bug:`2704` :bug:`3054`
* :doc:`/plugins/mpdstats`: Use the ``currentsong`` MPD command instead of
``playlist`` to get the current song, improving performance when the playlist
is long.
Thanks to :user:`ray66`.
:bug:`3207` :bug:`2752`
* Fix an unhandled exception when pruning empty directories.
:bug:`1996` :bug:`3209`
* :doc:`/plugins/bpd`: Fix a crash triggered when certain clients tried to list
the albums belonging to a particular artist.
:bug:`3007` :bug:`3215`
.. _python-itunes: https://github.com/ocelma/python-itunes
For developers:
@ -225,6 +250,10 @@ For developers:
``playlist:name`` although there is no field named ``playlist``.
See :ref:`extend-query` for details.
For packagers:
* Note the changes to the dependencies on jellyfish and python-itunes.
1.4.7 (May 29, 2018)
--------------------