- Windows (x86_64) prebuilt binary (
wrvm-x86_64-windows.exe). Release matrix builds it onwindows-latestwith a PowerShellGet-FileHashstep for the.sha256sidecar. On Windows the shim strategy is a copy of the wrvm exe toshims\iwasm.exe/shims\wamrc.exe(Windows symlinks need Developer Mode or admin); argv[0] dispatch handles the rest..ziparchives are now extracted end-to-end. CI matrix gainswindows-latest. Not yet covered: usage-log caller detection (Linux/procand macOSpsonly) andwrvm setupfor cmd.exe / PowerShell rc files — the shim + shims-on-PATH is enough for scripted use. wasi-extensionsinstallable on x86_64 hosts from upstream. WAMR ships one arch-lesswamr-wasi-extensions-<ver>.zipper release; wrvm now recognizes that shape (Platform::matches_wasi_extensions_asset) and dispatches to a newarchive::extract_zipwhen the picked asset has a.zipextension. Zero effect on the aarch64 mirror path, which already ships a per-runner tarball.
wrvm --upgradeon a Homebrew-installed binary no longer fails with a confusingEACCES/EPERMwhen trying to atomically replace the brew-owned Cellar file. Selfupdate now canonicalizes the running executable, detects paths under/opt/homebrew/Cellar/wrvm/,/usr/local/Cellar/wrvm/, or/home/linuxbrew/.linuxbrew/Cellar/wrvm/, and prints a friendly notice pointing atbrew upgrade wrvm(orbrew update && brew upgrade wrvmif the formula index is stale). The background "newer version available" notifier is also suppressed in this case, since the advertised command wouldn't work.shim::exec_or_runon non-unix platforms was missing theanyhow::Contextimport — a latent bug that only compiled through on Windows once CI actually builtwindows-latest. Fixed.
- Test coverage grew from 5 (spec parsing only) to 49 by covering the file-touching modules directly.
- Homebrew formula now
chmod +x's the release asset beforebin.installso the completion-generation step can execute the freshly installed binary.
mirror-wamr-sync.ymlscheduled workflow (Mon+Thu 06:00 UTC + manual dispatch) auto-mirrors new upstream WAMR releases: listsbytecodealliance/wasm-micro-runtimetags, filters to realMAJOR.MINOR.PATCHshape, and dispatchesmirror-wamr.ymlfor any version missing awamr-mirror-<ver>release on this repo. Rate-limited to 3/run, oldest-first.release.ymlgains anupdate-formulajob that auto-patchesFormula/wrvm.rbwith real.sha256values after each release (replaces the manual sed dance done at each of v0.1.0–v0.1.3).ci.ymlruns a smoke test on the built binary (--version,--help,completions,doctor) so runtime regressions surface before they ship.
wrvm doctorno longer reports "hook not found" when the rc uses theeval "$(wrvm shell-init)"line thatwrvm setupwrites. It now accepts the shims dir,wrvm shell-init, or# wrvm-managed:envas evidence that shell integration is wired.wrvm doctorno longer lists the brew-linkedwrvmbinary as an externaliwasm— canonicalizing theiwasmshim can resolve outsideWRVM_HOME(e.g. into/opt/homebrew/bin/) even though the target identifies as wrvm.detect_externalnow skips binaries whose--versionstarts withwrvm.
wrvm setup— one-shot command that wires the shell integration into the user's login-shell rc file (idempotent via a# wrvm-managed:envtag). Complementswrvm shell-init(which just prints the snippet). The Homebrew caveat now points atwrvm setupbecause Homebrew sandboxes formula install steps and can't safely modify$HOME.- Homebrew formula now installs a stable snippet at
#{prefix}/share/wrvm/wrvm.{sh,fish}so users who prefersourceoverwrvm setuphave a fixed path to reference.
- Intel macOS prebuilt binary (
wrvm-x86_64-macos), cross-compiled from Apple Silicon (macos-14) to sidestep the macos-13 (Intel) runner queue. wasi-extensionsin the aarch64 mirror, built with wasi-sdk inmirror-wamr.yml. Existing mirror releases are unaffected; re-run the workflow for a version to add the variant.
- Homebrew formula chmods the release asset to
0755before install so Homebrew's post-install completion generation can execute the binary.
- Initial release. Pure-native single-binary version manager for WAMR.
- Commands:
install,list,current,path,default,use,upgrade,deactivate,shell-init,register,unregister,apps,usage,uninstall,verify,exec,completions,doctor,--upgrade. - Variants:
iwasm(default),iwasm-gc-eh,wamrc,wasi-extensions. - Pass-through shims (
shims/iwasm,shims/wamrc) with usage tracking tousage.log. - Storage layout under
~/.tegmentum/wrvm/; runtime versions extracted directly intoruntimes/wamr/versions/<v>/<variant>/. install.sh+ Homebrew formula stub + GitHub Actions CI/release workflows.
- Intel macOS (x86_64-apple-darwin): GitHub Actions
macos-13runners are consistently backlogged. Intel macOS users install via source (cargo build --release). Added via cross-compilation in Unreleased.
- WAMR upstream ships x86_64 assets only. wrvm bridges this by publishing an
in-repo mirror release (tag
wamr-mirror-<ver>) built from upstream source by themirror-wamrGitHub Actions workflow. On aarch64 hosts,installtransparently resolves runtime downloads from that mirror. - Mirrored variants (three of four):
iwasm,iwasm-gc-eh,wamrc. The workflow caches LLVM across runs so the wamrc build amortizes across versions.wasi-extensionsadded in Unreleased (needs wasi-sdk). - Install verifies each mirror asset against its
.sha256sidecar (and honors an upstreamdigestfield when present). WRVM_RUNTIME_MIRROR=owner/repooverrides the mirror source.
- LTS designation: WAMR has no LTS cadence;
wrvm install ltserrors. - Self-hosting: WAMR mainline lacks WASI Preview 2 / component model /
wasi:http, so wrvm cannot run its own logic as a wasm component on WAMR. wrvm is a native binary.