The 9.6.0 release of both libvirt and libvirt-python is tagged and
signed tarballs and source RPMs are available at
https://download.libvirt.org/
https://download.libvirt.org/python/
Thanks everybody who helped with this release by sending patches,
reviewing, testing, or providing feedback. Your work is greatly
appreciated.
* Security
* ``CVE-2023-3750``: Fix race condition in storage driver leading to a crash
In libvirt-8.3 a bug was introduced which in rare cases could cause
``libvirtd`` or ``virtstoraged`` to crash if multiple clients attempted to
look up a storage volume by key, path or target path, while other clients
attempted to access something from the same storage pool.
* Improvements
* apparmor: All profiles and abstractions now support local overrides
This has long been the case for the ``virt-aa-helper`` profile, but has
now been extended to all other profiles and abstractions. The mechanism
used is the standard AppArmor 3.x one, where the contents of ``foo`` and
``abstractions/foo`` can be overridden by creating ``local/foo`` and
``abstractions/foo.d`` respectively.
* qemu: Support ``removable`` attribute for scsi disk
Now the scsi disk device (``/disk@device='disk'`` and
``/disk/target@bus='scsi'``) supports the ``removable`` attribute at
``/disk/target@removable```.
* qemu: Add NUMA node automatically for memory hotplug
Users no longer need to specify guest NUMA node in the domain XML when
enabling memory hotplug, libvirt automatically adds one when it is missing.
* qemu: Consider ``BeeGFS`` as a shared filesystem
Allow migration with non-shared storage for VMs accessing storage via
``BeeGFS``.
* Bug fixes
* qemu: Adapt to new way of specifying PC speaker
PC speaker is now usable again with newer QEMU since the change of how it
is specified on the command line.
* qemu_tpm: Try harder to create emulator state
Libvirt no longer considers empty directory valid SWTPM state and setup is
now run properly in such case.
Enjoy.
Jirka