ovm.sh / release notes

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.