Releases: linuxserver/docker-beets
Release list
2.13.1-ls345
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/2.13.1-ls345/index.html
LinuxServer Changes:
Full Changelog: 2.13.1-ls344...2.13.1-ls345
Remote Changes:
Updating PIP version of beets to 2.13.1
nightly-efc89702-ls322
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-efc89702-ls322/index.html
LinuxServer Changes:
No changes
Remote Changes:
Add bitrate-based 'upgrade' duplicate_action (#6842)
Adds an upgrade option for duplicate_action (config-only, not
offered in the interactive ask prompt). When set, each newly imported
track is compared against any existing duplicate with the same
duplicate_keys:
- A track only replaces its old counterpart if it has a higher bitrate.
- Tracks with no old counterpart (e.g., filling in a previously
incomplete album) are always added. - The rest of the existing album is left untouched, and the kept tracks
join that same album rather than forming a new, separate one.
This picks up the idea from #4471 by @Serene-Arc, which stalled. The
importer has been substantially refactored since then, so many of the
issues identified earlier are not relevant, but the design follows what
was agreed there: config-only, bitrate-based comparison, no per-track
album splitting as a decision mechanism.
Would appreciate some 👀 on this.
- Documentation. (If you've added a new command-line flag, for
example, find the appropriate page underdocs/to describe it.) - Changelog. (Add an entry to
docs/changelog.rstto the bottom of
one of the lists near the top of the document.) - Tests. (Very much encouraged but not strictly required.)
nightly-4240594e-ls322
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-4240594e-ls322/index.html
LinuxServer Changes:
Full Changelog: nightly-b7952299-ls321...nightly-4240594e-ls322
Remote Changes:
use pathlib in tests: migrate most tests to pathlib (#6865)
-
This PR continues the test suite's move from mixed string/bytes path
handling topathlib.Path-based filesystem usage. -
The main architectural change is that shared test helpers now produce
Pathobjects directly, especially
TestHelper.create_mediafile_fixture, so tests can use one consistent
path model end-to-end. -
Tests are updated to prefer higher-level path APIs like
item.filepathandalbum.art_filepathinstead of rawitem.path
bytes, reducing manual conversions and directos.pathusage. -
Supporting utilities were adjusted where needed, such as allowing
beets.util.mkdirallto acceptPathinputs, so existing filesystem
helpers still work during the transition. -
High-level impact:
- makes path handling in tests more consistent and readable
- reduces bytes/string/path conversion noise
-
aligns tests with the newer object-level path interfaces already
exposed by the app -
lowers the chance of platform-specific path bugs, especially around
encoding and separator handling -
In practice, this is mostly a test infrastructure cleanup and API
alignment change. It should not change product behavior, but it makes
future path-related test updates simpler and safer.
Fixes #6807
The rest of tests require refactoring of associated source code.
2.13.1-ls344
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/2.13.1-ls344/index.html
LinuxServer Changes:
Full Changelog: 2.13.0-ls343...2.13.1-ls344
Remote Changes:
Updating PIP version of beets to 2.13.1
nightly-b7952299-ls321
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-b7952299-ls321/index.html
LinuxServer Changes:
Full Changelog: nightly-48d44d15-ls320...nightly-b7952299-ls321
Remote Changes:
Increment version to 2.13.1
2.13.0-ls343
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/2.13.0-ls343/index.html
LinuxServer Changes:
Full Changelog: 2.12.0-ls342...2.13.0-ls343
Remote Changes:
Updating PIP version of beets to 2.13.0
nightly-97f3ffde-ls320
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-97f3ffde-ls320/index.html
LinuxServer Changes:
No changes
Remote Changes:
Reformat beatport/bpsync docs (#6883)
The builds are currently broken:
Run poe format-docs --check
Poe => docstrfmt --preserve-adornments docs /home/runner/work/beets/beets/CODE_OF_CONDUCT.rst /home/runner/work/beets/beets/README.rst /home/runner/work/beets/beets/README_kr.rst /home/runner/work/beets/beets/CONTRIBUTING.rst --check
File '/home/runner/work/beets/beets/docs/plugins/beatport.rst' could be reformatted.
File '/home/runner/work/beets/beets/docs/plugins/bpsync.rst' could be reformatted.
2 out of 122 files could be reformatted.
Done! 🎉
Error: Process completed with exit code 1.
Formatted both the docs:
$ conda run -n py311 docstrfmt --preserve-adornments docs/plugins/beatport.rst docs/plugins/bpsync.rst
Reformatted 'C:\Users\arsab\Documents\GitHub\beets\docs\plugins\beatport.rst'.
Reformatted 'C:\Users\arsab\Documents\GitHub\beets\docs\plugins\bpsync.rst'.
2 out of 2 files were reformatted.
Done! 🎉nightly-48d44d15-ls320
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-48d44d15-ls320/index.html
LinuxServer Changes:
Full Changelog: nightly-4782acbf-ls319...nightly-48d44d15-ls320
Remote Changes:
Increment version to 2.13.0
2.12.0-ls342
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/2.12.0-ls342/index.html
LinuxServer Changes:
Full Changelog: 2.12.0-ls341...2.12.0-ls342
Remote Changes:
Updating PIP version of beets to 2.12.0
nightly-e2889d19-ls319
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-e2889d19-ls319/index.html
LinuxServer Changes:
No changes
Remote Changes:
Spotify: Improve 503 error handling (#6871)
Spotify currently crashes out on 503 errors.
spotify: Service Unavailable.
Traceback (most recent call last):
File "/home/arsaboo/.local/lib/python3.10/site-packages/beetsplug/spotify.py", line 244, in _handle_response
response.raise_for_status()
File "/home/arsaboo/.local/lib/python3.10/site-packages/requests/models.py", line 1167, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 503 Server Error: Service Unavailable for url: https://api.spotify.com/v1/tracks?ids=7ElISEDbwXtbB4xAvFRLqb%2C1DgdyYtZjfmBOxLuDLHXyH%2C0AeK8BB9Kk7qxyUgCfEwLO%2C6SJyEptZ7MiFJYe9FUbk7Q%2C5C9GZT725aQAdUT97hjaiO%2C0nGkSdNwjPh0tpqQU0FCCR%2C7EsWEd2s6hUUNw3I2QqKrn%2C3LfDSh8oDROFmebWrUq7De%2C036co96fRtoFd8n7pvklci%2C72sBOZVBWsfgKRWAF61jDA%2C3T6PwNpROC4WkWvrnqIcCJ%2C1USz6iqnhAnfHCcnjylrLa%2C7w6sxU9PQT8nJYzqGswOvM%2C4KeexCKGpjkBJS633QgxS2%2C0JuHzqHYYrauekCOUx4RrY%2C5cumiCqwlT9GAg2uktOZlg%2C2GbA6HFXqOGndhpPg42ifK%2C55nrl1ScrRDCv1ORLoEMlG%2C3YwLux5noWLxHhhE3OdIHS%2C1lCRbQsiWmNQUUSGYNvGT8
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/arsaboo/.local/bin/beet", line 6, in <module>
sys.exit(main())
File "/home/arsaboo/.local/lib/python3.10/site-packages/beets/ui/__init__.py", line 962, in main
_raw_main(args)
File "/home/arsaboo/.local/lib/python3.10/site-packages/beets/ui/__init__.py", line 903, in _raw_main
subcommand.func(lib, suboptions, subargs)
File "/home/arsaboo/.local/lib/python3.10/site-packages/beetsplug/spotify.py", line 570, in func
self._fetch_info(lib, items, ui.should_write(), opts.force_refetch)
File "/home/arsaboo/.local/lib/python3.10/site-packages/beetsplug/spotify.py", line 844, in _fetch_info
track_details_by_id = self.get_track_details_by_id(unique_track_ids)
File "/home/arsaboo/.local/lib/python3.10/site-packages/beetsplug/spotify.py", line 753, in get_track_details_by_id
track_data = self._handle_response(
File "/home/arsaboo/.local/lib/python3.10/site-packages/beetsplug/spotify.py", line 294, in _handle_response
raise APIError("Service Unavailable.")
beetsplug.spotify.APIError: Service Unavailable.This PR adds a retry mechanism that Spotify recommends for transient 503
errors.
To Do
- Changelog. (Add an entry to
docs/changelog.rstto the bottom of
one of the lists near the top of the document.)