129 Commits

Author SHA1 Message Date
Šarūnas Nejus
4acbb0f913 Add dependency extra for tidal 2026-05-14 14:54:40 +01:00
snejus
26ab6b2636 Increment version to 2.11.0 2026-05-06 10:05:13 +00:00
snejus
5f6b2d35d1 Increment version to 2.10.0 2026-04-19 19:09:57 +00:00
Šarūnas Nejus
e2e8e80ee7 Fix coverage measurement
I found that beetsplug/musicbrainz.py does not appear under https://app.codecov.io/gh/beetbox/beets/tree/master/beetsplug.

Setting coverage source as repo root should fix this.
2026-04-19 15:12:04 +01:00
Šarūnas Nejus
9b7e486930 Simplify aliases parsing 2026-04-18 17:31:48 +01:00
Elaine Chen
2aeb57a20e Bump mediafile to >=0.16.2 2026-04-18 15:40:14 +01:00
Elaine Chen
623eb04d60 Add remux_mp3_in_wav config option and updated mediafile to >=0.16.1 2026-04-14 08:52:26 -04:00
snejus
018dba08cd Increment version to 2.9.0 2026-04-11 11:55:59 +00:00
Šarūnas Nejus
3967774630 Pin sphinx<9 2026-04-11 12:39:03 +01:00
Sebastian Mohr
0318790e16 Updated pyacoustid 2026-04-11 11:18:43 +01:00
Sebastian Mohr
86e058207d Added proper bounds for the officially supported python version (<3.15).
Adjusted numpy&numba versions to support 3.14.
2026-04-11 11:18:43 +01:00
Sebastian Mohr
7efc6f4834 Run tests in python 3.14 and added classifier for python 3.14 2026-04-11 11:18:43 +01:00
Šarūnas Nejus
8cfdd7a3ae Update mediafile
This update ensures that the remixers field is written to files.
2026-04-05 09:15:23 +01:00
snejus
c3482c68f6 Increment version to 2.8.0 2026-03-28 13:09:59 +00:00
Šarūnas Nejus
756d5c9921 Move diff utils to beets/util/diff.py 2026-03-14 11:58:04 +00:00
snejus
13665a5a55 Increment version to 2.7.1 2026-03-08 08:30:00 +00:00
Šarūnas Nejus
a8b34d2976 Pin docstrfmt>=2.0.2 and add --preserve-adornments flag 2026-03-08 08:19:55 +00:00
snejus
156870419e Increment version to 2.7.0 2026-03-07 21:16:10 +00:00
snejus
13e978ca0e Increment version to 2.6.2 2026-02-22 16:04:40 +00:00
Šarūnas Nejus
15755c1ff9 Update confuse 2026-02-16 12:45:05 +00:00
Šarūnas Nejus
e4314b700f Add rst inline-literal check to lint-docs task
Fail the docs lint task when single-backtick inline literals are used.

This is required because `pandoc` converts:

  `$playlist` -> <span class="title-ref">\$playlist</span>

Where this `span` element has no meaning in markdown context, and
`$playlist` loses its formatting. On the other hand, double backticks
are converted appropriately:

  ``$playlist`` -> `$playlist`
2026-02-08 07:28:09 +00:00
snejus
cdfb813910 Increment version to 2.6.1 2026-02-02 02:29:04 +00:00
Šarūnas Nejus
b6230a84fc Make packaging a required dependency 2026-02-02 02:16:36 +00:00
snejus
680473b9e5 Increment version to 2.6.0 2026-02-01 14:42:50 +00:00
Šarūnas Nejus
c52656fb0a Enable RUF rules 2026-01-13 20:55:40 +00:00
Šarūnas Nejus
078ffc1c57 Configure ruff for py310 2026-01-13 20:55:40 +00:00
Šarūnas Nejus
b964d8b7eb Configure future-annotations 2026-01-13 20:55:40 +00:00
Šarūnas Nejus
d4b00ab4f4 Add request handler utils to the docs 2026-01-06 09:54:02 +00:00
Šarūnas Nejus
92352574aa Migrate mbcollection to use MusicBrainzAPI 2026-01-06 09:54:02 +00:00
Šarūnas Nejus
9349ad7551 Migrate missing to use MusicBrainzAPI 2026-01-06 00:51:50 +00:00
Šarūnas Nejus
a33371b6ef Migrate parentwork to use MusicBrainzAPI 2026-01-06 00:27:36 +00:00
Šarūnas Nejus
36964e433e Migrate listenbrainz plugin to use our MusicBrainzAPI implementation 2026-01-06 00:27:36 +00:00
Trey Turner
714c9705c3 Merge branch 'master' into feat/ftintitle/insert_featured_artist_before_variant_clauses 2026-01-01 15:40:37 -06:00
Trey Turner
b14755df88 fix(ftintitle): remaining opportunities for improvement 2026-01-01 15:39:17 -06:00
Alexandre Detiste
c1e36e52a8 drop extraneous dependency on old external "mock" 2026-01-01 01:49:17 +01:00
Šarūnas Nejus
75baec611a Improve and simplify show_model_changes 2025-12-27 14:30:35 +00:00
Šarūnas Nejus
041d4b8036 Make musicbrainzngs dependency optional and requests required 2025-12-20 01:35:52 +00:00
Šarūnas Nejus
a866347345 Define MusicBrainzAPI class with rate limiting 2025-12-20 01:35:51 +00:00
henry
b902352139 New Plugin: Titlecase (#6133)
This plugin aims to address the shortcomings of the %title function, as
brought up in issues #152, #3298 and an initial look to improvement with
#3411. It supplies a new string format command, `%titlecase` which
doesn't interfere with any prior expected behavior of the `%title`
format command.

It also adds the ability to apply titlecase logic to metadata fields
that a user selects, which is useful if you, like me, are looking for
stylistic consistency and the minor stylistic differences between
Musizbrainz, Discogs, Deezer etc, with title case are slightly
infuriating.

This will add an optional dependency of
[titlecase](https://pypi.org/project/titlecase/), which allows the
titlecase core logic to be externally maintained.

If there's not enough draw to have this as a core plugin, I can also
spin this into an independent one, but it seemed like a recurring theme
that the %title string format didn't really behave as expected, and I
wanted my metadata to match too.

- [x] Documentation. (If you've added a new command-line flag, for
example, find the appropriate page under `docs/` to describe it.)
- [x] Changelog. (Add an entry to `docs/changelog.rst` to the bottom of
one of the lists near the top of the document.)
- [x] Tests. - Not 100% coverage, but didn't see a lot of other plugins
with testing for import stages.
2025-11-23 10:34:05 -08:00
Šarūnas Nejus
bef249e616 Fix format-docs command 2025-11-11 04:03:52 +00:00
Šarūnas Nejus
881549e83c Enable all pyupgrade lint rules 2025-11-08 12:09:52 +00:00
Šarūnas Nejus
a7830bebae Update python requirement and dependencies 2025-11-08 11:55:20 +00:00
Šarūnas Nejus
cbd74b3167 Update confuse 2025-10-28 10:26:35 +00:00
Šarūnas Nejus
e76665bcfb Do not support 3.14 for now, until we drop 3.9 in a couple of days 2025-10-28 10:26:34 +00:00
Šarūnas Nejus
3eb68ef830 Use cross-platform shutil.get_terminal_size to get term_width
This fixes Python 3.14 incompatibility.
2025-10-27 08:23:37 +00:00
Šarūnas Nejus
1ea3879aae Upgrade librosa and audioread 2025-10-27 08:23:37 +00:00
Šarūnas Nejus
a938449b29 Add Sphinx extension for configuration value documentation
Create a custom Sphinx extension to document configuration values with
a simplified syntax. It is based on the `confval` but takes less space
when rendered. The extension provides:

- A `conf` directive for documenting individual configuration values
  with optional type and default parameters
- A `conf` role for cross-referencing configuration values
- Automatic formatting of default values in the signature
- A custom domain that handles indexing and cross-references

For example, if we have

.. conf:: search_limit
    :default: 5

We refer to this configuration option with :conf:`plugins.discogs:search_limit`.

The extension is loaded by adding the docs/extensions directory to the
Python path and registering it in the Sphinx extensions list.
2025-10-19 01:34:32 +01:00
snejus
c1877b7cf5 Increment version to 2.5.1 2025-10-14 22:51:15 +00:00
Šarūnas Nejus
61cbc39c4a Revert "Add git commit suffix to __version__ for development installs (#5967)" 2025-10-14 23:39:27 +01:00
Šarūnas Nejus
efe1a67e84 Revert "Fix dynamic versioning plugin not correctly installed in workflow (#6094)"
This reverts commit dc9b498ee8, reversing
changes made to 77842b72d7.
2025-10-14 23:38:01 +01:00