Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion .github/workflows/CargoPublish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
VERSION="${VERSION#refs/heads/release/v}"
echo "VERSION=$VERSION" >> $GITHUB_ENV
fi
./dev/verify-version.sh "$VERSION" hyperlight-common hyperlight-guest hyperlight-guest-bin hyperlight-host hyperlight-component-util hyperlight-component-macro
./dev/verify-version.sh "$VERSION" hyperlight-common hyperlight-guest hyperlight-guest-bin hyperlight-host hyperlight-component-util hyperlight-component-macro hyperlight-guest-tracing-macro hyperlight-guest-tracing

- name: Determine which crates need publishing
run: |
Expand Down Expand Up @@ -75,13 +75,29 @@ jobs:
needs_publish hyperlight-component-util
needs_publish hyperlight-component-macro
needs_publish hyperlight-host
needs_publish hyperlight-guest-tracing-macro
needs_publish hyperlight-guest-tracing

- name: Publish hyperlight-common
continue-on-error: ${{ inputs.dry_run }}
run: cargo publish --manifest-path ./src/hyperlight_common/Cargo.toml ${{ inputs.dry_run && '--dry-run' || '' }}
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_PUBLISH_TOKEN }}
if: env.PUBLISH_HYPERLIGHT_COMMON != 'false'

- name: Publish hyperlight-guest-tracing-macro
continue-on-error: ${{ inputs.dry_run }}
run: cargo publish --manifest-path ./src/hyperlight_guest_tracing_macro/Cargo.toml ${{ inputs.dry_run && '--dry-run' || '' }}
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_PUBLISH_TOKEN }}
if: env.PUBLISH_HYPERLIGHT_GUEST_TRACING_MACRO != 'false'

- name: Publish hyperlight-guest-tracing
continue-on-error: ${{ inputs.dry_run }}
run: cargo publish --manifest-path ./src/hyperlight_guest_tracing/Cargo.toml ${{ inputs.dry_run && '--dry-run' || '' }}
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_PUBLISH_TOKEN }}
if: env.PUBLISH_HYPERLIGHT_GUEST_TRACING != 'false'

- name: Publish hyperlight-guest
continue-on-error: ${{ inputs.dry_run }}
Expand Down
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,36 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

## [Prerelease] - Unreleased

## [v0.8.0] - 2025-08-08

:warning: `hyperlight_component_macro::host_bindgen` and `hyperlight_component_macro::guest_bindgen` used the `Callable` trait which no longer restores state after each function call and requires an explicit Snapshot Restore using the newly exposed Snapshot API. See https://github.com/hyperlight-dev/hyperlight/pull/697 and https://github.com/hyperlight-dev/hyperlight/pull/761

### Fixed
- gdb: fix issue "Debug not enabled" when `gdb` feature was enabled by @dblnz in https://github.com/hyperlight-dev/hyperlight/pull/678
- Fix Windows build with `--no-default-features` by @danbugs in https://github.com/hyperlight-dev/hyperlight/pull/712
- fix(guest-bin): move logger initialization by @andreiltd in https://github.com/hyperlight-dev/hyperlight/pull/755
- Fix mem mgr not initialized by @dblnz in https://github.com/hyperlight-dev/hyperlight/pull/745

### Changed
- Remove some dev-dependencies and cargo features to speed up compilation by @ludfjig in https://github.com/hyperlight-dev/hyperlight/pull/535
- Introduce a separate KVM error variant of HyperlightError. by @ludfjig in https://github.com/hyperlight-dev/hyperlight/pull/771API. by @jprendes in https://github.com/hyperlight-dev/hyperlight/pull/697
- Evolving and Devolving apis replaced by Snapshot API
- Remove sandbox evolving and devolving and replace it with snapshotting API. by @jprendes in https://github.com/hyperlight-dev/hyperlight/pull/697
- Bring back the previous behavior of `call_guest_function_by_name` by @jprendes in https://github.com/hyperlight-dev/hyperlight/pull/761

### Added
- Memory Mapping Support
- Support mapping host memory into the guest by @syntactically in https://github.com/hyperlight-dev/hyperlight/pull/696
- Make MultiUseSandbox::map_file_cow public by @ludfjig in https://github.com/hyperlight-dev/hyperlight/pull/725
- Add memory mapping support with KVM by @jprendes in https://github.com/hyperlight-dev/hyperlight/pull/709
- Make sure mmapped memory is not mapped writeable into sandbox in kvm by @ludfjig in https://github.com/hyperlight-dev/hyperlight/pull/740
- Make snapshots region aware by @ludfjig in https://github.com/hyperlight-dev/hyperlight/pull/742
- Restrict restoring sandboxes to snapshot taken on self by @ludfjig in https://github.com/hyperlight-dev/hyperlight/pull/746
- Enable guest tracing by @dblnz in https://github.com/hyperlight-dev/hyperlight/pull/695

### Removed
- Removed the OutBHandler and MemAccessHandler abstractions and related implementations. by @simongdavies in https://github.com/hyperlight-dev/hyperlight/pull/732

## [v0.7.0] - 2025-06-26

### Fixed
Expand Down
18 changes: 9 additions & 9 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 9 additions & 9 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ exclude = [
]

[workspace.package]
version = "0.7.0"
version = "0.8.0"
edition = "2024"
rust-version = "1.86"
license = "Apache-2.0"
Expand All @@ -37,15 +37,15 @@ repository = "https://github.com/hyperlight-dev/hyperlight"
readme = "README.md"

[workspace.dependencies]
hyperlight-common = { path = "src/hyperlight_common", version = "0.7.0", default-features = false }
hyperlight-host = { path = "src/hyperlight_host", version = "0.7.0", default-features = false }
hyperlight-guest = { path = "src/hyperlight_guest", version = "0.7.0", default-features = false }
hyperlight-guest-bin = { path = "src/hyperlight_guest_bin", version = "0.7.0", default-features = false }
hyperlight-common = { path = "src/hyperlight_common", version = "0.8.0", default-features = false }
hyperlight-host = { path = "src/hyperlight_host", version = "0.8.0", default-features = false }
hyperlight-guest = { path = "src/hyperlight_guest", version = "0.8.0", default-features = false }
hyperlight-guest-bin = { path = "src/hyperlight_guest_bin", version = "0.8.0", default-features = false }
hyperlight-testing = { path = "src/hyperlight_testing", default-features = false }
hyperlight-guest-tracing = { path = "src/hyperlight_guest_tracing", default-features = false }
hyperlight-guest-tracing-macro = { path = "src/hyperlight_guest_tracing_macro", default-features = false }
hyperlight-component-util = { path = "src/hyperlight_component_util", version = "0.7.0", default-features = false }
hyperlight-component-macro = { path = "src/hyperlight_component_macro", version = "0.7.0", default-features = false }
hyperlight-guest-tracing = { path = "src/hyperlight_guest_tracing", version = "0.8.0", default-features = false }
hyperlight-guest-tracing-macro = { path = "src/hyperlight_guest_tracing_macro", version = "0.8.0", default-features = false }
hyperlight-component-util = { path = "src/hyperlight_component_util", version = "0.8.0", default-features = false }
hyperlight-component-macro = { path = "src/hyperlight_component_macro", version = "0.8.0", default-features = false }

[workspace.lints.rust]
unsafe_op_in_unsafe_fn = "deny"
Expand Down
10 changes: 5 additions & 5 deletions src/tests/rust_guests/callbackguest/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions src/tests/rust_guests/simpleguest/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions typos.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ extend-exclude = ["**/*.patch", "src/hyperlight_guest_bin/third_party/**/*", "NO
[default.extend-words]
# typ is used for field name as type is a reserved keyword
typ="typ"
mmaped="mmapped"
Loading