I'm pleased to announce the new stable release of libguestfs.
Libguestfs is a library for creating and manipulating disk images,
virtual machines and similar.  You can read more about it here:

  https://libguestfs.org/

The release notes for this version are attached below, or you can read
them online here:

  https://libguestfs.org/guestfs-release-notes-1.58.1.html

You can get source tarballs from:

  https://download.libguestfs.org/1.58-stable/

Rich.


RELEASE NOTES FOR LIBGUESTFS 1.58
       These are the release notes for libguestfs stable release 1.58.  This
       describes the major changes since 1.56.

       Libguestfs 1.58.0 was released on 5th January 2026.

   Inspection
       Fix inspection of SLES 15 guests that have an encrypted Btrfs
       filesystem, by correctly parsing /etc/crypttab (Cole Robinson).

       Windows named drives (like "D:") which point to completely blank disks
       are now ignored instead of causing an error (thanks Ming Xie, Ameen
       Barakat).

       Existing code in virt-v2v which recognized Windows Antivirus (AV)
       software is now part of inspection.  The new code recognizes a wider
       range of AV software.

   API
       "guestfs_selinux_relabel" was deprecated, replaced by new
       "guestfs_setfiles".  This new API also uses the setfiles(8) -A option to
       reduce memory usage.

       New "guestfs_ntfs_chmod" API which changes the permissions of Windows
       paths (Cole Robinson).

       In the list of structures returned by
       "guestfs_inspect_get_applications2", a new "app2_class" field has been
       added.  This classifies the application by its primary usage, but
       currently only "antivirus" can be returned here for Windows AV software.

       New "guestfs_inspect_get_windows_group_policy" API which reports whether
       Group Policy Objects were found in the Windows guest.

       "guestfs_btrfs_subvolume_show" would sometimes crash when parsing the
       snapshots of a Btrfs subvolume.  Furthermore, in any API that returned a
       device name associated with a Btrfs volume, the device name might not be
       translated correctly resulting in the wrong device name being returned.
       (Both problems fixed by Arye Yurkovsky.)

       Fix a memory leak in "guestfs_filesystem_walk" (Susant Sahani).

       In "guestfs_disk_create", when creating raw block devices, check for
       errors in the close(2) system call, ensuring we don't miss any delayed
       I/O errors (Susant Sahani).

       In several LVM-related APIs, it was possible for an internal failure to
       happen for logical volumes which are incomplete (eg. missing a physical
       volume).  This was fixed by skipping these LVs (Arye Yurkovsky).

   Language bindings
       Note that GObject / Javascript bindings will be removed in the next
       release of libguestfs.

       Ruby deprecation warnings were fixed (Cole Robinson).

   Documentation
       Fix links to ntfs-3g documentation (Cole Robinson).

   Build changes
       libvirt ≥ 11.10.0 with passt support is now required.

       qemu ≥ 7.2.0 is now required.

       Fix guestmount compilation on macOS (thanks Mohamed Akram).

       Basic github CI has been implemented.  Pull requests now do the
       equivalent of "./configure --enable-werror && make && make check" on a
       few common platforms.

       Several obsolete tests were removed, and the test suite in general has
       been fixed and made more robust against missing dependencies and other
       common problems (Cole Robinson).

       In test output we no longer print absolute paths for the test names
       (Cole Robinson).

       "AM_GNU_GETTEXT" usage was completely removed and replaced with a simple
       test for LIBINTL (Cole Robinson).

       build-aux/config.rpath was removed since it was no longer actually used
       (Cole Robinson).

       Fix const-correctness issues caused by changes to the strchr(3) and
       strrchr(3) functions in C23.

   Internals
       If the "sit.ko" Linux kernel module is loaded, then a "sit0" (a kind of
       IPv6 tunnel) network device is created in the appliance.  Ignore this as
       it would break appliance networking (thanks Srikanth Aithal, Stefano
       Brivio).

       In the direct backend we simplified probing of qemu features by assuming
       that qemu ≥ 7.2.0.

       In the libvirt backend:

       •   Fix compatibility with SeaBIOS 1.17 (thanks Gerd Hoffmann).

       •   We made some changes to how errors from the libvirt call
           "virDomainDestroyFlags" are handled when shutting down the
           appliance.  If there is an error, the error message is now printed
           when debug is enabled (but it is still non-fatal).  Also we sleep
           between retries instead of busy looping.

       •   The libvirt backend now adds a virtio-rng device to the appliance
           unconditionally so that we always have good entropy (for
           cryptographic operations).

       •   When running as root, remove explicit socket relabelling and allow
           libvirt to relabel the sockets instead (Cole Robinson).

       •   Enable sVirt for the appliance, which was sometimes accidentally
           disabled (Cole Robinson).

       During inspection of Linux/Unix guests, the contents of guest /etc/fstab
       and some mdadm files are written to debug output.  This can help with
       debugging inspection issues (thanks Ming Xie).

       When the appliance starts up, if debugging is enabled, then we log
       lsblk(8) and blkid(8) info to debugging output (thanks Ming Xie).

       In the generator StringList(Pathname) was implemented for OCaml
       functions.

       Add more debugging in Windows Registry inspection functions to make it
       easier to track what's going on.

       OCaml "{|...|}" string literals are now used in the code for things like
       literal Windows batch files that we inject into the guest, regular
       expressions, and POD documentation in the generator (thanks Nicolas
       Ojeda Bar).

       Internal calls to pcre2_match(3) which return an unexpected error now
       emit a debug message, although the error is still ignored.

       Multiple code cleanups throughout (Susant Sahani).

       Fix order of inclusion of Python header file because of changes in
       recent Python 3.14.

       Some test scripts which were written in Perl before have been rewritten
       in Python (Susant Sahani).

   Bugs fixed
       https://issues.redhat.com/browse/RHEL-104352
           Change permission of guestfs folder created

       https://issues.redhat.com/browse/RHEL-106490
           Adding the commands "lsblk", "cat /etc/fstab" and "blkid" to the v2v
           debug log

       https://issues.redhat.com/browse/RHEL-108803
           Parted fails to read a blank disk "virt-v2v: error: libguestfs
           error: inspect_os: parted: /dev/sdb: parted exited with status 1:
           Error: /dev/sdb: unrecognised disk label: Invalid argument"
           [rhel-9.7]

       https://issues.redhat.com/browse/RHEL-111165
           [Testonly]virt-v2v of RHEL 8.10 VM fails because setfiles invoked
           oom-killer

       https://issues.redhat.com/browse/RHEL-111505
           Lots of memory used in 'setfiles' utility / 'restorecon_sb' function

       https://issues.redhat.com/browse/RHEL-113397
           [DEV Task]: The available subscriptions of guest sometimes can't be
           shown unless use --sm-remove and --sm-unregister options to remove
           all subscriptions from the guest

       https://issues.redhat.com/browse/RHEL-113398
           [DEV Task]: Virt-v2v can't use --sm-remove and --sm-unregister
           options to remove the subscriptions from guest if consumer profile
           has been deleted from the guest.

       https://issues.redhat.com/browse/RHEL-114292
           Use setfiles -A option when relabelling

       https://issues.redhat.com/browse/RHEL-121076
           [libguestfs] [aarch64] libguestfs-test-tool failed with
           LIBGUESTFS_BACKEND=direct

       https://issues.redhat.com/browse/RHEL-125846
           virt-inspector detect if AV/GPOs are present in a VM

       https://issues.redhat.com/browse/RHEL-93584
           virt-v2v can't convert sles15sp6 guest with encrypted brtfs
           fliesystem

       https://github.com/libguestfs/libguestfs/issues/180
           Fails to build with macFUSE

       https://github.com/libguestfs/libguestfs/issues/234
           make -j8 check failures with selinux enforcing

SEE ALSO
       guestfs-examples(1), guestfs-faq(1), guestfs-performance(1),
       guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1),
       http://libguestfs.org/

AUTHORS
       Arye Yurkovsky
       Cole Robinson
       Ettore Atalan
       Fco. Javier F. Serrador
       Pavel Borecki
       Richard W.M. Jones
       Susant Sahani
       Yuri Chornoivan



-- 
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
http://libguestfs.org/virt-builder.1.html
_______________________________________________
Libguestfs mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to