Releases: infomiho/cadence
Release list
v0.5.1
- New app identity. Cadence now runs as
dev.twoducks.cadence, the Two Ducks identifier, in its bundle, keychain entry and data folder. The first launch after updating shows the sign-in screen: enter your client ID and log in again, and the library downloads fresh. The previouscom.Cadence.Cadencefolders and thecom.cadence.spotifykeychain item are left untouched and can be deleted.
The crate is now named cadence, so the built binary and the library imports carry the app's name. The development run script stamps the version into its bundle and signs with the Developer ID identity when one is present, so dev builds and releases share the keychain's trust.
Download the .dmg, open it, and drag Cadence to Applications. The checksum file next to it verifies the download with shasum -a 256 -c.
Full Changelog: v0.5.0...v0.5.1
v0.5.0
What's new
- Signed and notarized builds. Cadence is now signed with a Developer ID certificate and notarized by Apple, and ships as a
.dmgwith a drag-to-Applications window. It opens on first launch like any other Mac app. - New icon set. Interface icons moved from SF Symbols to a bundled Solar set, with filled variants for selected and active states, so they look the same on every macOS version.
Under the hood
The UI now builds on the published GPUI Kit 0.6 release instead of a pinned Zed checkout, which removes the git dependencies and the toolchain coupling that came with them. Icons are SVG assets rendered through GPUI's own vector path, tinted by the surrounding text colour, and the app's asset source falls back to the kit's bundle for the components' own glyphs.
Full Changelog: v0.4.3...v0.5.0
v0.4.3
Startup performance
- Interactive immediately. Cadence now opens on your library as it was at the last launch, before it talks to Spotify at all. The "Connecting to Spotify…" screen no longer appears on a normal launch. On a warm launch the window is usable in about a tenth of a second instead of waiting several seconds for the library to download.
- Playlists are cached too. The sidebar and Playlists page paint from disk alongside Liked Songs.
- Cheaper refresh at launch. Instead of re-downloading every liked track and playlist on every launch, Cadence checks two first-page requests against what it has. When nothing changed, that is all it does; when something did, it refreshes in the background while you keep browsing. Liked Songs shows "refreshing…" until the check answers.
- Play works right away. Pressing Play before the playback session has finished connecting now starts the track as soon as it connects, instead of failing.
Under the hood
The library cache moved to schema version 5: playlists and a change-detection fingerprint are stored beside liked tracks in one transaction. Startup milestones are logged at info level with millisecond timestamps, so launch timing can be measured with RUST_LOG=info,rspotify_http=info.
Installing
The build is ad-hoc signed and not notarized, so on first launch use Open from the app's context menu.
Full Changelog: v0.4.2...v0.4.3
v0.4.2
What’s new
- Player-bar mascots. Choose Vespa Romeo, Vespa Duo or Tarantella Dancer in Settings → Playback. Each pixel-art companion travels with the current track and changes its animation as the song advances.
Installing
The build is ad-hoc signed and not notarized, so on first launch use Open from the app’s context menu.
Full Changelog: v0.4.1...v0.4.2
v0.4.1
Fixes
- Audio no longer crashes when macOS changes the default output device.
- Connecting AirPods or another audio device while music is playing now switches output automatically instead of pausing until Play is pressed again.
- Playback recovers from short-lived audio device failures and fills underruns with silence instead of blocking the audio callback.
Under the hood
Cadence now uses CPAL with a bounded lock-free queue and explicit sample-rate conversion instead of bundled SDL audio. The new output path supports mono, stereo and multichannel devices while keeping recovery and conversion isolated from the rest of playback.
Installing
The build is ad-hoc signed and not notarized, so on first launch use Open from the app's context menu.
Full Changelog: v0.4.0...v0.4.1
v0.4.0
What's new
- Autoplay. When the queue runs out, Cadence keeps the music going with similar songs. The continuation is fetched while the last track is still playing, so there is no gap. Toggle it in Settings → Playback.
- Library refreshes instantly. Switching back to Cadence now checks for changes with two small requests instead of refetching your whole library, so tracks you liked on your phone appear right away without tripping Spotify's rate limits.
- Rate-limit aware. When Spotify asks Cadence to slow down, it now backs off for exactly as long as Spotify asks and picks up again on its own, instead of failing quietly.
Fixes
- Play works again after the last song in the queue finishes: the seeker rewinds to the start, and seeking before pressing Play starts the song from that spot.
- Skipping forward on the last track now actually stops the audio instead of leaving it playing behind a stopped UI.
- Track radio starts faster and no longer gives up entirely when a single track lookup fails.
- Album artwork draws with correct corner rounding and aspect ratio, and icons render sharper.
- Lower battery drain while Cadence plays in the background.
Under the hood
Cadence now builds against the latest GPUI from Zed's main branch alongside gpui-component's main, on Rust 1.97. The macOS traffic lights are positioned by Cadence itself rather than measured from OS defaults.
Installing
The build is ad-hoc signed and not notarized, so on first launch use Open from the app's context menu.
Full Changelog: v0.3.0...v0.4.0
v0.3.0
What's new
- Background playback. Closing the window no longer stops the music. Reopen it from the Dock or by launching Cadence again.
- Media keys and Control Center. Play, pause, next and previous from the keyboard, with track info, artwork and a working scrubber in Control Center and on the lock screen.
- Library stays current. Liked songs and playlists refresh when you switch back to Cadence, so tracks you liked elsewhere show up.
- App menu. Cadence now has a proper menu bar, including Quit and working Cut/Copy/Paste.
Fixes
- Long track titles are truncated instead of running into the Album column.
- The playback position saved on quit is no longer lost to a shutdown race.
- Artist and album pages refetch correctly after the machine has been asleep.
Installing
The build is ad-hoc signed and not notarized, so on first launch use Open from the app's context menu.
Full Changelog: v0.2.0...v0.3.0
v0.2.0
v0.1.0
Full Changelog: https://github.com/infomiho/cadence/commits/v0.1.0