Skip to content

Releases: hyperlight-dev/hyperlight

Latest prerelease from main branch

Pre-release

Choose a tag to compare

@github-actions github-actions released this 03 Jul 06:17
66a2913

What's Changed

Added

Changed

Removed

Fixed

Full Changelog (excl. dependencies)

Full Changelog (dependencies)

  • chore(deps): bump actions/cache from 5.0.5 to 6.1.0 by @dependabot[bot] in #1598
  • chore(deps): bump actions-rust-lang/setup-rust-toolchain from 1.16.1 to 1.17.0 by @dependabot[bot] in #1582
  • chore(deps): bump addr2line from 0.26.1 to 0.27.0 by @dependabot[bot] in #1586
  • chore(deps): bump proc-maps from 0.4.0 to 0.5.0 by @dependabot[bot] in #1601

Full Changelog: v0.16.0...dev-latest

Release v0.16.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 23:11
6a044d2

What's Changed

Added

  • Initial aarch64/KVM guest and host support, including memory layout, virtual memory operations, exception handlers, MMIO exits, register handling, and CI workflows by @syntactically in #1474
  • Snapshot::save, Snapshot::load, and Snapshot::checked_load for persisting and loading sandbox snapshots as OCI Image Layout directories by @ludfjig in #1465. Note that Hyperlight is at version 0.x, so a snapshot taken on one version may not load on another version.
  • Create sandboxes directly from snapshots by @ludfjig in #1459
  • Cross-sandbox snapshot restore (snapshots are no longer tied to the sandbox that created them) by @ludfjig in #1499
  • Support for WHP no-surrogate mode via HYPERLIGHT_MAX_SURROGATES=0 by @danbugs in #1578
  • Wasmtime flags! macro support for WIT flags types by @jsturtevant in #1327

Changed

  • Breaking: MultiUseSandbox::map_file_cow and UninitializedSandbox::map_file_cow no longer take a label argument. The APIs now accept only (file_path, guest_base) by @simongdavies in #1525.
  • Updated Rust toolchain to 1.94 by @simongdavies in #1527
  • Updated surrogate process to no_std, reducing overhead of loading unnecessary libraries by @simongdavies in #1533
  • Replaced tracing-log with native tracing macros for guest log forwarding by @cshung in #1500
  • MSHV: use VP register page for RIP/RAX writes in run_vcpu for improved performance by @ludfjig in #1366
  • MSHV: skip RIP advance on VmAction::Halt fast path by @ludfjig in #1476
  • Faster memcpy/memset implementations by @ludfjig in #1473

Removed

  • Removed the experimental i686-guest, nanvix-unstable, and guest-counter feature flags, along with 32-bit (i686) guest support and its page-table/snapshot code paths. Hyperlight guests are now 64-bit only (x86_64 and aarch64) by @simongdavies in #1525.

Fixed

Full Changelog (excl. dependencies)

Full Changelog (dependencies)

Read more

Release v0.15.0

Choose a tag to compare

@github-actions github-actions released this 07 May 15:01
9749e04

What's Changed

Added

  • #[main] and #[dispatch] macros for type-safe guest entry points by @jprendes in #1384
  • Implement Registerable for MultiUseSandbox by @danbugs in #1392
  • Guest compilation support for aarch64 by @ludfjig in #1297
  • i686 page tables, snapshot compaction, and copy-on-write support by @danbugs and @ludfjig in #1385

Changed

  • Breaking: Replace musl with picolibc as C standard library for guests by @andreiltd in #831
  • Replace nanvix-unstable feature flag with i686-guest and guest-counter features by @danbugs and @ludfjig in #1385

Fixed

Full Changelog (excl. dependencies)

  • feat: enable guest compilation for aarch64 by @ludfjig in #1297
  • feat(clippy): add disallowed macros for asserts in clippy.toml by @simongdavies in #1376
  • fix(whp): use NULL DACL for map_file_cow file mapping sections by @danbugs in #1386
  • Re-export guest types and error utilities from hyperlight_guest_bin by @jprendes in #1383
  • fix(whp): respect IO port access size in IoPortAccess exit handler by @danbugs in #1387
  • fix(whp): handle unaligned files in map_file_cow by @danbugs in #1388
  • feat: Add #[main] and #[dispatch] macros for type-safe guest entry points by @jprendes in #1384
  • feat(host): implement Registerable for MultiUseSandbox by @danbugs in #1392
  • don't let scratch region overlap with kvm apic page by @ludfjig in #1393
  • feat(guest): replace musl with picolibc by @andreiltd in #831
  • Remove disallowed-macros lint by @simongdavies in #1397
  • feat: i686 page tables, snapshot compaction, and CoW (standalone) by @danbugs in #1385
  • fix(ci): pin cargo-hyperlight version by @andreiltd in #1413
  • Use static picolibc.h file instead of generating it at buildtime by @jprendes in #1407
  • fix(ci): force install cargo-hyperlight by @andreiltd in #1420
  • Fix picolibc submodule commit by @ludfjig in #1427
  • Fix flaky gdb tests by detaching from inside the bp commands by @ludfjig in #1435
  • Move libc from hyperlight-guest-bin to hyperlight-libc by @jprendes in #1437
  • Add hyperlight-libc to CI publishing by @jprendes in #1439
  • Bump crates to 0.15.0 and CHANGELOG entries by @jprendes in #1440
  • Fix C headers archive for picolibc by @jprendes in #1438
  • Use latest cargo-hyperlight in release workflow by @jprendes in #1441
  • Checkout picolibc submodule before building includes.tar.gz by @jprendes in #1443
  • Checkout picolibc submodule before publishing crates by @jprendes in #1444

Full Changelog (dependencies)

Full Changelog: v0.14.0...v0.15.0

Release v0.14.0

Choose a tag to compare

@github-actions github-actions released this 01 Apr 23:05
1a90040

What's Changed

Changed

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 #1339
  • Fix a race where guest cancellation could cause a pending TLB flush to be lost by @ludfjig in #1333
  • Fix spurious GuestAborted errors after repeated cancel+restore cycles by @ludfjig in #1335

Full Changelog (excl. dependencies)

Full Changelog (dependencies)

Full Changelog: v0.13.1...v0.14.0

Release v0.13.1

Choose a tag to compare

@github-actions github-actions released this 19 Mar 20:44
cb17894

What's Changed

Fixed

  • Explicitly error out on host-guest version mismatch by @ludfjig in #1252

Added

Full Changelog (excl. dependencies)

Full Changelog (dependencies)

Full Changelog: v0.13.0...v0.13.1

Release v0.13.0

Choose a tag to compare

@github-actions github-actions released this 06 Mar 17:30
e930c91

What's Changed

Fixed

  • fix(windows): prevent WHvDeletePartition race by @ludfjig in #1101
  • Fix guest tracing filter by @dblnz in #977
  • Add crashdump example and include snapshot/scratch in core dumps by @jsturtevant in #1264

Changed

Added

Removed

Full Changelog (excl. dependencies)

Full Changelog (dependencies)

Read more

Release v0.12.0

Choose a tag to compare

@github-actions github-actions released this 09 Dec 19:19
3be7ad9

What's Changed

Fixed

  • Fix guest tracing deadlock when exception happens during tracing data serialization by @dblnz in #1066
  • Fix StackOverflow produced by guest logging by @dblnz in #1067
  • Fix guest call to halt not dropping allocated trace data leading to memory leak by @dblnz in #1072
  • Update the interrupt handler for 16byte alignment by @jsturtevant in #1037

Added

  • Guest function improvements and macros by @jprendes in #851
  • Add metric for erroneous vCPU kicks from stale cancellations by @Copilot in #1034

Removed

  • Remove outdated is_supported_platform (use is_hypervisor_present instead) and unused ExtraAllowedSyscall by @ludfjig in #1062

Full Changelog (excl. dependencies)

Full Changelog (dependencies)

Full Changelog: v0.11.0...v0.12.0

Release v0.11.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 23:10
d5aea38

What's Changed

Fixed

Changed

  • Unify register representation across hypervisors by @ludfjig in #907
  • Guest tracing improvements to use tracing crate by @dblnz in #844
  • Serialize guest trace data using flatbuffers by @dblnz in #999

Added

Removed

Full Changelog (excl. dependencies)

  • Restructure guest/host error handling by @ludfjig in #868
  • Fix join github actions job by @ludfjig in #944
  • Adding FFI functions for Hyperlight Guest CAPI by @vshailesh in #950
  • Fix unused import error in nightly musl clippy exhaustive check by @Copilot in #948
  • Unify register representation across hypervisors by @ludfjig in #907
  • Add support for mmapped memory in crashdumps and guest debugging by @dblnz in #943
  • Guest tracing improvements to use tracing crate by @dblnz in #844
  • Remove seccomp by @dblnz in #971
  • Crashdump on demand by @simongdavies in #972
  • Add poison state to sandbox by @ludfjig in #931
  • Fixes a race condition in killing Sandboxes by @simongdavies in #959
  • Revert temporary fuzz fix by @ludfjig in #1000
  • Allow windows more time to enter guest func for interrupt benchmark by @ludfjig in #1004
  • Serialize guest trace data using flatbuffers by @dblnz in #999

Full Changelog (dependencies)

Full Changelog: v0.10.0...v0.11.0

Release v0.9.1

Choose a tag to compare

@github-actions github-actions released this 29 Oct 13:53
418b3c6

What's Changed

Fixed

Changed

Full Changelog (excl. dependencies)

Full Changelog: v0.9.0...v0.9.1

Release v0.10.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 22:43
7647dce

What's Changed

Fixed

  • Fix error code conversion for Exception enum TryFrom implementation by @vshailesh in #869
  • Remove Allocations from Panic Handler by @adamperlin in #818

Changed

Full Changelog (excl. dependencies)

Full Changelog (dependencies)

New Contributors

Full Changelog: v0.9.0...v0.10.0