diff --git a/Cargo.lock b/Cargo.lock index f1ee8b033..5029abdc1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -210,7 +210,7 @@ dependencies = [ [[package]] name = "cloud-hypervisor" -version = "0.10.0" +version = "0.11.0" dependencies = [ "anyhow", "api_client", diff --git a/Cargo.toml b/Cargo.toml index a9fd3a101..5d2f52d2c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cloud-hypervisor" -version = "0.10.0" +version = "0.11.0" authors = ["The Cloud Hypervisor Authors"] edition = "2018" default-run = "cloud-hypervisor" diff --git a/release-notes.md b/release-notes.md index 949572bee..c74b717b3 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,10 +1,23 @@ +- [v0.11.0](#v0110) + - [`io_uring` support by default for `virtio-block`](#io_uring-support-by-default-for-virtio-block) + - [Windows Guest Support](#windows-guest-support) + - [`vhost-user` "Self Spawning" Deprecation](#vhost-user-self-spawning-deprecation) + - [`virtio-mmmio` Removal](#virtio-mmmio-removal) + - [Snapshot/Restore support for ARM64](#snapshotrestore-support-for-arm64) + - [Improved Linux Boot Time](#improved-linux-boot-time) + - [`SIGTERM/SIGINT` Interrupt Signal Handling](#sigtermsigint-interrupt-signal-handling) + - [Default Log Level Changed](#default-log-level-changed) + - [New `--balloon` Parameter Added](#new---balloon-parameter-added) + - [Experimental `virtio-watchdog` Support](#experimental-virtio-watchdog-support) + - [Notable Bug Fixes](#notable-bug-fixes) + - [Contributors](#contributors) - [v0.10.0](#v0100) - [`virtio-block` Support for Multiple Descriptors](#virtio-block-support-for-multiple-descriptors) - [Memory Zones](#memory-zones) - [`Seccomp` Sandbox Improvements](#seccomp-sandbox-improvements) - [Preliminary KVM HyperV Emulation Control](#preliminary-kvm-hyperv-emulation-control) - - [Notable Bug Fixes](#notable-bug-fixes) - - [Contributors](#contributors) + - [Notable Bug Fixes](#notable-bug-fixes-1) + - [Contributors](#contributors-1) - [v0.9.0](#v090) - [`io_uring` Based Block Device Support](#io_uring-based-block-device-support) - [Block and Network Device Statistics](#block-and-network-device-statistics) @@ -17,17 +30,17 @@ - [Enhancements to ARM64 Support](#enhancements-to-arm64-support) - [Intel SGX Support](#intel-sgx-support) - [`Seccomp` Sandbox Improvements](#seccomp-sandbox-improvements-1) - - [Notable Bug Fixes](#notable-bug-fixes-1) - - [Contributors](#contributors-1) + - [Notable Bug Fixes](#notable-bug-fixes-2) + - [Contributors](#contributors-2) - [v0.8.0](#v080) - [Experimental Snapshot and Restore Support](#experimental-snapshot-and-restore-support) - [Experimental ARM64 Support](#experimental-arm64-support) - [Support for Using 5-level Paging in Guests](#support-for-using-5-level-paging-in-guests) - [Virtio Device Interrupt Suppression for Network Devices](#virtio-device-interrupt-suppression-for-network-devices) - [`vhost_user_fs` Improvements](#vhost_user_fs-improvements) - - [Notable Bug Fixes](#notable-bug-fixes-2) + - [Notable Bug Fixes](#notable-bug-fixes-3) - [Command Line and API Changes](#command-line-and-api-changes) - - [Contributors](#contributors-2) + - [Contributors](#contributors-3) - [v0.7.0](#v070) - [Block, Network, Persistent Memory (PMEM), VirtioFS and Vsock hotplug](#block-network-persistent-memory-pmem-virtiofs-and-vsock-hotplug) - [Alternative `libc` Support](#alternative-libc-support) @@ -37,14 +50,14 @@ - [`Seccomp` Sandboxing](#seccomp-sandboxing) - [Updated Distribution Support](#updated-distribution-support) - [Command Line and API Changes](#command-line-and-api-changes-1) - - [Contributors](#contributors-3) + - [Contributors](#contributors-4) - [v0.6.0](#v060) - [Directly Assigned Devices Hotplug](#directly-assigned-devices-hotplug) - [Shared Filesystem Improvements](#shared-filesystem-improvements) - [Block and Networking IO Self Offloading](#block-and-networking-io-self-offloading) - [Command Line Interface](#command-line-interface) - [PVH Boot](#pvh-boot) - - [Contributors](#contributors-4) + - [Contributors](#contributors-5) - [v0.5.1](#v051) - [v0.5.0](#v050) - [Virtual Machine Dynamic Resizing](#virtual-machine-dynamic-resizing) @@ -52,7 +65,7 @@ - [New Interrupt Management Framework](#new-interrupt-management-framework) - [Development Tools](#development-tools) - [Kata Containers Integration](#kata-containers-integration) - - [Contributors](#contributors-5) + - [Contributors](#contributors-6) - [v0.4.0](#v040) - [Dynamic virtual CPUs addition](#dynamic-virtual-cpus-addition) - [Programmatic firmware tables generation](#programmatic-firmware-tables-generation) @@ -61,7 +74,7 @@ - [Userspace IOAPIC by default](#userspace-ioapic-by-default) - [PCI BAR reprogramming](#pci-bar-reprogramming) - [New `cloud-hypervisor` organization](#new-cloud-hypervisor-organization) - - [Contributors](#contributors-6) + - [Contributors](#contributors-7) - [v0.3.0](#v030) - [Block device offloading](#block-device-offloading) - [Network device backend](#network-device-backend) @@ -88,6 +101,108 @@ - [Unit testing](#unit-testing) - [Integration tests parallelization](#integration-tests-parallelization) +# v0.11.0 + +This release has been tracked through the [0.11.0 project](https://github.com/cloud-hypervisor/cloud-hypervisor/projects/14). + +Highlights for `cloud-hypervisor` version 0.11.0 include: + +### `io_uring` support by default for `virtio-block` + +Provided that the host OS supports it (Linux kernel 5.8+) then `io_uring` will +be used for a significantly higher performance block device. + +### Windows Guest Support + +This is the first release where we officially support Windows running as a +guest. Full details of how to setup the image and run Cloud Hypervisor with a +Windows guest can be found in the dedicated [Windows +documentation](docs/windows.md). + +### `vhost-user` "Self Spawning" Deprecation + +Automatically spawning a `vhost-user-net` or `vhost-user-block` backend is now +deprecated. Users of this functionality will receive a warning and should make +adjustments. The functionality will be removed in the next release. + +### `virtio-mmmio` Removal + +Support for using the `virtio-mmio` transport, rather than using PCI, has been +removed. This has been to simplify the code and significantly +reduce the testing burden of the project. + +### Snapshot/Restore support for ARM64 + +When running on the ARM64 architecture snapshot and restore has now been +implemented. + +### Improved Linux Boot Time + +The time to boot the Linux kernel has been significantly improved by the +identifying some areas of delays around PCI bus probing, IOAPIC programming and +MPTABLE issues. Full details can be seen in #1728. + +### `SIGTERM/SIGINT` Interrupt Signal Handling + +When the VMM process receives the `SIGTERM` or `SIGINT` signals then it will +trigger the VMM process to cleanly deallocate resources before exiting. The +guest VM will not be cleanly shutdown but the VMM process will clean up its +resources. + +### Default Log Level Changed + +The default logging level was changed to include warnings which should make it +easier to see potential issues. New [logging +documentation](docs/logging) was also added. + +### New `--balloon` Parameter Added + +Control of the setup of `virtio-balloon` has been moved from `--memory` to its +own dedicated parameter. This makes it easier to add more balloon specific +controls without overloading `--memory`. + +### Experimental `virtio-watchdog` Support + +Support for using a new `virtio-watchdog` has been added which can be used to +have the VMM reboot the guest if the guest userspace fails to ping the +watchdog. This is enabled with `--watchdog` and requires kernel support. + +### Notable Bug Fixes + +* MTRR bit was missing from CPUID advertised to guest +* "Return" key could not be used under `CMD.EXE` under Windows SAC (#1170) +* CPU identification string is now exposed to the guest +* `virtio-pmem` with`discard_writes=on` no longer marks the guest memory as + read only so avoids excessive VM exits (#1795) +* PCI device hotplug after an unplug was fixed (#1802) +* When using the ACPI method to resize the guest memory the full reserved size + can be used (#1803) +* Snapshot and restore followed by a second snapshot and restore now works + correctly +* Snapshot and restore of VMs with more than 2GiB in one region now work + correctly + +### Contributors + +Many thanks to everyone who has contributed to our 0.11.0 release including some new faces. + +* Anatol Belski +* Bo Chen +* Daniel Verkamp +* Henry Wang +* Hui Zhu +* Jiangbo Wu +* Josh Soref +* Julio Montes +* Michael Zhao +* Muminul Islam +* pierwill <19642016+pierwill@users.noreply.github.com> +* Praveen Paladugu +* Rob Bradford +* Sebastien Boeuf +* Wei Liu + + # v0.10.0 This release has been tracked through the [0.10.0 project](https://github.com/cloud-hypervisor/cloud-hypervisor/projects/13).