GUESTFS-RELEASE-NOTES-1.6(1)

πŸ’… guestfs-release-notes-1.6(1) β€” libguestfs Release Notes

okay bestie, welcome to the Virtualization Support corner of the manual, this is guestfs-release-notes-1.6(1) and it's literally the tea on libguestfs πŸ’–

🌸 NAME 🌸

guestfs-release-notes β€” libguestfs Release Notes


✨ RELEASE NOTES FOR LIBGUESTFS 1.6 ✨

so real talk: these notes only cover what changed since the previous stable/dev branch split (1.4.0). If you want the full detailed changelogs, go peek at the git repository, or the ChangeLog file that ships in the tarball πŸŽ€

πŸ¦‹ New features πŸ¦‹

  • There's a whole new method for creating and caching the appliance, and it slaps β€” libguestfs gets way faster, often by a factor of x 4 to x 5 πŸ”₯
  • Guest inspection (like virt-inspector) now works through the ordinary API and all language bindings. And as a side-effect, the guestfish -i option is much quicker ✨
  • virt-inspector and the core inspection API can now detect guests running: Fedora, Debian, Ubuntu, Windows, Red Hat Enterprise Linux, CentOS, Scientific Linux, Gentoo, Pardus, Arch Linux, MeeGo πŸ‘‘
  • Support for LUKS whole-disk encryption in guests πŸ”
  • PHP bindings 🐘
  • Progress messages β€” and progress bars in guestfish and virt-resize β€” for certain long-running operations πŸ“Š
  • virt-df is now much more efficient. Use --one-per-guest if you wanna restore the old per-guest isolation behaviour 🧚
  • guestfish copy-in and copy-out commands for copying files and directories recursively in and out of the guest πŸ“
  • guestfish hexedit command for doing binary edits to devices and files πŸ’€
  • The guestfish -i syntax changed so you can specify commands on the command line (and yes, backwards compatibility is retained, we're not monsters) 🫢
  • guestfish '-d <domain>' for adding disks from libvirt domains πŸ’œ
  • The guestfish '-N' option supports several new prepared disk image types:
    • lvfs : disk with LV formatted with filesystem
    • lv : disk with LV
    • bootroot : boot+root
    • bootrootlv : boot and root on LV
  • guestfish more and edit commands now work with arbitrary files πŸ“
  • guestfish '--echo-keys' option lets you echo keys/passphrases while typing them (yes, on purpose, it's a feature) πŸ™ˆ
  • guestmount now supports -a / -d / -i options, just like guestfish ⭐
  • Communications with the appliance now use virtio-serial, which also has a major performance benefit πŸš€
  • virt-edit '-b' option to create a backup of edited files πŸ’Ύ
  • virt-edit '-e' option for non-interactive edits to files ✏️
  • Ability to capture core dumps from the appliance (thanks Matthew Booth) 🫢
  • virt-rescue now shuts down cleanly (thanks Matthew Booth) 🧼
  • virt-rescue now has a --network option to enable network access 🌐
  • virt-resize can now handle guests which use GPT partition table format πŸŽ€
  • virt-resize has better support for shrinking guests πŸͺ„
  • virt-resize supports qcow2-format guests πŸ’…
  • $TMPDIR can be used to override almost all temporary directory usage πŸ“‚
  • OCaml users can use an alternate OO-style of coding, eg. g#launch () 🐫
  • The API supports calls which take optional parameters, eg. $g->add_drive_opts ("disk", readonly => 1); ✨
  • Trace output now escapes and shortens large strings (thanks Matthew Booth) πŸ”
  • Autosync is now on by default, resulting in more reliable behaviour when the handle is closed πŸ›Ÿ
  • virt-df --uuid option allows you to follow a domain across migration and renaming 🏷️
  • Translations of manual pages 🌍

πŸ”’ Security πŸ”’

  • CVE-2010-3851 libguestfs: missing disk format specifier when adding a disk https://www.redhat.com/archives/libguestfs/2010-October/msg00036.html This is comprehensively fixed in this release, and the fix will be backported to the other stable branches after more testing. 🚨
  • virt-inspector no longer relies on untrusted guest code to list applications in some guests πŸ›‘οΈ

🧚 New APIs 🧚

download-offset, file-architecture, findfs-label, findfs-uuid,
inspect-os, inspect-get-arch, inspect-get-distro,
inspect-get-filesystems, inspect-get-major-version,
inspect-get-minor-version, inspect-get-mountpoints,
inspect-get-product-name, inspect-get-type, is-blockdev, is-chardev,
is-fifo, is-lv, is-socket, is-symlink, list-filesystems, luks-add-key,
luks-close, luks-format, luks-format-cipher, luks-kill-slot,
luks-open, luks-open-ro, lvm-clear-filter, lvm-canonical-lv-name,
lvm-set-filter, part-to-dev, pread-device, pwrite-device,
upload-offset

πŸ› οΈ Internals πŸ› οΈ

  • Use size_t for loop iterators πŸ”
  • Refactor the library code into separate files πŸ—‚οΈ
  • Refactor the generator code into separate files πŸ—‚οΈ
  • Generate guestfish commands βš™οΈ
  • guestfish & guestmount options processing is unified 🀝
  • Protocol changes:
    • error message size increased to 64K
    • send errno to library
  • Add 'make bindist' to make a binary distribution πŸ“¦
  • Cleaner behaviour under valgrind 🧽
  • More testing of the guestfish command line options and libvirt integration πŸ§ͺ
  • The Perl inspection code is no longer used by any of the tools πŸͺ

πŸ’€ Bugs fixed πŸ’€

  • 646822 libguestfs trace mode should not print long binary strings
  • 646821 virt-df should have --uuid option
  • 646432 /dev/mapper paths should not be returned from guestfs_mountpoints
  • 643624 libguestfs tools documentation should describe how to quote guest domain names from shell
  • 642934 No way to specify disk format when adding a disk to libguestfs
  • 642933 guestfs_list_filesystems should be used in all possible places
  • 642932 guestmount options should match guestfish options
  • 642930 virt-inspector (Sys::Guestfs::Lib) should use C inspection APIs
  • 642929 C inspection code should ignore /dev/fd* in /etc/fstab
  • 642826 virt-resize converts any other image format to raw without notifying user, instructions do not account for this
  • 640961 Document that grub-install might be needed for old Linux guests after virt-resize
  • 639986 virt-df --csv does not properly quote " in libvirt domain names
  • 639405 Interrupted cached appliance creation leaves libguestfs unusable
  • 638901 Appliance filename should not contain repository name
  • 638899 /dev/mapper paths should not be returned from C inspection APIs
  • 636918 Updates to Spanish translation
  • 636061 [abrt] guestfish-1.2.11-1.fc12: malloc_consolidate: Process /usr/bin/guestfish was killed by signal 11 (SIGSEGV)
  • 635969 glob echo mkfs ext2 /dev/vd[b-t]1 prints garbage
  • 634246 guestfs_part_get_parttype returns "loop" when run against a partition, LV or filesystem
  • 633766 virt-resize --shrink fails
  • 633357 Updates to Spanish translation
  • 633096 virt-resize calculates block device size incorrectly, doesn't work with qcow2 target
  • 629593 Dutch translation added
  • 627556 Updates to Spanish translations of libguestfs
  • 626843 Updates to Spanish translations
  • 619793 [RFE] Need a way to determine if a particular block device is a logical volume
  • 618556 virt-rescue return none zero value when exit
  • 617200 mount operation failed and hung on some images which running in read-only mode
  • 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077
  • 599503 document that mkmountpoint and umount-all cannot be mixed
  • 571714 Running virt-df on disk image relabels it, so qemu can no longer write to it.
  • 502533 Updated Polish translation of libguestfs

πŸ‘€ SEE ALSO πŸ‘€

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

🫢 AUTHOR 🫢

Richard W.M. Jones

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.

ngl bestie, if you're filing a bug, run libguestfs-test-tool(1) first and paste the complete, unedited output β€” don't be shy with the logs, they're the whole vibe check πŸ”πŸ’–

and that's a wrap, icon πŸ’… this was guestfs-release-notes-1.6(1) from libguestfs, version libguestfs-1.61.3, dated 2026-09-16 β€” periodt, go slay some guests πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from