Sonata v0.2.0
Sonata v0.2.0 brings in-app auto-update — from here on, Sonata keeps itself current.
Auto-update
Sonata now checks for new releases quietly in the background — on launch and every 12 hours — and downloads them without interrupting you. When an update is ready:
- An Update button appears at the bottom of the sidebar. It's the only time it's ever there.
- Clicking it arms a Restart to Update confirm, so a running agent session is never restarted by a stray click.
- If you never touch it, the update installs the next time you quit Sonata normally.
- Check for Updates… in the app menu is there whenever you want to look yourself.
No settings to configure and no update server — updates ride GitHub Releases directly.
Also in this release
- Codex "Update available!" boot screens are now detected and surfaced as an attention banner instead of silently stalling a session — Sonata never answers the prompt for you.
- The hook, broker, and statusline commands Sonata injects into Claude Code and Codex now run on Sonata's own runtime, so a machine without a separate Node install no longer breaks the SessionStart handshake or Codex transcript binding.
- More reliable permission and mode switching (Shift+Tab stepping, Codex consent handling), with honest messages when a switch can't complete.
- Attachment sends report their status honestly — a partial "N of M images attached" reminder now stays until the rest actually land, and stop/cancel messages distinguish "never reached the CLI" from "reached it but wasn't submitted."
- Reading-pane scrolling no longer yanks you back to the bottom when you jump between turns, and open sidebar menus dismiss cleanly on scroll or resize.
- Custom session tags are protected against data loss: a single malformed entry can no longer wipe your whole tag set.
Updating from v0.1.0: download this version manually (the DMG below) — v0.1.0 has no in-app updater. From v0.2.0 onward, updates arrive in-app.
Install: download the DMG below, open it, and drag Sonata to Applications. Requires a Mac with Apple Silicon (arm64). The app is signed and notarized.