1 Release notes for libguestfs 1.6.0
2 ----------------------------------
4 These release notes only cover the differences from the previous
5 stable/dev branch split (1.4.0). For detailed changelogs, please see
6 the git repository, or the ChangeLog file distributed in the tarball.
10 - Use a new method for creating and caching the appliance. This
11 greatly improves the performance of libguestfs, often by a factor
14 - Support for guest inspection (like virt-inspector) via the ordinary
15 API and all language bindings. 'guestfish -i' option is as a side-
18 - virt-inspector and core inspection API can now detect guests running:
19 Fedora, Debian, Ubuntu, Windows, Red Hat Enterprise Linux, CentOS,
20 Scientific Linux, Gentoo, Pardus, Arch Linux, MeeGo.
22 - Support for LUKS whole-disk encryption in guests.
26 - Progress messages (and progress bars in guestfish and virt-resize)
27 for certain long-running operations.
29 - virt-df is now much more efficient. Use '--one-per-guest' to restore
30 the old per-guest isolation behaviour.
32 - guestfish 'copy-in' and 'copy-out' commands for copying files and
33 directories recursively in and out of the guest.
35 - guestfish 'hexedit' command for doing binary edits to devices and
38 - Change guestfish -i syntax to allow commands to be specified on the
39 command line (retaining backwards compatibility).
41 - guestfish '-d <domain>' for adding disks from libvirt domains.
43 - guestfish '-N' option supports several new prepared disk image types:
44 lvfs : disk with LV formatted with filesystem
47 bootrootlv : boot and root on LV
49 - guestfish 'more' and 'edit' commands now work with arbitrary files.
51 - guestfish '--echo-keys' option allows you to echo keys/passphrases
54 - guestmount now supports -a / -d / -i options, like guestfish.
56 - Use virtio-serial for communications with the appliance. This
57 also has a major performance benefit.
59 - virt-edit '-b' option to create a backup of edited files.
61 - virt-edit '-e' option for non-interactive edits to files.
63 - Ability to capture core dumps from the appliance (thanks Matthew Booth).
65 - virt-rescue now shuts down cleanly (thanks Matthew Booth).
67 - virt-rescue now has a --network option to enable network access.
69 - virt-resize can now handle guests which use GPT partition table format.
71 - virt-resize has better support for shrinking guests.
73 - virt-resize supports qcow2-format guests.
75 - $TMPDIR can be used to override almost all temporary directory usage.
77 - OCaml users can use an alternate OO-style of coding, eg. g#launch ()
79 - The API supports calls which take optional parameters, eg.
80 $g->add_drive_opts ("disk", readonly => 1);
82 - Trace output now escapes and shortens large strings (thanks
85 - Autosync is now on by default, resulting in more reliable behaviour
86 when the handle is closed.
88 - virt-df --uuid option allows you to follow a domain across migration
91 - Translations of manual pages.
95 - CVE-2010-3851 libguestfs: missing disk format specifier when adding a disk
96 https://www.redhat.com/archives/libguestfs/2010-October/msg00036.html
97 This is comprehensively fixed in this release, and the fix will be
98 backported to the other stable branches after more testing.
100 - virt-inspector no longer relies on untrusted guest code to list
101 applications in some guests.
105 download-offset, file-architecture, findfs-label, findfs-uuid,
106 inspect-os, inspect-get-arch, inspect-get-distro,
107 inspect-get-filesystems, inspect-get-major-version,
108 inspect-get-minor-version, inspect-get-mountpoints,
109 inspect-get-product-name, inspect-get-type, is-blockdev, is-chardev,
110 is-fifo, is-lv, is-socket, is-symlink, list-filesystems, luks-add-key,
111 luks-close, luks-format, luks-format-cipher, luks-kill-slot,
112 luks-open, luks-open-ro, lvm-clear-filter, lvm-canonical-lv-name,
113 lvm-set-filter, part-to-dev, pread-device, pwrite-device,
118 - Use size_t for loop iterators.
119 - Refactor the library code into separate files.
120 - Refactor the generator code into separate files.
121 - Generate guestfish commands.
122 - guestfish & guestmount options processing is unified.
124 error message size increased to 64K
125 send errno to library
126 - Add 'make bindist' to make a binary distribution.
127 - Cleaner behaviour under valgrind.
128 - More testing of the guestfish command line options and libvirt
130 - The Perl inspection code is no longer used by any of the tools.
134 - 646822 libguestfs trace mode should not print long binary strings
135 - 646821 virt-df should have --uuid option
136 - 646432 /dev/mapper paths should not be returned from guestfs_mountpoints
137 - 643624 libguestfs tools documentation should describe how to quote guest domain names from shell
138 - 642934 No way to specify disk format when adding a disk to libguestfs
139 - 642933 guestfs_list_filesystems should be used in all possible places
140 - 642932 guestmount options should match guestfish options
141 - 642930 virt-inspector (Sys::Guestfs::Lib) should use C inspection APIs
142 - 642929 C inspection code should ignore /dev/fd* in /etc/fstab
143 - 642826 virt-resize converts any other image format to raw without notifying user, instructions do not account for this
144 - 640961 Document that grub-install might be needed for old Linux guests after virt-resize
145 - 639986 virt-df --csv does not properly quote " in libvirt domain names
146 - 639405 Interrupted cached appliance creation leaves libguestfs unusable
147 - 638901 Appliance filename should not contain repository name
148 - 638899 /dev/mapper paths should not be returned from C inspection APIs
149 - 636918 Updates to Spanish translation
150 - 636061 [abrt] guestfish-1.2.11-1.fc12: malloc_consolidate: Process /usr/bin/guestfish was killed by signal 11 (SIGSEGV)
151 - 635969 glob echo mkfs ext2 /dev/vd[b-t]1 prints garbage
152 - 634246 guestfs_part_get_parttype returns "loop" when run against a partition, LV or filesystem
153 - 633766 virt-resize --shrink fails
154 - 633357 Updates to Spanish translation
155 - 633096 virt-resize calculates block device size incorrectly, doesn't work with qcow2 target
156 - 629593 Dutch translation added
157 - 627556 Updates to Spanish translations of libguestfs
158 - 626843 Updates to Spanish translations
159 - 619793 [RFE] Need a way to determine if a particular block device is a logical volume
160 - 618556 virt-rescue return none zero value when exit
161 - 617200 mount operation failed and hung on some images which running in read-only mode
162 - 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077
163 - 599503 document that mkmountpoint and umount-all cannot be mixed
164 - 571714 Running virt-df on disk image relabels it, so qemu can no longer write to it.
165 - 502533 Updated Polish translation of libguestfs
167 Release notes for libguestfs 1.4.0
168 ----------------------------------
170 These release notes only cover the differences from the previous
171 stable/dev branch split (1.2.0). For detailed changelogs, please see
172 the git repository, or the ChangeLog file distributed in the tarball.
176 - guestfish lets you choose a prepared disk image, eg:
179 - Add write support to guestmount (FUSE) module.
181 - virt-resize can now resize the content of partitions and logical
182 volumes in the guest, and we have better support for shrinking guests.
184 - Bash tab-completion script for guestfish.
186 - Add ZFS support to virt-rescue.
188 - New tool 'virt-make-fs' for creating filesystems with content.
190 - Allow suffixes on any guestfish number parameter, eg. "1M".
192 - guestfish 'man' command opens the manual page.
194 - guestfish supports a "heredoc" syntax for uploading files:
199 - Some guestfish commands now print their output in octal or hex
200 where appropriate (RHBZ#583242).
202 - Allow dash prefix on guestfish command line. This ignores any
203 error from the second command: (RHBZ#578407)
204 guestfish -- cmd1 : -cmd2 : cmd3
206 - guestfish -h / help command now returns an error for non-existent
207 commands (RHBZ#597145).
209 - New 'supported' command in guestfish to list optional groups of
210 commands which are supported by the daemon / configuration.
212 - virt-inspector and guestfish -i now work for filenames which
213 contain spaces (RHBZ#507810).
215 - Change the protocol to use link-local addresses, to avoid
216 conflicting with any address that the host might be using
219 - libguestfs now sets the correct time and timezone on filesystem
222 - Sort the domains into alphabetical order in virt-df.
224 - Make mkfs-b command work for FAT and NTFS by mapping the blocksize
225 parameter to the cluster size (RHBZ#599464).
227 - Add version numbers to Perl modules (RHBZ#521674).
229 - Localization now works for all the libguestfs tools (RHBZ#559963).
231 - Tools now support filesystem-on-image VMs (RHBZ#590167).
233 - virt-list-partitions has a '-t' option to show the total size of disks.
235 - Include extra Augeas lenses in the supermin appliance (Matthew Booth).
237 - Add error and close callbacks.
239 - Add explicit close method in the Perl API.
241 - Multiple fixes for RHEL 5 compatibility.
243 - Multiple fixes for Debian/Ubuntu compatibility.
245 - Multiple revisions to improve the documentation.
249 - Fix a potential DoS in virt-inspector and virt-v2v if a specially
250 crafted disk image contained a char device in place of one of the
251 configuration files that we read under /etc (RHBZ#582484).
255 - aug-clear - clear Augeas path
256 - available-all-groups - return a list of all optional groups
257 - base64-in - upload base64-encoded data to file
258 - base64-out - download file and encode as base64
259 - checksum-device - compute checksums on the contents of a device
260 - checksums-out - compute checksums of multiple files in a directory
261 - debug-upload - upload a file to the appliance
262 - fallocate64 - preallocate a file in the guest filesystem
263 - fill-pattern - fill a file with a repeating pattern of bytes
264 - get-umask - get the current umask
265 - lvresize-free - expand an LV to fill free space
266 - ntfsresize - resize an NTFS filesystem
267 - ntfsresize-size - resize an NTFS filesystem (with size)
268 - part-del - delete a partition
269 - part-get-bootable - get the bootable flag of a partition
270 - part-get-mbr-id - get the MBR type byte of a partition
271 - part-set-mbr-id - set the MBR type byte of a partition
272 - pvresize-size - resize a physical volume (with size)
273 - pwrite - write to part of a file
274 - resize2fs-size - resize an ext2/3/4 filesystem (with size)
275 - txz-in - unpack compressed tarball to directory (RHBZ#580556)
276 - txz-out - pack directory into compressed tarball (RHBZ#580556)
277 - vfs-label - get the filesystem label
278 - vfs-uuid - get the filesystem UUID
279 - vgscan - rescan for LVM physical volumes, volume groups and logical volumes
280 - write - create a new file
281 - zero-device - write zeroes to an entire device
285 - Extend the generator to support testing optional features.
286 - Stricter checks on input parameters to many calls (RHBZ#501893 RHBZ#501894)
287 - Extend the protocol to support sending arbitrary 8 bit data buffers.
288 - Ship 'BUGS' file with releases. This is a summary of the bugs in
289 the Red Hat Bugzilla database.
290 - Ship 'RELEASE-NOTES' file with releases, containing release notes.
291 - Unify supermin appliance building into one place, in febootstrap 2.7.
292 - Fix the protocol code to handle the case where both ends send cancel
293 messages at the same time.
297 - 612178 guestfish: using -m option in conjunction with --listen option causes appliance to die
298 - 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077
299 - 604691 OCaml bindings are not thread safe
300 - 603870 Updates to Spanish translation
301 - 602592 [RFE] expose guestfs_close in perl bindings
302 - 600977 virt-df -h --csv "Argument .. isn't numeric in printf"
303 - 599464 mkfs-b does not support vfat/ntfs
304 - 598807 add_cdrom does not work in RHEL 6
305 - 598309 part-list and several other cmd failed on libguestfs on RHEL5
306 - 597145 guestfish 'help' command should indicate error in exit status with an unknown command
307 - 597135 guestfish write-file cmd does not check "size" parameter
308 - 597118 A warning should be given in the help of mke2journal-L for the length of label
309 - 597112 get-e2uuid should use blkid instead of "tune2fs -l" to get filesystem UUID
310 - 596776 virt-inspector doesn't discover modprobe aliases on RHEL 3 guests
311 - 596763 Updates to Spanish translation
312 - 593292 Updates to Spanish translation
313 - 592883 can not edit files on images mounted with guestmount cmd
314 - 592360 Updates to Spanish translation
315 - 591250 virt-tar prints "tar_in: tar subcommand failed on directory" if the archive is compressed or not in the right format
316 - 591155 virt-tar prints "tar_in: tar subcommand failed on directory" if a disk image is not writable
317 - 591142 virt-inspector should give an error for unrecognized disk images
318 - 590167 virt-inspector and other virt tools should be able to handle filesystem-on-image VMs
319 - 589039 guestfish read-file cmd will cause daemon hang when read large files
320 - 588851 guestfs_launch() returns -1, but guestfs_last_error() == NULL
321 - 588763 libguestfs should use non-public or link-local addresses for appliance network
322 - 588733 Updates to Spanish translation
323 - 588651 guestfish 'strings-e' cmd does not give proper error message or hint
324 - 587484 lvresize can't reduce size of a volumn
325 - 585961 Updates to Spanish translation
326 - 585223 ntfsresize should support shrinking filesystems
327 - 585222 pvresize should support shrinking PVs
328 - 585221 resize2fs should support shrinking filesystems
329 - 584038 Updates to Spanish translation
330 - 583554 [FEAT] mknod-mode command is needed to set mode explicitly
331 - 583242 [RFE] guestfish should print outputs in a suitable base (eg. octal for modes)
332 - 582993 guestfish eats words when tab completing case (in)sensitive paths
333 - 582953 Misleading help information about lvcreate command
334 - 582948 mknod command doesn't make block, character or FIFO devices
335 - 582929 mknod doesn't check for invalid mode
336 - 582901 guestfish chmod/umask commands do not check invalid mode value
337 - 582899 guestfish:sparse is missed from command autocomplete list
338 - 582891 [Feature Request] behavior and return value of guestfish umask cmd should be changed
339 - 582548 [mknod] umask shouldn't take effect when mode is set explicitly
340 - 582484 some guestfish sub commands can not handle special files properly
341 - 582252 Updates to Spanish translation
342 - 581501 Updates to Spanish translation
343 - 580650 virt-inspector warns "No grub default specified at /usr/lib/perl5/Sys/Guestfs/Lib.pm at [...]"
344 - 580556 request for libguestfs to support .txz tarballs
345 - 580246 tar-in command hangs if uploading more than available space
346 - 580016 aug-ls in guestfish does not take augeas variable as argument
347 - 579664 guestfish doesn't report error when there is not enough space for image allocation
348 - 579608 multiple commands in guestfish can not work for symbol links
349 - 579155 libguestfs hangs if qemu doesn't start (in null vmchannel mode)
350 - 578407 the prefix '-' in sub-command isn't handled by guestfish in remote control mode
351 - 576879 libguestfs protocol loses synchronization if you 'upload' before mounting disks
352 - 559963 libguestfs Perl programs do set locale, but still localization doesn't work
353 - 521674 Perl modules are unversioned, but should carry version numbers
354 - 516096 Race condition in test_swapon_label_0: /sbin/blockdev: BLKRRPART: Device or resource busy
355 - 507810 guestfish -i / virt-inspector cannot handle spaces in filenames
356 - 502533 Updated Polish translation of libguestfs
357 - 501894 Some String parameters should be OptString
358 - 501893 String parameters should be checked for != NULL
359 - 501889 write-file does not support strings containing ASCII NUL
360 - 484986 grub-install fails on virtio disk
362 Release notes for previous versions of libguestfs
363 -------------------------------------------------
366 https://www.redhat.com/archives/libguestfs/2009-November/msg00095.html
369 https://www.redhat.com/archives/libguestfs/2009-August/msg00281.html
372 https://www.redhat.com/archives/libguestfs/2009-July/msg00059.html
375 https://www.redhat.com/archives/libguestfs/2009-July/msg00023.html