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_URLoverride; 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
approvedorrejected; restore an eligible rejection through its Undo token instead of settingpendingdirectly. - Bulk review requests accept at most 100 IDs. Responses provide per-record
outcomesand separate counts; HTTP 200 does not confirm that every item was added. The oldfailedItemsshape is removed. - Label pagination uses
releasesProcessed,totalReleases, andnextReleaseOffset; 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.