Skip to content

Releases: manaporkun/JoyMapKit

v0.2.0 — Security, Performance & Bug Fixes

23 Mar 11:50

Choose a tag to compare

Download

Download JoyMapKit-0.2.0.zip, unzip, and drag JoyMapKit.app to your Applications folder.

Grant Accessibility permission when prompted (System Settings > Privacy & Security > Accessibility).

What's Changed

App-Only Distribution

  • Removed CLI tool — JoyMapKit is now a simple menu bar app
  • Download the .app, drop in Applications, done

Security Hardening

  • Shell command validation (absolute path, no traversal)
  • Path traversal protection in profile loading/saving
  • Bounds-check on custom response curve points (prevents crash on malformed profiles)
  • Macro repeat count capped to 1000, delays capped to 10s
  • Added accessibility usage description to Info.plist

Performance

  • O(1) controller element lookup (was O(n) per input event at 120Hz)
  • Cached response curves and cursor position (eliminates per-tick allocations)
  • Consolidated analog handler into single tick timer
  • Pre-indexed bindings for O(1) lookup
  • Throttled UI updates to 60Hz

Bug Fixes

  • Fixed toggle hold behavior — toggle-off was broken (unreachable code)
  • Fixed silent error swallowing in profile loading
  • Fixed profile switch UI desync
  • Fixed force unwrap crash in rhythm game

New

  • Ghostty terminal example profile (B=Space, A=Enter, D-Pad=tab switching)

Full Changelog: v0.1.0...v0.2.0