Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: cloud-hypervisor/cloud-hypervisor

v53.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 21:55

This release has been tracked in v53.0 group of our roadmap project.

Snapshot/Restore and Live Migration Improvements

  • An offloaded snapshot/restore daemon has been introduced, allowing snapshot
    and restore to be carried out by an external process. The live migration
    protocol has been extended so page faults can be serviced from the source.
    This enables postcopy for remote live migration and on-demand paging for
    the offload daemon, both built on userfaultfd, bringing the offload daemon
    to parity with the internal snapshot/restore implementation (#8403, #8264,
    #8556).
  • Snapshot pages can now be prefaulted in the background after a
    userfaultfd-based restore, combining a fast restore-to-resume with fully
    faulted-in memory shortly afterwards. The number of prefault threads scales
    with the available parallelism (#8150, #8538, #8484).
  • Live migration data can now be encrypted using mutual TLS (#8053).
  • VFIO migration v2 is now supported for same-host snapshot and restore of
    migratable VFIO devices (for example ConnectX VFs bound to mlx5_vfio_pci)
    (#8303).
  • Migrated guests now issue post-migration network announcements so that
    connectivity on the new host is refreshed within milliseconds rather than
    taking up to 20 seconds to recover (#8263).
  • The vm.send-migration API endpoint now returns immediately rather than
    blocking for the duration of the migration (#8021).

Nested Hyper-V (Windows Guest) Support

Windows guests can now run nested Hyper-V as used by WSL2 on the KVM backend
(#8481).

virtio-rtc Device Support

Support for virtio-rtc devices has been added (via --rtc), providing a
Real Time Clock to the guest. This is primarily useful for, and only enabled by
default on, MSHV guests that do not have access to kvmclock (#7795).

Guest Clock Updates Across Snapshot/Restore and Migration

The guest clock is now advanced to account for the elapsed wall-clock time when
a VM is resumed after a snapshot-restore or a live migration so the guest sees
the correct time of day immediately rather than lagging behind by the downtime.
On x86 the kvmclock realtime flag is preserved so that the kernel adjusts the
clock automatically (#8256). On ARM64 the guest counter is advanced using the
KVM_REG_ARM_TIMER_CNT interface (#8343). vCPU TSC offsets are also
re-synchronized on restore (#8437).

Buffered Serial Output for Late-Connecting Clients

In socket serial mode (--serial socket=...) the output produced before a
client connects is now buffered so a console client that attaches after boot
sees the earlier output (#8322).

New Command-Line and API Options

  • A reserve=on|off option has been added to --memory and
    --memory-zone (default off). When enabled, guest RAM is mapped
    without MAP_NORESERVE so an overcommitted configuration fails cleanly at VM
    creation with ENOMEM (#8350).
  • The SMBIOS/DMI fields exposed via --platform have been extended and scoped
    to specific SMBIOS structures, for workloads that consume this data for
    licensing, inventory, or host identification (#8259).
  • The VMM can now consume pre-opened VFIO cdev and iommufd file descriptors
    supplied by the caller, letting a privileged orchestrator open the device
    nodes once and hand the FDs to an unprivileged VMM at boot or at runtime.
    This is also a prerequisite for live migration of VMs using VFIO devices
    (#8287).
  • A "glog style" log format has been added, with a single-character level and
    local or UTC timestamps (#8265).
  • A new --seccomp=errno option has been added that will result in filtered
    syscalls to set errno to EPERM. This can be used when the killing of the
    process with SIGSYS is not desired (#8578).

Deprecations

  • The legacy --platform SMBIOS keys serial_number and uuid are
    deprecated in favor of the new SMBIOS-structure-scoped keys. The
    legacy keys continue to be accepted, with a warning, and will be
    removed in a future release (#8259).
  • The generic vhost-user device's virtio_id command-line
    parameter is deprecated in favor of device_type, matching the API
    and configuration naming. virtio_id is retained as an alias that
    logs a warning and will be removed in a later release (#8564).

Notable Bug Fixes

  • Revert create memfd for private mappings, which caused a serious memory
    consumption regression without hugepages or shared=on (#8246).
  • Advertise the mandatory Hyper-V partition privileges so Windows
    guests enable the reference TSC page instead of taking a VM exit on
    every clock read (#8380).
  • Correctly save and restore ARM64 SVE registers (#8268).
  • Set the guest physical address space size correctly on AMD (#8291).
  • Sparse align the initial PCI BAR placement to avoid a Windows rebalancing
    deadlock (#8205).
  • Various TPM fixes, including for Windows guests (#8305, #8312).
  • Preserve WRITE_ZEROES on QCOW2 images with backing files (#8245)
    and fix WriteZeroes sector arithmetic overflow (#8388).
  • Improve O_DIRECT handling so that direct=on is usable on hosts
    requiring 4K alignment, including opening fixed VHD images (#8335).
  • Resolve relative QCOW2 backing file paths correctly (#8196).
  • Drain block I/O before the device is paused (#8356) and retry
    locking when interrupted by EINTR (#8402).
  • Fix VHDX region-table overlap detection (#8483) and an incomplete
    bounds check in the VHDX synchronous I/O worker (#8529).
  • Fix a guest deadlock by signalling DEVICE_NEEDS_RESET and
    releasing the activation barrier when a virtio device fails to
    activate (#8295).
  • Handle short and misaligned MMIO/PIO accesses without panicking:
    validate the MMIO access size (#8506), return all-ones for
    unregistered MMIO/PIO reads (#8237), correct fw_cfg short and long
    reads (#8507), respect the PCI CFG capability length for BAR access
    (#8272, #8238), and reject incorrect MSI-X table and PBA reads (#8417).
  • Translate virtio-iommu buffers that span adjacent mappings (#8520),
    and add centralized virtio descriptor-range validation (#8232).
  • Handle a guest/host half-close on vsock connections (#8372).
  • Avoid a guest-triggerable VMM panic by replacing asserts on ACPI
    device accesses with checks (#8405).
  • Emit a complete ACPI _S5_ sleep package, fixing an early-boot
    fault on OpenBSD guests (#8426).
  • Transfer post-snapshot guest memory changes during live migration to
    avoid corruption with vhost-user devices (#8361).
  • Improve configuration validation to return errors instead of
    panicking on malformed input (#8511), require the ch-remote
    snapshot/restore config arguments instead of panicking (#8331),
    reject resizing below the boot memory size (#8428), reject removal of
    an already-removed device (#8559), and fix generic vhost-user
    parsing (#8564).
  • Don't leak a file descriptor when ejecting a VFIO device (#8367),
    and fix a PCI device hotplug race by deferring device visibility
    (#8369).
  • Fix PCI segment ID validation (#8377) and make the PCI BDF
    configurable for the balloon and ivshmem devices (#8310).
  • Return HTTP 404 for API requests against a VM that has not been
    created (#8320), and omit unset optional fields from API responses so
    that strict client generators accept them (#8321).
  • Clean up a stale API socket under a lock before binding (#8325).
  • Cache the local timezone before installing seccomp filters (#8327).
  • Enhance the ACPI PPTT with cache topology information (#7893).
  • Correct several OpenAPI specification entries: the
    iommu_address_width field name (#8244), integer schema formats
    (#8278), GenericVhostUserConfig properties (#8543), a parameter
    name (#8544), and the vmm.nmi to vm.nmi endpoint (#8571).
  • Deduplicate VmConfig::preserved_fds (#8271).

Contributors

Many thanks to everyone who has contributed to our release:

v52.0

Choose a tag to compare

@github-actions github-actions released this 14 May 21:58

This release has been tracked in v52.0 group of our roadmap project.

Security Fixes

This release fixes a use-after-free vulnerability in the
virtio-block async I/O completion path (#8220). Details can be found
in GHSA-f47p-p25q-83rh (CVE-2026-45782).

Confidential VM Support: KVM SEV-SNP

AMD SEV-SNP confidential VMs can now be launched on KVM in addition to
MSHV. Cloud Hypervisor uses guest_memfd to back private memory and
loads an IGVM-packaged firmware (e.g. Oak stage0) to bring up an
SEV-SNP guest on real hardware (#7942).

Measured-boot support has been completed for KVM SEV-SNP guests,
bringing parity with the QEMU launch flow: the kernel, command line,
and initrd are reflected in the launch measurement, and a signed SNP
ID block can be passed so the guest (or a remote attestor) can verify
the launch (#8123).

VFIO Device Passthrough via iommufd and vfio-cdev

Cloud Hypervisor now supports the modern Linux VFIO device-access
model based on the iommufd subsystem and per-device vfio-cdev
character devices (available since Linux v6.6). This unlocks the
advanced IOMMU features exposed by modern hardware and enables fully
accelerated IOMMU support inside the guest. The legacy
container/group-based path continues to be supported (#7981).

In addition, several VFIO/PCI improvements have landed:

  • A new host_mmap_bars option allows selective mapping of VFIO BARs
    into the guest, so devices that expose registers that should not be
    fast-pathed can be selectively trapped (#7991).
  • Sub-page VFIO BARs are now expanded to a full page for mmap(),
    avoiding spurious failures on devices with small BARs (#7939).
  • VfioMsix::cap and VfioMsix::bar are now kept synchronized to
    avoid stale MSI-X state (#7993).
  • VFIO MMIO regions are now reliably cleared in DeviceManager::drop
    (#8063).
  • Deferred PCI BAR reprogramming state is now part of the saved
    device state (#7945).
  • GSIs for MSI/MSI-X interrupt vectors are now allocated lazily,
    reducing GSI consumption for VMs with many devices (#7940).

Multi-Connection TCP Live Migration

The send-migration HTTP command now accepts a connections
parameter (defaults to 1) that controls how many parallel TCP
connections are used for the live migration data transfer. On
servers with high-bandwidth (e.g. 100G) network links, multiple
connections significantly increase migration throughput (#7669).

Userfaultfd Demand-Paged Snapshot Restore

A new memory_restore_mode option on the restore path allows guest
memory to be populated lazily via userfaultfd instead of reading
the entire memory snapshot before the VM resumes. This dramatically
reduces restore-to-resume latency for large guests, at the cost of
faulting pages in on demand after resume (#7800).

Configurable PCI BDFs for Devices

Users now can configure the PCI slot/device number, the middle
part of the PCI BDF, through the CLI and API; bus and function
remain fixed at 0. This covers virtio devices (except balloon),
VFIO devices, vfio-user device, and generic vhost-user devices
(#8175, #7965, #8174, #8163).

AIO Block Backend write_zeroes and punch_hole Support

The AIO block backend now implements write_zeroes and punch_hole,
fixing a v51.0 regression that affected guests on hosts with
io_uring disabled (e.g. RHEL 9 / CentOS Stream 9, where
kernel.io_uring_disabled=2 is a common hardening default)
(#7817).

Asynchronous QCOW2 Backend with io_uring

A new QcowDiskAsync backend uses io_uring for data I/O on QCOW2
images and is automatically selected when io_uring is available
(falling back to the synchronous backend otherwise). Each virtio
queue gets its own ring and its own duplicated file descriptor,
enabling parallel data I/O across queues; QCOW2 metadata is shared
behind an Arc<RwLock<_>> (#7882).

Generic vhost-user Device Support

A new generic vhost-user-generic device type has been added.
All information about the device (number of queues, queue size,
feature bits, etc.) is provided to Cloud Hypervisor via the
command line or API, allowing arbitrary vhost-user backends to be
attached without device-type-specific support in the VMM (#7221).

Core Scheduling for vCPU Threads

A new core_scheduling option on --cpus controls how vCPU threads
are placed on SMT siblings via the kernel's core-scheduling feature,
which is useful for mitigating cross-thread side-channel attacks
without disabling SMT outright. Three modes are supported: vm
(default — all vCPU threads share one cookie), one-cookie-per-vCPU,
and a configurable grouping mode (#7747).

Snapshot/Restore and Live Migration Improvements

  • Snapshot and restore now treat the memory backing file as a sparse
    file: on snapshot the backing FD is sought with
    SEEK_DATA/SEEK_HOLE to skip unallocated regions, and on restore
    the on-disk file is read as sparse. Pages the guest never touched
    remain as holes in the backing file, substantially reducing both
    snapshot size and restore time (#8113).
  • Paused VMs can now be migrated (#8099).
  • User-configurable downtime and timeout parameters for live
    migration (#7835), and improved downtime observability (#7979).
  • A new option to automatically resume the VM on restore, useful
    when restoring from the VMM command line without an API socket
    (#7857).
  • Snapshot/restore support for vhost-user devices has been filled
    out (#7908), including migration support for virtio-fs (#7937).
  • Vsock connections are now reset on snapshot restore to avoid stale
    half-open connections on the guest side (#7958).
  • The KVM clock is now restored before vCPUs are resumed (#7932),
    and notify_guest_clock_paused is called for Hyper-V guests
    (#7933), eliminating clock jumps observed after restore.
  • vhost-user devices receive a guest interrupt on resume so that
    in-flight I/O is not stalled across pause/resume (#7851), and
    activated queue eventfds are signaled on resume for all virtio
    devices (#8004).
  • UFFDIO_WAKE and UFFD_FEATURE_MISSING_HUGETLBFS are now handled
    correctly (#8016).

New Command-Line and API Options

  • --no-shutdown keeps the VMM process running when the guest
    triggers a shutdown. This is useful for higher-level management
    layers that need full control over the VMM process (#8025).
  • fw_cfg now supports inline string items via
    --fw-cfg name=...,string=..., matching QEMU's syntax (#7825).
  • A new per-zone mergeable option on --memory-zone lets KSM
    merging be controlled per memory zone instead of only globally
    (#7983).
  • Disk lock granularity is now configurable via --disk (#7763).
  • --cpus threads_per_core is now enforced to be at most two
    (#8078), matching the hardware constraint.
  • --log-format controls the log output format, complementing
    existing log-level controls (#8172). Wallclock log timestamps
    now use UTC (#8193).
  • The HTTP API now logs error responses (#8181), and the
    user_devices configuration is included in the OpenAPI spec
    (#8072).

MSHV Support Improvements

  • SVM_EXIT_CPUID, SVM_EXIT_MSR, and GHCB_MSR_TERM_REQ handlers
    have been added to the SEV-SNP exit path (#7934).
  • Guest MTRR MSRs are now preserved on KVM (#7944).
  • Nested-virtualization control fixes on AMD (#7783).

Deprecations

Auto-detection of disk image types is now deprecated and will be
removed in a future release. Specify the image type explicitly via
the --disk image_type=... CLI option or the image_type field
on DiskConfig in the HTTP/D-Bus API to avoid the deprecation
warning (#8219).

Notable Bug Fixes

  • Fix a guest-triggerable VMM panic via an out-of-bounds
    queue_select in the MSI-X vector access path on the virtio PCI
    common config (#7918).
  • Saturate instead of underflowing on a malformed balloon actual
    value reported by the guest (#7903).
  • IOMMU address translation now returns errors instead of panicking
    on malformed guest input (#8023).
  • Several virtio device error paths now reset queues instead of
    panicking or exiting the worker (#8128); additional device
    manager paths avoid guest-induced panics (#8186).
  • Virtio barriers are now sized from the number of queues actually
    activated by the guest, fixing pause hangs (#7881).
  • Spec compliance fixes for virtio device config layouts (#7805).
    and other small spec deviations (#8066). Console descriptor-chain
    processing has been fixed (#7802). dword writes to the MSI-X
    control register are now handled (#7956).
  • PCI segment ACPI _UID values now match the segment ID (#7992).
  • Fix VHDX multiqueue data corruption (#7746).
  • Fix block-device resize-disk (#7948) and the writeback-mode
    update flow (#7949).
  • Fix vdpa RX failure after device reset by always using base 0
    (#7964).
  • Fix rebooting with landlock and a pty console (#7911).
  • Reject rate limiting with vhost-user (#8135).
  • Fix a deadlock between CpuManager::pause() and MMIO writes to
    the ACPI CPU hotplug controller (#7990, #8092).
  • Cancel vhost-user reconnection if the device has been unplugged
    (#8182).
  • Remove the API socket path when start_vmm fails (#8018).
    *...
Read more

v51.2

Choose a tag to compare

@github-actions github-actions released this 14 May 21:59

This is a point release containing security fixes to a use-after-free
vulnerability in the virtio-block async I/O completion path
(#8220). Details can be found in GHSA-f47p-p25q-83rh (CVE-2026-45782).

v50.2

Choose a tag to compare

@github-actions github-actions released this 23 Feb 18:26

This is a bug fix release. The following issues have been addressed:

  • Fix image_type in OpenAPI definition (#7734)

v51.1

Choose a tag to compare

@github-actions github-actions released this 22 Feb 21:24
9503e1a

This is a bug fix release. The following issues have been addressed:

  • Fix image_type in OpenAPI definition (#7734)

v51.0

Choose a tag to compare

@github-actions github-actions released this 20 Feb 00:59

This release has been tracked in v51.0 group of our roadmap project.

Security Fixes

This release fixes a security vulnerability in disk image handling.
Details can be found in GHSA-jmr4-g2hv-mjj6.

  • A new backing_files=on|off option has been added to --disk to
    explicitly control whether QCOW2 backing files are permitted. This
    defaults to off to prevent the loading of backing files entirely.
    (#7685)
  • Explicit image type specification via the user interface, removing
    reliance on format autodetection (#7728).
  • Prevent sector-zero writes for autodetected raw images (#7728).

Significant QCOW2 v3 Improvements

A large number of QCOW2 v3 specification features have been implemented:

  • RAW backing file support for QCOW2 overlays (#7570)
  • Zero bit in L2 entries (#7627)
  • Incompatible feature bit validation (#7612)
  • Dirty bit support (#7636)
  • Variable refcount widths (1 to 64-bit) (#7633)
  • Corrupt bit detection and marking (#7639)
  • Autoclear feature bits handling (#7648)
  • Thread safety fix for multiple virtio queues (num_queues > 1)
    (#7661)
  • Correct zero-fill for reads beyond backing file size (#7678)
  • Live disk resize support (#7687)

ACPI Generic Initiator Support

ACPI Generic Initiator Affinity (SRAT Type 5) support has been added
to associate VFIO-PCI devices with dedicated memory/CPU-less NUMA
nodes. This enables the guest OS to make NUMA-aware memory allocation
decisions for device workloads. A new device_id parameter has been
added to --numa for specifying VFIO devices. (#7626)

Block Device DISCARD and WRITE_ZEROES Support

The virtio-blk device now supports DISCARD and WRITE_ZEROES
operations for QCOW2 and RAW image formats. This enables thin
provisioning and efficient space reclamation when guests trim
filesystems. A new sparse=on|off option has been added to --disk to
control disk space management: sparse=on (default) enables thin
provisioning with space reclamation, while sparse=off provides thick
provisioning with consistent I/O latency. (#7666)

Notable Performance Improvements

  • Transparent Huge Pages (THP) support has been extended to cover
    anonymous shared memory (shared=on) via madvise. Previously, THP
    was only used for non-shared memory. (#7646)
  • The vhost-user-net device now uses the default set of vhost-user
    virtio features, including VIRTIO_F_RING_INDIRECT_DESC, which
    provides a performance improvement. (#7653)

MSHV Support Improvements

  • Optimize CPU state update after emulation by only updating special
    registers when changed (#7603)
  • Enable SMT for guests with threads_per_core > 1 (#7668)
  • Stub save_data_tables() to unblock VM pause/resume (#7692)
  • Handle GHCB_INFO_SPECIAL_DBGPRINT VMG exit in SEV-SNP guest exit
    handler (#7703)
  • Fix CVM boot failure on MSHV (#7548)
  • Fix CPU topology detection for multithreaded configurations (#7576)

Notable Bug Fixes

  • Fix VFIO device hot-remove leaving group and container file
    descriptors open, preventing re-add (#7676)
  • Fix snapshot restore when backing file is on read-only storage with
    shared=false (#7674)
  • Enforce VIRTIO_BLK_F_RO even if guest does not negotiate it
    (#7705)
  • Fix read-only block device FLUSH requests from OVMF preventing VMs
    from booting (#7706)
  • Fix vhost-user device not properly dropping unowned file descriptors
    (#7679)
  • Fix vhost-user-block get_config interoperability (#7617)
  • Fix vsock TOCTOU race condition by copying packet header from guest
    memory before processing (#7530)
  • Fix vsock handling of large TX packets spanning multiple data
    descriptors (#7680)
  • Add gettid() to all seccomp filters (#7596)
  • Fix MAC address parsing that wrongly allowed + instead of hex
    characters (#7579)
  • Improve UUID parse error message and --net fd help text (#7702)
  • Fix various inconsistencies in our OpenAPI specification file
    (#7716, #7726)
  • Various documentation fixes (#7602, #7606)

Contributors

Many thanks to everyone who has contributed to our release:

v50.1

Choose a tag to compare

@github-actions github-actions released this 20 Feb 01:21

This is a point release containing security fixes and bug fixes.

Security Fixes

This release fixes a security vulnerability in disk image handling.
Details can be found in GHSA-jmr4-g2hv-mjj6.

  • A new backing_files=on|off option has been added to --disk to
    explicitly control whether QCOW2 backing files are permitted. This
    defaults to off to prevent the loading of backing files entirely.
    (#7685)
  • Explicit image type specification via the user interface, removing
    reliance on format autodetection (#7728).
  • Prevent sector-zero writes for autodetected raw images (#7728).

Bug Fixes

  • Fix various inconsistencies in our OpenAPI specification file
    (#7716, #7726)
  • Fix QCOW2 thread safety for multiple virtio queues
    (num_queues > 1) (#7661)

v50.0

Choose a tag to compare

@github-actions github-actions released this 19 Dec 03:04

This release has been tracked in v50.0 group of our roadmap project.

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:

v49.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 05:36

This release has been tracked in v49.0 group of our roadmap project.

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)
  • 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:

v48.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 23:05

This release has been tracked in v48.0 group of our roadmap project.

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. (#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. (#7162)

Removed SGX Support

The SGX support has been removed, as announced in the deprecation notice two
release cycles ago. (#7093)

Notable Bug Fixes

Contributors

Many thanks to everyone who has contributed to our release: