diff --git a/Cargo.lock b/Cargo.lock index c67dab8f0..12fffb7f3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -148,7 +148,7 @@ dependencies = [ [[package]] name = "cloud-hypervisor" -version = "22.0.0" +version = "23.0.0" dependencies = [ "anyhow", "api_client", diff --git a/Cargo.toml b/Cargo.toml index a5b4ce3b0..3d8957762 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cloud-hypervisor" -version = "22.0.0" +version = "23.0.0" authors = ["The Cloud Hypervisor Authors"] edition = "2021" default-run = "cloud-hypervisor" diff --git a/release-notes.md b/release-notes.md index 55c550bff..4182df9d7 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,3 +1,12 @@ +- [v23.0](#v230) + - [vDPA Support](#vdpa-support) + - [Updated OS Support list](#updated-os-support-list) + - [`AArch64` Memory Map Improvements](#aarch64-memory-map-improvements) + - [`AMX` Support](#amx-support) + - [Notable Bug Fixes](#notable-bug-fixes) + - [Deprecations](#deprecations) + - [Contributors](#contributors) +- [v22.1](#v221) - [v22.0](#v220) - [GDB Debug Stub Support](#gdb-debug-stub-support) - [`virtio-iommu` Backed Segments](#virtio-iommu-backed-segments) @@ -5,15 +14,15 @@ - [`virtio-balloon` Free Page Reporting](#virtio-balloon-free-page-reporting) - [Support for Direct Kernel Booting with TDX](#support-for-direct-kernel-booting-with-tdx) - [PMU Support for AArch64](#pmu-support-for-aarch64) - - [Documentation Under CC-BY-4.0 Licese](#documentation-under-cc-by-40-licese) + - [Documentation Under CC-BY-4.0 License](#documentation-under-cc-by-40-license) - [Deprecation of "Classic" `virtiofsd`](#deprecation-of-classic-virtiofsd) - - [Notable Bug Fixes](#notable-bug-fixes) - - [Contributors](#contributors) + - [Notable Bug Fixes](#notable-bug-fixes-1) + - [Contributors](#contributors-1) - [v21.0](#v210) - [Efficient Local Live Migration (for Live Upgrade)](#efficient-local-live-migration-for-live-upgrade) - [Recommended Kernel is Now 5.15](#recommended-kernel-is-now-515) - - [Notable Bug fixes](#notable-bug-fixes-1) - - [Contributors](#contributors-1) + - [Notable Bug fixes](#notable-bug-fixes-2) + - [Contributors](#contributors-2) - [v20.2](#v202) - [v20.1](#v201) - [v20.0](#v200) @@ -22,8 +31,8 @@ - [Improved VFIO support](#improved-vfio-support) - [Safer code](#safer-code) - [Extended documentation](#extended-documentation) - - [Notable bug fixes](#notable-bug-fixes-2) - - [Contributors](#contributors-2) + - [Notable bug fixes](#notable-bug-fixes-3) + - [Contributors](#contributors-3) - [v19.0](#v190) - [Improved PTY handling for serial and `virtio-console`](#improved-pty-handling-for-serial-and-virtio-console) - [PCI boot time optimisations](#pci-boot-time-optimisations) @@ -31,8 +40,8 @@ - [Live migration enhancements](#live-migration-enhancements) - [`virtio-mem` support with `vfio-user`](#virtio-mem-support-with-vfio-user) - [AArch64 for `virtio-iommu`](#aarch64-for-virtio-iommu) - - [Notable bug fixes](#notable-bug-fixes-3) - - [Contributors](#contributors-3) + - [Notable bug fixes](#notable-bug-fixes-4) + - [Contributors](#contributors-4) - [v18.0](#v180) - [Experimental User Device (`vfio-user`) support](#experimental-user-device-vfio-user-support) - [Migration support for `vhost-user` devices](#migration-support-for-vhost-user-devices) @@ -42,31 +51,31 @@ - [Live migration on MSHV hypervisor](#live-migration-on-mshv-hypervisor) - [AArch64 CPU topology support](#aarch64-cpu-topology-support) - [Power button support on AArch64](#power-button-support-on-aarch64) - - [Notable bug fixes](#notable-bug-fixes-4) - - [Contributors](#contributors-4) + - [Notable bug fixes](#notable-bug-fixes-5) + - [Contributors](#contributors-5) - [v17.0](#v170) - [ARM64 NUMA support using ACPI](#arm64-numa-support-using-acpi) - [`Seccomp` support for MSHV backend](#seccomp-support-for-mshv-backend) - [Hotplug of `macvtap` devices](#hotplug-of-macvtap-devices) - [Improved SGX support](#improved-sgx-support) - [Inflight tracking for `vhost-user` devices](#inflight-tracking-for-vhost-user-devices) - - [Notable bug fixes](#notable-bug-fixes-5) - - [Contributors](#contributors-5) + - [Notable bug fixes](#notable-bug-fixes-6) + - [Contributors](#contributors-6) - [v16.0](#v160) - [Improved live migration support](#improved-live-migration-support) - [Improved `vhost-user` support](#improved-vhost-user-support) - [ARM64 ACPI and UEFI support](#arm64-acpi-and-uefi-support) - - [Notable bug fixes](#notable-bug-fixes-6) + - [Notable bug fixes](#notable-bug-fixes-7) - [Removed functionality](#removed-functionality) - - [Contributors](#contributors-6) + - [Contributors](#contributors-7) - [v15.0](#v150) - [Version numbering and stability guarantees](#version-numbering-and-stability-guarantees) - [Network device rate limiting](#network-device-rate-limiting) - [Support for runtime control of `virtio-net` guest offload](#support-for-runtime-control-of-virtio-net-guest-offload) - [`--api-socket` supports file descriptor parameter](#--api-socket-supports-file-descriptor-parameter) - [Bug fixes](#bug-fixes) - - [Deprecations](#deprecations) - - [Contributors](#contributors-7) + - [Deprecations](#deprecations-1) + - [Contributors](#contributors-8) - [v0.14.1](#v0141) - [v0.14.0](#v0140) - [Structured event monitoring](#structured-event-monitoring) @@ -75,8 +84,8 @@ - [Updated hotplug documentation](#updated-hotplug-documentation) - [PTY control for serial and `virtio-console`](#pty-control-for-serial-and-virtio-console) - [Block device rate limiting](#block-device-rate-limiting) - - [Deprecations](#deprecations-1) - - [Contributors](#contributors-8) + - [Deprecations](#deprecations-2) + - [Contributors](#contributors-9) - [v0.13.0](#v0130) - [Wider VFIO device support](#wider-vfio-device-support) - [Improved huge page support](#improved-huge-page-support) @@ -84,13 +93,13 @@ - [VHD disk image support](#vhd-disk-image-support) - [Improved Virtio device threading](#improved-virtio-device-threading) - [Clean shutdown support via synthetic power button](#clean-shutdown-support-via-synthetic-power-button) - - [Contributors](#contributors-9) + - [Contributors](#contributors-10) - [v0.12.0](#v0120) - [ARM64 enhancements](#arm64-enhancements) - [Removal of `vhost-user-net` and `vhost-user-block` self spawning](#removal-of-vhost-user-net-and-vhost-user-block-self-spawning) - [Migration of `vhost-user-fs` backend](#migration-of-vhost-user-fs-backend) - [Enhanced "info" API](#enhanced-info-api) - - [Contributors](#contributors-10) + - [Contributors](#contributors-11) - [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) @@ -102,15 +111,15 @@ - [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-7) - - [Contributors](#contributors-11) + - [Notable Bug Fixes](#notable-bug-fixes-8) + - [Contributors](#contributors-12) - [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-8) - - [Contributors](#contributors-12) + - [Notable Bug Fixes](#notable-bug-fixes-9) + - [Contributors](#contributors-13) - [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) @@ -123,17 +132,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-9) - - [Contributors](#contributors-13) + - [Notable Bug Fixes](#notable-bug-fixes-10) + - [Contributors](#contributors-14) - [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-10) + - [Notable Bug Fixes](#notable-bug-fixes-11) - [Command Line and API Changes](#command-line-and-api-changes) - - [Contributors](#contributors-14) + - [Contributors](#contributors-15) - [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) @@ -143,14 +152,14 @@ - [`Seccomp` Sandboxing](#seccomp-sandboxing) - [Updated Distribution Support](#updated-distribution-support) - [Command Line and API Changes](#command-line-and-api-changes-1) - - [Contributors](#contributors-15) + - [Contributors](#contributors-16) - [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-16) + - [Contributors](#contributors-17) - [v0.5.1](#v051) - [v0.5.0](#v050) - [Virtual Machine Dynamic Resizing](#virtual-machine-dynamic-resizing) @@ -158,7 +167,7 @@ - [New Interrupt Management Framework](#new-interrupt-management-framework) - [Development Tools](#development-tools) - [Kata Containers Integration](#kata-containers-integration) - - [Contributors](#contributors-17) + - [Contributors](#contributors-18) - [v0.4.0](#v040) - [Dynamic virtual CPUs addition](#dynamic-virtual-cpus-addition) - [Programmatic firmware tables generation](#programmatic-firmware-tables-generation) @@ -167,7 +176,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-18) + - [Contributors](#contributors-19) - [v0.3.0](#v030) - [Block device offloading](#block-device-offloading) - [Network device backend](#network-device-backend) @@ -194,10 +203,81 @@ - [Unit testing](#unit-testing) - [Integration tests parallelization](#integration-tests-parallelization) +# v23.0 + +This release has been tracked through the [v23.0 +project](https://github.com/cloud-hypervisor/cloud-hypervisor/projects/27). + +### vDPA Support + +A vDPA device has a datapath that complies with the virtio specification but +with a vendor specific control path. The addition of `--vdpa` and the REST API +equivalent allows the use of these devices with Cloud Hypervisor. + +### Updated OS Support list + +The list of officially supported and tested OS versions has been updated to +include Ubuntu "jammy" 22.04 and EOLed versions removed. + +### `AArch64` Memory Map Improvements + +The memory map when running on `AArch64` has been improved for the handling of +the UEFI region which means that the booted guest OS now has full access to its +allocated RAM. (#3938) + +### `AMX` Support + +Under a compile time gate of `amx` it is possible compile in support for the +`AMX` instruction set extension for guest use. This also requires runtime +enabling with `--cpu features=amx`. + +### Notable Bug Fixes + +* Generate error when incorrect HTTP method used for some API endpoints (#3887) +* CMOS based reset is now available to support rebooting on "jammy" (#3914) +* ACPI tables are not produced for memory hotplug when running with + `virtio-mem` (#3883) +* `virtio-iommu` backed PCI segments are now comprehensively placed behind the + vIOMMU (#3870) +* Seccomp rules have been extended for `virtio-fs` to support direct access + (#3848) + +### Deprecations + +Deprecated features will be removed in a subsequent release and users should +plan to use alternatives + +* The `mergeable` option from the `virtio-pmem` support has been deprecated + (#3968) +* The `dax` option from the `virtio-fs` support has been deprecated (#3889) + +### Contributors + +Many thanks to everyone who has contributed to our release: + +* Bo Chen +* Fabiano FidĂȘncio +* Henry Wang +* Jianyong Wu +* LiHui +* Michael Zhao +* Rob Bradford +* Sebastien Boeuf +* Wei Liu +* William Douglas +* Yi Wang + +# v22.1 + +This is a bug fix release. The following issues have been addressed: + +* VFIO ioctl reordering to fix MSI on AMD platforms (#3827) +* Fix `virtio-net` control queue (#3829) + # v22.0 -This release has been tracked through the [v21.0 -project](https://github.com/cloud-hypervisor/cloud-hypervisor/projects/24). +This release has been tracked through the [v22.0 +project](https://github.com/cloud-hypervisor/cloud-hypervisor/projects/25). ### GDB Debug Stub Support @@ -206,7 +286,6 @@ by the `gdb` compile time feature and details of how to use it can be found in the [gdb documentation](https://github.com/cloud-hypervisor/cloud-hypervisor/blob/main/docs/gdb.md). - ### `virtio-iommu` Backed Segments In order to facilitate hotplug devices that require being behind an IOMMU (e.g. @@ -218,7 +297,6 @@ will place all the specified segments behind the IOMMU. It is now possible to change the VM configuration (e.g. add or remove devices, resize) before the VM is booted. - ### `virtio-balloon` Free Page Reporting If `--balloon free_page_reporting=on` is used then the guest can report pages @@ -238,7 +316,7 @@ has been updated for this usage. A PMU is now available on AArch64 for guest performance profiling. This will be exposed automatically if available from the host. -### Documentation Under CC-BY-4.0 Licese +### Documentation Under CC-BY-4.0 License The documentation is now licensed under the "Creative Commons Attribution 4.0 International" license which is aligned with the project charter under the diff --git a/rpm/cloud-hypervisor.spec b/rpm/cloud-hypervisor.spec index 56da2c4b8..908fb2227 100644 --- a/rpm/cloud-hypervisor.spec +++ b/rpm/cloud-hypervisor.spec @@ -9,7 +9,7 @@ Name: cloud-hypervisor Summary: Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that runs on top of KVM. -Version: 22.0 +Version: 23.0 Release: 0%{?dist} License: ASL 2.0 or BSD-3-clause Group: Applications/System @@ -112,6 +112,9 @@ rm -rf %{buildroot} %changelog +* Thu Apr 13 2022 Rob Bradford 23.0-0 +- Update to 23.0 + * Thu Mar 03 2022 Rob Bradford 22.0-0 - Update to 22.0 diff --git a/vm-migration/src/lib.rs b/vm-migration/src/lib.rs index 25cd8571b..4c8e7b067 100644 --- a/vm-migration/src/lib.rs +++ b/vm-migration/src/lib.rs @@ -15,7 +15,7 @@ use versionize::{VersionMap, Versionize}; pub mod protocol; /// Global VMM version for versioning -const MAJOR_VERSION: u16 = 22; +const MAJOR_VERSION: u16 = 23; const MINOR_VERSION: u16 = 0; const VMM_VERSION: u16 = MAJOR_VERSION << 12 | MINOR_VERSION & 0b1111;