github aquantumofdonuts/mixarr v3.0.0

2 hours ago

Mixarr v3.0.0

Mixarr 3.0.0 brings a compact music catalog and Collaboration Constellation to production.

Highlights

  • Artwork rows across Discovery, Search, Library, Subscriptions, Queue, Connections, and Settings. A shared artist inspector keeps identity, library membership, provenance, and releases together without losing list context.
  • Collaboration Constellation explores credited musicians, producers, songwriters, and engineers. Follow paths, filter roles, preview tracks, and request individual albums or artists in Lidarr. The graph retains its 300-person cap; live Discogs is the default, with an optional local dump index.
  • Acquisition feedback distinguishes newly added, already present, failed, uncertain, and identity-required outcomes. Review decisions have revision-bound Undo, ownership checks, and stable queue cursors.
  • Refreshed settings, connection feedback, responsive layouts, dialogs, keyboard focus, branding, screenshots, and website.

Fixes and upgrade reliability

  • Saved slskd connections now have a working Test action (#66).
  • Manual slskd searches use a 30-second default accepted by Mixarr, with seconds converted to milliseconds at the slskd boundary (#88). The timeout is an API option; this release does not add a persistent UI setting for it.
  • The slim image works through its bundled frontend proxy without an API_URL override; setup/login over plain HTTP preserves authentication (#60).
  • Released v2.0, v2.1–v2.2, and v2.3 schemas upgrade directly. Checked enum expansions preserve historical values, and constellation tables are added without removing existing records or unmanaged tables.
  • Startup waits for database/Redis readiness and restored schedules before queue workers and HTTP requests resume. Failed migrations and unsupported schema drift stop safely.
  • Both published image variants have automated upgrade, restart, drift-rejection, frontend-proxy, and fresh-install checks. Publication requires tested production code and matching version metadata.

Upgrading

Back up the database and persistent data first. Keep the same volumes, connection configuration, and SESSION_SECRET. Upgrade the bundled web/API together using ghcr.io/aquantumofdonuts/mixarr:v3.0.0 or :v3.0.0-slim and your existing deployment configuration. Containers verify the schema and apply checked migrations automatically; no data reset or intermediate v2 release is required.

Source deployments run npm ci, npm run db:generate, and npm run db:deploy --workspace=@mixarr/api before starting the API. Run migrations once before starting multiple replicas. If the schema guard stops startup, inspect the error and backup; do not reset the database or force acceptance of data loss.

Rollback requires restoring the pre-upgrade database/data backup. An in-place downgrade to v2.3.5 can remove newly created tables through its old schema-sync path.

Breaking API changes

  • Review decisions accept approved or rejected; restore an eligible rejection through its Undo token instead of setting pending directly.
  • Bulk review requests accept at most 100 IDs. Responses provide per-record outcomes and separate counts; HTTP 200 does not confirm that every item was added. The old failedItems shape is removed.
  • Label pagination uses releasesProcessed, totalReleases, and nextReleaseOffset; advance by release offset rather than artist count.

Verification and limits

The final candidate is checked with application tests, type checks, builds, CodeQL, browser smoke tests, real MySQL migration regressions, and both Docker variants' upgrade rehearsals. Published images are verified separately before the release is announced.

Live provider verification remains deferred under C137. TIDAL endpoint compatibility (#81), Jellyfin authentication compatibility (#87), and other integration/security findings remain tracked in the issue tracker and docs/ISSUES.md; this release does not claim they are resolved. Album-selection and subscription-reporting requests with remaining requirements stay open.

Full changelog · Upgrade guide

Don't miss a new mixarr release

NewReleases is sending notifications on new releases.