release: 0.1.2, per-arch cold start

Every platform can now bootstrap from the release: install.sh learns
linux-x86_64, and the OS asset set ships per-arch so assets.rs finds a
tarball on both Linux architectures instead of 404ing on x86_64.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
2026-09-01 16:44:41 -07:00
co-authored by Hanzo Dev
parent a1067a635d
commit 19b5c996fc
14 changed files with 39 additions and 33 deletions
+6 -2
View File
@@ -1,12 +1,16 @@
# Changelog
## Unreleased
## 0.1.2
- Linux x86_64 backend (`crates/vm-ch`): drives cloud-hypervisor over its API
socket, virtiofsd for mounts, an in-process vhost-user-net backend for
`--allow-net`, and hybrid vsock. Guest assets build for the host arch
(PVH vmlinux kernel, amd64 rootfs); OS tarballs are per-arch
(`hanzo-vm-os-<tag>-<arch>.tar.gz`).
(`hanzo-vm-os-<tag>-<arch>.tar.gz`), so x86_64 hosts can cold-start from
the release.
- Sparse-aware rootfs clone on Linux: `ioctl(FICLONE)` reflink where the
filesystem supports it, else a SEEK_DATA/SEEK_HOLE + `copy_file_range`
sparse copy — a plain copy of the 4 GB image materializes the holes.
## 0.1.0
Generated
+10 -10
View File
@@ -694,7 +694,7 @@ dependencies = [
[[package]]
name = "hanzo-vm"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"anyhow",
"base64",
@@ -2040,7 +2040,7 @@ dependencies = [
[[package]]
name = "vm"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"anyhow",
"crossbeam-channel",
@@ -2057,7 +2057,7 @@ dependencies = [
[[package]]
name = "vm-ch"
version = "0.1.0"
version = "0.1.2"
dependencies = [
"crossbeam-channel",
"libc",
@@ -2072,7 +2072,7 @@ dependencies = [
[[package]]
name = "vm-darwin"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"block2",
"crossbeam-channel",
@@ -2091,7 +2091,7 @@ checksum = "7e21282841a059bb62627ce8441c491f09603622cd5a21c43bfedc85a2952f23"
[[package]]
name = "vm-guest"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"flate2",
"ignore",
@@ -2105,7 +2105,7 @@ dependencies = [
[[package]]
name = "vm-linux"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"crossbeam-channel",
"kvm-bindings",
@@ -2142,7 +2142,7 @@ dependencies = [
[[package]]
name = "vm-proto"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"serde",
"serde_json",
@@ -2150,7 +2150,7 @@ dependencies = [
[[package]]
name = "vm-proxy"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"anyhow",
"boring",
@@ -2173,7 +2173,7 @@ dependencies = [
[[package]]
name = "vm-sdk"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"anyhow",
"blake3",
@@ -2188,7 +2188,7 @@ dependencies = [
[[package]]
name = "vm-store"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"anyhow",
"blake3",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "vm-ch"
version = "0.1.0"
version = "0.1.2"
edition = "2021"
description = "cloud-hypervisor backend for Hanzo VM"
license = "Apache-2.0"
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "hanzo-vm"
version = "0.1.1"
version = "0.1.2"
edition = "2021"
license = "Apache-2.0"
repository = "https://github.com/hanzoai/vm"
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "vm-darwin"
version = "0.1.1"
version = "0.1.2"
edition = "2021"
description = "Virtualization.framework bindings for Hanzo VM"
license = "Apache-2.0"
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "vm-guest"
version = "0.1.1"
version = "0.1.2"
edition = "2021"
license = "Apache-2.0"
repository = "https://github.com/hanzoai/vm"
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "vm-linux"
version = "0.1.1"
version = "0.1.2"
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.1"
version = "0.1.2"
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.1"
version = "0.1.2"
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.1"
version = "0.1.2"
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.0", path = "../vm" }
vm-proto = { version = "0.1.0", path = "../vm-proto" }
vm-proxy = { version = "0.1.0", path = "../vm-proxy" }
vm-store = { version = "0.1.0", path = "../vm-store", optional = true }
vm = { version = "0.1.2", path = "../vm" }
vm-proto = { version = "0.1.2", path = "../vm-proto" }
vm-proxy = { version = "0.1.2", path = "../vm-proxy" }
vm-store = { version = "0.1.2", 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.1"
version = "0.1.2"
edition = "2021"
description = "NBD-backed storage layer for Hanzo VM microVMs"
license = "Apache-2.0"
+5 -5
View File
@@ -1,13 +1,13 @@
[package]
name = "vm"
version = "0.1.1"
version = "0.1.2"
edition = "2021"
description = "Hanzo microVM: boot, exec, mounts, ports, checkpoints"
license = "Apache-2.0"
repository = "https://github.com/hanzoai/vm"
[dependencies]
vm-proto = { version = "0.1.0", path = "../vm-proto" }
vm-proto = { version = "0.1.2", path = "../vm-proto" }
anyhow = "1"
crossbeam-channel = "0.5"
serde = { version = "1", features = ["derive"] }
@@ -18,8 +18,8 @@ socket2 = "0.5"
[target.'cfg(target_os = "linux")'.dependencies]
libc = "0.2"
[target.'cfg(target_os = "macos")'.dependencies]
vm-darwin = { version = "0.1.0", path = "../vm-darwin" }
vm-darwin = { version = "0.1.2", path = "../vm-darwin" }
[target.'cfg(all(target_os = "linux", target_arch = "aarch64"))'.dependencies]
vm-linux = { version = "0.1.0", path = "../vm-linux" }
vm-linux = { version = "0.1.2", path = "../vm-linux" }
[target.'cfg(all(target_os = "linux", target_arch = "x86_64"))'.dependencies]
vm-ch = { version = "0.1.0", path = "../vm-ch" }
vm-ch = { version = "0.1.2", path = "../vm-ch" }
+4 -2
View File
@@ -22,10 +22,12 @@ case "$OS" in
case "$ARCH" in
aarch64|arm64)
PLATFORM="linux-aarch64"
echo "Warning: Linux support is experimental and not ready for production use yet." >&2
;;
x86_64)
PLATFORM="linux-x86_64"
;;
*)
echo "Error: hanzo-vm Linux builds currently support ARM64 only. Detected: $ARCH" >&2
echo "Error: hanzo-vm Linux builds support aarch64 and x86_64. Detected: $ARCH" >&2
exit 1
;;
esac
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@hanzo/vm",
"version": "0.1.1",
"version": "0.1.2",
"type": "module",
"main": "src/index.ts",
"types": "src/index.ts",