out of tree build: erlang
[libguestfs.git] / RELEASE-NOTES
index 8174f67..836225b 100644 (file)
@@ -1,7 +1,175 @@
-Release notes for libguestfs 1.12.0
+Release notes for libguestfs 1.14.0
 -----------------------------------
 
-LAST UPDATED TO COMMIT 76bd81820f50a390b7e853d65f41b29a37e63f43
+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 <readonly/> 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 <readonly/> 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 <readonly/> 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
@@ -9,61 +177,96 @@ the git repository, or the ChangeLog file distributed in the tarball.
 
 New features
 
- - virt-ls -lR option allows complex file iteration and guest analysis.
+  guestfish:
+
+   - guestfish strings can use escapes,
+     eg. ><fs> write /foo "line 1\nline 2\n"
 
- virt-win-reg supports HKEY_USERS\<SID> and HKEY_USERS\<username>.
  - guestfish write-append command can be used to append to files.
 
- - virt-win-reg new option --unsafe-printable-strings allows printable
-   strings to be displayed in the output (unsafely: read the documentation
-   before using).
+   - Long-running file uploads and downloads can be cancelled through the
+     API or by hitting ^C in guestfish.
 
- - Inspection API can get an icon or logo for certain guests.
+   - New guestfish "display" command for displaying graphical files
+     inside guests.
 
- virt-inspector includes the logo and hostname for certain guests.
  - In guestfish, tab completion now works on /dev/mapper devices.
 
- - virt-inspector can now get the version and release numbers for RPM
-   packages.
+  virt-inspector:
 
- virt-edit has been rewritten in C.
  - Inspection API can get an icon or logo for certain guests.
 
- - 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-inspector includes the logo and hostname for certain guests.
 
- - guestfs_close now appears in trace messages.
+   - virt-inspector can now get the version and release numbers for RPM
+     packages.
 
- - Python binding adds explicit g.close() method.
+   - CentOS and Scientific Linux are now treated as separate distros by
+     the inspection API.
 
- - Python programs can now use the new event API.
+  virt-resize:
 
- - Python GIL is released during libguestfs calls, allowing multithreaded
-   Python programs to work properly.
+   - virt-resize can now handle btrfs.
 
- - New guestfish "display" command for displaying graphical files
-   inside guests.
+   - New virt-resize --ntfsresize-force option allows Windows VMs to be
+     resized multiple times.
 
- - 9pfs (Plan 9 filesystems exported from the host) are now supported.
+  other virt tools:
 
- - Add -DGUESTFS_WARN_DEPRECATED=1 to warn about use of deprecated API
-   functions in C programs.
+   - 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.
 
- New manual page guestfs-recipes(1) with recipes.
  - virt-ls -lR option allows complex file iteration and guest analysis.
 
- - CentOS and Scientific Linux are now treated as separate distros by
-   the inspection API.
+   - virt-win-reg supports HKEY_USERS\<SID> and HKEY_USERS\<username>.
+
+   - 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
 
-  [none]
+ - 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
 
-  inspect-get-icon
-  is-zero
-  is-zero-device
-  list-9p
-  mount-9p
+  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
 
@@ -77,15 +280,25 @@ Internals
 
  - Compatible with gcc 4.6.
 
-Bugs fixed
+ - 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.
 
-  ./bugs-in-changelog.sh 1.10.0.. | sort -n
+ - 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