[Libguestfs] ANNOUNCE: libguestfs 1.46 released

Richard W.M. Jones rjones at redhat.com
Thu Sep 23 18:20:30 UTC 2021

libguestfs is a library for accessing and modifying virtual machine
disk images.  I'm pleased to announce the latest stable version.  The
release notes are below and you can download this version from the
download directory here:




       The big news in this release is that the virt tools like
       virt-builder(1), virt-cat(1), virt-customize(1), virt-df(1), and many
       more were moved to a new project.  The temporary repository for the new
       guestfs-tools project is here:
       https://github.com/rwmjones/guestfs-tools while we set up a permanent
       home for it on gitlab.  The tarballs containing the tools are here:

       Spinning out all of the tools into a new repository has made libguestfs
       a bit easier and simpler to build and manage, and allows us to focus on
       just being the API.

       Note that the tools guestfish(1) (which is really a "shell API"),
       guestmount(1), libguestfs-test-tool(1) and virt-rescue(1) are still
       part of the libguestfs repo.

       The not quite so big news is that we have moved away from FreeNode to
       Libera Chat for IRC.  The new channel on Libera is called "#guestfs"
       (thanks Daniel Berrangé).

   Language bindings
       Libguestfs is now compatible with Go 1.16, and defines a Go module
       (thanks Gianfranco Costamagna).

       Memory leaks in Python APIs that returned structs are fixed (thanks

       Python PyPi code has been relicensed to LGPLv2+ (from GPLv2+).

       Inspection of RPM guests now uses librpm instead of trying to parse the
       Berkeley DB directly.  Since most RPM-based guests have replaced BDB
       with sqlite this allows us to read these newer guests while retaining
       compatibility with the older guests (thanks Panu Matilainen).

       Inspection of RHEL 8+ with split /usr configuration has been made more

       Inspection of Windows Server 2022 should now work correctly (Yongkui

       New APIs

       No new APIs were added in libguestfs 1.46.

       Other API changes

       The output of the "guestfs_cap_get_file" API has changed slightly
       because of changes in the underlying libcap.  This isn't strictly
       speaking an API break because the new output is a still valid but more
       compact description of file capabilities, but because it is different
       it may cause problems for users of the API.

       The "guestfs_mkfs_btrfs" API now ignores the "allocstart" parameter
       since it was deprecated by btrfs 4.14.1 and later removed.

       "guestfs_isoinfo_*" APIs now directly parse the CD Primary Volume
       Descriptor instead of using an external tool.  The APIs should appear
       to work exactly the same (thanks Thomas Schmitt).

       You can now force the appliance to use KVM or fail if not supported
       (Sam Eiderman).

       Because of a change to XFS in version 5, disabling lazy-counters no
       longer works.  The API still works for earlier versions of XFS (Laszlo

   Build changes
       The build now uses and requires PCRE2 (instead of PCRE).

       This version requires libvirt ≥ 7.1.0, if libvirt is enabled.

       gnulib is no longer bundled with libguestfs, making builds from git
       much simpler.

       Perl "Sys::Virt" (libvirt bindings for Perl) are no longer required by

       The code has been compiled with both LTO and GCC -fanalyzer and many
       bugs and warnings fixed.

       Allow projects like guestfs-tools and virt-v2v to be compiled with
       locally built (but not installed) libguestfs (Laszlo Ersek).

       Tests now run in parallel (many additional fixes by Laszlo Ersek).

       Work around RAID0 regression in Linux 3.14/5.4 (Laszlo Ersek).

       Support for RISC-V (Heinrich Schuchardt).

       Support for building on Alma and Cloud Linux (Александр Кравченко).

       Fix to compile with OCaml 4.12.

       The tarball no longer includes the ChangeLog file.  To get a detailed
       changelog, please look at the upstream git repository.

       Don't assume bash in the ./configure script (Martin Kletzander).

       Fix ./configure --with-distro option (Alexandre Iooss).

       Various fixes for qemu 6.1.

       Fix creating appliance dependencies on Debian (Hilko Bengen).

       Update appliance packages on SUSE and several other improvements to the
       init script (Olaf Hering).

       We now use the qemu / libvirt feature -cpu max to select the best CPU
       to run the appliance.  This should improve performance for things like
       encrypted disks (Daniel Berrangé).

       When passing the appliance filesystem UUID to supermin we now read it
       directly out of the appliance instead of using the file(1) program.
       This is more reliable, especially as file often breaks or changed its

       The qemu -enable-fips option is no longer used.  It was not needed and
       has been deprecated by qemu.

       On Fedora, pull in glibc-gconv-extra to fix the "guestfs_syslinux" API
       (Yongkui Guo).

       We no longer use qemu's sga (Serial Graphics Adapter) option ROM,
       instead using the equivalent seabios feature.

   Bugs fixed
           Use -machine graphics=off instead of sga device

           [RFE] libguestfs: Add detection of AlmaLinux and CloudLinux

           osinfo is not correct when handling windows server 2022 image

           syslinux: failed to create ldlinux.sys

           The lstatns function has a memory leak. (python3)

           [Regression] ls: cannot read symbolic link after running guestmount

           virt-v2v: error: inspection could not detect the source guest (or
           physical  machine)

           Move libguestfs from PCRE to PCRE2

           [Regression] lvcreate fails to wipe signatures again

           Virt-v2v can't convert rhel8 guest whose usr partition is

           libguestfs-1.44.0 - guestfs appliance path broken

           virt-builder + virt-install creates a VM that cannot boot fedora 33

           libguestfs assumes rpmdb is in Berkeley DB format

           [Debian] Missing db_dump abort inspection

       Alexandre Iooss
       Daniel P. Berrangé
       Heinrich Schuchardt
       Hilko Bengen
       Laszlo Ersek
       Martin Kletzander
       Remi Collet
       Richard W.M. Jones
       Sam Eiderman

Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch

More information about the Libguestfs mailing list