Tags: cloud-hypervisor/cloud-hypervisor
Tags
v50.0 This release has been tracked in [v50.0 group](https://github.com/orgs/cloud-hypervisor/projects/6/views/6?filterQuery=release%3A%22Release+50%22) of our [roadmap project](https://github.com/orgs/cloud-hypervisor/projects/6/). Configurable Nested Virtualization Option on x86_64 --------------------------------------------------- The `nested=on|off` option has been added to `--cpu` to allow users to configure nested virtualization support in the guest on x86_64 hosts (for both KVM and MSHV). The default value is `on` to maintain consistency with existing behavior. (#7408) Compression Support for QCOW2 ----------------------------- QCOW2 support has been extended to handle compression clusters based on zlib and zstd. (#7462) Notable Performance Improvements -------------------------------- Performance of live migration has been improved via an optimized implementation of dirty bitmap maintenance. (#7468) Live Disk Resizing Support for Raw Images ----------------------------------------- The `/vm.resize-disk` API has been introduced to allow users to resize block devices backed by raw images while a guest is running. (#7476) Developer Experience Improvements --------------------------------- Significant improvements have been made to developer experience and productivity. These include a simplified root manifest, codified and tightened Clippy lints, and streamlined workflows for `cargo clippy` and `cargo test`. (#7489) Improved File-level Locking Support ----------------------------------- Block devices now use byte-range advisory locks instead of whole-file locks. While both approaches prevent multiple Cloud Hypervisor instances from simultaneously accessing the same disk image with write permissions, byte-range locks provide better compatibility with network storage backends. (#7494) Logging Improvements -------------------- Logs now include event information generated by the event-monitor module. (#7512) Notable Bug Fixes ----------------- * Fix several issues around CPUID in the guest (#7485, #7495, #7508) * Fix snapshot/restore for Windows Guest (#7492) * Respect queue size in block performance tests (#7515) * Fix several Serial Manager issues (#7502) * Fix several seccomp violation issues (#7477, #7497, #7518) * Fix various issues around block and qcow (#7526, #7528, #7537, #7546, #7549) * Retrieve MSRs list correctly on MSHV (#7543) * Fix live migration (and snapshot/restore) with AMX state (#7534) Contributors ------------ Many thanks to everyone who has contributed to our release: * Anatol Belski <anbelski@linux.microsoft.com> * Anirudh Rayabharam <anrayabh@microsoft.com> * Bo Chen <bchen@crusoe.ai> * Changyuan Lyu <changyuanl@google.com> * Chengyu Fu <chengyu.fu@linux.alibaba.com> * Connor Brewster <cbrewster@hey.com> * Demi Marie Obenour <demiobenour@gmail.com> * Eugene Korenevsky <ekorenevsky@aliyun.com> * Julian Stecklina <julian.stecklina@cyberus-technology.de> * Matt Moriarity <matt@mattmoriarity.com> * Muminul Islam <muislam@microsoft.com> * Oliver Anderson <oliver.anderson@cyberus-technology.de> * Pascal Scholz <pascal.scholz@cyberus-technology.de> * Philipp Schuster <philipp.schuster@cyberus-technology.de> * Praveen K Paladugu <prapal@linux.microsoft.com> * Rob Bradford <rbradford@rivosinc.com> * Sebastien Boeuf <seb@rivosinc.com> * Songqian Li <sionli@tencent.com> * Stefan Nürnberger <stefan.nuernberger@cyberus-technology.de> * Thomas Prescher <thomas.prescher@cyberus-technology.de> * Wei Liu <liuwe@microsoft.com>
v49.0 This release has been tracked in [v49.0 group](https://github.com/orgs/cloud-hypervisor/projects/6/views/4?filterQuery=release%3A%22Release+49%22) of our [roadmap project](https://github.com/orgs/cloud-hypervisor/projects/6/). MSHV Support Improvements ------------------------- On AArch64 with MSHV, firmware boot (#7391) and graceful guest shutdown (#7354) are now supported, and CI coverage has been added (#7381). Logging Improvements -------------------- Logs now use an improved timestamp format (#7355), emit an explicit message on graceful shutdown (#7346), and reduce noisy warnings with newer guest kernels (#7423). Removed Default IP and Mask for `virtio-net` Devices ---------------------------------------------------- The implicit default IP (192.168.249.1) and netmask (255.255.255.0) for `virtio-net` devices have been removed, as previously announced in the deprecation notice two releases ago (#7365). Users now can create `virtio-net` devices with no IP and netmask assigned. Notable Bug Fixes ----------------- * Prevent crash on malformed vsock connect requests (#7310) * Fix vCPU hotplug when the vCPU count exceeds 255 (#7349) * Drop the VFIO container when no VFIO devices are active (#7364) * Gracefully close preserved file descriptors on hot device removal (#7371) * Fix race condition in pause–resume cycles (#7397) * Add NetConfig offload parameters to the OpenAPI spec file (#7445) * Fix seccomp filter violation from the http-server thread (#7454) Contributors ------------ Many thanks to everyone who has contributed to our release: * Aastha Rawat <aastharawat@microsoft.com> * Alyssa Ross <hi@alyssa.is> * Anirudh Rayabharam <anrayabh@microsoft.com> * Ariel Chenet <apchenet@gmail.com> * Bo Chen <bchen@crusoe.ai> * Can Zhang <icloud9957@gmail.com> * Eugene Korenevsky <ekorenevsky@aliyun.com> * Maximilian Güntner <code@mguentner.de> * Muminul Islam <muislam@microsoft.com> * Oliver Anderson <oliver.anderson@cyberus-technology.de> * Philipp Schuster <philipp.schuster@cyberus-technology.de> * Rob Bradford <rbradford@rivosinc.com> * Ruoqing He <heruoqing@iscas.ac.cn> * Wei Liu <liuwe@microsoft.com> * Yi Wang <foxywang@tencent.com>
v48.0 This release has been tracked in [v48.0 group](https://github.com/orgs/cloud-hypervisor/projects/6/views/4?filterQuery=release%3A%22Release+48%22) of our [roadmap project](https://github.com/orgs/cloud-hypervisor/projects/6/). Experimental `fw_cfg` Device Support ------------------------------------ This feature enables passing configuration data and files, such as VM boot configurations (kernel, kernel cmdline, e820 memory map, and ACPI tables), from the host to the guest. (#7117) Experimental `ivshmem` Device Support ------------------------------------- Support for inter-VM shared memory has been added. For more information, please refer to the [ivshmem documentation](docs/ivshmem.md). (#6703) Firmware Boot Support on `riscv64` --------------------------------- In addition to direct kernel boot, firmware boot support has been added on `riscv64` hosts. (#7249) Increased vCPU Limit on x86_64/kvm ---------------------------------- The maximum number of supported vCPUs on x86_64 hosts using KVM has been raised from 254 to 8192. (#7299) Improved Block Performance with Small Block Sizes ------------------------------------------------- Performance for `virtio-blk` with small block sizes (16KB and below) is enhanced via submitting async IO requests in batches. (#7146) Faster VM Pause Operation ------------------------- The VM pause operation now is significantly faster particularly for VMs with a large number of vCPUs. (#7290) Updated Documentation on Windows Guest Support ---------------------------------------------- Our Windows documentation now includes instructions to run Windows 11 guests, in addition to Windows Server guests. (#7218) Policy on AI Generated Code --------------------------- We will decline any contributions known to contain contents generated or derived from using Large Language Models (LLMs). Details can be found in our [contributing documentation](CONTRIBUTING.md). (#7162) Removed SGX Support ------------------- The SGX support has been removed, as announced in the deprecation notice two release cycles ago. (#7093) Notable Bug Fixes ----------------- * Seccomp filter fixes with glibc v2.42 (#7327) * Various fixes related to (#7331, #7334, #7335)
v47.0 This release has been tracked in [v47.0 group](https://github.com/orgs/cloud-hypervisor/projects/6/views/4?filterQuery=release%3A%22Release+47%22) of our [roadmap project](https://github.com/orgs/cloud-hypervisor/projects/6/). Block Device Error Reporting to the Guest ----------------------------------------- Instead of exiting on I/O errors, the `virtio-block` device now reports errors to the guest using `VIRTIO_BLK_S_IOERR`. It improves the user experience particularly when the guest rootfs is not backed by the affected block device. (#7107) Nice Error Messages on Exit --------------------------- We now have the chain of errors being reported and printed nicely, when Cloud Hypervisor or ch-remote exits on errors. (#7066) Alphabetically Sorted CLI Options for ch-remote ----------------------------------------------- To improve readability, ch-remote now prints help information in alphabetical order. (#7130) Notable Bug Fixes ----------------- * Error out early when block device serial is too long (#7124) * Fix partial commands being discarded for `virtio-vsock` (#7195) * Disable the broken interrupt support for the `rtc_pl031` device to prevent spurious guest interrupts (#7199) Deprecations ------------ * A default IP (`192.168.249.1`) and mask (`255.255.255.0`) are currently assigned to the `virtio-net` device if no value is specified by users. Such behavior is now deprecated. Users of this behavior will receive a warning message and should make adjustments. The behavior will be removed in two release cycles (v49.0).
v46.0 This release has been tracked in [v46.0 group](https://github.com/orgs/cloud-hypervisor/projects/6/views/4?filterQuery=release%3A%22Release+46%22) of our [roadmap project](https://github.com/orgs/cloud-hypervisor/projects/6/). File-level Locking Support with `--disk` ---------------------------------------- Now file-level locking is enforced for disk images, provided by users with `--disk`. This ensures that only a single Cloud Hypervisor instance can obtain write access to a given disk image at any time, preventing misconfiguration and avoiding potential data corruption. (#6974) Improved Error Reporting with VM Resizing ----------------------------------------- Instead of returning a generic error `400` (e.g. `BadRequest`), users now get a more specific error `429` (e.g. `TooManyRequests`) when a pending VM resizing is not completed. This allows users to better handle different errors, say retrying the request when applicable. (#7043) IPv6 Address Support with `--net` --------------------------------- It is now possible to specify an IPv6 address and mask when creating a network interface with `--net`. (#7048) Experimental AArch64 Support with the MSHV Hypervisor ----------------------------------------------------- It is now possible to start VMs on AArch64 platforms when using MSHV hypervisor. (#7055) Deprecated SGX Support ---------------------- The SGX support now is deprecated with a warning message if it being used, with the intention to remove its support from our code base in two release cycles (e.g. v48.0). (#7090) Notable Bug Fixes ----------------- * Remove `path` as required for `DiskConfig` from the OpenAPI spec file (#7017) * Properly parse PCI capabilities (#7018) * Reprogram PCI device BAR when its MSE bit is set (#7063) * Update IOMMU mappings of MMIO regions with BAR reprogram for VFIO devices (#7064) * Avoid resizing VMs to zero vCPUs (#7086) * Fix extended topology enumeration leaf exposed to the guest (#7087) Contributors ------------ Many thanks to everyone who has contributed to our release: * Bingxin Li <bl497@cam.ac.uk> * Bo Chen <bchen@crusoe.ai> * Fabiano Fidêncio <fidencio@northflank.com> * Gregory Anders <ganders@cloudflare.com> * Jinank Jain <jinankjain@microsoft.com> * Julian Stecklina <julian.stecklina@cyberus-technology.de> * Muminul Islam <muislam@microsoft.com> * Paolo Bonzini <pbonzini@redhat.com> * Philipp Schuster <philipp.schuster@cyberus-technology.de> * Rob Bradford <rbradford@rivosinc.com> * Ruoqing He <heruoqing@iscas.ac.cn> * Thomas Prescher <thomas.prescher@cyberus-technology.de> * abm-77 <andrewmiller77@protonmail.com>
v45.0 This release has been tracked in [v45.0 group](https://github.com/orgs/cloud-hypervisor/projects/6/views/4?filterQuery=release%3A%22Release+45%22) of our [roadmap project](https://github.com/orgs/cloud-hypervisor/projects/6/). Experimental `riscv64` Architecture Support ------------------------------------------- Cloud Hypervisor now has experimental `riscv64` architecture support. Details can be found from the [riscv documentation](docs/riscv.md). Alphabetically Sorted CLI Options --------------------------------- To improve the readability of CLI options, the output of the `--help` now is alphabetically sorted. (#6988) Improved Downtime of VM Live Migration -------------------------------------- The downtime of VM live migration is reduced via delaying some of the tearing down process of the source VM after the destination VM is up and running. (#6987) Notable Bug Fixes ----------------- * Fix seccomp filters related to http-api thread (#6967) * Handle cross-page access in the emulator for mshv (#6968) Contributors ------------ Many thanks to everyone who has contributed to our release: * Anatol Belski <anbelski@linux.microsoft.com> * Andrew Consroe <aconz2@gmail.com> * Bo Chen <bchen@crusoe.ai> * Jinank Jain <jinankjain@microsoft.com> * Jinrong Liang <cloudliang@tencent.com> * Philipp Schuster <philipp.schuster@cyberus-technology.de> * Ruoqing He <heruoqing@iscas.ac.cn> * Stefan Kober <stefan.kober@cyberus-technology.de> * Wei Liu <liuwe@microsoft.com>
v44.0 This release has been tracked in our [roadmap project](https://github.com/orgs/cloud-hypervisor/projects/6) as iteration v44.0. The following user visible changes have been made: Configurable `virtio-iommu` Address Width ----------------------------------------- The `iommu_address_width` option has been added to `--platform` to allow users to limit the `virtio-iommu` address space in the guest. (#6900) Notable Performance Improvements -------------------------------- The `VIRTIO_BLK_F_SEG_MAX` feature has been enabled for `virtio-block` devices, which brings significant performance improvements on throughput. (#6885) The `io_uring` entries are no longer forced to use async helper workers, delegating the decision to the kernel. This change resolved the issue of having excessive amount of worker threads when `io_uring` is being used, which is expected to improve performance, such as reducing memory usage and reduce CPU contention. New Fuzzers ----------- Our continuous fuzzing infrastructure is augmented with two new fuzzers to cover x86 instruction emulator and `virtio-vsock`. Notable Bug Fixes ----------------- * Fix short read and short write that impact QCOW and VHDX support. (#6884) * Various bug fixes on VHDX support. (#6890, #6899) Contributors ------------ Many thanks to everyone who has contributed to our release: * Arvind Vasudev <avasudev@crusoeenergy.com> * Bo Chen <bo.arvin.chen@gmail.com> * Nikolay Edigaryev <edigaryev@gmail.com> * Rob Bradford <rbradford@rivosinc.com> * Ruoqing He <heruoqing@iscas.ac.cn> * Wei Liu <liuwe@microsoft.com>
v43.0 This release has been tracked in our [roadmap project](https://github.com/orgs/cloud-hypervisor/projects/6) as iteration v43.0. The following user visible changes have been made: Live Migration over TCP Connections ---- --------- ---- --- ----------- Support has been added to enable direct live migration from two hosts via TCP connections. This supplements the existing support for migrating over a UNIX socket which can then be tunnelled as desired. The documentation has been updated. (#6850) Notable Performance Improvements ------- ----------- ------------ The `VIRTIO_RING_F_INDIRECT_DESC` feature has been enabled for `virtio-block` devices. This significantly increases the throughput of the devices with a small negative impact on latency. (#6826) Notable Bug Fixes ------- --- ----- * Cloud Hypervisor now accepts VFIO devices that use I/O PCI BARs on non x86-64 architectures. Whether they function depends on the host PCI host bridge support - previously they would be rejected even if the driver did not use these BARs. (#6871) * Command line groups were adjusted to ensure that at least one payload parameter was provided if any other VM parameters provided. (#6832) Contributors ------------ Many thanks to everyone who has contributed to our release: * Alyssa Ross <hi@alyssa.is> * Andrew Consroe <aconz2@gmail.com> * Bo Chen <bo.arvin.chen@gmail.com> * Jinrong Liang <cloudliang@tencent.com> * Julian Stecklina <julian.stecklina@cyberus-technology.de> * Muminul Islam <muislam@microsoft.com> * Rob Bradford <rbradford@rivosinc.com> * Ruoqing He <heruoqing@iscas.ac.cn> * Wojtek Czekalski <wczekalski@me.com>
v42.0 This release has been tracked in our [roadmap project](https://github.com/orgs/cloud-hypervisor/projects/6) as iteration v42.0. The following user visible changes have been made: SVE/SVE2 Support on AArch64 -------- ------- -- ------- The SVE and SVE2 feature bits are now propagated through to the guest on AArch64. (#6678, #6691) Notable Bug Fixes ------- --- ----- * Reduce latency notification when rate limited (#6672) * Fix `virtio-console` resizing (#6704) * Fix resizing when console uses TTY (#6754) * Avoid deadlock in PCI BAR reprogramming that can occur when adding a new `virtio` device to a VM that has been restored (#6775) * Fix console resizing after VM restore (#6748) * Fix memory resize error due to incorrect bounds checks (#6736) Sponsorships ------------ During this release cycle a new VFIO CI worker has been provided by Crusoe Energy and a new ARM64 CI worker has been provided by Ubicloud. Contributors ------------ Many thanks to everyone who has contributed to our release: * Alexandru Matei <alexandru.matei@uipath.com> * Alyssa Ross <hi@alyssa.is> * Anirudh Rayabharam <anrayabh@microsoft.com> * BharatNarasimman <bharatn@microsoft.com> * Bo Chen <chen.bo@intel.com> * Jinank Jain <jinankjain@microsoft.com> * Jonas Scholz <Jonas.Scholz@bbscholz.de> * Nuno Das Neves <nudasnev@microsoft.com> * Praveen K Paladugu <prapal@linux.microsoft.com> * Purna Pavan Chandra <paekkaladevi@microsoft.com> * Rob Bradford <rbradford@rivosinc.com> * Ruoqing He <heruoqing@iscas.ac.cn> * Songqian Li <sionli@tencent.com> * Tom Dohrmann <erbse.13@gmx.de> * Wei Liu <liuwe@microsoft.com> * Wenyu Huang <huangwenyuu@outlook.com> * Yuhong Zhong <yz@cs.columbia.edu> * wuxinyue <wuxinyue.wxy@antgroup.com>
v41.0 This release has been tracked in our [roadmap project](https://github.com/orgs/cloud-hypervisor/projects/6) as iteration v41.0. The following user visible changes have been made: Experimental "Pvmemcontrol" Support ------------ -------------- ------- VMM support has been added for this experimental functionality (requires currently out of tree Linux kernel patches) to allow guests to control its physical memory properties to allow optimisations and security features. (#6318, #6467) Sandboxing With Landlock Support ---------- ---- -------- ------- Support for restricting the VMM process using the Linux kernel "Landlock" API has been added - this can be used to restrict the files (and the read/write permissions) that the VMM process can access. This adds another layer of security alongside the existing sycall filters (`seccomp`) - this can be enabled with `--landlock` and [fully documentated](docs/landlock.md). (#5170) Notable Performance Improvements ------- ----------- ------------ * Reduced heap allocations in `virtio-net` via the use of a cache of `Iovec` structures (#6636) * Notification suppression ("`EVENT_IDX`") support has been added to `virtio-block` giving a 60% improvement in single queue block throughput and IOPs performance (#6580) * Correct size used for `status` field in `virtio-block` state (#6586) Notable Bug Fixes ------- --- ----- * Avoid panic on out-of-bounds PCI MSI-X access (#6657) * Fix undefined behaviour on AArch64 leading to wrong optimisation on KVM API access (#6647) * Rust v1.80.0 added use of `fcntl` syscall on debug assertions so this is now included in the virtio-device seccomp filters for tests that use this (#6648) * Short reads are now handled correctly in the `virtio-vsock` device (#6621) * Fix undefined behaviour on TTY ioctl leading to wrong optimisation (#6568) Contributors ------------ Many thanks to everyone who has contributed to our release: * Alyssa Ross <hi@alyssa.is> * Bo Chen <chen.bo@intel.com> * Changyuan Lyu <changyuanl@google.com> * Jinank Jain <jinankjain@microsoft.com> * Julian Stecklina <julian.stecklina@cyberus-technology.de> * Muminul Islam <muislam@microsoft.com> * Nuno Das Neves <nudasnev@microsoft.com> * Praveen K Paladugu <prapal@linux.microsoft.com> * Rob Bradford <rbradford@rivosinc.com> * Songqian Li <sionli@tencent.com> * Wei Liu <liuwe@microsoft.com> * Yuanchu Xie <yuanchu@google.com> * ihciah <ihciah@gmail.com> * wuxinyue <wuxinyue.wxy@antgroup.com>
PreviousNext