Updates & compatibility

Stable by default, beta ahead of it, updates that restart the daemon on their own — and the Kubernetes versions CI actually exercises.

Release channels

Settings → Advanced picks a channel: stable (default) or beta, which carries release candidates ahead of stable. Switch back any time — when the stable release catches up to the candidate you're on, you rejoin it automatically. Homebrew installs track stable through brew upgrade.

How an update lands

The app updates itself from the download feed. What makes it uneventful is the handoff underneath: after the swap, the app notices a daemon still running the previous version, asks it to step down, and the new binary comes up in its place — same journal, same watched clusters, no manual restart. Because the journal is on disk, nothing recorded is lost; watches re-establish and the cache rebuilds in seconds.

The same machinery covers failure: a daemon that crashes is restarted automatically — by its supervisor when started at login, by the app when the app spawned it — with a cap that stops a truly broken install from restart-looping.

Kubernetes compatibility

Every minor from 1.28 through 1.36 is exercised in CI against real clusters — the end-to-end suite runs on each version, not just the newest.

KubernetesStatus
v1.36 – v1.28Tested in CI, every minor, on real kind clusters
v1.27 and olderExpected to work; no longer tested

New resource types don't wait on us: CRDs are discovered generically, so an operator installed tomorrow renders today.

What changed in each release is on the changelog.