From 76aafec4d0be5e08b0ee94f6be7e0427d2a89e90 Mon Sep 17 00:00:00 2001 From: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com> Date: Wed, 1 Apr 2026 11:56:18 -0700 Subject: [PATCH] Bump version to 0.14.0 and add changelog entry Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com> --- CHANGELOG.md | 15 ++++++++++++++- Cargo.lock | 18 +++++++++--------- Cargo.toml | 18 +++++++++--------- docs/how-to-make-releases.md | 2 +- src/tests/rust_guests/dummyguest/Cargo.lock | 10 +++++----- src/tests/rust_guests/simpleguest/Cargo.lock | 10 +++++----- src/tests/rust_guests/witguest/Cargo.lock | 16 ++++++++-------- 7 files changed, 51 insertions(+), 38 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e576323f14..d534566383 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Prerelease] - Unreleased +## [v0.14.0] - 2026-04-01 + +### Changed +* Snapshot restore now uses copy-on-write, reducing restore latency by up to 99% (see [paging notes](https://github.com/hyperlight-dev/hyperlight/blob/v0.14.0/docs/paging-development-notes.md)) by @syntactically in https://github.com/hyperlight-dev/hyperlight/pull/1315 +* `map_region` on `MultiUseSandbox` now works on Windows by @jsturtevant in https://github.com/hyperlight-dev/hyperlight/pull/1330 +* Maximum sandbox memory size increased from ~1 GiB to ~16 GiB by @simongdavies in https://github.com/hyperlight-dev/hyperlight/pull/1340 + +### Fixed +* Windows surrogate process manager now uses SHA-stamped filenames to avoid conflicts when multiple Hyperlight versions coexist, and surrogate pool size is configurable via `HYPERLIGHT_INITIAL_SURROGATES` and `HYPERLIGHT_MAX_SURROGATES` environment variables by @simongdavies in https://github.com/hyperlight-dev/hyperlight/pull/1339 +* Fix a race where guest cancellation could cause a pending TLB flush to be lost by @ludfjig in https://github.com/hyperlight-dev/hyperlight/pull/1333 +* Fix spurious `GuestAborted` errors after repeated cancel+restore cycles by @ludfjig in https://github.com/hyperlight-dev/hyperlight/pull/1335 + ## [v0.13.1] - 2026-03-19 ### Fixed @@ -266,7 +278,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). The Initial Hyperlight Release 🎉 -[Prerelease]: +[Prerelease]: +[v0.14.0]: [v0.13.1]: [v0.13.0]: [v0.12.0]: diff --git a/Cargo.lock b/Cargo.lock index 3c3ea51d34..37158477db 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1420,7 +1420,7 @@ dependencies = [ [[package]] name = "hyperlight-common" -version = "0.13.1" +version = "0.14.0" dependencies = [ "anyhow", "arbitrary", @@ -1434,7 +1434,7 @@ dependencies = [ [[package]] name = "hyperlight-component-macro" -version = "0.13.1" +version = "0.14.0" dependencies = [ "env_logger", "hyperlight-component-util", @@ -1448,7 +1448,7 @@ dependencies = [ [[package]] name = "hyperlight-component-util" -version = "0.13.1" +version = "0.14.0" dependencies = [ "itertools 0.14.0", "prettyplease", @@ -1471,7 +1471,7 @@ dependencies = [ [[package]] name = "hyperlight-guest" -version = "0.13.1" +version = "0.14.0" dependencies = [ "anyhow", "flatbuffers", @@ -1483,7 +1483,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-bin" -version = "0.13.1" +version = "0.14.0" dependencies = [ "buddy_system_allocator", "cc", @@ -1502,7 +1502,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-macro" -version = "0.13.1" +version = "0.14.0" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1512,7 +1512,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-tracing" -version = "0.13.1" +version = "0.14.0" dependencies = [ "hyperlight-common", "spin", @@ -1522,7 +1522,7 @@ dependencies = [ [[package]] name = "hyperlight-host" -version = "0.13.1" +version = "0.14.0" dependencies = [ "anyhow", "bitflags 2.11.0", @@ -1607,7 +1607,7 @@ dependencies = [ [[package]] name = "hyperlight_guest_capi" -version = "0.13.1" +version = "0.14.0" dependencies = [ "cbindgen", "flatbuffers", diff --git a/Cargo.toml b/Cargo.toml index 7ad766b79d..6c3ce96242 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,7 @@ exclude = [ ] [workspace.package] -version = "0.13.1" +version = "0.14.0" edition = "2024" rust-version = "1.89" license = "Apache-2.0" @@ -36,15 +36,15 @@ repository = "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/hyperlight-dev/hyperlight" readme = "README.md" [workspace.dependencies] -hyperlight-common = { path = "src/hyperlight_common", version = "0.13.1", default-features = false } -hyperlight-host = { path = "src/hyperlight_host", version = "0.13.1", default-features = false } -hyperlight-guest = { path = "src/hyperlight_guest", version = "0.13.1", default-features = false } -hyperlight-guest-bin = { path = "src/hyperlight_guest_bin", version = "0.13.1", default-features = false } -hyperlight-guest-macro = { path = "src/hyperlight_guest_macro", version = "0.13.1", default-features = false } +hyperlight-common = { path = "src/hyperlight_common", version = "0.14.0", default-features = false } +hyperlight-host = { path = "src/hyperlight_host", version = "0.14.0", default-features = false } +hyperlight-guest = { path = "src/hyperlight_guest", version = "0.14.0", default-features = false } +hyperlight-guest-bin = { path = "src/hyperlight_guest_bin", version = "0.14.0", default-features = false } +hyperlight-guest-macro = { path = "src/hyperlight_guest_macro", version = "0.14.0", default-features = false } hyperlight-testing = { path = "src/hyperlight_testing", default-features = false } -hyperlight-guest-tracing = { path = "src/hyperlight_guest_tracing", version = "0.13.1", default-features = false } -hyperlight-component-util = { path = "src/hyperlight_component_util", version = "0.13.1", default-features = false } -hyperlight-component-macro = { path = "src/hyperlight_component_macro", version = "0.13.1", default-features = false } +hyperlight-guest-tracing = { path = "src/hyperlight_guest_tracing", version = "0.14.0", default-features = false } +hyperlight-component-util = { path = "src/hyperlight_component_util", version = "0.14.0", default-features = false } +hyperlight-component-macro = { path = "src/hyperlight_component_macro", version = "0.14.0", default-features = false } [workspace.lints.rust] unsafe_op_in_unsafe_fn = "deny" diff --git a/docs/how-to-make-releases.md b/docs/how-to-make-releases.md index f0471323ba..38cdb093fa 100644 --- a/docs/how-to-make-releases.md +++ b/docs/how-to-make-releases.md @@ -12,7 +12,7 @@ Create a PR with this change and merge it into the main branch. ## Update `CHANGELOG.md` -The `CHANGELOG.md` file is a critical document used to track changes made to Hyperlight. It serves as the foundation for generating release notes, so it's essential to keep it up to date with each release. While not every change needs to be added to this file (since a complete changelog of all PRs will be automatically generated), it's crucial to include all significant updates. +The `CHANGELOG.md` file is a critical document used to track changes made to Hyperlight. It serves as the foundation for generating release notes, so it's essential to keep it up to date with each release. While not every change needs to be added to this file (since a complete changelog of all PRs will be automatically generated), it's crucial to include all significant and user-facing updates. The changelog entries must follow [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format. ### Steps to Update `CHANGELOG.md`: diff --git a/src/tests/rust_guests/dummyguest/Cargo.lock b/src/tests/rust_guests/dummyguest/Cargo.lock index 2cd2a9a3b2..60bf721247 100644 --- a/src/tests/rust_guests/dummyguest/Cargo.lock +++ b/src/tests/rust_guests/dummyguest/Cargo.lock @@ -83,7 +83,7 @@ checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" [[package]] name = "hyperlight-common" -version = "0.13.1" +version = "0.14.0" dependencies = [ "anyhow", "flatbuffers", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "hyperlight-guest" -version = "0.13.1" +version = "0.14.0" dependencies = [ "anyhow", "flatbuffers", @@ -107,7 +107,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-bin" -version = "0.13.1" +version = "0.14.0" dependencies = [ "buddy_system_allocator", "cc", @@ -126,7 +126,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-macro" -version = "0.13.1" +version = "0.14.0" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -136,7 +136,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-tracing" -version = "0.13.1" +version = "0.14.0" dependencies = [ "hyperlight-common", "spin", diff --git a/src/tests/rust_guests/simpleguest/Cargo.lock b/src/tests/rust_guests/simpleguest/Cargo.lock index 1f0e8282ab..b0f41f5798 100644 --- a/src/tests/rust_guests/simpleguest/Cargo.lock +++ b/src/tests/rust_guests/simpleguest/Cargo.lock @@ -75,7 +75,7 @@ checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" [[package]] name = "hyperlight-common" -version = "0.13.1" +version = "0.14.0" dependencies = [ "anyhow", "flatbuffers", @@ -87,7 +87,7 @@ dependencies = [ [[package]] name = "hyperlight-guest" -version = "0.13.1" +version = "0.14.0" dependencies = [ "anyhow", "flatbuffers", @@ -99,7 +99,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-bin" -version = "0.13.1" +version = "0.14.0" dependencies = [ "buddy_system_allocator", "cc", @@ -118,7 +118,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-macro" -version = "0.13.1" +version = "0.14.0" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -128,7 +128,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-tracing" -version = "0.13.1" +version = "0.14.0" dependencies = [ "hyperlight-common", "spin", diff --git a/src/tests/rust_guests/witguest/Cargo.lock b/src/tests/rust_guests/witguest/Cargo.lock index 3be96ff2ed..e08dff3b02 100644 --- a/src/tests/rust_guests/witguest/Cargo.lock +++ b/src/tests/rust_guests/witguest/Cargo.lock @@ -180,7 +180,7 @@ dependencies = [ [[package]] name = "hyperlight-common" -version = "0.13.1" +version = "0.14.0" dependencies = [ "anyhow", "flatbuffers", @@ -192,7 +192,7 @@ dependencies = [ [[package]] name = "hyperlight-component-macro" -version = "0.13.1" +version = "0.14.0" dependencies = [ "env_logger", "hyperlight-component-util", @@ -206,7 +206,7 @@ dependencies = [ [[package]] name = "hyperlight-component-util" -version = "0.13.1" +version = "0.14.0" dependencies = [ "itertools", "prettyplease", @@ -219,7 +219,7 @@ dependencies = [ [[package]] name = "hyperlight-guest" -version = "0.13.1" +version = "0.14.0" dependencies = [ "anyhow", "flatbuffers", @@ -231,7 +231,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-bin" -version = "0.13.1" +version = "0.14.0" dependencies = [ "buddy_system_allocator", "cc", @@ -250,7 +250,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-macro" -version = "0.13.1" +version = "0.14.0" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -260,7 +260,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-tracing" -version = "0.13.1" +version = "0.14.0" dependencies = [ "hyperlight-common", "spin", @@ -700,4 +700,4 @@ dependencies = [ name = "zmij" version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" \ No newline at end of file +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"