Releases: jonathanlaf/keyaura
Releases · jonathanlaf/keyaura
Release list
KeyAura v0.1.5
What's new
- Auto-update on macOS — KeyAura now checks for updates on launch and via a new "Check for Updates…" item in the tray menu. When one's found, it walks you through confirm → download → confirm → restart, each step a native dialog. (#28)
- Installer filenames are clearer:
KeyAura_<version>_macOS-AppleSilicon.dmg/KeyAura_<version>_Windows-x64.exe. (#27)
Also in this release
KeyAura v0.1.4
#23 — Add Align submenu to the tray menu
Summary
- add an "Align" submenu to the tray menu (Top, Bottom, Center Horizontally, Center Vertically), right after Settings
- wires it to the existing
align_windowcommand — the same one already used by the four align buttons in Settings, which stay as-is - lets you align the overlay directly from the tray without opening Settings first
Verification
cargo fmt --check,cargo clippy --all-targets -- -D warnings,cargo test— clean, 33 passing (no backend logic changed, just menu wiring)node --test ui/test/*.test.mjs— 38 passing- reviewed with
/code-review(low); one clarity nit fixed (replaced a silent catch-all in the axis match with an explicit arm +unreachable!(), since the outer id match already exhaustively restricts to the four align- ids)
#24 — Fix keyboard halves drifting sideways during window resize
Summary
- fix a visible rendering bug: dragging a window corner made the two keyboard halves visibly drift sideways/rotate around the wrong point mid-drag, and could look like the keyboard was shrinking toward the window's center on a large fast resize
- root cause: each half's rotation pivot was a CSS percentage of its own box (which is the full window, and resizes live during a drag), while the actual key pixel positions are only recomputed ~100ms after the last resize event (
renderBoard()is debounced since rebuilding all 52 keys' DOM on every resize tick would be expensive) — the live pivot and the stale key positions drifted apart during that window - fix: freeze the pivot to a pixel value at render time (same geometry already used for key placement), so it goes stale together with the keys instead of tracking the live window independently
- confirmed the native window resize/position logic itself (
main.rs) was already correct via instrumented logging before looking at the frontend — this is purely a rendering-layer fix, no backend changes
#25 — Add Windows build support
Summary
- ports the one real cross-platform blocker —
grab.rs's global modifier-key polling, previously macOS-only viaCGEventSourceFlagsState— to Windows viaGetAsyncKeyState, unifying both platforms behind a singlespawn()loop with a per-OScurrent_flags() - everything else needed no code changes:
hidapi,tray-icon, monitor handling, andtauri-plugin-autostartalready handle Windows internally (verified against each crate's source rather than assumed) - adds an NSIS bundle target (unsigned for now, per discussion), a Windows leg to CI, and a Windows leg to the release build matrix — each OS uploads its own installer to the same draft release, left as a draft specifically so a human confirms every expected platform's artifact showed up before publishing
- filters out AltGr's synthetic Left-Ctrl (Win32 delivers AltGr — used constantly on non-US layouts — as Ctrl+Right-Alt, which would otherwise fire any
"ctrl"-containing grab combo on every accented keystroke) - fails the build with a clear message rather than a confusing missing-symbol error if a third
target_osis ever added without portingcurrent_flags() - shows "Win/Alt/Ctrl/Shift" instead of Mac glyphs in Settings' combo recorder when running on Windows
KeyAura v0.1.3
#21 — Remember overlay position per display arrangement, size per monitor
Summary
- remember the overlay's size per physical monitor and its position per display arrangement (the exact set of screens connected together — e.g. laptop alone vs. laptop + an external monitor), instead of one combined rect keyed by a single monitor
- watch for monitors connecting/disconnecting while the app is running and re-home the overlay for the new arrangement, instead of letting macOS's own relocation get saved as if the user had dragged it there
- fall back to a shared monitor's position from the most-similar previously-seen arrangement when the current arrangement is brand new, before finally defaulting to a centered rect
- migrate existing single-monitor saved positions to the new per-arrangement storage on first load, so nobody's saved spot is lost
KeyAura v0.1.2
Fixed macOS self signing and app icon
KeyAura v0.1.1
#17 — Reorganize settings and refine overlay defaults
Summary
- reorganize the Settings panel and clarify overlay controls
- add installed-system-font suggestions for font pickers
- apply curated appearance defaults and improve overlay rendering
- add a compressed KeyAura demo recording to the README
KeyAura v0.0.4
Layer HUD v0.0.3
Layer HUD v0.0.2
What's Changed
- chore: bump actions/checkout, setup-node, attest-build-provenance by @jonathanlaf in #2
- feat: add configurable icon legend and layer references by @jonathanlaf in #9
- release: v0.0.2 by @jonathanlaf in #11
- chore: align app metadata with v0.0.2 by @jonathanlaf in #12
- ci: generate release notes automatically by @jonathanlaf in #13
Full Changelog: v0.0.1...v0.0.2