X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=RELEASE-NOTES;h=836225b6375c38cd323da1997ee6c07b690d4766;hb=f396c93351e34d47e49796c72e25056da47ed96f;hp=600a6edc3aaec288885eb6754526401d277dc0d2;hpb=58667f2be077a4b05c9c640d58fb946b52ef2e88;p=libguestfs.git
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 600a6ed..836225b 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,3 +1,754 @@
+Release notes for libguestfs 1.14.0
+-----------------------------------
+
+These release notes only cover the differences from the previous
+stable/dev branch split (1.12.0). For detailed changelogs, please see
+the git repository, or the ChangeLog file distributed in the tarball.
+
+New features
+
+ Erlang bindings.
+
+ virt-alignment-scan is a new tool to check the alignment of
+ partitions within virtual machines or disk images.
+
+ virt-sparsify is a new tool to make virtual machine disk images
+ sparse.
+
+ virt-sysprep is a new tool to make cloning guests from a template
+ simpler.
+
+ guestfish:
+
+ - New commands setenv, unsetenv, to set environment variables.
+
+ - The input file and line number is printed in error messages.
+
+ - guestfish progress bars are now a "mini-library" used by other
+ tools too.
+
+ guestmount:
+
+ - the --live option (for access to live VMs) now works.
+
+ virt-cat:
+
+ - virt-cat can now handle Windows paths and drive letters (RHBZ#693359).
+
+ virt-filesystems:
+
+ - the MBR partition type byte is displayed in --long output.
+
+ virt-make-fs:
+
+ - virt-make-fs now sets the MBR partition type byte correctly,
+ improving compatibility with Windows (RHBZ#746295).
+
+ virt-resize:
+
+ - virt-resize can now work with guests using extended and logical
+ partitions, in particular Ubuntu guests.
+
+ - virt-resize can now align the first partition of Windows guests,
+ improving performance. The new virt-resize --align-first option
+ controls this behaviour.
+
+ - The virt-resize --machine-readable flag makes it possible to use
+ virt-resize from other programs.
+
+ - Partitions are now aligned to 128 sectors (usually 64K) by
+ default. This improves efficiency on high-end storage. The new
+ virt-resize --alignment option allows the alignment to be
+ adjusted.
+
+ virt-win-reg:
+
+ - The syntax for deleting registry keys and values is documented
+ in the man page (RHBZ#737944).
+
+ library:
+
+ - non-printing characters are escaped correctly in debug output.
+
+ - GUESTFS_EVENT_ENTER is a new event type generated whenever a
+ libguestfs function is called.
+
+ - the library contains systemtap/DTrace probes.
+
+ - the library can now be compiled without hivex (RHBZ#723474).
+
+ inspection:
+
+ - Improve detection of Windows disks.
+
+ - Adds support for:
+ ttylinux - a minimal Linux
+ Mageia (thanks Michael Scherer)
+ OpenSUSE and zypper (thanks Michael Scherer, Vincent Untz)
+ Ubuntu logos (thanks Michael Scherer)
+ NetBSD and pkgsrc (thanks Michael Scherer)
+
+ - Handle some guest types that use /dev/root in /etc/fstab.
+
+ - Fix handling of guests with > 26 disks (thanks Matthew Booth)
+
+ - Add support for guests with HP Smart Array disks (thanks Matthew Booth)
+
+ febootstrap:
+
+ - FEBOOTSTRAP_KERNEL, FEBOOTSTRAP_MODULES environment variables can
+ be set in order to choose which kernel to use for the appliance.
+
+ misc:
+
+ - ArchLinux support now working with Linux 3.0 (thanks Erik Nolte)
+
+ - libvirt disks marked are now added readonly when
+ using the virt-tools '-d' option.
+
+Security
+
+ (no security problems were found or fixed in this release)
+
+New APIs
+
+ compress-out, compress-device-out, copy-device-to-device,
+ copy-device-to-file, copy-file-to-device, copy-file-to-file,
+ get-smp, part-to-partnum, set-smp.
+
+ The mount API no longer implicitly adds -o sync,noatime options.
+
+ add-domain has a new 'readonlydisk' optional parameter to control
+ how disks are handled.
+
+Internals
+
+ - Coverity was run on the source and more bugs were identified and
+ fixed.
+
+ - PCRE library is now required to build libguestfs.
+
+ - APIC is now the default for the appliance. You can also enable
+ SMP support in the appliance.
+
+ - OCaml bindings now correctly acquire GC lock during callbacks.
+
+ - Out of tree builds should now work correctly (thanks Hilko Bengen).
+
+ - ./configure --with-extra="..." can be used by packagers to set
+ the extra version string.
+
+ - zero, zero-device APIs: if the blocks already contain zeroes,
+ don't write zeroes, so that we don't unnecessarily make the
+ underlying storage non-sparse.
+
+ - is-zero, is-zero-device APIs: optimize these so zero detection is
+ faster.
+
+Bugs fixed
+
+ - 748266 libguestfs should detect versions of qemu which require -machine pc option
+ - 747290 libguestfs ignores in libvirt XML
+ - 747287 Misleading error message when permission denied opening a disk image
+ - 746295 virt-make-fs doesn't set partition ID
+ - 744795 guestmount --live is not usable
+ - 737944 virt-win-reg hyphen (delete key) syntax may be wrong, and is not documented
+ - 733297 ruby event handlers fail with "exception in callback: wrong argument type Proc (expected Data)"
+ - 731744 libguestfs should escape special/non-printing characters in debug output
+ - 729887 appliance crashes running aug_init with flags=4
+ - 729075 libguestfs confuses Hp_recovery partition with Windows root filesystem
+ - 727178 error: luks_open: cryptsetup: error while loading shared libraries: libfipscheck.so.1: cannot open shared object file: No such file or directory
+ - 726739 libguestfs: error: aug_get: no matching node, trying to find hostname
+ - 723474 If hivex and/or pcre not installed, libguestfs fails to compile
+ - 693359 virt-cat and virt-edit don't handle case sensitive NTFS paths properly
+ - 678231 virt-inspector reports unknown filesystem UUID
+ - 671082 libguestfs does not work with kernel-rt
+ - 666578 libguestfs: unknown filesystem label SWAP-sda2
+ - 642821 virt-resize falls over on a disk image with a logical swap partition
+
+
+
+Release notes for libguestfs 1.12.0
+-----------------------------------
+
+These release notes only cover the differences from the previous
+stable/dev branch split (1.10.0). For detailed changelogs, please see
+the git repository, or the ChangeLog file distributed in the tarball.
+
+New features
+
+ guestfish:
+
+ - guestfish strings can use escapes,
+ eg. > write /foo "line 1\nline 2\n"
+
+ - guestfish write-append command can be used to append to files.
+
+ - Long-running file uploads and downloads can be cancelled through the
+ API or by hitting ^C in guestfish.
+
+ - New guestfish "display" command for displaying graphical files
+ inside guests.
+
+ - In guestfish, tab completion now works on /dev/mapper devices.
+
+ virt-inspector:
+
+ - Inspection API can get an icon or logo for certain guests.
+
+ - virt-inspector includes the logo and hostname for certain guests.
+
+ - virt-inspector can now get the version and release numbers for RPM
+ packages.
+
+ - CentOS and Scientific Linux are now treated as separate distros by
+ the inspection API.
+
+ virt-resize:
+
+ - virt-resize can now handle btrfs.
+
+ - New virt-resize --ntfsresize-force option allows Windows VMs to be
+ resized multiple times.
+
+ other virt tools:
+
+ - guestfish, guestmount, virt-cat, virt-df, virt-edit, virt-filesystems,
+ virt-inspector, virt-ls and virt-rescue now allow you to use
+ "-d UUID" option to specify a guest by UUID. This makes them more
+ robust to use from other programs.
+
+ - virt-ls -lR option allows complex file iteration and guest analysis.
+
+ - virt-win-reg supports HKEY_USERS\ and HKEY_USERS\.
+
+ - virt-win-reg new option --unsafe-printable-strings allows printable
+ strings to be displayed in the output (unsafely: read the documentation
+ before using).
+
+ - virt-edit has been rewritten in C.
+
+ API and language bindings:
+
+ - Java is now completely supported.
+ See http://libguestfs.org/guestfs-java.3.html
+
+ - JRuby is supported via the Java bindings.
+
+ - guestfs_close now appears in trace messages.
+
+ - Python binding adds explicit g.close() method.
+
+ - Python programs can now use the new event API.
+
+ - Python GIL is released during libguestfs calls, allowing multithreaded
+ Python programs to work properly.
+
+ - 9pfs (Plan 9 filesystems exported from the host) are now supported.
+
+ - Add -DGUESTFS_WARN_DEPRECATED=1 to warn about use of deprecated API
+ functions in C programs.
+
+ - New manual page guestfs-recipes(1) with recipes.
+
+ - mkfs-opts can now set inode size and sector size on created filesystems
+ (thanks Nikita Menkovich).
+
+ - guestfs_last_errno is now accessible from OCaml (as g#last_errno ()).
+
+Security
+
+ - optargs_bitmask is checked even for calls that have no optional
+ arguments. This closes a possible exploit in the daemon from
+ untrusted callers.
+
+New APIs
+
+ btrfs-filesystem-resize, get-pgroup, inspect-get-icon, is-zero,
+ is-zero-device, list-9p, list-dm-devices, mount-9p, ntfsresize-opts,
+ set-pgroup, write-append
+
+Internals
+
+ - Coverity (a static analysis tool) was run across the codebase and
+ many fixes were made.
+
+ - Generator can handle functions that return RBufferOut and have
+ optional arguments.
+
+ - Compatible with Perl 5.14.
+
+ - Compatible with gcc 4.6.
+
+ - Perform safety checks on QEMU.
+
+ - C API tests can now fully test calls that have optional arguments.
+
+ - Use ./configure --enable-install-daemon to install /usr/sbin/guestfsd.
+
+ - po-docs directory now covers all man pages.
+
+ - stderr from qemu process is now captured by the event subsystem.
+
+Bugs fixed
+
+ - 602997 part-get-bootable gives wrong result with an unordered part layout
+ - 661280 virt-rescue: panic when shutting down: "/sbin/reboot: No such file or directory"
+ - 700369 qemu-system-x86_64 says 'KVM not supported for this target'
+ - 705200 guestmount attempt results in access denied
+ - 714981 'list-filesystems' does not know about virtio 9p filesystems or detect existing mounts
+ - 717786 libguestfs python bindings should have an explicit close call
+ - 721275 virt-resize in F16 should support btrfs
+
+
+Release notes for libguestfs 1.10.0
+-----------------------------------
+
+These release notes only cover the differences from the previous
+stable/dev branch split (1.8.0). For detailed changelogs, please see
+the git repository, or the ChangeLog file distributed in the tarball.
+
+New features
+
+ - libguestfs and tools can be used against live virtual machines.
+ See the 'guestfish --live' and 'guestmount --live' options, and (for
+ the low-level interface) the new APIs set-attach-method and
+ get-attach-method.
+
+ - New virt tools:
+ virt-copy-in, virt-copy-out, virt-tar-in, virt-tar-out.
+
+ - libguestfs can get the drive letter mappings for Windows guests.
+
+ - virt-inspector displays drive letter mappings for Windows guests.
+
+ - Drive letters can now be used in virt-edit and guestfish programs
+ when operating on Windows guests.
+
+ - virt-resize now works on 32 bit hosts.
+
+ - You can now inspect the install disks and live CDs of many different
+ operating systems.
+
+ - guestfish is now a single file.
+
+ - 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).
+
+ - New C API test type 'InitScratchFS' makes the tests run a little
+ more quickly.
+
+ - Excluded packages in the appliance are now listed in a separate
+ file appliance/excludelist.in, and can be customized per-distro.
+
+Bugs fixed
+
+ - 663407 readlink and readlinklist returns /sysroot/ in some paths
+ - 661280 virt-rescue: panic when shutting down: "/sbin/reboot: No such file or directory"
+ - 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 ' 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
----------------------------------
@@ -207,3 +958,6 @@ 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
+
+2009-04-01 : Initial announcement
+http://rwmj.wordpress.com/2009/04/01/libguestfs-access-and-modify-virtual-machine-disk-images/