Update release notes.
[libguestfs.git] / RELEASE-NOTES
index c9c6ae6..84e6c52 100644 (file)
+Release notes for libguestfs 1.12.0
+-----------------------------------
+
+LAST UPDATED TO COMMIT f91c6f217facc88b60225769c61604a8b8c7169b
+
+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
+
+ - 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).
+
+ - 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.
+
+ - virt-edit has been rewritten in C.
+
+ - 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.
+
+ - 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.
+
+ - New guestfish "display" command for displaying graphical files
+   inside guests.
+
+ - 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.
+
+ - CentOS and Scientific Linux are now treated as separate distros by
+   the inspection API.
+
+ - mkfs-opts can now set inode size and sector size on created filesystems
+   (thanks Nikita Menkovich).
+
+ - In guestfish, tab completion now works on /dev/mapper devices.
+
+ - New virt-resize --ntfsresize-force option allows Windows VMs to be
+   resized multiple times.
+
+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
+
+  inspect-get-icon
+  is-zero
+  is-zero-device
+  list-9p
+  list-dm-devices
+  mount-9p
+  ntfsresize-opts
+
+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.
+
+Bugs fixed
+
+  ./bugs-in-changelog.sh 1.10.0.. | sort -n
+
+ - 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
+
+
+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 <! 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.
+
+ - 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
+   and umount-all commands to work together properly.
+
+ - Trace messages are prefixed with a distinct string, allowing them to
+   be easily 'grepped' out from debug output.
+
+ - 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/
+
+ - Inspection now supports Red Hat Desktop, Slackware distributions.
+
+ - Inspection no longer fails for Windows guests that have two or
+   more disks.
+
+ - 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, inspect-get-drive-mappings,
+  inspect-get-product-variant,
+  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
+ - 576879 libguestfs protocol loses synchronization if you 'upload' before mounting disks
+ - 599503 document that mkmountpoint and umount-all cannot be mixed
+ - 617440 guestfish: fails to tilde expand '~' when the $HOME env is unset
+ - 664558 RFE: Allow to set log callback in Ruby bindings
+ - 665358 Punjabi Translation Completed (pa_IN)
+ - 666577 libguestfs: unknown filesystem /dev/fd0
+ - 667610 Multiple bugs, memory leaks in libguestfs ruby bindings
+ - 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
 ----------------------------------
 
 Release notes for libguestfs 1.8.0
 ----------------------------------
 
-Updated to commit 0b2a3bd8404a72a3b7e99e330143c26bf42d458a (1.7.16).
-
 These release notes only cover the differences from the previous
 stable/dev branch split (1.6.0).  For detailed changelogs, please see
 the git repository, or the ChangeLog file distributed in the tarball.
 
 New features
 
 These release notes only cover the differences from the previous
 stable/dev branch split (1.6.0).  For detailed changelogs, please see
 the git repository, or the ChangeLog file distributed in the tarball.
 
 New features
 
+ - Support and packages for Debian and Ubuntu.
+
+ - Daily builds from git repository on Debian and Ubuntu to reduce risk
+   of regressions.
+
+ - Port to ArchLinux 'pacman' (thanks Thomas S Hatch).
+
  - The following tools have been rewritten in C (originally in Perl):
 
      . virt-cat
  - The following tools have been rewritten in C (originally in Perl):
 
      . virt-cat
@@ -54,7 +307,17 @@ New features
  - guestfs_last_errno allows you to retrieve the errno from the
    daemon, correctly translated to the local operating system.
 
  - guestfs_last_errno allows you to retrieve the errno from the
    daemon, correctly translated to the local operating system.
 
- - Some functions now support optional parameters.
+ - Functions can now have optional parameters.
+
+ - Progress bars and progress notifications can now happen for upload
+   commands.
+
+ - Appliance builder more careful about not leaving temporary files
+   around in /tmp.
+
+ - getfattr/setfattr commands added to virt-rescue.
+
+ - ROADMAP file covers roadmap and goals for future releases.
 
 Security
 
 
 Security
 
@@ -65,15 +328,20 @@ Security
  - Inspection code is more careful about avoiding very large files
    from guests which might previously have caused a denial of service.
 
  - Inspection code is more careful about avoiding very large files
    from guests which might previously have caused a denial of service.
 
+ - FUSE calls into guestmount are now traced when using guestmount -x.
+
 New APIs
 
  - add-domain
  - add-drive-opts
 New APIs
 
  - add-domain
  - add-drive-opts
+ - getxattr
  - inspect-get-hostname
  - inspect-get-package-format
  - inspect-get-package-management
  - inspect-get-roots
  - inspect-list-applications
  - inspect-get-hostname
  - inspect-get-package-format
  - inspect-get-package-management
  - inspect-get-roots
  - inspect-list-applications
+ - lgetxattr
+ - mkfs-opts
 
 Internals
 
 
 Internals
 
@@ -104,8 +372,16 @@ Internals
 
  - Old ocaml-viewer program removed (use guestfs-browser instead).
 
 
  - 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
 
 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
  - 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
@@ -486,3 +762,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-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/