The 12.1.0 release of both libvirt and libvirt-python is tagged and
signed tarballs 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.

* New features

  * qemu: Advertise firmware features in domain capabilities XML

    The contents of the ``<firmwareFeatures/>`` element can be used to determine
    ahead of time whether a firmware matching certain characteristics, for
    example Secure Boot support, is available for the selected architecture and
    machine type.

  * qemu: Add support for uefi-vars device and firmware builds using it

    This is particularly noteworthy for people running aarch64 VMs with the
    'virt' machine type, as it makes it finally possible to use Secure Boot
    with that combination.

    In most cases, no special steps are needed to take advantage of this:
    assuming that you have installed a recent version of QEMU, as well as a
    build of edk2 that includes the necessary binaries, you can just `enable
    Secure Boot <kbase/secureboot.html>`__ as you normally would.

    To explicitly request that the uefi-vars device is used even for scenarios
    where that would normally not be the case, it's enough to add an empty
    ``<varstore/>`` element in the domain XML. More details are available in
    the `guest firmware configuration <formatdomain.html#guest-firmware>`__
    section of the documentation.

  * hyperv: improve API coverage for the hyperv driver

    The `virDomainInterfaceAddresses()` and `virDomainGetBlockInfo()` APIs are
    now supported by the hyperv driver. In addition, the domain xml for hyperv
    domains will indicate via firmware features whether secure boot is enabled.
    It also honors these firmware features when creating new domains.

  * bhyve: Add support for vCPU pinning configuration

    Bhyve guests can now have vCPU pinning configured::

     <cputune>
       <vcpupin vcpu="0" cpuset="1,2,3"/>
     </cputune>

    Additionally, the ``domainGetVcpuPinInfo`` API is implemented for
    querying vCPU pinning information.

  * qemu: Support block operation latency histograms

    Libvirt now allows configuring qemu's block latency histogram collection
    as well as returns them via the bulk stats API.

* Improvements

  * Introduce granule attribute for virtio-iommu

    In case when guest page size doesn't match the host page size (typically
    aarch64) the ``virtio-iommu`` needs to know the guest page size so it can
    allocate memory aligned to guest page size.

  * Parse hyperv features even for host-model

    Two releases ago, in v11.9.0 new ``host-model`` mode for Hyper-V
    enlightenments was introduced. Starting with this release, users can
    additionally override the defaults that are picked when domain is started
    and features are expanded.

  * bhyve: Improve loader configuration for arm64 guests

    If loader is not explicitly configured, use the loader
    from the ``sysutils/u-boot-bhyve-arm64`` port/package for the
    arm64 guests.

* Bug fixes

  * Fix build with remote driver disabled

    Some parts of code were wrongly annotated as depended on remote driver.
    But they were used even from client side drivers. This is now fixed and
    libvirt builds properly even with remote driver disabled.

  * Various fixes to libvirt-guests.sh

    Firstly, the exit code of various commands was ignored (which may lead the
    script to wrongly determine persistent/transient domain state, for
    instance). Secondly, due to logical error, the script might have
    incorrectly asses state a domain is in.

  * AppArmor: Ask for no deny rule for readonly disk elements

    For read only disks, libvirt created an AppArmor profile which disallowed
    any future write rules. But when doing a blockcommit, libvirt needs to
    allow hypervisor to write to even readonly disks. The rule in the profile
    was changed so that future write rules can be added, temporarily.

  * esx: Allow connecting to IPv6 server

    Due to a bug in our code, if an IPv6 address was provided in connection
    URI, libvirt would fail to connect to VMWare server. This is now fixed.

  * qemu: Use device alias if interface has no name

    The ``virDomainInterfaceAddresses()`` API (or ``virsh domifaddr``) returns
    an array interfaces among with their addresses. But some interface names
    might be unknown, for instance if the API is told to parse host's ARP table
    then PCI assigned NICs or slirp/passt lack interface name. If that's the
    case, let the API return domain's ``<interface/>`` alias.

  * bhyve: hyperv: Various memory leak fixes

  * qemu: Fix failures when restoring save/managed-save images with upcoming 
qemu versions

    Current git version of qemu would return an error when attempting to load
    an existing (managed) save image as we relied on deprecated features that
    were now removed.

Enjoy.

Jirka

Reply via email to