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