mirror of
https://github.com/hanzoai/vm.git
synced 2026-10-01 00:47:56 +00:00
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:
@@ -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
@@ -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",
|
||||
|
||||
@@ -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,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"
|
||||
|
||||
@@ -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,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"
|
||||
|
||||
@@ -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,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,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,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"
|
||||
|
||||
@@ -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,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"
|
||||
|
||||
@@ -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,6 +1,6 @@
|
||||
{
|
||||
"name": "@hanzo/vm",
|
||||
"version": "0.1.3",
|
||||
"version": "2.0.0",
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
|
||||
Reference in New Issue
Block a user