This is the multi-page printable view of this section. .
Release notes
What changed in each Capslock version.
Versions 0.1.0 to 0.3.0 were internal development builds. 0.4.0 is the first release candidate; see Download for its status.
1 - Capslock 0.4.0
A clearer first run, lessons that follow your configuration, Profile behaviour for unmapped keys, verified recovery feedback, and plain statements of what stays local.
Release candidate
0.4.0 is in candidate acceptance. It has not been signed, notarized, or published for download yet. See Download for the current status.
What's new
- A clearer first run. Onboarding ends on the complete keyboard. You can browse it before granting keyboard access, and the app says plainly whether it is running your keyboard or only showing a preview.
- Lessons follow your configuration. The first Playground chapter now includes Hyper+Space. If you changed or disabled a key a lesson uses, the lesson says so. Safe Practice previews are marked differently from actions that really ran.
- Profile behaviour travels with your mappings. Choose what unmapped keys do and which modifier sides select a plane. An explicit pass-through is kept apart from a removed binding, and both survive Undo and export.
- Recovery reports what it verified. Restoring Caps Lock reports success only after the system mapping has been read back. When the mapping cannot be read, ownership is shown as unknown instead of guessed.
- Clear local-data and trust boundaries. Statistics explain what a trigger count is and how long it is kept. Shell approval explains that a command runs with your user privileges, may use the network, and is not undone by Pause or Undo.
Since the candidate was cut
Work on 0.4.0 continued after the candidate was cut, and the following fixes are part of the same version:
- The interface was redesigned, with shorter copy, a new ⇪ app icon, and Mac key legends throughout.
- A first run takes over nothing until you finish onboarding or press Start Capslock.
- A recovery record left by an earlier boot no longer blocks activation after an unclean shutdown.
- A newly attached keyboard gets its Caps Lock mapping without Input Monitoring permission.
- Hyper+Escape toggles Caps Lock once per press instead of on every key repeat.
- Editing the configuration file outside Capslock is detected: the app reloads the file instead of overwriting your change.
2 - Capslock 0.3.0
Safer keyboard recovery, stricter configuration handling, more reliable pointer controls, and editor and diagnostics fixes. Internal build.
Internal build
0.3.0 was a development build and was not distributed publicly.
- Safer keyboard recovery. Reconnecting a keyboard checks for remapper conflicts again. Differing per-device mappings are preserved instead of merged, and an explicit Pause cancels pending wake-up retries.
- Stronger configuration handling. Malformed numbers, duplicate document sections, and invalid fallback actions are rejected safely. An empty profile can be exported and restored, and a failed statistics write is retried.
- More reliable pointer controls. Continuous movement follows the real cursor position, and releasing a chord cancels pending movement and scrolling.
- Editor and diagnostics. Menus follow language changes, and a diagnostics export can replace an existing archive.
- Compatibility. Mappings that reference a retired built-in action still load, and preview mode cannot change permissions or login items.
3 - Capslock 0.2.0
The complete Classic layout becomes the default, the editor puts all sixteen planes and the whole keyboard on one screen, and the Caps key gets explicit semantics. Internal build.
Internal build
0.2.0 was a development build and was not distributed publicly.
- The complete Classic layout is the default. A fresh start loads every binding of the Capslock Classic profile instead of a minimal starter map.
- A keyboard-first editor. The default view shows the sixteen named planes, the full main keyboard, and the numeric keypad together, with each mapped action written on its key.
- Explicit Caps semantics. Tapping Caps sends Escape. Hyper+Space sends the real Control-Space input-source shortcut. Hyper+Escape toggles the real Caps Lock.
- English and Chinese. The app follows the system language, ships complete English and Simplified Chinese text, and falls back to English for other languages.
- Auditable safety. Imported executable actions lose their trust until you review them, and diagnostics and recovery never change Karabiner-Elements.
4 - Capslock 0.1.0
The first native build: Capslock Classic built in, two Hyper modes, a native editor with per-app overrides, Hold-to-Reveal, the Playground, and diagnostics. Internal build.
Internal build
0.1.0 was a development build and was not distributed publicly.
- Capslock Classic built in. Every behaviour of the Classic profile has an explicit native counterpart, resolved exactly across sixteen planes.
- Two Hyper modes. Classic Compatibility holds the right-side modifiers for Alfred, Moom, and existing shortcuts; Native Clean keeps the control layer private to Capslock.
- Native editor and app overrides. Inspect, rebind, disable, restore, validate, and undo or redo a key, and scope an action to one app by its exact bundle ID, without editing JSON by hand.
- Hold-to-Reveal and Playground. See the current named plane while you hold Caps, learn tap, hold, Hyper+Escape and H/J/K/L, then explore in Free Play.
- Safe Practice and recovery. Lessons block dangerous effects, and losing focus returns to live mode. Diagnostics can release synthetic input, restore Caps Lock, and export a redacted report.
- Coexistence by default. Existing non-Caps
hidutilmappings are kept, a Caps or F18 conflict stops activation, and Karabiner-Elements is never installed or reconfigured.