Skip to content

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 30 Jun 17:28
176a6e3

Parachord Android 0.9.0

What's new

The big one, matching desktop: an all-new opt-in sync engine that makes playlists multi-master — edit on any service (or a shared playlist someone else owns) and your change round-trips everywhere, instead of one service always winning. It ships behind a preview-and-accept flow, so you see exactly what it would change before anything is written, and you can switch back anytime. Plus a deep batch of sync fixes that help everyone whether you opt in or not, a redesigned Sync settings screen, ISRC-based matching that keeps scrobbles and shares resolving even during a MusicBrainz outage, and clean handling of Spotify's new 6-month session expiry.

How to Install

Two options:

  1. Grab the APK directly from the latest release (below) and sideload it. Android 8.0+ (API 26) required.
  2. Join the Parachord-Testers Google Group and you’ll get automatic updates via Google Play Store as new builds go out.

New: try the new sync engine (opt-in)

Classic sync treats one service as the source of truth — edits elsewhere get overwritten. The new sync engine treats every copy of a playlist as equal: an edit on Spotify, Apple Music, ListenBrainz, or a collaborative playlist owned by someone else all merge together and propagate to your other services.

It's opt-in and cautious by design:

  • Settings → Sync → "Use new sync" → Preview. Parachord runs the new engine against your library without writing anything and shows you the exact diff — every track it would add or remove, per service.
  • Nothing changes until you tap Accept. If the preview looks wrong, there's a "Report a problem" button instead.
  • Reversible anytime with "Switch back to classic."
  • Per device. Each device opts in separately — if you also use Parachord on desktop, switch it too so they stay in lockstep (the preview reminds you).

Highlights it unlocks: collaborative playlists round-trip (your edits to a playlist someone shared with you push back to the original), and playlists you only follow stay mirror-only (read in, never re-created as your own).

Sync got more accurate and more reliable — for everyone

These land regardless of whether you opt into the new engine:

  • Stale mirror labels clean themselves up. If a playlist's "mirrored to Spotify / Apple Music" link points at a remote that was deleted on another device, that label is now dropped automatically — and your local playlist is kept untouched.
  • Apple Music matches by ISRC in your storefront, so you stop getting duplicate Apple Music entries for the same recording.
  • ListenBrainz sync is far gentler on MusicBrainz. Track-ID lookups are paced and bounded per cycle, and un-findable tracks are remembered instead of re-queried every time — no more MusicBrainz flood (or launch crash) on a big library. Large ListenBrainz playlists push reliably now (adds are chunked), and a previously-empty mirror re-fills instead of staying blank.
  • Apple Music sync, sturdier. When the Apple Music library token goes stale (the "only some playlists showed up" symptom), you get a clear Reconnect Apple Music prompt instead of silently-incomplete syncs.

Better track matching across the app, via ISRC

Parachord now captures the ISRC (the standard recording ID) from Spotify, your local files (ID3 TSRC), and Apple Music, and uses it where it matters — scrobbling and sharing resolve to the right recording more often, and keep working even when the MusicBrainz mapper is having an outage.

Spotify session expiry, handled cleanly

Spotify is introducing a 6-month limit on sign-ins (effective 2026-07-20). When your session expires, Parachord now cleanly detects it — telling a genuinely-dead grant apart from a temporary outage — clears the expired session, and prompts you to reconnect, instead of silently failing to sync or logging you out over a transient blip. Redundant token refreshes are also collapsed, so a burst of activity doesn't stampede Spotify's auth.

Redesigned Sync settings

Sync now has its own tab with unified provider cards and a status header showing what's connected and what's syncing at a glance. The per-provider "Configure what syncs" picker is unified across Spotify, Apple Music, and ListenBrainz, and stays in lockstep with the per-playlist controls. You can also now opt a ListenBrainz playlist into mirroring to Spotify / Apple Music (off by default).

More ways to import, and self-updating plugins

  • Import playlists from more sources. Playlist import is now resolver-driven — paste a link and whichever service handles it just works. New this release: SoundCloud playlists and Spotify editorial / algorithmic playlists (the ones that used to fail).
  • Plugins update themselves from the marketplace in the background, so fixes and new services arrive without an app update.

Smaller fixes

  • Disable a resolver without disconnecting the account (e.g. stop Spotify from resolving tracks while keeping it connected for metadata).
  • Edit local-file tags (title / artist / album) with a built-in editor, plus artwork loading skeletons.
  • Weekly playlist header polish ("Weekly Jam" reads singular).

Full changelog: v0.8.3...v0.9.0