As planned the release is available, tagged in git, and the signed tarball and source rpm are available from the usual place: https://libvirt.org/sources/ I also made the release of the pythn bindings which can be found at: https://libvirt.org/sources/python/ This release carries some serious changes, dropping the support for python2 and the phyp Power Hypervisor. This comes with a set of new features and improvements too: Packaging changes: - support for python2 is removed Libvirt is no longer able to be built using the Python 2 binary. Python 3 must be used instead. - docs: the python docutils toolset is now required The use of rst2html has been introduced for the website build process since docs are now being written in the RST as an alternative to HTML. New features: - new PCI hostdev address type: unassigned A new PCI hostdev address type 'unassigned' is introduced. An unassigned PCI hostdev behaves like any regular PCI hostdev inside Libvirt, but it is not usable by the guest. This gives the user a new option to manage the binding of PCI devices via Libvirt, declaring PCI hostdevs in the domain XML but allowing just a subset of them to be assigned to the guest. - Provide init scripts for sub-deaemons So far libvirt shipped systemd unit files for sub-daemons. With this release, init scripts are available too. Package maintainers can choose which one to install via --with-init-script configure option. - qemu: Support cold-unplug of sound devices - qemu: Implement VIR_MIGRATE_PARAM_TLS_DESTINATION This flag, which can be enabled using virsh's --tls-destination option, allows migration to succeed in situations where there is a mismatch between the destination's hostname and the information stored in its TLS certificate. - qemu: Support reporting memory bandwidth usage stats Implement Intel RDT-MBM in libvirt. The stats can be obtained via virsh domstats --memory. - qemu: Allow accessing NVMe disks directly Before this release there were two ways to configure a NVMe disk for a domain. The first was using <disk/> with the <source/> pointing to the /dev/nvmeXXXX. The other was using PCI assignment via <hostdev/> element. Both have their disadvantages: the former adds latency of file system and block layers of the host kernel, the latter prohibits domain migration. In this release the third way of configuring NVMe disk is added which combines the advantages and drops disadvantages of the previous two ways. It's accessible via <disk type='nvme'/>. Removed features: - 'phyp' Power Hypervisor driver removed The 'phyp' Power Hypervisor driver has not seen active development since 2011 and does not seem to have any real world usage. It has now been removed. Improvements: - qemu: xz save image compression is faster When using the xz format to compressed virtual machine saved state images, the "-3" compression level preset is now used. This results in slightly larger files, but with a massively reduced time to compress. The xz format offers the best compression level for saved state images, albeit still with the slowest running time. For the fastest possible running time, at cost of the larest compressed size, lzop should be used. - domain: Improve job stat handling It is now possible to retrieve stats for completed and failed jobs. - qemu: Don't hold monitor and agent job at the same time Before this change, a malicious (or buggy) qemu-guest-agent running in the guest could make other libvirt APIs unavailable for an unbounded amount of time. Bug fixes: - qemu: Report error if backing image format is not specified explicitly For a long time libvirt was assuming that a backing file is RAW when the format was not specified. This didn't pose a problem until blockdev support was enabled in last release. Libvirt now requires that the format is specified in the image metadata or domain XML and the VM will refuse to start otherwise. Additionally the error message now links to the knowledge base which summarizes how to fix the images. - qemu: Fix non-shared storage migration over NBD - qemu: Generate a single MAC address for hotplugged network devices Since libvirt 4.6.0, when hotplugging a network device that didn't have a MAC address already assigned by the user, two separate addresses would be generated: one for the live configuration, which would show up immediately, and one for the inactive configuration, which would show up after the first reboot. This situation was clearly undesirable, so a single MAC address is now generated and used both for the live configuration and the inactive one. thanks everybody who helped on this release, with reports, fixes, reviews, ideas, documentation, etc ... Enjoy the release, next one will be scheduled at the end of February ! 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