release notes
Release notes
What each OVM release adds, fixes, or catches — newest first. The alphas earned trust one check at a time; the debut sets the scene.
0.1.0 — the first public release
2026-08-09 · stable · Latest
OVM — the Open Version Manager — installs, pins, and switches versions
of the AI coding CLIs — Claude Code, Codex, and Pi — side by side, with a
ovm-* PATH plugin system for extensions. That's the surface.
The reason it exists is verification: OVM doesn't just
install a release, it proves the release runs at its documented tier.
Coding agents get real tool-use canaries. Performance benchmarks
cover Claude Code and Codex, not Pi. The whole approach is written up in the
methodology.
It also carries claudex forward from the alphas: Claude
Code as the harness on GPT-5.6, wired through a localhost-only
CLIProxyAPI sidecar with a single command (ovm claudex setup)
and an isolated session home, so it never mixes with your normal
claude history. It's an unofficial integration — use at your
own risk.
A note on where this is. OVM is our first open-source project — built and maintained end to end with agentic development, under the same discipline this site describes: verification-first, no overclaiming, every number traceable to the run that produced it. It's early and it moves carefully, in the open. Feedback and issues are welcome — please be kind and constructive.
0.0.1 → 0.0.3 — how we got here
2026-07-10 → 2026-08-09 · alpha
Before the debut, OVM spent its 0.0.x alphas earning trust
the hard way — each version adding a check because something broke.
0.0.1 was the baseline: install, pin, switch, and launch
Claude Code, Codex, and Pi side by side; the ovm-* plugin
system; and the verification pipeline — a watcher that spots upstream
releases within minutes and a benchmark runner for Claude Code and Codex. It
also, deliberately, shipped the pre-fix installer that made the next
release's catch reproducible.
0.0.2 was the incident that shaped everything. Codex
0.144.0 moved shell execution into a sidecar binary the installer didn't
ship: every install looked healthy, and every real tool call died. The
fix installed release sidecars — and the regression gate
was born, growing from a --version check into a real
tool-use probe that must round-trip echo <nonce> | rev.
0.0.3 brought claudex (Claude Code on GPT-5.6 through a managed CLIProxyAPI sidecar) and staged self-update — OVM keeps itself current with the same atomic, verified swap it uses for the tools it manages.
Its first three alpha tags never reached the public repository:
alpha.3's release was withdrawn because its artifacts could
not be tied to the public tag that should have produced them. The public
history therefore starts at alpha.4 (30 Jul) — the
recovery release, published from a repaired clean history with tag
protection and immutable releases, which also put OVM itself into
ovm select beside the tools it manages.
alpha.5 exists purely as proof: it verified a real
public-channel self-update, hot-swapping from alpha.4 with no functional
change beyond the version number. alpha.6 put the
running version in the banner. alpha.7 (31 Jul) made
every ovm command — plugins and claudex aliases included —
kick the same background refresh that product launches do, and stopped a
staging attempt that dies mid-download from waiting out the whole check
interval before it retries.
alpha.8 (3 Aug) added ovm update — a verb
that actually updates, converging on the same on-disk state as a
launch-time auto-update — and was the public debut's Latest.
alpha.9 made updating check first and ask: resolve
everything, print what will not change, offer the rest in a picker.
alpha.10 qualified privately but its public build was
blocked by a test-isolation bug, so it never published;
alpha.11 (6 Aug) shipped the same feature set plus the
fix that made the suite hermetic, and taught the picker to offer pinned
products explicitly and double as the auto-update settings screen.
alpha.12 (8 Aug) was the tangent: QM — Y Combinator's multiplayer agent harness — became a fourth managed product, alongside real hardening (full bundle validation, authenticated GitHub metadata, rate-limit errors that say what happened instead of claiming a release doesn't exist). alpha.13 removed QM the same day, hours after actually sitting down and using it: it turned out to be a deployment control plane, not a coding tool you launch, and it already pins its own CLI version better than anyone can from outside. Nothing was broken — the fit was wrong, and the work is parked on a branch rather than deleted. The lesson ("use the product before you add the product") is now the first step of the add-a-product checklist. alpha.14 (9 Aug) rebuilt the release machinery on that honesty: qualification moved from a nightly schedule to the moment a release is cut, and checks that could never pass where they ran were removed instead of left red.
The throughline is the whole point of the project, and it carries into 0.1.0: nothing is trusted because it installed — only because it provably runs.