guestfs-release-notes-1.58 - Man Page
libguestfs Release Notes
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 XXX December 2025.
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.
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 && 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).
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
virDomainDestroyFlagsare 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.
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
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
Cole Robinson
Ettore Atalan
Pavel Borecki
Richard W.M. Jones
Susant Sahani
Yuri Chornoivan
Copyright
Copyright (C) 2009-2025 Red Hat Inc.
License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Bugs
To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
When reporting a bug, please supply:
- The version of libguestfs.
- Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
- Describe the bug accurately and give a way to reproduce it.
- Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.