Skip to content

Decaffeinate 1.5.2 — hardening + discoverable updates

Choose a tag to compare

@wikithoughts wikithoughts released this 21 Jun 16:44

Hardening and delivery — from an adversarial review of the 1.5.1 menu.

Added

  • "Update available" button in the footer, raised the moment Sparkle's background check finds a new version — updates can't be missed.

Fixed

  • The popover can never clip again — the height is now screen-aware (min(460, screen·0.8)), so the pinned footer (Settings/quit) stays on screen on small displays; the body scrolls within whatever fits.
  • Approval buttons can't vanish — a sibling hold from the same app (same firewall key, different assertion id) is now correctly recognised as pending.
  • No menu stall — app icons resolve after first paint (off the synchronous render path), with a bounded cache.
  • All active modes are cancelable — a quiet window and a watch each show their own cancel line, not just the first.
  • Menu-bar free crescent reads better at 18px; approval buttons carry VoiceOver labels.

Updating: Decaffeinate updates itself via Sparkle (the Update available button). For a forced Homebrew update: brew update && brew upgrade --cask decaffeinate --greedy.

Universal, Developer-ID signed & notarized. 139 tests. Full notes in CHANGELOG.

🤖 Generated with Claude Code