Release of libvirt-6.5.0

Daniel Veillard veillard at
Fri Jul 3 07:56:25 UTC 2020

  Half a day late, but I pushed the 6.5.0 release out, it is as usual
available as a signed tarball and source rpms from the server:

I also tagged and pushed the 6.5.0 python bindings that one can find at

This release includes a number of new features and some improvement,
as well as a crash which had made its way in 6.4.0.
It will also be my last release of libvirt after close to 15 years,
so expect new releases to be signed by Jiri Denemark from now on.

* New Features:

- Allow firmware blobs configuration

  QEMU offers a way to tweak how firmware configures itself
  and/or provide new configuration blobs. New ``<sysinfo/>``
  type is introduced that will hold these new blobs.
  It's possible to either specify new value as a string or
  provide a filename which contents then serve as the value.

- nodedev: Add ability to create mediated devices

  Mediated devices can now be created with ``virNodeDeviceCreateXML()``. This
  functionality requires the ``mdevctl`` utility to be installed. The XML
  schema for node devices was expanded to support attributes for mediated

- QEMU: add TPM Proxy device support

  libvirt can now create guests using a new device type called
  "TPM Proxy". The TPM Proxy connects to a TPM Resource Manager
  present in the host, enabling the guest to run in secure virtual
  machine mode with the help of an Ultravisor. Adding a TPM Proxy to
  a pSeries guest brings no security benefits unless the guest is
  running on a PPC64 host that has Ultravisor and TPM Resource Manager
  support. Only one TPM Proxy is allowed per guest. A guest using
  a TPM Proxy device can instantiate another TPM device at the same
  time. This device is supported only for pSeries guests via the new
  'spapr-tpm-proxy' model of the TPM 'passthrough' backend.

- virhook: Support hooks placed in several files

  Running all scripts from directory /etc/libvirt/hooks/<driver>.d in
  alphabetical order. Hook script in old place will be executed
  as first for backward compatibility.

- qemu: Add support for migratable host-passthrough CPU

  QEMU 2.12 made it possible for guests to use a migration-friendly
  version of the host-passthrough CPU. This feature is now exposed by

* Improvements:

- network: Support NAT with IPv6

  It's now possible to use ``<nat ipv6="yes"/>`` in a libvirt network.

- qemu: Auto-fill NUMA information for incomplete topologies

  If the NUMA topology is not fully described in the guest XML, libvirt
  will complete it by putting all unspecified CPUs in the first NUMA node.
  This is only done in the QEMU binary itself supports disjointed CPU
  ranges for NUMA nodes.

- qemu: Assign hostdev-backed interfaces to PCIe slots

  All SR-IOV capable devices are PCIe, so when their VFs are assigned to
  guests they should end up in PCIe slots rather than conventional PCI ones.

* Bug fixes:

- qemu: fixed crash in ``qemuDomainBlockCommit``

  This release fixes a regression which was introduced in libvirt v6.4.0
  where libvirtd always crashes when a block commit of a disk is requested.

- qemu: fixed zPCI address auto generation on s390

  Removes the correlation between the zPCI address attributes uid and fid.
  Fixes the validation and autogeneration of zPCI address attributes.

- qemu: Skip pre-creation of NVMe disks during migration

  libvirt has no way to create NVMe devices on the target host, so it now
  just makes sure they exist and let the migration proceed in that case.

  Thanks everybody for the help on putting this release out, and
the gazillion ones before :-)

   Enjoy and stay safe !


Daniel Veillard      | Red Hat Developers Tools
veillard at  | libxml Gnome XML XSLT toolkit | virtualization library

More information about the libvir-list mailing list