Releases: hermit-os/uhyve
Releases · hermit-os/uhyve
Uhyve v0.7.0
What's Changed
Major:
- feat: make
KVM_CAP_X86_DISABLE_EXITSopt-in by @mkroening in #1206 - feat(uhyvefilemap): add I/O mode settings by @n0toose in #1194
Minor:
- Update CITATION.cff by @jounathaen in #1186
- docs: Add myself to
CITATION.cffby @fogti in #1185 - chore: No cargo authors by @fogti in #1188
- Citation: Use zenodo all-version doi by @jounathaen in #1197
- Fixed Clippy lints by @jounathaen in #1198
- CI: Added timeout for integration tests by @jounathaen in #1200
Full Changelog: v0.6.0...v0.7.0
0.6.0
What's Changed
Highlights
- improve macOS support by @stlankes in #936
- Introduce Landlock isolation support by @n0toose in #816
- feat(sandbox): add fd sandbox by @n0toose in #981
- feat: add TOML configuration for Uhyve by @n0toose in #1038
- feat(gdb): don't rely on resolving localhost, choose random port if no port is set by @n0toose in #1049
- fix: make Uhyve exit on vCPU panics by @mkroening in #1138
- feat(tempdir): create tempdirs in /tmp subdir by @n0toose in #1046
- fix: don't delay vCPU threads by @mkroening in #1155
- Announce mounts in FDT for arbitrary mount points by @jounathaen in #1154
- fix(musl): add pthread workaround by @n0toose in #1120
Other
- Added panic integration test by @jounathaen in #905
- Multicore test by @jounathaen in #906
- ci: prepare running KVM jobs on GitHub runners by @mkroening in #909
- ci: assert
Cargo.lockis unchanged by @mkroening in #910 - fix(aarch64):
clippy::precedenceby @mkroening in #911 - feat: upgrade to Rust 2024 by @mkroening in #912
- fix: provide type annotations in comparisons by @mkroening in #935
- Enhanced & fixed CPU initialization by @jounathaen in #951
- aarch64: fix bug in the initialization of the page tables by @stlankes in #952
- add support of contiguous bit by @stlankes in #956
- encode the timer configuration in the devicetree by @stlankes in #958
- ci: make dependabot group for rftrace by @mkroening in #966
- test(landlock): spawn new thread for fs tests by @n0toose in #970
- chore: fix clippy warnings (05-05-2025) by @n0toose in #965
- tests(gdb): remove assert_fs dependency by @n0toose in #983
- test(fs): use single kernel, fdt parameter passing by @n0toose in #985
- Restore files from Git LFS by @n0toose in #996
- Added Integration Test for
lseekby @jounathaen in #894 - Added invalid kernel path error and improved uhyve error message by @jounathaen in #998
- ci: remove lfs by @n0toose in #1004
- fix(lfs): actually add binaries back to tree by @n0toose in #1012
- fix(hypercall): Fix missing return on invalid open() flags by @fogti in #1010
- refactor(arch/x86_64): get rid of unnecessary .try_into().unwrap() by @n0toose in #1008
- refactor(tests): use vec! to avoid unnecessary allocs by @n0toose in #1009
- chore: fix some clippy warnings (27-06-2025) by @n0toose in #994
- UhyveFileMap: Improve path/string handling and code style by @n0toose in #1016
- nit(src/mem.rs): remove unnecessary ref mut annotation by @n0toose in #1018
- refactor(vm): smaller idiomaticity fixes by @fogti in #1021
- Removed useless allows by @jounathaen in #1020
- chore: prefer expect attr and reasons by @n0toose in #1019
- fix(mem): Fix undefined behavior in HugePageAlignedMem by @fogti in #1023
- refactor: categorize Args entries by @n0toose in #1029
- docs(readme): replace hermit-playground with hermit-c by @n0toose in #1030
- ci: skip for markdown and image files by @n0toose in #1031
- Revert "ci: skip for markdown and image files" by @n0toose in #1033
- chore(bin/uhyve): DRY regarding serde/merge attributes by @fogti in #1041
- fix(bin/uhyve): improve
Affinityparsing by @fogti in #1045 - chore(bin/uhyve): get rid of unnecessary
{String,PathBuf}::from_strcalls by @fogti in #1057 - nit(params): fix clippy::manual_is_multiple_of by @n0toose in #1082
- fix(bin/uhyve): fix panic when
affinitydoesn't match withcpu_countby @fogti in #1048 - fix(rftrace): fix parameters, allow static mut refs by @n0toose in #991
- style: use #[default] macro in enums by @n0toose in #1087
- fix(linux): use libc for real-time signal handling by @n0toose in #1085
- fix(x86_64): increase gap from 768MiB to 1GiB by @n0toose in #1107
- style(mem): use as_usize() directly by @n0toose in #1104
- style(linux/x86_64): remove redundant kvm cap declarations by @n0toose in #1111
- Some nitpicks for logging by @n0toose in #1113
- feat(hypercall): prevent some read/write panic scenarios by @n0toose in #1114
- feat(bin/uhyve): use config from cwd, XDG_CONFIG_HOME by @n0toose in #1047
- ci: add --no-fail-fast to cargo test by @n0toose in #1126
- fix(kvm): handle disabling exits gracefully by @mkroening in #1130
- refactor(isolation): simplify
split_guest_and_host_pathby @fogti in #1141 - test(fs-test): Add integration test for panic on write to read-only file by @fogti in #1147
- fix(isolation): make tempdir creation more robust against races by @fogti in #1152
- refactor(tests): fix contention on test-kernel builds by @fogti in #1151
- fix: make Uhyve exit on simultaneous vCPU exits by @mkroening in #1153
- nit(gitignore): add .gdbinit by @n0toose in #1156
- feat(isolation/fd): implement virtual file descriptors by @fogti in #1140
- fix(hypercall): uniform error reporting on invalid hypercalls by @fogti in #1160
- style(linux): fix function_casts_as_integer lint by @n0toose in #1165
- deps:
randshouldn't be optional by @fogti in #1163 - chore: get rid of
uhyve_interace::elfby @fogti in #1169 - annotate(hypercall/lseek): make sure missing constants cause compile-time error by @fogti in #1170
- style: use generic NonZero by @n0toose in #1178
- fix(hypercall): move write standard output case outside of loop by @n0toose in #1179
New Contributors
Full Changelog: v0.5.0...v0.6.0
0.5.0
Major Changes:
- Create sandbox for host file system access by @n0toose in #783
- Fix TSC frequency by @jounathaen in #871
- ASLR support by @n0toose & @jounathaen in #725
- Fixed AMD performance issue by @jounathaen in #902
- Added selective environment passing for VM by @jounathaen in #890
- Logging: Default to Warn (and removed timestamps from log) by @jounathaen in #892
Other Changes:
- style: fix clippy errors from 28-11-2024 by @n0toose in #812
- docs(readme): replace hermitcore with hermit-os by @n0toose in #817
- feat(isolation): improve canonicalization of host paths by @n0toose in #819
- nit(hypercall): remove unnecessary .as_bytes() call by @n0toose in #813
- refactor: split isolation.rs into files by @n0toose in #814
- build(deps): Bump x86_64 from 0.15.1 to 0.15.2 by @dependabot in #824
- build(deps): Bump x86_64 from 0.15.1 to 0.15.2 in /tests/test-kernels by @dependabot in #821
- build(deps): Bump aarch64 from 0.0.11 to 0.0.13 by @dependabot in #822
- build(deps): Bump libc from 0.2.165 to 0.2.167 by @dependabot in #823
- feat(isolation): move tempdir functionality to UhyveFileMap by @n0toose in #825
- Use of GuestPhysAddr & added HugePageAlignedMem struct by @jounathaen in #826
- build(deps): Bump clap from 4.5.21 to 4.5.23 by @dependabot in #830
- build(deps): Bump thiserror from 2.0.3 to 2.0.6 by @dependabot in #831
- build(deps): Bump time from 0.3.36 to 0.3.37 by @dependabot in #832
- docs(readme): fix configuration section by @mkroening in #838
- docs(readme): change tagline, condense information by @n0toose in #828
- build(deps): Bump kvm-ioctls from 0.19.0 to 0.19.1 in the rust-vmm group by @dependabot in #840
- build(deps): Bump libc from 0.2.167 to 0.2.168 by @dependabot in #841
- build(deps): Bump sysinfo from 0.32.1 to 0.33.0 by @dependabot in #842
- build(deps): Bump env_logger from 0.11.5 to 0.11.6 by @dependabot in #846
- build(deps): Bump thiserror from 2.0.6 to 2.0.9 by @dependabot in #845
- build(deps): Bump libc from 0.2.168 to 0.2.169 by @dependabot in #847
- Introduce tempfile improvements by @n0toose in #852
- nit(cli): move file_mapping further up in Args by @n0toose in #851
- docs(readme): move contributing instructions to wiki by @n0toose in #835
- build(deps): Bump sysinfo from 0.33.0 to 0.33.1 by @dependabot in #848
- fix(hypercall): use sanitized flags for mapped files by @n0toose in #853
- feat(uhyvefilemap): improve guest path handling by @n0toose in #844
- feat(tempfile): allow usage of custom tempdir locations by @n0toose in #856
- build(deps): Bump uuid from 1.11.0 to 1.11.1 by @dependabot in #858
- build(deps): Bump clap from 4.5.23 to 4.5.26 by @dependabot in #859
- build(deps): Bump bitflags from 2.6.0 to 2.7.0 by @dependabot in #860
- Added CITATION file, fixes #811 by @jounathaen in #861
- Updated CITATION.cff by @jounathaen in #865
- build(deps): Bump log from 0.4.22 to 0.4.25 by @dependabot in #870
- build(deps): Bump thiserror from 2.0.9 to 2.0.11 by @dependabot in #869
- build(deps): Bump the rust-vmm group with 2 updates by @dependabot in #868
- fix(sandbox): only create tempfiles with O_CREAT flag by @n0toose in #866
- build(deps): Bump uuid from 1.11.1 to 1.12.1 by @dependabot in #872
- build(deps): Bump hermit-entry from 0.10.1 to 0.10.2 by @dependabot in #873
- build(deps): Bump bitflags from 2.7.0 to 2.8.0 by @dependabot in #874
- feat(bootinfo): put TSC frequency into FDT by @mkroening in #876
- Updated & refined tests by @jounathaen in #877
- Refactor: created separate UhyveSerial struct by @jounathaen in #878
- Added architecture agnostic error by @jounathaen in #879
- Use sealed trait pattern to avoid private trait in public interface warning by @jounathaen in #880
- Removed unwanted
pubfrom uhyvelib by @jounathaen in #881 - Minor improvements by @jounathaen in #883
- Minor fixes by @jounathaen in #884
- Removed x86_64 support for macos by @jounathaen in #882
- Slight Clap help text improvements by @jounathaen in #885
- build(deps): Bump clap from 4.5.26 to 4.5.27 by @dependabot in #887
- build(deps): Bump raw-cpuid from 11.2.0 to 11.3.0 by @dependabot in #889
- build(deps): Bump tempfile from 3.15.0 to 3.16.0 by @dependabot in #888
- build(deps): Bump rftrace-frontend from 0.1.0 to 0.2.2 by @dependabot in #773
- More tests for hypercalls by @jounathaen in #893
- build(deps): Bump clap from 4.5.27 to 4.5.28 by @dependabot in #899
- build(deps): Bump uuid from 1.12.1 to 1.13.1 by @dependabot in #901
- build(deps): Bump mac_address from 1.1.7 to 1.1.8 by @dependabot in #898
- build(deps): upgrade rand to version 0.9 by @dependabot in #900
- build(deps): Bump rftrace from 0.1.0 to 0.2.2 by @dependabot in #774
Full Changelog: v0.4.0...v0.5.0
0.4.0
🚀 Features
- Create FDT with bootargs
- Put env vars into FDT bootargs
- Put memory layout into FDT
🐛 Bug Fixes
- (x86_64) Don't panic on unknown port
- (dead_code) Remove unused shared_queue module
- Make args
Strings - (params) Ambiguous reference to positional arguments
- (benches) Replace M with MiB to fix breakage
- (benches) Look for local hermit-loader-x86_64 copy
💼 Other
- Publish binaries using GitHub Actions on new tag
- Extend test_mmap_memory_readwrite()
- Enable RUST_BACKTRACE for tests
- Make it more beginner-friendly
- Update crate metadata
- Don't take ownership on fn port()
- Added pagetable pretty printing function for debugging
- Store params and remove separate num_cpu and path fields
- (gitignore) Add hermit-loader-x86_64
- Hypercall::port -> don't take ownership of self
- Don't use x86_64 feature on aarch64 and vice-versa
- Run separate jobs for macos-clippy x86_64 and aarch64
- (deps) Update
Cargo.lock
🚜 Refactor
- Migrate from
lazy_statictostd::sync::LazyLock
📚 Documentation
- Capitalize Uhyve
- (readme) Fix and improve VS Code mention
- (fdt) Add documentation
🧪 Testing
- Improve output information
- Ensure the env_logger is initialized
- (serial) Remove file if it already exists
- Add fs-related helper functions
- (serial) Assert output before code
⚙️ Miscellaneous Tasks
- Remove appendix from
LICENSE-APACHE
Uhyve 0.3.0 and uhyve-interface 0.1.1
What's Changed
- Big refactor by @jounathaen in #527
- fix: remove test images from releases by @mkroening in #674
- build(deps): bump hermit-entry from 0.9.10 to 0.10.0 by @mkroening in #672
- Uhyve now requires applications to use
hermit = "0.9.0"
- Uhyve now requires applications to use
Full Changelog: v0.2.3...v0.3.0
Uhyve 0.2.3 and uhyve-interface 0.1.0
What's Changed
- Fix the non working integration tests by @jounathaen in #495
- Delete bors.toml by @mkroening in #502
- Upgrade to raw-cpuid 11 by @mkroening in #505
- Implement FrequencyDetectionFailed via thiserror by @mkroening in #506
- Move Hypercall interface in distinct crate by @jounathaen in #452
- Bumped hermit-sys to 0.5 by @jounathaen in #526
- Removed old disfunctional and unused networking code. by @jounathaen in #519
- Improved memory size checking. by @jounathaen in #533
- Fix unused-mut by @mkroening in #543
- chore: rename RustyHermit to Hermit by @mkroening in #563
- build(deps): upgrade nix from 0.26.2 to 0.27.1 by @mkroening in #566
- build(deps): bump kvm-ioctls to 0.15 by @mkroening in #594
- build(deps): upgrade to gdbstub 0.7 by @mkroening in #595
- build(deps): upgrade to byte-unit 5 by @mkroening in #593
- refactor: fix clippy::unnecessary_fallible_conversions by @mkroening in #605
- dependabot: create rust-vmm group by @mkroening in #612
- dependabot: add test kernel by @mkroening in #621
- test: update test kernels to hermit 0.8 by @mkroening in #620
- Added a uhyve logo by @jounathaen in #567
- add Zulip link by @stlankes in #625
- CI: Run pre-built rusty_demo instead of building upstream by @mkroening in #466
- Added .vscode to gitignore by @jounathaen in #644
- ci: add timeout for running images by @mkroening in #646
- ci: fix caching by @mkroening in #647
- ci: unify and fix clippy jobs by @mkroening in #648
- Benches fix by @jounathaen in #649
- ci: run Clippy for macOS on macOS by @mkroening in #650
- ci: pin codecov to v4.0.2 by @mkroening in #663
- ci: unpin codecov by @mkroening in #666
- chore: release version 0.2.3 by @mkroening in #667
- build(deps): specify uhyve-interface dependency version for publishing by @mkroening in #668
Full Changelog: v0.2.2...v0.2.3
0.2.2
What's Changed
- Upgrade nix to 0.26 by @mkroening in #446
- Fix clippy lints by @mkroening in #449
- Prettyfied use statements in the whole project by @jounathaen in #451
- Removed obsolete
SHUTDOWN_PORT. Fixes #453 by @jounathaen in #456 - Migrate from deprecated license format to SPDX License Expression by @mkroening in #459
- Fix clippy::uninlined_format_args by @mkroening in #464
- Bors: Require run images job by @mkroening in #467
- Update test kernels by @mkroening in #469
- Make CI faster by @mkroening in #468
- CI: Install Rust on every job by @mkroening in #472
- CI: Disable sparse registry for kernel by @mkroening in #480
- add support of the latest hermit-entry abi by @stlankes in #488
Full Changelog: v0.2.1...v0.2.2
0.2.1
What's Changed
- CI: Use normal hermit source again by @mkroening in #389
- Bump hermit-entry to 0.9.1 by @mkroening in #390
- CI: Use main branch of rusty-hermit by @mkroening in #392
- Bump either from 1.7.0 to 1.8.0 by @dependabot in #394
- Bump gdbstub_arch from 0.2.3 to 0.2.4 by @dependabot in #395
- Bump raw-cpuid from 10.4.0 to 10.5.0 by @dependabot in #396
- Bump gdbstub from 0.6.2 to 0.6.3 by @dependabot in #393
- Bump libc from 0.2.131 to 0.2.132 by @dependabot in #397
- Bump time from 0.3.13 to 0.3.14 by @dependabot in #398
- Update Dependencies by @mkroening in #399
- Bump clap from 3.2.17 to 3.2.20 by @dependabot in #400
- Bump thiserror from 1.0.32 to 1.0.34 by @dependabot in #401
- Panic if no space for kernel stack by @mkroening in #403
- Rework Drop impls by @mkroening in #404
- Bump env_logger from 0.9.0 to 0.9.1 by @dependabot in #405
- Bump raw-cpuid from 10.5.0 to 10.6.0 by @dependabot in #406
- Bump burst from 0.0.2 to 0.0.3 by @dependabot in #407
- Bump clap from 3.2.20 to 3.2.22 by @dependabot in #408
- Minor cleanup by @mkroening in #409
- Bump thiserror from 1.0.34 to 1.0.36 by @dependabot in #410
- Bump mac_address from 1.1.3 to 1.1.4 by @dependabot in #411
- Bump libc from 0.2.132 to 0.2.133 by @dependabot in #412
- Bump thiserror from 1.0.36 to 1.0.37 by @dependabot in #415
- Bump libc from 0.2.133 to 0.2.134 by @dependabot in #413
- Bump time from 0.3.14 to 0.3.15 by @dependabot in #416
- Upgrade to clap 4 by @mkroening in #418
- Update benches_data images by @mkroening in #419
- Bump criterion from 0.3.6 to 0.4.0 by @dependabot in #402
- Bump libc from 0.2.134 to 0.2.135 by @dependabot in #420
- Bump clap from 4.0.12 to 4.0.15 by @dependabot in #421
- Integration tests: Upgrade hermit-sys to 0.4 by @mkroening in #423
- Bump clap from 4.0.15 to 4.0.18 by @dependabot in #422
- Bump libc from 0.2.135 to 0.2.137 by @dependabot in #424
- Bump time from 0.3.15 to 0.3.16 by @dependabot in #425
- Bump clap from 4.0.18 to 4.0.19 by @dependabot in #428
- Bump time from 0.3.16 to 0.3.17 by @dependabot in #429
- Bump byte-unit from 4.0.14 to 4.0.17 by @dependabot in #430
- Bump assert_fs from 1.0.7 to 1.0.8 by @dependabot in #427
- Bump clap from 4.0.19 to 4.0.23 by @dependabot in #431
- Bump vmm-sys-util from 0.10.0 to 0.11.0 by @dependabot in #432
- Bump assert_fs from 1.0.8 to 1.0.9 by @dependabot in #433
- Bump env_logger from 0.9.1 to 0.9.3 by @dependabot in #434
- Release 0.2.1 by @mkroening in #436
Full Changelog: v0.2.0...v0.2.1
0.2.0
Breaking
This changes hermit-entry version to 2.
What's Changed
- Remove unused NetInfo from BootInfo by @mkroening in #373
- Upgrade hermit-entry to 0.5.0 by @mkroening in #375
- Upgrade hermit-entry to 0.6.0 by @mkroening in #376
- Bump clap from 3.2.15 to 3.2.16 by @dependabot in #377
- Cleanup dependencies by @mkroening in #379
- Move kernel loading to hermit-entry by @mkroening in #378
- Upgrade to hermit-entry 0.8.0 by @mkroening in #380
- Bump libc from 0.2.126 to 0.2.127 by @dependabot in #383
- Bump thiserror from 1.0.31 to 1.0.32 by @dependabot in #384
- Bump time from 0.3.11 to 0.3.12 by @dependabot in #385
- Bump raw-cpuid from 10.3.0 to 10.4.0 by @dependabot in #386
- Bump tun-tap from 0.1.2 to 0.1.3 by @dependabot in #387
- Upgrade to hermit-entry version 2 by @mkroening in #367
- Release version 0.2.0 by @mkroening in #388
Full Changelog: v0.1.3...v0.2.0
0.1.3
What's Changed
- CI: Don't install unused hermit cargo dependencies by @mkroening in #363
- Bump clap from 3.2.12 to 3.2.14 by @dependabot in #364
- Upgrade hermit-entry to 0.2.0 by @mkroening in #365
- Upgrade to hermit-entry 0.3.0 by @mkroening in #366
- Bump hermit-entry to version 0.3.1 by @mkroening in #369
- Upgrade to hermit-entry 0.4.0 by @mkroening in #370
- Correctly set possible_cpus by @mkroening in #371
- Release version 0.1.3 by @mkroening in #372
Full Changelog: v0.1.2...v0.1.3