virt-sysprep: Further TODO items (thanks Marko Myllynen, James Antill).
[libguestfs.git] / RELEASE-NOTES
index 2c27642..81a1e1c 100644 (file)
@@ -1,7 +1,105 @@
-Release notes for libguestfs 1.12.0
+Release notes for libguestfs 1.14.0
 -----------------------------------
 
-LAST UPDATED TO COMMIT 1e9e351f178dcb425c4796c90fe7c8c5c250d100
+UPDATED TO COMMIT e59e35708b4ad66c99f908c5226cb232931e1791
+
+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-sparsify: A new tool to make virtual machine disk images sparse.
+
+  virt-alignment-scan: A new tool to check the alignment of partitions
+  within virtual machines or disk images.
+
+  inspection:
+
+   - Improve detection of Windows disks.
+
+   - Add support for ttylinux (a minimal Linux).
+
+   - Handle some guest types that use /dev/root in /etc/fstab.
+
+  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.
+
+  febootstrap:
+
+   - FEBOOTSTRAP_KERNEL, FEBOOTSTRAP_MODULES environment variables can
+     be set in order to choose which kernel to use for the appliance.
+
+  virt-resize:
+
+   - The virt-resize --machine-readable flag makes it possible to use
+     virt-resize from other programs.
+
+  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.
+
+  misc:
+
+Security
+
+New APIs
+
+  The mount API no longer implicitly adds -o sync,noatime options.
+
+  compress-out, compress-device-out, set-smp, get-smp
+
+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
+
+            ./bugs-in-changelog.sh 1.12.0..
+
+ - 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
+ - 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
+ - 678231 virt-inspector reports unknown filesystem UUID
+ - 671082 libguestfs does not work with kernel-rt
+ - 666578 libguestfs: unknown filesystem label SWAP-sda2
+
+
+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,66 +107,84 @@ 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"
+
+   - 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.
 
- virt-win-reg supports HKEY_USERS\<SID> and HKEY_USERS\<username>.
  - In guestfish, tab completion now works on /dev/mapper devices.
 
- - virt-win-reg new option --unsafe-printable-strings allows printable
-   strings to be displayed in the output (unsafely: read the documentation
-   before using).
+  virt-inspector:
 
- - Inspection API can get an icon or logo for certain guests.
  - Inspection API can get an icon or logo for certain guests.
 
- - virt-inspector includes the logo and hostname 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.
  - virt-inspector can now get the version and release numbers for RPM
+     packages.
 
- - virt-edit has been rewritten in C.
+   - CentOS and Scientific Linux are now treated as separate distros by
+     the inspection API.
 
- - 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-resize:
 
- - virt-resize can now handle btrfs.
  - virt-resize can now handle btrfs.
 
- - guestfish strings can use escapes, eg. ><fs> write /foo "line 1\nline 2\n"
+   - New virt-resize --ntfsresize-force option allows Windows VMs to be
+     resized multiple times.
 
- - guestfish write-append command can be used to append to files.
+  other virt tools:
 
- - guestfs_close now appears in trace messages.
+   - 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.
 
- - Long-running file uploads and downloads can be cancelled through the
-   API or by hitting ^C in guestfish.
+   - virt-ls -lR option allows complex file iteration and guest analysis.
 
- Python binding adds explicit g.close() method.
  - virt-win-reg supports HKEY_USERS\<SID> and HKEY_USERS\<username>.
 
- - Python programs can now use the new event API.
+   - virt-win-reg new option --unsafe-printable-strings allows printable
+     strings to be displayed in the output (unsafely: read the documentation
+     before using).
 
- - Python GIL is released during libguestfs calls, allowing multithreaded
-   Python programs to work properly.
+   - virt-edit has been rewritten in C.
 
- - New guestfish "display" command for displaying graphical files
-   inside guests.
+  API and language bindings:
 
- - 9pfs (Plan 9 filesystems exported from the host) are now supported.
+   - Java is now completely supported.
+     See http://libguestfs.org/guestfs-java.3.html
 
- - Add -DGUESTFS_WARN_DEPRECATED=1 to warn about use of deprecated API
-   functions in C programs.
+   - JRuby is supported via the Java bindings.
 
- New manual page guestfs-recipes(1) with recipes.
  - guestfs_close now appears in trace messages.
 
- - CentOS and Scientific Linux are now treated as separate distros by
-   the inspection API.
+   - Python binding adds explicit g.close() method.
 
- - mkfs-opts can now set inode size and sector size on created filesystems
-   (thanks Nikita Menkovich).
+   - Python programs can now use the new event API.
 
- - In guestfish, tab completion now works on /dev/mapper devices.
+   - Python GIL is released during libguestfs calls, allowing multithreaded
+     Python programs to work properly.
 
- - 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.
+
+   - 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
 
@@ -78,17 +194,9 @@ Security
 
 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
+  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
 
@@ -108,9 +216,11 @@ Internals
 
  - Use ./configure --enable-install-daemon to install /usr/sbin/guestfsd.
 
-Bugs fixed
+ - po-docs directory now covers all man pages.
+
+ - stderr from qemu process is now captured by the event subsystem.
 
-  ./bugs-in-changelog.sh 1.10.0.. | sort -n
+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"
@@ -118,6 +228,7 @@ Bugs fixed
  - 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