Skip to content

Releases: infomiho/cadence

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 08 Sep 15:06
  • 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 previous com.Cadence.Cadence folders and the com.cadence.spotify keychain 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

Choose a tag to compare

@github-actions github-actions released this 08 Sep 14:37

What's new

  • Signed and notarized builds. Cadence is now signed with a Developer ID certificate and notarized by Apple, and ships as a .dmg with 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

Choose a tag to compare

@github-actions github-actions released this 04 Sep 11:42

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

Choose a tag to compare

@github-actions github-actions released this 01 Sep 12:41

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

Choose a tag to compare

@github-actions github-actions released this 24 Aug 08:39

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

Choose a tag to compare

@infomiho infomiho released this 21 Aug 12:43

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

Choose a tag to compare

@github-actions github-actions released this 18 Aug 11:39

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

Choose a tag to compare

@github-actions github-actions released this 16 Aug 19:48

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 12:54