guestfs-release-notes-1.18 - Man Page

libguestfs Release Notes

Release Notes for Libguestfs 1.18

These release notes only cover the differences from the previous stable/dev branch split (1.16.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.

New features

virt tools

​   - virt-sysprep has been rewritten and expanded (thanks Wanlong Gao)
​     http://libguestfs.org/virt-sysprep.1.html
​
​   - virt-sparsify --zero is a new option that zeroes the named
​     partition or filesystem
​
​   - virt-sparsify can now safely sparsify Linux swap partitions
​
​   - virt-sparsify fixed so it cleans up after ^C
​     http://libguestfs.org/virt-sparsify.1.html
​
​   - a new tool 'libguestfs-make-fixed-appliance' is provided to build
​     fixed appliances that can be copied to other machines that don't
​     have febootstrap support
​     http://libguestfs.org/libguestfs-make-fixed-appliance.1.html
​
​   - virt-filesystems now displays the parents (containers) of MD
​     devices and volume groups
​
​   - virt-alignment-scan, run with no args, displays alignment information
​     for all libvirt domains
​
​   - virt-df and virt-alignment-scan will display information from all
​     guests even when a disk is inaccessible
​
​   - virt-rescue new --scratch option to make scratch disks
​     https://rwmj.wordpress.com/2012/04/26/virt-rescue-scratch/#content
​
​   - virt-make-fs can now be used to create btrfs
​
​   - virt-edit preserves permissions, UID, GID and SELinux context
​     when editing files
​
​   - guestfish passes the close event over stdout and remote correctly
​
​   - guestfish new '--pipe-error' option lets you detect errors in pipe
​     commands
​
​   - guestfish globs now expand device names
​
​   - comma and colon characters in filenames now handled correctly by
​     all virt tools

inspection

​   - added support for Fedora 17+
​
​   - added support for FreeDOS
​
​   - added support for Buildroot and Cirros
​
​   - inspection is now compatible with Windows guests that have been
​     sysprepped (thanks Grant Williamson).

API

​   - broad support for btrfs added, including adding multiple devices,
​     fsck, snapshots (thanks Wanlong Gao)
​
​   - the new 'mount-local' API brings FUSE support directly into the
​     core libguestfs API
​     https://rwmj.wordpress.com/2012/05/14/tip-using-mount-local-api-from-c/#content
​
​   - new man page: guestfs-performance(1), which contains performance
​     tuning tips
​     http://libguestfs.org/guestfs-performance.1.html
​
​   - new man page: guestfs-faq(1), Frequently Asked Questions
​     http://libguestfs.org/guestfs-faq.1.html
​
​   - ENOTSUP (from guestfs_last_errno) is now returned for APIs that
​     are not supported

examples

​   - 'copy_over' example showing how to copy between two handles
​
​   - 'display_icon' program displays the icon associated with a guest
​
​   - 'mount_local.c' example shows how to use the mount-local API

Security

​  (no security problems were found or fixed in this release)

New APIs

​  btrfs-device-add: Add devices to a btrfs filesystem.
​  btrfs-device-delete: Remove devices from a btrfs filesystem.
​  btrfs-filesystem-sync: Sync a btrfs filesystem.
​  btrfs-filesystem-balance: Balance a btrfs filesystem.
​  btrfs-fsck: Check btrfs filesystem.
​  btrfs-set-seeding: Enable or disable seeding.
​  btrfs-subvolume-create: Create a btrfs snapshot.
​  btrfs-subvolume-delete: Delete a btrfs snapshot.
​  btrfs-subvolume-list: List btrfs snapshots and subvolumes.
​  btrfs-subvolume-set-default: Set default btrfs subvolume.
​  btrfs-subvolume-snapshot: Create a writable btrfs snapshot.
​  get-e2attrs: List ext2 file attributes of a file.
​  get-e2generation: Get ext2 file generation of a file.
​  isoinfo, isoinfo-device: Get information from the header of ISO files.
​  llz: List files with SELinux information.
​  lvcreate-free: Create an LVM logical volume in % remaining free space.
​  md-stat: Return underlying devices from an MD device.
​  mkfs-brtfs: Make btrfs filesystem, with all tunables.
​  mount-local, mount-local-run, umount-local: FUSE support in the API.
​  ntfsclone-in, ntfsclone-out: Save, restore NTFS from backup.
​  ntfsfix: Fix common errors and force Windows to check NTFS.
​  set-e2attrs: Set or clear ext2 file attributes of a file.
​  set-e2generation: Set ext2 file generation of a file.
​  set-label: Unified interface for setting filesystem label.
​  vgmeta: Get volume group metadata.
​  wipefs: Wipe filesystem signatures from a device.
​  zero-free-space: Zero free space in a filesystem.

Internals

​ - The debian/ subdirectory has been removed.  We recommend you use
​   the official Debian packages made by Hilko Bengen.
​   http://people.debian.org/~bengen/libguestfs/
​   http://packages.debian.org/search?keywords=libguestfs
​
​ - O_CLOEXEC / SOCK_CLOEXEC is now used for almost all file
​   descriptors that the library opens.
​
​ - posix_fadvise is called when sequentially reading or writing large
​   files.
​
​ - close all file descriptors and remove all signal handlers in the
​   recovery process
​
​ - multiple gcc warnings and Coverity bugs have been fixed;  many
​   strict-overflow bugs have also been fixed
​
​ - use ./configure --enable-valgrind-daemon to use valgrind on the
​   daemon;  many errors have been fixed
​
​ - use ./configure --with-qemu-options to pass extra options to qemu
​
​ - the daemon now has a growable strings buffer type (DECLARE_STRINGSBUF)
​
​ - the <guestfs.h> header file works with C++ and we have a regression
​   test for this
​
​ - multiple APIs which should only be called in the CONFIG state now
​   give an error if they are not
​
​ - .gitignore fixed to use absolute paths
​
​ - gobject bindings have been expanded, including mapping libguestfs
​   events to gobject signals (thanks Matt Booth)
​
​ - gobject documentation is generated properly (thanks Matt Booth)
​
​ - gobject header files now live in a subdirectory
​
​ - CompareWithString test in the generator now works
​
​ - FUInt32, FUInt64 struct field types now use the correct XDR type
​
​ - OCaml tests are now run on bytecode and native code.
​
​ - java -Xlint:all is used, and all warnings have been fixed
​
​ - bmptopng, wrestool (etc) missing or failure no longer prints
​   warning messages
​
​ - ruby: Use RbConfig instead of Config.
​
​ - PYTHONPATH is set by the ./run script.
​
​ - appliance building is now thread-safe.
​
​ - appliance now uses 'ip' instead of 'ifconfig' and 'netstat'
​   commands
​
​ - several fixes to make parallel builds work properly
​
​ - guestfish --listen now cleans up properly
​
​ - the BUSY state has been removed
​
​ - gettextize has been removed, replaced by a simple Makefile.am
​
​ - gettext support now covers virt-resize, virt-sparsify and virt-sysprep
​
​ - better support for the arm architecture

Bugs fixed

​ - 822490 virt-ls error: "libguestfs: error: checksum: path: parameter cannot be NULL"
​ - 816839 data overflow error when debug progress -1
​ - 816098 virt-make-fs fails to make a btrfs filesystem because it doesn't allocate enough space
​ - 811872 inspection fails on ubuntu 10.04 guest with encrypted swap
​ - 811650 guestfs_last_error not set when qemu fails early during launch
​ - 811649 libguestfs cannot open disk images which are symlinks to files that contain ':' (colon) character
​ - 811117 [RFE][virt-sysprep] net-hwaddr not removed from "ifcfg-*" files on rhel
​ - 811112 [RFE][virt-sysprep] hostname can not be changed on rhel system
​ - 809361 inspection doesn't recognize Fedora 18 (grub2 + GPT)
​ - 807905 mkfs blocksize option breaks when creating btrfs
​ - 805070 virt-filesystems should show 'parents' of LV and RAID devices
​ - 804464 libguestfs cannot be built when LINGUAS is different then ja or uk
​ - 803664 libguestfs inspection fails on Windows XP: libguestfs: error: hivex: could not locate HKLM\SYSTEM\MountedDevices
​ - 803533 guestfish: write error
​ - 802389 event handlers for 'close' event doesn't work in remote mode
​ - 802109 libguestfs uses putc on stderr, results in many individual 1 byte writes of debug messages
​ - 801640 [RFE] the error reported by resize2fs-M need to be more clear
​ - 801298 Possible null dereference and resource leaks
​ - 801273 Document for set-pgroup need to be updated
​ - 798196 virt-resize confuses format and output_format variables; using --output-format sets the input format
​ - 797986 virt-resize on Windows XP in sysprep state causes "UNMOUNTABLE_BOOT_VOLUME" BSOD
​ - 796520 [RFE] Prevent user from running some appliance configure commands after appliance boot up
​ - 790721 multiprovider build error: RuntimeError: link: /tmp/.guestfs-0/kernel /tmp/.guestfs-0/kernel.10139: File exists
​ - 789960 guestfsd crash when try to mount non-exist disk
​ - 789504 virt-df (other tools?) should not give up if a guest disk is missing
​ - 788641 virt-edit doesn't preserve file permissions
​ - 786215 libguestfs inspection does not recognize FreeDOS operating system
​ - 786188 libguestfs inspection does not recognize FreeDOS install CD
​ - 785668 aug-defnode: daemon crash
​ - 784647 Libguestfs uses deprecated net-tools
​ - 769304 virt-resize on RHEL 6 kernel fails to re-read the partition table
​ - 755729 Error message for resize2fs-M needs tweaking
​ - 701814 virt-win-reg fails on a libvirt guest that has no defined disk format: "format parameter is empty or contains disallowed characters"
​ - 679737 libguestfs: improve error message when zerofree is not available in the appliance
​ - 635971 glob mkfs ext2 /dev/vd[b-t]1 does not expand

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

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:

Referenced By

guestfs-release-notes(1).

2026-08-14 libguestfs-1.61.2 Virtualization Support