I'm happy to announce the release of libguestfs 1.60. Libguestfs is a
comprehensive library and set of tools for creating and manipulating
disk images and virtual machine disks and similar files.
This release is largely a maintenance release, but I'd like to
highlight the contributions from Rafael Fontenelle and other
translators in getting the translations (from the Fedora Weblate
project) back up and working again.
Release notes are attached below, or can be found online here:
https://libguestfs.org/guestfs-release-notes-1.60.1.html
Tarballs from:
https://download.libguestfs.org/1.60-stable/
It'll be available in Linux distros soon.
Rich.
----------------------------------------------------------------------
Libguestfs 1.60.0 was released on 9 July 2026.
Inspection
Add support for Kylin, NeoKylin and Anolis Linux distributions (grass lu).
Guests using Veritas partition tables (reusing the Sun partition type) can
now be inspected.
Windows Defender (antivirus) is now detected if present in Windows guests
(Susant Sahani).
API
New "guestfs_xfs_info2" API. This is similar to the existing
"guestfs_xfs_info" API but returns a flexible hashtable allowing more
fields to be added to the output in future.
"guestfs_get_hv" now returns the default hypervisor.
"guestfs_tar_in" adds a new option "keepdirlink" which controls
the tar
--keep-directory-symlink flag (Anders Roxell).
"guestfs_xfs_repair" "maxmem" option now produces better error
messages if
maxmem is too small.
All functions that take LUKS key parameters may now use either "text:..."
or "base64:..." prefixes, allowing binary keys to be encoded as base64 and
passed to these APIs. guestfish(1) and other tools taking a key file now
allow a binary file to be used.
"guestfs_command*" and "guestfs_sh*" now use a bind mount to
override
"/etc/resolv.conf" inside the guest, allowing these commands to work even
when this file is marked as immutable, a common change that system admin‐
istrators make (Srihari Parimi).
Tools
New guestfish(1) "not" subcommand, which negates the status of a command.
Language bindings
GObject and Vala bindings were removed. They were previously deprecated
in libguestfs 1.56 (Cole Robinson).
Documentation
All information related to firstboot scripts was moved to and consolidated
in "FIRSTBOOT" in virt-customize(1) (Srihari Parimi).
Fix documentation of "guestfs_copy_out" API.
Build changes
Fix Weblate (i18n) web hooks (Rafael Fontenelle).
Fix build when libselinux is not available (David Runge).
Github CI is now used more comprehensively (Cole Robinson).
Fix "make dist" command when certain language bindings are disabled (Cole
Robinson).
"./configure --with-qemu" was removed.
"CFLAGS" is now prepended to the default, allowing default flags to be
overridden. In addition -fPIC is added to the default flags (Cole Robin‐
son).
Some bash completion scripts that were no longer used by libguestfs (they
moved to guestfs-tools) were removed. Also new "./configure
--with-bash-completion" and "./configure --with-bash-completion-dir"
op‐
tions were added (Christopher Byrne).
No longer over-link Lua bindings with libxml2 and libvirt (David Runge).
Internals
Simplify qemu property testing. Most of the code was eliminated com‐
pletely, and also we no longer start up an empty guest when detecting if
KVM is available (thanks Daniel Berrange). Also we now print stderr if
qemu fails to start during detection (Hilko Bengen).
Use -cpu max on RISC-V (thanks Apache553).
Very minimal support for Apple Filesystem (APFS) was added on Fedora.
Many memory and file descriptor leaks found by Claude Code were fixed
(shivanayak).
In the libguestfs appliance, increase the number of pre-process memory
maps. This may allow xfs_repair to work on larger filesystems (Eric
Sandeen).
Fix DHCP on fast machines by making it wait for an address when networking
is enabled. In addition use "dhcpcd --debug" which makes it easier to see
if DHCP requests are working (Cole Robinson).
Improvements to debug output (Surya Gupta, Srihari Parimi).
Fix Fedora bin/sbin symlinking to be less noisy (Cole Robinson).
Rewrite xfs_repair and luks_* implementations in the daemon in OCaml.
Bugs fixed
https://issues.redhat.com/browse/RHEL-129145
RFE: Detect Windows Defender antivirus when enabled in default Windows
11 installs
https://issues.redhat.com/browse/RHEL-143673
Add new xfs_info2 API to expose XFS version information
https://issues.redhat.com/browse/RHEL-165220
virt-v2v with sun partition table and Veritas storage failed with:
parted exited with status 1: Warning: The disk CHS geometry reported
by the operating system does not match the geometry stored on the disk
label
https://issues.redhat.com/browse/RHEL-165677
Stop using xfs_repair -m because memory required scales with filesys‐
tem size and has sharp edges
https://issues.redhat.com/browse/RHEL-170864
virt-v2v failing with binary LUKS keys [virt-v2v]
https://issues.redhat.com/browse/RHEL-171895
virt-v2v failing with binary LUKS keys [libguestfs]
https://issues.redhat.com/browse/RHEL-171896
virt-v2v failing with binary LUKS keys [guestfs-tools]
https://issues.redhat.com/browse/RHEL-178287
virt-v2v fails during migration of RHEL 7 VMs due to XFS filesystem
errors, potentially related to RHEL 10.1 xfs_repair running against a
RHEL 7 XFS filesystem.
https://issues.redhat.com/browse/RHEL-178556
Use bind mount to overwrite /sysroot/etc/resolv.conf during "sh" oper‐
ations
https://github.com/libguestfs/libguestfs/issues/290
1.58.0: undefined reference to optgroup_selinuxrelabel_available
https://github.com/libguestfs/libguestfs/issues/292
guestfs_int_get_cpu_model: use -cpu max for riscv
https://github.com/libguestfs/libguestfs/issues/312
switch to po4a
https://github.com/libguestfs/libguestfs/issues/336
flaky test network/test-network.sh
https://github.com/libguestfs/libguestfs/issues/359
1.58.1: The Lua bindings link against libxml2 but don't seem to use it
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
Adolfo Jayme Barrientos
Anders Roxell
Andi Chandler
Arif Budiman
Christopher Byrne
Cole Robinson
Emilio Herrera
Ettore Atalan
Fco. Javier F. Serrador
grimst
Hela Basa
Hilko Bengen
Jan Kuparinen
Krascovict Petrov
Léane GRASSER
Nathan95
Pavel Borecki
Piotr Drąg
Rafael Fontenelle
Richard W.M. Jones
Ricky Tigg
shivanayak
Srihari Parimi
Surya Gupta
Susant Sahani
Temuri Doghonadze
Tian Shixiong
Yuri Chornoivan
zhanchun li
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
nbdkit - Flexible, fast NBD server with plugins
https://gitlab.com/nbdkit/nbdkit