<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Release on Capslock</title><link>https://caps.pgsty.com/tags/release/</link><description>Recent content in Release on Capslock</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 06 Nov 2026 19:02:03 +0800</lastBuildDate><atom:link href="https://caps.pgsty.com/tags/release/index.xml" rel="self" type="application/rss+xml"/><item><title>Capslock 0.4.0</title><link>https://caps.pgsty.com/blog/release/0.4.0/</link><pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate><guid>https://caps.pgsty.com/blog/release/0.4.0/</guid><description>&lt;div class="td-callout td-callout--note" role="note"&gt;&#10; &lt;div class="td-callout__title"&gt;&lt;i class="td-callout__icon fa-solid fa-circle-info" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="td-callout__label"&gt;Release candidate&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="td-callout__body"&gt;&#10;&lt;p&gt;0.4.0 is in candidate acceptance. It has not been signed, notarized, or&#10;published for download yet. See &lt;a href="https://caps.pgsty.com/download/"&gt;Download&lt;/a&gt; for the current status.&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&lt;h2 id="whats-new"&gt;What's new&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;A clearer first run.&lt;/strong&gt; Onboarding ends on the complete keyboard. You can&#10;browse it before granting keyboard access, and the app says plainly whether it&#10;is running your keyboard or only showing a preview.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Lessons follow your configuration.&lt;/strong&gt; The first Playground chapter now&#10;includes Hyper+Space. If you changed or disabled a key a lesson uses, the&#10;lesson says so. Safe Practice previews are marked differently from actions&#10;that really ran.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Profile behaviour travels with your mappings.&lt;/strong&gt; Choose what unmapped keys do&#10;and which modifier sides select a plane. An explicit pass-through is kept&#10;apart from a removed binding, and both survive Undo and export.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Recovery reports what it verified.&lt;/strong&gt; Restoring Caps Lock reports success&#10;only after the system mapping has been read back. When the mapping cannot be&#10;read, ownership is shown as unknown instead of guessed.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Clear local-data and trust boundaries.&lt;/strong&gt; Statistics explain what a trigger&#10;count is and how long it is kept. Shell approval explains that a command runs&#10;with your user privileges, may use the network, and is not undone by Pause or&#10;Undo.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="since-candidate"&gt;Since the candidate was cut&#10;&lt;/h2&gt;&#10;&lt;p&gt;Work on 0.4.0 continued after the candidate was cut, and the following fixes&#10;are part of the same version:&lt;/p&gt;</description></item><item><title>Capslock 0.3.0</title><link>https://caps.pgsty.com/blog/release/0.3.0/</link><pubDate>Tue, 08 Sep 2026 00:00:00 +0000</pubDate><guid>https://caps.pgsty.com/blog/release/0.3.0/</guid><description>&lt;div class="td-callout td-callout--note" role="note"&gt;&#10; &lt;div class="td-callout__title"&gt;&lt;i class="td-callout__icon fa-solid fa-circle-info" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="td-callout__label"&gt;Internal build&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="td-callout__body"&gt;&#10;&lt;p&gt;0.3.0 was a development build and was not distributed publicly.&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Safer keyboard recovery.&lt;/strong&gt; Reconnecting a keyboard checks for remapper&#10;conflicts again. Differing per-device mappings are preserved instead of&#10;merged, and an explicit Pause cancels pending wake-up retries.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Stronger configuration handling.&lt;/strong&gt; Malformed numbers, duplicate document&#10;sections, and invalid fallback actions are rejected safely. An empty profile&#10;can be exported and restored, and a failed statistics write is retried.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;More reliable pointer controls.&lt;/strong&gt; Continuous movement follows the real&#10;cursor position, and releasing a chord cancels pending movement and&#10;scrolling.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Editor and diagnostics.&lt;/strong&gt; Menus follow language changes, and a diagnostics&#10;export can replace an existing archive.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Compatibility.&lt;/strong&gt; Mappings that reference a retired built-in action still&#10;load, and preview mode cannot change permissions or login items.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Capslock 0.2.0</title><link>https://caps.pgsty.com/blog/release/0.2.0/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate><guid>https://caps.pgsty.com/blog/release/0.2.0/</guid><description>&lt;div class="td-callout td-callout--note" role="note"&gt;&#10; &lt;div class="td-callout__title"&gt;&lt;i class="td-callout__icon fa-solid fa-circle-info" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="td-callout__label"&gt;Internal build&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="td-callout__body"&gt;&#10;&lt;p&gt;0.2.0 was a development build and was not distributed publicly.&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;The complete Classic layout is the default.&lt;/strong&gt; A fresh start loads every&#10;binding of the Capslock Classic profile instead of a minimal starter map.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;A keyboard-first editor.&lt;/strong&gt; The default view shows the sixteen named planes,&#10;the full main keyboard, and the numeric keypad together, with each mapped&#10;action written on its key.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Explicit Caps semantics.&lt;/strong&gt; Tapping Caps sends Escape. Hyper+Space sends the&#10;real Control-Space input-source shortcut. Hyper+Escape toggles the real Caps&#10;Lock.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;English and Chinese.&lt;/strong&gt; The app follows the system language, ships complete&#10;English and Simplified Chinese text, and falls back to English for other&#10;languages.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Auditable safety.&lt;/strong&gt; Imported executable actions lose their trust until you&#10;review them, and diagnostics and recovery never change Karabiner-Elements.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Capslock 0.1.0</title><link>https://caps.pgsty.com/blog/release/0.1.0/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://caps.pgsty.com/blog/release/0.1.0/</guid><description>&lt;div class="td-callout td-callout--note" role="note"&gt;&#10; &lt;div class="td-callout__title"&gt;&lt;i class="td-callout__icon fa-solid fa-circle-info" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="td-callout__label"&gt;Internal build&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="td-callout__body"&gt;&#10;&lt;p&gt;0.1.0 was a development build and was not distributed publicly.&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Capslock Classic built in.&lt;/strong&gt; Every behaviour of the Classic profile has an&#10;explicit native counterpart, resolved exactly across sixteen planes.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Two Hyper modes.&lt;/strong&gt; Classic Compatibility holds the right-side modifiers for&#10;Alfred, Moom, and existing shortcuts; Native Clean keeps the control layer&#10;private to Capslock.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Native editor and app overrides.&lt;/strong&gt; Inspect, rebind, disable, restore,&#10;validate, and undo or redo a key, and scope an action to one app by its exact&#10;bundle ID, without editing JSON by hand.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Hold-to-Reveal and Playground.&lt;/strong&gt; See the current named plane while you&#10;hold Caps, learn tap, hold, Hyper+Escape and H/J/K/L, then explore in Free&#10;Play.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Safe Practice and recovery.&lt;/strong&gt; Lessons block dangerous effects, and losing&#10;focus returns to live mode. Diagnostics can release synthetic input, restore&#10;Caps Lock, and export a redacted report.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Coexistence by default.&lt;/strong&gt; Existing non-Caps &lt;code&gt;hidutil&lt;/code&gt; mappings are kept,&#10;a Caps or F18 conflict stops activation, and Karabiner-Elements is never&#10;installed or reconfigured.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item></channel></rss>