Update release notes.
[libguestfs.git] / RELEASE-NOTES
index c7f9c30..9fb8cd2 100644 (file)
@@ -1,7 +1,144 @@
-Release notes for libguestfs 1.10.0
+Release notes for libguestfs 1.12.0
 -----------------------------------
 
-[Not complete. Last update commit e751293e10d5ecbb2ef43a61b9c153a1fc4f0304]
+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.
+
+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
@@ -9,8 +146,6 @@ the git repository, or the ChangeLog file distributed in the tarball.
 
 New features
 
- - [NOT DONE] --ro is now the default for guestfish.
-
  - 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
@@ -19,23 +154,35 @@ New features
  - 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 <! cmd which executes a shell cmd and inlines the result.
 
+ - guestfish, guestmount, virt-rescue now all support --ro and --rw
+   options, and the default for this can be chosen via a configuration
+   file (/etc/libguestfs-tools.conf).
+
  - New event API allows more than one callback to be registered for
    each event, makes it possible to call the API from other languages,
    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).
 
+ - guestfish, guestmount -m option allows mount options to be passed
+   through to the underlying filesystem.
+
  - mkfs-opts allows filesystem features to be specified.
 
  - More intelligent handling of mountpoints, allowing mkmountpoint, mount
@@ -44,12 +191,24 @@ New features
  - Trace messages are prefixed with a distinct string, allowing them to
    be easily 'grepped' out from debug output.
 
- - Publish example code in: C, Perl, Python, OCaml, Ruby.
+ - guestfs_launch (guestfish 'run' command) now produces progress
+   messages (a guestfish progress bar) if it takes longer than 5
+   seconds to run.
+
+ - Several long-running commands where we are unable to estimate time
+   to completion generate "pulse mode" progress events.  Progress bar
+   in guestfish has been updated to display these.
+
+ - Publish new example code in: C, Perl, Python, OCaml, Ruby.
+
+ - New virt-dhcp-address example program.
 
  - The Java and Ruby bindings have been improved greatly.
 
  - Perl includes a way to get the errno of the last error.
 
+ - Python bindings now compatible with rpyc (thanks Erez Shinan).
+
  - Transifex is now being used to manage translations.
    http://www.transifex.net/projects/p/libguestfs/
 
@@ -61,24 +220,42 @@ New features
  - Inspection can now tell the difference between Windows 2008 Server
    and Windows 7.
 
+ - 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
 
+  [none]
+
 New APIs
 
-  first-private,
-  get-attach-method,
+  first-private, get-attach-method, inspect-get-drive-mappings,
   inspect-get-product-variant,
-  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
@@ -92,9 +269,14 @@ Bugs fixed
  - 668112 virt-filesystems command fails on guest with corrupt filesystem label
  - 668574 guestfish -i is trying to mount all mounts from /etc/fstab and fails with an error when device doesn't exists
  - 673479 Add a grep-friendly string to LIBGUESTFS_TRACE output
+ - 674130 Inspection code fails for Windows guest with two disks
  - 682756 libguestfs trace segfaults when list-filesystems returns error
  - 682979 libguestfs incorrectly detects Red Hat desktop as 'redhat-based' instead of 'redhat'
  - 690819 mkfs fails creating a filesytem on a disk device when using a disk with 'ide' interface
+ - 691389 Extended attributes don't work over guestmount (FUSE)
+ - 691724 virt-inspector reports unknown filesystem /dev/vda1
+ - 692545 inspect-list-applications fails to detect 32 bit apps installed under WOW64 emulator on 64 bit Windows
+ - 693324 sfdisk's python interface only accepts lists of type 'list' for the lines parameter
 
 Release notes for libguestfs 1.8.0
 ----------------------------------