.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Podwrapper::Man 1.52.0 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "guestfs-release-notes-1.6 1" .TH guestfs-release-notes-1.6 1 2024-01-05 libguestfs-1.52.0 "Virtualization Support" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME guestfs\-release\-notes \- libguestfs Release Notes .SH "RELEASE NOTES FOR LIBGUESTFS 1.6" .IX Header "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. .SS "New features" .IX Subsection "New features" .Vb 3 \& \- Use a new method for creating and caching the appliance. This \& greatly improves the performance of libguestfs, often by a factor \& of x 4 to x 5. \& \& \- Support for guest inspection (like virt\-inspector) via the ordinary \& API and all language bindings. \*(Aqguestfish \-i\*(Aq 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 \*(Aq\-\-one\-per\-guest\*(Aq to restore \& the old per\-guest isolation behaviour. \& \& \- guestfish \*(Aqcopy\-in\*(Aq and \*(Aqcopy\-out\*(Aq commands for copying files and \& directories recursively in and out of the guest. \& \& \- guestfish \*(Aqhexedit\*(Aq command for doing binary edits to devices and \& files. \& \& \- Change guestfish \-i syntax to allow commands to be specified on the \& command line (retaining backwards compatibility). \& \& \- guestfish \*(Aq\-d \*(Aq for adding disks from libvirt domains. \& \& \- guestfish \*(Aq\-N\*(Aq 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 \*(Aqmore\*(Aq and \*(Aqedit\*(Aq commands now work with arbitrary files. \& \& \- guestfish \*(Aq\-\-echo\-keys\*(Aq option allows you to echo keys/passphrases \& while typing them. \& \& \- guestmount now supports \-a / \-d / \-i options, like guestfish. \& \& \- Use virtio\-serial for communications with the appliance. This \& also has a major performance benefit. \& \& \- virt\-edit \*(Aq\-b\*(Aq option to create a backup of edited files. \& \& \- virt\-edit \*(Aq\-e\*(Aq 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. .Ve .SS Security .IX Subsection "Security" .Vb 4 \& \- 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. .Ve .SS "New APIs" .IX Subsection "New APIs" .Vb 10 \& 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 .Ve .SS Internals .IX Subsection "Internals" .Vb 10 \& \- 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 \*(Aqmake bindist\*(Aq 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. .Ve .SS "Bugs fixed" .IX Subsection "Bugs fixed" .Vb 10 \& \- 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\*(Aqt 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 .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBguestfs\-examples\fR\|(1), \&\fBguestfs\-faq\fR\|(1), \&\fBguestfs\-performance\fR\|(1), \&\fBguestfs\-recipes\fR\|(1), \&\fBguestfs\-testing\fR\|(1), \&\fBguestfs\fR\|(3), \&\fBguestfish\fR\|(1), http://libguestfs.org/ .SH AUTHOR .IX Header "AUTHOR" Richard W.M. Jones .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright (C) 2009\-2023 Red Hat Inc. .SH LICENSE .IX Header "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. .PP 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. .PP 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. .SH BUGS .IX Header "BUGS" To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools .PP To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools .PP When reporting a bug, please supply: .IP \(bu 4 The version of libguestfs. .IP \(bu 4 Where you got libguestfs (eg. which Linux distro, compiled from source, etc) .IP \(bu 4 Describe the bug accurately and give a way to reproduce it. .IP \(bu 4 Run \fBlibguestfs\-test\-tool\fR\|(1) and paste the \fBcomplete, unedited\fR output into the bug report.