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