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 upcoming

debut

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. Every upstream version is canaried with a real tool-use probe, benchmarked, and promoted only once it provably works — 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 my first open-source project. It's early, and it's built deliberately: verification-first, no overclaiming, every number traceable to the run that produced it. I'd rather ship a careful tool slowly than a fast one that breaks your toolchain — so this moves carefully, in the open. Feedback and issues are welcome.

0.0.1 → 0.0.3 — how we got here

2026-07-10 → 2026-07-31 · 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 that measures each one. 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.

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.