Finalize release notes for 1.12 release.
[libguestfs.git] / RELEASE-NOTES
index 91b10a9..cba6c9b 100644 (file)
@@ -1,7 +1,138 @@
-Release notes for libguestfs 1.10.0
+Release notes for libguestfs 1.12.0
 -----------------------------------
 
-[Not complete. Last update commit 872e67ffdf6c7b19782514445d13e8f405e435c1]
+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. ><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.
+
+   - 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\<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
+
+ - 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
@@ -24,6 +155,8 @@ New features
  - 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.
 
@@ -38,10 +171,6 @@ New features
    and allows nearly all log, debug and trace messages to be rerouted
    from stderr.
 
- - A series of protocol fixes has fixed the old bug RHBZ#576879
-   which used to cause errors during the upload command to lose
-   protocol synchronization.
-
  - Greater FHS compliance for temporary files, including using /var/tmp
    for large cached files that should survive reboot (instead of /tmp).
 
@@ -64,7 +193,7 @@ New features
    to completion generate "pulse mode" progress events.  Progress bar
    in guestfish has been updated to display these.
 
- - Publish example code in: C, Perl, Python, OCaml, Ruby.
+ - Publish new example code in: C, Perl, Python, OCaml, Ruby.
 
  - New virt-dhcp-address example program.
 
@@ -88,6 +217,10 @@ New features
  - Inspection can detect 32 bit applications installed in 64 bit
    Windows, running on the WOW64 emulator.
 
+ - A series of protocol fixes has fixed the old bug RHBZ#576879
+   which used to cause errors during the upload command to lose
+   protocol synchronization.
+
  - New logo!
 
 Security
@@ -96,20 +229,27 @@ Security
 
 New APIs
 
-  first-private,
-  get-attach-method,
-  inspect-get-drive-mappings,
+  first-private, get-attach-method, inspect-get-drive-mappings,
   inspect-get-product-variant,
-  inspect-get-windows-current-control-set,
-  next-private,
-  resize2fs-M,
-  set-attach-method,
+  inspect-get-windows-current-control-set, next-private, resize2fs-M,
+  set-attach-method.
 
 Internals
 
  - The 'HACKING' file is obsolete.  The contents have been moved into
    a section of the guestfs(3) manual page.
 
+ - libguestfs-test-tool simplified.  It no longer needs the static
+   binary or tries to construct an ISO.
+
+ - rpcgen-generated files are compiled with -fno-strict-aliasing
+   which should be safer (thanks Matt Booth).
+
+ - virt-resize was rewritten in OCaml.
+
+ - guestfish and other tools tested with valgrind; some memory leaks
+   were fixed.
+
 Bugs fixed
 
  - 502533 Updated Polish translation of libguestfs