summaryrefslogtreecommitdiffstats
path: root/RELEASE-NOTES
blob: c9c6ae6edcb02ebe6572dc93963f5c54cace6617 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
Release notes for libguestfs 1.8.0
----------------------------------

Updated to commit 0b2a3bd8404a72a3b7e99e330143c26bf42d458a (1.7.16).

These release notes only cover the differences from the previous
stable/dev branch split (1.6.0).  For detailed changelogs, please see
the git repository, or the ChangeLog file distributed in the tarball.

New features

 - The following tools have been rewritten in C (originally in Perl):

     . virt-cat
     . virt-df
     . virt-inspector
     . virt-ls
     . virt-rescue

 - Some C tools support encrypted guests automatically.  This is
   supported in: guestfish, guestmount, virt-cat, virt-inspector,
   virt-ls.

 - New tool virt-filesystems (in C) which is a replacement for
   virt-list-filesystems and virt-list-partitions, and has a superset
   of the functionality of those tools.

 - guestfish, guestmount and the C tools use unified command line option
   parsing, so they support many common options such as '-a disk.img',
   '-d libvirt-domain', '-x', '-v'.  The old command line option
   parsing is preserved for compatibility in scripts etc.

 - guestfish no longer has any dependencies on Perl

 - New man pages containing programming examples: guestfs-examples(3) (C/C++),
   guestfs-ocaml(3), guestfs-python(3), guestfs-ruby(3).

 - Trace mode prints return values from API functions.

 - virt-inspector can list applications installed in Windows guests, along
   with a great deal of information about those applications.

 - Add support for inspecting: Linux Mint, Mandriva, FreeBSD.

 - guestfish --rw option (with no effect currently) to make potentially
   dangerous write access explicit.

 - guestfish --listen --csh for compatibility with csh, tcsh (thanks
   Eric Blake).

 - The first upstream version that introduced each API function is now
   documented in guestfs(3).

 - guestfs_last_errno allows you to retrieve the errno from the
   daemon, correctly translated to the local operating system.

 - Some functions now support optional parameters.

Security

 - New SECURITY section in guestfs(3) API documentation.

 - virt-inspector no longer runs any guest commands.

 - Inspection code is more careful about avoiding very large files
   from guests which might previously have caused a denial of service.

New APIs

 - add-domain
 - add-drive-opts
 - inspect-get-hostname
 - inspect-get-package-format
 - inspect-get-package-management
 - inspect-get-roots
 - inspect-list-applications

Internals

 - C programs now only link precisely with the libraries that they use.

 - PCRE, libmagic, hivex and libvirt libraries are now completely
   optional for building.

 - Multiple memory leaks and file descriptor leaks fixed.

 - Add a POD wrapper to unify generation of man pages and HTML files
   across all programs.

 - Source includes phony images of Fedora, Debian, Ubuntu and
   Windows guests.

 - Ruby bindings have 'make install' rule.

 - <guestfs.h> is now a single file.

 - <guestfs.h> does not require XDR headers.

 - ocaml xml-light library is no longer required to build (thanks
   Maxim Koltsov).

 - ./configure --disable-[...] for each language binding (thanks
   Maxim Koltsov).

 - Old ocaml-viewer program removed (use guestfs-browser instead).

Bugs fixed

 - 657499 checksum: wrong check sum type causes umount to fail
 - 655554 Whole disk paths are not made canonical by virt-inspector
 - 654638 openssl updated to 1.0.0b libguestfs depends on exact file names
 - 652796 ruby bindings not installed by 'make install', hence omitted from the binary distribution

Release notes for libguestfs 1.6.0
----------------------------------

These release notes only cover the differences from the previous
stable/dev branch split (1.4.0).  For detailed changelogs, please see
the git repository, or the ChangeLog file distributed in the tarball.

New features

 - Use a new method for creating and caching the appliance.  This
   greatly improves the performance of libguestfs, often by a factor
   of x 4 to x 5.

 - Support for guest inspection (like virt-inspector) via the ordinary
   API and all language bindings.  'guestfish -i' option is as a side-
   effect much quicker.

 - virt-inspector and core inspection API can now detect guests running:
   Fedora, Debian, Ubuntu, Windows, Red Hat Enterprise Linux, CentOS,
   Scientific Linux, Gentoo, Pardus, Arch Linux, MeeGo.

 - Support for LUKS whole-disk encryption in guests.

 - PHP bindings.

 - Progress messages (and progress bars in guestfish and virt-resize)
   for certain long-running operations.

 - virt-df is now much more efficient.  Use '--one-per-guest' to restore
   the old per-guest isolation behaviour.

 - guestfish 'copy-in' and 'copy-out' commands for copying files and
   directories recursively in and out of the guest.

 - guestfish 'hexedit' command for doing binary edits to devices and
   files.

 - Change guestfish -i syntax to allow commands to be specified on the
   command line (retaining backwards compatibility).

 - guestfish '-d <domain>' for adding disks from libvirt domains.

 - guestfish '-N' option supports several new prepared disk image types:
         lvfs : disk with LV formatted with filesystem
           lv : disk with LV
     bootroot : boot+root
   bootrootlv : boot and root on LV

 - guestfish 'more' and 'edit' commands now work with arbitrary files.

 - guestfish '--echo-keys' option allows you to echo keys/passphrases
   while typing them.

 - guestmount now supports -a / -d / -i options, like guestfish.

 - Use virtio-serial for communications with the appliance.  This
   also has a major performance benefit.

 - virt-edit '-b' option to create a backup of edited files.

 - virt-edit '-e' option for non-interactive edits to files.

 - Ability to capture core dumps from the appliance (thanks Matthew Booth).

 - virt-rescue now shuts down cleanly (thanks Matthew Booth).

 - virt-rescue now has a --network option to enable network access.

 - virt-resize can now handle guests which use GPT partition table format.

 - virt-resize has better support for shrinking guests.

 - virt-resize supports qcow2-format guests.

 - $TMPDIR can be used to override almost all temporary directory usage.

 - OCaml users can use an alternate OO-style of coding, eg. g#launch ()

 - The API supports calls which take optional parameters, eg.
     $g->add_drive_opts ("disk", readonly => 1);

 - Trace output now escapes and shortens large strings (thanks
   Matthew Booth).

 - Autosync is now on by default, resulting in more reliable behaviour
   when the handle is closed.

 - virt-df --uuid option allows you to follow a domain across migration
   and renaming.

 - Translations of manual pages.

Security

 - CVE-2010-3851 libguestfs: missing disk format specifier when adding a disk
   https://www.redhat.com/archives/libguestfs/2010-October/msg00036.html
   This is comprehensively fixed in this release, and the fix will be
   backported to the other stable branches after more testing.

 - virt-inspector no longer relies on untrusted guest code to list
   applications in some guests.

New APIs

  download-offset, file-architecture, findfs-label, findfs-uuid,
  inspect-os, inspect-get-arch, inspect-get-distro,
  inspect-get-filesystems, inspect-get-major-version,
  inspect-get-minor-version, inspect-get-mountpoints,
  inspect-get-product-name, inspect-get-type, is-blockdev, is-chardev,
  is-fifo, is-lv, is-socket, is-symlink, list-filesystems, luks-add-key,
  luks-close, luks-format, luks-format-cipher, luks-kill-slot,
  luks-open, luks-open-ro, lvm-clear-filter, lvm-canonical-lv-name,
  lvm-set-filter, part-to-dev, pread-device, pwrite-device,
  upload-offset

Internals

 - Use size_t for loop iterators.
 - Refactor the library code into separate files.
 - Refactor the generator code into separate files.
 - Generate guestfish commands.
 - guestfish & guestmount options processing is unified.
 - Protocol changes:
     error message size increased to 64K
     send errno to library
 - Add 'make bindist' to make a binary distribution.
 - Cleaner behaviour under valgrind.
 - More testing of the guestfish command line options and libvirt
   integration.
 - The Perl inspection code is no longer used by any of the tools.

Bugs fixed

 - 646822 libguestfs trace mode should not print long binary strings
 - 646821 virt-df should have --uuid option
 - 646432 /dev/mapper paths should not be returned from guestfs_mountpoints
 - 643624 libguestfs tools documentation should describe how to quote guest domain names from shell
 - 642934 No way to specify disk format when adding a disk to libguestfs
 - 642933 guestfs_list_filesystems should be used in all possible places
 - 642932 guestmount options should match guestfish options
 - 642930 virt-inspector (Sys::Guestfs::Lib) should use C inspection APIs
 - 642929 C inspection code should ignore /dev/fd* in /etc/fstab
 - 642826 virt-resize converts any other image format to raw without notifying user, instructions do not account for this
 - 640961 Document that grub-install might be needed for old Linux guests after virt-resize
 - 639986 virt-df --csv does not properly quote " in libvirt domain names
 - 639405 Interrupted cached appliance creation leaves libguestfs unusable
 - 638901 Appliance filename should not contain repository name
 - 638899 /dev/mapper paths should not be returned from C inspection APIs
 - 636918 Updates to Spanish translation
 - 636061 [abrt] guestfish-1.2.11-1.fc12: malloc_consolidate: Process /usr/bin/guestfish was killed by signal 11 (SIGSEGV)
 - 635969 glob echo mkfs ext2 /dev/vd[b-t]1 prints garbage
 - 634246 guestfs_part_get_parttype returns "loop" when run against a partition, LV or filesystem
 - 633766 virt-resize --shrink fails
 - 633357 Updates to Spanish translation
 - 633096 virt-resize calculates block device size incorrectly, doesn't work with qcow2 target
 - 629593 Dutch translation added
 - 627556 Updates to Spanish translations of libguestfs
 - 626843 Updates to Spanish translations
 - 619793 [RFE] Need a way to determine if a particular block device is a logical volume
 - 618556 virt-rescue return none zero value when exit
 - 617200 mount operation failed and hung on some images which running in read-only mode
 - 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077
 - 599503 document that mkmountpoint and umount-all cannot be mixed
 - 571714 Running virt-df on disk image relabels it, so qemu can no longer write to it.
 - 502533 Updated Polish translation of libguestfs

Release notes for libguestfs 1.4.0
----------------------------------

These release notes only cover the differences from the previous
stable/dev branch split (1.2.0).  For detailed changelogs, please see
the git repository, or the ChangeLog file distributed in the tarball.

New features

 - guestfish lets you choose a prepared disk image, eg:
     guestfish -N fs:ext4

 - Add write support to guestmount (FUSE) module.

 - virt-resize can now resize the content of partitions and logical
   volumes in the guest, and we have better support for shrinking guests.

 - Bash tab-completion script for guestfish.

 - Add ZFS support to virt-rescue.

 - New tool 'virt-make-fs' for creating filesystems with content.

 - Allow suffixes on any guestfish number parameter, eg. "1M".

 - guestfish 'man' command opens the manual page.

 - guestfish supports a "heredoc" syntax for uploading files:
     upload -<<_end_ /foo
     content
     _end_

 - Some guestfish commands now print their output in octal or hex
   where appropriate (RHBZ#583242).

 - Allow dash prefix on guestfish command line.  This ignores any
   error from the second command:                   (RHBZ#578407)
     guestfish -- cmd1 : -cmd2 : cmd3

 - guestfish -h / help command now returns an error for non-existent
   commands (RHBZ#597145).

 - New 'supported' command in guestfish to list optional groups of
   commands which are supported by the daemon / configuration.

 - virt-inspector and guestfish -i now work for filenames which
   contain spaces (RHBZ#507810).

 - Change the protocol to use link-local addresses, to avoid
   conflicting with any address that the host might be using
   (RHBZ#588763).

 - libguestfs now sets the correct time and timezone on filesystem
   modifications.

 - Sort the domains into alphabetical order in virt-df.

 - Make mkfs-b command work for FAT and NTFS by mapping the blocksize
   parameter to the cluster size (RHBZ#599464).

 - Add version numbers to Perl modules (RHBZ#521674).

 - Localization now works for all the libguestfs tools (RHBZ#559963).

 - Tools now support filesystem-on-image VMs (RHBZ#590167).

 - virt-list-partitions has a '-t' option to show the total size of disks.

 - Include extra Augeas lenses in the supermin appliance (Matthew Booth).

 - Add error and close callbacks.

 - Add explicit close method in the Perl API.

 - Multiple fixes for RHEL 5 compatibility.

 - Multiple fixes for Debian/Ubuntu compatibility.

 - Multiple revisions to improve the documentation.

Security

 - Fix a potential DoS in virt-inspector and virt-v2v if a specially
   crafted disk image contained a char device in place of one of the
   configuration files that we read under /etc (RHBZ#582484).

New APIs

 - aug-clear - clear Augeas path
 - available-all-groups - return a list of all optional groups
 - base64-in - upload base64-encoded data to file
 - base64-out - download file and encode as base64
 - checksum-device - compute checksums on the contents of a device
 - checksums-out - compute checksums of multiple files in a directory
 - debug-upload - upload a file to the appliance
 - fallocate64 - preallocate a file in the guest filesystem
 - fill-pattern - fill a file with a repeating pattern of bytes
 - get-umask - get the current umask
 - lvresize-free - expand an LV to fill free space
 - ntfsresize - resize an NTFS filesystem
 - ntfsresize-size - resize an NTFS filesystem (with size)
 - part-del - delete a partition
 - part-get-bootable - get the bootable flag of a partition
 - part-get-mbr-id - get the MBR type byte of a partition
 - part-set-mbr-id - set the MBR type byte of a partition
 - pvresize-size - resize a physical volume (with size)
 - pwrite - write to part of a file
 - resize2fs-size - resize an ext2/3/4 filesystem (with size)
 - txz-in - unpack compressed tarball to directory (RHBZ#580556)
 - txz-out - pack directory into compressed tarball (RHBZ#580556)
 - vfs-label - get the filesystem label
 - vfs-uuid - get the filesystem UUID
 - vgscan - rescan for LVM physical volumes, volume groups and logical volumes
 - write - create a new file
 - zero-device - write zeroes to an entire device

Internals

 - Extend the generator to support testing optional features.
 - Stricter checks on input parameters to many calls (RHBZ#501893 RHBZ#501894)
 - Extend the protocol to support sending arbitrary 8 bit data buffers.
 - Ship 'BUGS' file with releases.  This is a summary of the bugs in
   the Red Hat Bugzilla database.
 - Ship 'RELEASE-NOTES' file with releases, containing release notes.
 - Unify supermin appliance building into one place, in febootstrap 2.7.
 - Fix the protocol code to handle the case where both ends send cancel
   messages at the same time.

Bugs fixed

 - 612178 guestfish: using -m option in conjunction with --listen option causes appliance to die
 - 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077
 - 604691 OCaml bindings are not thread safe
 - 603870 Updates to Spanish translation
 - 602592 [RFE] expose guestfs_close in perl bindings
 - 600977 virt-df -h --csv "Argument .. isn't numeric in printf"
 - 599464 mkfs-b does not support vfat/ntfs
 - 598807 add_cdrom does not work in RHEL 6
 - 598309 part-list and several other cmd failed on libguestfs on RHEL5
 - 597145 guestfish 'help' command should indicate error in exit status with an unknown command
 - 597135 guestfish write-file cmd does not check "size" parameter
 - 597118 A warning should be given in the help of mke2journal-L for the length of label
 - 597112 get-e2uuid should use blkid instead of "tune2fs -l" to get filesystem UUID
 - 596776 virt-inspector doesn't discover modprobe aliases on RHEL 3 guests
 - 596763 Updates to Spanish translation
 - 593292 Updates to Spanish translation
 - 592883 can not edit files on  images mounted with guestmount cmd
 - 592360 Updates to Spanish translation
 - 591250 virt-tar prints "tar_in: tar subcommand failed on directory" if the archive is compressed or not in the right format
 - 591155 virt-tar prints "tar_in: tar subcommand failed on directory" if a disk image is not writable
 - 591142 virt-inspector should give an error for unrecognized disk images
 - 590167 virt-inspector and other virt tools should be able to handle filesystem-on-image VMs
 - 589039 guestfish read-file cmd will cause daemon hang when read large files
 - 588851 guestfs_launch() returns -1, but guestfs_last_error() == NULL
 - 588763 libguestfs should use non-public or link-local addresses for appliance network
 - 588733 Updates to Spanish translation
 - 588651 guestfish 'strings-e' cmd does not give proper error message or hint
 - 587484 lvresize can't reduce size of a volumn
 - 585961 Updates to Spanish translation
 - 585223 ntfsresize should support shrinking filesystems
 - 585222 pvresize should support shrinking PVs
 - 585221 resize2fs should support shrinking filesystems
 - 584038 Updates to Spanish translation
 - 583554 [FEAT] mknod-mode command is needed to set mode explicitly
 - 583242 [RFE] guestfish should print outputs in a suitable base (eg. octal for modes)
 - 582993 guestfish eats words when tab completing case (in)sensitive paths
 - 582953 Misleading help information about lvcreate command
 - 582948 mknod command doesn't make block, character or FIFO devices
 - 582929 mknod doesn't check for invalid mode
 - 582901 guestfish chmod/umask commands do not check invalid mode value
 - 582899 guestfish:sparse is missed from command autocomplete list
 - 582891 [Feature Request] behavior and return value of guestfish umask cmd should be changed
 - 582548 [mknod] umask shouldn't take effect when mode is set explicitly
 - 582484 some guestfish sub commands can not handle special files properly
 - 582252 Updates to Spanish translation
 - 581501 Updates to Spanish translation
 - 580650 virt-inspector warns "No grub default specified at /usr/lib/perl5/Sys/Guestfs/Lib.pm at [...]"
 - 580556 request for libguestfs to support .txz tarballs
 - 580246 tar-in command hangs if uploading more than available space
 - 580016 aug-ls in guestfish does not take augeas variable as argument
 - 579664 guestfish doesn't report error when there is not enough space for image allocation
 - 579608 multiple commands in guestfish can not work for symbol links
 - 579155 libguestfs hangs if qemu doesn't start (in null vmchannel mode)
 - 578407 the prefix '-' in sub-command isn't handled by guestfish in remote control mode
 - 576879 libguestfs protocol loses synchronization if you 'upload' before mounting disks
 - 559963 libguestfs Perl programs do set locale, but still localization doesn't work
 - 521674 Perl modules are unversioned, but should carry version numbers
 - 516096 Race condition in test_swapon_label_0: /sbin/blockdev: BLKRRPART: Device or resource busy
 - 507810 guestfish -i / virt-inspector cannot handle spaces in filenames
 - 502533 Updated Polish translation of libguestfs
 - 501894 Some String parameters should be OptString
 - 501893 String parameters should be checked for != NULL
 - 501889 write-file does not support strings containing ASCII NUL
 - 484986 grub-install fails on virtio disk

Release notes for previous versions of libguestfs
-------------------------------------------------

2009-11-10 : 1.0.78
https://www.redhat.com/archives/libguestfs/2009-November/msg00095.html

2009-09-13 : 1.0.67
https://www.redhat.com/archives/libguestfs/2009-August/msg00281.html

2009-07-23 : 1.0.64
https://www.redhat.com/archives/libguestfs/2009-July/msg00059.html

2009-07-14 : 1.0.59
https://www.redhat.com/archives/libguestfs/2009-July/msg00023.html