X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=RELEASE-NOTES;h=836225b6375c38cd323da1997ee6c07b690d4766;hp=6302e75eb0ef4670e92e20c3fb05fc5ff089abbd;hb=4ac261b3ee3fbc72614623b4ef630a55393b462f;hpb=a54aa3caae32a029a523d293041413d35208e013 diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 6302e75..836225b 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -1,6 +1,590 @@ +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 ---------------------------------- -[updated to commit d75a2bff1264828f02b68a9c8bc7eb2521bd6684] These release notes only cover the differences from the previous stable/dev branch split (1.4.0). For detailed changelogs, please see @@ -9,13 +593,18 @@ 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. + 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. - - Support for LUKS-encrypted guests. + - 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. @@ -31,7 +620,8 @@ New features - guestfish 'hexedit' command for doing binary edits to devices and files. - - Change guestfish -i syntax slightly to allow commands to be specified. + - 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. @@ -46,6 +636,8 @@ New features - 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. @@ -57,43 +649,54 @@ New features - 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-set-filter - - part-to-dev - - upload-offset + 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 @@ -101,14 +704,40 @@ Internals - 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 @@ -116,6 +745,7 @@ Bugs fixed - 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 @@ -328,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/