Skip to content

Commit 810d00e

Browse files
committed
content: blog: Add v53.0 release
Signed-off-by: Rob Bradford <rbradford@meta.com>
1 parent 4b36ea4 commit 810d00e

1 file changed

Lines changed: 200 additions & 0 deletions

File tree

content/en/blog/v53.0/index.md

Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
---
2+
title: "Cloud Hypervisor v53.0 Released!"
3+
date: 2026-07-12T21:55:39Z
4+
draft: false
5+
contributors: [Cloud Hypervisor Team]
6+
---
7+
This release has been tracked in [v53.0 group](https://github.com/orgs/cloud-hypervisor/projects/6/views/6?filterQuery=release%3A%22Release+53%22) of our [roadmap project](https://github.com/orgs/cloud-hypervisor/projects/6/).
8+
9+
### Snapshot/Restore and Live Migration Improvements
10+
11+
* An offloaded snapshot/restore daemon has been introduced, allowing snapshot
12+
and restore to be carried out by an external process. The live migration
13+
protocol has been extended so page faults can be serviced from the source.
14+
This enables *postcopy* for remote live migration and *on-demand paging* for
15+
the offload daemon, both built on `userfaultfd`, bringing the offload daemon
16+
to parity with the internal snapshot/restore implementation (#8403, #8264,
17+
#8556).
18+
* Snapshot pages can now be prefaulted in the background after a
19+
`userfaultfd`-based restore, combining a fast restore-to-resume with fully
20+
faulted-in memory shortly afterwards. The number of prefault threads scales
21+
with the available parallelism (#8150, #8538, #8484).
22+
* Live migration data can now be encrypted using mutual TLS (#8053).
23+
* VFIO migration v2 is now supported for same-host snapshot and restore of
24+
migratable VFIO devices (for example ConnectX VFs bound to `mlx5_vfio_pci`)
25+
(#8303).
26+
* Migrated guests now issue post-migration network announcements so that
27+
connectivity on the new host is refreshed within milliseconds rather than
28+
taking up to 20 seconds to recover (#8263).
29+
* The `vm.send-migration` API endpoint now returns immediately rather than
30+
blocking for the duration of the migration (#8021).
31+
32+
### Nested Hyper-V (Windows Guest) Support
33+
34+
Windows guests can now run nested Hyper-V as used by WSL2 on the KVM backend
35+
(#8481).
36+
37+
### `virtio-rtc` Device Support
38+
39+
Support for `virtio-rtc` devices has been added (via `--rtc`), providing a
40+
Real Time Clock to the guest. This is primarily useful for, and only enabled by
41+
default on, MSHV guests that do not have access to `kvmclock` (#7795).
42+
43+
### Guest Clock Updates Across Snapshot/Restore and Migration
44+
45+
The guest clock is now advanced to account for the elapsed wall-clock time when
46+
a VM is resumed after a snapshot-restore or a live migration so the guest sees
47+
the correct time of day immediately rather than lagging behind by the downtime.
48+
On x86 the kvmclock realtime flag is preserved so that the kernel adjusts the
49+
clock automatically (#8256). On ARM64 the guest counter is advanced using the
50+
`KVM_REG_ARM_TIMER_CNT` interface (#8343). vCPU TSC offsets are also
51+
re-synchronized on restore (#8437).
52+
53+
### Buffered Serial Output for Late-Connecting Clients
54+
55+
In socket serial mode (`--serial socket=...`) the output produced before a
56+
client connects is now buffered so a console client that attaches after boot
57+
sees the earlier output (#8322).
58+
59+
### New Command-Line and API Options
60+
61+
* A `reserve=on|off` option has been added to `--memory` and
62+
`--memory-zone` (default `off`). When enabled, guest RAM is mapped
63+
without `MAP_NORESERVE` so an overcommitted configuration fails cleanly at VM
64+
creation with `ENOMEM` (#8350).
65+
* The SMBIOS/DMI fields exposed via `--platform` have been extended and scoped
66+
to specific SMBIOS structures, for workloads that consume this data for
67+
licensing, inventory, or host identification (#8259).
68+
* The VMM can now consume pre-opened VFIO `cdev` and `iommufd` file descriptors
69+
supplied by the caller, letting a privileged orchestrator open the device
70+
nodes once and hand the FDs to an unprivileged VMM at boot or at runtime.
71+
This is also a prerequisite for live migration of VMs using VFIO devices
72+
(#8287).
73+
* A "glog style" log format has been added, with a single-character level and
74+
local or UTC timestamps (#8265).
75+
* A new `--seccomp=errno` option has been added that will result in filtered
76+
syscalls to set `errno` to `EPERM`. This can be used when the killing of the
77+
process with `SIGSYS` is not desired (#8578).
78+
79+
### Deprecations
80+
81+
* The legacy `--platform` SMBIOS keys `serial_number` and `uuid` are
82+
deprecated in favor of the new SMBIOS-structure-scoped keys. The
83+
legacy keys continue to be accepted, with a warning, and will be
84+
removed in a future release (#8259).
85+
* The generic `vhost-user` device's `virtio_id` command-line
86+
parameter is deprecated in favor of `device_type`, matching the API
87+
and configuration naming. `virtio_id` is retained as an alias that
88+
logs a warning and will be removed in a later release (#8564).
89+
90+
### Notable Bug Fixes
91+
92+
* Revert `create memfd for private mappings`, which caused a serious memory
93+
consumption regression without hugepages or `shared=on` (#8246).
94+
* Advertise the mandatory Hyper-V partition privileges so Windows
95+
guests enable the reference TSC page instead of taking a VM exit on
96+
every clock read (#8380).
97+
* Correctly save and restore ARM64 SVE registers (#8268).
98+
* Set the guest physical address space size correctly on AMD (#8291).
99+
* Sparse align the initial PCI BAR placement to avoid a Windows rebalancing
100+
deadlock (#8205).
101+
* Various TPM fixes, including for Windows guests (#8305, #8312).
102+
* Preserve `WRITE_ZEROES` on QCOW2 images with backing files (#8245)
103+
and fix `WriteZeroes` sector arithmetic overflow (#8388).
104+
* Improve `O_DIRECT` handling so that `direct=on` is usable on hosts
105+
requiring 4K alignment, including opening fixed VHD images (#8335).
106+
* Resolve relative QCOW2 backing file paths correctly (#8196).
107+
* Drain block I/O before the device is paused (#8356) and retry
108+
locking when interrupted by `EINTR` (#8402).
109+
* Fix VHDX region-table overlap detection (#8483) and an incomplete
110+
bounds check in the VHDX synchronous I/O worker (#8529).
111+
* Fix a guest deadlock by signalling `DEVICE_NEEDS_RESET` and
112+
releasing the activation barrier when a virtio device fails to
113+
activate (#8295).
114+
* Handle short and misaligned MMIO/PIO accesses without panicking:
115+
validate the MMIO access size (#8506), return all-ones for
116+
unregistered MMIO/PIO reads (#8237), correct `fw_cfg` short and long
117+
reads (#8507), respect the PCI CFG capability length for BAR access
118+
(#8272, #8238), and reject incorrect MSI-X table and PBA reads (#8417).
119+
* Translate virtio-iommu buffers that span adjacent mappings (#8520),
120+
and add centralized virtio descriptor-range validation (#8232).
121+
* Handle a guest/host half-close on vsock connections (#8372).
122+
* Avoid a guest-triggerable VMM panic by replacing asserts on ACPI
123+
device accesses with checks (#8405).
124+
* Emit a complete ACPI `_S5_` sleep package, fixing an early-boot
125+
fault on OpenBSD guests (#8426).
126+
* Transfer post-snapshot guest memory changes during live migration to
127+
avoid corruption with `vhost-user` devices (#8361).
128+
* Improve configuration validation to return errors instead of
129+
panicking on malformed input (#8511), require the `ch-remote`
130+
snapshot/restore config arguments instead of panicking (#8331),
131+
reject resizing below the boot memory size (#8428), reject removal of
132+
an already-removed device (#8559), and fix generic `vhost-user`
133+
parsing (#8564).
134+
* Don't leak a file descriptor when ejecting a VFIO device (#8367),
135+
and fix a PCI device hotplug race by deferring device visibility
136+
(#8369).
137+
* Fix PCI segment ID validation (#8377) and make the PCI BDF
138+
configurable for the balloon and ivshmem devices (#8310).
139+
* Return HTTP 404 for API requests against a VM that has not been
140+
created (#8320), and omit unset optional fields from API responses so
141+
that strict client generators accept them (#8321).
142+
* Clean up a stale API socket under a lock before binding (#8325).
143+
* Cache the local timezone before installing seccomp filters (#8327).
144+
* Enhance the ACPI PPTT with cache topology information (#7893).
145+
* Correct several OpenAPI specification entries: the
146+
`iommu_address_width` field name (#8244), integer schema formats
147+
(#8278), `GenericVhostUserConfig` properties (#8543), a parameter
148+
name (#8544), and the `vmm.nmi` to `vm.nmi` endpoint (#8571).
149+
* Deduplicate `VmConfig::preserved_fds` (#8271).
150+
151+
### Contributors
152+
153+
Many thanks to everyone who has contributed to our release:
154+
155+
* Aastha Rawat <aastharawat@microsoft.com>
156+
* Adel-Ayoub <adelayoub.maaziz@gmail.com>
157+
* Alexander Lvov <alexander.lvov.git@gmail.com>
158+
* Alyssa Ross <hi@alyssa.is>
159+
* Anatol Belski <anbelski@linux.microsoft.com>
160+
* Andrei Vagin <avagin@google.com>
161+
* Anirudh Rayabharam <anrayabh@microsoft.com>
162+
* Atish Patra <atishp@meta.com>
163+
* Bo Chen <bchen@crusoe.ai>
164+
* Cameron Baird <cameronbaird@microsoft.com>
165+
* Chris Webb <chris@arachsys.com>
166+
* CMGS <ilskdw@gmail.com>
167+
* Damian Barabonkov <dbctl@pm.me>
168+
* Daniel Verkamp <drv@meta.com>
169+
* doge <me@crackerben.com>
170+
* Dylan Reid <dgreid@fb.com>
171+
* Gauthier Jolly <contact@gjolly.fr>
172+
* Henry Hrvoje Tonkovac <htonkovac@gmail.com>
173+
* Ian Klemm <hi@ianklemm.de>
174+
* Julian Schindel <julian.schindel@cyberus-technology.de>
175+
* Leander Kohler <leander.kohler@cyberus-technology.de>
176+
* Max Makarov <maxpain@linux.com>
177+
* Meng Zhuo <mengzhuo@iscas.ac.cn>
178+
* Muminul Islam <muislam@microsoft.com>
179+
* Nikolas Kyx <55556836+nyx191@users.noreply.github.com>
180+
* Oliver Anderson <oliver.anderson@cyberus-technology.de>
181+
* Pascal Scholz <pascal.scholz@cyberus-technology.de>
182+
* Philipp Schuster <philipp.schuster@cyberus-technology.de>
183+
* Rob Bradford <rbradford@meta.com>
184+
* Roman <roman@vanesyan.com>
185+
* Rowen-Ye <rowenye1@gmail.com>
186+
* Ruben Hakobyan <hruben@meta.com>
187+
* Saravanan D <saravanand@crusoe.ai>
188+
* Sayed Kaif <metsw24@gmail.com>
189+
* Sebastian Eydam <sebastian.eydam@cyberus-technology.de>
190+
* Sebastien Boeuf <sboeuf@meta.com>
191+
* tchaton <thomas.chaton.ai@gmail.com>
192+
* Thomas Prescher <thomas.prescher@cyberus-technology.de>
193+
* tonic <tonicbupt@gmail.com>
194+
* Tushar Khatri <hello@tusharkhatri.in>
195+
* wangyf0611 <wangyufeng@iscas.ac.cn>
196+
* Wei Liu <liuwe@microsoft.com>
197+
* wuxinyue <wuxinyue.wxy@antgroup.com>
198+
* yanjianqing <yanjianqing@kylinos.cn>
199+
### Download
200+
See the <a href="https://github.com/cloud-hypervisor/cloud-hypervisor/releases/tag/v53.0">GitHub Release</a> for the release assets.

0 commit comments

Comments
 (0)