release: 2.0.0, hanzo-vm takes its crates.io name

The hanzo-vm crate previously carried an unrelated EVM (<=1.1.22, now
hanzo-evm); 2.0.0 jumps past it so cargo install hanzo-vm installs this
CLI. The library package vm publishes as vm-core (crates.io's vm is
someone else's) with its lib target still named vm, so use vm::… is
unchanged. Whole workspace and the TypeScript SDK move to 2.0.0.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
2026-09-02 11:05:39 -07:00
co-authored by Hanzo Dev
parent c20cfde80b
commit 886ebb04d9
14 changed files with 80 additions and 59 deletions
+14
View File
@@ -1,5 +1,19 @@
# Changelog
## 2.0.0
`cargo install hanzo-vm` now installs this CLI. The `hanzo-vm` name on
crates.io previously carried an unrelated EVM (versions up to 1.1.22, since
renamed to `hanzo-evm`); 2.0.0 takes the name over for the microVM and jumps
past those versions. No code change from 0.1.3 beyond the version.
- The library package `vm` is published as `vm-core` (the `vm` name on
crates.io belongs to someone else); its library target is still named
`vm`, so `use vm::…` is unchanged.
- Every crate in the workspace and the TypeScript SDK move to 2.0.0
together; the OS image tag the CLI downloads follows the crate version
as before.
## 0.1.3
Boot-time release: `run -- true` medians drop from 0.41/0.41/0.71 s to
Generated
+27 -27
View File
@@ -694,7 +694,7 @@ dependencies = [
[[package]]
name = "hanzo-vm"
version = "0.1.3"
version = "2.0.0"
dependencies = [
"anyhow",
"base64",
@@ -709,7 +709,7 @@ dependencies = [
"tracing",
"tracing-subscriber",
"ureq",
"vm",
"vm-core",
"vm-proto",
"vm-proxy",
"vm-store",
@@ -2039,8 +2039,23 @@ dependencies = [
]
[[package]]
name = "vm"
version = "0.1.3"
name = "vm-ch"
version = "2.0.0"
dependencies = [
"crossbeam-channel",
"libc",
"serde_json",
"vhost",
"vhost-user-backend",
"virtio-bindings",
"virtio-queue",
"vm-memory 0.18.0",
"vmm-sys-util 0.15.0",
]
[[package]]
name = "vm-core"
version = "2.0.0"
dependencies = [
"anyhow",
"crossbeam-channel",
@@ -2055,24 +2070,9 @@ dependencies = [
"vm-proto",
]
[[package]]
name = "vm-ch"
version = "0.1.3"
dependencies = [
"crossbeam-channel",
"libc",
"serde_json",
"vhost",
"vhost-user-backend",
"virtio-bindings",
"virtio-queue",
"vm-memory 0.18.0",
"vmm-sys-util 0.15.0",
]
[[package]]
name = "vm-darwin"
version = "0.1.3"
version = "2.0.0"
dependencies = [
"block2",
"crossbeam-channel",
@@ -2091,7 +2091,7 @@ checksum = "7e21282841a059bb62627ce8441c491f09603622cd5a21c43bfedc85a2952f23"
[[package]]
name = "vm-guest"
version = "0.1.3"
version = "2.0.0"
dependencies = [
"flate2",
"ignore",
@@ -2105,7 +2105,7 @@ dependencies = [
[[package]]
name = "vm-linux"
version = "0.1.3"
version = "2.0.0"
dependencies = [
"crossbeam-channel",
"kvm-bindings",
@@ -2142,7 +2142,7 @@ dependencies = [
[[package]]
name = "vm-proto"
version = "0.1.3"
version = "2.0.0"
dependencies = [
"serde",
"serde_json",
@@ -2150,7 +2150,7 @@ dependencies = [
[[package]]
name = "vm-proxy"
version = "0.1.3"
version = "2.0.0"
dependencies = [
"anyhow",
"boring",
@@ -2173,14 +2173,14 @@ dependencies = [
[[package]]
name = "vm-sdk"
version = "0.1.3"
version = "2.0.0"
dependencies = [
"anyhow",
"blake3",
"libc",
"tokio",
"tracing",
"vm",
"vm-core",
"vm-proto",
"vm-proxy",
"vm-store",
@@ -2188,7 +2188,7 @@ dependencies = [
[[package]]
name = "vm-store"
version = "0.1.3"
version = "2.0.0"
dependencies = [
"anyhow",
"blake3",
+8 -7
View File
@@ -23,17 +23,18 @@ files written inside a run never touch the host or the next run.
## Install
```sh
cargo install hanzo-vm
```
or the release binary:
```sh
curl -fsSL https://raw.githubusercontent.com/hanzoai/vm/main/install.sh | sh
```
Both put `hanzo-vm` in `~/.local/bin`. The first `hanzo-vm run` downloads the
or build from crates.io:
```sh
cargo install hanzo-vm
```
The installer puts `hanzo-vm` in `~/.local/bin` (cargo uses `~/.cargo/bin`).
The first `hanzo-vm run` downloads the
guest image (kernel, initramfs, root filesystem) from the matching GitHub
release into `~/.hanzo/vm`; set `HANZO_VM_HOME` to put it elsewhere.
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "vm-ch"
version = "0.1.3"
version = "2.0.0"
edition = "2021"
description = "cloud-hypervisor backend for Hanzo VM"
license = "Apache-2.0"
+7 -5
View File
@@ -1,9 +1,11 @@
[package]
name = "hanzo-vm"
version = "0.1.3"
version = "2.0.0"
edition = "2021"
description = "Hanzo microVM CLI: boot a Linux guest, run a command, throw the disk away"
license = "Apache-2.0"
repository = "https://github.com/hanzoai/vm"
readme = "../../README.md"
[[bin]]
name = "hanzo-vm"
@@ -13,10 +15,10 @@ path = "src/main.rs"
tempfile = "3"
[dependencies]
vm = { path = "../vm" }
vm-proto = { path = "../vm-proto" }
vm-proxy = { path = "../vm-proxy" }
vm-store = { path = "../vm-store" }
vm-core = { version = "2.0.0", path = "../vm" }
vm-proto = { version = "2.0.0", path = "../vm-proto" }
vm-proxy = { version = "2.0.0", path = "../vm-proxy" }
vm-store = { version = "2.0.0", path = "../vm-store" }
blake3 = "1"
clap = { version = "4", features = ["derive", "env"] }
anyhow = "1"
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "vm-darwin"
version = "0.1.3"
version = "2.0.0"
edition = "2021"
description = "Virtualization.framework bindings for Hanzo VM"
license = "Apache-2.0"
+3 -2
View File
@@ -1,7 +1,8 @@
[package]
name = "vm-guest"
version = "0.1.3"
version = "2.0.0"
edition = "2021"
description = "Guest init (PID 1) for Hanzo VM microVMs: mounts, vsock exec/fs/forward server"
license = "Apache-2.0"
repository = "https://github.com/hanzoai/vm"
@@ -10,7 +11,7 @@ name = "vm-guest"
path = "src/main.rs"
[dependencies]
vm-proto = { path = "../vm-proto" }
vm-proto = { version = "2.0.0", path = "../vm-proto" }
libc = "0.2"
serde_json = "1"
ureq = { version = "3", default-features = false, features = ["rustls"] }
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "vm-linux"
version = "0.1.3"
version = "2.0.0"
edition = "2021"
description = "KVM backend for Hanzo VM"
license = "Apache-2.0"
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "vm-proto"
version = "0.1.3"
version = "2.0.0"
edition = "2021"
description = "Shared wire protocol for Hanzo VM host/guest communication"
license = "Apache-2.0"
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "vm-proxy"
version = "0.1.3"
version = "2.0.0"
edition = "2021"
description = "Transparent network proxy for Hanzo VM microVMs"
license = "Apache-2.0"
+5 -5
View File
@@ -1,6 +1,6 @@
[package]
name = "vm-sdk"
version = "0.1.3"
version = "2.0.0"
edition = "2021"
description = "Async Rust SDK for Hanzo VM microVMs"
license = "Apache-2.0"
@@ -11,10 +11,10 @@ default = []
cas = ["vm-store", "blake3"]
[dependencies]
vm = { version = "0.1.3", path = "../vm" }
vm-proto = { version = "0.1.3", path = "../vm-proto" }
vm-proxy = { version = "0.1.3", path = "../vm-proxy" }
vm-store = { version = "0.1.3", path = "../vm-store", optional = true }
vm-core = { version = "2.0.0", path = "../vm" }
vm-proto = { version = "2.0.0", path = "../vm-proto" }
vm-proxy = { version = "2.0.0", path = "../vm-proxy" }
vm-store = { version = "2.0.0", path = "../vm-store", optional = true }
tokio = { version = "1", features = ["sync"] }
anyhow = "1"
blake3 = { version = "1", optional = true }
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "vm-store"
version = "0.1.3"
version = "2.0.0"
edition = "2021"
description = "NBD-backed storage layer for Hanzo VM microVMs"
license = "Apache-2.0"
+9 -6
View File
@@ -1,13 +1,16 @@
[package]
name = "vm"
version = "0.1.3"
name = "vm-core"
version = "2.0.0"
edition = "2021"
description = "Hanzo microVM: boot, exec, mounts, ports, checkpoints"
license = "Apache-2.0"
repository = "https://github.com/hanzoai/vm"
[lib]
name = "vm"
[dependencies]
vm-proto = { version = "0.1.3", path = "../vm-proto" }
vm-proto = { version = "2.0.0", path = "../vm-proto" }
anyhow = "1"
crossbeam-channel = "0.5"
serde = { version = "1", features = ["derive"] }
@@ -18,8 +21,8 @@ socket2 = "0.5"
[target.'cfg(target_os = "linux")'.dependencies]
libc = "0.2"
[target.'cfg(target_os = "macos")'.dependencies]
vm-darwin = { version = "0.1.3", path = "../vm-darwin" }
vm-darwin = { version = "2.0.0", path = "../vm-darwin" }
[target.'cfg(all(target_os = "linux", target_arch = "aarch64"))'.dependencies]
vm-linux = { version = "0.1.3", path = "../vm-linux" }
vm-linux = { version = "2.0.0", path = "../vm-linux" }
[target.'cfg(all(target_os = "linux", target_arch = "x86_64"))'.dependencies]
vm-ch = { version = "0.1.3", path = "../vm-ch" }
vm-ch = { version = "2.0.0", path = "../vm-ch" }
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@hanzo/vm",
"version": "0.1.3",
"version": "2.0.0",
"type": "module",
"main": "src/index.ts",
"types": "src/index.ts",