Immutable
release. Only release title and notes can be modified.
[0.3.1] — 2026-07-06
Added
- PicoForge hardware config over FIDO.
authenticatorConfig's vendorPrototype
(0xFF) arm now accepts PicoForge's physical-config command IDs (PhysicalVidPid,
PhysicalLedGpio,PhysicalLedBrightness,PhysicalOptions), writing the phy
record — so PicoForge can set VID/PID, LED and options over FIDO with no PC/SC.
Gated by anacfgpinUvAuthToken. Details indocs/protocol.md§11. - Device configuration over FIDO (CTAPHID), PIN + touch gated. A new
authenticatorVendor 0x41subcommandCONFIG_WRITE (0x0C)writes device config
over the FIDO HID transport — for hosts where PC/SC / pcscd can't read or write
the CCID interface. Targets: the management enabled-apps TLV (EF_DEV_CONF) and
the phy record (EF_PHY— VID/PID, USB interfaces, LED wiring, presence-timeout)
and the LED config block (EF_LED_CONF, applied live); each lands in the same
record the CCID read path echoes. Gated by a physical touch and, when a PIN is
set, apinUvAuthToken(acfgpermission) — stronger than the CCID path's
presence-only, since CTAPHID is reachable by any unprivileged host process.
CONFIG_READ (0x0D)returns the phy / LED record (ungated) so a host can
read-modify-write it over FIDO with no PC/SC at all;rsk hw --transport fido
andrsk led --transport fidouse this. Wire format indocs/protocol.md§9. - Firmware flash-size ratchet in the gate.
check.shfails if the shipping
image grows past a ceiling that hugs the current size (well under the 2560K
code region) — a runaway dependency or surprise growth trips it early. Ratchet
it down when the image shrinks; bumpFIRMWARE_FLASH_BUDGET_KIBfor a
legitimate feature. - Host-crate coverage floor.
deep-checksgained anllvm-covjob that
floors host-crate line coverage (a regression alarm; the embedded image is
not host-measurable). - Cognitive-complexity ratchet in
deep-checks.scripts/complexity_gate.sh
fails if any crate-library function crosses a cognitive-complexity ceiling — a
daily regression alarm for new hotspots, the coverage floor's sibling. Lower
the ceiling as the peak falls. rust-code-analysis is pulled ad-hoc, so it
never joins the pinned dev shell. scripts/metrics.sh— advisory refactor reconnaissance (function
complexity, firmware size, generic monomorphization). Not a gate; the tools
are pulled ad-hoc so they never join the pinned dev shell.
Changed
deep-checksruns daily rather than weekly (Miri, fuzz, Kani, repro,
coverage, complexity).
Verify a download: https://github.com/TheMaxMur/RS-Key/blob/v0.3.1/docs/supply-chain.md