libvirt 10.5.0

The libvirt project: is a toolkit to manage virtualization platforms is accessible from C, Python, Perl, Go and more is licensed under open source licenses supports KVM, Hypervisor.framework, QEMU, Xen, Virtuozzo, VMWare ESX, LXC, BHyve and more targets Linux, FreeBSD, Windows and macOS is used by many applications

Tags virtualization virtual-machine toolkit library c python
License Mixed
State development

Recent Releases

10.5.002 Jul 2024 15:45 major bugfix: New features. Introduce SEV-SNP support. SEV-SNP is introduced as another type of ``. Its support is reported in both domain capabilities and `virt-host-validate`. Improvements. Tools: virt-pki-validate has been rewritten in C. The `virt-pki-validate` shell script has been rewritten as a C program. Providing an output format that matches `virt-host-validate`, removing The dependency on `certtool` and providing more comprehensive checks of the certificate properties. Qemu: implement iommu coldplug/unplug. The `` device can be now cold plugged and/or cold unplugged. Pass shutoff reason to release hook. Sometimes in release hook it is useful to know if the VM shutdown was. Graceful or not. This is especially useful to do cleanup based on the VM Shutdown failure reason in release hook. Starting with this release the Last argument 'extra' is used to pass VM shutoff reason in the call to Release hook. Nodedev: improve DASD detection. In newer DASD driver versions the ID_TYPE tag is supported. This tag is. Missing after a system reboot but when the ccw device is set offline and Online the tag is included. To this version independently we need to Check if a device detected as type disk is actually a DASD to maintain the Node object consistency and not end up with multiple node objects for DASDs. . Remote_daemon_dispatch: Unref sasl session when closing client connection. A memory leak was identified when a client started SASL but then suddenly. Connection. This is now. Qemu: migration with disabled vmx- CPU features. Migrating a domain with some vmx- CPU features marked as disabled could. Have failed as the destination would incorrectly expect those features to be enabled after starting QEMU. Qemu: `libvirtd`/`virtqemud` crash when VM shuts down during migration. The libvirt daemon could crash when a VM was shut down while being migrated to another host.
10.4.004 Jun 2024 12:45 major feature: New features. Qemu: Support for ras feature for virt machine type. It is now possible to set on/off `ras` feature in the domain XML for virt. (Arm) machine type as ``. SSH proxy for VM. Libvirt now installs a binary helper that allows connecting to QEMU domains. Via SSH using the following scheme: `ssh user@qemu/virtualMachine`. Qemu: Support for `virtio` sound model. Sound devices can now be configured to use the virtio model with. ``. This model is available from QEMU 8.2.0. Onwards. Network: use nftables to setup virtual network firewall rules. The network driver can now use nftables rules for the virtual. Network firewalls, rather than iptables. With the standard build Options, nftables is preferred over iptables (with fallback to Iptables if nftables isn't installed), but this can be modified at Build time, or at runtime via the firewall_backend setting in Network.conf. (NB: the nwfilter driver still uses Ebtables/iptables). Improvements. Qemu: add zstd to supported compression formats. Extend the list of supported formats of QEMU save image by adding zstd. Compression. Qemu: Implement support for hotplugging evdev input devices. As of this release, hotplug and hotunplug of evdev `` devices is. Supported. . Virsh/virt-admin: `--help` option for all commands. A introduced in `v10.3.0 (2024-05-02)`_ caused that the attempt to print. Help for any command by using the `--help` option in `virsh` and `virt-admin` would print:: virsh list --help. Error: command 'list' doesn't support option --help Instead of the help output. A workaround for the affected version is to use. The help command:: virsh help list. Qemu: `virsh save` and migration when storage in question is root_squashed NFS. Attempting to save a VM to a root_squash NFS mount or migrating with disks. Hosted on such mount could, in some scenarios, result in error stating:: 'Unknown error 255'. The was introduced in `v10.1.0 (2024-03-01)`_. Qemu: Don't set affinity for i
10.3.003 May 2024 10:45 major bugfix: New features. Qemu: Proper support for USB network device. USB address is now automatically assigned to USB network devices thus they. Can be used without manual configuration. Conf: Introduce memReserve attribute to . Some PCI devices have large non-prefetchable memory. This can be a problem in case when such device needs to be hotplugged as the firmware can't. Foresee such situation. The user thus can override the value calculated at Start to accomodate for such devices. Improvements. Improve validation of USB devices. Certain USB device types ('sound', 'fs', 'chr', 'ccid' and 'net') were not. Properly handled in the check whether the VM config supports USB and thus Would result in poor error messages. Virsh: behaviour of `--name` and `--parent` used together when listing checkpoint and snapshots. The `checkpoint-list` and `snapshot-list` commands would ignore the. `--name` option to print only the name when used with `--parent`. Extend libvirt-guests to shutdown only persistent VMs. Users can now choose to shutdown only persistent VMs when the host is being. Shut down. . Qemu: migration with custom XML. Libvirt 10.2.0 would sometimes complain about incompatible CPU definition. When trying to migrate or save a domain and passing a custom XML even Though such XML was properly generated as migratable. Hitting this depends on the guest CPU definition and the host on which a particular Domain was running. Qemu: TLS hostname verification failure in certain non-shared storage migration scenarios. In certain scenarios (parallel migration, newly also post-copy migration). Libvirt would wrongly pass an empty hostname to QEMU to be used for TLS Certificate hostname validation, which would result into failure of the Non-shared storage migration step:: Error: internal error: unable to execute QEMU command 'blockdev-add': Certificate does not match the hostname. Create OVS ports as transient. Libvirt now creates OVS ports as transient which preven
10.2.003 Apr 2024 22:45 major bugfix: New features. ch: Basic save and restore support for ch driver. The ch driver now supports basic save and restore operations. This is. Functional on domains without any network, host device config defined. The `path` parameter for save and restore should be a directory. Qemu: Support for driver type `mtp` in `` devices. The `mtp` driver type exposes the `usb-mtp` device in QEMU. The. Guest can access files on this driver through the Media Transfer Protocol (MTP). Qemu: Added support for the loongarch64 architecture. It is now possible for libvirt to run loongarch64 guests, including on. Other architectures via TCG. For the best results, it is recommended to Use the upcoming QEMU 9.0.0 release together with the development version of edk2. Qemu: Introduce virDomainGraphicsReload API. Reloading the graphics display is now supported for QEMU guests using VNC. This is useful to make QEMU reload the TLS certificates without. Restarting the guest. Available via the `virDomainGraphicsReload` API And the `domdisplay-reload` virsh command. . Qemu: migration from libvirt older than 9.10.0 when vmx is enabled. A domain with vmx feature enabled (which may be even done automatically. With `mode='host-model'`) started by libvirt 9.9.0 or older cannot be Migrated to libvirt 9.10.0, 10.0.0, and 10.1.0 as the target host would Complain about a lot of extra `vmx-*` features. Migration of similar Domains started by the affected releases to libvirt 9.9.0 and older Does not work either. Since libvirt 10.2.0 migration works again with Libvirt 9.9.0 and older in both directions. Migration from the affected Releases to 10.2.0 works as well, but the other direction remains broken Unless the is backported. Node_device: Don't report spurious errors from PCI VPD parsing. In last release the PCI Vital Product Data parser was enhanced to report. Errors but that effort failed as some kernels have the file but don't allow Reading it causing logs to be spammed with:: Libvirtd
10.1.001 Mar 2024 23:49 major feature: * **Security** * ``CVE-2024-1441``: Fix off-by-one error leading to a crash In **libvirt-1.0.0** there were couple of interface listing APIs introduced which had an off-by-one error. That error could lead to a very rare crash if an array was passed to those functions which did not fit all the interfaces. In **libvirt-5.10** a check for non-NULL arrays has been adjusted to allow for NULL arrays with size 0 instead of rejecting all NULL arrays. However that made the above issue significantly worse since that off-by-one error now did not write beyond an array, but dereferenced said NULL pointer making the crash certain in a specific scenario in which a NULL array of size 0 was passed to the aforementioned functions. * **New features** * nodedev: Support updating mdevs The node device driver has been extended to allow updating mediated node devices. Options are available to target the update against the persistent, active or both configurations of a mediated device. **Note:** The support is only available with at least mdevctl v1.3.0 installed. * qemu: Add support for /dev/userfaultfd On hosts with new enough kernel which supports /dev/userfaultfd libvirt will now automatically grant QEMU access to this device. It's no longer needed to set vm.unprivileged_userfaultfd sysctl. * qemu: Support clusters in CPU topology It is now possible to configure the guest CPU topology to use clusters. Additionally, if CPU clusters are present in the host topology, they will be reported as part of the capabilities XML. * network: Make virtual domains resolvable from the host When starting a virtual network with a new ``register='yes'`` attribute in the ```` element, libvirt will configure ``systemd-resolved`` to resolve names of the connected guests using the name server started for this network. * qemu: Introduce dynamicMemslots attribute for virtio-mem