|
 |
 |
 |
Changelog for beets-2.2.0-1.1.noarch.rpm :
* Fri Jan 17 2025 Jaime Marquínez Ferrándiz - Update to 2.2.0 * New features * /plugins/substitute: Allow the replacement string to use capture groups from the match. It is thus possible to create more general rules, applying to many different artists at once. * Bug fixes * Bring back test files and the manual to the source distribution tarball. * Fix bug where matcher doesn\'t consider medium number when importing. This makes it difficult to import hybrid SACDs and other releases with duplicate tracks. * Check if running python from the Microsoft Store and provide feedback to install from python.org. * Other changes * Changed bitesize label to good first issue. Our contribute page is now automatically populated with these issues.- Update to 2.1.0 * New features * Ability to query albums with track db fields and vice-versa, for example beet list -a title:something or beet list artpath:cover. Consequently album queries involving path field have been sped up, like beet list -a path:/path/. * Beets now uses platformdirs to determine the default music directory. This location varies between systems -- for example, users can configure it on Unix systems via user-dirs.dirs(5). * New template function added: %capitalize. Converts the first letter of the text to uppercase and the rest to lowercase. * Plugin autobpm: Add new configuration option beat_track_kwargs which enables adjusting keyword arguments supplied to librosa\'s beat_track function call. * Plugin ftintitle: New keep_in_artist option for the plugin, which allows keeping the \"feat.\" part in the artist metadata while still changing the title. * Bug fixes * Album flexible fields are now correctly saved. For instance MusicBrainz external links such as bandcamp_album_id will be available on albums in addition to tracks. For albums already in your library, a re-import is required for the fields to be added. Such a re-import can be done with, in this case, beet import -L data_source:=MusicBrainz. * Fix lyrics plugin only getting part of the lyrics from Genius.com * Fix the TypeError when set_fields is provided non-string values. * Fix the auto value for the reflink config option. * Improve naming of temporary files by separating the random part with the file extension. * Plugin autobpm: Fix the TypeError where tempo was being returned as a numpy array. Update librosa dependency constraint to prevent similar issues in the future. * Plugin convert: Fixed the convert plugin no_convert option so that it no longer treats \"and\" and \"or\" queries the same. To maintain previous behaviour add commas between your query keywords. For help see combiningqueries. * Plugin discogs: Fix the TypeError when there is no description. * Plugin ftintitle: The detection of a \"feat. X\" part in a song title does not produce any false positives caused by words like \"and\" or \"with\" anymore. * Plugin ftintitle: The detection of a \"feat. X\" part now also matches such parts if they are in parentheses or brackets. * Plugin lyrics: Update tekstowo backend to fetch lyrics directly since recent updates to their website made it unsearchable. * Use single quotes in all SQL queries * For packagers * The beet script has been removed from the repository. * The typing_extensions is required for Python 3.10 and below. * The minimum supported Python version is now 3.8. * Other changes * Added caching for dependency installation in all CI jobs which speeds them up a bit, especially the tests. * GitHub workflows have been reorganised for clarity: style, linting, type and docs checks now live in separate jobs and are named accordingly. * Installation instructions have been made consistent across plugins documentation. Users should simply install beets with an extra of the corresponding plugin name in order to install extra dependencies for that plugin. * Plugin autobpm: Add plugin dependencies to pyproject.toml under the autobpm extra and update the plugin installation instructions in the docs. Since importing the bpm calculation functionality from librosa takes around 4 seconds, update the plugin to only do so when it actually needs to calculate the bpm. Previously this import was being done immediately, so every beet invocation was being delayed by a couple of seconds. * The linting workflow has been made to run only when Python files or documentation is changed, and they only check the changed files. When dependencies are updated (poetry.lock), then the entire code base is checked. * The long-deprecated beets.util.confit module has been removed. This may cause extremely outdated external plugins to fail to load. * contributing: Since poetry now manages local virtual environments, tox has been replaced by a task runner poethepoet. This change affects beets developers and contributors. Please see updates in the development-tools section for more details. Type poe while in the project directory to see the available commands. * contributing: The project now uses poetry for packaging and dependency management. This change affects project management and mostly affects beets developers. Please see updates in getting-the-source and testing for more information. * Tue Jul 09 2024 Frantisek Simorda - Update to 2.0.0 Major new features * The beets importer UI received a major overhaul. Several new configuration options are available for customizing layout and colors: ui_options. New features * edit: Prefer editor from VISUAL environment variable over EDITOR. * config: Prefer editor from VISUAL environment variable over EDITOR. * listenbrainz: Add initial support for importing history and playlists from ListenBrainz * mbsubmit: add new prompt choices helping further to submit unmatched tracks to MusicBrainz faster. * spotify: We now fetch track\'s ISRC, EAN, and UPC identifiers from Spotify when using the spotifysync command. * discogs: supply a value for the cover_art_url attribute, for use by fetchart. * update: added `-e` flag for excluding fields from being updated. * deezer: Import rank and other attributes from Deezer during import and add a function to update the rank of existing items. * resolve transl-tracklisting relations for pseudo releases and merge data with the actual release * Fetchart: Use the right field (spotify_album_id) to obtain the Spotify album id * Prevent reimporting album if it is permanently removed from Spotify * Added option to use cover_art_url as an album art source in the fetchart plugin. * fetchart: The plugin can now get album art from spotify. * Added option to specify a URL in the embedart plugin. * list singleton:true queries have been made faster * list singleton:1 and singleton:0 can now alternatively be used in queries, same as comp * --from-logfile now parses log files using a UTF-8 encoding in beets/beets/ui/commands.py. * bareasc lookups have been made faster * list lookups using the pattern operator :: have been made faster * Added additional error handling for spotify plugin. * We now import the remixer field from Musicbrainz into the library. * mbsubmit: Added a new mbsubmit command to print track information to be submitted to MusicBrainz after initial import. * Added spotify_updated field to track when the information was last updated. * We now import and tag the album information when importing singletons using Spotify source. * spotify: The plugin now provides an additional command spotifysync that allows getting track popularity and audio features information from Spotify. * spotify: The plugin now records Spotify-specific IDs in the spotify_album_id, spotify_artist_id, and spotify_track_id fields. * Create the parental directories for database if they do not exist. * musicbrainz-config: a new musicbrainz.enabled option allows disabling the MusicBrainz metadata source during the autotagging process * kodiupdate: Now supports multiple kodi instances * Add the item fields bitrate_mode, encoder_info and encoder_settings. * Add query prefixes = and ~. * A new configuration option, duplicate_keys, lets you change which fields the beets importer uses to identify duplicates. * Add exact match queries, using the prefixes = and =~. * discogs: Permit appending style to genre. * discogs: Implement item_candidates for matching singletons. * discogs: Check for compliant discogs_client module. * convert: Add a new auto_keep option that automatically converts files but keeps the originals in the library. * Added a -P (or --disable-plugins) flag to specify one/multiple plugin(s) to be disabled at startup. * import-options: Add support for re-running the importer on paths in log files that were created with the -l (or --logfile) argument. * Preserve mtimes from archives * Add %sunique{} template to disambiguate between singletons. * Add a new import.ignored_alias_types config option to allow for specific alias types to be skipped over when importing items/albums. * smartplaylist: A new --pretend option lets the user see what a new or changed smart playlist saved in the config is actually returning. * fromfilename: Add debug log messages that inform when the plugin replaced bad (missing) artist, title or tracknumber metadata. * musicbrainz-config: MusicBrainz release pages often link to related metadata sources like Discogs, Bandcamp, Spotify, Deezer and Beatport. When enabled via the musicbrainz.external_ids options, release ID\'s will be extracted from those URL\'s and imported to the library. * convert: Add support for generating m3u8 playlists together with converted media files. * Fetch the release_group_title field from MusicBrainz. 4809 * discogs: Add support for applying album information on singleton imports. 4716 * smartplaylist: During explicit runs of the splupdate command, the log message \"Creating playlist ...\"\" is now displayed instead of hidden in the debug log, which states some form of progress through the UI. * subsonicupdate: Updates are now triggered whenever either the beets database is changed or a smart playlist is created/updated. 4862 * importfeeds: Add a new output format allowing to save a playlist once per import session. 4863 * Make ArtResizer work with PIL/pillow 10.0.0 removals. * A new configuration option, duplicate_verbose_prompt, allows changing how duplicates are presented during import. 4866 * embyupdate: Add handling for private users by adding userid config option. * substitute: Add the new plugin substitute as an alternative to the rewrite plugin. The main difference between them being that rewrite modifies files\' metadata and substitute does not. * Add support for artists and albumartists multi-valued tags. * autobpm: Add the autobpm plugin which uses Librosa to calculate the BPM of the audio. * fetchart: Fix the error with CoverArtArchive where the maxwidth option would not be used to download a pre-sized thumbnail for release groups, as is already done with releases. * fetchart: Fix the error with CoverArtArchive where no cover would be found when the maxwidth option matches a pre-sized thumbnail size, but no thumbnail is provided by CAA. We now fallback to the raw image. * advancedrewrite: Add an advanced version of the rewrite plugin which allows to replace fields based on a given library query. * lyrics: Add LRCLIB as a new lyrics provider and a new synced option to prefer synced lyrics over plain lyrics. * import: Expose import.quiet_fallback as CLI option. * import: Expose import.incremental_skip_later as CLI option. * smartplaylist: Expose config options as CLI options. * smartplaylist: Add new option smartplaylist.output. * smartplaylist: Add new option smartplaylist.uri_format. * Sorted the default configuration file into categories. * convert: Don\'t treat WAVE (.wav) files as lossy anymore when using the never_convert_lossy_files option. They will get transcoded like the other lossless formats. * Add support for barcode field. * smartplaylist: Add new config option smartplaylist.fields. Bug fixes * lastimport: Improve error handling in the process_tracks function and enable it to be used with other plugins. * spotify: Improve handling of ConnectionError. * deezer: Improve Deezer plugin error handling and set requests timeout to 10 seconds. * spotify: Add bad gateway (502) error handling. * spotify: Add a limit of 3 retries, instead of retrying endlessly when the API is not available. * Fix a crash when the Spotify API timeouts or does not return a Retry-After interval. * scrub: Fixed the import behavior where scrubbed database tags were restored to newly imported tracks with config settings scrub.auto: yes and import.write: no. * deezer: Fixed the error where Deezer plugin would crash if non-Deezer id is passed during import. * fetchart: Fix fetching from Cover Art Archive when the maxwidth option is set to one of the supported Cover Art Archive widths. * discogs: Fix \"Discogs plugin replacing Feat. or Ft. with a comma\" by fixing an oversight that removed a functionality from the code base when the MetadataSourcePlugin abstract class was introduced in PR\'s #3335 and #3371. * convert: Set default max_bitrate value to None to avoid transcoding when this parameter is not set. * replaygain: Avoid a crash when errors occur in the analysis backend. * We now use Python\'s defaults for command-line argument encoding, which should reduce the chance for errors and \"file not found\" failures when invoking other command-line tools, especially on Windows. * We now respect the Spotify API\'s rate limiting, which avoids crashing when the API reports code 429 (too many requests). * Fix implicit paths OR queries (e.g. beet list /path/ , /other-path/) which have previously been returning the entire library. * The Discogs release ID is now populated correctly to the discogs_albumid field again (it was no longer working after Discogs changed their release URL format). * The autotagger no longer considers all matches without a MusicBrainz ID as duplicates of each other. * convert: Resize album art when embedding * deezer: Fix auto tagger pagination issues (fetch beyond the first 25 tracks of a release). * spotify: Fix auto tagger pagination issues (fetch beyond the first 50 tracks of a release). * lyrics: Fix Genius search by using query params instead of body. * unimported: The new ignore_subdirectories configuration option added in 1.6.0 now has a default value if it hasn\'t been set. * deezer: Tolerate missing fields when searching for singleton tracks. * replaygain: The type of the internal r128_track_gain and r128_album_gain fields was changed from integer to float to fix loss of precision due to truncation. * Fix a regression in the previous release that caused a TypeError when moving files across filesystems. * convert: Deleting the original files during conversion no longer logs output when the quiet flag is enabled. * web: Fix handling of \"query\" requests. Previously queries consisting of more than one token (separated by a slash) always returned an empty result. * discogs: Skip Discogs query on insufficiently tagged files (artist and album tags missing) to prevent arbitrary candidate results. * lyrics: Fixed issues with the Tekstowo.pl and Genius backends where some non-lyrics content got included in the lyrics * limit: Better header formatting to improve index * replaygain: Correctly handle the overwrite config option, which forces recomputing ReplayGain values on import even for tracks that already have the tags. * embedart: Fix a crash when using recent versions of ImageMagick and the compare_threshold option. * lyrics: Fixed issue with Genius header being included in lyrics, added test case of up-to-date Genius html * importadded: Fix a bug with recently added reflink import option that causes a crash when ImportAdded plugin enabled. * convert: Fix a bug with the wma format alias. * web: Fix get file from item. * lastgenre: Fix a duplicated entry for trip hop in the default genre list. * lyrics: Fixed issue with Tekstowo backend not actually checking if the found song matches. * embedart: Add support for ImageMagick 7.1.1-12 * fromfilename: Fix failed detection of |
|
|