This is landing more or less on time :-) I just tagged it in git, and pushed signed tarball and source rpm to the usual place: https://libvirt.org/sources/ I also made a release for the Python bindings you can find at https://libvirt.org/sources/python/ I had to do a bit of workaround since virschematest failes on my machine this could be related to my latest release of libxml2 or another problem I didn't really had time to find out why (changes in RelaxNG implementation likely culprits). This release includes relatively larse set of changes, notably it now relies on glib and removes the Perl dependency: New features: - qemu: Introduce support for ARM CPU features The only features supported at the moment are SVE vector lengths, which were introduced in QEMU 4.2.0. - qemu: Support boot display for GPU mediated devices Until now, GPU mediated devices generally did not show any output until the guest OS had initialized the vGPU. By specifying the ramfb attribute, QEMU can be configured to use ramfb as a boot display for the device: this allows for display of firmware messages, boot loader menu, and other output before the guest OS has initialized the vGPU. - Add API to change the response timeout for guest agent commands By default, when a command is sent to the guest agent, libvirt waits forever for a response from the guest agent. If the guest is unresponsive for any reason, this can block the calling thread indefinitely. By setting a custom timeout using virDomainAgentSetResponseTimeout(), API users can change this behavior. Improvements: - Devices CGroup v2 support Libvirt supported all controllers of CGroup v2 but the devices controller which is implemented in this release. - Cold plug of sound device The QEMU driver now can handle cold plug of <sound/> devices. - Probe for default CPU types With QEMU 4.2.0 we can probe for the default CPU model used by QEMU for a particular machine type and store it in the domain XML. This way the chosen CPU model is more visible to users and libvirt will make sure the guest will see the exact same CPU after migration. - Adaptation to qemu's blockdev QEMU introduced a new way of specifying disks on the command line which enables fine-grained control over the block stack. Libvirt has adapted to this. Refactors: - More GLib integration More patches were merged that replace our internal functions with GLib ones. Also some effort was invested in replacing gnulib modules with GLib functions. - Rewrite of Perl scripts into Python Libvirt used Perl scripts to check for coding style, generate some code and things like that. To bring the number of languages used down, these scripts were rewritten into Python. Bug fixes: - Warn verbosely if using old loader:nvram pairs Some distributions still use --with-loader-nvram or nvram variable in qemu.conf. This is now discouraged in favour of FW descriptors. However, instead of silently ignoring user's config, libvirt warns if outdated config is detected. - Drop pconfig from Icelake-Server CPU model The pconfig feature was enabled in QEMU by accident in 3.1.0. All other newer versions do not support it and it was removed from the Icelake-Server CPU model in QEMU. - Wait longer for device removal confirmation on PPC64 After sending device hot unplug request to QEMU, libvirt waits up to 5 seconds for qemu to confirm the device removal. On some architectures (like PPC64) this can take longer time and libvirt now reflects that. - Forcibly create nodes in domain's namespace The QEMU driver starts a domain in a namepsace with private /dev and creates only those nodes there which the domain is configured to have. However, it may have happened that if a node changed its minor number this change wasn't propagated to the namespace. - Various AppArmor bugfixes The AppArmor driver now knows how to handle <shmem/> devices and also snapshotting more disks at once. - Improved video model autoselection If a graphics device was added to XML that had no video device, libvirt automatically added a video device which was always of type 'cirrus' on x86_64, even if the underlying qemu didn't support cirrus. Libvirt now bases the decision on qemu's capabilities. Thanks everybody who contributed to this release, with report, patches, docs, reviews, localization, etc ... Like previous years the the next release 6.0.0 will be mid-January as the end of the year generates serious slowdown and February is short. So enjoy the release until next year's one :-) Daniel -- Daniel Veillard | Red Hat Developers Tools http://developer.redhat.com/ veillard@xxxxxxxxxx | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list