Auto-updates

Every update is verified end-to-end, with release notes right in the modal. Cryptographic, not just cosmetic.

The user flow

TokenEater checks for updates automatically on launch and periodically. When a new version is available, a modal shows with release notes. Click Install, macOS will ask for your admin password, and the app restarts on the new version.

Cryptographic verification

Sparkle verifies the EdDSA (Ed25519) signature of the downloaded DMG against the public key embedded in the app, before running the install.

Updates with missing or invalid signature are refused with a clear error rather than blindly installed. The signing key only lives in CI secrets, so every release DMG is signed by the same identity.

Release notes in the modal

The What's new section in the update modal fetches and renders release notes directly from the GitHub Releases API. If the fetch fails (network down, for instance), a View on GitHub link shows as a fallback so you can read the notes manually.

Homebrew

If you installed via Homebrew, you can still use the in-app updater. Otherwise, to update via brew:

bash
brew upgrade --cask tokeneater
GitHub release notes are the source of truth. The update modal points there directly, and if you want to see the full history, the repo has an up-to-date Releases page.