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