Skip to content

Cycler 0.4.2

Choose a tag to compare

@hcaiano hcaiano released this 02 Jul 19:10
· 23 commits to main since this release

Hardening release — everything from the 2026-07-02 code audit.

Fixed

  • Two copies of Cycler no longer fight over your shortcuts. A second launched instance now exits immediately (deterministic election), fixing the bug where a hotkey would bring an app forward but never hide it again.
  • Quitting at exactly the wrong moment can no longer leave Caps Lock remapped to F18 — pending hidutil work is drained on exit in every path.
  • An open Settings window now reflects Hyper Key state changes (blocked/active) live.

Improved

  • No more Dock-icon flash at launch (proper LSUIElement agent).
  • Recording a shortcut that shadows another binding's ⇧-reverse now warns you.
  • Diagnostics moved to the unified log: log stream --predicate 'subsystem == "com.caiano.cycler"'.
  • hidutil calls no longer run on the main thread.

Internal

  • Continuous integration now builds and tests every change (macos-26, Xcode 26.5).
  • Main-actor isolation across the app; builds with zero warnings.