# 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.

---

LLMS index: [llms.txt](/llms.txt)

---

> [!NOTE] Release candidate
> 0.4.0 is in candidate acceptance. It has not been signed, notarized, or
> published for download yet. See [Download](/download/) for the current status.

## What's new {#whats-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 {#since-candidate}

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.

---

Backlinks:

- [Download](/download/)
