Skip to content

v1.25.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 05:47
Immutable release. Only release title and notes can be modified.
v1.25.0
bc58588

canticle v1.25.0

Highlights

Two serve-mode reliability changes, both aimed at the deferred backlog.

The Musixmatch token now bootstraps and renews itself. Serve mode mints a token when no tier supplies one, persists it to the encrypted secret store, and reuses it across restarts, so a fresh deployment no longer needs a hand-provisioned token. Renewal happens only on the provider's explicit renew signal, never on a bare 401 - a bare 401 is throttling, and renewing on it would burn rate-limited mints during exactly the window they are most likely to be refused. A restart never re-mints. (#554)

Serve mode now sends the same match signals the CLI does. The work queue persists neither duration nor ISRC, so serve-mode fetches were issuing a broader query than fetch for the same track. The worker now re-reads both from the file's tags at fetch time, reaching parity by construction rather than by agreement. Duration is present on effectively every track and ISRC on roughly two in five, so most fetches gain at least one disambiguator. (#584)

What's changed

New

  • Automatic Musixmatch API token bootstrap, persistence and renewal (#554)

Bug fixes

  • Worker re-reads ISRC and duration from tags at fetch time, so serve mode matches the CLI's query (#584)

Maintenance

  • Shared open + tag-read helper behind the three scanner single-file readers (#590)
  • Release-notes section grouping declared in the release config (#596)
  • Removed the manual Musixmatch token-extraction instructions, now that serve mode provisions a token automatically (#597)
  • Documented that the memory MCP must be queried, since spawned subagents never receive its index (#594)

Docker: docker pull ghcr.io/sydlexius/canticle:1.25.0

Full changelog: v1.24.1...v1.25.0