NAME
guestfs-release-notes - libguestfs Release Notes
RELEASE NOTES FOR LIBGUESTFS 1.6
These release notes only cover the differences from the previous stable/dev branch split (1.4.0). For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
New features
- Use a new method for creating and caching the appliance. Thisgreatly improves the performance of libguestfs, often by a factorof x 4 to x 5.- Support for guest inspection (like virt-inspector) via the ordinaryAPI and all language bindings. 'guestfish -i' option is as a side-effect much quicker.- virt-inspector and 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' to restorethe old per-guest isolation behaviour.- guestfish 'copy-in' and 'copy-out' commands for copying files anddirectories recursively in and out of the guest.- guestfish 'hexedit' command for doing binary edits to devices andfiles.- Change guestfish -i syntax to allow commands to be specified on thecommand line (retaining backwards compatibility).- guestfish '-d <domain>' for adding disks from libvirt domains.- guestfish '-N' option supports several new prepared disk image types:lvfs : disk with LV formatted with filesystemlv : disk with LVbootroot : boot+rootbootrootlv : boot and root on LV- guestfish 'more' and 'edit' commands now work with arbitrary files.- guestfish '--echo-keys' option allows you to echo keys/passphraseswhile typing them.- guestmount now supports -a / -d / -i options, like guestfish.- Use virtio-serial for communications with the appliance. Thisalso 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 (thanksMatthew Booth).- Autosync is now on by default, resulting in more reliable behaviourwhen the handle is closed.- virt-df --uuid option allows you to follow a domain across migrationand renaming.- Translations of manual pages.
Security
- CVE-2010-3851 libguestfs: missing disk format specifier when adding a diskhttps://www.redhat.com/archives/libguestfs/2010-October/msg00036.htmlThis is comprehensively fixed in this release, and the fix will bebackported to the other stable branches after more testing.- virt-inspector no longer relies on untrusted guest code to listapplications 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 64Ksend errno to library- Add 'make bindist' to make a binary distribution.- Cleaner behaviour under valgrind.- More testing of the guestfish command line options and libvirtintegration.- 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
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.