Version 1.11.15.
[libguestfs.git] / RELEASE-NOTES
1 Release notes for libguestfs 1.12.0
2 -----------------------------------
3
4 LAST UPDATED TO COMMIT 76bd81820f50a390b7e853d65f41b29a37e63f43
5
6 These release notes only cover the differences from the previous
7 stable/dev branch split (1.10.0).  For detailed changelogs, please see
8 the git repository, or the ChangeLog file distributed in the tarball.
9
10 New features
11
12  - virt-ls -lR option allows complex file iteration and guest analysis.
13
14  - virt-win-reg supports HKEY_USERS\<SID> and HKEY_USERS\<username>.
15
16  - virt-win-reg new option --unsafe-printable-strings allows printable
17    strings to be displayed in the output (unsafely: read the documentation
18    before using).
19
20  - Inspection API can get an icon or logo for certain guests.
21
22  - virt-inspector includes the logo and hostname for certain guests.
23
24  - virt-inspector can now get the version and release numbers for RPM
25    packages.
26
27  - virt-edit has been rewritten in C.
28
29  - guestfish, guestmount, virt-cat, virt-df, virt-edit, virt-filesystems,
30    virt-inspector, virt-ls and virt-rescue now allow you to use
31    "-d UUID" option to specify a guest by UUID.  This makes them more
32    robust to use from other programs.
33
34  - guestfs_close now appears in trace messages.
35
36  - Python binding adds explicit g.close() method.
37
38  - Python programs can now use the new event API.
39
40  - Python GIL is released during libguestfs calls, allowing multithreaded
41    Python programs to work properly.
42
43  - New guestfish "display" command for displaying graphical files
44    inside guests.
45
46  - 9pfs (Plan 9 filesystems exported from the host) are now supported.
47
48  - Add -DGUESTFS_WARN_DEPRECATED=1 to warn about use of deprecated API
49    functions in C programs.
50
51  - New manual page guestfs-recipes(1) with recipes.
52
53  - CentOS and Scientific Linux are now treated as separate distros by
54    the inspection API.
55
56 Security
57
58   [none]
59
60 New APIs
61
62   inspect-get-icon
63   is-zero
64   is-zero-device
65   list-9p
66   mount-9p
67
68 Internals
69
70  - Coverity (a static analysis tool) was run across the codebase and
71    many fixes were made.
72
73  - Generator can handle functions that return RBufferOut and have
74    optional arguments.
75
76  - Compatible with Perl 5.14.
77
78  - Compatible with gcc 4.6.
79
80 Bugs fixed
81
82   ./bugs-in-changelog.sh 1.10.0.. | sort -n
83
84  - 700369 qemu-system-x86_64 says 'KVM not supported for this target'
85  - 705200 guestmount attempt results in access denied
86  - 714981 'list-filesystems' does not know about virtio 9p filesystems or detect existing mounts
87  - 717786 libguestfs python bindings should have an explicit close call
88
89
90
91 Release notes for libguestfs 1.10.0
92 -----------------------------------
93
94 These release notes only cover the differences from the previous
95 stable/dev branch split (1.8.0).  For detailed changelogs, please see
96 the git repository, or the ChangeLog file distributed in the tarball.
97
98 New features
99
100  - libguestfs and tools can be used against live virtual machines.
101    See the 'guestfish --live' and 'guestmount --live' options, and (for
102    the low-level interface) the new APIs set-attach-method and
103    get-attach-method.
104
105  - New virt tools:
106    virt-copy-in, virt-copy-out, virt-tar-in, virt-tar-out.
107
108  - libguestfs can get the drive letter mappings for Windows guests.
109
110  - virt-inspector displays drive letter mappings for Windows guests.
111
112  - Drive letters can now be used in virt-edit and guestfish programs
113    when operating on Windows guests.
114
115  - virt-resize now works on 32 bit hosts.
116
117  - You can now inspect the install disks and live CDs of many different
118    operating systems.
119
120  - guestfish <! cmd which executes a shell cmd and inlines the result.
121
122  - guestfish, guestmount, virt-rescue now all support --ro and --rw
123    options, and the default for this can be chosen via a configuration
124    file (/etc/libguestfs-tools.conf).
125
126  - New event API allows more than one callback to be registered for
127    each event, makes it possible to call the API from other languages,
128    and allows nearly all log, debug and trace messages to be rerouted
129    from stderr.
130
131  - Greater FHS compliance for temporary files, including using /var/tmp
132    for large cached files that should survive reboot (instead of /tmp).
133
134  - guestfish, guestmount -m option allows mount options to be passed
135    through to the underlying filesystem.
136
137  - mkfs-opts allows filesystem features to be specified.
138
139  - More intelligent handling of mountpoints, allowing mkmountpoint, mount
140    and umount-all commands to work together properly.
141
142  - Trace messages are prefixed with a distinct string, allowing them to
143    be easily 'grepped' out from debug output.
144
145  - guestfs_launch (guestfish 'run' command) now produces progress
146    messages (a guestfish progress bar) if it takes longer than 5
147    seconds to run.
148
149  - Several long-running commands where we are unable to estimate time
150    to completion generate "pulse mode" progress events.  Progress bar
151    in guestfish has been updated to display these.
152
153  - Publish new example code in: C, Perl, Python, OCaml, Ruby.
154
155  - New virt-dhcp-address example program.
156
157  - The Java and Ruby bindings have been improved greatly.
158
159  - Perl includes a way to get the errno of the last error.
160
161  - Python bindings now compatible with rpyc (thanks Erez Shinan).
162
163  - Transifex is now being used to manage translations.
164    http://www.transifex.net/projects/p/libguestfs/
165
166  - Inspection now supports Red Hat Desktop, Slackware distributions.
167
168  - Inspection no longer fails for Windows guests that have two or
169    more disks.
170
171  - Inspection can now tell the difference between Windows 2008 Server
172    and Windows 7.
173
174  - Inspection can detect 32 bit applications installed in 64 bit
175    Windows, running on the WOW64 emulator.
176
177  - A series of protocol fixes has fixed the old bug RHBZ#576879
178    which used to cause errors during the upload command to lose
179    protocol synchronization.
180
181  - New logo!
182
183 Security
184
185   [none]
186
187 New APIs
188
189   first-private, get-attach-method, inspect-get-drive-mappings,
190   inspect-get-product-variant,
191   inspect-get-windows-current-control-set, next-private, resize2fs-M,
192   set-attach-method.
193
194 Internals
195
196  - The 'HACKING' file is obsolete.  The contents have been moved into
197    a section of the guestfs(3) manual page.
198
199  - libguestfs-test-tool simplified.  It no longer needs the static
200    binary or tries to construct an ISO.
201
202  - rpcgen-generated files are compiled with -fno-strict-aliasing
203    which should be safer (thanks Matt Booth).
204
205  - virt-resize was rewritten in OCaml.
206
207  - guestfish and other tools tested with valgrind; some memory leaks
208    were fixed.
209
210 Bugs fixed
211
212  - 502533 Updated Polish translation of libguestfs
213  - 576879 libguestfs protocol loses synchronization if you 'upload' before mounting disks
214  - 599503 document that mkmountpoint and umount-all cannot be mixed
215  - 617440 guestfish: fails to tilde expand '~' when the $HOME env is unset
216  - 664558 RFE: Allow to set log callback in Ruby bindings
217  - 665358 Punjabi Translation Completed (pa_IN)
218  - 666577 libguestfs: unknown filesystem /dev/fd0
219  - 667610 Multiple bugs, memory leaks in libguestfs ruby bindings
220  - 668112 virt-filesystems command fails on guest with corrupt filesystem label
221  - 668574 guestfish -i is trying to mount all mounts from /etc/fstab and fails with an error when device doesn't exists
222  - 673479 Add a grep-friendly string to LIBGUESTFS_TRACE output
223  - 674130 Inspection code fails for Windows guest with two disks
224  - 682756 libguestfs trace segfaults when list-filesystems returns error
225  - 682979 libguestfs incorrectly detects Red Hat desktop as 'redhat-based' instead of 'redhat'
226  - 690819 mkfs fails creating a filesytem on a disk device when using a disk with 'ide' interface
227  - 691389 Extended attributes don't work over guestmount (FUSE)
228  - 691724 virt-inspector reports unknown filesystem /dev/vda1
229  - 692545 inspect-list-applications fails to detect 32 bit apps installed under WOW64 emulator on 64 bit Windows
230  - 693324 sfdisk's python interface only accepts lists of type 'list' for the lines parameter
231
232 Release notes for libguestfs 1.8.0
233 ----------------------------------
234
235 These release notes only cover the differences from the previous
236 stable/dev branch split (1.6.0).  For detailed changelogs, please see
237 the git repository, or the ChangeLog file distributed in the tarball.
238
239 New features
240
241  - Support and packages for Debian and Ubuntu.
242
243  - Daily builds from git repository on Debian and Ubuntu to reduce risk
244    of regressions.
245
246  - Port to ArchLinux 'pacman' (thanks Thomas S Hatch).
247
248  - The following tools have been rewritten in C (originally in Perl):
249
250      . virt-cat
251      . virt-df
252      . virt-inspector
253      . virt-ls
254      . virt-rescue
255
256  - Some C tools support encrypted guests automatically.  This is
257    supported in: guestfish, guestmount, virt-cat, virt-inspector,
258    virt-ls.
259
260  - New tool virt-filesystems (in C) which is a replacement for
261    virt-list-filesystems and virt-list-partitions, and has a superset
262    of the functionality of those tools.
263
264  - guestfish, guestmount and the C tools use unified command line option
265    parsing, so they support many common options such as '-a disk.img',
266    '-d libvirt-domain', '-x', '-v'.  The old command line option
267    parsing is preserved for compatibility in scripts etc.
268
269  - guestfish no longer has any dependencies on Perl
270
271  - New man pages containing programming examples: guestfs-examples(3) (C/C++),
272    guestfs-ocaml(3), guestfs-python(3), guestfs-ruby(3).
273
274  - Trace mode prints return values from API functions.
275
276  - virt-inspector can list applications installed in Windows guests, along
277    with a great deal of information about those applications.
278
279  - Add support for inspecting: Linux Mint, Mandriva, FreeBSD.
280
281  - guestfish --rw option (with no effect currently) to make potentially
282    dangerous write access explicit.
283
284  - guestfish --listen --csh for compatibility with csh, tcsh (thanks
285    Eric Blake).
286
287  - The first upstream version that introduced each API function is now
288    documented in guestfs(3).
289
290  - guestfs_last_errno allows you to retrieve the errno from the
291    daemon, correctly translated to the local operating system.
292
293  - Functions can now have optional parameters.
294
295  - Progress bars and progress notifications can now happen for upload
296    commands.
297
298  - Appliance builder more careful about not leaving temporary files
299    around in /tmp.
300
301  - getfattr/setfattr commands added to virt-rescue.
302
303  - ROADMAP file covers roadmap and goals for future releases.
304
305 Security
306
307  - New SECURITY section in guestfs(3) API documentation.
308
309  - virt-inspector no longer runs any guest commands.
310
311  - Inspection code is more careful about avoiding very large files
312    from guests which might previously have caused a denial of service.
313
314  - FUSE calls into guestmount are now traced when using guestmount -x.
315
316 New APIs
317
318  - add-domain
319  - add-drive-opts
320  - getxattr
321  - inspect-get-hostname
322  - inspect-get-package-format
323  - inspect-get-package-management
324  - inspect-get-roots
325  - inspect-list-applications
326  - lgetxattr
327  - mkfs-opts
328
329 Internals
330
331  - C programs now only link precisely with the libraries that they use.
332
333  - PCRE, libmagic, hivex and libvirt libraries are now completely
334    optional for building.
335
336  - Multiple memory leaks and file descriptor leaks fixed.
337
338  - Add a POD wrapper to unify generation of man pages and HTML files
339    across all programs.
340
341  - Source includes phony images of Fedora, Debian, Ubuntu and
342    Windows guests.
343
344  - Ruby bindings have 'make install' rule.
345
346  - <guestfs.h> is now a single file.
347
348  - <guestfs.h> does not require XDR headers.
349
350  - ocaml xml-light library is no longer required to build (thanks
351    Maxim Koltsov).
352
353  - ./configure --disable-[...] for each language binding (thanks
354    Maxim Koltsov).
355
356  - Old ocaml-viewer program removed (use guestfs-browser instead).
357
358  - New C API test type 'InitScratchFS' makes the tests run a little
359    more quickly.
360
361  - Excluded packages in the appliance are now listed in a separate
362    file appliance/excludelist.in, and can be customized per-distro.
363
364 Bugs fixed
365
366  - 663407 readlink and readlinklist returns /sysroot/ in some paths
367  - 661280 virt-rescue: panic when shutting down: "/sbin/reboot: No such file or directory"
368  - 657499 checksum: wrong check sum type causes umount to fail
369  - 655554 Whole disk paths are not made canonical by virt-inspector
370  - 654638 openssl updated to 1.0.0b libguestfs depends on exact file names
371  - 652796 ruby bindings not installed by 'make install', hence omitted from the binary distribution
372
373 Release notes for libguestfs 1.6.0
374 ----------------------------------
375
376 These release notes only cover the differences from the previous
377 stable/dev branch split (1.4.0).  For detailed changelogs, please see
378 the git repository, or the ChangeLog file distributed in the tarball.
379
380 New features
381
382  - Use a new method for creating and caching the appliance.  This
383    greatly improves the performance of libguestfs, often by a factor
384    of x 4 to x 5.
385
386  - Support for guest inspection (like virt-inspector) via the ordinary
387    API and all language bindings.  'guestfish -i' option is as a side-
388    effect much quicker.
389
390  - virt-inspector and core inspection API can now detect guests running:
391    Fedora, Debian, Ubuntu, Windows, Red Hat Enterprise Linux, CentOS,
392    Scientific Linux, Gentoo, Pardus, Arch Linux, MeeGo.
393
394  - Support for LUKS whole-disk encryption in guests.
395
396  - PHP bindings.
397
398  - Progress messages (and progress bars in guestfish and virt-resize)
399    for certain long-running operations.
400
401  - virt-df is now much more efficient.  Use '--one-per-guest' to restore
402    the old per-guest isolation behaviour.
403
404  - guestfish 'copy-in' and 'copy-out' commands for copying files and
405    directories recursively in and out of the guest.
406
407  - guestfish 'hexedit' command for doing binary edits to devices and
408    files.
409
410  - Change guestfish -i syntax to allow commands to be specified on the
411    command line (retaining backwards compatibility).
412
413  - guestfish '-d <domain>' for adding disks from libvirt domains.
414
415  - guestfish '-N' option supports several new prepared disk image types:
416          lvfs : disk with LV formatted with filesystem
417            lv : disk with LV
418      bootroot : boot+root
419    bootrootlv : boot and root on LV
420
421  - guestfish 'more' and 'edit' commands now work with arbitrary files.
422
423  - guestfish '--echo-keys' option allows you to echo keys/passphrases
424    while typing them.
425
426  - guestmount now supports -a / -d / -i options, like guestfish.
427
428  - Use virtio-serial for communications with the appliance.  This
429    also has a major performance benefit.
430
431  - virt-edit '-b' option to create a backup of edited files.
432
433  - virt-edit '-e' option for non-interactive edits to files.
434
435  - Ability to capture core dumps from the appliance (thanks Matthew Booth).
436
437  - virt-rescue now shuts down cleanly (thanks Matthew Booth).
438
439  - virt-rescue now has a --network option to enable network access.
440
441  - virt-resize can now handle guests which use GPT partition table format.
442
443  - virt-resize has better support for shrinking guests.
444
445  - virt-resize supports qcow2-format guests.
446
447  - $TMPDIR can be used to override almost all temporary directory usage.
448
449  - OCaml users can use an alternate OO-style of coding, eg. g#launch ()
450
451  - The API supports calls which take optional parameters, eg.
452      $g->add_drive_opts ("disk", readonly => 1);
453
454  - Trace output now escapes and shortens large strings (thanks
455    Matthew Booth).
456
457  - Autosync is now on by default, resulting in more reliable behaviour
458    when the handle is closed.
459
460  - virt-df --uuid option allows you to follow a domain across migration
461    and renaming.
462
463  - Translations of manual pages.
464
465 Security
466
467  - CVE-2010-3851 libguestfs: missing disk format specifier when adding a disk
468    https://www.redhat.com/archives/libguestfs/2010-October/msg00036.html
469    This is comprehensively fixed in this release, and the fix will be
470    backported to the other stable branches after more testing.
471
472  - virt-inspector no longer relies on untrusted guest code to list
473    applications in some guests.
474
475 New APIs
476
477   download-offset, file-architecture, findfs-label, findfs-uuid,
478   inspect-os, inspect-get-arch, inspect-get-distro,
479   inspect-get-filesystems, inspect-get-major-version,
480   inspect-get-minor-version, inspect-get-mountpoints,
481   inspect-get-product-name, inspect-get-type, is-blockdev, is-chardev,
482   is-fifo, is-lv, is-socket, is-symlink, list-filesystems, luks-add-key,
483   luks-close, luks-format, luks-format-cipher, luks-kill-slot,
484   luks-open, luks-open-ro, lvm-clear-filter, lvm-canonical-lv-name,
485   lvm-set-filter, part-to-dev, pread-device, pwrite-device,
486   upload-offset
487
488 Internals
489
490  - Use size_t for loop iterators.
491  - Refactor the library code into separate files.
492  - Refactor the generator code into separate files.
493  - Generate guestfish commands.
494  - guestfish & guestmount options processing is unified.
495  - Protocol changes:
496      error message size increased to 64K
497      send errno to library
498  - Add 'make bindist' to make a binary distribution.
499  - Cleaner behaviour under valgrind.
500  - More testing of the guestfish command line options and libvirt
501    integration.
502  - The Perl inspection code is no longer used by any of the tools.
503
504 Bugs fixed
505
506  - 646822 libguestfs trace mode should not print long binary strings
507  - 646821 virt-df should have --uuid option
508  - 646432 /dev/mapper paths should not be returned from guestfs_mountpoints
509  - 643624 libguestfs tools documentation should describe how to quote guest domain names from shell
510  - 642934 No way to specify disk format when adding a disk to libguestfs
511  - 642933 guestfs_list_filesystems should be used in all possible places
512  - 642932 guestmount options should match guestfish options
513  - 642930 virt-inspector (Sys::Guestfs::Lib) should use C inspection APIs
514  - 642929 C inspection code should ignore /dev/fd* in /etc/fstab
515  - 642826 virt-resize converts any other image format to raw without notifying user, instructions do not account for this
516  - 640961 Document that grub-install might be needed for old Linux guests after virt-resize
517  - 639986 virt-df --csv does not properly quote " in libvirt domain names
518  - 639405 Interrupted cached appliance creation leaves libguestfs unusable
519  - 638901 Appliance filename should not contain repository name
520  - 638899 /dev/mapper paths should not be returned from C inspection APIs
521  - 636918 Updates to Spanish translation
522  - 636061 [abrt] guestfish-1.2.11-1.fc12: malloc_consolidate: Process /usr/bin/guestfish was killed by signal 11 (SIGSEGV)
523  - 635969 glob echo mkfs ext2 /dev/vd[b-t]1 prints garbage
524  - 634246 guestfs_part_get_parttype returns "loop" when run against a partition, LV or filesystem
525  - 633766 virt-resize --shrink fails
526  - 633357 Updates to Spanish translation
527  - 633096 virt-resize calculates block device size incorrectly, doesn't work with qcow2 target
528  - 629593 Dutch translation added
529  - 627556 Updates to Spanish translations of libguestfs
530  - 626843 Updates to Spanish translations
531  - 619793 [RFE] Need a way to determine if a particular block device is a logical volume
532  - 618556 virt-rescue return none zero value when exit
533  - 617200 mount operation failed and hung on some images which running in read-only mode
534  - 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077
535  - 599503 document that mkmountpoint and umount-all cannot be mixed
536  - 571714 Running virt-df on disk image relabels it, so qemu can no longer write to it.
537  - 502533 Updated Polish translation of libguestfs
538
539 Release notes for libguestfs 1.4.0
540 ----------------------------------
541
542 These release notes only cover the differences from the previous
543 stable/dev branch split (1.2.0).  For detailed changelogs, please see
544 the git repository, or the ChangeLog file distributed in the tarball.
545
546 New features
547
548  - guestfish lets you choose a prepared disk image, eg:
549      guestfish -N fs:ext4
550
551  - Add write support to guestmount (FUSE) module.
552
553  - virt-resize can now resize the content of partitions and logical
554    volumes in the guest, and we have better support for shrinking guests.
555
556  - Bash tab-completion script for guestfish.
557
558  - Add ZFS support to virt-rescue.
559
560  - New tool 'virt-make-fs' for creating filesystems with content.
561
562  - Allow suffixes on any guestfish number parameter, eg. "1M".
563
564  - guestfish 'man' command opens the manual page.
565
566  - guestfish supports a "heredoc" syntax for uploading files:
567      upload -<<_end_ /foo
568      content
569      _end_
570
571  - Some guestfish commands now print their output in octal or hex
572    where appropriate (RHBZ#583242).
573
574  - Allow dash prefix on guestfish command line.  This ignores any
575    error from the second command:                   (RHBZ#578407)
576      guestfish -- cmd1 : -cmd2 : cmd3
577
578  - guestfish -h / help command now returns an error for non-existent
579    commands (RHBZ#597145).
580
581  - New 'supported' command in guestfish to list optional groups of
582    commands which are supported by the daemon / configuration.
583
584  - virt-inspector and guestfish -i now work for filenames which
585    contain spaces (RHBZ#507810).
586
587  - Change the protocol to use link-local addresses, to avoid
588    conflicting with any address that the host might be using
589    (RHBZ#588763).
590
591  - libguestfs now sets the correct time and timezone on filesystem
592    modifications.
593
594  - Sort the domains into alphabetical order in virt-df.
595
596  - Make mkfs-b command work for FAT and NTFS by mapping the blocksize
597    parameter to the cluster size (RHBZ#599464).
598
599  - Add version numbers to Perl modules (RHBZ#521674).
600
601  - Localization now works for all the libguestfs tools (RHBZ#559963).
602
603  - Tools now support filesystem-on-image VMs (RHBZ#590167).
604
605  - virt-list-partitions has a '-t' option to show the total size of disks.
606
607  - Include extra Augeas lenses in the supermin appliance (Matthew Booth).
608
609  - Add error and close callbacks.
610
611  - Add explicit close method in the Perl API.
612
613  - Multiple fixes for RHEL 5 compatibility.
614
615  - Multiple fixes for Debian/Ubuntu compatibility.
616
617  - Multiple revisions to improve the documentation.
618
619 Security
620
621  - Fix a potential DoS in virt-inspector and virt-v2v if a specially
622    crafted disk image contained a char device in place of one of the
623    configuration files that we read under /etc (RHBZ#582484).
624
625 New APIs
626
627  - aug-clear - clear Augeas path
628  - available-all-groups - return a list of all optional groups
629  - base64-in - upload base64-encoded data to file
630  - base64-out - download file and encode as base64
631  - checksum-device - compute checksums on the contents of a device
632  - checksums-out - compute checksums of multiple files in a directory
633  - debug-upload - upload a file to the appliance
634  - fallocate64 - preallocate a file in the guest filesystem
635  - fill-pattern - fill a file with a repeating pattern of bytes
636  - get-umask - get the current umask
637  - lvresize-free - expand an LV to fill free space
638  - ntfsresize - resize an NTFS filesystem
639  - ntfsresize-size - resize an NTFS filesystem (with size)
640  - part-del - delete a partition
641  - part-get-bootable - get the bootable flag of a partition
642  - part-get-mbr-id - get the MBR type byte of a partition
643  - part-set-mbr-id - set the MBR type byte of a partition
644  - pvresize-size - resize a physical volume (with size)
645  - pwrite - write to part of a file
646  - resize2fs-size - resize an ext2/3/4 filesystem (with size)
647  - txz-in - unpack compressed tarball to directory (RHBZ#580556)
648  - txz-out - pack directory into compressed tarball (RHBZ#580556)
649  - vfs-label - get the filesystem label
650  - vfs-uuid - get the filesystem UUID
651  - vgscan - rescan for LVM physical volumes, volume groups and logical volumes
652  - write - create a new file
653  - zero-device - write zeroes to an entire device
654
655 Internals
656
657  - Extend the generator to support testing optional features.
658  - Stricter checks on input parameters to many calls (RHBZ#501893 RHBZ#501894)
659  - Extend the protocol to support sending arbitrary 8 bit data buffers.
660  - Ship 'BUGS' file with releases.  This is a summary of the bugs in
661    the Red Hat Bugzilla database.
662  - Ship 'RELEASE-NOTES' file with releases, containing release notes.
663  - Unify supermin appliance building into one place, in febootstrap 2.7.
664  - Fix the protocol code to handle the case where both ends send cancel
665    messages at the same time.
666
667 Bugs fixed
668
669  - 612178 guestfish: using -m option in conjunction with --listen option causes appliance to die
670  - 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077
671  - 604691 OCaml bindings are not thread safe
672  - 603870 Updates to Spanish translation
673  - 602592 [RFE] expose guestfs_close in perl bindings
674  - 600977 virt-df -h --csv "Argument .. isn't numeric in printf"
675  - 599464 mkfs-b does not support vfat/ntfs
676  - 598807 add_cdrom does not work in RHEL 6
677  - 598309 part-list and several other cmd failed on libguestfs on RHEL5
678  - 597145 guestfish 'help' command should indicate error in exit status with an unknown command
679  - 597135 guestfish write-file cmd does not check "size" parameter
680  - 597118 A warning should be given in the help of mke2journal-L for the length of label
681  - 597112 get-e2uuid should use blkid instead of "tune2fs -l" to get filesystem UUID
682  - 596776 virt-inspector doesn't discover modprobe aliases on RHEL 3 guests
683  - 596763 Updates to Spanish translation
684  - 593292 Updates to Spanish translation
685  - 592883 can not edit files on  images mounted with guestmount cmd
686  - 592360 Updates to Spanish translation
687  - 591250 virt-tar prints "tar_in: tar subcommand failed on directory" if the archive is compressed or not in the right format
688  - 591155 virt-tar prints "tar_in: tar subcommand failed on directory" if a disk image is not writable
689  - 591142 virt-inspector should give an error for unrecognized disk images
690  - 590167 virt-inspector and other virt tools should be able to handle filesystem-on-image VMs
691  - 589039 guestfish read-file cmd will cause daemon hang when read large files
692  - 588851 guestfs_launch() returns -1, but guestfs_last_error() == NULL
693  - 588763 libguestfs should use non-public or link-local addresses for appliance network
694  - 588733 Updates to Spanish translation
695  - 588651 guestfish 'strings-e' cmd does not give proper error message or hint
696  - 587484 lvresize can't reduce size of a volumn
697  - 585961 Updates to Spanish translation
698  - 585223 ntfsresize should support shrinking filesystems
699  - 585222 pvresize should support shrinking PVs
700  - 585221 resize2fs should support shrinking filesystems
701  - 584038 Updates to Spanish translation
702  - 583554 [FEAT] mknod-mode command is needed to set mode explicitly
703  - 583242 [RFE] guestfish should print outputs in a suitable base (eg. octal for modes)
704  - 582993 guestfish eats words when tab completing case (in)sensitive paths
705  - 582953 Misleading help information about lvcreate command
706  - 582948 mknod command doesn't make block, character or FIFO devices
707  - 582929 mknod doesn't check for invalid mode
708  - 582901 guestfish chmod/umask commands do not check invalid mode value
709  - 582899 guestfish:sparse is missed from command autocomplete list
710  - 582891 [Feature Request] behavior and return value of guestfish umask cmd should be changed
711  - 582548 [mknod] umask shouldn't take effect when mode is set explicitly
712  - 582484 some guestfish sub commands can not handle special files properly
713  - 582252 Updates to Spanish translation
714  - 581501 Updates to Spanish translation
715  - 580650 virt-inspector warns "No grub default specified at /usr/lib/perl5/Sys/Guestfs/Lib.pm at [...]"
716  - 580556 request for libguestfs to support .txz tarballs
717  - 580246 tar-in command hangs if uploading more than available space
718  - 580016 aug-ls in guestfish does not take augeas variable as argument
719  - 579664 guestfish doesn't report error when there is not enough space for image allocation
720  - 579608 multiple commands in guestfish can not work for symbol links
721  - 579155 libguestfs hangs if qemu doesn't start (in null vmchannel mode)
722  - 578407 the prefix '-' in sub-command isn't handled by guestfish in remote control mode
723  - 576879 libguestfs protocol loses synchronization if you 'upload' before mounting disks
724  - 559963 libguestfs Perl programs do set locale, but still localization doesn't work
725  - 521674 Perl modules are unversioned, but should carry version numbers
726  - 516096 Race condition in test_swapon_label_0: /sbin/blockdev: BLKRRPART: Device or resource busy
727  - 507810 guestfish -i / virt-inspector cannot handle spaces in filenames
728  - 502533 Updated Polish translation of libguestfs
729  - 501894 Some String parameters should be OptString
730  - 501893 String parameters should be checked for != NULL
731  - 501889 write-file does not support strings containing ASCII NUL
732  - 484986 grub-install fails on virtio disk
733
734 Release notes for previous versions of libguestfs
735 -------------------------------------------------
736
737 2009-11-10 : 1.0.78
738 https://www.redhat.com/archives/libguestfs/2009-November/msg00095.html
739
740 2009-09-13 : 1.0.67
741 https://www.redhat.com/archives/libguestfs/2009-August/msg00281.html
742
743 2009-07-23 : 1.0.64
744 https://www.redhat.com/archives/libguestfs/2009-July/msg00059.html
745
746 2009-07-14 : 1.0.59
747 https://www.redhat.com/archives/libguestfs/2009-July/msg00023.html
748
749 2009-04-01 : Initial announcement
750 http://rwmj.wordpress.com/2009/04/01/libguestfs-access-and-modify-virtual-machine-disk-images/