Skip to content

Releases: marthofdoom/harmony

1.0.5 — a real music player everywhere (pre-release)

Choose a tag to compare

@marthofdoom marthofdoom released this 25 Sep 22:15

Pre-release for personal testing (public releases remain on hold pending persistent auth).

Music player, on desktop, web and Android

  • Play an album, playlist or artist and the whole list becomes the queue — Play / Shuffle buttons, or double-click / tap a row to play from it.
  • Play Next / Add to Queue everywhere; Now Playing shows the full queue with jump, reorder, remove, Clear, and add-queue-to-playlist.
  • Shuffle / repeat, Previous restarts after 3s, failed tracks are skipped, the queue survives a restart.

Federation: one queue per device, owned next to the device

  • The Harmony instance that can reach a speaker/TV now runs that device's queue and auto-advances it — casting keeps going with your phone or browser closed (Chromecast's frozen position is covered by a play clock).
  • A peer's device ("via") gets the whole queue handed to that peer. Desktop, web and phone all see and control the same queue.
  • Switching output moves the queue and position.

Per surface

  • Desktop: MPRIS (media keys, GNOME/KDE media controls, lock screen), Ctrl+Space/←/→ shortcuts, click the bar for Now Playing, peers' devices in the output picker.
  • Web: Media Session, ⋯ menus for touch, keyboard shortcuts, queue survives reload.
  • Android: background playback (notification, lock screen, Bluetooth keys), mini player, device volume/seek. Fixes consecutive-track playback.

Accounts: syncing now updates the connection status immediately and reports what synced / was kept / didn't work here (and rolls back logins that don't work on this device).

Verified: 728 tests; real GTK + GStreamer run (also inside the installed Flatpak); MPRIS over D-Bus; web in headless Chromium (desktop + phone width); Android on an API 34 emulator (album auto-advance, background, media keys, restore). Not yet verified on a real WiiM, Chromecast or phone.

Harmony 1.0.4 (pre-release) — cross-device account sync

Choose a tag to compare

@marthofdoom marthofdoom released this 15 Sep 21:58

Pre-release test build. Sync your streaming logins between devices.

  • Desktop (Preferences → Accounts → "Sync from another instance") and Android (Sync tab → "Sync accounts from a server") can now pull the accounts held by another Harmony instance — e.g. your always-on server. Web already had this.
  • Syncing only copies connections that actually work on the source, and never overwrites a login that's already working on the device you're syncing to.
  • Requires the same personal key set on both instances.

Install: flatpak install --user Harmony-1.0.4.flatpak · sideload Harmony-1.0.4.apk · sudo dpkg -i harmony-server_1.0.4_all.deb

Still a pre-release — public-stable 1.0 stays reserved pending the persistent-auth work.

🤖 Generated with Claude Code

Harmony 1.0.3 (pre-release) — play queue + Lidarr

Choose a tag to compare

@marthofdoom marthofdoom released this 15 Sep 21:29

Pre-release test build. Playback now uses a proper active play queue.

  • Playing an album/playlist loads it as the queue and keeps playing while you browse elsewhere — the next song no longer comes from the page you're on.
  • The phone app now plays consecutive songs (was stopping after one).
  • Add to Queue / Play Next on songs, albums, artists, playlists; shuffle / repeat / reorder + tap-to-jump on the Now Playing view.
  • Lidarr "Get with Lidarr" on the web/server client (right-click an album/artist → Lidarr acquires it).

Install: flatpak install --user Harmony-1.0.3.flatpak · sideload Harmony-1.0.3.apk · sudo dpkg -i harmony-server_1.0.3_all.deb

Still a pre-release — public-stable 1.0 stays reserved pending the persistent-auth work.

🤖 Generated with Claude Code

Harmony 1.0.2 (pre-release) — Now Playing parity + cast progress

Choose a tag to compare

@marthofdoom marthofdoom released this 08 Sep 18:49
3d5f46f

Pre-release. Now Playing is consistent across desktop, web, and phone, and the cast progress bar is fixed.

  • Now Playing view on web + Android to match the desktop: large cover art beside the whole playing playlist/album, current track lit, tap/click to jump.
  • Stop button on the web player too.
  • Chromecast progress bar now advances on desktop and web (driven from the track length while the device streams the relay).

Install: flatpak install --user Harmony-1.0.2.flatpak · sideload Harmony-1.0.2.apk · sudo dpkg -i harmony-server_1.0.2_all.deb

Still a pre-release — the cast-progress fix wants a real Chromecast to confirm.

🤖 Generated with Claude Code

Harmony 1.0.1 (pre-release) — playback polish

Choose a tag to compare

@marthofdoom marthofdoom released this 02 Sep 20:26
edd71d5

A pre-release stabilizing 1.0 after hands-on testing — kept as a pre-release, not billed as finished-stable.

  • Now Playing view — the whole playing playlist/album beside large cover art; double-click a track to play from there.
  • Stop button in the Now Playing bar; double-click a track plays on this device.
  • Skip no longer occasionally jumps two tracks.
  • Chromecast now shows a moving progress bar and a working volume slider.

Install: flatpak install --user Harmony-1.0.1.flatpak · sideload Harmony-1.0.1.apk · sudo dpkg -i harmony-server_1.0.1_all.deb

🤖 Generated with Claude Code

Harmony 1.0.0 — Browse the music

Pre-release

Choose a tag to compare

@marthofdoom marthofdoom released this 02 Sep 18:19
a3d72b2

Harmony 1.0.0 turns search into browsing: every artist, album, and track now has its own page, on the desktop app, the web/PWA client, and Android.

Highlights

  • Artist pages — a short Wikipedia bio, a chronological discography, and for a band a Wikipedia-style member-chronology chart (each member's tenure across a year axis, with album markers you can click).
  • Album pages — the full track listing with a navigable artist.
  • Track pages — the performers who played on the recording (not the songwriters), where MusicBrainz has them; it degrades to the credited artists otherwise.
  • Smarter search — searching an artist leads with their albums in release order. Searching a person — say a band's former singer — shows the albums they actually performed on: the band's records only during their time in it, not the ones before they joined or after they left. Album matches are chronological; track matches stay by popularity.
  • Navigate everywhere — click an artist or album name, right-click a row for “Go to artist/album”, and double-click a track to play it on the active device.

Under the hood, a MusicBrainz + Wikipedia metadata layer is built once in the engine and shared by every client.

Install

  • Desktop (Flatpak): flatpak install --user Harmony-1.0.0.flatpak
  • Android: sideload Harmony-1.0.0.apk
  • Server (Debian/Ubuntu): sudo dpkg -i harmony-server_1.0.0_all.deb

🤖 Generated with Claude Code

Harmony 0.7.27 — credential-copy hardening

Choose a tag to compare

@marthofdoom marthofdoom released this 02 Sep 03:26
76efd0d

Hardened credential sharing between instances so a copied YouTube login can't leave a peer labelled "signed in" against a dead token (the state that showed as authenticated-but-no-playlists). The auth type is now validated against the real token on both export and import, and a superseded auth file is cleaned up.

Artifacts

  • harmony-server_0.7.27_all.deb
  • Harmony-0.7.27.flatpak
  • Harmony-0.7.27.apk

Harmony 0.7.26 — Discover page redesign

Choose a tag to compare

@marthofdoom marthofdoom released this 01 Sep 21:21
125494a

The Discover page has been rebuilt to match the rest of the app — proper Adw.PreferencesGroups, combo/spin rows, and status pages in a tidy centered column, replacing the old raw-box layout with colon-labels and a legend. Recommendations and the AI playlist builder now read consistently, with clearer empty states and copy.

Artifacts

  • harmony-server_0.7.26_all.deb
  • Harmony-0.7.26.flatpak
  • Harmony-0.7.26.apk

Harmony 0.7.25 — single active stream

Pre-release

Choose a tag to compare

@marthofdoom marthofdoom released this 01 Sep 21:07
e5dfe05

One active stream per instance, done right:

  • Choosing a device in the Now Playing bar moves the whole playing queue to it — stopping the old device — instead of leaving audio behind or starting a second stream. It resumes from the current track, order preserved.
  • Starting playback anywhere stops any other active device (single stream).
  • The Devices page reflects whatever's playing the moment you open it, no need to touch the controls first.

Artifacts

  • harmony-server_0.7.25_all.deb
  • Harmony-0.7.25.flatpak
  • Harmony-0.7.25.apk

Harmony 0.7.24 — cast metadata

Pre-release

Choose a tag to compare

@marthofdoom marthofdoom released this 01 Sep 20:54
cb405c4

Casting to a Chromecast / Google TV now sends the full track details — title, artist, album, and cover art — so the device's on-screen player shows what's playing instead of just streaming audio. (Both the desktop and web cast paths.)

Artifacts

  • harmony-server_0.7.24_all.deb
  • Harmony-0.7.24.flatpak
  • Harmony-0.7.24.apk