Changelog / release
0.12.7 — One version number
Released 2026-08-07 · full changelog · GitHub releases
From this release the engine and the Rapid-MLX Desktop app carry one version number, enforced in CI. 0.12.6 is skipped deliberately — the desktop app 0.12.6 that users already have was built before the work below landed, so reusing that number would have made it mean two different things.
- The two version numbers can no longer drift. They were maintained by hand in different files —
pyproject.tomlfor the engine, the app’sInfo.plistfor the desktop build — with nothing comparing them, so drift was the default rather than a risk. On 2026-08-07 it reached users: the engine was 0.12.5 while the app was 0.12.6, and both were correctly called “the latest release”. A check now fails any change where the two disagree, closing the chain end to end: git tag =Info.plist=pyproject.toml. - The privacy consent switch works. In Settings → Privacy, pressing Send anonymous usage data wrote the preference but left the switch showing its old value — a privacy control that appeared to refuse your choice. Measured by driving accessibility against real builds: 0 → 0 before, 0 → 1 after.
- Model recommendations are grounded in measurement. Every RAM tier now offers exactly two picks — faster and smarter — with measured ~8K peak memory and throughput from an M2 Pro 32 GB Mac mini. Two exceptions are stated rather than hidden: the smarter primaries at 64 GB and 96 GB+ exceed the benchmark host and are carried forward unmeasured; their faster alternatives are measured.
- “Untested” no longer looks like a score of zero. A model with no compatible benchmark rendered an empty dashed track, so a missing measurement and a poor result were indistinguishable. The sweep is reproducible now too — persisted prefix-cache entries were inflating 8K prefill from ~313 to ~20,701 tok/s between reruns.
agents --setupcan no longer eat the operator’s config. The release gate runs it on machines that are also someone’s daily driver. It used to back up and restore the real file, which failed on SIGKILL and — worse — faithfully restored a file that had already been damaged, leaving a developer’s codex pointed at a local server for weeks. It now honoursCODEX_HOME/HERMES_HOME, and the gate refuses to run against the real config directory.- A GUI golden-flow suite that finds controls by accessibility identifier, not screen position — six journeys plus three invariants, with committed structural snapshots, so a control that vanishes, is renamed, moves in the hierarchy, or silently disables becomes a reviewable diff. The snapshots discard coordinates by design, so they say nothing about visual layout.
- Model tabs consolidated into a single Model Management surface; syntax highlighting and markdown tables in chat; the tray’s Check for updates… reports a result instead of nothing; a machine that fails the live memory guard is offered an honestly-labelled smaller model rather than a chooser whose smallest option is the one that just failed.