Commit Graph

4386 Commits

Author SHA1 Message Date
Blake Hakkila
6080faf5dc Merge branch 'master' into rest-directory-config 2026-06-17 16:07:18 -07:00
Alok Saboo
dc7ecba8d8 Update changelog 2026-06-17 14:41:31 -04:00
Alok Saboo
725fac6a55 Update migration instructions 2026-06-17 14:28:16 -04:00
Alok Saboo
c169d0d70c Merge branch 'master' into tidal 2026-06-17 12:09:28 -04:00
Alok Saboo
ddb364e5c0 lint issues 2026-06-17 11:15:17 -04:00
Šarūnas Nejus
b0965c88ae Add a note to the changelog 2026-06-17 16:14:35 +01:00
Alok Saboo
dcd54146d8 address reviewer comments 2026-06-17 09:45:02 -04:00
Davy
26951d98e0 fix: move homebrew link ref to alphabetical order 2026-06-16 12:25:27 -07:00
Davy
370232712e docs: add Homebrew to package manager installation list
Add Homebrew (brew install beets) to the OS package manager list in the
installation guide, alongside the existing MacPorts entry.

The beets formula was recently added to homebrew-core.
2026-06-16 12:17:17 -07:00
Alok Saboo
7fdc0ee5ed clarify item vs album level flexattrs in changelog 2026-06-16 12:01:44 -04:00
Alok Saboo
a7f569b567 updated changelog to add migration instructions 2026-06-16 11:27:55 -04:00
Blake Hakkila
478ac8cb63 lyrics: add rest_directory configuration option 2026-06-15 22:48:00 -07:00
Alok Saboo
2f434b2b93 address reviewer comments 2026-06-15 09:45:35 -04:00
Alok Saboo
98681406af tidal: add flexattrs and tidalsync command
- Add item_types ClassVar with tidal_track_id, tidal_album_id,
  tidal_artist_id, tidal_track_popularity, tidal_alb_popularity,
  tidal_updated fields
- Populate flexattrs during album/track import via AlbumInfo/TrackInfo
  kwargs
- Add beet tidalsync command to refresh popularity data post-import
- Add tidal fields to REIMPORT_FRESH_FIELDS_ITEM for reimport support
- Add tests for flexattr population and tidalsync behavior
- Update tidal plugin docs with attribute reference and tidalsync usage
2026-06-14 13:44:16 -04:00
Šarūnas Nejus
0edda6df26 Fix links 2026-06-13 01:46:44 +01:00
Alok Saboo
68ed8924ef TimeoutAndRetrySession: fold in RateLimitAdapter and 429 retry 2026-06-12 09:43:23 -04:00
Alok Saboo
49c415a302 lyrics: add rate limiting and exponential backoff to prevent 429 errors
Add a LyricsSession class that mounts RateLimitAdapter (4 req/sec)
and configures urllib3 Retry with exponential backoff on 429
responses. Each backend instance gets its own session so rate
limits apply independently per API source.

Fixes #6728
2026-06-10 21:24:31 -04:00
Aidan Epstein
db4f30b230 Cast keys to list to avoid exception in optparse
In #6695, the Item and Album all_keys methods return sets now. This
causes an error when used in optparse for choices as it doesn't accept
sets:
Traceback (most recent call last):
  File "/home/user/.local/bin/beet", line 10, in <module>
    sys.exit(main())
             ~~~~^^
  File "/home/user/.local/lib/beets/beets/ui/__init__.py", line 964, in main
    _raw_main(args)
    ~~~~~~~~~^^^^^^
  File "/home/user/.local/lib/beets/beets/ui/__init__.py", line 940, in _raw_main
    subcommands, lib = _setup(options)
                       ~~~~~~^^^^^^^^^
  File "/home/user/.local/lib/beets/beets/ui/__init__.py", line 781, in _setup
    subcommands.extend(plugins.commands())
                       ~~~~~~~~~~~~~~~~^^
  File "/home/user/.local/lib/beets/beets/plugins.py", line 508, in commands
    out += plugin.commands()
           ~~~~~~~~~~~~~~~^^
  File "/home/user/.local/lib/beets/beetsplug/fish.py", line 80, in commands
    cmd.parser.add_option(
    ~~~~~~~~~~~~~~~~~~~~~^
        "-e",
        ^^^^^
    ...<4 lines>...
        help="include specified field *values* in completions",
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3.14/optparse.py", line 990, in add_option
    option = self.option_class(*args, **kwargs)
  File "/usr/lib/python3.14/optparse.py", line 571, in __init__
    checker(self)
    ~~~~~~~^^^^^^
  File "/usr/lib/python3.14/optparse.py", line 658, in _check_choice
    raise OptionError(
        "choices must be a list of strings ('%s' supplied)"
        % str(type(self.choices)).split("'")[1], self)
optparse.OptionError: option -e/--extravalues: choices must be a list of strings ('set' supplied)
2026-06-11 01:03:13 +01:00
Tsuizxgo
1d0a7ae6df Merge latest master into replace callback fix 2026-06-09 16:12:26 +08:00
Zixuan Cui
351e49c43f Merge branch 'master' into fix-replace-command-signature 2026-06-09 15:25:18 +08:00
Zixuan Cui
42d3fe0038 Merge branch 'master' into fix-mpdstats-cli-host 2026-06-09 15:24:12 +08:00
Šarūnas Nejus
648f24cbc2 Enable and fix flake8-builtins 2026-06-09 00:14:06 +01:00
Alok Saboo
44295a4ca7 Merge branch 'master' into move 2026-06-08 12:59:48 -04:00
Tommy Schnabel-Jones
b9011480f4 Addressed PR comments 2026-06-08 11:56:03 -04:00
Tommy Schnabel-Jones
cf0d8942fc Moved changelog entry to current release 2026-06-08 11:16:40 -04:00
Tommy Schnabel-Jones
97d593de84 Fix format 2026-06-08 11:16:40 -04:00
Tommy Schnabel-Jones
6ccd1e6db2 Reformat badfiles.rst 2026-06-08 11:16:40 -04:00
Tommy Schnabel-Jones
7cf79e0585 Fixed doc grammar; added error precedence comment 2026-06-08 11:16:40 -04:00
Tommy Schnabel-Jones
a871e9309e badfiles: added config options to automatically take action on error/warning 2026-06-08 11:16:40 -04:00
Alok Saboo
faa7deaf5d Enhance move command to handle missing files gracefully 2026-06-08 09:51:38 -04:00
culpen0
c2c90168f5 Add titlecase docs changelog note 2026-06-06 18:58:09 -04:00
culpen0
fb7a940ea3 Fix titlecase template documentation 2026-06-06 09:36:14 -04:00
mksib
6f3a9a58c4 Update changelog.rst 2026-06-06 03:51:04 +01:00
Šarūnas Nejus
e36922a46e Tidy convert playlist help text
- Reformat the playlist option help to avoid awkward indentation while preserving
  the existing wording.
2026-06-04 11:41:54 +01:00
Šarūnas Nejus
fb9de7a619 lyrics: fix musica parsing 2026-06-03 15:42:19 +01:00
Šarūnas Nejus
29580d2f00 Import everything from parent beets.autotag 2026-06-02 08:57:35 +01:00
Tsuizxgo
d06774b14d Fix replace command callback signature 2026-06-02 00:02:10 +08:00
Tsuizxgo
cf7c5e4eb2 Fix mpdstats CLI option overrides 2026-06-01 23:57:07 +08:00
Alok Saboo
4b554e9697 Batch SQLite commits and follow write-before-store pattern 2026-06-01 10:46:57 +02:00
Šarūnas Nejus
893df40534 Merge branch 'master' into fix/fetchart-permission-error-graceful 2026-05-29 17:33:13 +01:00
David Logie
9c51b5c109 PR feedback. 2026-05-29 17:25:00 +01:00
David Logie
785f8b7a5c Make aliases-as-credits functionality opt-in.
This feature was introduced in 2.10 but results a lot of data being
overwritten with (potentially) incorrect data the next time a user runs
`mbsync` over their library.

To make this less of a "breaking" change, make this feature opt-in. The
users who want this large change can enable the functionality.
2026-05-29 17:25:00 +01:00
terminalchai
3aa44c5039 fetchart: add test and changelog for OSError handling in _set_art 2026-05-29 16:49:17 +01:00
Martin Caspersen
bbf786da92 Merge branch 'master' into fix/browse-recordings-missing-aliases 2026-05-29 16:52:41 +02:00
benstev1
272d38ae0b Merge branch 'master' into feat/sylt-synchronized-lyrics 2026-05-27 14:33:45 -04:00
Benjamin Stevenson
ce9f1ee315 merge: add ListenBrainz changelog entry from master 2026-05-27 14:33:04 -04:00
Martin Caspersen
3432563ec4 doc(changelog): add entry for browse_recordings aliases fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 14:30:29 +02:00
Šarūnas Nejus
a0a88b5301 Handle BeetsHTTPError in mbcollection graciously 2026-05-24 15:00:25 +01:00
Maxr1998
53d90df61e Add changelog 2026-05-24 01:33:00 +01:00
Maxr1998
3126957ea9 Fix code review comments 2026-05-24 01:33:00 +01:00