# Releases

Here is the list of official releases, it is also possible to just use the GIT version or snapshot, contact the mailing list and check the GIT log to gauge progress.

### 1.0.6: June 3 2013

- Features:
  Move VirtualBox driver into libvirtd (Daniel P. Berrange),
  Support for static routes on a virtual bridge (Gene Czarcinski),
  Various improvement for hostdev SCSI support (Osier Yang and Han Cheng),
  Switch to VIR_STRDUP and VIR_STRNDUP (Michal Privoznik),
  Various cleanups and improvement in Xen and LXC drivers (Daniel P. Berrange)
- Documentation:
  Document that runtime changes may be lost after S4 suspend (Jiri Denemark),
  domain: /dev/urandom isn't a valid rng patch (Cole Robinson),
  formatdomain: fix links in the table of contents (Ján Tomko),
  add another user (Eric Blake),
  datatypes: fix virGetStoragePool's comment (Ján Tomko),
  Expand documentation for LXC driver (Daniel P. Berrange),
  Fix/update syntax in Sysinfo/SMBIOS description (John Ferlan),
  Update formatdomain for lifecycle events (John Ferlan),
  Fix the wrong links in secret documentation (Osier Yang),
  Add the missed usage type 'iscsi' (Osier Yang),
  Add docs about cgroups layout and usage (Daniel P. Berrange),
  Point users to Virt-Viewer MSI installers for Windows builds (Daniel P. Berrange),
  Fix namespace bugs in API docs, todo page & hv support page (Daniel P. Berrange),
  Fix a few more docs XSL bugs related to the TOC (Daniel P. Berrange),
  Fix docs generator regression in previous commit (Daniel P. Berrange),
  Fix multiple formatting problems in HTML docs (Daniel P. Berrange),
  fix 'since' for socket path generation (Ján Tomko)
- Portability:
  vbox: define DYNLIB_NAME for kFreeBSD (Guido Günther),
  build: skip qemu in tests when !WITH_QEMU (Eric Blake),
  build: use correct rpc.h for virtlockd (Eric Blake),
  build: work around cygwin header bug (Eric Blake),
  build: cast [ug]id_t when printing (Eric Blake),
  build: port qemu to cygwin (Eric Blake),
  build: use correct rpc.h for lockd (Eric Blake),
  build: work around broken sasl header (Eric Blake),
  build: fix build without libvirtd (Eric Blake),
  build: fix build with newer gnutls (Eric Blake),
  build: fix build with older gcc (Eric Blake),
  qemu: Fix build without gnutls (Jiri Denemark),
  spec: Build vbox packages only for x86 architectures (Viktor Mihajlovski),
  Add missing c-ctype.h to virfile.c (Daniel P. Berrange),
  test: fix VPATH fchosttest failure (Viktor Mihajlovski),
  libxl: fix build with Xen4.3 (Jim Fehlig),
  build: Fix check-driverimpls in VPATH (Jiri Denemark),
  util: Fix build without devmapper (Jiri Denemark),
  FreeBSD: disable buggy -fstack-protector-all (Roman Bogorodskiy),
  build: avoid gcrypt deprecation warnings (Roman Bogorodskiy),
  build: avoid shadowed variable in fdstreamtest (Eric Blake),
  fix virNetDevSetMAC and virNetDevExists on BSD (Roman Bogorodskiy),
  Disable some URI tests on older libxml2 (Daniel P. Berrange),
  Fix build of python bindings on Python 2.4 (Daniel P. Berrange),
  build: fix build with old polkit0 (Jim Fehlig),
  Fixup rpcgen code on kFreeBSD too (Guido Günther),
  build: avoid non-portable cast of pthread_t (Eric Blake),
  build: Fix build when WITH_HAL is defined (Jim Fehlig),
  build: fix mingw build of vbox (Eric Blake),
  build: fix mingw build of virprocess.c (Eric Blake)
- Bug Fixes:
  conf: Generate address for scsi host device automatically (Osier Yang),
  qemu: prevent termination of guests w/hostdev on driver reconnect (Laine Stump),
  qemu: escape literal IPv6 address in NBD migration (Ján Tomko),
  Check for existence of interface prior to setting terminate flag (John Ferlan),
  Resolve memory leak found by valgrind (John Ferlan),
  qemu: snapshot: Don't kill access to disk if snapshot creation fails (Peter Krempa),
  virsh: migrate: Don't disallow --p2p and --migrateuri (Cole Robinson),
  qemu: Don't report error on successful media eject (Cole Robinson),
  qemu: save domain state to XML after reboot (Sergey Fionov),
  esx: Fix dynamic VI object type detection (Matthias Bolte),
  storage_conf: Don't leak "uuid" in virStoragePoolDefParseAuthCephx (Osier Yang),
  storage_conf: Fix the wrong error message (Osier Yang),
  Fix blkdeviotune for shutoff domain (Martin Kletzander),
  virsh: Fix regression of vol-resize (Osier Yang),
  xen: Resolve Coverity FORWARD_NULL issue (John Ferlan),
  qemu: fix NBD migration to hosts with IPv6 enabled (Ján Tomko),
  conf: fix use after free in virChrdevOpen (Ján Tomko),
  virNetMessageSaveError: Fix copy and paste error (Michal Privoznik),
  virNWFilterHashTablePut: Free the correct variable (Michal Privoznik),
  umlConnectTapDevice: initialize tapfd variable (Michal Privoznik),
  remote: fix dom->id after virDomainCreateWithFlags (Marek Marczykowski),
  virsh: Fix virDomainFree for NULL domain in blkdeviotune (Martin Kletzander),
  virNetDevTapCreate: Fail on systems not supporting IFF_MULTI_QUEUE (Michal Privoznik),
  cgroup: be robust against cgroup movement races (Eric Blake),
  shunloadtest: Resolve Coverity CHECKED_RETURN error (John Ferlan),
  xencapstest: Resolve Coverity CHECKED_RETURN error (John Ferlan),
  qemu: fix a typo in qemuAddSharedDevice (Guannan Ren),
  qemuDomainChangeEjectableMedia: Unlock domain while waiting for event (Michal Privoznik),
  LXC: fix memory leak in virLXCControllerSetupDevPTS (Gao feng),
  LXC: remove unnecessary check on root filesystem (Gao feng),
  esx: Fix error reporting in esxVI_LookupManagedObjectHelper (Matthias Bolte),
  Fix failure to detect missing cgroup partitions (Daniel P. Berrange),
  libxl: fix leaking libxl events (Jim Fehlig),
  qemu: Fix cgroup handling when setting VCPU BW (Martin Kletzander),
  Don't mount selinux fs in LXC if selinux is disabled (Daniel P. Berrange),
  Fix LXC startup when /var/run is an absolute symlink (Daniel P. Berrange),
  conf: Fix the bug of disk->copy_on_read formating (Osier Yang),
  daemon: fix leak after listing all volumes (Ján Tomko),
  qemu: Fix crash in migration of graphics-less guests. (Viktor Mihajlovski),
  Adjust improperly formatted <sysinfo> uuid (John Ferlan),
  storage: Ensure 'qemu-img resize' size arg is a 512 multiple (Christophe Fergeau),
  spec: fix outdated comment (Eric Blake),
  Forbid use of ':' in RBD pool names (Daniel P. Berrange),
  qemu: fix bad free (Eric Blake),
  Fix starting domains when kernel has no cgroups support (Jim Fehlig),
  Fix error handling of readdir() in virFileLoopDeviceOpen (Daniel P. Berrange),
  util: Fix regression introduced by commit 4360a098441 (Osier Yang),
  util: Fix regression of wwn reading (Osier Yang),
  build: fix use of mmap (Eric Blake),
  conf: don't crash on a tpm device with no backends (Ján Tomko),
  don't mention disk controllers in generic controller errors (Ján Tomko),
  iscsi: don't leak portal string when starting a pool (Ján Tomko),
  virsh: Resolve Coverity 'MISSING_BREAK' (John Ferlan),
  lxc: Coverity false positive USE_AFTER_FREE (John Ferlan),
  Don't allow renaming of domains by the backdoor (Daniel P. Berrange),
  qemu: fix stupid typos in VFIO cgroup setup/teardown (Laine Stump),
  Ignore 'uri' parameter in lockd driver (Daniel P. Berrange),
  network: fix network driver startup for qemu:///session (Laine Stump),
  Fix warning about unsupported cookie flags in QEMU driver (Daniel P. Berrange),
  Fix release of resources with lockd plugin (Daniel P. Berrange),
  Fix F_DUPFD_CLOEXEC operation args (Daniel P. Berrange),
  build: fix make rpm failure (Laine Stump),
  Fix potential use of undefined variable in remote dispatch code (Daniel P. Berrange),
  virInitctlRequest: unbreak make syntax check (Guido Günther),
  virInitctlRequest: unbreak make syntax check (Guido Günther)
- Improvements:
  nodedev_hal: Modernize the function's style (Osier Yang),
  Introduce virFilePrintf() as a portable fprintf() (Daniel P. Berrange),
  qemu: migration: error if tunnelled + storage specified (Cole Robinson),
  qemu: migration: Improve p2p error if we can't open conn (Cole Robinson),
  storage_conf: Use uid_t/gid_t instead of int to cast the value (Osier Yang),
  storage_conf: Improve error messages (Osier Yang),
  storage_conf: Use NULLSTR instead (Osier Yang),
  storage_conf: Improve the memory deallocation of virStorageVolDefParseXML (Osier Yang),
  storage_conf: Improve the memory deallocation of pool def parsing (Osier Yang),
  syntax: fix broken error message in previous patch (Eric Blake),
  util: fix the VIR_STRDUP when src is NULL (yangdongsheng),
  Adapt to new VIR_STRNDUP behavior (Michal Privoznik),
  virStrndup: Accept negative values as string length (Michal Privoznik),
  storage_conf: Fix the error type (Osier Yang),
  storage_conf: Put "%s" at the same line with error type (Osier Yang),
  storage_conf: Use xmlStrEqual instead of STREQ (Osier Yang),
  storage_conf: Remove the useless casting (Osier Yang),
  syntax-check: ignore all quoted strings in bracket-spacing (Ján Tomko),
  nwfilter: Remove error report in virNWFilterDHCPSnoopEnd (Stefan Berger),
  cgroups: Do not enforce nonexistent controllers (Viktor Mihajlovski),
  Introduce syntax-check rule to prefer VIR_STRDUP over strdup (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in tools/virsh.c (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/util/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/util/vircgroup.c (Michal Privoznik),
  virCgroupAddTaskStrController: s/-1/-ENOMEM/ (Michal Privoznik),
  conf: add missing OOM errors (Ján Tomko),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/xenxs/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/xenapi/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/xen/* (Michal Privoznik),
  Fix the build failure (Osier Yang),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/security/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/rpc/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/remote/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/qemu/* (Michal Privoznik),
  virsh: omit OPTION section in 'virsh help' if no option exists (Zhang Xiaohe),
  Change virConnectDomainEventGraphicsCallback signature (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/openvz/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/conf/* (Michal Privoznik),
  qemu: Enable multiqueue network (Michal Privoznik),
  qemu: Adapt qemuBuildInterfaceCommandLine to to multiqueue net (Michal Privoznik),
  qemu: Move interface cmd line construction into a separate function (Michal Privoznik),
  Introduce /domain/devices/interface/driver/@queues attribute (Michal Privoznik),
  qemu: add ', share=<policy>' to qemu commandline (Guannan Ren),
  conf: add 'sharePolicy' attribute to graphics element for vnc (Guannan Ren),
  qemu: new vnc display sharing policy caps flag (Guannan Ren),
  vbox: fix VIR_STRDUP value check (Ján Tomko),
  syntax-check: Add the rule to forbid whitespace before ";" (Osier Yang),
  Fix the syntax-check failure (Osier Yang),
  interface: list all interfaces with flags == 0 (Guannan Ren),
  Convert Xen domain core dump driver methods to use virDomainDefPtr (Daniel P. Berrange),
  Convert Xen domain stats/peek driver methods to use virDomainDefPtr (Daniel P. Berrange),
  Convert Xen domain scheduler driver methods to use virDomainDefPtr (Daniel P. Berrange),
  Convert Xen domain autostart driver methods to use virDomainDefPtr (Daniel P. Berrange),
  Convert Xen domain device hotplug driver methods to use virDomainDefPtr (Daniel P. Berrange),
  Convert Xen domain VCPU driver methods to use virDomainDefPtr (Daniel P. Berrange),
  Convert Xen domain create/define/getxml/migration APIs to use virDomainDefPtr (Daniel P. Berrange),
  Convert Xen domain managed save driver methods to use virDomainDefPtr (Daniel P. Berrange),
  Convert Xen domain property driver methods to use virDomainDefPtr (Daniel P. Berrange),
  Convert Xen domain lifecycle driver methods to use virDomainDefPtr (Daniel P. Berrange),
  Convert Xen domain lookup driver methods to use virDomainDefPtr (Daniel P. Berrange),
  qemu: Don't remove the "return 0" (Osier Yang),
  esx: Replace almost all esxVI_String_DeepCopyValue vith VIR_STRDUP (Matthias Bolte),
  vmware: Restore OOM error reporting in vmwareCopyVMXFileName (Matthias Bolte),
  maint: enforce correct copyright usage (Eric Blake),
  maint: refer to correct license file (Eric Blake),
  maint: follow recommended practice for using LGPL (Eric Blake),
  maint: use LGPL correctly (Eric Blake),
  openvzDomainSetNetwork: use virCommand (Michal Privoznik),
  qemu: Add callback struct for qemuBuildCommandLine (Osier Yang),
  storage_conf: Improve the coding style in storage_conf.h (Osier Yang),
  storage_conf: Fix indentions in storage_conf.c (Osier Yang),
  storage_conf: Fix the coding stype in storage_conf.c (Osier Yang),
  qemu: Abstract code for cpuset controller setting into a helper (Osier Yang),
  qemu: Abstract code for devices controller setting into a helper (Osier Yang),
  qemu: Abstract code for memory controller setting into a helper (Osier Yang),
  qemu: Abstract the code for blkio controller setting into a helper (Osier Yang),
  Add libvirt-daemon-vbox & libvirt-daemon-driver-vbox RPMs (Daniel P. Berrange),
  Include GNULIB mkdtemp module (Daniel P. Berrange),
  Set PKG_CONFIG_LIBDIR in autobuild.sh (Daniel P. Berrange),
  qemu: report useful error failling to destroy domain gracefully (Guannan Ren),
  qemu: Check conflicts for shared scsi host device (Osier Yang),
  Re-add selinux/selinux.h to lxc_container.c (Daniel P. Berrange),
  schema: make source optional in volume XML (Ján Tomko),
  schema: require target path in storage pool xml (Ján Tomko),
  qemu: Change values of disk discard (Osier Yang),
  qemu: Implement support for locking domain's memory pages (Jiri Denemark),
  Add support for locking domain's memory pages (Jiri Denemark),
  Fix build with VirtualBox (Jiri Denemark),
  qemu: Set unpriv_sgio for scsi host device (Osier Yang),
  qemu: Refactor qemuSetUnprivSGIO to support scsi host device (Osier Yang),
  qemu: Move qemuSetUnprivSGIO into qemu_conf.c (Osier Yang),
  conf: Introduce sgio for hostdev (Osier Yang),
  Rename virDomainDiskSGIO to virDomainDeviceSGIO (Osier Yang),
  qemu: Manage shared device entry for scsi host device (Osier Yang),
  qemu: Refactor the helpers to track shared scsi host device (Osier Yang),
  utils: Add a helper to get the device name that sg device mapped to (Osier Yang),
  qemu: Rename qemu_driver->sharedDisks to qemu_driver->sharedDevices (Osier Yang),
  conf: Introduce <shareable> for hostdev (Osier Yang),
  string: test VIR_STRDUP (Eric Blake),
  virsh: lookup interface by name or mac other than one by one (Guannan Ren),
  nwfilter: check for inverted ctdir (Stefan Berger),
  Validate the bios_date format for <sysinfo> (John Ferlan),
  Remove obsolete skipRoot flag in LXC driver (Daniel P. Berrange),
  Stop passing around old root directory prefix (Daniel P. Berrange),
  Remove obsolete pivotRoot flag in LXC driver (Daniel P. Berrange),
  qemu: Support discard for disk (Osier Yang),
  Handle the domain event 'on_reboot' and 'on_poweroff' settings (John Ferlan),
  Adjust comments to describe on_poweroff and on_reboot action (John Ferlan),
  Adjust usage of qemu -no-reboot and -no-shutdown options (John Ferlan),
  qemu: Add VNC WebSocket support (Martin Kletzander),
  Add VNC WebSocket support (Martin Kletzander),
  qemu: New XML to disable memory merge at guest startup (Osier Yang),
  qemu: detect -machine mem-merge capability (Eric Blake),
  Rename rbd-invalid.xml to rbd-no-colon.xml (Daniel P. Berrange),
  tests: Add fchostdata in EXTRA_DIST (Osier Yang),
  virsh: Pretty the output of qemu-agent-command (Osier Yang),
  virsh: Use vshPrint instead of printf (Osier Yang),
  Fix invalid argument reference in virnetdev.h (Martin Kletzander),
  Don't duplicate compiler warning flags when linking (Daniel P. Berrange),
  Only pass -export-dynamic to linker, not compiler (Daniel P. Berrange),
  Correctly detect warning flags with clang (Daniel P. Berrange),
  Ignore cast alignment warnings in inotify code for Xen. (Daniel P. Berrange),
  Workaround issue with clang and inline functions with static vars (Daniel P. Berrange),
  Ensure consistent enablement of gcc 'diagnostic' pragma (Daniel P. Berrange),
  qemu: query command line options in QMP (Eric Blake),
  qemu: simplify string cleanup (Eric Blake),
  qemu: use bool in monitor struct (Eric Blake),
  json: support removing a value from an object (Eric Blake),
  Don't overwrite useful message when creating macvlan fails (Daniel P. Berrange),
  Remove & ban use of select() for waiting for I/O (Daniel P. Berrange),
  qemu: Add hotplug support for scsi host device (Han Cheng),
  .gitignore: add fchosttest (Ján Tomko),
  qemu: Refactor helpers for USB device attachment (Osier Yang),
  Escaping leading '.' in cgroup names (Daniel P. Berrange),
  qemu: Introduce activeScsiHostdevs list for scsi host devices (Han Cheng),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/vbox/* (Michal Privoznik),
  Support NBD backed disks/filesystems in LXC driver (Daniel P. Berrange),
  Add 'nbd' as a valid filesystem driver type (Daniel P. Berrange),
  Add a helper API for setting up a NBD device with qemu-nbd (Daniel P. Berrange),
  Re-arrange code setting up ifs/disk loop devices for LXC (Daniel P. Berrange),
  Add support for storage format in FS <driver> (Daniel P. Berrange),
  security_apparmor.c: Include virscsi.h (Michal Privoznik),
  security: Manage the security label for scsi host device (Osier Yang),
  qemu: Allow the scsi-generic device in cgroup (Han Cheng),
  qemu: Support bootindex for scsi host device (Osier Yang),
  Introduce <readonly> for hostdev (Osier Yang),
  rng: Interleave hostdev elements (Osier Yang),
  qemu: Build qemu command line for scsi host device (Han Cheng),
  utils: util functions for scsi hostdev (Han Cheng),
  qemu: New cap flags for scsi-generic (Han Cheng),
  node_device: Clean up unused macros (Osier Yang),
  conf: Generic XMLs for scsi hostdev (Han Cheng),
  tests: Add tests for fc_host (Osier Yang),
  util: Honor the passed sysfs_prefix (Osier Yang),
  util: Update the comment for virGetFCHostNameByWWN (Osier Yang),
  util: Change virIsCapable* to return bool (Osier Yang),
  util: Don't miss the slash in constructed path (Osier Yang),
  build: update to latest gnulib, for syntax-check (Eric Blake),
  Update hellolibvirt to demo virGetLastErrorMessage() (Daniel P. Berrange),
  Add a test case for the fdstream file read/write code (Daniel P. Berrange),
  Allow the iohelper path to be customized by test programs (Daniel P. Berrange),
  Add a virGetLastErrorMessage() function (Daniel P. Berrange),
  Fix iohelper usage with streams opened for read (Daniel P. Berrange),
  Cope with missing swap cgroup controls (Daniel P. Berrange),
  util: move virFile* functions from virutil.c to virfile.c (Laine Stump),
  util: fix virFileOpenAs return value and resulting error logs (Laine Stump),
  Build breaker - requires VIR_FROM_THIS (John Ferlan),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/test/* (Michal Privoznik),
  virGetStorageVol: Don't ignore NULL pool name (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/storage/* (Michal Privoznik),
  dom event example: Add error check to impl call (Jesse J. Cook),
  dom event example: init before register event impl (Jesse J. Cook),
  conf: Fix typo in error message in ABI stability check (Peter Krempa),
  tests: use portable shell code (Eric Blake),
  Replace 'goto clean' with 'goto cleanup' in apparmor code (Daniel P. Berrange),
  Replace list of driver source files with variables (Daniel P. Berrange),
  Fix naming of methods in ESX storage backends to follow public APIs (Daniel P. Berrange),
  Skip virNWFilterTechDriver when validating API naming (Daniel P. Berrange),
  Replace 'goto cleanup' with 'goto error' in udev interface driver (Daniel P. Berrange),
  Replace 'goto err' with 'goto cleanup' in udev interface driver (Daniel P. Berrange),
  tests: files named '.*-invalid.xml' should fail validation (Ján Tomko),
  Simplify the Xen domain stats/peek / node memory driver methods (Daniel P. Berrange),
  Simplify the Xen domain autostart driver method (Daniel P. Berrange),
  Simplify the Xen domain scheduler parameter driver methods (Daniel P. Berrange),
  Simplify the Xen domain attach/dettach driver methods (Daniel P. Berrange),
  Simplify the Xen domain define/undefine driver methods (Daniel P. Berrange),
  Simplify the Xen domain start driver method (Daniel P. Berrange),
  Simplify the Xen driver define domain driver methods (Daniel P. Berrange),
  Simplify the Xen domain migration driver methods (Daniel P. Berrange),
  Simplify the Xen domain get XML driver method (Daniel P. Berrange),
  Simplify the Xen domain VCPU driver methods (Daniel P. Berrange),
  Simplify the Xen domain save/restore driver methods (Daniel P. Berrange),
  Simplify the Xen domain get info/state driver methods (Daniel P. Berrange),
  Simplify the Xen domain get/set (max) memory driver methods (Daniel P. Berrange),
  Remove Xen get hostname driver method (Daniel P. Berrange),
  Simplify the Xen domain get OS type driver method (Daniel P. Berrange),
  Simplify the Xen domain destroy driver method (Daniel P. Berrange),
  Simplify the Xen domain shutdown/reboot driver methods (Daniel P. Berrange),
  Simplify the Xen domain suspend/resume driver methods (Daniel P. Berrange),
  Simplify the Xen domain is persistent driver method (Daniel P. Berrange),
  Simplify the Xen domain lookup driver methods (Daniel P. Berrange),
  Simplify the Xen domain create driver method (Daniel P. Berrange),
  Simplify the Xen count/list domains driver methods (Daniel P. Berrange),
  Simplify the Xen get max vcpus / node get info driver methods (Daniel P. Berrange),
  Simplify the Xen get version driver method (Daniel P. Berrange),
  Simplify the Xen get type driver method (Daniel P. Berrange),
  Simplify opening of Xen drivers (Daniel P. Berrange),
  Remove pointless GET_PRIVATE macro from Xen driver (Daniel P. Berrange),
  Remove VIR_CONNECT_RO checks from xen drivers (Daniel P. Berrange),
  Remove xen driver checks for priv->handle < 0 (Daniel P. Berrange),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/vmx/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/vmware/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/uml/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/secret/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/phyp/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/parallels/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/nwfilter/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/interface/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/node_device/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/network/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/lxc/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/locking/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/libxl/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/hyperv/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/esx/* (Michal Privoznik),
  Adapt to VIR_STRDUP and VIR_STRNDUP in src/cpu/* (Michal Privoznik),
  Delete udevFreeIfaceDef function in udev interface driver (Daniel P. Berrange),
  maint: update to latest gnulib (Eric Blake),
  Unmerge attach/update/modify device APIs in drivers (Daniel P. Berrange),
  Pull parsing of migration xml up into QEMU driver APIs (Daniel P. Berrange),
  Fix naming of some node device APIs (Daniel P. Berrange),
  Separate internal node suspend APIs from public API (Daniel P. Berrange),
  Separate internal node device APIs from public API (Daniel P. Berrange),
  Separate virGetHostname() API contract from driver APIs (Daniel P. Berrange),
  Include process start time when doing polkit checks (Daniel P. Berrange),
  Rename "security context" to "selinux context" (Daniel P. Berrange),
  Fix possible undefined value in check-symsorting.pl (Daniel P. Berrange),
  storage: Skip inactive lv volumes (Osier Yang),
  string: make VIR_STRDUP easier to use (Eric Blake),
  alloc: make VIR_APPEND_ELEMENT safer (Eric Blake),
  syntax-check: forbid virBufferAsprintf with string literals (Ján Tomko),
  get rid of virBufferAsprintf where possible (Ján Tomko),
  qemu: allocate network connections sooner during domain startup (Laine Stump),
  Ensure stub todo.html.in file is HTML5 (Daniel P. Berrange),
  qemu: Enable the capability bit for -no-kvm-pit-reinjection on x86 only (Boris Fiuczynski),
  rpc: message related sizes enlarged (Daniel Hansel),
  qemu: Do fake auto-allocation of ports when generating native command (Peter Krempa),
  spec: proper soft static allocation of qemu uid (Eric Blake),
  build: always include libvirt_lxc.syms in tarball (Eric Blake),
  Adapt to VIR_STRDUP and VIR_STRNDUP in daemon/* (Michal Privoznik),
  virstring: Introduce VIR_STRDUP and VIR_STRNDUP (Michal Privoznik),
  Make detect_scsi_host_caps a function on all architectures (Guido Günther),
  More paranoid initialization of 'nparams' variable in dispatch code (Daniel P. Berrange),
  Fix format string handling in network driver (Daniel P. Berrange),
  esx: Reduce code duplication in generator (Matthias Bolte),
  build: avoid useless virAsprintf (Eric Blake),
  build: always include sanitytest in tarball (Eric Blake),
  util: fix compile errors caused by moving string functions (Laine Stump),
  virutil: Move string related functions to virstring.c (Michal Privoznik),
  qemu: Generate agent socket path if missing (Michal Privoznik),
  build: fix FreeBSD build (Eric Blake)
- Cleanups:
  Storage: Fix the indention of rbd test file (Osier Yang),
  qemu: Fix damaged whitespace (Peter Krempa),
  Properly indent function's opening bracket (Martin Kletzander),
  build: fix typo in earlier commit (Eric Blake),
  build: drop unused variable (Eric Blake),
  syntax-check: mandate space after mid-line semicolon (Eric Blake),
  syntax: prefer space after semicolon in for loop (Eric Blake),
  security_dac: Fix the coding style (Osier Yang),
  nwfilter: Change the comment style (Osier Yang),
  src/*.[ch]: Remove the whitespace before ";" (Osier Yang),
  src/locking: Remove the whitespace before ";" (Osier Yang),
  python: Remove the whitespace before ";" (Osier Yang),
  examples: Remove the whitespace before ';' (Osier Yang),
  src/lxc: Remove the whitespace before ";" (Osier Yang),
  src/remote: Remove the whitespace before ";" (Osier Yang),
  src/rpc: Remove the whitespace before ";" (Osier Yang),
  src/utils: Remove the whitespace before ";" (Osier Yang),
  tests/: Remove the whitespace before ";" (Osier Yang),
  daemon: Remove the whitespace before ";" (Osier Yang),
  tools: Remove the whitespace before ";" (Osier Yang),
  src/storage: Remove the whitespace before ';' (Osier Yang),
  src/security: Remove the whitespace before ';' (Osier Yang),
  src/xen: Remove the whitespace before ';' (Osier Yang),
  src/vmware: Remove the whitespace before ';' (Osier Yang),
  src/qemu: Remove the whitespace before ';' (Osier Yang),
  src/interface: Remove the whitespace before ';' (Osier Yang),
  src/parallels: Remove the whitespace before ';' (Osier Yang),
  src/uml: Remove the whitespace before ';' (Osier Yang),
  src/openvz: Remove the whitespace before ';' (Osier Yang),
  src/node_device: Remove the whitespace before ';' (Osier Yang),
  src/phyp: Remove the whitespace before ';' (Osier Yang),
  src/nwfilter: Remove the whitespace before ';' (Osier Yang),
  src/xenxs: Remove the whitespace before ';' (Osier Yang),
  src/vbox: Remove the whitespace before ';' (Osier Yang),
  src/test: Remove the whitespace before ';' (Osier Yang),
  src/conf: Remove the whitespace before ';' (Osier Yang),
  src/libxl: Remove the whitespace before ';' (Osier Yang),
  src/network: Remove the whitespace before ';' (Osier Yang),
  LXC: move the comments to the proper place (Gao feng),
  conf: Improve the coding style (Osier Yang),
  tests: Sort the EXTRA_DIST list (Osier Yang),
  libvirt.c: Fix the indention (Osier Yang),
  conf: Remove the unrelated comment (Osier Yang),
  build: clean up stray files found by 'make distcheck' (Eric Blake),
  Remove redundant () in expression (Daniel P. Berrange)

### 1.0.5: May 2 2013

- Features:
  Add NVRAM device (Li Zhang),
  Add XML config for resource partitions (Daniel P. Berrange),
  Add support for TPM (Stefan Berger),
  NPIV storage migration support (Osier Yang)
- Documentation:
  Fix closing tag in snapshot documentation (Christophe Fergeau),
  Fix typo in augeas comment (Martin Kletzander),
  Fix VIR_DOMAIN_EVENT_ID_PMSUSPEND capitalization in API doc (Christophe Fergeau),
  Improve /domainsnapshot/disks/disk@snapshot doc (Christophe Fergeau),
  fix memballoon examples (Ján Tomko),
  Clarify usage of SELinux baselabel (Peter Krempa),
  fix usage of 'onto' (Eric Blake),
  Update HACKING (Osier Yang),
  conf: fix comment about parsing graphics listen address (Ján Tomko),
  lib: Fix docs about return value of virDomainGetVcpusFlags() (Peter Krempa),
  virsh: Document that using incomplete XML files may have unexpected results (Peter Krempa),
  fix typo when using Kerberos principals (Eric Blake),
  use MiB/s instead of Mbps for migration speed (Ján Tomko),
  Add the missed <pre> tag (Osier Yang),
  virsh: Fix typo in docs (Peter Krempa),
  manual: Fix copy-paste errors (Martin Kletzander),
  manual: Add info about migrateuri in virsh manual (Martin Kletzander)
- Portability:
  S390: Do not generate a default USB controller (Viktor Mihajlovski),
  S390: Mention changed USB behavior (Viktor Mihajlovski),
  build: fix cygwin build in virnetdev (Eric Blake),
  portability: handle ifreq differences in virnetdev (Roman Bogorodskiy),
  qemu: fix build error with older platforms (Eric Blake),
  Fix compilation error in util/vircgroup.c (Stefan Berger),
  Conditionally compile storagevolxml2argvtest (Daniel P. Berrange),
  Fix signature of dummy virNetlinkCommand stub (Daniel P. Berrange),
  Add empty stub for virThreadCancel on Win32 (Daniel P. Berrange),
  Don't enable -fPIE on Win32 platforms (Daniel P. Berrange),
  spec: Require pod2man when running autoreconf (Jiri Denemark),
  Avoid cast alignment warnings in port allocator test (Daniel P. Berrange)
- Bug Fixes:
  pci: autolearn name of stub driver, remove from arglist (Laine Stump),
  ESX: Fix DISPATCH_FREE generation code to free all extended objects (Ata E Husain Bohra),
  qemu: fix failure to start with spice graphics and no tls (Laine Stump),
  Need to call virFreeError after virSaveLastError (John Ferlan),
  libvirt-guests: status: return non-zero when stopped (Ján Tomko),
  security driver: eliminate memory leaks in failure paths (Laine Stump),
  libxl: Fix double-dispose of libxl domain config (Jim Fehlig),
  virsh: fix incorrect argument errors for long options (Ján Tomko),
  network: Don't remove transient network if creating of config file fails (Peter Krempa),
  qemu: prevent invalid reads in qemuAssignDevicePCISlots (Ján Tomko),
  qemu: don't assign a PCI address to 'none' USB controller (Ján Tomko),
  fix segfault during virsh save in pv guest (Bamvor Jian Zhang),
  conf: reject controllers with duplicate indexes (Ján Tomko),
  fix typo introduced by 90430791 (Bamvor Jian Zhang),
  Fix usb master startport parsing (Martin Kletzander),
  qemu_conf: Don't discard strdup OOM error (Michal Privoznik),
  util: Error out if the numa nodeset is out of range (Osier Yang),
  selinux: Don't mask errors of virSecuritySELinuxGenNewContext (Peter Krempa),
  qemu: Fix the wrong expression (Osier Yang),
  audit: properly encode device path in cgroup audit (Eric Blake),
  network: bridge_driver: don't lose transient networks on daemon restart (Peter Krempa),
  qemu: fix default spice password setting (Ján Tomko),
  Fix build breaker with ATTRIBUTE_NONNULL defs (John Ferlan),
  Resolve valgrind error (John Ferlan),
  Do more complete initialization of libgcrypt (Daniel P. Berrange),
  qemu: Set correct migrate host in client_migrate_info (Michal Privoznik),
  qemu: fix crash in qemuOpen (Ján Tomko),
  conf: fix error for parallel port mismatch (Ján Tomko),
  conf: fix a memory leak when parsing nat port XML nodes (Guannan Ren),
  conf: Fix race between looking up a domain object and freeing it (Peter Krempa),
  Fix crash in virNetDevGetVirtualFunctions (Laine Stump),
  schemas: Move PortNumber and sourceinfoadapter to basictypes.rng (Han Cheng),
  virsh: Unregister the connection close notifier upon termination (Viktor Mihajlovski),
  libvirt: Increase connection reference count for callbacks (Viktor Mihajlovski),
  storage: Fix volume cloning for logical volume. (Atsushi Kumagai),
  security_manager: fix comparison (Guido Günther),
  qemu: fix memory leak on -machine usage error (Eric Blake),
  qemu-blockjob: Fix limit of bandwidth for block jobs to supported value (Peter Krempa),
  sec_manager: Refuse to start domain with unsupported seclabel (Michal Privoznik),
  qemu: Fix crash when updating media with shared device (Peter Krempa),
  virsh: Call virDomainFree in cmdDomFSTrim (Michal Privoznik),
  smartcard: spell ccid-card-emulated qemu property correctly (Eric Blake),
  Resolve valgrind failure (John Ferlan)
- Improvements:
  spec: collect all BuildRequires into one area (Eric Blake),
  Resolve valgrind error (John Ferlan),
  esx: Support virtualHW version 9 (Martin Kletzander),
  build: mark conditionally unused variables (Eric Blake),
  virsh: clarify vol-{down,up}load description (Ján Tomko),
  qemu: report an error if memballoon has wrong address type (Ján Tomko),
  qemu: assign addresses when converting xml to native (Ján Tomko),
  qemu: Error out if spice port autoallocation is requested, but disabled (Peter Krempa),
  qemu: put usb cgroup setup in common function (Laine Stump),
  qemu: add vfio devices to cgroup ACL when appropriate (Laine Stump),
  qemu: honor allowDiskFormatProbing when parsing command line (Ján Tomko),
  conf: add missing error on OOM (Ján Tomko),
  qemu: don't always reserve PCI addresses for implicit controllers (Ján Tomko),
  conf: remove extraneous _TYPE from driver backend enums (Laine Stump),
  network: support <driver name='vfio'/> in network definitions (Laine Stump),
  qemu: launch bridge helper from libvirtd (Paolo Bonzini),
  virnetdevtap: add virNetDevTapGetName (Paolo Bonzini),
  qemu: set qemu process' RLIMIT_MEMLOCK when VFIO is used (Laine Stump),
  qemu: use new virCommandSetMax(Processes|Files) (Laine Stump),
  util: new virCommandSetMax(MemLock|Processes|Files) (Laine Stump),
  Do proper escaping of cgroup resource partitions (Daniel P. Berrange),
  Ensure all cgroup partitions have a suffix of ".partition" (Daniel P. Berrange),
  Change VM cgroup suffix from '{lxc,qemu}.libvirt' to 'libvirt-{lxc,qemu}' (Daniel P. Berrange),
  test: Add JSON test for query-tpm-types (Stefan Berger),
  virsh: suppress aliases in group help (Eric Blake),
  security: update hostdev labelling functions for VFIO (Laine Stump),
  util: new function virPCIDeviceGetVFIOGroupDev (Laine Stump),
  virsh: use new virNodeDeviceDetachFlags (Laine Stump),
  xen: implement virNodeDeviceDetachFlags backend (Laine Stump),
  qemu: implement virNodeDeviceDetachFlags backend (Laine Stump),
  hypervisor api: implement RPC calls for virNodeDeviceDetachFlags (Laine Stump),
  hypervisor api: new virNodeDeviceDetachFlags (Laine Stump),
  qemu: bind/unbind stub driver according to config <driver name='x'/> (Laine Stump),
  pci: keep a stubDriver in each virPCIDevice (Laine Stump),
  qemu: use vfio-pci on commandline when appropriate (Laine Stump),
  conf: formatter/parser/RNG/docs for hostdev <driver name='kvm|vfio'/> (Laine Stump),
  conf: put hostdev pci address in a struct (Laine Stump),
  qemu: detect vfio-pci device and its bootindex parameter (Laine Stump),
  build: avoid unsafe functions in libgen.h (Eric Blake),
  qemu: auto-add pci-root to 'pc-i440*' machines too (Ján Tomko),
  qemu: auto-add bridges and allow using them (Ján Tomko),
  qemu: auto-add pci-root controller for pc machine types (Ján Tomko),
  qemu: build command line for pci-bridge device (liguang),
  conf: add PCI controllers (Ján Tomko),
  qemu: call post-parse callbacks when parsing command line too (Ján Tomko),
  qemu: Add command line builder and parser for NVRAM. (Li Zhang),
  qemuBuildCommandLine: Don't overwrite errors with NWFilter's one (Michal Privoznik),
  Introduce a sub-element <driver> for controller (Osier Yang),
  qemu: Don't require a block or file when looking for an alias (Wido den Hollander),
  Change the tag name "num_queues" into "queues" (Osier Yang),
  qemu: Improve handling of channels when generating SPICE command line (Peter Krempa),
  qemu: Do sensible auto allocation of SPICE port numbers (Peter Krempa),
  Make driver method names consistent with public APIs (Daniel P. Berrange),
  Dedicated name for sub-driver open/close methods (Daniel P. Berrange),
  Rename 'DeviceMonitor' to 'NodeDeviceDriver' (Daniel P. Berrange),
  Extend previous check to validate driver struct field names (Daniel P. Berrange),
  Ensure driver method names match public API names (Daniel P. Berrange),
  Make naming of remote procedures match API names exactly (Daniel P. Berrange),
  Cleanup command line options in gendispatch.pl (Daniel P. Berrange),
  qemu: Split out SPICE port allocation into a separate function (Peter Krempa),
  qemu: Use switch instead of ifs in qemuBuildGraphicsCommandLine (Peter Krempa),
  qemu: Split out code to generate VNC command line (Peter Krempa),
  qemu: Split out code to generate SPICE command line (Peter Krempa),
  qemu: Use -machine accel=tcg|kvm when available (Jiri Denemark),
  qemu: Move -enable-kvm and friends earlier in the command line (Jiri Denemark),
  Switch to a more extensible annotation system for RPC protocols (Daniel P. Berrange),
  qemu: Fix setting of memory tunables (Peter Krempa),
  logging: Make log regexp more compact (and readable) (Jiri Denemark),
  qemu: Ignore libvirt logs when reading QEMU error output (Jiri Denemark),
  qemu: Move QEMU log reading into a separate function (Jiri Denemark),
  update input ip processing (Gene Czarcinski),
  create virSocketAddrGetIpPrefix utility function (Gene Czarcinski),
  Replace more cases of /system with /machine (Daniel P. Berrange),
  Change default resource partition to /machine (Daniel P. Berrange),
  qemu: rename CheckSlot to SlotInUse (Ján Tomko),
  qemu: switch PCI address set from hash table to an array (Ján Tomko),
  conf: add model attribute to virDomainDefMaybeAddController (Ján Tomko),
  qemu: move PCI address check out of qemuPCIAddressAsString (Ján Tomko),
  qemu: QEMU_PCI constant consistency (Ján Tomko),
  qemu: print PCI address hexadecimally in errors (Ján Tomko),
  qemu: make qemuComparePCIDevice aware of multiple buses (Ján Tomko),
  conf: Reword error message to be more universal (Peter Krempa),
  cpu: Rename PowerPCUpdate and PowerPCDataFree functions (Jiri Denemark),
  cpu: Remove hardcoded list of PowerPC models (Jiri Denemark),
  cpu: Reimplement PowerPCDecode (Jiri Denemark),
  cpu: Reimplement PowerPCBaseline (Jiri Denemark),
  cpu: Fix loading PowerPC vendor from cpu_map.xml (Jiri Denemark),
  cpu: Fix PowerPCNodeData (Jiri Denemark),
  cpu: Make comparing PowerPC CPUs easier to read (Jiri Denemark),
  cpu: Introduce cpuModelIsAllowed internal API (Jiri Denemark),
  virsh-domain: Refactor cmdVcpucount and fix output on inactive domains (Peter Krempa),
  Set legacy USB option with default for ppc64. (Li Zhang),
  qemu_conf: add new configuration key bridge_helper (Paolo Bonzini),
  util: allow using virCommandAllowCap with setuid helpers (Paolo Bonzini),
  util: simplify virSetUIDGIDWithCaps (Paolo Bonzini),
  virsh-domain: Report errors on invalid --holdtime value for cmdSendKey (Peter Krempa),
  virsh-domain: Clean up cmdSendKey (Peter Krempa),
  qemu: simplify use of virArchFromHost (Tal Kain),
  rng: tighten up domain <controller> schema (Laine Stump),
  network: remove autostart flag from network when undefining it (Peter Krempa),
  syntax-check: Only allows to include public headers in external tools (Osier Yang),
  syntax-check: Don't include public headers in internal source (Osier Yang),
  syntax-check: Don't include duplicate header (Osier Yang),
  qemu: Allow the disk wwn to have "0x" prefix (Osier Yang),
  cleanup: Don't include libvirt/virterror.h (Osier Yang),
  cleanup: Don't include libvirt/libvirt.h (Osier Yang),
  cleanup: Remove the duplicate header (Osier Yang),
  cleanup: Only include testutils.h once (Osier Yang),
  Check for unsupported QMP command (Stefan Berger),
  qemu_agent: Add support for appending arrays to commands (Peter Krempa),
  Add support for perf_event and net_cls cgroup controllers (Daniel P. Berrange),
  Replace LXC cgroup mount code with call to virCgroupIsolateMount (Daniel P. Berrange),
  Add an API for re-mounting cgroups, to isolate the process location (Daniel P. Berrange),
  Track symlinks for co-mounted cgroup controllers (Daniel P. Berrange),
  Remove non-functional code for setting up non-root cgroups (Daniel P. Berrange),
  Change default cgroup layout for QEMU/LXC and honour XML config (Daniel P. Berrange),
  Add a new virCgroupNewPartition for setting up resource partitions (Daniel P. Berrange),
  Cleanup if creating cgroup directories fails (Daniel P. Berrange),
  Add misc extra debugging into cgroups code (Daniel P. Berrange),
  Refactor cgroups internal data structures (Daniel P. Berrange),
  Add a test suite for cgroups functionality (Daniel P. Berrange),
  Rename virCgroupForXXX to virCgroupNewXXX (Daniel P. Berrange),
  Pull definition of structs out of vircgroup.c to vircgrouppriv.h (Daniel P. Berrange),
  Store a virCgroupPtr instance in virLXCDomainObjPrivatePtr (Daniel P. Berrange),
  Store a virCgroupPtr instance in qemuDomainObjPrivatePtr (Daniel P. Berrange),
  Add missing param to virCgroupForDriver stub (Daniel P. Berrange),
  Introduce a virFileDeleteTree method (Daniel P. Berrange),
  Conditionalize use of symlink() function in test suite (Daniel P. Berrange),
  maint: update to latest gnulib (Eric Blake),
  Use unsigned int instead of unsigned (Osier Yang),
  qemu: Report also domain name in error message when domain object wasn't found (Peter Krempa),
  qemu: Refactor lookup of domain object (Peter Krempa),
  cleanup: Change datatype of net->stp to boolean (Osier Yang),
  cleanup: Change datatype of usbdev->allow to boolean (Osier Yang),
  cleanup: Change datatype of graphic's members to boolean (Osier Yang),
  cleanup: Change datatype of accel's members to boolean (Osier Yang),
  Add test case for TPM passthrough (Stefan Berger),
  TPM support for QEMU command line (Stefan Berger),
  QEMU Cgroup support for TPM passthrough (Stefan Berger),
  Audit the starting of a guest using TPM passthrough (Stefan Berger),
  Add SELinux and DAC labeling support for TPM passthrough (Stefan Berger),
  Convert QMP strings into QEMU capability bits (Stefan Berger),
  Parse TPM passthrough XML in the domain XML (Stefan Berger),
  Helper functions for host TPM support (Stefan Berger),
  Add documentation and schema for TPM passthrough (Stefan Berger),
  Add function to find a needle in a string array (Stefan Berger),
  Add QMP probing for TPM (Stefan Berger),
  conf: Allow for non-contiguous device boot orders (Peter Krempa),
  Tweak EOF handling of streams (Daniel P. Berrange),
  Add USB option capability (Li Zhang),
  Add error handling to optional arguments in cmdCPUStats (John Ferlan),
  qemu: Do not report unsafe migration for local files (Jiri Denemark),
  qemu: Try to use QMP for send-key if supported (Peter Krempa),
  virsh: Update list of shutdown/reboot modes (Michal Privoznik),
  cleanup: Change datatype of secret->private to boolean (Osier Yang),
  cleanup: Change datatype of secret->ephemeral to boolean (Osier Yang),
  cleanup: Change datatype of fs->readonly to boolean (Osier Yang),
  cleanup: Change datatype of disk->readonly to boolean (Osier Yang),
  cleanup: Change datatype of disk->transient to boolean (Osier Yang),
  cleanup: Change datatype of disk->shared to boolean (Osier Yang),
  cleanup: Change datatype of auth->expires to boolean (Osier Yang),
  cleanup: Change datatype of hostdev->missing to boolean (Osier Yang),
  Cleanup: Change datatype of origstate's members to boolean (Osier Yang),
  Cleanup: Change datatype of hostdev->managed to boolean (Osier Yang),
  conf: Change help function (Han Cheng),
  qemu: Remove now obsolete assignment of default network card model for s390 hosts (Peter Krempa),
  qemu: Clean up network device CLI generator (Peter Krempa),
  qemu: Use correct default model on s390 (Viktor Mihajlovski),
  sanlock: add missing test command in virt-sanlock-cleanup.in (Alex Jia),
  Generate RFC4122 compliant UUIDs (Milos Vyletel),
  Unmount existing filesystems under user specified mounts in LXC (Daniel P. Berrange),
  Move lxcContainerUnmountSubtree further up in file (Daniel P. Berrange),
  Implement support for <hostdev caps=net> (Bogdan Purcareata),
  Update structure & XML definitions to support <hostdev caps=net> (Bogdan Purcareata),
  Rename virCgroupMounted to virCgroupHasController & make it more robust (Daniel P. Berrange),
  qemu: Allow volume type disk for device 'lun' (Osier Yang),
  qemu: Support sgio setting for volume type disk (Osier Yang),
  qemu: Support shareable volume type disk (Osier Yang),
  qemu: Translate the pool disk source earlier (Osier Yang),
  Support seclabels for volume type disk (Osier Yang),
  Support startupPolicy for 'volume' disk (Osier Yang),
  qemu: Translate the pool disk source when building drive string (Osier Yang),
  Introduce new XMLs to specify disk source using libvirt storage (Osier Yang),
  conf: New helper virDomainDiskSourceDefFormat to format the disk source (Osier Yang),
  storage: Guess the parent if it's not specified for vHBA (Osier Yang),
  storage: Add startPool and stopPool for scsi backend (Osier Yang),
  util: Add helper to get the scsi host name by iterating over sysfs (Osier Yang),
  phyp: Prohibit fc_host adapter for phyp driver (Osier Yang),
  storage: Move virStorageBackendSCSIGetHostNumber into iscsi backend (Osier Yang),
  storage: Make the adapter name be consistent with node device driver (Osier Yang),
  New XML attributes for storage pool source adapter (Osier Yang),
  Disable cast-align warnings in various places (Daniel P. Berrange),
  Copy struct inotify_event entries to avoid alignment problems (Daniel P. Berrange),
  Use VIR_ALLOC_VAR instead of VIR_ALLOC_N for creating virObject (Daniel P. Berrange),
  Avoid casts between unsigned char * and struct nlmsghdr (Daniel P. Berrange),
  Rewrite keycode map to avoid a struct (Daniel P. Berrange),
  Add a test suite for keycode mapping functions (Daniel P. Berrange),
  qemu: Error out if the bitmap for pinning is all clear (Osier Yang),
  util: Add a helper to check if all bits of a bitmap are clear (Osier Yang),
  qemu: Support multiple queue virtio-scsi (Osier Yang),
  build: check correct protocol.o file (Eric Blake),
  build: use proper pod for nested bulleted VIRSH_DEBUG list (Eric Blake),
  qemu: Remove maximum cpu limit when setting processor count using the API (Peter Krempa),
  Don't create dirs in cgroup controllers we don't want to use (Daniel P. Berrange),
  Rename virCgroupGetAppRoot to virCgroupForSelf (Daniel P. Berrange),
  Ensure LD_PRELOAD exists before running test case (Daniel P. Berrange),
  Refactor RNG schema for resource tuning (Daniel P. Berrange),
  rpc: Fix connection close callback race condition and memory corruption/crash (Peter Krempa),
  virsh: Register and unregister the close callback also in cmdConnect (Peter Krempa),
  virsh: Move cmdConnect from virsh-host.c to virsh.c (Peter Krempa),
  virCaps: get rid of defaultConsoleTargetType callback (Peter Krempa),
  virCaps: get rid of macPrefix field (Peter Krempa),
  virCaps: get rid of hasWideScsiBus (Peter Krempa),
  virCaps: get rid of defaultDiskDriverType (Peter Krempa),
  virCaps: get rid of emulatorRequired (Peter Krempa),
  virCaps: get rid of defaultDiskDriverName (Peter Krempa),
  virCaps: get rid of "defaultInitPath" value in the virCaps struct (Peter Krempa),
  qemu: Record the default NIC model in the domain XML (Peter Krempa),
  conf callback: Rearrange function parameters (Peter Krempa),
  conf: Add post XML parse callbacks and prepare for cleaning of virCaps (Peter Krempa),
  maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption (Peter Krempa),
  Create fake NUMA info if libnuma isn't available (Daniel P. Berrange),
  Cope with missing /sys/devices/system/cpu/cpu0/topology files (Daniel P. Berrange),
  Add armv6l architecture to list of valid arches (Daniel P. Berrange),
  Implement minimal sysinfo for ARM platforms (Daniel P. Berrange),
  Disable of unused sysinfotest functions (Daniel P. Berrange),
  Wire up sysinfo for LXC driver (Daniel P. Berrange),
  Add support for SD cards in nodedev driver (Daniel P. Berrange),
  Auto-add a root <filesystem> element to LXC containers on startup (Daniel P. Berrange),
  Remove support for old kernels lacking private devpts (Daniel P. Berrange),
  Enable full RELRO mode (Daniel P. Berrange),
  Build all binaries with PIE (Daniel P. Berrange),
  rng: Add definition for network disk source (Osier Yang),
  Disable static libraries by default (Daniel P. Berrange),
  Allow multiple parameters for schedinfo (Martin Kletzander),
  virsh-domain: Add --live, --config, --current logic to cmdDetachDisk (Peter Krempa),
  virsh-domain: Add --live, --config, --current logic to cmdDetachDevice (Peter Krempa),
  virsh-domain: Add --live, --config, --current logic to cmdDetachInterface (Peter Krempa),
  virsh: Fix semantics of --config for "update-device" command (Peter Krempa),
  virsh-domain: Fix declarations of flag variables in cmdChangeMedia (Peter Krempa),
  virsh-domain: Simplify usage of --current, --live and --config flags (Peter Krempa),
  virsh-domain-monitor: Refactor cmdDomIfGetLink (Peter Krempa),
  Use virMacAddrFormat instead of manual mac address formatting (Peter Krempa),
  util: Change virMacAddrFormat to lowercase hex characters (Peter Krempa),
  Optimize machine option to set more options with it (Li Zhang),
  conf: Enforce ranges on cputune variables (Peter Krempa),
  test: Return Libvirt logo as domain screenshot (Michal Privoznik),
  qemu: Allow migration over IPv6 (Ján Tomko),
  virsh: Add a helper to parse cpulist (Osier Yang)
- Cleanups:
  qemu_command.c: Fix whitespacing within for() (Michal Privoznik),
  qemu: Fix the indention (Osier Yang),
  Sanitize whitespace in driver.h (Daniel P. Berrange),
  sheepdog: Omit braces with a single-line body (Harry Wei),
  storage: Fix the indention (Osier Yang),
  Remove extraneous comma in info_cpu_stats and opts_cpu_stats (John Ferlan)

### 1.0.4: Apr 1 2013

- Features:
  qemu: support passthrough for iscsi disks (Paolo Bonzini),
  various S390 improvements (Viktor Mihajlovski),
  various LXC bugs fixes and improvements (Daniel P. Berrange, Gao feng),
  Add API for thread cancellation (Daniel P. Berrange)
- Documentation:
  Fix truncated sentence in RDP 'multiUser' attribute (Christophe Fergeau),
  Remove the redundant parentheses in migrate help (Yanbing Du),
  virsh: Fix docs for "virsh setmaxmem" (Peter Krempa),
  util: fix virAllocVar's comment (Ján Tomko),
  clarify virsh net commands (Gene Czarcinski),
  storage: Fix grammar (Philipp Hahn),
  Fix /pool/storage/name documentation (Christophe Fergeau),
  Fix /pool/storage/directory@path documentation (Christophe Fergeau),
  Fix snapshot-create-as syntax in help output (Martin Kletzander),
  Update to COPYING.LIB to latest LGPLv2.1 copy (Christophe Fergeau),
  Fix a copy & paste error for virsh dump help (Yanbing Du),
  Clarify semantics of sparse storage volumes (Jiri Denemark)
- Portability:
  virutil: Fix compilation on non-linux platforms (Michal Privoznik),
  Fix linkage of virt-aa-helper with numa library (Daniel P. Berrange),
  Don't fail if SELinux is diabled (Guido Günther),
  Fix --without-libvirtd builds (Doug Goldstein),
  lxc: include sys/stat.h (Guido Günther),
  Ensure GET_VLAN_VID_CMD is always defined (Daniel P. Berrange),
  Don't import loop.h unless HAVE_DECL_LO_FLAGS_AUTOCLEAR is defined (Daniel P. Berrange)
- Bug Fixes:
  virsh: don't call virSecretFree on NULL (Ján Tomko),
  storage: Avoid double virCommandFree in virStorageBackendLogicalDeletePool (Martin Kletzander),
  nodedev: invert virIsCapableFCHost return value (Ján Tomko),
  security_manager.c: Append seclabel iff generated (Michal Privoznik),
  security: Don't add seclabel of type none if there's already a seclabel (Michal Privoznik),
  security_manager: Don't manipulate domain XML in virDomainDefGetSecurityLabelDef (Michal Privoznik),
  conf: fix memory leak of class_id bitmap (Guannan Ren),
  uml:release config object when uml driver shutdown (Guannan Ren),
  qemu:release qemu config object when qemu driver shutdown (Guannan Ren),
  net: use newer iptables syntax (Stefan Seyfried),
  remote: Don't call NULL closeFreeCallback (Viktor Mihajlovski),
  rpc: Fix client crash when server drops connection (Jiri Denemark),
  conf: fix a failure when detaching a usb device (Guannan Ren),
  qemu: Don't set address type too early during virtio disk hotplug (Guido Günther),
  virsh: error out on non-numeric timeout values (Ján Tomko),
  qemu: Set migration FD blocking (Michal Privoznik),
  util: Fix bug of managing vport (Osier Yang),
  nodedev: Fix the improper logic when enumerating SRIOV VF (Osier Yang),
  lxc: Prevent shutting down the host (Martin Kletzander),
  Ensure root filesystem is mounted if a file/block mount. (Daniel P. Berrange),
  Fix thread safety in LXC callback handling (Daniel P. Berrange),
  Remove bogus filtering from virDomainGetRootFilesystem (Daniel P. Berrange),
  Fix parsing of bond interface XML (Jim Fehlig),
  virsh: don't print --(null) in vol-name and vol-pool (Ján Tomko),
  Fix free of uninitialized value in LXC numad setup (Daniel P. Berrange),
  Correct invalid RNG schemas (Martin Kletzander),
  python: Fix emulatorpin API bindings (Peter Krempa),
  qemu: Un-mark volume as mirrored/copied if blockjob copy fails (Peter Krempa),
  Fix initialization of virIdentityPtr thread locals (Daniel P. Berrange),
  qemu: Add the new disk src into shared disk table when updating disk (Osier Yang),
  python: fix bindings that don't raise an exception (Guannan Ren),
  Fix typos s/HAVE_SELINUX/WITH_SELINUX/ (Daniel P. Berrange),
  fix TLS error with virNetServerClientCreateIdentity (Olivia Yin),
  storage: fix unlikely memory leak in rbd backend (Laine Stump),
  Do not prematurely close loop devices in LXC controller (Daniel P. Berrange),
  qemu: Fix startupPolicy regression (Jiri Denemark),
  qemu: do not support non-network disks without -drive (Paolo Bonzini),
  Fix size probing for VDI images (Ján Tomko),
  Fix memory leak on OOM in virSecuritySELinuxMCSFind (Daniel P. Berrange),
  Avoid closing uninitialized FDs when LXC startup fails (Daniel P. Berrange),
  Prevent streams from becoming libvirtd controlling TTY (Daniel P. Berrange),
  util: escapes special characters in VIR_LOG_REGEX (Guannan Ren),
  Daemonize fuse thread in libvirt_lxc (Daniel P. Berrange),
  Fix missing error dispatch in virDomainLxcEnterNamespace (Daniel P. Berrange),
  Fix query of LXC security label (Daniel P. Berrange),
  qemu_driver: Try KVM_CAP_MAX_VCPUS only if defined (Michal Privoznik),
  Add missing break in LXC loop device setup (Daniel P. Berrange),
  qemu: Avoid NULL dereference in qemuSharedDiskEntryFree (Jiri Denemark),
  qemu: Fix retrieval of maximum number of vCPUs on KVM hosts (Peter Krempa),
  virsh: fix snapshot-create with no xmlfile (Ján Tomko),
  lxc: Init activeUsbHostdevs (Guido Günther),
  bandwidth: Require network QoS if interface uses 'floor' (Michal Privoznik),
  qemuDomainBlockStatsFlags: Guard disk lookup with a domain job (Michal Privoznik),
  Fix crash parsing RNG device specification (Daniel P. Berrange),
  Resolve valgrind error (John Ferlan),
  storage: Cleanup logical volume creation code (Jiri Denemark),
  qemu: update domain live xml for virsh memtune with --live flag (Guannan Ren),
  util: fix a integer boundary error (Guannan Ren)
- Improvements:
  util: Fix the conflict type for virIsCapableFCHost (Osier Yang),
  libvirt_private.syms: Correctly export seclabel APIs (Michal Privoznik),
  log: Separate thread ID from timestemp in ring buffer (Jiri Denemark),
  virsh: Correct DESCRIPTION for virsh help blockcopy (Yanbing Du),
  Fix virConnectOpen.*() name requirements (Martin Kletzander),
  virsh: Let the compiler check usage of all fields in vshCmdOptType enum (Peter Krempa),
  python: set default value to optional arguments (Guannan Ren),
  libvirt-guests: newline between output sentences (Eric Blake),
  nodedev: Abstract nodeDeviceVportCreateDelete as util function (Osier Yang),
  nodedev: Dump max vports and vports in use for HBA's XML (Osier Yang),
  nodedev: Refactor the helpers (Osier Yang),
  nodedev: Use access instead of stat (Osier Yang),
  util: Add one helper virReadFCHost to read the value of fc_host entry (Osier Yang),
  nodedev: Introduce two new flags for listAll API (Osier Yang),
  nodedev: Remove the unused enum (Osier Yang),
  Mount temporary devpts on /var/lib/libvirt/lxc/$NAME.devpts (Daniel P. Berrange),
  Move FUSE mount to /var/lib/libvirt/lxc/$NAME.fuse (Daniel P. Berrange),
  viralloc: Export virAllocTest* (Michal Privoznik),
  qemu: add support for LSI MegaRAID SAS1078 (aka megasas) SCSI controller (Paolo Bonzini),
  qemu: pass iscsi authorization credentials (Paolo Bonzini),
  domain: parse XML for iscsi authorization credentials (Paolo Bonzini),
  secret: add iscsi to possible usage types (Paolo Bonzini),
  domain: make port optional for network disks (Paolo Bonzini),
  qemu: add support for libiscsi (Paolo Bonzini),
  make: regenerate bindings when <classname>.py changes (Guannan Ren),
  python: treat flags as default argument with value 0 (Guannan Ren),
  virsh-snapshot: Simplify cleanup path in cmdSnapshotEdit (Peter Krempa),
  virsh-snapshot: Use the mutually exclusive params macro in cmdSnapshotEdit (Peter Krempa),
  virsh-snapshot: Refactor cmdSnapshotCurrent (Peter Krempa),
  virsh-domain: Fix flag name in error message to match the check (Peter Krempa),
  virsh-host: Refactor cmdFreecell (Peter Krempa),
  virsh-snapshot: Refactor virsh snapshot-list (Peter Krempa),
  virsh: Introduce macros to reject mutually exclusive arguments (Peter Krempa),
  qemu: s/VIR_ERR_NO_SUPPORT/VIR_ERR_OPERATION_UNSUPPORTED (Michal Privoznik),
  domain: add support for iscsi network disks (Paolo Bonzini),
  cgroup: export virCgroupRemoveRecursively (Gao feng),
  doc/schema: disk storage volume formats (Philipp Hahn),
  doc/schema: Support iqn for storage pools (Philipp Hahn),
  doc/schema: add ocfs2 for disk vol (Philipp Hahn),
  LXC: add cpuset cgroup support for lxc (Gao feng),
  NUMA: cleanup for numa related codes (Gao feng),
  LXC: allow uses advisory nodeset from querying numad (Gao feng),
  rename qemuGetNumadAdvice to virNumaGetAutoPlacementAdvice (Gao feng),
  selinux: deal with dtb file (Olivia Yin),
  qemu: add dtb option support (Olivia Yin),
  conf: support <dtb> tag in XML domain file (Olivia Yin),
  rename tests/conftest.c (Gene Czarcinski),
  Setup LXC cgroups in two phases (Daniel P. Berrange),
  Set the current client identity during API call dispatch (Daniel P. Berrange),
  Add ability to get a virIdentity from a virNetServerClientPtr (Daniel P. Berrange),
  internal APIs for managing identities (Daniel P. Berrange),
  Add API to get the system identity (Daniel P. Berrange),
  Add APIs for associating a virIdentityPtr with the current thread (Daniel P. Berrange),
  Define internal APIs for managing identities (Daniel P. Berrange),
  Add APIs to get at more client security data (Daniel P. Berrange),
  qemu: support URI syntax for NBD (Paolo Bonzini),
  qemu: support NBD with Unix sockets (Paolo Bonzini),
  qemu: support named nbd exports (Paolo Bonzini),
  qemu: rewrite NBD command-line builder and parser (Paolo Bonzini),
  qemu: test NBD command-line builder and parser (Paolo Bonzini),
  util: portably check for unchanged uid (Eric Blake),
  Make vshDebug work when parsing parameters (Martin Kletzander),
  Remove contiguous CPU indexes assumption (Li Zhang),
  audit: Audit resources used by VirtIO RNG (Peter Krempa),
  S390: Testcases for virtio-scsi and virtio-rng (Viktor Mihajlovski),
  S390: Enable virtio-scsi and virtio-rng (Viktor Mihajlovski),
  qemu: Rename virtio-scsi capability (Viktor Mihajlovski),
  util: fix clear_emulator_capabilities=0 (Laine Stump),
  Fix deps for generating RPC dispatch code (Daniel P. Berrange),
  Fix generation of systemtap probes for RPC protocols (Daniel P. Berrange),
  Re-add DTrace probes on 'dispose' functions (Daniel P. Berrange),
  Fix parsing of SELinux ranges without a category (Daniel P. Berrange),
  Separate MCS range parsing from MCS range checking (Daniel P. Berrange),
  virtio-rng: Add rate limiting options for virtio-RNG (Peter Krempa),
  S390: Testcases for virtio-ccw machines (Viktor Mihajlovski),
  S390: Add hotplug support for s390 virtio devices (J.B. Joret),
  S390: QEMU driver support for CCW addresses (Viktor Mihajlovski),
  S390: domain_conf support for CCW (Viktor Mihajlovski),
  S390: Documentation for CCW address type (Viktor Mihajlovski),
  Use separate symbol file for GNUTLS symbols (Daniel P. Berrange),
  Apply security label when entering LXC namespaces (Daniel P. Berrange),
  virCaps: conf: start splitting out irrelevat data (Peter Krempa),
  Remove hack using existance of an 'identity' string to disable auth (Daniel P. Berrange),
  Convert HAVE_SELINUX to WITH_SELINUX (Guido Günther),
  capabilities: add NUMA memory information (Dusty Mabe),
  apparmor: use AppArmorSetFDLabel for both imageFD and tapFD (Guannan Ren),
  Include pid namespace inode in LXC audit messages (Daniel P. Berrange),
  Add support for disks backed by plain files in LXC (Daniel P. Berrange),
  Refactor loop device setup code in LXC (Daniel P. Berrange),
  Convert QEMU driver to use virLogProbablyLogMessage (Daniel P. Berrange),
  Improve LXC startup error reporting (Daniel P. Berrange),
  Add method for checking if a string is (probably) a log message (Daniel P. Berrange),
  Use VIR_MASS_CLOSE in LXC container startup (Daniel P. Berrange),
  Fix conditional build of virNetDevSetupControlFull (Daniel P. Berrange),
  Rename 'daemon' param to 'binary' in virNetClientNewUNIX (Daniel P. Berrange),
  Rename 'clone' to 'clonevol' to avoid name clash with clone() syscall (Daniel P. Berrange),
  viralloc: use consistent naming (Eric Blake),
  rng: allow default device in RNG grammar (Eric Blake),
  build: avoid shadowing a function name (Eric Blake),
  conf: Report errors on cputune parameter parsing (Peter Krempa),
  conf: Make virDomainDeviceInfoIterate usable without os type (Peter Krempa),
  virsh-snapshot: Add ability to print only snapshot names (Peter Krempa)
- Cleanups:
  python:remove semicolon in python code (Guannan Ren),
  Clean redundant code about VCPU string checking (Li Zhang),
  Cleanup useless flags specifications (Martin Kletzander),
  nodeinfo: don't define nodeGetCellMemory if it isn't ever used (Hu Tao),
  virsh-domain: Remove unused vshCompleteXMLFromDomain (Peter Krempa),
  sheepdog: Adjust logic to break while loop to avoid Coverity error (John Ferlan),
  libxl_driver: Resolve Coverity errors (John Ferlan),
  libxl_conf: Resolve Coverity issue with call to regcomp() (John Ferlan),
  conf: whitespace cleanups and refactors with no semantic impact (Peter Krempa)

### 1.0.3: Mar 5 2013

- Features:
  Introduce virDomainMigrate*CompressionCache APIs (Jiri Denemark),
  Introduce virDomainGetJobStats API (Jiri Denemark),
  Add basic support for VDI images (Martin Kletzander),
  Introduce API virNodeDeviceLookupSCSIHostByWWN (Osier Yang),
  Various locking improvements (Daniel P. Berrange)
- Documentation:
  internals: Update to include RPC and Lock links and add new data (John Ferlan),
  Add references for phyp and parallels (John Ferlan),
  api: Add text and references for daemon (John Ferlan),
  api: Add text and references for drivers section (John Ferlan),
  api: Complete list of function and naming conventions (John Ferlan),
  api: Reword and clean lists for object description (John Ferlan),
  api: Reword objects exposed section (John Ferlan),
  hellolibvirt: Adjust code to use new APIs (John Ferlan),
  libvirt: Update headers for doc (John Ferlan),
  hook: log the exit status of the hook not 256 (Guido Günther),
  maint: fix typo in network docs (Eric Blake),
  util: Add docs for virXMLProp string (Peter Krempa),
  Fix attribute name for virtio-rng backend (Peter Krempa),
  document new storage volume/pool types (Philipp Hahn),
  schema: Add basic documentation for the virtual RNG device support (Peter Krempa),
  util: fix typo in comment (Laine Stump),
  Add missing 'vram' in QXL video device doc (Christophe Fergeau),
  Fix HTML errors (Jiri Denemark),
  fix 1.0.2 release date (Eric Blake),
  HACKING: Sync with docs/hacking.html.in (John Ferlan),
  hacking: Add some details to handle Valgrind output (John Ferlan),
  don't ignore virEvent API (Eric Blake),
  use div, not table, for notices on opaque types (Claudio Bley),
  abort when missing return or argument documentation (Claudio Bley),
  libvirt.h.in: document virConnectDomainEventCallback's return value (Claudio Bley),
  libvirt.h.in: add missing return doc for virEventRemoveHandleFunc (Claudio Bley),
  libvirt.h.in: fix documentation for virConnectDomainEventBlockJobCallback (Claudio Bley),
  libvirt.h.in: add missing documentation for virConnectCloseFunc (Claudio Bley),
  Sync HACKING and hacking.html.in (Martin Kletzander)
- Portability:
  build: don't use gcrypt.h without gnutls support (Eric Blake),
  tests: skip virstoragetest on RHEL 5 (Eric Blake),
  Remove some C99 variable decls in parallels driver (Daniel P. Berrange),
  tests: old automake lacks abs_builddir (Eric Blake),
  tests: consistent skip messages (Eric Blake),
  tests: don't test json when not compiled in (Eric Blake),
  tests: avoid segfault if json monitor not present (Eric Blake),
  run: use portable shell (Eric Blake),
  s/arm/armv7l/ in caps-qemu-kvm.xml (Daniel P. Berrange),
  build: force correct gcc syntax for attribute_nonnull (Eric Blake),
  build: more mingw fixes (Eric Blake),
  build: fix mingw build (Eric Blake),
  build: fix vircommand build on mingw (Eric Blake),
  regex: gnulib guarantees that we have regex support (Eric Blake),
  build: fix compilation of selinux on RHEL 5 (Eric Blake),
  build: fix VPATH testsuite (Eric Blake),
  build: fix build of HAL node backend (Eric Blake),
  sanitytest.py: Do not rely on system libvirt (Jiri Denemark),
  tests: reserve more fds for commandtest (Eric Blake),
  build: Add libcurl dependency to libvirt_driver.la (Jiri Denemark),
  tests: Don't build securityselinuxlabeltest without qemu (Jiri Denemark)
- Bug Fixes:
  Fix TLS tests with gnutls 3 (Daniel P. Berrange),
  qemu: fix wrong evaluation in qemuDomainSetMemoryParameters (Satoru Moriya),
  libvirt does not logout of iscsi targets, causing system hang on shutdown (Fritz Elfert),
  qemu: Remove managed save flag from VM when starting with --force-boot (Peter Krempa),
  qemu: Use -1 as unpriviledged uid/gid (Christophe Fergeau),
  virnetdevmacvlan.c: Introduce mutex for macvlan creation (Michal Privoznik),
  Fix deadlock in QEMU close callback APIs (Daniel P. Berrange),
  Fix crash in QEMU auto-destroy with transient guests (Daniel P. Berrange),
  python: fix fd leak in generator.py (Guannan Ren),
  qemu: Make sure qemuProcessStart is run within a job (Jiri Denemark),
  Fix starting qemu instances when apparmor driver is enabled (Jim Fehlig),
  qemu: Don't fail to shutdown domains with unresponsive agent (Michal Privoznik),
  qemu: virConnectGetVersion returns bogus value (Viktor Mihajlovski),
  qemu: fix use-after-free when parsing NBD disk (Paolo Bonzini),
  Don't try to add non-existant devices to ACL (Daniel P. Berrange),
  Fix typo in internal VIR_QEMU_PROCESS_START_AUTODESROY constant (Daniel P. Berrange),
  Fix autodestroy of QEMU guests (Daniel P. Berrange),
  qemu: -numa doesn't (yet) support disjoint range (Eric Blake),
  interface: udev backend coverity NULL deref (Doug Goldstein),
  Fix crash changing CDROM media (Daniel P. Berrange),
  qemu: do not set unpriv_sgio if neither supported nor requested (Paolo Bonzini),
  conf: Avoid leaking of RNG device definition (Peter Krempa),
  interface: Fix udev backend bridge device display (Doug Goldstein),
  storage: use f_frsize, not f_bsize, for calculating available space (Sage Weil),
  conf: Don't leak 'ram' video property on error (Christophe Fergeau),
  conf: Don't leak 'primary' video property on error (Christophe Fergeau),
  qemu: check backing chains even when cgroup is omitted (Eric Blake),
  qemu: Avoid deadlock in autodestroy (Jiri Denemark),
  qemu: fix an off-by-one error in qemuDomainGetPercpuStats (Guannan Ren),
  qemu: Fix the memory leak (Osier Yang),
  keepalive: Guard against integer overflow (John Ferlan),
  libxl: Fix setting of disk backend (Jim Fehlig),
  Remove a couple of misplaced VIR_FREE (John Ferlan),
  Fix memory leak in virNetClientIOWriteMessage (Sergey Fionov),
  qemu: Do not ignore mandatory features in migration cookie (Jiri Denemark),
  rpc: Avoid deadlock when closing client connection (Jiri Denemark),
  Avoid resetting errors in virTypedParamsFree (Jiri Denemark),
  interface: fix udev backend use after free (Doug Goldstein),
  virsh: Resolve possible NULL dereference (John Ferlan),
  commandtest: Resolve some coverity resource leaks (John Ferlan),
  Fix libvirt upgrade path when nwfilter is used (Stefan Berger),
  util: maintain caps when running command with uid != 0 (Laine Stump),
  virCommand: Don't misuse the eventloop for async IO (Michal Privoznik),
  Release VM lock before acquiring virDomainObjListPtr lock (Daniel P. Berrange),
  Fix potential deadlock across fork() in QEMU driver (Daniel P. Berrange),
  hypervisor: Restore pm initialization (John Ferlan),
  Remove re-entrant API call in SELinux/AppArmor security managers (Daniel P. Berrange),
  xend: Fix a memory leak found by Coverity (John Ferlan),
  network_conf.c: Free xmlDoc after use (Michal Privoznik),
  virsh-snapshot: Fix XPath query to determine snapshot state (Peter Krempa),
  virnetttlcontext: Resolve issues found by Valgrind (John Ferlan),
  qemumonitortestutils: Resolve resource leaks found by Valgrind (John Ferlan),
  qemumonitorjsontest: Resolve resource leaks found by Valgrind (John Ferlan),
  qemu_command: Resolve resource leaks found by Valgrind (John Ferlan),
  domain_conf: Resolve resource leaks found by Valgrind (John Ferlan),
  vport_profile_conf: Resolve memory leak found by Valgrind (John Ferlan),
  netdev_vlan_conf: Resolve memory leak found by Valgrind. (John Ferlan),
  qemuxml2argvtest: Resolve resource leaks found by Valgrind (John Ferlan),
  virnettlscontexttest: Resolve memory leak found by Valgrind (John Ferlan),
  qemu_hotplug: Need to call virUSBDeviceFree() (John Ferlan),
  rpc: Need to virCommandFree on error path (John Ferlan),
  uml: Resolve leak if need to requery in umlIdentifyOneChrPTY() (John Ferlan),
  openvz: Need to error check openvzDomainSetVcpusFlagsInternal() (John Ferlan),
  parallels: Need to free memory on error path (John Ferlan),
  network: Remove conditional settings to resolve resource leak (John Ferlan),
  storage: Resolve resource leaks with cmd processing (John Ferlan),
  keepalive: Resolve Coverity complaint (John Ferlan),
  tlscontext: Make sure to get proper pointer to 'dname' (John Ferlan),
  Fix leak of usbDevice struct when initializing cgroups (Daniel P. Berrange),
  Fix typo in configure.ac causing $LIBS to gain a copy of $CFLAGS (Daniel P. Berrange),
  util: Fix mask for 172.16.0.0 private address range (Jiri Denemark)
- Improvements:
  rng: restrict passthrough names to known-good files (Eric Blake),
  util: use string libvirt to prefix error message instead of libvir (Guannan Ren),
  python: fix typoes and repeated global vars references (Guannan Ren),
  Fix a message typo (Serge Hallyn),
  Avoid spamming logs with cgroups warnings (Daniel P. Berrange),
  tests: Test XML entities in source path for RNG device (Peter Krempa),
  tests: fix leaks in storagevolxml2argvtest (Ján Tomko),
  libvirt.c: Make VIR_MIGRATE_NON_SHARED_{INC,DISK} mutually exclusive (Michal Privoznik),
  schema: Restrict mode to octal (Philipp Hahn),
  libvirt: fix error message when connection can't be opened (Ján Tomko),
  tests: uniformly report test failures (Eric Blake),
  qemu: minor monitor lock cleanups (Eric Blake),
  qemu: don't override earlier json error (Eric Blake),
  qemu: Refactor qemuDomainSetMemoryParameters (Peter Krempa),
  storage: cast -1 for uid_t|gid_t (Philipp Hahn),
  storage: Cast uid_t|gid_t to unsigned int (Philipp Hahn),
  util: Fix printf format for uid_t|gid_t (Philipp Hahn),
  tests: Add tests for virtio-rng device handling (Peter Krempa),
  qemu: Implement support for EGD backend for virtio-rng (Peter Krempa),
  qemu: Implement support for default 'random' backend for virtio-rng (Peter Krempa),
  conf: Add RNG device ABI compatibility check (Peter Krempa),
  conf: Add support for RNG device configuration in XML (Peter Krempa),
  conf: Add fake switch statement to warn for new device types (Peter Krempa),
  use client id for IPv6 DHCP host definition (Gene Czarcinski),
  Trivial fix: in dhcp-host the name is optional (Gene Czarcinski),
  storage: qemu-img: change INFO to DEBUG (Ján Tomko),
  storage: move qemu-img options before positional arguments (Ján Tomko),
  storage: add test for qemu-img command line generation (Ján Tomko),
  storage: separate qemu-img command generation and execution (Ján Tomko),
  storage: move flag setting after declarations (Ján Tomko),
  run: license as LGPL (Eric Blake),
  qemu_migration: Cancel running jobs on failed migration (Michal Privoznik),
  qemu_migration: Stop NBD server at Finish phase (Michal Privoznik),
  qemu_migration: Introduce qemuMigrationDriveMirror (Michal Privoznik),
  qemu_migration: Introduce qemuMigrationStartNBDServer() (Michal Privoznik),
  qemu: Introduce nbd-server-stop command (Michal Privoznik),
  qemu: Introduce nbd-server-add command (Michal Privoznik),
  qemu: Introduce nbd-server-start command (Michal Privoznik),
  Introduce NBD migration cookie (Michal Privoznik),
  qemu: Introduce NBD_SERVER capability (Michal Privoznik),
  Add support for <option> tag in network config (Pieter Hollants),
  maint: check all symfiles for sorting (Eric Blake),
  qemu: Implement virDomainMigrate*CompressionCache (Jiri Denemark),
  virsh: Add migrate-compcache command (Jiri Denemark),
  remote: Implement virDomainMigrate*CompressionCache (Jiri Denemark),
  python: Implement virDomainMigrateGetCompressionCache wrapper (Jiri Denemark),
  qemu: Implement virDomainGetJobStats (Jiri Denemark),
  qemu: Parse more fields from query-migrate QMP command (Jiri Denemark),
  virsh: Use virDomainGetJobStats in domjobinfo if available (Jiri Denemark),
  remote: Implement virDomainGetJobStats (Jiri Denemark),
  remote: Auto-allocate params in remoteDeserializeTypedParameters (Jiri Denemark),
  python: Implement virDomainGetJobStats wrapper (Jiri Denemark),
  qemu: Add support for compressed migration (Jiri Denemark),
  Introduce VIR_MIGRATE_COMPRESSED flag (Jiri Denemark),
  Update arch names in RNG schema to match virarch.c (Daniel P. Berrange),
  interface: dev type support for bond interfaces (Doug Goldstein),
  interface: add bond support to udev backend (Doug Goldstein),
  interface: Improve udev backend device type id (Doug Goldstein),
  interface: Refactor interface vlan to helper func (Doug Goldstein),
  interface: udev bridge code error handling updates (Doug Goldstein),
  interface: Refactor udev bridge to helper func (Doug Goldstein),
  conf: Refactor ABI stability checking and break long lines (Peter Krempa),
  conf: Refactor cpumask handling (Peter Krempa),
  conf: Reformat many function headers in domain_conf.c (Peter Krempa),
  conf: Fix label naming in virDomainDefFormatInternal (Peter Krempa),
  conf: Ensure that new devices are added to conf copy function (Peter Krempa),
  qemu: Refactor error paths in virQEMUDriverCreateCapabilities (Peter Krempa),
  conf: Improve core dump config error message (Peter Krempa),
  qemu: Turn closeCallbacks into virObjectLockable (Jiri Denemark),
  qemu: Run lzop with '--ignore-warn' (Michal Privoznik),
  qemu: Remove the shared disk entry if the operation is ejecting or updating (Osier Yang),
  qemu: Move the shared disk adding and sgio setting prior to attaching (Osier Yang),
  qemu: Update shared disk table when reconnecting qemu process (Osier Yang),
  qemu: Record names of domain which uses the shared disk in hash table (Osier Yang),
  qemu: Merge qemuCheckSharedDisk into qemuAddSharedDisk (Osier Yang),
  qemu: Add checking in helpers for sgio setting (Osier Yang),
  maint: enforce private symbol section sorting (Eric Blake),
  qemu: switch PCI address alocation to use virDevicePCIAddress (Ján Tomko),
  virsh: distinguish errors between missing argument and wrong option (Guannan Ren),
  maint: sort private syms to reflect recent header renames (Eric Blake),
  maint: fix header file owners of private symbols (Eric Blake),
  net: use structs for address and port ranges (Natanael Copa),
  net: add support for specifying port range for forward mode nat (Natanael Copa),
  net: support set public ip range for forward mode nat (Natanael Copa),
  qemu: Use atomic ops for driver->nactive (Jiri Denemark),
  virsh: Always print capacity unit (Jiri Denemark),
  qemu: pass "-1" as uid/gid for unprivileged qemu (Guido Günther),
  Add capabilities bit for -no-kvm-pit-reinjection (Doug Goldstein),
  Add autogenerated lxc_protocol.[ch] to gitignore (Doug Goldstein),
  drivermodule: Ignore coverity warning about leaked_storage (John Ferlan),
  storage: test backing chain traversal (Eric Blake),
  storage: don't follow backing chain symlinks too eagerly (Eric Blake),
  storage: refactor metadata lookup (Eric Blake),
  storage: prepare for refactoring (Eric Blake),
  storage: rearrange functions (Eric Blake),
  vbox: Don't overwrite errors returned by virDomainDeviceDefParse (Jiri Denemark),
  util: virSetUIDGIDWithCaps - change uid while keeping caps (Laine Stump),
  util: drop capabilities immediately after changing uid/gid of child (Laine Stump),
  qemu: let virCommand set child process security labels/uid/gid (Laine Stump),
  security: add new virSecurityManagerSetChildProcessLabel API (Laine Stump),
  util: add security label setting to virCommand (Laine Stump),
  build: define SECDRIVER_LIBS in Makefile.am (Laine Stump),
  qemu: replace exec hook with virCommandSetUID/GID in storage_backend (Laine Stump),
  qemu: replace exec hook with virCommandSetUID/GID in qemuCaps* (Laine Stump),
  util: make virSetUIDGID a NOP only when uid or gid is -1 (Laine Stump),
  util: add virCommandSetUID and virCommandSetGID (Laine Stump),
  util: refactor virCommandHook into virExec and virCommandHandshakeChild (Laine Stump),
  util: eliminate extra args from virExec (Laine Stump),
  util: eliminate generic hook from virExecWithHook (Laine Stump),
  Remove qemuDriverLock from almost everywhere (Daniel P. Berrange),
  virsh-volume.c: Switch to c99 initialization of vshCmdInfo (Michal Privoznik),
  virsh-snapshot.c: Switch to c99 initialization of vshCmdInfo (Michal Privoznik),
  virsh-secret.c: Switch to c99 initialization of vshCmdInfo (Michal Privoznik),
  virsh-pool.c: Switch to c99 initialization of vshCmdInfo (Michal Privoznik),
  virsh-nwfilter.c: Switch to c99 initialization of vshCmdInfo (Michal Privoznik),
  virsh-nodedev.c: Switch to c99 initialization of vshCmdInfo (Michal Privoznik),
  virsh-network.c: Switch to c99 initialization of vshCmdInfo (Michal Privoznik),
  virsh-interface.c: Switch to c99 initialization of vshCmdInfo (Michal Privoznik),
  virsh-host.c: Switch to c99 initialization of vshCmdInfo (Michal Privoznik),
  virsh-domain.c: Switch to c99 initialization of vshCmdInfo (Michal Privoznik),
  virsh-domain-monitor.c: Switch to c99 initialization of vshCmdInfo (Michal Privoznik),
  virsh.c: Switch to c99 initialization of vshCmdInfo (Michal Privoznik),
  virsh: Switch to c99 initialization of vshCmdDef (Michal Privoznik),
  xen: clean up the mess with cpumap (Eric Blake),
  util: use new virendian.h macros (Eric Blake),
  util: add virendian.h macros (Eric Blake),
  Check if classes are derived from object (Guido Günther),
  virsh: Use virNodeDeviceLookupSCSIHostByWWN (Osier Yang),
  nodedev: Implement virNodeDeviceLookupSCSIHostByWWN (Osier Yang),
  remote: Wire up the remote protocol (Osier Yang),
  hypervisor: Revisit Coverity issues regarding cpumap (John Ferlan),
  hypervisor: Remove redundant validity checks, clean up function headers (John Ferlan),
  xend: Remove redundant validity checks, clean up function headers (John Ferlan),
  xm: Remove redundant validity checks, clean up function headers (John Ferlan),
  inotify: Clean up some function headers (John Ferlan),
  xs: Remove redundant validity checks, clean up function headers (John Ferlan),
  virsh-snapshot: Reject --no-metadata together with --print-xml (Peter Krempa),
  virsh-snapshot: Refactor some details in virsh snapshot-create-as (Peter Krempa),
  Pass virQEMUDriverPtr into APIs managed shared disk list (Daniel P. Berrange),
  Serialize execution of security manager APIs (Daniel P. Berrange),
  Turn virSecurityManager into a virObjectLockable (Daniel P. Berrange),
  sheepdog: skip refresh on creation failure (Harry Wei),
  util: refactor iptables command construction into multiple steps (Natanael Copa),
  qemu: support vhost-net for generic ethernet devices (Laine Stump),
  Stop accessing driver->caps directly in QEMU driver (Daniel P. Berrange),
  Rename 'qemuCapsXXX' to 'virQEMUCapsXXX' (Daniel P. Berrange),
  Turn virCapabilities into a virObject (Daniel P. Berrange),
  Fix comment about virCgroupPtr locking rules in QEMU driver (Daniel P. Berrange),
  Fix PKI directory used for QEMU test suite (Daniel P. Berrange),
  virCondDestroy: Lose attribute RETURN_CHECK (Michal Privoznik),
  Drop useless virFileWrapperFdCatchError (Michal Privoznik),
  valgrind: Adjust the suppression file (John Ferlan),
  Add syntax-check to make sure Python files don't contain trailing semicolon (Guido Günther),
  Remove more trailing semicolons in Python files (Guido Günther),
  syntax-check: Don't check non-reentrant functions in docs (Peter Krempa),
  Cosmetics: Remove semicolons (Guido Günther),
  bitmap: add way to find next clear bit (Eric Blake),
  Initialize qemuImageBinary path at startup (Daniel P. Berrange),
  Introduce annotations for virQEMUDriverPtr fields (Daniel P. Berrange),
  Protect USB/PCI device list access in QEMU with dedicated locks (Daniel P. Berrange),
  Convert virPCIDeviceList and virUSBDeviceList into virObjectLockable (Daniel P. Berrange),
  Rename all USB device functions to have a standard name prefix (Daniel P. Berrange),
  Rename all PCI device functions to have a standard name prefix (Daniel P. Berrange),
  Remove pointless 'qemuVersion' field from virQEMUDriverPtr (Daniel P. Berrange),
  Use atomic ops to increment nextvmid (Daniel P. Berrange),
  Make virDomainObjList self-locking via virObjectLockable (Daniel P. Berrange),
  Merge virDomainObjListIsDuplicate into virDomainObjListAdd (Daniel P. Berrange),
  qemu: don't log failure during QMP add-fd probe (Eric Blake),
  Turn virDomainObjList into an opaque virObject (Daniel P. Berrange),
  Rename all domain list APIs to have virDomainObjList prefix (Daniel P. Berrange),
  Introduce a virQEMUDriverConfigPtr object (Daniel P. Berrange),
  Fix missing error constants in libvirt python module (Daniel P. Berrange),
  qemu: Catch stderr of image compression binary (Michal Privoznik),
  qemu: Catch stderr of image decompression binary (Michal Privoznik),
  virFileWrapperFd: Switch to new virCommandDoAsyncIO (Michal Privoznik),
  tests: Create test for virCommandDoAsyncIO (Michal Privoznik),
  Introduce event loop to commandtest (Michal Privoznik),
  virCommand: Introduce virCommandDoAsyncIO (Michal Privoznik),
  conf: Use correct type for device type enum in virDomainDeviceDefFree (Peter Krempa),
  Support shifted magic in storage files (Martin Kletzander),
  virsh-secret: Refactor error paths (Peter Krempa),
  virsh-nwfilter: Update nwfilter commands to use vshCommandOptStringReq (Peter Krempa),
  virsh-snapshot: Update snapshot commands to use vshCommandOptStringReq (Peter Krempa),
  virsh-snapshot: Refactor cmdSnapshotDumpXML (Peter Krempa),
  virsh-nodedev: Refactor error paths, error messages and whitespace (Peter Krempa),
  virsh-nodedev: Update node device commands to use vshCommandOptStringReq (Peter Krempa),
  virsh-interface: Update interface commands to use vshCommandOptStringReq (Peter Krempa),
  virsh-network: Update network commands to use vshCommandOptStringReq (Peter Krempa),
  virsh-host: Update host commands to use vshCommandOptStringReq (Peter Krempa),
  virsh-domain: Update domain commands to use vshCommandOptStringReq (Peter Krempa),
  virsh-domain-monitor: Update domain commands to use vshCommandOptStringReq (Peter Krempa),
  virsh-volume: Update volume commands to use vshCommandOptStringReq (Peter Krempa),
  virsh-pool: Update pool commands to use vshCommandOptStringReq (Peter Krempa),
  virsh: Add helper to request string arguments with error reporting (Peter Krempa),
  virsh-pool: Rename helper function buildPoolXML to vshBuildPoolXML (Peter Krempa),
  virsh-volume: Rename helper function makeCloneXML to vshMakeCloneXML (Peter Krempa),
  virsh-snapshot: Fix coding style and remove dead code (Peter Krempa),
  hyperv: Simplify hypervPrivate pointer handling in hypervOpen (Matthias Bolte),
  esx: Simplify esxPrivate pointer handling in esxOpen (Matthias Bolte),
  maint: update to latest gnulib (Eric Blake),
  Add support for QEMU -add-fd support detection (Stefan Berger),
  qemu: expose qemu 1.3 add-fd monitor command (Eric Blake),
  tests: add a comment about our fake qmp (Eric Blake),
  spec: Avoid using makeinstall relic (Jiri Denemark),
  complete virterror->virerror name change (Serge Hallyn),
  apibuild.py: fix TypeError raised in except clause (Claudio Bley),
  Enforce return check on virAsprintf() calls (John Ferlan),
  snapshot: Mention disk-only snapshots in error message (Peter Krempa)
- Cleanups:
  Revert hack for autodestroy in qemuProcessStop (Daniel P. Berrange),
  Revert "Add support for <option> tag in network config" (Laine Stump),
  security: Remove unnecessary checks for mgr == NULL (John Ferlan),
  vircommand: Remove unnecessary sa_assert (John Ferlan),
  build: fix make check of remote_protocol-structs (Laine Stump),
  spec: Fix minor changelog issues (Jiri Denemark)

### 1.0.2: Jan 30 2013

- Features:
  LXC improvements (Daniel P. Berrange),
  S390 architecture improvement (Viktor Mihajlovski),
  Power architecture improvement (Li Zhang),
  large Coverity report cleanups and associated bug fixes (John Ferlan),
  virTypedParams* APIs to helps with those data structures (Jiri Denemark)
- Documentation:
  aesthetical cleanups (Martin Kletzander),
  fix missed documentation for virterror functions (Claudio Bley),
  util: Fix docs for virBitmapParse (Peter Krempa),
  rng: Have colorful *.rng with editor (Osier Yang),
  safe{read,write}: Document usage with nonblocking FD (Michal Privoznik),
  Generate documentation for virTypedParams* APIs (Jiri Denemark),
  event.c source file was renamed as virevent.c (Jiri Denemark),
  Add some style and color to the HTML documentation (Claudio Bley),
  don't use <i> and <tt> HTML tags (Claudio Bley),
  Assign classes to documentation elements (Claudio Bley),
  remove extra " (Eric Blake),
  maint: typo fix (Eric Blake),
  restrict the set of characters for info keys (Claudio Bley),
  simplify code (Claudio Bley),
  mention git rename detection (Eric Blake),
  add some more hacking tips (Eric Blake),
  fix typo in isa-serial additions (Laine Stump),
  network: fix typos and docs (Guannan Ren),
  maint: fix comment typo (Eric Blake),
  break longer text into paragraphs in HTML (Claudio Bley),
  remove duplicate check in index.add (Claudio Bley),
  Add missing flags to migrate documentation (Guido Günther),
  Add docs and rng schema for new XML tag sgio (Osier Yang),
  Fix the comment grammar (Osier Yang),
  Remove the inexistent function in comments (Osier Yang),
  fix typo in the word affinities (Martin Kletzander),
  Fix documentation for readonly element (Jiri Denemark),
  Replace </br> with <br/> in docs/news.html.in (Peter Krempa)
- Portability:
  Make sure we only abort without libcurl if $with_esx = yes (Guido Günther),
  build: Fix RPM build errors related to libvirt-lxc API (Viktor Mihajlovski),
  build: fix build on BSD (Eric Blake),
  build: further fixes for broken if_bridge.h (Eric Blake),
  securityselinuxhelper.c: Don't try to include xattr.h if not available (John Ferlan),
  build: work around broken kernel header (Eric Blake),
  build: avoid m4_expand for RHEL 5 (Eric Blake),
  build: move file deleting action from %files list to %install (Yufang Zhang),
  build: libvirt-guests files misplaced in specfile (Viktor Mihajlovski),
  build: fix mingw rpm build (Eric Blake),
  build: fix build with optimization enabled (Eric Blake),
  build: make broken -Wlogical-op test be gcc-only (Eric Blake),
  util: FreeBSD: stub out CPU affinity functions (Roman Bogorodskiy),
  nodeinfo: add FreeBSD support (Roman Bogorodskiy),
  build: Check for broken GCC -Wlogical-op in configure (Viktor Mihajlovski)
- Bug fixes:
  conf: Don't format cputune element when not needed (Martin Kletzander),
  conf: Fix cpumask leak in virDomainDefFree (Ján Tomko),
  qemu: Destroy domain on decompression binary error (Michal Privoznik),
  rpc: Fix crash on error paths of message dispatching (Peter Krempa),
  vbox: Address false positive for NULL dereference (John Ferlan),
  libxl: Fix removing non-persistent domain after save (Jim Fehlig),
  libxl: Fix race between destruction of objects (Jim Fehlig),
  libxl: Fix races in libxl event code (Jim Fehlig),
  libxl: Fix handling of timeouts (Jim Fehlig),
  conf: avoid NULL deref for pmsuspended domain state (Eric Blake),
  qemu_monitor: Fix tray-open attribute in query-block (Michal Privoznik),
  Fix bogus reporting of KVM support for non-native emulators (Daniel P. Berrange),
  Move QEMU capabilities initialization later in QEMU startup (Daniel P. Berrange),
  Fix performance & reliabilty of QMP probing (Daniel P. Berrange),
  qemu: escape ipv6 for rbd network disk hosts (Josh Durgin),
  snapshot: fix state after external snapshot of S3 domain (Eric Blake),
  python: Fix bindings for virDomainSnapshotGet{Domain,Connect} (Jiri Denemark),
  Fix crash free'ing securityDriverNames in QEMU driver (Daniel P. Berrange),
  Fix leak of securityDriverNames (Daniel P. Berrange),
  Avoid use of free'd memory in auto destroy callback (Daniel P. Berrange),
  Ensure nodeinfo struct is initialized to zero (Daniel P. Berrange),
  apparmor: Avoid freeing uninitialized pointer (Jiri Denemark),
  xen: Actually fix the uninitialized variable (Peter Krempa),
  xen: Initialize variable before using (Peter Krempa),
  util: Need to add virCommandFree() (John Ferlan),
  storage: Need to add virCommandFree() (John Ferlan),
  security: Need to add virCommandFree() (John Ferlan),
  parallels: Resolve some resource leaks (John Ferlan),
  qemu: Re-add driver unlock to qemuDomainSendKey (Viktor Mihajlovski),
  conf: Fix usage of virBitmapParse (Peter Krempa),
  virbitmaptest: Resolve Coverity errors (John Ferlan),
  lxc_process: Avoid passing NULL iface->iname (John Ferlan),
  lxc_driver: Need to check for vm before calling virDomainUnlock(vm) (John Ferlan),
  tests: Remove VIR_FREE() on static/stack buffer (der.data) (John Ferlan),
  Fix nwfilter driver reload/shutdown handling when unprivileged (Daniel P. Berrange),
  conf: Check if number of vCPUs fits in the storage variable (Peter Krempa),
  tests: Need to initialize 'test' properly on error path (John Ferlan),
  virkeepalive: Remove erroneous VIR_FREE(msg) (John Ferlan),
  security: Need to initialize 'sens' (John Ferlan),
  interface: Need to initialize 'ifaces_list' (John Ferlan),
  storage: Need to initialize 'zerobuf' (John Ferlan),
  virsh: Need to intialize 'str' (John Ferlan),
  lxc: Need to initialize 'dst' (John Ferlan),
  virfile: Need to initialize 'looppath' (John Ferlan),
  commandtest: Need to initialize 'errbuf' (John Ferlan),
  virnetdev: Need to initialize 'pciConfigAddr' (John Ferlan),
  virnetsockettest: Need to initialize 'path' (John Ferlan),
  virnetserver: Need to initialize 'sigdata' (John Ferlan),
  conf: Need to initialize variables before VIR_FREE (John Ferlan),
  uml: Avoid resource leak of event in umlInofityEvent (John Ferlan),
  selinux: Resolve resource leak using the default disk label (John Ferlan),
  util: Need to check child JSON allocation before use (John Ferlan),
  parallels: Need to handle virJSONValueObjectGetString error (John Ferlan),
  qemu: Reject attempts to create snapshots with names containig '/' (Peter Krempa),
  qemu: Don't return success if creation of snapshot save file fails (Peter Krempa),
  Fix race condition when destroying guests (Daniel P. Berrange),
  storage: Fix lvcreate parameter for backingStore. (Atsushi Kumagai),
  virobject: Remove the bogus ! from call to virObjectInitialize() (John Ferlan),
  qemu: Check valid activeDev before calling pciDeviceSetUsedBy (John Ferlan),
  Followup fix for integer wraparound in port allocator (Daniel P. Berrange),
  qemu: Double mutex unlock in qemuDomainModifyDeviceFlags (Viktor Mihajlovski),
  fixed xt_physdev warning when defining ip(6)tables rules (Reinier Schoof),
  conf: don't fail to parse <boot> when parsing a single device (Laine Stump),
  Fix inheritance of virNetClient (Daniel P. Berrange),
  Avoid integer wrap on remotePortMax in QEMU driver (Daniel P. Berrange),
  python: Avoid freeing uninitialized new_params pointer (Jiri Denemark),
  Fix typo in variable name (Guido Günther),
  libxl: Fix cleanup on domain start error (Jim Fehlig),
  libxl: Check for libxl_ctx_alloc failure (Jim Fehlig),
  libxl: Don't free domain death event (Jim Fehlig),
  locking: Resolve resource leaks on non error path (John Ferlan),
  conf: fix leak in virDomainVcpuPinAdd (Ján Tomko),
  conf: fix class_id bitmap leak in virNetworkObj (Ján Tomko),
  qemu: fix QEMU_CAPS_NO_ACPI detection (Ján Tomko),
  openvz: Need to check 'vm' first before dereferencing 'def' (John Ferlan),
  interface: Need to check ifacedef->mac not just ifacedef after strdup() (John Ferlan),
  qemu: Don't update count of vCPUs if hot-unplug has failed (Peter Krempa),
  libvirt: lxc: don't mkdir when selinux is disabled (Gao feng),
  xen: Resolve resource leak with 'cpuset' (John Ferlan),
  interface: Resolve resource leak wth 'tmp_iface_objs' (John Ferlan),
  storage: Resource resource leak using 'tmp_vols' (John Ferlan),
  test: Resource resource leak with 'tmp_vols' (John Ferlan),
  rpc: Avoid resource leak of 'socks' if any object append fails (John Ferlan),
  util: Resolve resource leak for 'res' in virSetInherit error path. (John Ferlan),
  interface: Need to initialize 'add_to_list' (John Ferlan),
  lxc: Initialize dst due to potential cleanup usage before setting (John Ferlan),
  openvz: Need to initialize 'ret' for kb_per_pages error path (John Ferlan),
  parallels: Resolve issues with uninitialized 'ret' value (John Ferlan),
  storage: Need to also VIR_FREE(reg) (John Ferlan),
  Fix typo LIBCURL_{CFLAGS,LIBS} to CURL_{CFLAGS,LIBS} (Daniel P. Berrange),
  Fix build due to previous LXC patch (Daniel P. Berrange),
  build: fix incomplete WITH_SASL conversion (Eric Blake),
  network: bridge: Fix regression when defining persistent networks (Peter Krempa),
  storage: Resolve resource leak using 'vol' buffer (John Ferlan),
  phyp: Resolve some file descriptor leaks (John Ferlan),
  qemu_agent: Remove agent reference only when disposing it (Michal Privoznik),
  libvirt: lxc: fix incorrect parameter of lxcContainerMountProcFuse (Gao feng),
  util: Check for NULL 'dev' on input to usbFreeDevice (John Ferlan),
  maint: avoid potential promotion issues with [ug]id_t (Eric Blake),
  Resolve COPY_PASTE error found by Coverity (John Ferlan),
  storage: fix leak in virStorageBackendLogicalMakeVol (Ján Tomko),
  cpu: Avoid NULL dereference (John Ferlan),
  lxc: Avoid possible NULL dereference on *root prior to opendir(). (John Ferlan),
  remote: Avoid calling virAuthConfigLookup() if 'credname' is NULL. (John Ferlan),
  vmware: Avoid NULL dereference for 'caps' (John Ferlan),
  xen: Avoid possible NULL dereference (John Ferlan),
  Fix virLXCPrepareHostDevices method (Daniel P. Berrange),
  Only initialize capabilities after setting dir permissions (Daniel P. Berrange),
  build: install libvirt sysctl file correctly (Eric Blake),
  snapshot: qemu: Fix segfault and vanishing snapshots when redefining (Peter Krempa),
  qemu: Detect VGA_QXL capability correctly (Michal Privoznik),
  qemu: fix a segfault in qemuProcessWaitForMonitor (Ján Tomko),
  parallels: check and handle error for virAsprintf() calls (John Ferlan),
  udev: check and handle error for virAsprintf() calls (John Ferlan),
  util: fix botched check for new netlink request filters (Laine Stump),
  blockjob: fix memleak that prevented block pivot (Eric Blake),
  util: fix functions that retrieve SRIOV VF info (Laine Stump),
  Fix parsing of arch from domain XML (Daniel P. Berrange),
  Fix CPU baseline to not hardcode arch (Daniel P. Berrange),
  Fix SELinux security label test (Daniel P. Berrange),
  spec: Fix script warning when uninstalling libvirt-client (Cole Robinson),
  network: don't require private addresses if dnsmasq uses SO_BINDTODEVICE (Laine Stump),
  `apparmor: Fix build (Jiri Denemark),
  S390: Fix virSysinfoRead memory corruption (Viktor Mihajlovski)
- Improvements:
  Ignore '.trs' files (Martin Kletzander),
  build: Regenerate man pages on version bump (Jiri Denemark),
  rng: Change the datatype for volume name for common use (Osier Yang),
  rng: Remove the duplicate definition (Osier Yang),
  qemu_hotplug: Rework media changing process (Michal Privoznik),
  maint: one missed syms file (Eric Blake),
  vbox: Adjust the UTF FREE macros (John Ferlan),
  virsh: Add --print-xml flag for attach-disk command (Peter Krempa),
  libxl: Domain event handler improvements (Jim Fehlig),
  libxl: Explicitly remove timeouts (Jim Fehlig),
  maint: make it easier to sort syms files (Eric Blake),
  qemuDomainSendKey: Relax the qemu driver locking (Michal Privoznik),
  node_memory: Add '\n' to help message (Satoru Moriya),
  locking: use virStrcpyStatic instead of memcpy (John Ferlan),
  Make python objects inherit from 'object' base class (Daniel P. Berrange),
  selinux: Properly indent preprocessor directives (Jiri Denemark),
  selinux: Only create the selabel_handle once. (Richard W.M. Jones),
  parallels_utils: Check return status properly from virCommandRun() (John Ferlan),
  test: Add support for thread and core information for the test driver (Peter Krempa),
  capabilities: Add additional data to the NUMA topology info (Peter Krempa),
  capabilities: Switch CPU data in NUMA topology to a struct (Peter Krempa),
  conf: Split out NUMA topology formatting to simplify access to data (Peter Krempa),
  schemas: Add schemas for more CPU topology information in the caps XML (Peter Krempa),
  schema: Make the cpuset type reusable across schema files (Peter Krempa),
  S390: Enhance memballoon handling for virtio-s390 (Viktor Mihajlovski),
  qemu_agent: Ignore expected EOFs (Michal Privoznik),
  nodeinfo: Use sa_assert() instead of Coverity error tag (John Ferlan),
  build: allow virObject to have no parent (Eric Blake),
  qemu: Support ram bar size for qxl devices (Alon Levy),
  viralloc: Adjust definition of VIR_FREE() for Coverity (John Ferlan),
  conf: Improve error messages if parsing of vCPU count fails (Peter Krempa),
  virsh-domain: Refactor error paths for cmdCPUStats (Peter Krempa),
  fix typos in comments for VIR_DOMAIN_PROCESS_SIGNAL_{PWR,SYS} (Claudio Bley),
  storage: Add coverity[dead_error_condition] to avoid error (John Ferlan),
  network: Add coverity[leaked_handle] to ignore error (John Ferlan),
  remote: Avoid coverity[leaked_storage] message. (John Ferlan),
  qemu: Add coverity[negative_returns] tag (John Ferlan),
  rpc: Add coverity[dead_error_begin] tag (John Ferlan),
  xen: Add coverity[ptr_arith] and [sign_extension] tags (John Ferlan),
  nodeinfo: Add coverity[dead_error_begin] and [returned_null] tags (John Ferlan),
  lxc: Add coverity[dead_error_begin] tag in switch stmts (John Ferlan),
  xend: Address some Coverity false positives (John Ferlan),
  security: Use virStrcpy to move the label (John Ferlan),
  qemu: Forbid snapshot names starting with '.' (Peter Krempa),
  spec: indent %if to make it easier to see conditions (Eric Blake),
  Log flags passed to qemuMigrationPrepare{Tunnel,Direct} APIs (Michal Privoznik),
  Introduce virTypedParamsClear public API (Jiri Denemark),
  virsh: Use virTypedParams* APIs in cpu-stats (Jiri Denemark),
  virsh: Use virTypedParams* APIs in node-memory-tune (Jiri Denemark),
  virsh: Use virTypedParams* APIs in numatune (Jiri Denemark),
  virsh: Use virTypedParams* APIs in memtune (Jiri Denemark),
  virsh: Use virTypedParams* APIs in domblkstat (Jiri Denemark),
  virsh: Use virTypedParams* APIs in schedinfo (Jiri Denemark),
  virsh: Use virTypedParams* APIs in domiftune (Jiri Denemark),
  virsh: Use virTypedParams* APIs in blkiotune (Jiri Denemark),
  virsh: Use virTypedParams* APIs in blkdeviotune (Jiri Denemark),
  Add virTypedParams* APIs (Jiri Denemark),
  qemu: Simplify condition with already extracted flag (Peter Krempa),
  network: use bandwidth from portgroup when appropriate (Laine Stump),
  network: Resolve some issues around vlan copying (John Ferlan),
  lock_daemon: Simplify error handling (Peter Krempa),
  virsh-volume.c: Switch to C99 initialization of vshCmdOptDef (Michal Privoznik),
  virsh-snapshot.c: Switch to C99 initialization of vshCmdOptDef (Michal Privoznik),
  virsh-secret.c: Switch to C99 initialization of vshCmdOptDef (Michal Privoznik),
  virsh-pool.c: Switch to C99 initialization of vshCmdOptDef (Michal Privoznik),
  virsh-nwfilter.c: Switch to C99 initialization of vshCmdOptDef (Michal Privoznik),
  virsh-nodedev.c: Switch to C99 initialization of vshCmdOptDef (Michal Privoznik),
  virsh-network.c: Switch to C99 initialization of vshCmdOptDef (Michal Privoznik),
  virsh-interface.c: Switch to C99 initialization of vshCmdOptDef (Michal Privoznik),
  virsh-host.c: Switch to C99 initialization of vshCmdOptDef (Michal Privoznik),
  virsh-domain-monitor.c: Switch to C99 initialization of vshCmdOptDef (Michal Privoznik),
  virsh-domain.c: Switch to C99 initialization of vshCmdOptDef (Michal Privoznik),
  virsh.c: Switch to C99 initialization of vshCmdOptDef (Michal Privoznik),
  libvirt.c: fix typo in comment (Claudio Bley),
  Move comments after enum members (Claudio Bley),
  include virterror_internal.h in threads.h (Hu Tao),
  include util.h in cgroup.h (Hu Tao),
  call virstateCleanup to do the cleanup before libvirtd exits (Hu Tao),
  libxl: Use consistent parameter naming scheme (Jim Fehlig),
  libxl: Use consistent style for function definitions (Jim Fehlig),
  Convert libxl driver over to use virPortAllocator APIs (Daniel P. Berrange),
  Convert QEMU driver over to use virPortAllocator APIs (Daniel P. Berrange),
  Add a port allocator class (Daniel P. Berrange),
  Convert all rpc classes over to virObjectLockable (Daniel P. Berrange),
  Convert virDomainObj, qemuAgent, qemuMonitor, lxcMonitor to virObjectLockable (Daniel P. Berrange),
  util: Check for negative indent in virBufferAdd (John Ferlan),
  tools: Check return status on virBufferTrim() (John Ferlan),
  rpc: Check and message setsockopt() (John Ferlan),
  xen: Ignore return status for TCP_NODELAY (John Ferlan),
  Add a virObjectLockable class holding a mutex (Daniel P. Berrange),
  Allow for multi-level inheritance of virObject classes (Daniel P. Berrange),
  Add 'lxc-enter-namespace' command to virsh (Daniel P. Berrange),
  build: add new file, for lxc_protocol checking (Eric Blake),
  Add implementation of virDomainLxcOpenNamespace to LXC driver (Daniel P. Berrange),
  Implement the RPC protocol for the libvirt-lxc.la library (Daniel P. Berrange),
  .gitignore: Sort alphabetically (Michal Privoznik),
  Add missing stubs to securityselinuxhelper.c (Daniel P. Berrange),
  Introduce an LXC specific public API & library (Daniel P. Berrange),
  Add a test suite for validating SELinux labelling (Daniel P. Berrange),
  Rename HAVE_POLKIT to WITH_POLKIT (Daniel P. Berrange),
  Remove unused XMLRPC_REQUIRED var (Daniel P. Berrange),
  Convert openwsman check to use LIBVIRT_CHECK_PKG (Daniel P. Berrange),
  Convert ssh2 check to use LIBVIRT_CHECK_PKG (Daniel P. Berrange),
  Rename HAVE_LIBSSH2 to WITH_SSH2 (Daniel P. Berrange),
  Convert curl check over to use LIBVIRT_CHECK_PKG (Daniel P. Berrange),
  Rename HAVE_LIBCURL to WITH_CURL (Daniel P. Berrange),
  Convert fuse check over to use LIBVIRT_CHECK_PKG (Daniel P. Berrange),
  Rename HAVE_FUSE to WITH_FUSE (Daniel P. Berrange),
  Rename HAVE_GNUTLS to WITH_GNUTLS (Daniel P. Berrange),
  Convert blkid check over to use LIBVIRT_CHECK_PKG (Daniel P. Berrange),
  Convert HAVE_LIBBLKID to WITH_BLKID (Daniel P. Berrange),
  Convert HAL check to use LIBVIRT_CHECK_PKG (Daniel P. Berrange),
  Convert HAVE_HAL to WITH_HAL (Daniel P. Berrange),
  Convert udev/pciaccess checks to use LIBVIRT_CHECK_PKG (Daniel P. Berrange),
  Convert HAVE_UDEV to WITH_UDEV (Daniel P. Berrange),
  Convert avahi check to use LIBVIRT_CHECK_PKG (Daniel P. Berrange),
  Convert HAVE_AVAHI to WITH_AVAHI (Daniel P. Berrange),
  Convert DBus check to use LIBVIRT_CHECK_PKG (Daniel P. Berrange),
  Convert HAVE_DBUS to WITH_DBUS (Daniel P. Berrange),
  Convert netcf check to use LIBVIRT_CHECK_PKG (Daniel P. Berrange),
  Convert cap-ng check to use LIBVIRT_CHECK_LIB (Daniel P. Berrange),
  Convert HAVE_CAPNG to WITH_CAPNG (Daniel P. Berrange),
  Convert numactl checks to use LIBVIRT_CHECK_LIB (Daniel P. Berrange),
  Convert HAVE_NUMACTL to WITH_NUMACTL (Daniel P. Berrange),
  Convert apparmor check to use LIBVIRT_CHECK_LIB (Daniel P. Berrange),
  Convert selinux check to use LIBVIRT_CHECK_LIB (Daniel P. Berrange),
  Convert HAVE_SELINUX to WITH_SELINUX (Daniel P. Berrange),
  qemu: Fix grouping of capabilities strings (Peter Krempa),
  network: Report real error if addition of firewall rules fails (Peter Krempa),
  virsh: Reformat output of virsh net-list (Peter Krempa),
  Convert audit check to use LIBVIRT_CHECK_LIB (Daniel P. Berrange),
  Convert HAVE_AUDIT to WITH_AUDIT (Daniel P. Berrange),
  Convert sasl check to use LIBVIRT_CHECK_LIB_ALT (Daniel P. Berrange),
  Convert HAVE_SASL to WITH_SASL (Daniel P. Berrange),
  Convert sanlock check to use LIBVIRT_CHECK_LIB (Daniel P. Berrange),
  Convert HAVE_SANLOCK to WITH_SANLOCK (Daniel P. Berrange),
  Convert yajl check to use LIBVIRT_CHECK_LIB_ALT (Daniel P. Berrange),
  Convert HAVE_YAJL into WITH_YAJL (Daniel P. Berrange),
  Add some autoconf helper macros for checking for libraries (Daniel P. Berrange),
  build: require avahi instead of avahi-libs on rhel5. (Yufang Zhang),
  util: reduce syscalls for virGetDeviceID (Eric Blake),
  pass stub driver name instead of pciFindStubDriver (Chunyan Liu),
  qemu: add usb-net caps flag (Guannan Ren),
  qemu: add usb-serial support (Guannan Ren),
  qemu: add usb-serial caps flag (Guannan Ren),
  maint: distribute libvirtd.service.in (Eric Blake),
  Add RESUME event listener to qemu monitor. (Andres Lagar-Cavilla),
  nwfilter: Remove unprivileged code path to set base (John Ferlan),
  Make TLS support conditional (Daniel P. Berrange),
  qemu: Relax hard RSS limit (Michal Privoznik),
  S390: Enable SCLP Console in QEMU driver (J.B. Joret),
  S390: Add SCLP console front end support (J.B. Joret),
  Rename lxc_protocol.x to lxc_monitor_protocol.x (Daniel P. Berrange),
  Add internal APIs for dealing with namespaces (Daniel P. Berrange),
  Add a way to return FDs to the RPC caller (Daniel P. Berrange),
  Fix receiving of file descriptors from server (Daniel P. Berrange),
  Move qemu-XXX commands from virsh-host.c to virsh-domain.c (Daniel P. Berrange),
  Ensure we always setup a private mount namespace for LXC controller (Daniel P. Berrange),
  Speed up fallback to legacy non-QMP probing (Daniel P. Berrange),
  build: Add libxenctrl to LIBXL_LIBS (Jim Fehlig),
  build: .service files don't need to be executable (Eric Blake),
  build: properly substitute virtlockd.socket (Eric Blake),
  build: use common .in replacement mechanism (Eric Blake),
  qemu: Check if the shared disk's cdbfilter conflicts with others (Osier Yang),
  qemu: set unpriv_sgio when starting domain and attaching disk (Osier Yang),
  conf: Parse and format the new XML (Osier Yang),
  qemu: Add a hash table for the shared disks (Osier Yang),
  util: Prepare helpers for unpriv_sgio setting (Osier Yang),
  snapshot: qemu: Allow redefinition of external snapshots (Peter Krempa),
  snapshot: qemu: Separate logic blocks with newlines (Peter Krempa),
  snapshot: conf: Make virDomainSnapshotIsExternal more reusable (Peter Krempa),
  qemu: Implement virDomainOpenChannel API (John Eckersberg),
  conf: Add unix socket support to virChrdevOpen (John Eckersberg),
  conf: Rename console-specific identifiers to be more generic (John Eckersberg),
  conf: Rename virconsole.* to virchrdev.* (John Eckersberg),
  api: Add API to tunnel a guest channel via stream (John Eckersberg),
  network: fix check for ambiguous lookup (Eric Blake),
  Check and handle select() errors from waitsocket(). (John Ferlan),
  tests: check and handle error for virAsprintf() calls (John Ferlan),
  Check return on mkdir for LOCKSPACE_DIR (John Ferlan),
  vmware: silence Coverity warning (John Ferlan),
  Install virtlockd.{socket,service} non executable (Guido Günther),
  qemu: Don't parse log output when starting up a domain (Michal Privoznik),
  build: use autobuild module to make build logs nicer (Eric Blake),
  maint: update to latest gnulib (Eric Blake),
  sanlock: Chown lease files as well (Michal Privoznik),
  python: Adapt to virevent rename (Michal Privoznik),
  qemu: Convert some APIs to use qemuDomObjFromDomain (Michal Privoznik),
  qemu: Relax locking in DomainHasManagedSaveImage and DomainMonitorCommand (Michal Privoznik),
  S390: Re-enable capability probing for virtio devices. (Viktor Mihajlovski),
  Sort util files in Makefile.am alphabetically (Daniel P. Berrange),
  Rename virterror.c virterror_internal.h to virerror.{c,h} (Daniel P. Berrange),
  Rename xml.{c,h} to virxml.{c,h} (Daniel P. Berrange),
  Rename uuid.{c,h} to viruuid.{c,h} (Daniel P. Berrange),
  Rename util.{c,h} to virutil.{c,h} (Daniel P. Berrange),
  Rename threads.{c,h} to virthread.{c,h} (Daniel P. Berrange),
  Rename threadpool.{c,h} to virthreadpool.{c,h} (Daniel P. Berrange),
  Rename sysinfo.{c,h} to virsysinfo.{c,h} (Daniel P. Berrange),
  Rename storage_file.{c,h} to virstoragefile.{c,h} (Daniel P. Berrange),
  Rename stats_linux.{c,h} to virstatslinux.{c,h} (Daniel P. Berrange),
  Rename sexpr.{c,h} to virsexpr.{c,h} (Daniel P. Berrange),
  Merge processinfo.{c,h} into virprocess.{c,h} (Daniel P. Berrange),
  Rename pci.{c,h} to virpci.{c,h} (Daniel P. Berrange),
  Rename memory.{c,h} to viralloc.{c,h} (Daniel P. Berrange),
  Rename logging.{c,h} to virlog.{c,h} (Daniel P. Berrange),
  Rename json.{c,h} to virjson.{c,h} (Daniel P. Berrange),
  Rename iptables.{c,h} to viriptables.{c,h} (Daniel P. Berrange),
  Rename hostusb.{c,h} to virusb.{c,h} (Daniel P. Berrange),
  Rename hooks.{c,h} to virhook.{c,h} (Daniel P. Berrange),
  Rename event_poll.{c,h} to vireventpoll.{c,h} (Daniel P. Berrange),
  Rename event.{c,h} to virevent.{c,h} (Daniel P. Berrange),
  Rename ebtables.{c,h} to virebtables.{c,h} (Daniel P. Berrange),
  Rename dnsmasq.{c,h} to virdnsmasq.{c,h} (Daniel P. Berrange),
  Rename conf.{c,h} to virconf.{c,h} (Daniel P. Berrange),
  Rename command.{c,h} to vircommand.{c,h} (Daniel P. Berrange),
  Rename buf.{c,h} to virbuffer.{c,h} (Daniel P. Berrange),
  Rename bitmap.{c,h} to virbitmap.{c,h} (Daniel P. Berrange),
  Rename cgroup.{h,c} to vircgroup.{h,c} (Daniel P. Berrange),
  Support all backend serial devices for pSeries guest (Li Zhang),
  Remove QEMU_CAPS_NO_ACPI capability for non-x86 platform (Li Zhang),
  Set std VGA model as default model for ppc64. (Li Zhang),
  Add sysinfo data and enable virSysinfoRead test case for POWER (Li Zhang),
  util: add missing error log messages when failing to get netlink VFINFO (Laine Stump),
  security: fix #endif comment in security_stack.h (Ján Tomko),
  build: use strchr now that we can work around broken gcc (Eric Blake),
  Fix arch datatype in vahControl in virt-aa-helper.c (Daniel P. Berrange),
  Change string form of VIR_ARCH_ITANIUM back to ia64 (Daniel P. Berrange),
  conf: eliminate redundant use of VIR_ALLOC (Martin Kletzander),
  Fix libxl driver for virArch changes (Daniel P. Berrange),
  Fix test cases for virArch changes (Daniel P. Berrange),
  Fix XenAPI driver for virArch changes (Daniel P. Berrange),
  Export all symbols from virarch.{c,h} to drivers/tests/etc (Daniel P. Berrange),
  Convert QEMU capabilities code to use virArch (Daniel P. Berrange),
  spec: Do not install *.py[co] in python examples (Jiri Denemark),
  Convert CPU APIs to use virArch (Daniel P. Berrange),
  Convert capabilities / domain_conf to use virArch (Daniel P. Berrange),
  Convert QEMU command line builder to virArch APIs (Daniel P. Berrange),
  Convert nodeGetInfo to virArch APIs (Daniel P. Berrange),
  Introduce a set of APIs for managing architectures (Daniel P. Berrange),
  build: Fix AUTHORS generation (Jiri Denemark),
  network: fix indentation of networkDnsmasqConfContents (Laine Stump),
  .gitignore: add tests/sysinfotest (Cole Robinson),
  hostusb: Move USB_DEVFS define to hostusb.h to fix the build (Cole Robinson),
  daemon: Preface polkit error output with 'polkit:' (Cole Robinson),
  Add support for hotplug/unplug of host misc devices in LXC (Daniel P. Berrange),
  Add support for hotplug/unplug of host storage devices in LXC (Daniel P. Berrange),
  Add support for hotplug/unplug of USB host devices in LXC (Daniel P. Berrange),
  Add support for hotplug/unplug of NIC devices in LXC (Daniel P. Berrange),
  Add support for hotplug/unplug of disk devices in LXC (Daniel P. Berrange),
  Add support for attach/detach/update hostdev devices in config for LXC (Daniel P. Berrange),
  Add support for attach/detach/update disk devices in config for LXC (Daniel P. Berrange),
  Add support for attach/detach/update net devices in config for LXC (Daniel P. Berrange),
  Add basic driver API framework for device attach/detach support in LXC (Daniel P. Berrange),
  Add support for misc host device passthrough with LXC (Daniel P. Berrange),
  Add support for storage host device passthrough with LXC (Daniel P. Berrange),
  Add support for USB host device passthrough with LXC (Daniel P. Berrange),
  Add support for disks with LXC (Daniel P. Berrange),
  Add support for SELinux labelling of hostdev storage/misc devices (Daniel P. Berrange),
  Refactor SELinux security driver hostdev labelling (Daniel P. Berrange),
  Allow passing a vroot into security manager hostdev labelling (Daniel P. Berrange),
  Skip bulk relabelling of resources in SELinux driver when used with LXC (Daniel P. Berrange),
  Refactor LXC NIC creation to allow reuse by hotplug code (Daniel P. Berrange),
  Add support for <hostdev mode="capabilities"> (Daniel P. Berrange),
  tests: Add tests for sysinfo (Viktor Mihajlovski),
  conf: cpu: Break some long lines (Peter Krempa),
  conf: cpu: Refactor parsing of vendor_id and fallback attributes (Peter Krempa),
  conf: cpu: Fix memory leak when specifying cpu vendor_id manually (Peter Krempa),
  conf: cpu: Fix parsing of vendor_id (Ken ICHIKAWA),
  Support custom 'svirt_tcg_t' context for TCG based guests (Daniel P. Berrange),
  tests: add one -device video device testcase (Guannan Ren),
  qemu: use newer -device video device in qemu commandline (Guannan Ren),
  conf: add optional attribte primary to video <model> element (Guannan Ren),
  qemu: add qemu vga devices caps and one cap to mark them usable (Guannan Ren)
- Cleanups:
  virlog: remove old code comment (Doug Goldstein),
  rpc: Revert Coverity tag message (John Ferlan),
  rpc: Remove unnecessary calls (John Ferlan),
  network: Remove dead code getting, but not using ipdef (John Ferlan),
  esx: No need to check for objectSpec (John Ferlan),
  parallels: Remove unused JSON fetch of "OS" (John Ferlan),
  virsh: Remove unused setting of 'br_node' and 'if_node' (John Ferlan),
  util: Remove the unused setting of 'res' for virHashLookup return (John Ferlan),
  locking: Remove unnecessary setting of lockspace (John Ferlan),
  maint: don't distribute generated .def files (Eric Blake),
  spec: remove redundant %if (Eric Blake),
  libvirt.h.in: Fix indentation (Michal Privoznik),
  Fix wrong indentation for virDomainState (Claudio Bley),
  tests: Remove remnants of removing the fake emulator output (John Ferlan),
  phyp: Remove deadcode referencing exit_status (John Ferlan),
  build: avoid compiler warning (Eric Blake),
  maint: formatting cleanups in buf.c (Eric Blake),
  conf: minor indentation cleanups (Martin Kletzander)

### 1.0.1: Dec 17 2012

- Features:
  Introduce virtlockd daemon (Daniel P. Berrange),
  parallels: add disk and network device support (Dmitry Guryanov),
  Add virDomainSendProcessSignal API (Daniel P. Berrange),
  Introduce virDomainFSTrim() public API (Michal Privoznik),
  add fuse support for libvirt lxc (Gao feng),
  Add Gluster protocol as supported network disk backend (Harsh Prateek Bora),
  various snapshot improvements (Peter Krempa, Eric Blake)
- Documentation:
  fix some typos in examples (Eric Blake),
  Fix location of libvirt.conf and auth.conf (Michał Łomnicki),
  Document offline migration (Jiri Denemark),
  libvirt.c: Fix wording and grammar in virDomainFSTrim (Michal Privoznik),
  Fix a few spaces (Ján Tomko),
  boot order for host and redirected USB devices (Ján Tomko),
  AbortJob: Fix documentation (Michal Privoznik),
  Fix "virsh create" example (Guido Günther)
- Portability:
  build: minor build fixes for BSD (Eric Blake),
  Socket identity support for FreeBSD. (Roman Bogorodskiy),
  Require SANLK_INQ_WAIT for inq_lockspace support (Guido Günther),
  locking: Fix VPATH build and distribute generated files (Jiri Denemark),
  build: Fix VPATH build (Jiri Denemark),
  Change virCgroupGetAppRoot stub on non-Linux to avoid unused param warning (Daniel P. Berrange),
  Qemu FreeBSD: fix compilation (Roman Bogorodskiy),
  Drop mntent.h include. (Roman Bogorodskiy),
  virsh: Fix usage of header termios.h (Peter Krempa),
  pci: Fix building of 32bit PCI command array (Peter Krempa),
  spec: require dbus-daemon when using libvirtd in Fedora (Eric Blake),
  systemd: require dbus service (Eric Blake),
  rpc: fix build failure with older dbus (Eric Blake),
  build: fix build --without-network (Ján Tomko),
  build: trivial fix error: implicit declaration of function 'malloc' (Natanael Copa),
  run bootstrap if .gnulib is not present (Hu Tao),
  add ppc64 and s390x to arches where qemu-kvm exists (Dan Horák),
  nodeinfo: port nodecpumap to RHEL5 (Eric Blake),
  spec: don't enable cgconfig under systemd (Eric Blake)
- Bug Fixes:
  network: fix (non)update of dnsmasq config during virDomainUpdateDeviceFlags (Laine Stump),
  sanlock: Re-add lockspace unconditionally (Michal Privoznik),
  install: fix virtlockd installation (Eric Blake),
  qemu: don't fail update netdev on bridge detach failure (Laine Stump),
  selinux: fix NULL dereference in GetSecurityMountOptions (Ján Tomko),
  network: prevent dnsmasq from listening on localhost (Laine Stump),
  Fix error reporting when fetching SCSI/LVM keys (Daniel P. Berrange),
  Fix probing of QED file format (Daniel P. Berrange),
  Fix memory leak in QEMU QMP capabilities initialization (Daniel P. Berrange),
  qemu: snapshot: Remove memory image if external checkpoint fails (Peter Krempa),
  qemu: snapshot: Don't leak XML definition if restarting of CPUs fails (Peter Krempa),
  qemu: fix uninitialized variable warning in doPeer2PeerMigrate (Ján Tomko),
  conf: Remove duplicate declaration of virNetworkDNSDefPtr (Jiri Denemark),
  qemu: Restart CPUs with valid async job type when doing external snapshots (Peter Krempa),
  qemu: eliminate bogus error log when changing netdev's bridge (Laine Stump),
  qemu: capabilities: fix machine name/canonical swappage (Cole Robinson),
  Inhibit daemon shutdown during driver initialization (Guido Günther),
  util: Don't fail virGetGroupIDByName when group not found (Christophe Fergeau),
  util: Don't fail virGetUserIDByName when user not found (Christophe Fergeau),
  storage: Error out earlier if the volume target path already exists (Osier Yang),
  remote: Avoid the thread race condition (Daniel P. Berrange),
  qemu: Fix memory (and FD) leak on PCI device detach (Jiri Denemark),
  qemu: Don't free PCI device if adding it to activePciHostdevs fails (Jiri Denemark),
  qemu: Fix error code when attaching existing device (Jiri Denemark),
  Fix memory leak introduced by commit 501bfad1 (Jim Fehlig),
  Shut down session libvirtd cleanly on host shutdown/user logout (Alexander Larsson),
  Inhibit desktop shutdown while any virtual machines are running (Daniel P. Berrange),
  conf: prevent crash with no uuid in cephx auth secret (Ján Tomko),
  virsh: don't crash if shutdown --mode not provided (Eric Blake),
  qemu: Fix up the default machine type for QMP probing (Viktor Mihajlovski),
  Fix uninitialized variables (Guido Günther),
  qemu: don't attempt undefined QMP commands (Eric Blake),
  storage: fix scsi detach regression with cgroup ACLs (Eric Blake),
  nwfilter: report an error on OOM (Ján Tomko),
  virsh: check the return value of virStoragePoolGetAutostart (Ján Tomko),
  conf: fix uninitialized variable in virDomainListSnapshots (Ján Tomko),
  rpc: don't destroy xdr before creating it in virNetMessageEncodeHeader (Ján Tomko),
  virsh: use correct sizeof when allocating cpumap (Ján Tomko),
  util: fix virBitmap allocation in virProcessInfoGetAffinity (Ján Tomko),
  conf: fix NULL check in virNetDevBandwidthParse (Ján Tomko),
  Don't fail hard when we can't connect to the monitor (Guido Günther),
  node_memory: Fix bug of node_memory_tune (Osier Yang),
  node_memory: Do not fail if there is parameter unsupported (Osier Yang),
  network: fix crash when portgroup has no name (Laine Stump),
  maint: Fix use of invalid reboot flags (Michal Privoznik),
  util: check for NULL parameter in virFileWrapperFdCatchError (Ján Tomko),
  conf: snapshot: check return value of virDomainSnapshotObjListNum (Ján Tomko),
  conf: check the return value of virXPathNodeSet (Ján Tomko),
  cgroup: fix impossible overrun in virCgroupAddTaskController (Ján Tomko),
  nwfilter: fix NULL pointer check in virNWFilterSnoopReqNew (Ján Tomko),
  qemu: Fix error messages when dispatching guest agent commands (Peter Krempa),
  qemu: Fix QMP Capabability Probing Failure (Viktor Mihajlovski),
  qemu: Wait for monitor socket even without pid (Viktor Mihajlovski),
  bitmap: fix typo to use UL type of integer constant in virBitmapIsAllSet (Guannan Ren),
  qemu: fix a crash when save file can't be opened (Ján Tomko),
  Fix leak of virNetworkPtr in LXC startup failure path (Daniel P. Berrange),
  Fix error reporting in virNetDevVethDelete (Daniel P. Berrange),
  Ensure transient def is removed if LXC start fails (Daniel P. Berrange),
  Ensure failure to create macvtap device aborts LXC start (Daniel P. Berrange),
  Avoid crash when LXC start fails with no interface target (Daniel P. Berrange),
  Treat missing driver cgroup as fatal in LXC driver (Daniel P. Berrange),
  Ensure LXC container exits if cgroups setup fails (Daniel P. Berrange),
  Fix error handling in virSecurityManagerGetMountOptions (Daniel P. Berrange),
  storage: fix device detach regression with cgroup ACLs (Eric Blake),
  lxc: Don't crash if no security driver is specified in libvirt_lxc (Peter Krempa),
  lxc: Avoid segfault of libvirt_lxc helper on early cleanup paths (Peter Krempa),
  storage: fix logical volume cloning (Ján Tomko),
  Fix exiting of libvirt_lxc program on container quit (Daniel P. Berrange),
  Skip deleted timers when calculting next timeout (Daniel P. Berrange),
  Fix virDiskNameToIndex to actually ignore partition numbers (Daniel P. Berrange),
  qemu: Stop recursive detection of image chains when an image is missing (Peter Krempa),
  storage: Fix bug of fs pool destroying (Osier Yang),
  qemu: fix RBD attach regression (Scott Sullivan),
  qemu: allow larger discrepency between memory & currentMemory in domain xml (Laine Stump),
  sanlock: Retry after EINPROGRESS (Michal Privoznik),
  virsh: fix uninitialized variable in cmdSnapshotEdit (Ján Tomko),
  util: fix index when building lock owners array (Laine Stump),
  Fix uninitialized variable in virLXCControllerSetupDevPTS (Daniel P. Berrange),
  tests: Remove temporary directories in qemumonitorjsontest (Peter Krempa),
  tests: Fix qemumonitorjsontest deadlock when the machine is under load (Peter Krempa),
  qemu: Fix domain ID numbering race condition (Peter Krempa),
  storage: fix broken backing chain (Philipp Hahn),
  qemu: Don't corrupt pointer in qemuDomainSaveMemory() (Peter Krempa),
  esx: Yet another connection fix for 5.1 (Martin Kletzander),
  iohelper: Don't report errors on special FDs (Michal Privoznik),
  qemu: Fix possible race when pausing guest (Peter Krempa),
  conf: net: Fix deadlock if assignment of network def fails (Peter Krempa),
  conf: net: Fix helper for applying new network definition (Peter Krempa)
- Improvements:
  spec: Include lockd files in libvirt-daemon package (Jiri Denemark),
  build: Install both qemu-lockd.conf and qemu-sanlock.conf (Jiri Denemark),
  build: use fewer cat processes (Eric Blake),
  build: Distribute more files (Jiri Denemark),
  virsh: use vshReconnect for non-default connections too (Ján Tomko),
  virsh: don't lie about reconnection in vshReconnect (Ján Tomko),
  Add support for locking based on SCSI volume ID (Daniel P. Berrange),
  Add support for locking based on LVM volume uuid (Daniel P. Berrange),
  Add ability to maintain disk leases indirectly (Daniel P. Berrange),
  Add a virtlockd client as a lock driver impl (Daniel P. Berrange),
  Add support for re-exec() of virtlockd upon SIGUSR1 (Daniel P. Berrange),
  Enable systemd socket activation with virtlockd (Daniel P. Berrange),
  Implement dispatch functions for lock protocol in virtlockd (Daniel P. Berrange),
  Define a wire protocol for talking to the virtlockd daemon (Daniel P. Berrange),
  Introduce basic infrastructure for virtlockd daemon (Daniel P. Berrange),
  Refactor creation of lock manager plugins (Daniel P. Berrange),
  Support network boot for HVM guests in libxl (Jim Fehlig),
  Add lots of debugging to storage file probing code (Daniel P. Berrange),
  Log warning if storage magic matches, but version does not (Daniel P. Berrange),
  network: match xml warning message (Eric Blake),
  Fix make check with different object directory (Viktor Mihajlovski),
  qemu: Improve error reporting from qemuDomainManagedSaveRemove (Peter Krempa),
  qemu: Small code cleanups in the managedsave functions (Peter Krempa),
  qemu: Refactor managed save functions to use domain lookup helpers (Peter Krempa),
  qemu: Add a new domain lookup helper and improve the docs (Peter Krempa),
  util: Fix warning message in previous patch (Peter Krempa),
  util: rework error reporting in virGet(User|Group)IDByName (Peter Krempa),
  Refactor virDomainHostdevFind method (Daniel P. Berrange),
  Slightly refactor hostdev parsing / formating (Daniel P. Berrange),
  Remove bogus const return values in storage file APIs (Daniel P. Berrange),
  Add missing export of virStorageFileGetLVMKey & virStorageFileGetSCSIKey (Daniel P. Berrange),
  Fix sorting of libvirt_private.syms and add syntax check rule (Daniel P. Berrange),
  uml: Report error if inotify fails on driver startup (Cole Robinson),
  tools: Only install guests init script if --with-init=script=redhat (Cole Robinson),
  add vnc unix sockets to apparmor policy (Serge Hallyn),
  add security hook for permitting hugetlbfs access (Serge Hallyn),
  maint: mention when HACKING is rebuilt during make (Eric Blake),
  qemu: reuse qemuMigrationIsAllowed when doing save and managedsave (Peter Krempa),
  qemu: snapshot: Report better error message if migration isn't allowed (Peter Krempa),
  qemu: Make qemuMigrationIsAllowed more reusable (Peter Krempa),
  qemu: assume seccomp sandbox is supported since qemu 1.2 (Ján Tomko),
  domain: Keep assigned class_id in domstatus XML (Michal Privoznik),
  network: Create real network status files (Michal Privoznik),
  bandwidth: Create network bandwidth (un)plug functions (Michal Privoznik),
  bandwidth: Create rate update function (Michal Privoznik),
  bandwidth: Create (un)plug functions (Michal Privoznik),
  bandwidth: Create hierarchical shaping classes (Michal Privoznik),
  bandwidth: add new 'floor' attribute (Michal Privoznik),
  bandwidth: Attach sfq to leaf node (Michal Privoznik),
  parallels: handle network adapters of type 'routed' (Dmitry Guryanov),
  parallels: add routed pseudo network (Dmitry Guryanov),
  parallels: parse virtual network properties (Dmitry Guryanov),
  parallels: add network driver (Dmitry Guryanov),
  parallels: move parallelsParseError to parallels_utils.h (Dmitry Guryanov),
  parallels: add support of network interfaces to parallelsDomainDefineXML (Dmitry Guryanov),
  parallels: parse information about network interfaces (Dmitry Guryanov),
  examples: Fix balloon event callback (Jiri Denemark),
  network: put dnsmasq parameters in conf-file instead of command line (Gene Czarcinski),
  network: add support for DHCPv6 (Gene Czarcinski),
  conf: split <forward> parser/clear into separate functions (Laine Stump),
  conf: put data for network <forward> element into its own struct (Laine Stump),
  conf: make virNetworkIpDefClear consistent with other functions (Laine Stump),
  conf: rename some labels and functions in network_conf (Laine Stump),
  network: backend functions for updating network dns host/srv/txt (Laine Stump),
  conf: clear and parse functions for dns host/srv/txt records (Laine Stump),
  conf: rename network dns host/srv/txt arrays (Laine Stump),
  conf: use VIR_(INSERT|DELETE)_ELEMENT in virNetworkUpdate backend (Laine Stump),
  util: add VIR_(APPEND|INSERT|DELETE)_ELEMENT (Laine Stump),
  parallels: add support of removing disks (Dmitry Guryanov),
  parallels: apply config after VM creation (Dmitry Guryanov),
  parallels: add support of disks creation (Dmitry Guryanov),
  parallels: add function parallelsGetDiskBusName (Dmitry Guryanov),
  parallels: split parallelsStorageVolumeDelete function (Dmitry Guryanov),
  parallels: fill volumes capacity parameter (Dmitry Guryanov),
  parallels: add info about volumes (Dmitry Guryanov),
  parallels: fix leaks in parallelsFindVolumes (Dmitry Guryanov),
  parallels: create storage pools by VM list (Dmitry Guryanov),
  parallels: remove unused code from storage driver (Dmitry Guryanov),
  parallels: split parallelsStorageOpen function (Dmitry Guryanov),
  parallels: handle disk devices in parallelsDomainDefineXML (Dmitry Guryanov),
  parallels: add info about hard disk devices (Dmitry Guryanov),
  Add support for offline migration (liguang),
  S390: Assign default model "virtio" for network interfaces (Viktor Mihajlovski),
  virsh: allow metadata preallocation when creating volumes (Ján Tomko),
  storage: allow metadata preallocation when creating qcow2 images (Ján Tomko),
  qemu: Allow the user to specify vendor and product for disk (Osier Yang),
  Convert libxl driver to Xen 4.2 (Jim Fehlig),
  network: prevent a few invalid configuration combinations (Laine Stump),
  network: allow guest to guest IPv6 without gateway definition (Gene Czarcinski),
  util: Do not keep PCI device config file open (Jiri Denemark),
  util: Slightly refactor PCI list functions (Jiri Denemark),
  qemu: Simplify the code (Osier Yang),
  qemu: improve error for failed JSON commands (Eric Blake),
  qemu: nicer error message if live disk snapshot unsupported (Eric Blake),
  implement managedsave in libvirt xen legacy driver (Bamvor Jian Zhang),
  Bind connection close callback APIs to python binding (Daniel P. Berrange),
  Replace polling for active VMs with signalling by drivers (Daniel P. Berrange),
  Only let VM drivers block libvirtd timed shutdown (Daniel P. Berrange),
  Make QEMU perform managed save of all VMs on stop of libvirtd (Daniel P. Berrange),
  build: fix incremental autogen.sh when no AUTHORS is present (Eric Blake),
  Add iSCSI backend storage driver for ESX (Ata E Husain Bohra),
  qemu: support live update of an interface's filter (Laine Stump),
  nwfilter: utility function virNWFilterVarValueEqual (Stefan Berger),
  conf: fix virDomainNetGetActualDirect*() and BridgeName() (Laine Stump),
  virsh: Report errors if arguments of the schedinfo command are incorrect (Peter Krempa),
  logging: more API needing to log flags (Eric Blake),
  s/flags=%u/flags=%x/ in earlier commit (Daniel P. Berrange),
  Allow duration=0 for virsh nodesuspend (Daniel P. Berrange),
  Allow comma separated list of shutdown/reboot modes with virsh (Daniel P. Berrange),
  Introduce APIs for splitting/joining strings (Daniel P. Berrange),
  Add support for shutdown / reboot APIs in LXC driver (Daniel P. Berrange),
  Introduce two new methods for triggering controlled shutdown/reboot (Daniel P. Berrange),
  Move reboot/shutdown flags combination check into QEMU driver (Daniel P. Berrange),
  Add APIs for talking to init via /dev/initctl (Daniel P. Berrange),
  Ensure virDomainShutdownFlags logs flags parameter (Daniel P. Berrange),
  Quote client identity in SASL whitelist log message (Daniel P. Berrange),
  qemu: Refactor error reporting in qemu driver configuration parser (Peter Krempa),
  qemu: Refactor config parameter retrieval (Peter Krempa),
  network: use dnsmasq --bind-dynamic when available (Laine Stump),
  util: new virSocketAddrIsPrivate function (Laine Stump),
  util: capabilities detection for dnsmasq (Laine Stump),
  virsh: do timing even for unusable connections (Ján Tomko),
  Turn some dual-state int parameters into booleans (Daniel P. Berrange),
  Introduce a 'stop' method to virDriverState (Daniel P. Berrange),
  Implement virDomainSendProcessSignal for LXC driver (Daniel P. Berrange),
  Add a 'send-process-signal' command to virsh (Daniel P. Berrange),
  Specify remote protocol for virDomainSendProcessSignal (Daniel P. Berrange),
  Rename misc QEMU structs/enums to use normal naming style (Daniel P. Berrange),
  Replace 'struct qemud_driver *' with virQEMUDriverPtr (Daniel P. Berrange),
  virsh: fix error messages in iface-bridge (Ján Tomko),
  libssh2_session: support DSS keys as well (Ján Tomko),
  virsh: Rewrite cmdDomDisplay (Martin Kletzander),
  virsh: Expose new virDomainFSTrim API (Michal Privoznik),
  qemu: Implement virDomainFSTrim (Michal Privoznik),
  remote: Implement virDomainFSTrim (Michal Privoznik),
  qemu: Add QEMU version computation to QMP probing (Viktor Mihajlovski),
  mount fuse's meminfo file to container's /proc/meminfo (Gao feng),
  make /proc/meminfo isolate with host through fuse (Gao feng),
  add interface virCgroupGetAppRoot (Gao feng),
  add interface virCgroupGetMemSwapUsage (Gao feng),
  Add a configure option for fuse support in LXC driver (Gao feng),
  Alphabetically sort libvirt_daemon.syms (Daniel P. Berrange),
  Change bridge driver to use named initializers with virDriverState (Daniel P. Berrange),
  virdbus: Add virDBusGetSessionBus helper (Alexander Larsson),
  Specify name of target interface with macvlan error (Daniel P. Berrange),
  Store initpid in the domain status XML for LXC (Daniel P. Berrange),
  Pass virSecurityManagerPtr object further down into LXC setup code (Daniel P. Berrange),
  tests: Add tests for gluster protocol based network disks support (Harsh Prateek Bora),
  qemu: Add support for gluster protocol based network storage backend. (Harsh Prateek Bora),
  Refactor ESX storage driver to implement facade pattern (Ata E Husain Bohra),
  Add private data pointer to virStoragePool and virStorageVol (Ata E Husain Bohra),
  cpu: Add Intel Haswell cpu model (Peter Krempa),
  util: Use virReportSystemError for system error in pci.c (Osier Yang),
  virsh: Report error when taking a snapshot with empty --memspec argument (Peter Krempa),
  Warn if requesting update to non-existent timer/handle watch (Daniel P. Berrange),
  qemuhelpdata: Revert my 'fix' (Michal Privoznik),
  conf: Report sensible error for invalid disk name (Martin Kletzander),
  Log an audit message with the LXC init pid (Daniel P. Berrange),
  Use virNetServerRun instead of custom main loop (Daniel P. Berrange),
  storage: Improve virStorageBackendFileSystemStop (Osier Yang),
  tests: update qemuhelptest data (Ján Tomko),
  tests: add boot order for host and redirected USB to qemu argv test (Ján Tomko),
  conf: add support for booting from redirected USB devices (Ján Tomko),
  qemu: graphics support for simultaneous one of each sdl, vnc, spice (Alon Levy),
  qemu: refactor graphics code to not hardcode a single display (Alon Levy),
  snapshot: make cloning of domain definition easier (Eric Blake),
  snapshot: expose location through virsh snapshot-info (Eric Blake),
  snapshot: implement new filter sets (Eric Blake),
  snapshot: add virsh back-compat support for new filters (Eric Blake),
  snapshot: add two more filter sets to API (Eric Blake),
  nodeinfo: support kernels that lack socket information (Eric Blake),
  snapshot: require user to supply external memory file name (Eric Blake),
  virsh: save: report an error if XML file can't be read (Ján Tomko),
  virsh: Use virNodeGetCPUMap if possible (Viktor Mihajlovski),
  python: Use virNodeGetCPUMap where possible (Viktor Mihajlovski),
  qemu, lxc: Change host CPU number detection logic. (Viktor Mihajlovski),
  nodeinfo: enable nodeGetCPUCount for older kernels (Viktor Mihajlovski),
  Use helper functions to format the journal iov array (Miloslav Trmač),
  Add metadata to virLogOutputFunc (Miloslav Trmač),
  Add a metadata parameter to virLog{, V}Message (Miloslav Trmač),
  qemu: add bootindex for usb-host and usb-redir devices (Ján Tomko),
  build: rerun bootstrap if AUTHORS is missing (Eric Blake),
  qemu: Don't force port=0 for SPICE (Michal Privoznik),
  snapshot: qemu: Fix detection of external snapshots when deleting (Peter Krempa),
  nodeinfotest: Add test data from a AMD bulldozer machine. (Peter Krempa),
  nodeinfotest: Add test data for 2 processor host with broken NUMA (Peter Krempa),
  nodeinfo: Add check and workaround to guarantee valid cpu topologies (Peter Krempa),
  qemu: Allow migration to be cancelled at prepare phase (Michal Privoznik),
  capabilities: defaultConsoleTargetType can depend on architecture (Viktor Mihajlovski),
  snapshot: qemu: Add support for external inactive snapshots (Peter Krempa),
  virsh: add snapshot-create-as memspec support (Eric Blake),
  virsh: make ,, escape parsing common (Eric Blake),
  qemu: Emit event if 'cont' fails (Michal Privoznik),
  Introduce new VIR_DOMAIN_EVENT_SUSPENDED_API_ERROR event (Michal Privoznik),
  virsh: document which term is older (Eric Blake),
  tests: Add test for controller order (Michal Privoznik),
  qemu: Add controllers in specified order (Michal Privoznik),
  qemu: Wrap controllers code into dummy loop (Michal Privoznik),
  spec: replace scriptlets with new systemd macros (Václav Pavlín),
  gitignore: ignore more files (liguang),
  snapshot: qemu: Remove restrictions preventing external checkpoints (Peter Krempa),
  snapshot: qemu: Add support for external checkpoints (Peter Krempa),
  snapshot: qemu: Rename qemuDomainSnapshotCreateActive (Peter Krempa),
  snapshot: qemu: Add async job type for snapshots (Peter Krempa),
  snapshot: Add flag to enable creating checkpoints in live state (Peter Krempa),
  qemu: Split out domain memory saving code to allow reuse (Peter Krempa),
  qemu: Clean up snapshot retrieval to use the new helper (Peter Krempa),
  cpu: Add AMD Opteron G5 cpu model (Peter Krempa),
  cpu: Add newly added cpu flags (Peter Krempa),
  snapshot: merge pre-snapshot checks (Eric Blake),
  snapshot: populate new XML info for qemu snapshots (Eric Blake),
  snapshot: improve disk align checking (Eric Blake),
  snapshot: new XML for external system checkpoint (Eric Blake),
  snapshot: simplify OOM checking during parse (Eric Blake),
  Document bracket whitespace rules & add syntax-check rule (Daniel P. Berrange),
  net: Mark network persistent when assigning persistent definition (Peter Krempa),
  net: Add support for changing persistent networks to transient (Peter Krempa),
  net: Re-use checks when creating transient networks (Peter Krempa),
  net: Remove dnsmasq and radvd files also when destroying transient nets (Peter Krempa),
  net: Move creation of dnsmasq hosts file to function starting dnsmasq (Peter Krempa),
  net: Change argument type of virNetworkObjIsDuplicate() (Peter Krempa),
  build: Do not ignore logging.c in sc_prohibit_mkstemp (Jiri Denemark),
  qemu: use default machine type if missing it in qemu command line (Guannan Ren)
- Cleanups:
  storage: Remove the redundant white lines (Osier Yang),
  Fix the indention (Osier Yang),
  Do not export symbol virStateActive anymore (Osier Yang),
  maint: Misc whitespace cleanups (Peter Krempa),
  Fix the coding style (Osier Yang),
  Fix indentions (Osier Yang),
  qemu: Remove full stop from error messages (Jiri Denemark),
  build: more fix to avoid C99 for loop (Hu Tao),
  nwfilter: drop dead code (Eric Blake),
  qemu: Drop word "either" from comments for agent monitor functions (Peter Krempa),
  s/qemud/qemu/ in QEMU driver sources (Daniel P. Berrange),
  Remove bogus newline at end of debug log message (Daniel P. Berrange),
  build: avoid C99 for loop (Eric Blake),
  util: Fix the indention (Osier Yang),
  qemu/qemu_command.c: fix indent of label (Alon Levy),
  qemu: Beautify code indent in migration codes (liguang),
  qemu: Fix function header formating of 2 functions (Peter Krempa),
  Remove spurious whitespace between function name & open brackets (Daniel P. Berrange),
  Remove a chunk which should not have been pushed as part of 1.0.0 (Daniel Veillard),
  logging.c: Properly indent and ignore one syntax-check rule (Michal Privoznik)

### 1.0.0: Nov 2 2012

- Features:
  virNodeGetCPUMap: Define public API. (Viktor Mihajlovski),
  Add systemd journal support (Daniel P. Berrange),
  Add a qemu capabilities cache manager (Daniel P. Berrange),
  USB migration support (Jiri Denemark),
  various improvement and fixes when using QMP QEmu interface Support for Xen 4.2 (Jim Fehlig),
  Lot of localization enhancements (Transifex teams)
- Documentation:
  net-update docs: s/domain/network/ (Michal Privoznik),
  libvirtd no longer uses abstract namespace (Eric Blake),
  documentation: HTML tag fix (Philipp Hahn),
  virsh: Fix POD syntax (Jiri Denemark),
  Fix installation of internals/*.html (Cole Robinson),
  virsh: clarify behavior of send-key (Cole Robinson),
  maint: fix license on polkit script (Eric Blake),
  Sort out the relationship between <vcpu>, <vcpupin>, and <emulatorpin> (Osier Yang),
  Tweak comments in the policykit rules file (Cole Robinson),
  Various typos and misspellings (Ján Tomko),
  qemu: Fix misleading comment for qemuDomainObjBeginJobWithDriver() (Peter Krempa),
  Correct name of domain/pm/suspend-to-mem in docs (Zeeshan Ali (Khattak)),
  update description about user/group in qemu.conf (Marcelo Cerri),
  Drop useless </p> in drvphyp.html.in (Michal Privoznik),
  fix links in migration.html TOC (Eric Blake),
  Add Maven repository to Java bindings documentation (Wido den Hollander),
  rudimentary phyp documentation (Eric Blake),
  update description about security labels on formatdomain.html (Marcelo Cerri),
  Add note about numeric domain names to manpage (Dave Allan),
  Fix typo in header file comment (Daniel P. Berrange),
  Update how to compile with -Werror (Doug Goldstein),
  node_memory: Improve the docs (Osier Yang)
- Portability:
  Don't assume pid_t is the same size as an int (Daniel P. Berrange),
  build: Fix RPM build for non-x86 platforms (Viktor Mihajlovski),
  build: fix linking with systemtap probes (Eric Blake),
  parallels: fix build for some older compilers (Laine Stump),
  Fix build with apparmor (Jiri Denemark),
  build: use correct printf types for uid/gid (Eric Blake),
  spec: Fix multilib issue with systemtap tapsets (Cole Robinson),
  spec: Require newer sanlock on recent distros 2 (Jiri Denemark),
  spec: Add runtime requirement for libssh2 (Peter Krempa),
  spec: Require newer sanlock on recent distros (Jiri Denemark),
  locking: Fix build with sanlock < 2.4 (Jiri Denemark),
  Fix virProcessKillPainfully on Win32 (Daniel P. Berrange),
  Properly parse (unsigned) long long (Guido Günther),
  win32: Pretend that close-on-exec works (Matthias Bolte),
  build: fix VPATH builds (Eric Blake),
  build: avoid journald on rhel 5 (Eric Blake),
  build: fix bitmap conversion when !CPU_ALLOC (Eric Blake),
  Fix compilation of legacy xen driver with Xen 4.2 (Jim Fehlig),
  build: fix detection of netcf linked with libnl1 (Christophe Fergeau)
- Bug Fixes:
  qemu: QMP capabilities support starts with 1.2 (Doug Goldstein),
  Linux Containers are not allowed to create device nodes. (Dan Walsh),
  qemu: Fix name comparison in qemuMonitorJSONBlockIoThrottleInfo() (Stefan Hajnoczi),
  qemu: Keep QEMU host drive prefix in BlkIoTune (Stefan Hajnoczi),
  iohelper: fdatasync() at the end (Michal Privoznik),
  conf: Fix private symbols exported by files in conf (Peter Krempa),
  Fix arch detection for qemu-system-i386 with QMP (Daniel P. Berrange),
  build: prefer mkostemp for multi-thread safety (Eric Blake),
  qemu: Fix EmulatorPinInfo without emulatorpin (Martin Kletzander),
  ip6tables rule removal (Gene Czarcinski),
  Create temporary dir for socket (Guido Günther),
  cpu: Fix definition of flag smap (Peter Krempa),
  nodeinfotest: Delete NUL bytes from test data (Peter Krempa),
  qemu: Do not ignore address for USB disks (Vladislav Bogdanov),
  esx: Fix connection to ESX 5.1 (Martin Kletzander),
  build: place attributes in correct location (Eric Blake),
  qemu: Fix domxml-to-native network model conversion (Cole Robinson),
  build: typo fix for qemu cpu affinity (Eric Blake),
  qemu: fix attach/detach of netdevs with matching mac addrs (Laine Stump),
  cpustat: fix regression when cpus are offline (Eric Blake),
  build: fix type-punning bug (Eric Blake),
  network: fix networkValidate check for default portgroup and vlan (Laine Stump),
  Fix detection of Xen sysctl version 9 (Jim Fehlig),
  selinux: Don't fail RestoreAll if file doesn't have a default label (Cole Robinson),
  xml: omit domain name from comment if it contains double hyphen (Ján Tomko),
  Fix disabling of apparmor/selinux security drivers (Christophe Fergeau),
  storage: Don't do wait loops from VolLookupByPath (Cole Robinson),
  qemu: Don't use -enable-nesting with qemu 1.2.0+ (Cole Robinson),
  qemu: Don't blindly assume VNC is supported (Doug Goldstein),
  test: Don't assume VNC is always available (Doug Goldstein),
  virsh: Fix segfault of snapshot-list (Osier Yang),
  qemu: Fix the unused parameter which causes the build failure (Osier Yang),
  daemon: Avoid 'Could not find keytab file' in syslog (Cole Robinson),
  network: don't allow multiple default portgroups (Laine Stump),
  network: always create dnsmasq hosts and addnhosts files, even if empty (Laine Stump),
  network: free/null newDef if network fails to start (Laine Stump),
  blockjob: avoid segv on early error (Eric Blake),
  selinux: relabel tapfd in qemuPhysIfaceConnect (Guannan Ren),
  qemu: Set arch to i686 if qemu-system-i386 is found (Guido Günther),
  qemu: Don't fail without emulatorpin or cpumask (Guido Günther),
  network: Set to NULL after virNetworkDefFree() (Michal Privoznik),
  spec: Fix dependency for lock-sanlock subpackage (Jiri Denemark),
  qemu: Correctly wait for spice to migrate (Michal Privoznik),
  qemu: Clear async job when p2p migration fails early (Jiri Denemark),
  selinux: fix wrong tapfd relablling (Guannan Ren),
  storage: lvm: lvcreate fails with allocation=0, don't do that (Cole Robinson),
  conf: Fix crash with cleanup (Martin Kletzander),
  Avoid straying </cpuset> (Guido Günther),
  conf: fix virDevicePCIAddressEqual args (Laine Stump),
  virsh: block SIGINT while getting BlockJobInfo (Ján Tomko),
  esx: Fix dynamic dispatch for types with more than one level of inheritance (Matthias Bolte),
  qemu: Fix QMP detection of QXL graphics (Jiri Denemark),
  Call curl_global_init from virInitialize to avoid thread-safety issues (Matthias Bolte),
  fix kvm_pv_eoi with kvmclock (Martin Kletzander),
  Fix typo in HAVE_DBUS automake conditional (Alexander Larsson),
  esx: Disable libcurl's use of signals to fix a segfault (Matthias Bolte),
  S390: Buffer too small for large CPU numbers. (Viktor Mihajlovski),
  Correct checking of virStrcpyStatic() return value (Kyle Mestery),
  qemu: Kill processes used for QMP caps probing (Jiri Denemark),
  qemu: Use proper agent entering function when freezing filesystems (Peter Krempa),
  lxc: Correctly report active cgroups (Michal Privoznik),
  build: avoid infinite autogen loop (Eric Blake),
  Avoid bogus I/O event errors when closing the QEMU monitor (Daniel P. Berrange),
  Fix QEMU test with 1.2.0 help output (Daniel P. Berrange),
  network: fix dnsmasq/radvd binding to IPv6 on recent kernels (Benjamin Cama),
  Fix regression starting QEMU instances without query-events (Daniel P. Berrange),
  Fix handling of itanium arch name in QEMU driver (Daniel P. Berrange),
  Fix potential deadlock when agent is closed (Daniel P. Berrange),
  Fix (rare) deadlock in QEMU monitor callbacks (Daniel P. Berrange),
  Don't skip over socket label cleanup (Daniel P. Berrange),
  Don't ignore return value of qemuProcessKill (Daniel P. Berrange),
  Fix deadlock in handling EOF in LXC monitor (Daniel P. Berrange),
  parallels: don't give null pointers to virBitmapEqual (Dmitry Guryanov),
  parallels: fix memory allocation (Dmitry Guryanov),
  qemu: wait for SPICE to migrate (Michal Privoznik),
  Don't use O_TRUNC when opening QEMU logfiles (Daniel P. Berrange),
  Fix start of containers with custom root filesystem (Daniel P. Berrange)
- Improvements:
  cpumap: optimize for clients that don't need online count (Eric Blake),
  daemon: Make the default PolicyKit policy auth_admin_keep. (Richard W.M. Jones),
  util: Improve error reporting from absolutePathFromBaseFile helper (Peter Krempa),
  Make non-KVM machines work with QMP probing (Martin Kletzander),
  maint: log xml during volume creation (Eric Blake),
  util: do a better job of matching up pids with their binaries (Laine Stump),
  sanlock: Introduce 'user' and 'group' conf variables (Michal Privoznik),
  qemu: pass -usb and usb hubs earlier, so USB disks with static address are handled properly (Vladislav Bogdanov),
  qemu: Report errors from iohelper (Michal Privoznik),
  util: Re-format literal strings in virXMLEmitWarning (Peter Krempa),
  xml: print uuids in the warning (Ján Tomko),
  blockjob: relabel entire existing chain (Eric Blake),
  blockjob: allow mirroring under SELinux and cgroup (Eric Blake),
  blockjob: allow for existing files in block-copy (Eric Blake),
  blockjob: implement block copy for qemu (Eric Blake),
  blockjob: make block pivot safer (Eric Blake),
  blockjob: support pivot operation on cancel (Eric Blake),
  blockjob: return appropriate event and info (Eric Blake),
  blockjob: react to active block copy (Eric Blake),
  blockjob: add qemu capabilities related to block jobs (Eric Blake),
  build: check for pod errors (Eric Blake),
  build: silence compiler warning about signedness (Eric Blake),
  maint: Sort .gitignore (Peter Krempa),
  virsh: Remove --flags from nodesuspend (Jiri Denemark),
  snapshot: improve snapshot-list error message (Eric Blake),
  maint: ignore unsaved emacs files (Eric Blake),
  daemon: Fix LIBVIRT_DEBUG=1 default output (Cole Robinson),
  virNodeGetCPUMap: Add python binding (Viktor Mihajlovski),
  virNodeGetCPUMap: Implement driver support (Viktor Mihajlovski),
  virNodeGetCPUMap: Implement support function in nodeinfo (Viktor Mihajlovski),
  nodeinfo: improve probing node cpu bitmap (Eric Blake),
  bitmap: add virBitmapCountBits (Eric Blake),
  esx: Update version checks for vSphere 5.1 (Matthias Bolte),
  cpu: Add recently added cpu feature flags. (Peter Krempa),
  qemu: Prohibit chaning affinity of domain process if placement is 'auto' (Osier Yang),
  qemu: Keep the affinity when creating cgroup for emulator thread (Osier Yang),
  qemu: Add helper to prepare cpumap for affinity setting (Osier Yang),
  virNodeGetCPUMap: Implement virsh support. (Viktor Mihajlovski),
  libvirt.h.in: Add new cpumap macro VIR_CPU_USED (Viktor Mihajlovski),
  virNodeGetCPUMap: Implement wire protocol. (Viktor Mihajlovski),
  header: declare node memory parameter handling earlier (Eric Blake),
  header: declare typed parameter handling earlier (Eric Blake),
  build: improve FORTIFY_SOURCE usage (Eric Blake),
  qemu_migration: Transport OVS per-port data during live migration (Kyle Mestery),
  openvswitch: Add utility functions for getting and setting Open vSwitch per-port data (Kyle Mestery),
  qemu_migration: Add hooks to transport network data during migration (Kyle Mestery),
  build: print uids as unsigned (Eric Blake),
  storage: don't shadow global 'wait' declaration (Ján Tomko),
  maint: update to latest gnulib (Eric Blake),
  snapshot: sanity check when reusing file for snapshot (Eric Blake),
  storage: let format probing work on root-squash NFS (Eric Blake),
  migrate: v2: use VIR_DOMAIN_XML_MIGRATABLE when available (Ján Tomko),
  qemu: set seamless migration capability (Michal Privoznik),
  Log parameters passed to virFileMakePath (Cole Robinson),
  Log file name passed to virConfReadFile (Cole Robinson),
  blockjob: properly label disks for qemu block-commit (Eric Blake),
  blockjob: refactor qemu disk chain permission grants (Eric Blake),
  blockjob: implement shallow commit flag in qemu (Eric Blake),
  blockjob: wire up online qemu block-commit (Eric Blake),
  blockjob: manage qemu block-commit monitor command (Eric Blake),
  blockjob: remove unused parameters after previous patch (Eric Blake),
  storage: use cache to walk backing chain (Eric Blake),
  storage: cache backing chain while qemu domain is live (Eric Blake),
  storage: make it easier to find file within chain (Eric Blake),
  storage: remember relative names in backing chain (Eric Blake),
  storage: don't require caller to pre-allocate metadata struct (Eric Blake),
  storage: get entire metadata chain in one call (Eric Blake),
  storage: don't probe non-files (Eric Blake),
  storage: use enum for snapshot driver type (Eric Blake),
  storage: use enum for disk driver type (Eric Blake),
  storage: use enum for default driver type (Eric Blake),
  storage: match RNG to supported driver types (Eric Blake),
  storage: treat 'aio' like 'raw' at parse time (Eric Blake),
  storage: list more file types (Eric Blake),
  Autogenerate AUTHORS (Cole Robinson),
  qemu: Allow migration with host USB devices (Jiri Denemark),
  dist: added cpu/cpu_ppc_data.h to Makefile.am (Viktor Mihajlovski),
  qemu: Always format CPU topology (Jiri Denemark),
  qemu: Add support for HyperV Enlightenment feature "relaxed" (Peter Krempa),
  conf: Add support for HyperV Enlightenment features (Peter Krempa),
  conf: Make tri-state feature options more universal (Peter Krempa),
  qemu: Fixed default machine detection in qemuCapsParseMachineTypesStr (Viktor Mihajlovski),
  qemu: Pin the emulator when only cpuset is specified (Martin Kletzander),
  interface: add virInterfaceGetXMLDesc() in udev (Doug Goldstein),
  Implement CPU model driver for PowerPC (Li Zhang),
  Add one file cpu_ppc_data.h to define CPU data for PPC (Li Zhang),
  selinux: remove unused variables in socket labelling (Guannan Ren),
  storage: lvm: Don't overwrite lvcreate errors (Cole Robinson),
  Make virInitialize thread safe (Daniel P. Berrange),
  Add JSON serialization of virNetServerPtr objects for process re-exec() (Daniel P. Berrange),
  Add JSON serialization of virNetServerClientPtr objects for process re-exec() (Daniel P. Berrange),
  Add JSON serialization of virNetServerServicePtr objects for process re-exec() (Daniel P. Berrange),
  Add JSON serialization of virNetSocketPtr objects for process re-exec() (Daniel P. Berrange),
  Add JSON serialization of virLockSpacePtr objects for process re-exec() (Daniel P. Berrange),
  Introduce an internal API for handling file based lockspaces (Daniel P. Berrange),
  tests: Fix domain-events python test (Martin Kletzander),
  maint: prepare for next release number (Eric Blake),
  conf: add test for boot dev and order (Martin Kletzander),
  selinux: Use raw contexts 2 (Martin Kletzander),
  selinux: add security selinux function to label tapfd (Guannan Ren),
  Add support for SUSPEND_DISK event (Martin Kletzander),
  util: switch virLogEatParams to virLogSource (Ján Tomko),
  node_memory: Add new parameter field to tune the new sysfs knob (Osier Yang),
  qemu: reorganize qemuDomainChangeNet and qemuDomainChangeNetBridge (Laine Stump),
  conf: virDomainDeviceInfoCopy utility function (Laine Stump),
  qemu: Ignore def->cpumask if emulatorpin is specified (Osier Yang),
  conf: Ignore emulatorpin if vcpu placement is auto (Osier Yang),
  qemu: Initialize cpuset for hotplugged vcpu as def->cpuset (Osier Yang),
  qemu: Create or remove cgroup when doing vcpu hotpluging (Osier Yang),
  conf: Initialize the pinning policy for vcpus (Osier Yang),
  conf: Ignore vcpupin for not onlined vcpus when parsing (Osier Yang),
  Only keep one polkit rules file (Cole Robinson),
  daemon: Use $(AM_V_GEN) in a few more places (Cole Robinson),
  spec: Add support for libssh2 transport (Peter Krempa),
  selinux: Use raw contexts (Martin Kletzander),
  conf: Mark missing optional USB devices in domain XML (Jiri Denemark),
  virsh: remove reference to migration in blockcopy (Ján Tomko),
  qemu: Make save/restore with USB devices usable (Jiri Denemark),
  Add MIGRATABLE flag for virDomainGetXMLDesc (Jiri Denemark),
  qemu: Implement startupPolicy for USB passed through devices (Jiri Denemark),
  qemu: Add option to treat missing USB devices as success (Jiri Denemark),
  qemu: Introduce qemuFindHostdevUSBDevice (Jiri Denemark),
  conf: Add support for startupPolicy for USB devices (Jiri Denemark),
  locking: Implement lock failure action in sanlock driver (Jiri Denemark),
  locking: Add support for lock failure action (Jiri Denemark),
  locking: Pass hypervisor driver name when acquiring locks (Jiri Denemark),
  locking: Add const char * parameter to avoid ugly typecasts (Jiri Denemark),
  conf: Add on_lockfailure event configuration (Jiri Denemark),
  conf: Rename life cycle actions to event actions (Jiri Denemark),
  storage: Report UUID/name consistently in driver errors (Cole Robinson),
  Change qemuSetSchedularParameters to use AFFECT_CURRENT (Daniel P. Berrange),
  interface: add udevIfaceIsActive() to udev backend (Doug Goldstein),
  interface: always build all available backends (Doug Goldstein),
  interface: fix netcf based backend naming (Doug Goldstein),
  interface: add udev based backend for virInterface (Doug Goldstein),
  hooks: let virCommand do the error reporting (Eric Blake),
  nodeinfo: Fully convert to new virReportError (Michal Privoznik),
  virsh: add qemu-monitor-command --pretty (Eric Blake),
  security: update user and group parsing in security_dac.c (Marcelo Cerri),
  util: extend virGetUserID and virGetGroupID to support names and IDs (Marcelo Cerri),
  python: keep consistent handling of Python integer conversion (Guannan Ren),
  python: cleanup vcpu related binding APIs (Guannan Ren),
  Check for private symbols presence as well (Michal Privoznik),
  spec: prefer canonical name of util-linux (Eric Blake),
  build: update gnulib for FreeBSD build (Eric Blake),
  security: also parse user/group names instead of just IDs for DAC labels (Marcelo Cerri),
  build: avoid -Wno-format on new-enough gcc (Eric Blake),
  build: fix typo in debug message (Eric Blake),
  hyperv: Fix and improve hypervListAllDomains (Matthias Bolte),
  esx: Fix and improve esxListAllDomains function (Matthias Bolte),
  build: default selinuxfs mount point to /sys/fs/selinux (Daniel J Walsh),
  Add support for detecting capablities using QMP commands (Daniel P. Berrange),
  Ignore error from query-cpu-definitions (Daniel P. Berrange),
  Remove need to pass in a virDomainObjPtr instance to qemuMonitorOpen (Daniel P. Berrange),
  ARMHF: implement /proc/cpuinfo parsing (Chuck Short),
  Automatically enable systemd journal logging (Daniel P. Berrange),
  Refactor qemuCapsParseDeviceStr to work from data tables (Daniel P. Berrange),
  Don't initialize logging twice in libvirtd (Daniel P. Berrange),
  Change logging category parameter into an enum (Daniel P. Berrange),
  Include filename explicitly in logging APIs (Daniel P. Berrange),
  Whitespace cleanup in logging files (Daniel P. Berrange),
  s/int/virLogDestination/ in logging code (Daniel P. Berrange),
  s/long long/size_t/ for file line numbers in logging code (Daniel P. Berrange),
  s/int/virLogPriority/ in logging code (Daniel P. Berrange),
  python: return error if PyObject obj is NULL for unwrapper helper functions (Guannan Ren),
  Pass the "raw" log message to each virLogOutputFunc (Miloslav Trmač),
  Split priority conversion from virLogOutputToSyslog (Miloslav Trmač),
  Move command/event capabilities detection out of QEMU monitor code (Daniel P. Berrange),
  Remove some unused includes in QEMU code (Daniel P. Berrange),
  Add a qemuMonitorGetTargetArch() method for QMP query-target command (Daniel P. Berrange),
  Add a qemuMonitorGetObjectProps() method for QMP device-list-properties command (Daniel P. Berrange),
  Add a qemuMonitorGetObjectTypes() method for QMP qom-list-types command (Daniel P. Berrange),
  Add a qemuMonitorGetEvents() method for QMP query-events command (Daniel P. Berrange),
  Add a qemuMonitorGetCommands() method for QMP query-commands command (Daniel P. Berrange),
  Add a qemuMonitorGetCPUDefinitions method for QMP query-cpu-definitions command (Daniel P. Berrange),
  Add a qemuMonitorGetMachines() method for QMP query-machines command (Daniel P. Berrange),
  Add a qemuMonitorGetVersion() method for QMP query-version command (Daniel P. Berrange),
  Refactor guest init to support qemu-system-i386 binary too (Daniel P. Berrange),
  Make qemuCapsProbeMachineTypes & qemuCapsProbeCPUModels static (Daniel P. Berrange),
  Remove probing of CPU models when launching QEMU guests (Daniel P. Berrange),
  Remove probing of machine types when canonicalizing XML (Daniel P. Berrange),
  Remove probing of flags when launching QEMU guests (Daniel P. Berrange),
  Switch over to use cache for building QEMU capabilities (Daniel P. Berrange),
  Use size_t instead of int for virDomainDefPtr struct (Daniel P. Berrange),
  Move most of qemuProcessKill into virProcessKillPainfully (Daniel P. Berrange),
  Support Xen sysctl version 9 in Xen 4.2 (Jim Fehlig),
  network: backend for virNetworkUpdate of interface list (Laine Stump),
  build: avoid older gcc warning (Eric Blake),
  Simplify some redundant locking while unref'ing objects (Daniel P. Berrange),
  Convert virLXCMonitor to use virObject (Daniel P. Berrange),
  Move virProcess{Kill,Abort,TranslateStatus} into virprocess.{c,h} (Daniel P. Berrange),
  Move virProcessKill into virprocess.{h,c} (Daniel P. Berrange),
  Rename virCommandTranslateStatus to virProcessTranslateStatus (Daniel P. Berrange),
  Rename virPid{Abort,Wait} to virProcess{Abort,Wait} (Daniel P. Berrange),
  Rename virKillProcess to virProcessKill (Daniel P. Berrange),
  qemu: Avoid holding the driver lock in trivial snapshot API's (Peter Krempa),
  storage: Add timeout for iscsi volume's stable path discovery (Osier Yang),
  tests: test previous commit (Eric Blake),
  command: Change virCommandAddEnv so it replaces existing environment variables. (Richard W.M. Jones),
  command: Move environ-adding code to common function virCommandAddEnv. (Richard W.M. Jones)
- Cleanups:
  gitignore: Ignore 'tags' (Michal Privoznik),
  build: fix syntax-check tab violation (Eric Blake),
  maint: consistent whitespace after 'if' (Eric Blake),
  Remove a couple duplicates from AUTHORS.in (Cole Robinson),
  qemu: Cleanup the unused 'nodeinfo' (Osier Yang),
  AUTHORS: Remove double entry (Michal Privoznik),
  Doc-fix for PowerPC CPU model driver (Li Zhang),
  Fix typo in previous commit s/lik/like/ (Daniel P. Berrange),
  maint: drop spurious semicolons (Eric Blake),
  Fix tab vs space (Guido Günther),
  private.syms: Drop virKillProcess (Michal Privoznik),
  Remove xenner support (Daniel P. Berrange),
  parallels: remove unneded code from parallelsDoCmdRun (Dmitry Guryanov),
  parallels: remove unused member 'os' from parallelsDomObj (Dmitry Guryanov),
  Remove pointless virLXCProcessMonitorDestroy method (Daniel P. Berrange)

### 0.10.2: September 24 2012

- Features:
  network: define new API virNetworkUpdate (Laine Stump),
  add support for QEmu sandbox support (Ján Tomko),
  blockjob: add virDomainBlockCommit (Eric Blake),
  node_memory: Define the APIs to get/set memory parameters (Osier Yang),
  list: Define new API virConnectListAllSecrets (Osier Yang),
  list: Define new API virConnectListAllNWFilters (Osier Yang),
  list: Define new API virConnectListAllNodeDevices (Osier Yang),
  parallels: add support of containers to the driver (Dmitry Guryanov),
  list: Define new API virConnectListAllInterfaces (Osier Yang),
  list: Define new API virConnectListAllNetworks (Osier Yang),
  list: Define new API virStoragePoolListAllVolumes (Osier Yang),
  Add PMSUSPENDED life cycle event (Jiri Denemark),
  list: Define new API virStorageListAllStoragePools (Osier Yang),
  Add per-guest S3/S4 state configuration (Martin Kletzander),
  qemu: Support for Block Device IO Limits (Viktor Mihajlovski)
- Documentation:
  locking: Remove README file in favor of internals/locking.html (Jiri Denemark),
  fix typo in filesystem docs (Eric Blake),
  include article about libvirt+audit in relatedlinks.html (Marcelo Cerri),
  virsh: Clarify behavior of domain list filtering (Peter Krempa),
  update usb redirection filter infomation on formatdomain.html (Guannan Ren),
  mention another iaas app built on libvirt (Eric Blake),
  page.xsl: fix FAQ link in subdirectories (Ján Tomko),
  hacking.html.in: fix table of contents (Ján Tomko),
  point out git send-email location, be more stern about make check (Laine Stump),
  examples: Fix event detail printing in python test (Jiri Denemark),
  virsh: Improve the document for pool-list (Osier Yang),
  conf: describe security_driver behavior (Martin Kletzander),
  correct dompmwakeup description (Martin Kletzander)
- Portability:
  build: fix nodeinfo build on non-Linux platforms (Eric Blake),
  virBitmap: fix build without HAVE_NUMACTL (Ján Tomko),
  build: Fix build failure on non-linux platform (Osier Yang),
  build: fix missing include (Dwight Engen),
  Look in Debian's multiarch libs too (Guido Günther),
  build: don't fail if libnl-3 is not found (Eric Blake),
  build: Fix typo which causes build failure (Osier Yang),
  build: force libnl1 if netcf also used libnl1 (Eric Blake),
  build: fix build on older gcc (Eric Blake),
  Fix location of SELinux mount during RPM builds (Daniel P. Berrange),
  nwfilter: drop use of awk (Eric Blake),
  build: improved handling of <execinfo.h>, BSD <net/if.h> (Eric Blake),
  Define DYNLIB_NAME on OpenBSD (Jasper Lievisse Adriaanse),
  build: avoid test failure when sasl was not compiled in (Eric Blake),
  build: avoid check-symfile on non-Linux (Eric Blake),
  build: require netcf-0.2.2 when installing on Fedora18+ (Laine Stump),
  build: don't fail when xsltproc is missing (Eric Blake),
  build: avoid warnings from gcc 4.2.1 (Eric Blake),
  Remove explicit dependency on ceph RPM (Daniel P. Berrange),
  Pass a correct pointer type to localtime_r(3) (Paul Eggert),
  build: use correct libraries for clock_gettime (Eric Blake),
  Include an extra header needed for OpenBSD (Jasper Lievisse Adriaanse),
  Fix mingw64 build by using intptr_t for int->void* casts (Daniel P. Berrange)
- Bug fixes:
  network: don't "refresh" iptables rules on rule-less networks (Laine Stump),
  qemu: Fix failure path in disk hotplug (Jiri Denemark),
  Ensure existing selinux mount is removed before mounting new one in LXC (Daniel P. Berrange),
  Fix crash accessing a NULL URI when looking up auth credentials (Daniel P. Berrange),
  Ensure autogen.sh exists if bootstrap fails (Daniel P. Berrange),
  security: Don't ignore errors when parsing DAC security labels (Peter Krempa),
  qemu: Transition domain to PAUSED after 'stop' command (Michal Privoznik),
  network: fix element size / length in memmove (Laine Stump),
  network: fix incorrect VIR_NETWORK_UPDATE_COMMAND_* values (Laine Stump),
  virsh: Fix resource leaks when editing files (Peter Krempa),
  util: don't print free'd dmidecode path (Eric Blake),
  rpc: Fix name of member in remote_protocol-structs (Peter Krempa),
  qemu: Avoid deadlock on HandleAgentEOF (Michal Privoznik),
  conf: avoid freeing network object with undestroyed mutex (Laine Stump),
  Add missing 'goto error' in QEMU command line building (Daniel P. Berrange),
  Fix initialization of virCommandPtr when creating QEMU argv (Daniel P. Berrange),
  Fix 3 broken test cases which were mistakenly raising errors (Daniel P. Berrange),
  qemu: fix uninitialized variable in qemuParseCommandLine (Ján Tomko),
  security: Fix libvirtd crash possibility (Martin Kletzander),
  snapshot: fix rollback failure in transaction mode (Guannan Ren),
  conf: avoid libvirt crash with empty address guestfwd channel (Alex Jia),
  Wait to receive QMP greeting before sending any monitor commands (Daniel P. Berrange),
  parallels: fix parallelsDomainDefineXML for domains with VNC and autoport (Dmitry Guryanov),
  parallels: fix parallelsDoCmdRun in case of command failure (Dmitry Guryanov),
  Backcompt for console devices in virDomainDeviceInfoIterate (Li Zhang),
  fix bug in qemuSetupCgroupForEmulator (Hu Tao),
  python: Initialize new_params in virDomainSetSchedulerParameters (Federico Simoncelli),
  Don't invoke the auth callback if all credentials were in config file (Daniel P. Berrange),
  Call virResetLastError in all virConnectOpen* functions (Daniel P. Berrange),
  Check against python None type when filling in auth parameters (Daniel P. Berrange),
  Fix crash passing an empty list to python openAuth() API (Daniel P. Berrange),
  Fix unwanted closing of libvirt client connection (Christophe Fergeau),
  Fix RPM spec conditional when %{rhel} is not defined (Daniel P. Berrange),
  events: Fix domain event race on client disconnect (Christophe Fergeau),
  Don't assume use of /sys/fs/cgroup (Daniel P. Berrange),
  remove dnsmasq command line parameter "--filterwin2k" (Gene Czarcinski),
  network: prevent infinite hang if ovs-vswitchd isn't running (Laine Stump),
  qemu: don't pin all the cpus (Martin Kletzander),
  build: use re-entrant functions in virsh (Eric Blake),
  qemu: Do not require auth scheme in graphics events (Jiri Denemark),
  qemu: Fix reboot with guest agent (Jiri Denemark),
  qemu: Don't update graphic definitions on password change failure (Peter Krempa),
  python: don't mask libvirt errors (Eric Blake),
  command: shell-quote when logging commands (Eric Blake),
  qemu: fix remote port searching (Martin Kletzander),
  schemas: Fix wwn pattern (Osier Yang)
- Improvements:
  Don't install legacy initscripts at same time as systemd ones (Daniel P. Berrange),
  network: log error for unknown virNetworkUpdate command codes (Laine Stump),
  network: make virNetworkObjUpdate error detection/recovery better (Laine Stump),
  Drop unused return value of virLogOutputFunc (Miloslav Trmač),
  Add <lt;seclabel> to character devices (Richard W.M. Jones),
  Make virSecurityDeviceLabelDefParseXML into generic device <lt;seclabel> parser (Richard W.M. Jones),
  Improve some debugging log messages in LXC mount setup (Daniel P. Berrange),
  network: backend for virNetworkUpdate of portgroups (Laine Stump),
  network: backend for virNetworkUpdate of dhcp range (Laine Stump),
  virsh: new net-update command (Laine Stump),
  tests: Add tests for dump-core option (Martin Kletzander),
  qemu: add support for dump-guest-core option (Martin Kletzander),
  Add support for limiting guest coredump (Martin Kletzander),
  QEMU Tests for reboot-timeout (Martin Kletzander),
  qemu: Add support for reboot-timeout (Martin Kletzander),
  Add support for reboot-timeout (Martin Kletzander),
  simplify xenXMDomainPinVcpu function (liguang),
  Cleanup of domain_conf sentinels (Martin Kletzander),
  qemu: Cleanup boot parameter building (Martin Kletzander),
  virsh: Move daemon to misc since its not a network (Doug Goldstein),
  build: define WITH_INTERFACE for the driver (Doug Goldstein),
  virsh: Rename QEmu to QEMU to match upstream (Doug Goldstein),
  bitmap: fix problems in previous commit (Eric Blake),
  build: avoid non-portable byte-swapping (Eric Blake),
  Fix minor details not only in apic eoi (Martin Kletzander),
  secret: Fix error for private secrets (Martin Kletzander),
  virNetDevBandwidthClear: Improve error handling (Martin Kletzander),
  syntax-check: fix run.in (Martin Kletzander),
  Add a ./run script for running programs from the local directory (Richard W.M. Jones),
  daemon: Fix error message when libvirtd is missing (Richard W.M. Jones),
  gitignore: Ignore .gdb_history file (Richard W.M. Jones),
  Fix the augea test for qemu libvirtd options (Daniel Veillard),
  network: implement backend of virNetworkUpdate(IP_DHCP_HOST) (Laine Stump),
  network: restart radvd/dnsmasq if needed when libvirtd is restarted (Laine Stump),
  network: implement virNetworkUpdate for test_driver (Laine Stump),
  network: implement virNetworkUpdate for bridge_driver (Laine Stump),
  network: reorganize dnsmasq and radvd config file / startup (Laine Stump),
  conf: implement NetworkObj backend of virNetworkUpdate API (Laine Stump),
  network: utility functions for updating network config (Laine Stump),
  network: implement RPC calls for virNetworkUpdate (Laine Stump),
  tests: add qemu-1.2.0 help data (Ján Tomko),
  qemu: add -sandbox to command line if requested (Ján Tomko),
  qemu: conf: add seccomp_sandbox option (Ján Tomko),
  qemu: add capability flag for seccomp sandbox (Ján Tomko),
  qemu: Use disk wwn in qemu command line (Osier Yang),
  qemu: Add caps to indentify if setting wwn is supported by qemu (Osier Yang),
  conf: Parse and format disk <lt;wwn> (Osier Yang),
  schema: Add schema for disk <lt;wwn> (Osier Yang),
  blockjob: add blockcommit support to rpc (Eric Blake),
  blockjob: add virsh blockcommit (Eric Blake),
  conf: separate functions to parse DHCPHostDef and DHCPRangeDef (Laine Stump),
  remove virDomainCpuSetFormat and virDomainCpuSetParse (Hu Tao),
  xen: eliminate remaining uses of virDomainCpuSetParse (Laine Stump),
  use virBitmap to store nodeinfo (Hu Tao),
  use virBitmap to store cells' cpumask info (Hu Tao),
  use virBitmap to store cpumask info (Hu Tao),
  use virBitmap to store numa nodemask info (Hu Tao),
  use virBitmap to store cpu affinity info (Hu Tao),
  use virBitmap to store cpupin info (Hu Tao),
  New functions for virBitmap (Hu Tao),
  bitmap: new member variable and function renaming (Hu Tao),
  Build: Fix typos which cause build failure (Osier Yang),
  node_memory: Expose the APIs to Python bindings (Osier Yang),
  node_memory: Expose the APIs to virsh (Osier Yang),
  node_memory: Support get/set memory parameters for drivers (Osier Yang),
  node_memory: Implement the internal APIs (Osier Yang),
  node_memory: Wire up the RPC protocol (Osier Yang),
  list: Use virConnectListAllSecrets in virsh (Osier Yang),
  list: Expose virConnectListAllSecrets to Python binding (Osier Yang),
  list: Implement listAllSecrets (Osier Yang),
  list: Implement RPC calls for virConnectListAllSecrets (Osier Yang),
  list: Use virConnectListAllNWFilters in virsh (Osier Yang),
  list: Expose virConnectListAllNWFilters to Python binding (Osier Yang),
  list: Implement listAllNWFilters (Osier Yang),
  list: Implement RPC calls for virConnectListAllNWFilters (Osier Yang),
  list: Use virConnectListAllNodeDevices in virsh (Osier Yang),
  virsh: Don't motify the const string (Osier Yang),
  list: Expose virConnectListAllNodeDevices to Python binding (Osier Yang),
  list: Implement listAllNodeDevices (Osier Yang),
  list: Add helpers for listing node devices (Osier Yang),
  list: Implement RPC calls for virConnectListAllNodeDevices (Osier Yang),
  Introduce a API for creating QEMU capabilities for a binary (Daniel P. Berrange),
  Remove upfront check for hmp - just try it cope with failure (Daniel P. Berrange),
  Don't overwrite errors raised by qemuMonitorHMPCommand (Daniel P. Berrange),
  qemu: Add support for EOI with APIC (Martin Kletzander),
  Add support for EOI with APIC (Martin Kletzander),
  Improve virTypedParameterValidateSet (Osier Yang),
  parallels: implement containers creation (Dmitry Guryanov),
  parallels: fix parallelsDomainDefineXML for existing containers (Dmitry Guryanov),
  parallels: handle unlimited cpus on containers (Dmitry Guryanov),
  Fix data types used for list sizes in QEMU capabilities (Daniel P. Berrange),
  Add API for copying instances of the qemuCapsPtr object (Daniel P. Berrange),
  Add ability to store other metadata in the qemu capabilities object (Daniel P. Berrange),
  Make qemuCapsProbeCommand static (Daniel P. Berrange),
  Turn QEMU capabilities object into a full virObjectPtr (Daniel P. Berrange),
  Allow caps to be NULL when creating virDomainObjPtr instances (Daniel P. Berrange),
  Add a virBitmapCopy API (Daniel P. Berrange),
  test: add xml2argvtest for usb-redir filter and update xml schema (Guannan Ren),
  qemu: build USB redirection filter qemu command line (Guannan Ren),
  qemu: define and parse USB redirection filter XML (Guannan Ren),
  virsh: Fix version numbers in comments (Osier Yang),
  qemu: add usb-redir.filter qemu capability flag (Guannan Ren),
  maint: fix missing spaces in message (Eric Blake),
  build: avoid confusing make with raw name 'undefine' (Eric Blake),
  Add API for opening a QEMU monitor from a socket FD (Daniel P. Berrange),
  list: Expose virConnectListAllInterfaces to Python binding (Osier Yang),
  list: Use virConnectListAllInterfaces in virsh (Osier Yang),
  list: Implement listAllInterfaces (Osier Yang),
  list: Implemente RPC calls for virConnectListAllInterfaces (Osier Yang),
  build: avoid dirty docs on fresh bootstrap (Eric Blake),
  Print any exception that occurs in authentication callback (Daniel P. Berrange),
  virsh: Fix the typos (Osier Yang),
  list: Expose virConnectListAllNetworks to Python binding (Osier Yang),
  list: Use virConnectListAllNetworks in virsh (Osier Yang),
  list: Implement listAllNetworks for test driver (Osier Yang),
  list: Implement listAllNetworks for network driver (Osier Yang),
  list: Add helpers to list network objects (Osier Yang),
  list: Implement RPC calls for virConnectListAllNetworks (Osier Yang),
  list: Expose virStoragePoolListAllVolumes to Python binding (Osier Yang),
  list: Use virStoragePoolListAllVolumes in virsh (Osier Yang),
  list: Implement virStoragePoolListAllVolumes for test driver (Osier Yang),
  list: Implement virStoragePoolListAllVolumes for storage driver (Osier Yang),
  list: Implement RPC calls for virStoragePoolListAllVolumes (Osier Yang),
  Introduce a test suite for the JSON monitor (Daniel P. Berrange),
  Add helper library for testing the qemu monitor code (Daniel P. Berrange),
  Add non-null annotations to qemuMonitorOpen (Daniel P. Berrange),
  Fix PMSuspend and PMWakeup events (Jiri Denemark),
  virsh: Update only changed scheduler tunables (Peter Krempa),
  util: Add helper to assign typed params from string (Peter Krempa),
  qemu: Add range checking for scheduler tunables when changed by API (Peter Krempa),
  qemu: clean up qemuSetSchedulerParametersFlags() (Peter Krempa),
  list: fix typo in virsh patch (Eric Blake),
  Remove duplicate symbols and add test case (Daniel P. Berrange),
  python: Expose virStorageListAllStoragePools to python binding (Osier Yang),
  list: Use virConnectListAllStoragePools in virsh (Osier Yang),
  list: Change MATCH for common use in virsh (Osier Yang),
  virsh: Fix the wrong doc for pool-list (Osier Yang),
  list: Add helper to convert strings separated by ',' to array (Osier Yang),
  list: Implement listAllStoragePools for test driver (Osier Yang),
  list: Implement listAllStoragePools for storage driver (Osier Yang),
  list: Implement the RPC calls for virConnectListAllStoragePools (Osier Yang),
  list: Add helpers for listing storage pool objects (Osier Yang),
  esx: Add implementation for virConnectListAllDomains() (Peter Krempa),
  hyperv: Add implementation for virConnectListAllDomains() (Peter Krempa),
  maint: avoid doubled name in syntax check failures (Eric Blake),
  Rename iolimit to blockio (Viktor Mihajlovski),
  tests: Add tests for qemu S3/S4 state configuration (Martin Kletzander),
  qemu: Add support for S3/S4 state configuration (Martin Kletzander),
  conf: Support for Block Device IO Limits (Viktor Mihajlovski),
  virsh: Improve checking for connection when running commands (Peter Krempa),
  util: Update the inconsistent and outdated comments (Osier Yang)
- Cleanups:
  Remove redundant lines in src/qemu/qemu_driver.c (Tang Chen),
  Remove a redundant line in src/qemu/qemu_driver.c (Tang Chen),
  maint: fix up copyright notice inconsistencies (Eric Blake),
  build: avoid unused symbol (Eric Blake),
  Adhere to copyright_address check (Guido Günther),
  qemuhelptest: convert runaway tab to spaces (Ján Tomko),
  qemu: drop unused arguments for dump-guest-memory (Eric Blake),
  Build: Fix typos which cause build failure (Osier Yang),
  esx: Remove unused variable from esxDomainGetAutostart (Matthias Bolte),
  build: avoid tabs that failed syntax-check (Eric Blake),
  virsh: remove unneeded usage of vshConnectionUsability() (Peter Krempa)

### 0.10.1: August 31 2012

- Bug Fixes:
  conf: Avoid formatting auto-generated DAC labels (Marcelo Cerri),
  conf: Fix parsing of seclabels without model (Marcelo Cerri),
  virsh: fixed incorrect timing report (Viktor Mihajlovski),
  qemu: Don't ignore CPU tuning config if required cgroups are missing (Jiri Denemark),
  cgroup: fix libvirtd crash caused by messed memory (Guannan Ren),
  cgroup: fix a typo on extracting data from vcpu cgroup (Guannan Ren),
  cgroup: read more data from cgroup cpuacct.usage_percpu (Guannan Ren),
  nwfilter: adapt IP learning for broadcasted DHCP replies (Stefan Berger),
  nwfilter: accept broadcasted DHCP replies in DHCP snooping code (Stefan Berger),
  Fix adding ports to OVS bridges without VLAN tags (Kyle Mestery),
  Fix xen driver following changes to make it stateful (Jim Fehlig),
  Fix issue of PF brought down if VF is 8021.Qbh and pci passthrough (Nishank Trivedi),
  nwfilter: loop generated too many rules (Stefan Berger),
  security: Re-apply commit ce53382ba28179d3a504b29b4f888b6e130d53f0 (Peter Krempa),
  vcpupin: Fix returning of arrays from virDomainVcpuPinAdd (Peter Krempa),
  qemu: Fix possible infinite loop and segfault on error path. (Peter Krempa),
  qemu: Clean up security driver initialisation and config file (Peter Krempa),
  qemu: Revert to blocking behavior of qemuAgentCommand (Jiri Denemark),
  qemu: Remove redundant parameter from qemuAgentSend (Jiri Denemark),
  network: get vlan info for Open vSwitch interfaces from proper source (Laine Stump),
  Small cleanup on previous patch (Daniel Veillard),
  Fix a crash when using Open vSwitch virtual ports (Kyle Mestery),
  qemu: Sort the numa params only when it affects the live config (Osier Yang),
  Fix configuration of QEMU security drivers (Daniel P. Berrange),
  qemu: Refactor initialisation of security drivers. (Peter Krempa),
  Revert "security: Add DAC to security_drivers" (Peter Krempa),
  qemu: Fix starting domains with no cpu cgroup (Jiri Denemark)
- Documentation:
  virsh: Document subdriver option of attach-disk (Jiri Denemark),
  update option force to subcommand change-media (Guannan Ren),
  Fix typo in CPU tuning (Jiri Denemark),
  Fix emulator pinning example in formatdomain.html (Peter Krempa)
- Improvement:
  Implement virMacAddrIsBroadcastRaw (Stefan Berger)
- Cleanup:
  security: remove dead code from virSecurityDACGenLabel (Alex Jia)

### 0.10.0: August 29 2012

- Features:
  agent: add qemuAgentArbitraryCommand() for general qemu agent command (MATSUDA Daiki),
  Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo functions. (Tang Chen),
  network: use firewalld instead of iptables, when available (Thomas Woerner),
  network: make network driver vlan-aware (Laine Stump),
  esx: Implement network driver (Matthias Bolte),
  driver for parallels hypervisor (Dmitry Guryanov),
  Various LXC improvements (Daniel P. Berrange),
  Add virDomainGetHostname (Guido Günther)
- Documentation:
  CPU allocation and pinning clarification (Martin Kletzander),
  libssh2_transport: Add docs to remote.html (Peter Krempa),
  Fix some typos in messages, docs and comments. (Yuri Chornoivan),
  fix blockpull/blockcopy bandwidth Mbps -> MiB/s (Stefan Hajnoczi),
  qemu: modify 3 error messages (Martin Kletzander),
  Enhance documentation of log_filters (Jiri Denemark),
  Update libvirtd --help output to match code (Doug Goldstein),
  Update paths in man page to reflect libvirtd code (Doug Goldstein),
  Fix man page file paths to real paths (Doug Goldstein),
  Update documentation for CPU quota/period support for LXC (Sukadev Bhattiprolu),
  docs/virsh: various minor fixes (Martin Kletzander),
  autogenerate search.php (Martin Kletzander),
  fix 404 page when fetched from different location (Martin Kletzander),
  Add method to print warnings in docBuilder class (Peter Krempa),
  maint: avoid regression on copyright listings (Eric Blake),
  maint: Use consistent copyright. (Osier Yang),
  add more description on libvirtd option timeout (Guannan Ren),
  virsh man page - domain-id consistency (Jan Tomko),
  Fixup manpage names and copyright dates (Laine Stump),
  conf: Fix typo in virDomainHostdevSubsys comment (Jiri Denemark),
  maint: spelling correction in AUTHORS (Eric Blake),
  virsh: Clarify that memtune parameters may be rounded in the man page (Jan Tomko),
  Fix time keeping example for the guest clock (Doug Goldstein),
  Desert the FSF address in copyright (Osier Yang),
  Improve patch submission guidelines (Michal Privoznik),
  Clarify direct migration (Jiri Denemark),
  added description of the vendor_id attribute (Hendrik Schwartke),
  virsh: Clarify documentation for virsh dompmsuspend command (Peter Krempa)
- Portability:
  Don't require gawk for a simple print expression (Guido Günther),
  Portability fixes for non-linux or old linux platforms (Daniel Veillard),
  build: define 'inline' iff HAVE_LIBNL1 (Michal Privoznik),
  build: work with older libnl1 headers (Eric Blake),
  specfile: require libnl3 for Fedora >= 18 and RHEL >= 7 (Laine Stump),
  build: add LIBNL_CFLAGS to build of libvirt_lxc (Laine Stump),
  Fix a missing build requirement on dbus-devel (Daniel Veillard),
  Fix parameter list in virNetlinkEvent{Add,Remove}Client Win32 stubs (Daniel P. Berrange),
  build: avoid $(builddir) in Makefile (Eric Blake),
  build: network requires location of dbus headers (Eric Blake),
  atomic: mark header functions static (Eric Blake),
  build: work with glibc that lacks CPU_COUNT (Eric Blake),
  build: work with older RHEL 5 kernel (Eric Blake),
  build: silence stupid gcc warning on STREQ_NULLABLE (Eric Blake),
  Fix parsing of uid/gid on Mingw32 (Daniel P. Berrange),
  build: fix build with autoconf 2.59 (Eric Blake),
  Fix build of virsh on Win32 by moving SA_SIGINFO stub (Daniel P. Berrange),
  Make Win32 stub of vshAskReedit non-static (Daniel P. Berrange),
  Fix WIN32 conditional for disabling console command (Daniel P. Berrange),
  build: avoid warnings on older gcc (Eric Blake),
  Fix virJSONValueToString prototype for Mingw32 (Daniel P. Berrange),
  random: link with -lm when needed (Eric Blake),
  build: fix link error with appArmor (Eric Blake),
  virsh.c: Fix compiler warning (Cole Robinson),
  Avoid clash of base64 symbols (Daniel P. Berrange),
  build: fix build without HAVE_CAPNG (Eric Blake),
  Fix libnl CFLAGS/LIBS inclusion (Doug Goldstein),
  build: fix compilation without struct ifreq (Eric Blake),
  configure: rbd doesn't need -lcrypto (Cole Robinson),
  build: fix typo that breaks non-Linux builds (Eric Blake)
- BugFixes:
  nwfilter: Don't try to acquire DBus context when DBus is disabled (Peter Krempa),
  util: Prevent libvirtd crash (Alex Jia),
  security_dac: Don't return uninitialised uid and gid for image labels (Peter Krempa),
  security_dac: Don't return uninitialised value when parsing seclabels (Peter Krempa),
  security_dac: Avoid segfault when no label is requested (Peter Krempa),
  util: Fix error message when getpwuid_r fails to find the user (Peter Krempa),
  conf: Fix the problem which cause libvirtd to crash (Osier Yang),
  qemu: Fix define logic (Michal Privoznik),
  qemu_agent: Switch to virReportSystemError() on system error (Michal Privoznik),
  conf: prevent NULL pointer access in virSecurityLabelDefsParseXML (Ján Tomko),
  rpc: fix segmentation fault caused by null client-sock (Guannan Ren),
  qemu: fix regression with spice tls port allocation (Martin Kletzander),
  qemu: fix regression with pinning (Martin Kletzander),
  virsh: fix missing return value (Alex Jia),
  xen-xs: fix uuid of renamed domain (Philipp Hahn),
  openvz: check the exitstatus of vzlist (Laine Stump),
  network: fix virtual network bridge delay setting (Laine Stump),
  qemu: forbid suspend if already pmsuspended (Michal Privoznik),
  fix check of vcpuid in virDomainVcpuPinDefParseXML (Hu Tao),
  util: eliminate erroneous VIR_WARNs in (eb|ip)tables.c (Laine Stump),
  dnsmasq: avoid forwarding queries without a domain (Gene Czarcinski),
  virsh: don't print error info when snapshot xml is not changed (Guannan Ren),
  Fix typo in Makefile.am s/LDFOAGS/LDFLAGS/ (Daniel P. Berrange),
  client: Change default location of known_hosts file for libssh2 layer (Peter Krempa),
  command: avoid double close in virExecWithHook (Ján Tomko),
  Fix regression generating image context (Daniel P. Berrange),
  selinux: Fix incorrect object label generation. (Viktor Mihajlovski),
  conf: log error when encountering multiple filterrefs in interface (Laine Stump),
  openvz: unlock virDomainObj objects in openvzOpen (Dmitry Guryanov),
  util: typos in fallback code fo virDoubleToStr (Martin Kletzander),
  Fix timebomb in LIBVIRT_VERSION_INFO calculation (Daniel P. Berrange),
  json: fix interface locale dependency (Martin Kletzander),
  virsh: say save-image-edit failed only when it does (Ján Tomko),
  sanlock: don't unlink lockspace if registration fails (Asad Saeed),
  build: Distribute check-symfile.pl (Cole Robinson),
  Release only specific sanlock resource (Frido Roose),
  build: fix binary location in stap files --with-driver-modules (Laine Stump),
  nwfilter: fix crash during filter define when lxc driver failed startup (Laine Stump),
  nwfilter: remove target table before renaming it (Stefan Berger),
  qemu: Fix debug message in p2p migration (Jiri Denemark),
  Fix errno check, prevent spurious errors under heavy load (Peter Feiner),
  rpc: fix a virObject typo error in struct _virNetServer (Guannan Ren),
  Set LIBVIRT_AUTOSTART=0 when running test suites (Daniel P. Berrange),
  qemu: Set reasonable RSS limit on domain startup (Michal Privoznik),
  conf: Remove console stream callback only when freeing console helper (Peter Krempa),
  client: Free message when freeing client (Peter Krempa),
  build: fix "make rpm" (Laine Stump),
  Fix typo s/AM_CLFAGS/AM_CFLAGS/ in sanlock link (Daniel P. Berrange),
  virsh: console: Avoid using stream after being freed. (Peter Krempa),
  remote: Fill snapshot argument in remoteDomainSnapshotListAllChildren (Peter Krempa),
  qemu: Fix typo in qemuDomainModifyDeviceFlags (Michal Privoznik),
  build: commit to 0.10.0 release naming (Eric Blake),
  build: Link security driver into daemon (Jiri Denemark),
  Fix rpm build failures (Daniel Veillard),
  Add missing parallels_utils.h to Makefile.am (Daniel Veillard),
  qemu: syntax fix (Marc-André Lureau),
  qemu: fix use after free (Eric Blake),
  build: distribute virsh related source files (Guannan Ren),
  daemon: Fix crash in virTypedParameterArrayClear (Jiri Denemark),
  conf: Remove callback from stream when freeing entries in console hash (Peter Krempa),
  Process all pending I/O for a RPC client before checking EOF (Daniel P. Berrange),
  libvirt-guests: systemd host shutdown does not work (Gerd v. Egidy),
  virsh: Fix error resetting on fallback paths (Peter Krempa),
  virsh: Check for existence of storage before undefining the domain (Peter Krempa),
  util: Fix typoes on return value and comments (Guannan Ren),
  fixed SegFault in virauth (Martin Kletzander),
  virsh: fixed domdisplay command (Martin Kletzander),
  building: fix deps error when some drivers are not built (Wen Congyang),
  ESX: Fix ESX_VI__TEMPLATE__DYNAMIC_DEEP_COPY (Ata E Husain Bohra),
  tests: avoid seclabeltest crash (Eric Blake),
  Only enforce check for YAJL when starting a VM (Daniel P. Berrange),
  Make the 'lxc_driver' global variable non-static (Gao feng),
  Reset the 'quit' flag in virNetServerRun (Daniel P. Berrange),
  Don't autostart domains when reloading config (Daniel P. Berrange),
  esx: Fix esxVI_String_Deserialize (Matthias Bolte),
  nodeinfo: deal with offline cpus in a node (Eric Blake),
  lxcContainerMountCGroups also mounts a tmpfs that needs to be labeled. (Dan Walsh),
  remote: Fix locking in stream APIs (Jiri Denemark),
  qemu: Do not fail virConnectCompareCPU if host CPU is not known (Jiri Denemark),
  qemu: Fix probing for guest capabilities (Jiri Denemark),
  fix failure when building with --disable-debug (Hu Tao),
  virsh: remove unnecessary sleep for nodecpustats --percent (Viktor Mihajlovski),
  Fix daemon auto-spawning (Christophe Fergeau),
  Fix directory removal in filesystem storage driver (Sascha Peilicke),
  storage: Default pool permission mode to 0755 (Osier Yang),
  Fix shutdown of LXC controller (Daniel P. Berrange),
  openvz: Handle domain obj hash map errors (Guido Günther),
  Fix /domain/features setting in qemuParseCommandLine (Christophe Fergeau),
  systemd: start libvirtd after network (Jim Fehlig),
  util: Use current uid and gid if they are passed as -1 for virDirCreate (Osier Yang),
  virsh: Ensure the parents of the readline history path exists (Osier Yang),
  Fix a string format bug in qemu_cgroup.c (tangchen),
  storage_backend_fs: Allocate entry for host before accessing it (Peter Krempa),
  storage_backend_fs: Don't free a part of a structure on error (Peter Krempa),
  Only ummount /proc, /sys, /dev if the root source is '/' (Daniel P. Berrange),
  Fix one test regression on auth Ceph support (Daniel Veillard),
  Avoid build shared source files again for libvirt_lxc (Daniel P. Berrange),
  qemu: Always set auth_supported for Ceph disks. (Wido den Hollander),
  virsh: Fix ordering of arguments when calling vshCalloc. (Peter Krempa),
  remote: Fill remote parameters in remoteDomainListAllSnapshots() (Peter Krempa),
  qemu: Mark domains as having managed state image only on managed save (Peter Krempa),
  fix key error for qemuMonitorGetBlockStatsInfo (lvroyce)
- Improvements:
  Introduce new VIR_ERR_AGENT_UNRESPONSIVE error code (Michal Privoznik),
  qemu: Switch to unified func name (Michal Privoznik),
  snapshot: rename an enum (Eric Blake),
  snapshot: split snapshot conf code into own file (Eric Blake),
  snapshot: make virDomainSnapshotObjList opaque (Eric Blake),
  conf: Don't always require security/@model (Michal Privoznik),
  security: Add DAC to security_drivers (Michal Privoznik),
  nwfilter: don't log error if firewalld is disabled, improve diagnostics (Laine Stump),
  qemu-agent: available in 0.10.0 (Eric Blake),
  agent: add qemu-agent-command to virsh (MATSUDA Daiki),
  agent: add python module support (MATSUDA Daiki),
  agent: add remote driver support (MATSUDA Daiki),
  agent: add qemu driver support (MATSUDA Daiki),
  agent: add virDrvDomainQemuAgentCommand prototype for drivers. (MATSUDA Daiki),
  agent : add @seconds variable to qemuAgentSend(). (MATSUDA Daiki),
  Add uevent netlink service. (Tang Chen),
  Introduce virNetlinkEventServiceStopAll() to stop all netlink services. (Tang Chen),
  Improve netlink to support all protocol. (Tang Chen),
  libssh2_session: Add support for creating known_hosts file (Peter Krempa),
  qemu: support of emulator_period and emulator_quota's modification (Wen Congyang),
  new interface to control emulator_period/emulator_quota (Hu Tao),
  qemu: introduce period/quota tuning for emulator (Hu Tao),
  limit cpu bandwidth only for vcpus (Hu Tao),
  new command emulatorpin (Hu Tao),
  Add a new function vshPrintPinInfo. (Hu Tao),
  remote: introduce emulator pinning RPCs (Tang Chen),
  qemu: support emulator pinning (Hu Tao),
  Introduce virDomainEmulatorPinAdd and virDomainEmulatorPinDel functions (Tang Chen),
  Add qemuProcessSetEmulatorAffinites and set emulator threads affinities (Tang Chen),
  qemu: synchronize emulatorpin info to cgroup (Tang Chen),
  Support emulatorpin xml parse. (Tang Chen),
  Change virDomainVcpuPinDefParseXML to support parsing emulatorpin (Hu Tao),
  Enable cpuset cgroup and synchronous vcpupin info to cgroup. (Hu Tao),
  updates of some vcpupin related functions (Hu Tao),
  refactor virDomainVcpuPinAdd() (Hu Tao),
  add function bitmapFromBytemap() to convert bytemap to bitmap (Hu Tao),
  create a new cgroup and move all emulator threads to the new cgroup (Wen Congyang),
  Introduce the function virCgroupMoveTask (Hu Tao),
  Introduce the function virCgroupForEmulator (Wen Congyang),
  output status information during guest shutdown again (Gerd v. Egidy),
  qemu: Disk Geometry Override Support (J.B. Joret),
  Support for Disk Geometry Override (J.B. Joret),
  nwfilter: provide basic support for firewalld (Stefan Berger),
  sanlock: Provide better error if lockspace directory is missing (Jiri Denemark),
  daemon: Autodetect lock driver directory (Jiri Denemark),
  build: split driver_storage into convenience library (Eric Blake),
  libssh2_transport: Use libssh2 driver code in remote driver (Peter Krempa),
  libssh2_transport: Add libssh2 session support to net client code (Peter Krempa),
  libssh2_transport: add ssh context support to virNetSocket (Peter Krempa),
  libssh2_transport: add main libssh2 transport implementation (Peter Krempa),
  Add test case for SELinux label generation (Daniel P. Berrange),
  Honour current sensitivity and category ranges in SELinux label generation (Daniel P. Berrange),
  qemu: configurable remote display port boundaries (Martin Kletzander),
  qemu: Unify port-wise SPICE and VNC behavior (Martin Kletzander),
  virsh: split out virsh-volume.c (Eric Blake),
  virsh: split out virsh-snapshot.c (Eric Blake),
  virsh: split out virsh-secret.c (Eric Blake),
  virsh: split out virsh-pool.c (Eric Blake),
  virsh: split out virsh-nwfilter.c (Eric Blake),
  virsh: split out virsh-nodedev.c (Eric Blake),
  virsh: split out virsh-network.c (Eric Blake),
  virsh: split out virsh-interface.c (Eric Blake),
  virsh: declare more common functions (Eric Blake),
  virsh: split out virsh-host.c (Eric Blake),
  virsh: split out virsh-domain-monitor.c (Eric Blake),
  Update the remote API (Marcelo Cerri),
  Support for multiple default security drivers in QEMU config (Marcelo Cerri),
  Update security layer to handle many security labels (Marcelo Cerri),
  Multiple security drivers in XML data (Marcelo Cerri),
  Internal refactory of data structures (Marcelo Cerri),
  virsh: use common namespacing (Eric Blake),
  Add support for creating sockets & RPC servers from a pre-opened fd (Daniel P. Berrange),
  Refactor impl of the virNetServerClientNew method (Daniel P. Berrange),
  Refactor the way new clients are registered with the server (Daniel P. Berrange),
  virsh: split out virsh-domain.c (Eric Blake),
  virsh: split out virsh.h (Eric Blake),
  virsh: move vshWatchJob earlier (Eric Blake),
  qemu: support netdevs from <forward mode='hostdev'> networks (Shradha Shah),
  network: support <forward mode='hostdev'> in network driver (Shradha Shah),
  conf: add function virDevicePCIAddressEqual (Shradha Shah),
  network: return netdev name or pci addr of the VF in actualDevice (Shradha Shah),
  conf: parser/formatter/rng for <forward mode='hostdev'> (Shradha Shah),
  network: helper function to create interface pool from PF (Shradha Shah),
  conf: move DevicePCIAddress functions to separate file (Shradha Shah),
  conf: Fix ABI stability check for spicevmc channel (Jiri Denemark),
  network: add support for setting VLANs on Open vSwitch ports (Kyle Mestery),
  qemu: Set swap_hard_limit before hard_limit (Osier Yang),
  build: ship stamp files (Eric Blake),
  qemu: support setting vlan tag for <interface type='hostdev'> (Laine Stump),
  util: properly save/restore original vlan tag for VFs (Laine Stump),
  qemu: Ensure the cpuset is formatted as expected before passing to cgroup (Osier Yang),
  conf: add <vlan> element to network and domain interface elements (Laine Stump),
  util: add virNetDevVlanType (Laine Stump),
  schema: fix some problems in network/interface schemas (Laine Stump),
  util: include memory.h even if WITH_VIRTUALPORT isn't defined (Laine Stump),
  Replace unset REMOTE_PID_FILE with proper value (Doug Goldstein),
  Refactor RPC client private data setup (Daniel P. Berrange),
  Add further debugging lines to domain lock manager (Daniel P. Berrange),
  Allow sync IO and keepalives to be skipped in RPC client setup (Daniel P. Berrange),
  Change interaction when accepting new RPC client connections (Daniel P. Berrange),
  Add APIs for virThreadPoolPtr to query some config params (Daniel P. Berrange),
  Allow control over JSON string pretty printing (Daniel P. Berrange),
  Change function signature for creating new lock manager instances (Daniel P. Berrange),
  parallels: add domain configuration example (Dmitry Guryanov),
  parallels: cleanup parallelsOpen and fix error message (Dmitry Guryanov),
  parallels: change URI to parallels:///system (Dmitry Guryanov),
  virsh: Add helper to avoid the strcase check for virsh-*.c (Osier Yang),
  network: add connections counter to networks (Laine Stump),
  network: change cleanup: to success/cleanup/error: in network*() functions (Laine Stump),
  conf: output forward device connections count in network XML (Laine Stump),
  conf: rename interface "usageCount" to "connections" (Laine Stump),
  conf: use a unique data type for PF array in virDomainNetDef (Laine Stump),
  network: merge relevant virtualports rather than choosing one (Laine Stump),
  conf: support partially-specified <virtualport> in parser and formatter (Laine Stump),
  conf: simplify Buffer Indentation in virDomainNetDefFormat (Laine Stump),
  conf: make error returns from virDomainActualNetDefFormat consistent (Laine Stump),
  conf: move virtPortProfile out of unions in virDomainNetDef (Laine Stump),
  util: utility functions for virNetDevVPortProfile (Laine Stump),
  util: add openvswitch case to virNetDevVPortProfileEqual (Laine Stump),
  util: eliminate union in virNetDevVPortProfile (Laine Stump),
  util: make return value of virUUIDFormat and virMacAddrFormat useful (Laine Stump),
  Pull code which finds a free MCS label out into its own method (Daniel P. Berrange),
  Honour current user and role in SELinux label generation (Daniel P. Berrange),
  Fix error reporting in virSecuritySELinuxGenNewContext (Daniel P. Berrange),
  Use VIR_ERR_CONFIG_UNSUPPORTED if requested security driver is disabled (Daniel P. Berrange),
  Add missing domain_conf.h include in security_manager.h (Daniel P. Berrange),
  Add virRandom() API to generate numbers with non-power-of-2 limit (Daniel P. Berrange),
  virsh: make 'help' command ignore spurious options (Cole Robinson),
  virsh: Convert '<cmd> --help' to 'help <cmd>' (Cole Robinson),
  virterror: Add error message for unsupported operations. (Peter Krempa),
  build: fix PROBE() usage of intptr_t (Eric Blake),
  esx: Remove redundant checks for esxVI_LookupHostSystemProperties result (Matthias Bolte),
  esx: Fix dynamic deep copy (Matthias Bolte),
  esx: Implement interface driver (Matthias Bolte),
  Add APIs for obtaining the unique ID of LVM & SCSI volumes (Daniel P. Berrange),
  examples: Update strings for event details (Jiri Denemark),
  qemu: Migrate at unlimited speed by default (Jiri Denemark),
  qemu: Refactor parsing of block device IO tuning parameters. (Peter Krempa),
  remote: Clean up coding style and refactor remote connection opening (Peter Krempa),
  Allow rbd backing stores (Peter Feiner),
  qemu: add two qemu caps for lsi and virtio-scsi SCSI controllers (Guannan Ren),
  qemu: add capabilities flags related to scsi controller (Guannan Ren),
  util: include stderr in log message when an external command fails (Laine Stump),
  Turn virNetClient* into virObject instances (Daniel P. Berrange),
  Turn virNetServer* into virObject instances (Daniel P. Berrange),
  Turn virSocket into a virObject (Daniel P. Berrange),
  Turn virKeepAlive into a virObject (Daniel P. Berrange),
  Turn virNetSASLContext and virNetSASLSession into virObject instances (Daniel P. Berrange),
  Turn virNetTLSContext and virNetTLSSession into virObject instances (Daniel P. Berrange),
  Turn qemuAgentPtr and qemuMonitorPtr into virObjectPtr instances (Daniel P. Berrange),
  Turn virDomainObjPtr into a virObjectPtr (Daniel P. Berrange),
  Convert public datatypes to inherit from virObject (Daniel P. Berrange),
  Add a generic reference counted virObject type (Daniel P. Berrange),
  apparmor: QEMU bridge helper policy updates (Richa Marwaha),
  Add -netdev bridge support (Richa Marwaha),
  Add -netdev bridge capabilities (Richa Marwaha),
  virrandom: make virRandomInitialize an automatic one-shot (Eric Blake),
  virsh: Use vshPrint instead of printf (Osier Yang),
  xen-xm: Generate UUID if not specified (Jim Fehlig),
  ESX: Add "Byte" datatype (Ata E Husain Bohra),
  parallels: translate error message (Eric Blake),
  Export virUUIDIsValid to libvirt internal code (Daniel P. Berrange),
  qemu: Allow to attach/detach controller device persistently (Osier Yang),
  Added timestamps to storage volumes (Hendrik Schwartke),
  Update xml schemas according to libvirt source (Ján Tomko),
  build: add stubs so mdns code can be unconditionally compiled (Eric Blake),
  virsh: Switch to close callback (Michal Privoznik),
  daemon: Portable auto-detection of driver module directory (Jiri Denemark),
  build: Rename security manager library (Jiri Denemark),
  build: Link security manager into libvirt.so (Jiri Denemark),
  Rewrite virAtomic APIs using GLib's atomic ops code (Daniel P. Berrange),
  Remove manual one-shot global initializers (Daniel P. Berrange),
  qemu: Add support for "none" USB controller (Peter Krempa),
  domain_conf: Add helpers to verify if device configuration is valid (Peter Krempa),
  domain_conf: Add USB controler model "none" (Peter Krempa),
  storage: netfs and iscsi need option srcSpec for resource discovery (Guannan Ren),
  maint: consolidate AUTHOR listings for Gerd von Egidy (Gerd v. Egidy),
  parallels: implement VM creation (Dmitry Guryanov),
  parallels: add storage driver (Dmitry Guryanov),
  parallels: implement virDomainDefineXML operation for existing domains (Dmitry Guryanov),
  parallels: add support of VNC remote display (Dmitry Guryanov),
  parallels: get info about serial ports (Dmitry Guryanov),
  parallels: implement functions for domain life cycle management (Dmitry Guryanov),
  parallels: add functions to list domains and get info (Dmitry Guryanov),
  add function virCommandNewVAList (Dmitry Guryanov),
  parallels: add driver skeleton (Dmitry Guryanov),
  Only perform symbol check against libvirt.so (Daniel P. Berrange),
  Don't link nwfilter or secrets driver to libvirt.so (Daniel P. Berrange),
  Remove bogus libvirt_network.syms file (Daniel P. Berrange),
  build: Don't export xenLinuxDomainBlockStats symbol (Jiri Denemark),
  Improve error message in LXC startup with network is not active (Daniel P. Berrange),
  Remove tabs from all perl files & enforce this (Daniel P. Berrange),
  Add handling for reboots of LXC containers (Daniel P. Berrange),
  Allow CAP_SYS_REBOOT on new enough kernels (Daniel P. Berrange),
  Run an RPC protocol over the LXC controller monitor (Daniel P. Berrange),
  Make RPC code generator a little more flexible (Daniel P. Berrange),
  Move LXC monitor code out into separate file (Daniel P. Berrange),
  Convert the LXC driver to use virNetClient (Daniel P. Berrange),
  Replace use of lxcError with virReportError (Daniel P. Berrange),
  Rename lxc_driver_t to virLXCDriver (Daniel P. Berrange),
  Rename all APIs in lxc_domain.c to have a virLXCDomain prefix (Daniel P. Berrange),
  Rename all APIs in lxc_process.c to have a virLXCProcess prefix (Daniel P. Berrange),
  Extend events demo to show close callbacks in use (Daniel P. Berrange),
  Update remote driver to support the connection close callbacks (Daniel P. Berrange),
  Add callback to virNetClient to be invoked on connection close (Daniel P. Berrange),
  Ensure client is marked for close in all error paths (Daniel P. Berrange),
  Add public API to register a callback to be invoked on connection close (Daniel P. Berrange),
  esx: Improve error reporting for unknown VI types (Matthias Bolte),
  security: Skip labeling resources when seclabel defaults to none (Jiri Denemark),
  lib: Revert removing of Summary and Description fields in headers (Peter Krempa),
  Add a test case that checks there are no bogus entries in .syms (Daniel P. Berrange),
  virsh: Refactor error clearing on graceful fallback paths (Peter Krempa),
  maint: don't permit format strings without % (Eric Blake),
  maint: avoid empty regex in syntax checker (Eric Blake),
  virsh: check if specified debug level is in range (Ján Tomko),
  build: update to latest gnulib, for secure tarball (Eric Blake),
  util: set minimum value of nodesuspend duration to 60 seconds (Guannan Ren),
  virsh: Move command group definition into its own file (Osier Yang),
  virsh: Split cmds in node device group from virsh.c (Osier Yang),
  virsh: Split cmds in host group from virsh.c (Osier Yang),
  virsh: Split cmds to manage domain snapshot from virsh.c (Osier Yang),
  virsh: Split cmds to manage secret from virsh.c (Osier Yang),
  virsh: Split cmds to manage network filter from virsh.c (Osier Yang),
  virsh: Split cmds to manage host interface from virsh.c (Osier Yang),
  virsh: Split cmds to manage network from virsh.c (Osier Yang),
  virsh: Split cmds of storage pool group from virsh.c (Osier Yang),
  virsh: Split cmds of storage volume group from virsh.c (Osier Yang),
  virsh: Split cmds of domain group from virsh.c (Osier Yang),
  virsh: Split cmds for domain monitoring from virsh.c (Osier Yang),
  virsh: Move definition of cmds and cmd groups right at the top of main (Osier Yang),
  daemon: Fix the wrong macro name (Osier Yang),
  More advanced auto-detection of driver module directory (Daniel P. Berrange),
  adding handling EINTR to poll to make it more robust (Royce Lv),
  build: regenerate .png files (Eric Blake),
  Make ESX & Hyper-V code generator safe with parallel builds (Daniel P. Berrange),
  tests: Add support for catching domain XML parsing errors (Peter Krempa),
  maint: Clean up coding style and fix error message spelling (Peter Krempa),
  Fix test failure when no IPv6 is avail (Doug Goldstein),
  vmx: handle shared folders parsing (Jean-Baptiste Rouault),
  vmx: handle shared folders formatting (Jean-Baptiste Rouault),
  openvz: Implement domainGetHostname (Guido Günther),
  openvz: Add openvzVEGetStringParam (Guido Günther),
  remote: Provide RPC call for domainGetHostname (Guido Günther),
  virsh: Add domhostname (Guido Günther),
  Report 'errno' in int1 field of virErrorPtr (Daniel P. Berrange),
  Use a hash table for storing MCS labels (Daniel P. Berrange),
  Fix error handling when adding MCS labels (Daniel P. Berrange),
  Use standard naming prefix for SELinux driver function names (Daniel P. Berrange),
  Disable NWFilter driver completely when unprivileged (Daniel P. Berrange),
  Replace use of custom macros with virReportError in the Xen drivers (Daniel P. Berrange),
  Make sure xenHypervisorInit correctly reports errors (Daniel P. Berrange),
  Ensure failure to talk to Xen hypervisor is fatal when privileged (Daniel P. Berrange),
  Using virOnce for global initialization (Daniel P. Berrange),
  Replace use of VMX_ERROR with virReportError (Daniel P. Berrange),
  Replace use of virNetError with virReportError (Daniel P. Berrange),
  Replace use of virConfError with virReportError (Daniel P. Berrange),
  Replace use of nodeReportError with virReportError (Daniel P. Berrange),
  Replace use of virSecurityReportError with virReportError (Daniel P. Berrange),
  Replace use of PHYP_ERROR with virReportError (Daniel P. Berrange),
  Replace use of HYPERV_ERROR with virReportError (Daniel P. Berrange),
  Replace use of ESX_ERROR & ESX_VI_ERROR with virReportError (Daniel P. Berrange),
  Replace use of virLockError with virReportError (Daniel P. Berrange),
  Replace use of libxlError with virReportError (Daniel P. Berrange),
  Add missing "%s" format string to constant error messages in lock manager (Jiri Denemark),
  Add missing "%s" format string to constant error messages in libxl driver (Jiri Denemark),
  Replace use of streamsReportError with virReportError (Daniel P. Berrange),
  Replace use of remoteError with virReportError (Daniel P. Berrange),
  Replace use of XENXS_ERROR with virReportError (Daniel P. Berrange),
  Replace use of openvzError with virReportError (Daniel P. Berrange),
  Fix Xen driver to have sensible error messages (Daniel P. Berrange),
  Move LXC process management code into separate file (Daniel P. Berrange),
  Move cgroup setup code out of lxc_controller.c (Daniel P. Berrange),
  Move LXC domain private data into separate file (Daniel P. Berrange),
  Replace use of vmwareError with virReportError (Daniel P. Berrange),
  Replace use of virCPUReportError with virReportError (Daniel P. Berrange),
  Replace use of testError with virReportError (Daniel P. Berrange),
  Replace use of vboxError with virReportError (Daniel P. Berrange),
  Replace use of xenapiError with virReportError (Daniel P. Berrange),
  Replace use of qemuReportError with virReportError (Daniel P. Berrange),
  qemu: Add missing "%s" before translation macros (Peter Krempa),
  Replace use of umlReportError with virReportError (Daniel P. Berrange),
  Add lots of internal symbols to libvirt_private.syms (Daniel P. Berrange),
  If in delay close mode for an RPC client, don't read further data (Daniel P. Berrange),
  Add missing deps on driver modules in libvirt RPM (Daniel P. Berrange),
  Replace use of networkReportError with virReportError (Daniel P. Berrange),
  maint: add mailmap entry for Dan Walsh (Eric Blake),
  esx: Extend esxVI_CURL_Download for partial downloads (Matthias Bolte),
  Replace use of interfaceReportError with virReportError (Daniel P. Berrange),
  Replace use of virNWFilterReportError with virReportError (Daniel P. Berrange)i Add missing "%s" with constant string error message in nwfilter_dhcpsnoop.c (Daniel P. Berrange),
  Add a sheepdog backend for the storage driver (Sebastian Wiedenroth),
  Mount all tmpfs filesystems with correct SELinux label (Daniel J Walsh),
  Replace use of virNodeDeviceReportError with virReportError (Daniel P. Berrange),
  Replace use of virSecretReportError with virReportError (Daniel P. Berrange),
  Replace use of virStorageReportError with virReportError (Daniel P. Berrange),
  Add missing "%s" format to const error message in RBD storage driver (Daniel P. Berrange),
  Convert all files in src/conf/ to use virReportError() (Daniel P. Berrange),
  Add missing _(...) around 2 error messages in test driver (Daniel P. Berrange),
  Fix parameter passed with VIR_ERR_INVALID_ARG in sanlock driver (Daniel P. Berrange),
  Convert all files in src/rpc/ to use virReportError() (Daniel P. Berrange),
  Convert (nearly) all files in src/util/ to use virReportError() (Daniel P. Berrange),
  Fix bogus cast to (int) in virNetServerMDNSTimeoutNew (Daniel P. Berrange),
  Add missing "%s" with constant string error message in stats_linux.c (Daniel P. Berrange),
  Remove newline from end of error message in virnodesuspend.c (Daniel P. Berrange),
  Add _(...) around two error messages in src/util/ (Daniel P. Berrange),
  Introduce virReportError macro for general error reporting (Daniel P. Berrange),
  xenapi: Convert to virMacAddr (Jiri Denemark),
  nwfilter: Convert to virMacAddrPtr not virMacAddrPtr* (Michal Privoznik),
  nwfilter: Convert to virMacAddrPtr completely (Michal Privoznik),
  Convert 'raw MAC address' usages to use virMacAddr (Stefan Berger),
  Wire up handling for QMP's BALLOON_EVENT (Daniel P. Berrange),
  Define public API for receiving guest memory balloon events (Daniel P. Berrange),
  ARMHF: CPU Support for armhf. (Chuck Short),
  Support creation of sparse LVM volumes (Daniel P. Berrange),
  Remove all use of virRun in storage code (Daniel P. Berrange),
  test: Add test case for nodeinfotest if host machine doesn't have NUMA (Peter Krempa),
  test: Add new test case for nodeinfotest (Peter Krempa),
  nodeinfo: Fix gathering of nodeinfo data structure (Peter Krempa),
  nodeinfo_test: Enhance test data before changing nodeinfo gathering (Peter Krempa),
  S390: Adding testcases for s390 (Viktor Mihajlovski),
  S390: Domain Schema for s390-virtio machines. (Viktor Mihajlovski),
  S390: Add support for virtio-s390 devices. (Viktor Mihajlovski),
  qemu: Change tests to use (modified) qemuDomainAssignAddresses (Viktor Mihajlovski),
  qemu: Extended qemuDomainAssignAddresses to be callable from everywhere. (Viktor Mihajlovski),
  build: detect all improper uses of _("%s") (Eric Blake),
  maint: update preferred contributor name (Eric Blake),
  storage_conf: Break long line and polish coding style (Peter Krempa),
  esx: Wrap libcurl multi handle (Matthias Bolte),
  Switch to using virNetServer APIs for monitor socket (Daniel P. Berrange),
  Move loop device setup code into virfile.{c,h} (Daniel P. Berrange),
  Move cgroup objects into virLXCControllerPtr (Daniel P. Berrange),
  Move monitor into virLXCControllerPtr (Daniel P. Berrange),
  Move /dev/pts setup out of virLXCControllerRun (Daniel P. Berrange),
  Move security manager into virLXCControllerPtr object (Daniel P. Berrange),
  Move loop device FDs into virLXCControllerPtr object (Daniel P. Berrange),
  Move daemon handshake FD into virLXCControllerPtr (Daniel P. Berrange),
  Make console handling part of virLXCControllerPtr (Daniel P. Berrange),
  Store the init PID in the virLXCController object (Daniel P. Berrange),
  Move veth device management into virLXCControllerPtr object (Daniel P. Berrange),
  Introduce a virLXCControllerPtr object to hold LXC controller state (Daniel P. Berrange),
  Allow RPC server to run single threaded (Daniel P. Berrange),
  Add a opaque parameter to the RPC client init callback (Daniel P. Berrange),
  vmware: detect when a domain was shut down from the inside (Jean-Baptiste Rouault),
  Added the attribute vendor_id to the cpu model (Hendrik Schwartke),
  qemu: add rbd to whitelist of migration-safe formats (Josh Durgin)
- Cleanups:
  atomic: fix whitespace in previous patch (Eric Blake),
  virsh: drop unused headers (Eric Blake),
  maint: prohibit translations in testsuite (Eric Blake),
  Fix syntax-check failures wrt virsh (Daniel P. Berrange),
  virsh: kill some double underscores (Eric Blake),
  Fix the indentions of libvirt.h.in (Osier Yang),
  build: fix syntax check during 'make distcheck' (Eric Blake),
  Move some SASL symbols into libvirt_sasl.syms (Daniel P. Berrange),
  Remove unused qemuProcessAutoDestroyRun decl from header (Daniel P. Berrange),
  maint: drop a leftover comment line (Eric Blake),
  Destroy virdomainlist.[ch] (Osier Yang),
  qemu:rename qemuCheckScsiControllerModel function (Guannan Ren),
  Don't check the 'connect' command in virsh-all test (Daniel P. Berrange),
  build: drop conditional use of mdns code (Eric Blake),
  Remove unused uuidstr variable from datatypes.c (Daniel P. Berrange),
  Fix indentions (Osier Yang),
  gitignore: Reorder alphabetically (Michal Privoznik),
  spec: Remove extra () with return statement (Jiri Denemark),
  conf: Remove dead code from virConsoleOpen() (Peter Krempa),
  python: Don't generate bodies for close callback functions (Peter Krempa),
  maint: regenerate bootstrap (Eric Blake),
  Remove accidentally commited virNetClientSetEOFNotify symbol (Daniel P. Berrange),
  Remove two non-existant NWFilter driver symbols from .syms (Daniel P. Berrange),
  tests: reduce length of nodeinfodata test names (Eric Blake),
  rpc: remove trailing whitespace character in error string (Guannan Ren),
  po: avoid spurious double spaces in messages (Eric Blake),
  virsh: remove extra space between function name and opening brace (Guido Günther),
  maint: revert gnulib update, until fixed automake is in more distros (Eric Blake),
  maint: use full author name for previous commit (Eric Blake)

### 0.9.13: July 2 2012

- Features:
  S390: support for s390(x) (Thang Pham and Viktor Mihajlovski),
  snapshot: implement new APIs for esx and vbox (Eric Blake),
  snapshot: new query APIs and many improvements (Eric Blake),
  virsh: Allow users to reedit rejected XML (Michal Privoznik),
  nwfilter: add DHCP snooping (Stefan Berger),
  Enable driver modules in libvirt RPM (Daniel P. Berrange),
  Default to enable driver modules for libvirtd (Daniel P. Berrange),
  storage backend: Add RBD (RADOS Block Device) support (Wido den Hollander),
  sVirt support for LXC domains inprovement (Daniel P. Berrange and Daniel J Walsh)
- Documentation:
  virsh: Cleanup virsh -V output (Doug Goldstein),
  configure: show correct default argument in help (Marc-André Lureau),
  fix typo in virDomainDestroy API doc (Christophe Fergeau),
  virsh: fix few typos on desc command (Martin Kletzander),
  virsh: Update vol-create-as manpage (Michal Privoznik),
  virsh: Tweak attach-* documentation (Michal Privoznik),
  small typo in formatdomain.html (Laine Stump),
  client rpc: Improve debug messages in virNetClientIO (Jiri Denemark),
  minor fixes to domain interface documentation (Laine Stump),
  link to FLOSS Weekly podcast, virt blogs (Eric Blake),
  examples: add consolecallback example python script (Dave Allan),
  Fix typo in comment start (Daniel P. Berrange),
  typo in acceleration element (Martin Kletzander),
  Improve docs about compiling libvirt from GIT (Daniel P. Berrange)
- Portability:
  Fix compilation on older sanlock (Daniel Veillard),
  Fix unused parameters / functions in virsh on Win32 (Daniel P. Berrange),
  Update to latest GNULIB to fix compat with Mingw64 toolchain (Daniel P. Berrange),
  winsock2.h must always be included before windows.h (Daniel P. Berrange),
  Switch automated builds to use Mingw64 toolchain instead of Mingw32 (Daniel P. Berrange),
  openvz: Fix wordsize on 64 bit architectures (Guido Günther),
  Fixes for check and rpm builds without sanlock (and qemu) (Martin Kletzander),
  Fix Win32 build by linking to ole32 (Daniel P. Berrange),
  Add impl of APIs to get user directories on Win32 (Daniel P. Berrange),
  fix building error on non fedora system (Wen Congyang),
  Add stub impl of virNetlinkEventServiceLocalPid for Win32 (Daniel P. Berrange),
  Fix build when configuring with polkit0 (Jim Fehlig),
  build: fix virnetlink on glibc 2.11 (Eric Blake),
  Fix build compat with older libselinux for LXC (Daniel P. Berrange),
  build: really silence the 32-bit warning (Eric Blake)
- Bug Fixes:
  build: use correct limit for unsigned long long (Eric Blake),
  nwfilter: Fix memory leak (Stefan Berger),
  network_conf: Don't free uninitialized pointers while parsing DNS SRV (Peter Krempa),
  storage: Error out if the target is already mounted for netfs pool (Osier Yang),
  events: Don't fail on registering events for two different domains (Michal Privoznik),
  Don't install systemd service files executable (Guido Günther),
  fix a bug of ref count in virnetserver.c (Hu Tao),
  Fix deadlock on libvirtd shutdown (Jim Fehlig),
  openvz: check pointer size instead of int (Guido Günther),
  domain_conf: fix possible memory leak (Martin Kletzander),
  error: Fix typos in argument checking macros (Peter Krempa),
  LXC: fix incorrect DEBUG info (Gao feng),
  LXC: fix memory leak in lxcContainerSetupExtraMounts (Gao feng),
  LXC: fix memory leak in lxcContainerGetSubtree (Gao feng),
  LXC: fix memory leak in lxcContainerMountFSBlockHelper (Gao feng),
  qemu_agent: Wait for events instead of agent response (Michal Privoznik),
  Fix launch of libvirtd when DHCP snooping support is not available. (Daniel P. Berrange),
  qemu: fix potential dead lock (Wen Congyang),
  virsh: Null terminated the string memcpy from buffer explicitly (Osier Yang),
  qemu: Fix off-by-one error while unescaping monitor strings (Peter Krempa),
  virsh: Don't generate invalid XML in attach-disk command (Peter Krempa),
  client rpc: Fix error checking after poll() (Daniel P. Berrange),
  client rpc: Send keepalive requests from IO event loop (Jiri Denemark),
  Fix typo in RPM specfile (Daniel P. Berrange),
  python: fix snapshot listing bugs (Eric Blake),
  qemu: Don't overwrite security labels (Michal Privoznik),
  rpc: Fix memleak in virNetMessageEncodeHeader (Michal Privoznik),
  Fix privileges on /var/run/libvirt directory (Daniel P. Berrange),
  Only migrate profile in non-privileged libvirtd instance (Daniel P. Berrange),
  snapshot: avoid virsh crash with older servers (Eric Blake),
  LXC: fix memory leak in lxcContainerMountFSBlockAuto (Gao feng),
  LXC: fix incorrect parameter of mount in lxcContainerMountFSBind (Gao feng),
  util: Fix deadlock in virLogReset (Jiri Denemark),
  Assign correct address type to spapr-vlan and spapr-vty. (Li Zhang),
  command: avoid potential deadlock on handshake (Eric Blake),
  qemu: better detection of crashed domains (Martin Kletzander),
  command: avoid deadlock on EPIPE situation (Eric Blake),
  Fix sync issue in virNetClientStreamEventRemoveCallback (Radu Caragea),
  qemu: avoid closing fd more than once (Wen Congyang),
  command: check for fork error before closing fd (Wen Congyang),
  fdstream: avoid double close bug (Eric Blake),
  command: avoid double close bugs (Eric Blake),
  avoid fd leak (Wen Congyang),
  avoid closing uninitialized fd (Wen Congyang),
  lxc: return correct number of CPUs (Martin Kletzander),
  leak_fix.diff (Stefan Berger),
  Fix typos in RPM dependencies (Daniel P. Berrange),
  Remove more bogus systemd service dependencies (Daniel P. Berrange),
  qemu_hotplug: Don't free the PCI device structure after hot-unplug (Peter Krempa),
  Fix potential events deadlock when unref'ing virConnectPtr (Daniel P. Berrange),
  qemu: Don't delete USB device on failed qemuPrepareHostdevUSBDevices (Michal Privoznik),
  nodeinfo: Get the correct CPU number on AMD Magny Cours platform (Osier Yang),
  nodeinfo: avoid probing host filesystem during test (Eric Blake)
- Improvements:
  Remove sub-mounts under /dev when starting an LXC container (Daniel P. Berrange),
  Fix vm's outbound traffic control problem (Eiichi Tsukata),
  conf: Don't shadow error from virGetDomain() (Peter Krempa),
  maint: include ignore-value in internal.h (Peter Krempa),
  vbox: Add support for virConnectListAllDomains() (Peter Krempa),
  virsh: Add domdisplay cmd for VNC, SPICE and RDP (Doug Goldstein),
  AUTHORS: Update (Michal Privoznik),
  S390: Added sysinfo for host on s390(x). (Thang Pham),
  S390: Fixed core identification for s390 (Viktor Mihajlovski),
  S390: Fixed Parser for /proc/cpuinfo needs to be adapted for your architecture (Thang Pham),
  S390: Override QEMU_CAPS_NO_ACPI for s390x (Viktor Mihajlovski),
  storage backend rbd: Do not prefix rbd: on volume names. (Wido den Hollander),
  qemu: Improve error if setmem fails for lacking of balloon support (Osier Yang),
  Include the default listen address in the live guest XML (Daniel P. Berrange),
  storage: Introduce --inactive for pool-dumpxml (Michal Privoznik),
  storage: Switch to new def on pool-destroy (Michal Privoznik),
  Support bind mounting host files, as well as directories in LXC (Daniel J Walsh),
  Allow NOCONFIGURE=1 to make autogen.sh skip ./configure (Daniel P. Berrange),
  virsh: Use virXPath wrappers for vncdisplay cmd (Doug Goldstein),
  Add support for shared sanlock leases (Daniel P. Berrange),
  Add support for guest bind mounts with LXC (Daniel P. Berrange),
  Add support for RAM filesystems for LXC (Daniel P. Berrange),
  virsh: Improve error when trying to change vm's cpu count 0 (Peter Krempa),
  qemu: Add xhci support (Gerd Hoffmann),
  virsh: add support for virConnectListAllDomains and clean up cmdList (Peter Krempa),
  virsh: Rename namesorter to vshNameSorter and clean up indentation (Peter Krempa),
  Initialize random generator in lxc controller (Jim Fehlig),
  storage: Set the perms if the pool target already exists for fs pools (Osier Yang),
  snapshot: require existence before returning success (Eric Blake),
  drivers: Implement virListAllDomains for drivers using virDomainObj (Peter Krempa),
  Fix default USB controller for ppc64 (Dipankar Sarma),
  list: add qemu snapshot list support (Eric Blake),
  list: new helper function to collect snapshots (Eric Blake),
  list: provide RPC call for snapshots (Eric Blake),
  list: provide python bindings for snapshots (Eric Blake),
  list: use the new snapshot API in virsh when possible (Eric Blake),
  snapshot: expose new flags in virsh (Eric Blake),
  snapshot: add additional filters when getting lists (Eric Blake),
  virsh: make domiftune interface help string consistent (Martin Kletzander),
  snapshot: merge count and name collection (Eric Blake),
  snapshot: merge domain and snapshot computation (Eric Blake),
  snapshot: use metaroot node to simplify management (Eric Blake),
  conf: Add helper for listing domains on drivers supporting virDomainObj (Peter Krempa),
  conf: Store managed save image existence in virDomainObj (Peter Krempa),
  remote: implement remote protocol for virConnectListAllDomains() (Peter Krempa),
  python: add API exports for virConnectListAllDomains() (Peter Krempa),
  lib: Add public api to enable atomic listing of guest (Peter Krempa),
  Add a custom 404 error page for the website (Daniel P. Berrange),
  qemu_agent: Add some more debug prints (Michal Privoznik),
  snapshot: use new virsh function for snapshot-list (Eric Blake),
  snapshot: new virsh function factored from snapshot-list (Eric Blake),
  autogen: Always abide --system (Cole Robinson),
  Check for errors when parsing bridge interface XML (Jim Fehlig),
  Add more debug logging for libvirtd startup (Daniel P. Berrange),
  schema: Update domain XML schema (Osier Yang),
  virsh: allow the user to specify vmcore's format (Wen Congyang),
  qemu: allow the client to choose the vmcore's format (Wen Congyang),
  qemu: implement qemu's dump-guest-memory (Wen Congyang),
  Always pivot_root event if the new root source is '/' (Daniel P. Berrange),
  Improve error message diagnosing incorrect XML CPU mode (Daniel P. Berrange),
  qemu: Enable disconnecting SPICE clients without changing password (Peter Krempa),
  virsh: Report name from edited object (Michal Privoznik),
  virsh: Honor reedit opts printing to a function (Michal Privoznik),
  network: fully support/use VIR_NETWORK_XML_INACTIVE flag (Laine Stump),
  Add some missing hook functions (Daniel P. Berrange),
  server rpc: Remove APIs for manipulating filters on locked client (Jiri Denemark),
  rpc: Remove unused parameter in virKeepAliveStopInternal (Jiri Denemark),
  rpc: Do not use timer for sending keepalive responses (Jiri Denemark),
  client rpc: Separate call creation from running IO loop (Jiri Denemark),
  rpc: Add APIs for direct triggering of keepalive timer (Jiri Denemark),
  rpc: Refactor keepalive timer code (Jiri Denemark),
  client rpc: Drop unused return value of virNetClientSendNonBlock (Jiri Denemark),
  client rpc: Just queue non-blocking call if another thread has the buck (Jiri Denemark),
  client rpc: Don't drop non-blocking calls (Jiri Denemark),
  client rpc: Use event loop for writing (Jiri Denemark),
  build: fix 'make dist' on virgin checkout (Eric Blake),
  build: silence gettext warning (Eric Blake),
  openvz: wire up domainUpdateDeviceFlags (Guido Günther),
  openvz: add persist parameter to openvzSetDiskQuota (Guido Günther),
  Introduce virDomainFSIndexByName (Guido Günther),
  python: use simpler methods (Eric Blake),
  qemuProcessStop: Switch to flags (Michal Privoznik),
  snapshot: implement new APIs for qemu (Eric Blake),
  snapshot: RPC for new query APIs (Eric Blake),
  snapshot: add 'virsh snapshot-info' (Eric Blake),
  Two RPM conditional fixes for RHEL-7 (Daniel P. Berrange),
  snapshot: virsh indentation cleanup (Eric Blake),
  virsh: make tree listing more flexible (Eric Blake),
  virsh: remove limits on tree listing (Eric Blake),
  buf: support peeking at string contents (Eric Blake),
  Update AUTHORS (Osier Yang),
  LXC: Delete unused variable src in lxcContainerMountBasicFS (Gao feng),
  msg_buf_size is unsigned long not size_t (Guido Günther),
  Only check for cluster fs if we're using a filesystem (Guido Günther),
  snapshot: add virDomainSnapshotRef API (Eric Blake),
  Fix missing ) in 2 strings (Cole Robinson),
  maint: make it easier to copy FORTIFY_SOURCE snippet (Eric Blake),
  build: fix build without i18n (Eric Blake),
  spec: Build against systemd for udev (Cole Robinson),
  build: fix build of fresh checkout (Eric Blake),
  build: ensure storage driver is used (Eric Blake),
  rpc: Size up RPC limits (Michal Privoznik),
  rpc: Switch to dynamically allocated message buffer (Michal Privoznik),
  build: fix 'make distcheck' issues (Eric Blake),
  tests: Refresh qemu-1.1.0 data (Jiri Denemark),
  virsh: Back out if the argument for vol-create-as is malformed (Osier Yang),
  virsh: Accept UUID as an argument for net-info and net-start (Osier Yang),
  virsh: Accept UUID as an argument for storage commands (Osier Yang),
  Fix for parallel port passthrough for QEMU (Beat Jörg),
  util: fix "make rpm" when viratomic.h is used (Laine Stump),
  build: allow building with newer glibc-headers and -O0 (Eric Blake),
  fix make syntax-check failed (Wen Congyang),
  build: fix sc_prohibit_readlink (Eric Blake),
  file: Log closing filedescriptors (Jiri Denemark),
  command: Fix debug message during handshake (Jiri Denemark),
  virsh: Switch from generated cmd*Edit commands to nongenerated (Michal Privoznik),
  nwfilter: Add multiple IP address support to DHCP snooping (Stefan Berger),
  nwfilter: move code for IP address map into separate file (Stefan Berger),
  qemu: move -name arg to be 1st in "ps x" output (Marti Raudsepp),
  qemu: fix netdev alias name assignment wrt type='hostdev' (Laine Stump),
  tools: make virt-pki-validate work with acls and xattrs (Martin Kletzander),
  build: include augeas-gentest.pl into dist file (Wen Congyang),
  build: use same perl binary throughout build (Eric Blake),
  build: fix testing of augeas files in VPATH builds (Eric Blake),
  build: silence warning from autoconf (Eric Blake),
  virCommand: Extend debug message for handshake (Michal Privoznik),
  build: Fixed generating of libvirt_qemu_probes.h (Martin Kletzander),
  build: don't lose probes.o files (Eric Blake),
  build: fix missing dependencies for libvirt-qemu.so (Eric Blake),
  build: don't clean a file that belongs in the tarball (Eric Blake),
  virsh: avoid strncpy (Eric Blake),
  build: update to latest gnulib (Eric Blake),
  Introduce virMacAddr typedef (Stefan Berger),
  Santize the reporting of VIR_ERR_INVALID_ERROR (Daniel P. Berrange),
  build: silence libtool during tests (Eric Blake),
  Fix linking to DTrace probes file (Daniel P. Berrange),
  Autogenerate augeas test case from default config files (Daniel P. Berrange),
  Re-order config options in qemu driver augeas lens (Daniel P. Berrange),
  Fix mistakes in augeas lens (Daniel P. Berrange),
  Standardize whitespace used in example config files (Daniel P. Berrange),
  Remove uid param from directory lookup APIs (Daniel P. Berrange),
  Fix check for socket existence / daemon spawn (Daniel P. Berrange),
  Remove last usage of PATH_MAX and ban its future use (Daniel P. Berrange),
  maint: avoid new automake warning about AM_PROG_CC_STDC (Jim Meyering),
  build: silence libtool warning on probes.o (Eric Blake),
  tests: run valgrind on real executables, not libtool wrappers (Eric Blake),
  qemu augeas: Add spice_tls/spice_tls_x509_cert_dir (Douglas Schilling Landgraf),
  tests: back to short test names (Eric Blake),
  maint: ignore more files from version control (Eric Blake),
  Add sentinel for virErrorDomain enum (Daniel P. Berrange),
  Add parsing for VIR_ENUM_IMPL & VIR_ENUM_DECL in apibuild.py (Daniel P. Berrange),
  security: Switch to C99-style struct initialization (Michal Privoznik),
  Add test case for loading driver modules (Daniel P. Berrange),
  Override default driver dir when running from GIT (Daniel P. Berrange),
  Split QEMU dtrace probes into separate file (Daniel P. Berrange),
  Replace RTLD_LOCAL with RTLD_GLOBAL (Daniel P. Berrange),
  Ensure LXC driver links against libblkid explicitly. (Daniel P. Berrange),
  Remove libvirt_test.la library (Daniel P. Berrange),
  Fix broken linkage of libvirt_driver_nodedev.la (Daniel P. Berrange),
  Only build server side drivers as modules (Daniel P. Berrange),
  Fix dep from libvirt-lock-sanlock RPM (Daniel P. Berrange),
  openvz: add quota argument when creating container (Guido Günther),
  openvz: support file system quota reporting (Guido Günther),
  Introduce filesystem limits to virDomainFSDef (Guido Günther),
  Introduce virDomainParseScaledValue (Guido Günther),
  util: export virBufferTrim (Laine Stump),
  virBuffer: add way to trim back extra text (Eric Blake),
  build: fix unused variable after last patch (Eric Blake),
  nwfilter: Add support for ipset (Stefan Berger),
  Adds support to param 'vcpu_time' in qemu_driver. (Hu Tao),
  Add a new param 'vcpu_time' to virDomainGetCPUStats (Hu Tao),
  tests: add ich6 codec type test to qemuxml2argv-sound-device (Marc-André Lureau),
  qemu: honour sound <codec> sub-elements (Marc-André Lureau),
  domain: add <codec> sound sub-element (Marc-André Lureau),
  qemu: test CAPS_HDA_MICRO (Marc-André Lureau),
  nodeinfo: test more details (Eric Blake),
  Add a virLogMessage alternative taking va_list args (Daniel P. Berrange),
  build: fix recent syntax-check breakage (Eric Blake),
  qemu: Rollback on used USB devices (Michal Privoznik),
  Reject any non-option command line arguments (Daniel P. Berrange),
  Remount cgroups controllers after setting up new /sys in LXC (Daniel P. Berrange),
  Trim /proc & /sys subtrees before mounting new instances (Daniel P. Berrange),
  Avoid LXC pivot root in the root source is still / (Daniel P. Berrange),
  Mount fresh instance of sysfs/selinux in LXC (Daniel P. Berrange),
  Convert the LXC driver to use the security driver API for mount options (Daniel Walsh),
  Add security driver APIs for getting mount options (Daniel Walsh),
  Add support for LXC specific SELinux configuration (Daniel Walsh),
  Use private data struct in SELinux driver (Daniel Walsh),
  Don't enable the AppArmour security driver with LXC (Daniel Walsh),
  Pass the virt driver name into security drivers (Daniel Walsh),
  Remove bogus udev.target dep from libvirtd unit (Daniel P. Berrange),
  qemu: Add support for -no-user-config (Jiri Denemark),
  Set a sensible default master start port for ehci companion controllers (Daniel P. Berrange),
  Fix logic for assigning PCI addresses to USB2 companion controllers (Daniel P. Berrange),
  Fix virDomainDeviceInfoIsSet() to check all struct fields (Daniel P. Berrange),
  Remove redundant trailing slash in user dir paths (Daniel P. Berrange),
  Allow stack traces to be included with log messages (Daniel P. Berrange),
  Move user libvirtd socket out of abstract namespace (Daniel P. Berrange),
  Add openvz_util.c to POTFILES (Daniel P. Berrange),
  Add bundled(gnulib) to RPM specfile (Daniel P. Berrange),
  openvz: determine kb/pages only once (Guido Günther),
  libvirt-guests: Remove LISTFILE if it's empty when stopping service (Osier Yang),
  qemu: Set memory policy using cgroup if placement is auto (Osier Yang),
  qemu: Use the CPU index in capabilities to map NUMA node to cpu list. (Osier Yang),
  Assign spapr-vio bus address to ibmvscsi controller (Li Zhang),
  sanlock: fix locking for readonly devices (David Weber),
  nodeinfo: add some more tests (Eric Blake),
  nodeinfo: drop static variable (Eric Blake),
  maint: fix AUTHORS (Eric Blake),
  Use XDG Base Directories instead of storing in home directory (William Jon McCann)
- Cleanups:
  Remove accidentally added Patch: lines from mingw-libvirt.spec.in (Daniel P. Berrange),
  Add /tools/libvirt-guests.service to .gitignore (Guido Günther),
  sanlock: Properly indent (Michal Privoznik),
  Remove stray debug fprintf in XML parser (Daniel P. Berrange),
  util: Fix the indention (Osier Yang),
  LXC: avoid useless duplicate memory free (Gao feng),
  driver: Clean up driver header to space indentation (Peter Krempa),
  build: fix whitespace damage (Eric Blake),
  build: hoist qemu dependence on yajl to configure (Eric Blake),
  maint: command.c whitespace cleanups (Eric Blake),
  Revert "rpc: Discard non-blocking calls only when necessary" (Jiri Denemark

### 0.9.12: May 14 2012

- Features:
  qemu: allow snapshotting of sheepdog and rbd disks (Josh Durgin),
  blockjob: add new APIs (Eric Blake)
- Documentation:
  mention migration issue of which credentials are used (Eric Blake),
  Add 'maintenance releases' link in 'News' sidebar (Cole Robinson),
  Added Snooze cloud manager to the IaaS section (Eugen Feller),
  python: Fix doc directory name for stable releases (Cole Robinson),
  virsh: Fix and clarify the --title flag for the list command in man page (Peter Krempa),
  Improve the schema for fs device (Osier Yang),
  openvz: Correct the comments for new node APIs (Osier Yang),
  fix 'omitted' typo in <cputune> doc (Christophe Fergeau),
  add missing <span> in <vcpu placement> doc (Christophe Fergeau),
  fix path to openvz network configuration file (Guido Günther),
  Fix comment about GNUTLS initialization/cleanup (Daniel P. Berrange),
  fix typo in previous patch (Eric Blake),
  news.html.in: Fix <br> void tag (Michal Privoznik)
- Portability:
  qemu: fix build when !HAVE_NUMACTL (Eric Blake),
  netlink: Fix build with libnl-3 (Jiri Denemark),
  build: avoid link failure on Windows (Eric Blake),
  qemu: avoid 32-bit compiler warning (Eric Blake),
  build: fix build on cygwin (Eric Blake),
  storage: fix build with iscsi (Eric Blake),
  build: fix bootstrap on RHEL (Eric Blake),
  win32: Properly handle TlsGetValue returning NULL (Matthias Bolte),
  build: avoid type-punning in vbox (Eric Blake),
  build: fix fresh checkout on RHEL5 (Eric Blake),
  fix dependencies on DBus (Daniel P. Berrange),
  tests: Fix libvirtdconftest in VPATH build (Jiri Denemark),
  build: avoid s390 compiler warnings (Eric Blake),
  Fix compilation error on 32bit (Stefan Berger),
  test: fix build errors with gcc 4.7.0 and -O0 (Laine Stump),
  Pull in GNULIB regex module for benefit of test suite on Win32 (Daniel P. Berrange),
  Fix format specifiers in test cases on Win32 (Daniel P. Berrange)
- Bug Fixes:
  esx: Fix memory leaks in error paths related to transferred ownership (Matthias Bolte),
  qemu: Don't skip detection of virtual cpu's on non KVM targets (Peter Krempa),
  qemu: Re-detect virtual cpu threads after cpu hot (un)plug. (Peter Krempa),
  build: fix stamp file name (Eric Blake),
  usb: fix crash when failing to attach a second usb device (Guannan Ren),
  build: Fix the typo in configure.ac (Osier Yang),
  conf: Fix memory leaks in virStoragePoolDefParseSource (Alex Jia),
  Report error when parsing character device target type (Jim Fehlig),
  snapshot: allow block devices past cgroup (Eric Blake),
  domain_conf: add "default" to list of valid spice channels (Alon Levy),
  domain_conf: add "usbredir" to list of valid spice channels (Alon Levy),
  virsh: avoid heap corruption leading to virsh abort (Jim Meyering),
  util: fix libvirtd startup failure due to netlink error (Laine Stump),
  qemu: call usb search function for hostdev initialization and hotplug (Guannan Ren),
  qemu: Emit compatible XML when migrating a domain (Jiri Denemark),
  qemu: don't modify domain on failed blockiotune (Eric Blake),
  node_device: fix possible non-terminated string (Stefan Berger),
  uuid: fix possible non-terminated string (Stefan Berger),
  tests: fix resource leak (Stefan Berger),
  qemu: fix resource leak (Stefan Berger),
  vmx: fix resource leak (Stefan Berger),
  Coverity: Fix resource leak in virnetlink.c (Osier Yang),
  Coverity: Fix resource leak in nodeinfo.c (Osier Yang),
  Coverity: Fix resource leak in test driver (Osier Yang),
  Coverity: Fix resource leak in xen driver (Osier Yang),
  Coverity: Fix resource leaks in phyp driver (Osier Yang),
  Coverity: Fix the forward_null error in Python binding codes (Osier Yang),
  Correct indent errors in the function qemuDomainNetsRestart (Li Zhang),
  Make lxcContainerSetStdio the last thing to be called in container startup (Daniel P. Berrange),
  maint: avoid false positives on unmarked diagnostics (Eric Blake),
  util: Avoid libvirtd crash in virNetDevTapCreate (Alex Jia),
  storage: Break out the loop if duplicate pool is found (Osier Yang),
  qemu: Make sure qemu can access its directory in hugetlbfs (Jiri Denemark),
  More coverity findings addressed (Stefan Berger),
  blockjob: fix block-stream bandwidth race (Eric Blake),
  lxc: Fix coverity findings (Stefan Berger),
  Serialize running apibuild.py (Cole Robinson),
  macvtap: fix a typo (Stefan Berger),
  nwfilter: address more coverity findings (Stefan Berger),
  nwfilter: address coverity findings (Stefan Berger),
  util: fix error messages in virNetlinkEventServiceStart (Laine Stump),
  qemu: Avoid bogus error at the end of tunnelled migration (Jiri Denemark),
  qemu: Fix detection of failed migration (Jiri Denemark),
  rpc: Discard non-blocking calls only when necessary (Jiri Denemark),
  qemu: Preserve original error during migration (Jiri Denemark),
  util: fix crash when starting macvtap interfaces (Laine Stump),
  fix memleak in linuxParseCPUmap (Hu Tao),
  vbox: Fix passing an empty IMedium* array to IMachine::Delete (Matthias Bolte),
  esx: Fix segfault in esxConnectToHost (Ryan Woodsmall),
  virnetserver: handle sigaction correctly (Eric Blake),
  virsh: avoid uninitialized memory usage (Eric Blake),
  nwfilter: Fix support for trusted DHCP servers (Stefan Berger),
  Fix a memory leak (Stefan Berger),
  Do not enforce source type of console[0] (Jan Kiszka),
  storage: lvm: use correct lv* command parameters (Cole Robinson),
  Fix macvtap detection by also checking for IFLA_VF_MAX (Guido Günther),
  conf: Avoid double assignment in virDomainDiskRemove (Michal Privoznik),
  qemu: Fix mem leak in qemuProcessInitCpuAffinity (Michal Privoznik),
  qemu,util: fix netlink callback registration for migration (D. Herrendoerfer),
  qemuOpenFile: Don't force chown on NFS (Michal Privoznik),
  daemon: Plug memory leaks (Alex Jia),
  blockjob: allow for fast-finishing job (Eric Blake),
  qemu: Fix deadlock when qemuDomainOpenConsole cleans up a connection (Peter Krempa),
  snapshot: fix memory leak on error (Eric Blake),
  qemu_ga: Don't overwrite errors on FSThaw (Michal Privoznik),
  xen config: No vfb in HVM guest configuration (Stefan Bader),
  virURIParse: don't forget to copy the user part (Guido Günther),
  test: fix segfault in networkxml2argvtest (Laine Stump),
  conf: Plug memory leaks on virDomainDiskDefParseXML (Alex Jia),
  Fix parallel build in docs/ directory (Daniel P. Berrange),
  qemu: Don't leak temporary list of USB devices (Michal Privoznik)
- Improvements:
  qemu: Refactor qemuDomainSetVcpusFlags (Peter Krempa),
  numad: Update comments in libvirt.spec.in (Osier Yang),
  numad: Check numactl-devel if compiled with numad support (Osier Yang),
  numad: Divide cur_balloon by 1024 before passing it to numad (Osier Yang),
  numad: Always output 'placement' of <vcpu> (Osier Yang),
  numad: Copy 'placement' of <numatune> to <vcpu> by default (Osier Yang),
  numad: Set memory policy from numad advisory nodeset (Osier Yang),
  tests: add some self-documentation to tests (Alon Levy),
  util: set src_pid for virNetlinkCommand when appropriate (Laine Stump),
  util: function to get local nl_pid used by netlink event socket (Laine Stump),
  util: allow specifying both src and dst pid in virNetlinkCommand (Laine Stump),
  openvz: simplify openvzDomainDefineCmd by using virCommandPtr (Guido Günther),
  usb: create functions to search usb device accurately (Guannan Ren),
  rpm: Handle different source URLs for maint releases (Cole Robinson),
  qemu: Don't use virDomainDefFormat* directly (Jiri Denemark),
  qemu: reject blockiotune if qemu too old (Eric Blake),
  util: remove error log from stubs of virNetlinkEventServiceStart|Stop (Laine Stump),
  openvz: read vmguarpages/privvmpages to set memory tunables (Guido Günther),
  build: support libnl-3 (Serge Hallyn),
  util: add functions for interating over json object (Dmitry Guryanov),
  build: update pid_t type static check (Marc-André Lureau),
  build: fix output of pid values (Marc-André Lureau),
  virsh: output scaled values with correct units (Eric Blake),
  virsh: make -h always give help (Eric Blake),
  build: make ATTRIBUTE_NONNULL() a NOP unless STATIC_ANALYSIS is on (Laine Stump),
  Ensure logging is initialized early in libvirt_lxc (Daniel P. Berrange),
  Ensure LXC security driver is set unconditonally (Daniel P. Berrange),
  Ensure libvirt_lxc process loads the live XML config (Daniel P. Berrange),
  qemu: change rbd auth_supported separation character to ; (Josh Durgin),
  storage: Allow multiple hosts for a storage pool (Wido den Hollander),
  qemu_agent: Report error class at least (Michal Privoznik),
  configure: Use ustar format for dist tarball (Cole Robinson),
  qemu: Use common helper when probing qemu capabilities (Jiri Denemark),
  qemu: improve errors related to offline domains (Eric Blake),
  keepalive: Add ability to disable keepalive messages (Peter Krempa),
  Add new functions to virSocketAddr (Stefan Berger),
  macvtap: use embedded buffers (Stefan Berger),
  Improve on virAtomic implementation (Stefan Berger),
  build: Fix version of gettext macros (Peter Krempa),
  openvz: add network interface stats (Guido Günther),
  blockjob: enhance xml to track mirrors across libvirtd restart (Eric Blake),
  blockjob: add 'blockcopy' to virsh (Eric Blake),
  cpu: Improve error reporting on incompatible CPUs (Peter Krempa),
  openvz: wire up getHostname (Guido Günther),
  build: avoid strtol and strtod (Eric Blake),
  conf: tighten up XML integer parsing (Eric Blake),
  virsh: avoid strtol (Eric Blake),
  Support for atomic operations on integers (Stefan Berger),
  Implement virHashRemoveAll function (Stefan Berger),
  util: only register callbacks for CREATE operations in virnetdevmacvlan.c (D. Herrendoerfer),
  blockjob: add virsh blockpull --wait (Eric Blake),
  qemu: use consistent error when qemu binary is too old (Eric Blake),
  vbox: avoid provoking assertions in VBoxSVC (Jean-Baptiste Rouault),
  conf: Do not parse cpuset only if the placement is auto (Osier Yang),
  tests: Update read-bufsiz to delete the UUID of vm XML (Osier Yang),
  test: Set the fixed uuid for the default XMLs (Osier Yang),
  qemu: Split ide-drive into ide-cd and ide-hd (Osier Yang),
  qemu: Split scsi-disk into into scsi-hd and scsi-cd (Osier Yang),
  xen: do not use ioemu type for any emulated NIC (Stefan Bader),
  qemuProcessStart: Switch to flags instead of bunch booleans (Michal Privoznik),
  qemu: Avoid the memory allocation and freeing (Osier Yang),
  numad: Ignore cpuset if placement is auto (Osier Yang),
  numad: Convert node list to cpumap before setting affinity (Osier Yang),
  openvz: wire up more node information functions (Guido Günther),
  virnetdev: Check for defined IFLA_VF_* (Philipp Hahn),
  Web placeholder for pending patches on the web site (Daniel Veillard),
  xend_internal: Use domain/status for shutdown check (Stefan Bader),
  blockjob: wire up qemu async virDomainBlockJobAbort (Eric Blake),
  blockjob: optimize JSON event handler lookup (Eric Blake),
  blockjob: add API for async virDomainBlockJobAbort (Adam Litke),
  blockjob: add qemu capabilities related to block pull jobs (Eric Blake),
  qemu: Warn on possibly incorrect usage of EnterMonitor* (Jiri Denemark),
  qemu: Track job owner for better debugging (Jiri Denemark),
  qemu: Avoid excessive calls to qemuDomainObjSaveJob() (Jiri Denemark),
  daemon: Add libvirtd-config.c to the list of files to translate (Jiri Denemark),
  Wire up <loader> to set the QEMU BIOS path (Daniel P. Berrange),
  virsh: Clean up usage of boolean flag variables (Peter Krempa),
  virsh: Clarify use of the --managed-save flag for the list command (Peter Krempa),
  Replace daemon-conf test script with a proper test case (Daniel P. Berrange),
  Switch libvirtd config loading code to use error APIs (Daniel P. Berrange),
  Add API for loading daemon config from in-memory blob (Daniel P. Berrange),
  Split libvirtd config file loading out into separate files (Daniel P. Berrange),
  UML: fix iteration over consoles (MATSUDA, Daiki),
  tests: avoid compiler warnings (Eric Blake),
  openvz: support vzctl 3.1 (Ilja Livenson),
  Don't install sysctl file on non-Linux hosts (Daniel P. Berrange),
  Add linuxNodeInfoCPUPopulate to src/libvirt_linux.syms (Daniel P. Berrange),
  qemu: Build activeUsbHostdevs list on process reconnect (Michal Privoznik),
  qemu: Delete USB devices used by domain on stop (Michal Privoznik),
  Fix initial hypervisor conditionals (Daniel P. Berrange),
  Remove bogus xen-devel dep from libvirt-devel RPM (Daniel P. Berrange),
  Introduce per-hypervisor virtual RPMs (Daniel P. Berrange),
  Split config files & daemon off from main daemon RPM (Daniel P. Berrange),
  Remove API XML files from libvirt RPM (Daniel P. Berrange),
  Move all documentation into a -docs sub-RPM (Daniel P. Berrange),
  virsh: Clarify escape sequence (Michal Privoznik)
- Cleanups:
  building: remove libvirt_dbus.syms from EXTRA_DIST (Wen Congyang),
  conf: remove redundant () (Eric Blake),
  util: remove dead casts (Eric Blake),
  virsh: minor syntactic cleanups (Eric Blake),
  gitignore: Reorder alphabetically (Michal Privoznik)

### 0.9.11: Apr 3 2012

- Features:
  Add support for the suspend event (Osier Yang),
  Add support for event tray moved of removable disks (Osier Yang),
  qemu: Support numad (Osier Yang),
  cpustats: API, improvements and qemu support (KAMEZAWA Hiroyuki and Eric Blake),
  qemu: support type='hostdev' network devices at domain start (Laine Stump),
  Introduce virDomainPMWakeup API (Michal Privoznik),
  network: support Open vSwitch (Ansis Atteka),
  a number of snapshot improvements (Eric Blake)
- Portability:
  build: fix build on cygwin (Eric Blake),
  build: fix mingw ssize_t, syntax check (Eric Blake),
  Disable build of commandhelper & ssh on Win32 (Daniel P. Berrange),
  build: avoid 'devname' for BSD (Eric Blake),
  build: avoid frame size error when building without -O2 (Laine Stump),
  spec: Add missed dependancy for numad (Osier Yang),
  util: fix build mingw (and all non-linux) build failure (Laine Stump),
  Build error on OSX in src/util/virnetlink.c (Duncan Rance),
  Fix build after commit e3ba4025 (Jim Fehlig),
  build: Fix build with dtrace + apparmor (Jiri Denemark),
  build: fix output of pid values (Eric Blake),
  avoid global variable shadowed (Hu Tao),
  lxc: Cleaner fix for compilation without SELinux (Martin Kletzander),
  Fix compilation on MacOS X (Lincoln Myers)
- Documentation:
  snapshot: fix virsh docs (Eric Blake),
  Expand docs for timer tick policy (Daniel P. Berrange),
  Add documentation for new attribute tray of disk target (Osier Yang),
  Clarify virsh freecell manpage entry (Dave Allan),
  fix typo (Zhou Peng),
  Clarify what documentation is being referenced (Dave Allan),
  Minor docs fix (Martin Kletzander),
  libvirt: fix comment typo (Alex Jia),
  fix usage example on setting log levels (Eric Blake),
  use correct terminology for 1024 bytes (Eric Blake),
  Fix typo (Osier Yang),
  Fix typo in domain XML documentation (Christophe Fergeau),
  storage: fix typo (Michal Privoznik),
  comments wiping supported algorithms (Alex Jia),
  Fix libvirt name in qemu commandline namespace URL (Michal Privoznik),
  virsh: Break long lines in virsh.pod (Osier Yang),
  Update bug reporting page (Dave Allan),
  lib: Fix function documentation for virConnectListDomains (Peter Krempa),
  virsh: Fix docs for list command (Peter Krempa)
- Bug fixes:
  qemu: Start nested job in qemuDomainCheckEjectableMedia (Jiri Denemark),
  qemu: fix memory leak in virDomainGetVcpus (Laine Stump),
  conf: allow fuzz in XML with cur balloon > max (Eric Blake),
  qemu: reflect any memory rounding back to xml (Eric Blake),
  qemu: support live change of the bridge used by a guest network device (Hendrik Schwartke),
  qemu_agent: Issue guest-sync prior to every command (Michal Privoznik),
  conf: Prevent crash of libvirtd without channel target name (Alex Jia),
  fix a deadlock when qemu cannot start (Wen Congyang),
  qemu: Make migration fail when port profile association fails on the dst host (Christian Benvenuti),
  virsh: plug memory leaks on failure path (Alex Jia),
  snapshot: don't pass NULL to QMP command creation (Eric Blake),
  qemu: Avoid entering monitor with locked driver (Jiri Denemark),
  Leave all child processes running when stopping systemd service (Daniel P. Berrange),
  python: Avoid memory leaks on libvirt_virNodeGetCPUStats (Alex Jia),
  qemu: Avoid dangling migration-out job when client dies (Jiri Denemark),
  qemu: Avoid dangling migration-in job on shutoff domains (Jiri Denemark),
  qemu: Use unlimited speed when migrating to file (Jiri Denemark),
  python: Avoid memory leaks on libvirt_virNodeGetMemoryStats (Alex Jia),
  conf: forbid use of multicast mac addresses (Laine Stump),
  conf: return immediately on error in dhcp host element (Laine Stump),
  util: fail attempts to use same mac address for guest and tap (Laine Stump),
  snapshot: make quiesce a bit safer (Eric Blake),
  virConfGetValue: Fixed NULL pointer check (Martin Kletzander),
  Fix handling of blkio deviceWeight empty string (Daniel P. Berrange),
  remote: Fix migration leaks (Osier Yang),
  lib: Don't access configuration if none is present (Peter Krempa),
  qemuDomainDetachPciDiskDevice: Free allocated cgroup (Michal Privoznik),
  virsh: fix invalid free (Alex Jia),
  qemu: Reverse condition in qemuDomainCheckDiskPresence (Michal Privoznik),
  qemu: fix segfault when detaching non-existent network device (Guannan Ren),
  qemu: Fix (managed)save and snapshots with host mode CPU (Jiri Denemark),
  qemu: support disk filenames with comma (Eric Blake),
  Fix a few typo in translated strings (Daniel Veillard),
  qemuBuildCommandLine: Don't add tlsPort if none set (Michal Privoznik),
  qemu: eliminate memory leak in qemuDomainUpdateDeviceConfig (Laine Stump),
  util: eliminate device object leaks related to virDomain*Remove*() (Laine Stump),
  qemu: don't 'remove' hostdev objects from domain if operation fails (Laine Stump),
  util: Don't overflow on errno in virFileAccessibleAs (Michal Privoznik),
  sanlock: Use STREQ_NULLABLE instead of STREQ on strings that may be null (Peter Krempa),
  qemu: Fix startupPolicy for snapshot-revert (Michal Privoznik),
  rpc: allow truncated return for virDomainGetCPUStats (Eric Blake),
  conf: fix error log with "address address" (Laine Stump),
  Ensure max_id is initialized in linuxParseCPUmap() (Daniel P. Berrange),
  util: eliminate crash in virNetDevMacVLanCreateWithVPortProfile (Laine Stump),
  rpc: Fix client crash on connection close (Jiri Denemark),
  Correct a check for capacity arg of storageVolumeResize() (Zeeshan Ali (Khattak)),
  qemu: Don't emit tls-port spice option if port is -1 (Jiri Denemark),
  libxl: eliminate memory leak in libxmlDomainModifyDeviceFlags (Laine Stump),
  qemu: fix cleanup of bridge during failure of qemuDomainAttachNetDevice (Laine Stump),
  qemu: unescape HMP commands before converting them to json (Josh Durgin),
  virsh: fix informational message in iface-bridge command (Laine Stump),
  virterror: Misleading error message when name is missing (Benjamin Cama),
  util: Fix virFileAccessibleAs return path from parent (Michal Privoznik),
  qemu: Prevent crash of libvirtd without guest agent (Alex Jia),
  qemu: Unlock monitor when connecting to dest qemu fails (Jiri Denemark),
  qemu: Fix segfault when host CPU is empty (Jiri Denemark),
  Fix polkit0 authentication (Jim Fehlig),
  snapshot: fix snapshot deletion use-after-free (Eric Blake),
  daemon: fix logic bug with virAsprintf (Eric Blake),
  daemon: plug memory leak (Eric Blake),
  Fix typos in API XML file paths (Daniel P. Berrange)
- Improvements:
  Xen: Fix <clock> handling (Philipp Hahn),
  Support clock=variable relative to localtime (Philipp Hahn),
  python: improve conversion validation (Eric Blake),
  Fix client only RPM build & other misc RPM problems (Daniel P. Berrange),
  Refactor the libvirt RPM daemon pieces (Daniel P. Berrange),
  virnetdevtap: Don't check for flags in virNetDevTapCreateFlags (Michal Privoznik),
  Consistent style for usage of sizeof operator (Daniel P. Berrange),
  Don't redefine the CPU comparison constants in CPU test (Daniel P. Berrange),
  Fix some format specifiers for size_t vs ssize_t (Daniel P. Berrange),
  build: silence recent syntax check violations (Eric Blake),
  private.syms: Add virNetDevMacVLanRestartWithVPortProfile (Zhou Peng),
  Set default name for SPICE agent channel (Christophe Fergeau),
  python: make python APIs use these helper functions (Guannan Ren),
  python: Add new helper functions for python to C integral conversion (Guannan Ren),
  Enable all warnings permanently & default to -Werror for GIT builds (Daniel P. Berrange),
  Enable build of test suite programs by default for GIT checkouts (Daniel P. Berrange),
  Change the default of mdns_adv to false (Stef Walter),
  Add LXC XML files to schema test & fix problems this uncovers (Daniel P. Berrange),
  Add support for setting init argv for LXC (Daniel P. Berrange),
  Detect location fo selinux mount point (Daniel P. Berrange),
  qemu,util: on restart of libvirt restart vepa callbacks (D. Herrendoerfer),
  build: fix "missing initializer" error in qemu_process.c (Laine Stump),
  build: fix "missing initializer" errors in virsh.c (Laine Stump),
  Added syntax-check rule for return with parentheses (Martin Kletzander),
  Cleanup for a return statement in source files (Martin Kletzander),
  Fix and test round-trip of query parameters (Eric Blake),
  snapshot: improve qemu handling of reused snapshot targets (Eric Blake),
  snapshot: wire up qemu transaction command (Eric Blake),
  snapshot: add support for qemu transaction command (Eric Blake),
  snapshot: rudimentary qemu support for atomic disk snapshot (Eric Blake),
  snapshot: make offline qemu snapshots atomic (Eric Blake),
  snapshot: add atomic create flag (Eric Blake),
  snapshot: add qemu capability for 'transaction' command (Eric Blake),
  build: fix incorrect enum declaration (Eric Blake),
  Add qemu support for ppc64 on FC16 or above for rpm packaging (Li Zhang),
  Fix typo s/virURIFormatQuery/virURIFormatParams/ (Daniel P. Berrange),
  qemu: Update domain status to running while wakeup event is emitted (Osier Yang),
  qemu: Update domain state to pmsuspended while suspend event occurs (Osier Yang),
  New domain state pmsuspended (Osier Yang),
  Add support for the wakeup event (Osier Yang),
  qemu: Update tray status while tray moved event is emitted (Osier Yang),
  qemu: Prohibit setting tray status as open for block type disk (Osier Yang),
  qemu: Do not start with source for removable disks if tray is open (Osier Yang),
  conf: Parse and for the tray attribute (Osier Yang),
  Implement sysinfo on PowerPC. (Prerna Saxena),
  Lookup auth credentials in config file before prompting (Daniel P. Berrange),
  Refactor code prompting for SASL credentials (Daniel P. Berrange),
  Add helper API for finding auth file path (Daniel P. Berrange),
  Rename virRequest{Username,Password} to virAuthGet{Username,Password} (Daniel P. Berrange),
  Rename src/util/authhelper.[ch] to src/util/virauth.[ch] (Daniel P. Berrange),
  Add a virKeyfilePtr object for parsing '.ini' files (Daniel P. Berrange),
  Convert drivers over to use virURIPtr for query params (Daniel P. Berrange),
  Store parsed query parameters directly in the virURIPtr struct (Daniel P. Berrange),
  Use a libvirt custom struct for virURIPtr (Daniel P. Berrange),
  Centralize error reporting for URI parsing/formatting problems (Daniel P. Berrange),
  s/xmlURIPtr/virURIPtr/ in virURIFormat impl (Daniel P. Berrange),
  Use virURIFree instead of xmlFreeURI (Daniel P. Berrange),
  Add test case for virURIPtr classs (Daniel P. Berrange),
  python: add virDomainGetCPUStats python binding API (Guannan Ren),
  qemu: Make autodestroy utilize connection close callbacks (Jiri Denemark),
  qemu: Add connection close callbacks (Jiri Denemark),
  qemu: Add support for domain cleanup callbacks (Jiri Denemark),
  python: always include config.h first (Eric Blake),
  Cpu mapping cleanup (Martin Kletzander),
  virsh: trim aliases from -h output (Eric Blake),
  Add support for forcing a private network namespace for LXC guests (Daniel P. Berrange),
  Emit graphics events when a SPICE client connects/disconnects (Laine Stump),
  numad: Fix typo and warning (Osier Yang),
  Add container_uuid env variable to LXC guests (Daniel P. Berrange),
  Allow overriding default URI in config file (Daniel P. Berrange),
  virsh: A bit smarter attach-disk (Osier Yang),
  qemu: Use scsi-block for lun passthrough instead of scsi-disk (Osier Yang),
  cpu: Add cpu definition for Intel Sandy Bridge cpu type (Peter Krempa),
  Added support for AMD Bulldozer CPU (Martin Kletzander),
  graphics: Cleanup port policy (Michal Privoznik),
  cpustats: report user and sys times (Eric Blake),
  qemuxml2argvtest: Pass some additional flags to graphics-spice-agentmouse (Michal Privoznik),
  qemu: spice agent-mouse support (Peng Zhou),
  virsh: Use option alias for outmoded "--persistent" (Osier Yang),
  util: consolidate duplicated error messages in pci.c (Laine Stump),
  qemu: support persistent hotplug of <hostdev> devices (Laine Stump),
  util: standardize return from functions calling virNetlinkCommand (Laine Stump),
  util: make virDomainLeaseDefFree global (Laine Stump),
  util: consolidate duplicated error messages in virnetlink.c (Laine Stump),
  util: log error on OOM in virNetDevOpenvswitchAddPort (Laine Stump),
  Attach vm-id to Open vSwitch interfaces. (Ansis Atteka),
  util: whitespace change to virNetDevOpenvswitchAddPort (Laine Stump),
  util: add stub pciConfigAddressToSysfsFile for non-linux platforms (Laine Stump),
  rpc: generalize solution for VPATH builds (Eric Blake),
  xml: Clean up schemas to use shared data types instead of local (Peter Krempa),
  qemu: Don't parse device twice in attach/detach (Michal Privoznik),
  virsh: improve memory unit parsing (Eric Blake),
  virsh: improve storage unit parsing (Eric Blake),
  virsh: add command aliases, and rename nodedev-detach (Eric Blake),
  virsh: use option aliases (Eric Blake),
  virsh: add option aliases (Eric Blake),
  xml: allow scaled memory on input (Eric Blake),
  xml: use better types for memory values (Eric Blake),
  xml: use long long internally, to centralize overflow checks (Eric Blake),
  xml: drop unenforced minimum memory limit from RNG (Eric Blake),
  storage: support more scaling suffixes (Eric Blake),
  xml: output memory unit for clarity (Eric Blake),
  xml: share 'unit' in RNG (Eric Blake),
  util: new function for scaling numbers (Eric Blake),
  api: add overflow error (Eric Blake),
  cpu-stats command shows cpu statistics information of a domain. (KAMEZAWA Hiroyuki),
  qemu driver for virDomainGetCPUstats using cpuacct cgroup. (KAMEZAWA Hiroyuki),
  add nodeGetCPUmap() for getting available CPU IDs in a cpumap. (KAMEZAWA Hiroyuki),
  qemu: install port profile and mac address on netdev hostdevs (Roopa Prabhu),
  util: Changes to support portprofiles for hostdevs (Roopa Prabhu),
  util: support functions for mac/portprofile associations on hostdev (Roopa Prabhu),
  util: two new pci util functions (Roopa Prabhu),
  qemu: support type=hostdev network device live hotplug attach/detach (Laine Stump),
  qemu: use virDomainNetRemove instead of inline code (Laine Stump),
  conf: change virDomainNetRemove from static to global (Laine Stump),
  conf: parse/format type='hostdev' network interfaces (Laine Stump),
  qemu: refactor hotplug detach of hostdevs (Laine Stump),
  qemu: re-order functions in qemu_hotplug.c (Laine Stump),
  conf: hostdev utility functions (Laine Stump),
  conf: put subsys part of virDomainHostdevDef into its own struct (Laine Stump),
  conf: give each hostdevdef a parent pointer (Laine Stump),
  conf: HostdevDef parse/format helper functions (Laine Stump),
  conf: make hostdev info a separate object (Laine Stump),
  conf: add device pointer to args of virDomainDeviceInfoIterate callback (Laine Stump),
  qemu: rename virDomainDeviceInfoPtr variables to avoid confusion (Laine Stump),
  conf: reorder static functions in domain_conf.c (Laine Stump),
  conf: relocate virDomainDeviceDef and virDomainHostdevDef (Laine Stump),
  conf: add missing device types to virDomainDevice(Type|Def) (Laine Stump),
  blockResize: add flag for bytes (Eric Blake),
  qemu: Shared or readonly disks are always safe wrt migration (Jiri Denemark),
  libvirt-guests: Add parallel startup and shutdown of guests (Peter Krempa),
  Fix type and add missed comment for diskChange callback (Osier Yang),
  cpu: Add new flag supported by qemu to the cpu definition (Peter Krempa),
  util: combine bools in virNetDevTapCreateInBridgePort into flags (Laine Stump),
  util: centralize tap device MAC address 1st byte "0xFE" modification (Ansis Atteka),
  build: use correct type for pid and similar types (Eric Blake),
  build: prohibit cross-inclusion (Eric Blake),
  virsh: expose partial pull (Eric Blake),
  qemu: pass block pull backing file to monitor (Eric Blake),
  qemu: require json for block jobs (Eric Blake),
  fix alphabetical order of virNetlink functions in symbol file (Laine Stump),
  build: update to latest gnulib (Eric Blake),
  Add de-association handling to macvlan code (D. Herrendoerfer),
  util: Add netlink event handling to virnetlink.c (D. Herrendoerfer),
  Support for cpu64-rhel* qemu cpu models (Martin Kletzander),
  libvirt-guests: Check if URI is reachable before launching commands (Peter Krempa),
  libvirt-guests: Don't try to do a managed-save of transient guests (Peter Krempa),
  libvirt-guests: Add documentation and clean up to use virsh's improved list (Peter Krempa),
  qemu: Add pre-migration hook (Jiri Denemark),
  hooks: Add support for capturing hook output (Jiri Denemark),
  util: fix a typo (Alex Jia),
  storage: fix a typo (Alex Jia),
  Do not include binaries in EXTRA_DIST (Daniel Veillard),
  virsh: New command cmdChangeMedia (Osier Yang),
  virsh: Use vshFindDisk and vshPrepareDiskXML in cmdDetachDisk (Osier Yang),
  virsh: Two new helper functions for disk device changes (Osier Yang),
  tests: Add tests for virtio-scsi and ibmvscsi controllers (Osier Yang),
  qemu: Build command line for the new address format (Osier Yang),
  qemu: New cap flag to indicate if channel is supported by scsi-disk (Osier Yang),
  conf: Introduce new attribute for device address format (Osier Yang),
  conf: Add helper function to look up disk controller model (Osier Yang),
  qemu: add virtio-scsi controller model (Paolo Bonzini),
  qemu: add ibmvscsi controller model (Paolo Bonzini),
  qemu: Add ability to abort existing console while creating new one (Peter Krempa),
  util: Add helpers for safe domain console operations (Peter Krempa),
  fdstream: Add internal callback on stream close (Peter Krempa),
  fdstream: Emit stream abort callback even if poll() doesnt. (Peter Krempa),
  virsh: add support for VIR_DOMAIN_CONSOLE_* flags (Peter Krempa),
  Add flags for virDomainOpenConsole (Peter Krempa),
  pidfile: Make checking binary path in virPidFileRead optional (Peter Krempa),
  qemu: Implement virDomainPMWakeup API (Michal Privoznik),
  virsh: Expose virDomainPMWakeup (Michal Privoznik),
  Fixed URI parsing (Martin Kletzander),
  Workaround python header file insanity (Daniel P. Berrange),
  Improve error reporting when virsh console is run without a TTY (Daniel P. Berrange),
  Error out when using SPICE TLS with spice_tls=0 (Christophe Fergeau),
  vmx: Better Workstation vmx handling (Jean-Baptiste Rouault),
  qemu: nicer error message on failed graceful destroy (Eric Blake),
  qemu: Forbid migration with cache != none (Jiri Denemark),
  Introduce virStorageFileIsClusterFS (Jiri Denemark),
  virsh: Add --unsafe option to migrate command (Jiri Denemark),
  Add support for unsafe migration (Jiri Denemark),
  configure: Define program name if not found (Michal Privoznik),
  virsh: Enhance list command to ease creation of shell scripts (Peter Krempa),
  vmware: implement domainXMLFromNative (Jean-Baptiste Rouault),
  esx: Correctly disable HTTP Expect header usage of libcurl (Matthias Bolte),
  caps: Improve error if passed an unknown arch (Cole Robinson),
  spec: use ix86 macros (Peter Robinson),
  nwfilter: improved logging during driver initialization (Stefan Berger),
  storage: Allow runtime detection of scrub (Michal Privoznik),
  Fix build with polkit0 (Jim Fehlig),
  python: Expose virDomain{G,S}etInterfaceParameters APIs in python binding (Alex Jia),
  conf: rename virDomainNetGetActualDirectVirtPortProfile (Laine Stump),
  qemu: increase the timeout before sending SIGKILL to qemu process (Laine Stump),
  qemu: drop driver lock while trying to terminate qemu process (Laine Stump),
  qemu: Implement DomainPMSuspendForDuration (Michal Privoznik),
  qemu: Set capabilities based on supported monitor commands (Michal Privoznik),
  Install API XML desc to a standard location (Daniel P. Berrange),
  qemu: make block io tuning smarter (Eric Blake)
- Cleanups:
  Fix typos and spacing in messages. (Yuri Chornoivan),
  qemu: eliminate nested switch, simplify code (Laine Stump),
  Fix typo in previous patch (Daniel P. Berrange),
  build: drop obsolete qparams test (Eric Blake),
  build: drop a painfully long gnulib test (Eric Blake),
  Removed more AMD-specific features from cpu64-rhel* models (Martin Kletzander),
  conf: eliminate redundant VIR_ALLOC of 1st element of network DNS hosts. (Laine Stump),
  remove daemon/probes.h from .gitignore (Laine Stump),
  sanlock: Fix condition left crippled while debugging (Peter Krempa),
  qemu: Fix indention (Osier Yang),
  daemon: Remove deprecated HAL from init script dependencies (Peter Krempa),
  util: remove unneeded #include in virrandom.c (Laine Stump),
  util: wrap virnetlink.c to 80 columns (Laine Stump),
  Fixed service handling in specfile (Martin Kletzander)

### 0.9.10: Feb 13 2012

- Features:
  Add support for sVirt in the LXC driver (Daniel P. Berrange),
  block rebase: add new API virDomainBlockRebase (Eric Blake),
  API: Add api to set and get domain metadata (Peter Krempa),
  virDomainGetDiskErrors public API (Jiri Denemark),
  conf: add rawio attribute to disk element of domain XML (Taku Izumi),
  Add new public API virDomainGetCPUStats() (KAMEZAWA Hiroyuki),
  Introduce virDomainPMSuspendForDuration API (Michal Privoznik),
  resize: add virStorageVolResize() API (Zeeshan Ali (Khattak)),
  Add a virt-host-validate command to sanity check HV config (Daniel P. Berrange),
  Add new virDomainShutdownFlags API (Daniel P. Berrange),
  QEMU guest agent support (Daniel P. Berrange)
- Documentation:
  fix typo in python bindings (Eric Blake),
  conf: small changes to comments in virDomainDeviceInfo (Laine Stump),
  Clarify the purpose of domxml-from-native (Dave Allan),
  Enhance documentation of the old-style boot configuration (Jiri Denemark),
  virterror.c: Fix several spelling mistakes (Philipp Hahn),
  Add detail to documentation on storage pools and volumes. (Dave Allan),
  fill out rawio description (Laine Stump),
  XenXs: Update documentation (Philipp Hahn),
  reorder public header (Eric Blake),
  tweak recent suspend API additions (Eric Blake),
  Add missing docs for <viridian/> feature flag (Daniel P. Berrange),
  fix virsh man page (Eric Blake),
  fix a few small typos in formatdomain.html.in (Laine Stump),
  src/datatypes.h: fix typo (Alon Levy),
  Clarify semantics of virDomainMigrate{,ToURI}2 (Jiri Denemark),
  Add missed RNG schema for interface (Osier Yang),
  Add documentation new ways to access members of variables (Stefan Berger),
  virsh: improve doMigrate function docs (Alex Jia),
  standardize description of flags (Eric Blake),
  Document Android application using libvirt (Michal Privoznik)
- Portability:
  virpidfile: replace fopen/fwrite/fscanf with more portable version (Marc-André Lureau),
  util: Do not use PRIx64 macro (Osier Yang),
  Replace truncate() with ftruncate() (Daniel P. Berrange),
  build: avoid gcc 4.7 warning about inlines (Eric Blake),
  lxc: Fix build with AppArmor (Jiri Denemark),
  Update gnulib to fix mingw64 compilation errors (Marc-André Lureau),
  tests: virnettlscontexttest needs gnutls-2.6.0 (Philipp Hahn),
  qemu: Silent bogus warning about unitialized variable (Jiri Denemark),
  build: fix text regression (Eric Blake),
  Add virt-host-validate.1 to Mingw32 RPM spec file list (Daniel P. Berrange),
  build: fix missing include (Eric Blake),
  qemu: support qmp on RHEL/CentOS qemu (Eric Blake),
  util: Include stdint.h because of uint32_t (Michal Privoznik),
  Cast pointer to int using intptr_t (Marc-André Lureau),
  build: fix header order on mingw (Eric Blake),
  errcode is typedef by mingw, rename an argument name (Marc-André Lureau),
  Add missing virGetGroupName() (Marc-André Lureau),
  build: skip lxc with too-old glibc (Eric Blake),
  Remove dmidecode dependancy outside PC arches (Daniel Veillard),
  build: fix bootstrap on fresh clone (Eric Blake),
  tests: Add qemuxml2argv tests for PPC64 pseries machine (Michael Ellerman),
  tests: Teach qemuxml2argvtest about spapr-vio addresses (Michael Ellerman),
  Disable netcf if building without libvirtd (Daniel P. Berrange),
  build: fix build on mingw with netcf available (Eric Blake),
  build: avoid spurious compiler warning (Eric Blake)
- Bug Fixes:
  rpc: Plug memory leaks on doRemoteOpen() failure path (Alex Jia),
  GetCPUStats: fix overflow test (Lai Jiangshan),
  python: Correct arguments number for migrateSetMaxSpeed (Osier Yang),
  qemu: fix persistent setting of blkiodevice weights (Eric Blake),
  qemu: Fix memory leak when building -cpu argument (Jiri Denemark),
  security: Driver 'none' cannot create confined guests (Jiri Denemark),
  seclabel: Do not output relabel attribute for type 'none' (Jiri Denemark),
  virsh: Plug memory leak on cmdDesc (Alex Jia),
  virsh: Do not check the input XML at virsh layer for cmdDetachDevice (Osier Yang),
  On systems with dmidecode version 2.10 or older, (Prerna Saxena),
  storage: Don't unsparsify images when cloning (Cole Robinson),
  build: don't require avahi during install (Laine Stump),
  pyhton: Don't link against libvirt_util.la (Michal Privoznik),
  xen-xm: SIGSEGV in xenXMDomainDefineXML: filename (Philipp Hahn),
  xen-xm: fix data loss in domain edit (Philipp Hahn),
  virsh: Fix resource leak while listing inactive domains with titles (Peter Krempa),
  xen_xm: Fix SIGSEGV in xenXMDomainDefineXML (Philipp Hahn),
  qemu: Fix seamless spice migration (Jiri Denemark),
  apparmor: Add missing comma (Jiri Denemark),
  virsh: Avoid invalid read of size errors (Alex Jia),
  qemu: eliminate "Ignoring open failure" when using root-squash NFS (Laine Stump),
  conf: Plug memory on virDomainDiskDefParseXML (Alex Jia),
  virsh: Plug memory leak on cmdUndefine (Alex Jia),
  network: fix testsuite regression (Eric Blake),
  network: Avoid memory leaks on networkBuildDnsmasqArgv (Alex Jia),
  python: correct a copy-paste error (Alex Jia),
  qemu: Don't jump to endjob if no job was even started (Michal Privoznik),
  qemu: fix my typo at commit 74e034964c32edb1732d0ff7642f3977f3587d72 (Taku Izumi),
  qemu: Fix segfault in qemuMonitorTextGetBlockInfo (Hendrik Schwartke),
  tests: fix reversed comparisons (Eric Blake),
  qemu: avoid double free of qemu help output (Eric Blake),
  apparmor: Fix use of uninitialized random_data (Jiri Denemark),
  storage: Fix any VolLookupByPath if we have an empty logical pool (Cole Robinson),
  Don't bind mount onto a char device for /dev/ptmx in LXC (Daniel P. Berrange),
  xen: Don't crash when we fail to init caps (Guido Günther),
  xen: properly report out of memory when hvm_type is too small (Guido Günther),
  threads: check for failure to set thread-local value (Eric Blake),
  Fix rpc generator to anchor matches for method names (Daniel P. Berrange),
  Fix startup of LXC containers with filesystems containing symlinks (Daniel P. Berrange),
  qemu: Prohibit reattaching node device if it is in use (Osier Yang),
  qemu: Don't break domain with 0:0:2.0 assigned to anything but VGA (Jiri Denemark),
  Fixed dumpxml of <iotune> parameters (Martin Kletzander),
  nwfilter: fix typing error in filter (Stefan Berger),
  events: Return the correct number of registered events (Adam Litke),
  uuid: fix off-by-one (Eric Blake),
  build: fix virsh reformat fallout (Eric Blake),
  stream: Check for stream EOF (Michal Privoznik),
  Do not generate security_model when fs driver is anything but 'path' (Deepak C Shetty),
  qemu: check for kvm availability before starting kvm guests (Laine Stump),
  qemu: fix a typo on qemuDomainSetBlkioParameters (Alex Jia),
  config: report error when script given for inappropriate interface type (Laine Stump)
- Improvements:
  python: make other APIs share common {get, set}PyVirTypedParameter (Guannan Ren),
  npiv: Auto-generate WWN if it's not specified (Osier Yang),
  Remove single quotes from audit records (Marcelo Cerri),
  domain: add implicit USB controller (Marc-André Lureau),
  python: refactoring virTypedParameter conversion for NUMA tuning APIs (Guannan Ren),
  qemu: make blkiodevice weights easier to read (Eric Blake),
  sysinfo: simplify function signature (Eric Blake),
  Populate /dev/std{in,out,err} symlinks in LXC containers (Daniel P. Berrange),
  Update symbols file for virFileDirectFd/virFileWrapperFd rename (Daniel P. Berrange),
  virsh: Fix flag semantics and docs for "desc" command (Peter Krempa),
  qemu: Always use iohelper for domain save (Jiri Denemark),
  qemu: Always use iohelper for dumping domain core (Jiri Denemark),
  util: Generalize virFileDirectFd (Jiri Denemark),
  Allow polkit auth for VNC and SSH users (Cole Robinson),
  seclabel: make code and RNG match (Eric Blake),
  maint: Add test output files to .gitignore (Peter Krempa),
  tests: Fix build with -Werror (Jiri Denemark),
  maint: consolidate several .gitignore files (Eric Blake),
  util: refactor virFileOpenAs (Laine Stump),
  util: rename netlink.[ch] to virnetlink.[ch] (D. Herrendoerfer),
  virsh: add --graceful switch to destroy command (Laine Stump),
  qemu: new GRACEFUL flag for virDomainDestroy w/ QEMU support (Laine Stump),
  Added missing memory reporting into python bindings (Martin Kletzander),
  python: use libvirt_util to avoid raw free (Eric Blake),
  build: expand rule to cover testsuite (Eric Blake),
  build: prohibit raw malloc and free (Eric Blake),
  build: clean up CPPFLAGS/INCLUDES usage (Eric Blake),
  command: allow merging stdout and stderr in string capture (Eric Blake),
  maint: prune duplicate listings in AUTHORS (Eric Blake),
  virsh: extension of virsh attach-disk for rawio (Taku Izumi),
  Fixed connection definition for non-SELinux builds (Martin Kletzander),
  Added RSS reporting (Martin Kletzander),
  Added RSS information gathering into qemudGetProcessInfo (Martin Kletzander),
  Set a security context on /dev and /dev/pts mounts (Daniel P. Berrange),
  Add two new security label types (Daniel P. Berrange),
  Re-add domain device seclabel parsing / formatting (Daniel P. Berrange),
  Revert changes to sec label parsing (Daniel P. Berrange),
  tests: dynamically replace dnsmasq path (Philipp Hahn),
  xen_xs: name xendConfigVersion magic numbers (Philipp Hahn),
  block rebase: initial qemu implementation (Eric Blake),
  block rebase: wire up remote protocol (Eric Blake),
  qemu: Add support for virDomainGetMetadata and virDomainSetMetadata (Peter Krempa),
  virsh: Add support for modifying domain description and titles (Peter Krempa),
  xml: Add element <title> to allow short description of domains (Peter Krempa),
  build: add missing virStorageFileResize to libvirt_private.syms (Laine Stump),
  build: add missing virCommandAddCap to libvirt_private.syms (Laine Stump),
  daemon: Allow overriding NOFILES ulimit for the daemon as well (Michal Privoznik),
  python: Add binding for virDomainGetDiskErrors (Jiri Denemark),
  virsh: Implement domblkerror command (Jiri Denemark),
  qemu: Implement virDomainGetDiskErrors (Jiri Denemark),
  Remote protocol for virDomainGetDiskErrors (Jiri Denemark),
  command: Fix ATTRIBUTE_UNUSED on virSetCapabilities (Michal Privoznik),
  simplify block of codes (Alex Jia),
  qemu: make qemu processes to retain rawio capability (Taku Izumi),
  util: extend virExecWithHook() (Taku Izumi),
  util: add functions to keep capabilities (Taku Izumi),
  Implement virStorageVolResize() for FS backend (Zeeshan Ali (Khattak)),
  resize: slightly alter signature (Eric Blake),
  qemu: add "romfile" support to specify device boot ROM (Laine Stump),
  qemu: (and conf) support rombar for network devices (Laine Stump),
  conf: relocate rombar and boot order parse/format (Laine Stump),
  conf: put all guest-related HostdevDef data in one object (Laine Stump),
  xen: Don't add <console> to xml for dom0 (Cole Robinson),
  remote handler for virDomainGetCPUStats() (KAMEZAWA Hiroyuki),
  virsh: Expose new virDomainPMSuspendForDuration API (Michal Privoznik),
  resize: implement remote protocol for virStorageVolResize() (Zeeshan Ali (Khattak)),
  Return more error output if policykit auth fails. (Cole Robinson),
  Add new error code VIR_ERROR_AUTH_CANCELLED (Cole Robinson),
  Move virEmitXMLWarning into xml.h (Daniel P. Berrange),
  Move virMacAddrXXX functions to src/util/virmacaddr.[ch] (Daniel P. Berrange),
  Rename virXXXXMacAddr to virMacAddrXXX (Daniel P. Berrange),
  qemu: parse and create -cpu ...,-kvmclock (Paolo Bonzini),
  conf: add kvmclock timer (Paolo Bonzini),
  qemu: do not create useless <cpu> element (Paolo Bonzini),
  qemu: get arch name from <cpu> element (Paolo Bonzini),
  qemu: detect arch correctly for KVM (Paolo Bonzini),
  x86: add kvm32 and kvm64, update qemu64 (Paolo Bonzini),
  qemu: parse -enable-kvm (Paolo Bonzini),
  qemu: require qmp on new enough qemu (Eric Blake),
  nwfilter: Rebuild filters only if new filter is different than current (Stefan Berger),
  nwfilter: Force instantiation of filters upon driver reload (Stefan Berger),
  qemu: Refactor qemuMonitorGetBlockInfo (Jiri Denemark),
  Update VIRT_CONTROL audit record with pid. (Marcelo Cerri),
  build: allow for 64-bit pid in daemon (Eric Blake),
  daemon: convert virRun to virCommand (Eric Blake),
  hash: minor touchups (Eric Blake),
  Replace hashing algorithm with murmurhash (Daniel P. Berrange),
  Rename hash.h and hash.c to virhash.h and virhash.c (Daniel P. Berrange),
  Convert various virHash functions to use size_t / uint32 (Daniel P. Berrange),
  Introduce new API for generating random numbers (Daniel P. Berrange),
  schema: Relax schema for domain name (Peter Krempa),
  storage: Support different wiping algorithms (Michal Privoznik),
  lxc: export container=lxc-libvirt for systemd (Eric Blake),
  Add virFileTouch for creating empty files (Daniel P. Berrange),
  virsh: Expose new VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE flag (Michal Privoznik),
  snapshots: Introduce VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE flag (Michal Privoznik),
  qemu_agent: Create file system freeze and thaw functions (Michal Privoznik),
  qemu: Emit bootindex even for direct boot (Jiri Denemark),
  metadata: group metadata next to description (Eric Blake),
  build: simplify xmlFreeNode usage (Eric Blake),
  Allow custom metadata in domain configuration XML (Zeeshan Ali (Khattak)),
  virCommandProcessIO(): make poll() usage more robust (Laszlo Ersek),
  Allow choice of shutdown method via virsh (Daniel P. Berrange),
  Wire up QEMU agent to reboot/shutdown APIs (Daniel P. Berrange),
  hashtest: Initialize variable in virHashEqual test (Michal Privoznik),
  Add test case for virHashEqual function (Stefan Berger),
  Compare two hash tables for equality (Stefan Berger),
  virsh: let domif-{get,set}link take target name (Taku Izumi),
  maint: cleanup qemu capabilities (Eric Blake),
  maint: enforce use of _LAST marker (Eric Blake),
  API: make declaration of _LAST enum values conditional (Eric Blake),
  error: drop old-style error reporting (Eric Blake),
  util: use new virTypedParameter helpers (Eric Blake),
  util: add new file for virTypedParameter utils (Eric Blake),
  lxc: use live/config helper (Eric Blake),
  build: silence some compiler warnings from gnulib (Eric Blake),
  Rename APIs for fetching UNIX socket credentials (Daniel P. Berrange),
  Add virGetGroupName to convert from GID to group name (Daniel P. Berrange),
  Remove duplicate call to virNetSASLSessionGetIdentity (Daniel P. Berrange),
  Also retrieve GID from SO_PEERCRED (Daniel P. Berrange),
  Added capability checking for block <iotune> setting. (Martin Kletzander),
  qemu: Introduce inactive PCI device list (Osier Yang),
  Permission change for systemtap examples. (Martin Kletzander),
  Add new attribute wrpolicy to <driver> element (Deepak C Shetty),
  tests: avoid dirname in tests (Eric Blake),
  qemu: Add support for host CPU modes (Jiri Denemark),
  Taint domains configured with cpu mode=host-passthrough (Jiri Denemark),
  cpu: Update guest CPU in host-* mode (Jiri Denemark),
  Add support for cpu mode attribute (Jiri Denemark),
  cpu: Optionally forbid fallback CPU models (Jiri Denemark),
  tests: Print XML file name in verbose CPU test (Jiri Denemark),
  docs: Expose alias tag in domain RNG schema (Osier Yang),
  docs: Add readonly to filesystem RNG schema (Osier Yang),
  conf: Remove do-nothing validation functions (Michael Ellerman),
  Make drive unit attribute optional in the XML schema (Michael Ellerman),
  virsh domiflist: change output (Taku Izumi),
  export virNetDevGetVirtualFunctions as a private symbol (Paolo Bonzini),
  virsh: Two new fields for command domblklist (Osier Yang),
  qemu: Support copy on read for disk (Osier Yang),
  Added check for maximum number of vcpus exceeding topology limit (Martin Kletzander),
  build: update to latest gnulib (Eric Blake),
  Rsync keymaps.csv file with GTK-VNC (Daniel P. Berrange),
  Re-write LXC controller end-of-file I/O handling yet again (Daniel P. Berrange),
  Allow 10 chars for domain IDs & 30 chars for names in virsh list (Daniel P. Berrange),
  virsh: New command print summary of all virtual interfaces (Osier Yang),
  Added new option to virsh net-dumpxml called --inactive (Shradha Shah),
  Functionality to implicitly get interface pool from SR-IOV PF. (Shradha Shah),
  Adding the element pf to network xml. (Shradha Shah),
  Added Function virNetDevGetVirtualFunctions (Shradha Shah),
  Added function pciSysfsFile to enable access to the PCI SYSFS files. (Shradha Shah),
  Add test cases for new ways to access variables in filters (Stefan Berger),
  Address side effects of accessing vars via index (Stefan Berger),
  Add access to elements of variables via index (Stefan Berger),
  Introduce possibility to have an iterator per variable (Stefan Berger),
  Optimize the elements the iterator visits. (Stefan Berger),
  apparmor: Mark pid parameter as unused (Jiri Denemark),
  Change security driver APIs to use virDomainDefPtr instead of virDomainObjPtr (Daniel P. Berrange),
  snapshot: allow reuse of existing files in disk snapshot (Eric Blake),
  PolicyKit: Check auth before asking client to obtain it (Jim Fehlig),
  qemu: add new disk device='lun' for bus='virtio' & type='block' (Laine Stump),
  qemu: add capabilities flags related to SG_IO (Laine Stump),
  qemu: one more client to live/config helper (Eric Blake)
- Cleanups:
  python: drop unused function (Eric Blake),
  python: drop redundant function (Eric Blake),
  Replace TAB with white spaces (Osier Yang),
  qemu: Clenup qemuDomainSetInterfaceParameters (Michal Privoznik),
  conf: remove duplicate call to VIR_FREE(info->alias) (Laine Stump),
  xml: fix struct typos (Eric Blake),
  Remove tabs from libvirt_public.syms & enforce it (Daniel P. Berrange)

### 0.9.9: Jan 7 2012

- Features:
  Add new API virDomain{S,G}etInterfaceParameters (Hu Tao),
  Add new API virDomain{G,S}etNumaParameters (Hu Tao),
  Add support for ppc64 qemu (Prerna Saxena, Bharata B Rao, Michael Ellerman),
  Support Xen domctl v8 (Jim Fehlig)
- Documentation:
  Fix typos in messages. (Yuri Chornoivan),
  docs: re-fix stray / (Eric Blake),
  virsh: move version command to host group (Lai Jiangshan),
  docs: Move 'echo' command description into the generic commands section (Satoru SATOH),
  docs: Move 'send-key' command description into the domain commands section (Satoru SATOH),
  docs: remove stray / (Eric Blake),
  docs: fix missing / in xml examples (Eric Blake),
  docs: improve virsh domxml-*-native command docs (Alex Jia),
  docs: document <qemu:commandline> xml (Eric Blake),
  Fix typo in storage pool documentation (Christophe Fergeau),
  docs: tweak 'virsh edit' wording (Eric Blake),
  docs: document <address> elements in one place (Eric Blake),
  threads: Document spurious wakeups on virCondWait (Michal Privoznik)
- Portability:
  build: fix mingw virCommand build (Eric Blake),
  tests: avoid test failure on rawhide gnutls (Eric Blake),
  build: drop check for ANSI compiler (Eric Blake),
  Fix build on s390(x) and other stange arches (Daniel Veillard),
  Require avahi as an rpm dependancy (Daniel Veillard),
  Disable python explicitly in mingw32 autobuild (Daniel P. Berrange),
  build: disable dtrace on non-Linux builds (Eric Blake),
  build: let autobuild check more code (Eric Blake),
  maint: allow bootstrap in a sandbox (Eric Blake)
- Bug Fixes:
  qemu: Avoid memory leaks on qemuParseRBDString (Alex Jia),
  qemu: fix a bug in numatune (Hu Tao),
  qemu: fix use-after-free regression (Eric Blake),
  seclabel: fix regression in libvirtd restart (Eric Blake),
  command: Discard FD_SETSIZE limit for opened files (Michal Privoznik),
  Fix xenstore serial console path for HVM guests (Jim Fehlig),
  schemas: Allow '.' in CPU feature name (Jiri Denemark),
  virCommand: Properly handle POLLHUP (Michal Privoznik),
  virCPUDefCopy forgot to copy NUMA topology (Jiri Denemark),
  qemu: fix block stat naming (Eric Blake),
  domiftune: clean up previous patches (Eric Blake),
  virsh: Fix checking for reconnect conditions (Peter Krempa),
  qemu: Fix bandwidth memory leak on failure (Alex Jia),
  qemu: fix blkio memory leak on failure (Eric Blake),
  remove a static limit on max domains in python bindings (Daniel Veillard),
  python: Fix problems of virDomain{Set, Get}BlockIoTune bindings (Alex Jia),
  qemu: fix inf-loop in blkio parameters (Eric Blake),
  qemu: Keep list of USB devices attached to domains (Michal Privoznik),
  qemu: Release the lock on domobj if fails on finding the disk path (Osier Yang),
  virsh: plug mem leaks in domxml-*-native (Alex Jia),
  console: plug memory leaks (Alex Jia),
  rpc: handle param_int, plug memory leaks (Eric Blake),
  python: plug memory leak on libvirt_virConnectOpenAuth (Alex Jia),
  Only add the timer when a callback is registered (Daniel P. Berrange),
  qemu: detect truncated file as invalid save image (Eric Blake),
  qemu: Don't drop hostdev config until security label restore (Michal Privoznik),
  Fix default migration speed in qemu driver (Jim Fehlig),
  qemu: Fix race between async and query jobs (Jiri Denemark),
  qemu: Do not free the device from activePciHostdevs if it's in use (Osier Yang),
  qemu: Honor the original properties of PCI device when detaching (Osier Yang),
  spec: fix inverted logic on sanlock (Wen Congyang),
  tests: plug memory leak on linuxTestNodeInfo (Alex Jia),
  storage: Fix a potential crash when creating vol object (Osier Yang),
  qemu: Disable EOF processing during qemuDomainDestroy (Jiri Denemark),
  virsh: Free returned MIME type string (Michal Privoznik),
  storage: Activate/deactivate logical volumes only on local node (Rommer),
  security: don't try to label network disks (Josh Durgin),
  test: replace deprecated "fedora-13" machine with "pc-0.13" (Laine Stump),
  network: don't add iptables rules for externally managed networks (Laine Stump),
  threadpool: Use while loop on virCondWait (Michal Privoznik),
  virsh: plug memory leak on cmdDomblklist (Alex Jia),
  fix error when parsing ppc64 models on x86 host (Stefan Berger),
  fix memory leak in src/nodeinfo.c (Stefan Berger),
  threadpool: Don't wait on condition if pool has no workers (Michal Privoznik),
  bridge: Fix forward delay APIs (Jiri Denemark),
  virsh: return correct value from cmdDomIfGetLink (Peter Krempa),
  virsh: plug memory leak on cmdDomIfGetLink() sucessful path (Alex Jia),
  virsh: plug memory leak on cmdBlkdeviotune() sucessful path (Alex Jia),
  test: fix potential lock corruption in test driver (Laine Stump),
  spec: fix logic bug in deciding to turn on cgconfig (Eric Blake),
  When checking nttyFDs to see if it is != 1, be sure to use '1' and not '-1' (Daniel P. Berrange),
  Fix installation of libvirt-guests.service (Daniel P. Berrange)
- Improvements:
  Implement DNS SRV record into the bridge driver (Michal Novotny),
  seclabel: honor device override in selinux (Eric Blake),
  seclabel: allow a seclabel override on a disk src (Eric Blake),
  seclabel: extend XML to allow per-disk label overrides (Eric Blake),
  seclabel: move seclabel stuff earlier (Eric Blake),
  seclabel: refactor existing domain_conf usage (Eric Blake),
  schema: rewrite seclabel rng to match code (Eric Blake),
  domiftune: Enable the virDomain{S,G}etInterfaceParameters in virsh (Hu Tao),
  domiftune: Add virDomain{S,G}etInterfaceParameters support to qemu driver (Hu Tao),
  domiftune: Add a util function virDomainNetFind (Hu Tao),
  domiftune: Add support of new APIs to the remote driver (Hu Tao),
  domiftune: virDomain{S,G}etInterfaceParameters: the main entry points (Hu Tao),
  daemon: clean up daemonization (Eric Blake),
  tests: fix schema checks sorting (Eric Blake),
  qemu: Support for overriding NOFILE limit (Michal Privoznik),
  virsh: Use vshWatchJob in cmdManagedSave (Michal Privoznik),
  virsh: Use vshWatchJob in cmdSave (Michal Privoznik),
  virsh: Use vshWatchJob in cmdDump (Michal Privoznik),
  virsh: Move job watch code to a separate function (Michal Privoznik),
  qemuhelptest: Add new qemuCap flag (Michal Privoznik),
  qemu: Support readonly filesystem passthrough (Osier Yang),
  nwfilter: Do not require DHCP requests to be broadcasted (Stefan Berger),
  tests: run schema checks in sorted order (Eric Blake),
  tests: Add fake PPC64 emulator for QEMU testing (Michael Ellerman),
  qemu: Add spapr-vio address assignment (Michael Ellerman),
  Add New address type spapr-vio to domain.rng (Bharata B Rao),
  Add address type for SPAPR VIO devices (Michael Ellerman),
  qemu: Add a capability flag for -no-acpi (Michael Ellerman),
  add new command numatune to virsh (Hu Tao),
  Implement virDomain{G, S}etNumaParameters for the qemu driver (Hu Tao),
  Add virDomain{G, S}etNumaParameters support to the remote driver (Hu Tao),
  use cpuset to manage numa (Hu Tao),
  Add functions to set/get cgroup cpuset parameters (Hu Tao),
  virsh: simplify printing of typed parameters (Eric Blake),
  Hide use of timers for domain event dispatch (Daniel P. Berrange),
  Remove decl of all APIs related to domain event callbacks & queues (Daniel P. Berrange),
  Remove all domain event structs from header (Daniel P. Berrange),
  Convert drivers to thread safe APIs for adding callbacks (Daniel P. Berrange),
  Add APIs to allow management of callbacks purely with virDomainEventState (Daniel P. Berrange),
  Return count of callbacks when registering callbacks (Daniel P. Berrange),
  Convert Xen & VBox drivers to use virDomainEventState (Daniel P. Berrange),
  nwfilter: do not create ebtables chain unnecessarily (Stefan Berger),
  migration: Add more specific error code/message on migration abort (Peter Krempa),
  virsh: Add option to undefine storage with domains (Peter Krempa),
  python: Expose blockPeek and memoryPeek in Python binding (Osier Yang),
  virsh: support multifunction in attach-disk (KAMEZAWA Hiroyuki),
  python: Fix export of virDomainSnapshotListChildrenNames (Peter Krempa),
  Provide a helper method virDomainLiveConfigHelperMethod (Lei Li),
  virsh: Print error message if argument parsing fails for cmdNodesuspend (Peter Krempa),
  build: follow directory install conventions (Eric Blake),
  Fix make uninstall (Dave Allan),
  qemu: Prepare to cater for more general address assignment (Michael Ellerman),
  qemu: Add address in qemuBuildChrDeviceStr() on pseries (Michael Ellerman),
  qemu: Use spapr-vscsi on pseries machine type (Michael Ellerman),
  network: allow '-' in model name (Eric Blake),
  cpu: Add cpu flags supported by newest qemu (Peter Krempa),
  Pass the VM's UUID into the nwfilter subsystem (Stefan Berger),
  nwfilter: cleanup return codes in nwfilter subsystem (Stefan Berger),
  spec: make it easier to autoreconf when building rpm (Eric Blake),
  Ensure to prefix %{buildroot} when overriding systemd install location (Daniel P. Berrange),
  Add ppc64 specific definitions to domain.rng (Bharata B Rao),
  Clean up qemuBuildCommandLine to remove x86-specific (Prerna Saxena),
  Modify the tests/nodeinfotest.c to use sysfs in addition (Prerna Saxena),
  Use sysfs to gather host topology, in place of (Prerna Saxena)
- Cleanups:
  network_conf: Fix whitespace to pass syntax-check (Peter Krempa)

### 0.9.8: Dec 8 2011

- Features:
  Add support for QEMU 1.0 (Jiri Denemark),
  Add first parts of PPC cpu driver. (Prerna Saxena),
  Add new API virDomain{Set, Get}BlockIoTune (Lei Li),
  block_resize: Define the new API (Osier Yang),
  Add a public API to invoke suspend/resume on the host (Srivatsa S. Bhat),
  Various improvements for LXC containers (Daniel P. Berrange),
  Define keepalive protocol and add virConnectIsAlive API (Jiri Denemark),
  Add support for STP and VLANfiltering (Stefan Berger)
- Documentation:
  Add documentation for <disk><source type="dir"> (Christophe Fergeau),
  Fix typo in virDomainResume API doc (Christophe Fergeau),
  maint: fix improper use of 'an' (Eric Blake),
  virsh: translate net-info help (Eric Blake),
  maint: typo fixes (Eric Blake),
  virsh: Fix typos in man page (Jiri Denemark),
  rpc: Fix a typo in virNetClientSendNonBlock documentation (Jiri Denemark),
  docs: fix grammar of capabilities (Eric Blake),
  Documentation about chains' priorities, lists of elements etc. (Stefan Berger)
- Portability:
  spec: don't use chkconfig --list (Eric Blake),
  build: fix build with older libxml2 (Eric Blake),
  Conditionalize daemonPath decl for Win32 which lacks UNIX sockets (Daniel P. Berrange),
  build: reduce warnings from older gcc (Eric Blake),
  Fix incorrect symbols for virtime.h module breaking Mingw32 (Daniel P. Berrange),
  build: fix build on Cygwin (Eric Blake),
  build: fix build at -O2 on rawhide (Eric Blake),
  Fix build for platforms lacking struct ifreq (Daniel P. Berrange),
  build: fix 'make dist' without dtrace (Eric Blake),
  Don't use undocumented __isleap macro (Daniel P. Berrange),
  virnetsocket: pass XAUTORITY for ssh connection (Christian Franke),
  Fix build on Mingw32 wrt export of virNetServerGetDBusConn (Daniel P. Berrange),
  build: fix compile error with no macvtap (Eric Blake),
  Fix build with polkit0 (Jim Fehlig),
  Fix strchr call triggering gcc 4.3 & 4.4 bug (Stefan Berger),
  PATCH: Fix build without MACVTAP (Michael Wood),
  util: fix compile error on debian (Eli Qiao),
  Disable numactl on ARM architectures too (Daniel P. Berrange),
  Add libvirt confdir to files section in mingw32 spec (Daniel P. Berrange),
  build: fix mingw build of gnulib openpty (Eric Blake)
- Bug Fixes:
  Fix updating of haveTheBuck in RPC client to be race-free (Daniel P. Berrange),
  Prevent crash of libvirtd when attaching to existing qemu process (Jim Fehlig),
  qemu: Ignore shutdown event from destroyed domain (Jiri Denemark),
  remote_driver: don't fail if keepalive check fails (Guido Günther),
  command: handle empty buffer argument correctly (Eric Blake),
  client: Check if other thread claims it has the buck before claiming it. (Peter Krempa),
  Avoid crash in shunloadtest (Daniel P. Berrange),
  Fix a logic error for setting block I/O (Lei Li),
  virsh: Allow other escape characters for console (Michal Privoznik),
  bridge_driver: Don't define network if XML contains more IPv4 adreses. (Peter Krempa),
  virsh: Fix possible deadlock when virsh is about to exit (Jiri Denemark),
  util: Plug memory leak on virNetDevMacVLanCreateWithVPortProfile() error path (Alex Jia),
  util: Plug memory leak on virNetDevBridgeGet() sucessful path (Alex Jia),
  uml: Plug memory leak on umlStartVMDaemon() error path (Alex Jia),
  rpc: Plug memory leak on virNetClientSendInternal() error path (Alex Jia),
  conf: Plug memory leak on virDomainDefParseXML() error path (Alex Jia),
  qemu: Plug memory leak onqemuProcessWaitForMonitor() error path (Alex Jia),
  conf: reject duplicate paths in device weights (Eric Blake),
  Make logging async signal safe wrt time stamp generation (Daniel P. Berrange),
  Don't mark suspend as active until we know it is running (Daniel P. Berrange),
  util: avoid null deref on qcowXGetBackingStore (Alex Jia),
  virsh: correct return value error (Alex Jia),
  qemu: fix blkiotune --live --config (Eric Blake),
  lxc: Fix suspend/resume with freezer cgroup (Jiri Denemark),
  rpc: Really send non-blocking calls while waiting for another call (Jiri Denemark),
  util: fix thinko in runIO (Paolo Bonzini),
  storage: Skip socket and fifo on pool-start (Michal Privoznik),
  conf: Don't drop console definition on domain restart (Michal Privoznik),
  qemu: Avoid dereference of NULL pointer (Peter Krempa),
  nwfilter: Initialize virNWFilterAddIpAddrForIfname return variable (Michal Privoznik),
  Fix disabling of virtual port profile code on old hosts (Daniel P. Berrange),
  Fix uninitialized variable in NWfilter IP learning code (Daniel P. Berrange),
  storage: Fallback to use lvchange first if lvremove fails (Chang Liu),
  conf: don't modify cpu set string during parsing (Eric Blake),
  qemu: don't release network actual device twice (Roopa Prabhu),
  tests: avoid xend ABRT crash report (Eric Blake),
  Fix use of uninitialized variable in QEMU driver (Daniel P. Berrange),
  snapshot: refuse to generate names for non-regular backing files (Eric Blake),
  fix a bug in remoteSerializeTypedParameters (Hu Tao),
  Don't return a fatal error if receiving unexpected stream data (Daniel P. Berrange),
  Fix handling of stream EOF (Daniel P. Berrange),
  storage: forbid rebuilding existing disk storage pools (Guido Günther),
  qemu: fix domjobabort regression (Eric Blake),
  fix two bugs in bridge_driver.c (Hu Tao),
  nwfilter: avoid failure with noexec /tmp (Eric Blake),
  lxc: free error object to avoid memory leak (Alex Jia),
  lxc: free 'ttyFDs' array on return from lxcVmStart (Alex Jia)
- Improvements:
  npiv: Expose fabric_name outside (Osier Yang),
  Improve error reporting when libvirtd is not installed (Daniel P. Berrange),
  spec: fix sanlock dependency (Eric Blake),
  spec: add dmidecode as prereq (Eric Blake),
  examples: Update event tests for shutdown event (Jiri Denemark),
  qemu: Rework handling of shutdown event (Jiri Denemark),
  python: Expose binding for virNodeGetMemoryStats() (Peter Krempa),
  python: Expose binding for virNodeGetCPUStats() (Peter Krempa),
  build: require more tools from maintainers (Eric Blake),
  apparmor: allow tunnelled migrations. (Serge Hallyn),
  Update of filters to handle multiple IP addresses (Stefan Berger),
  build: update to latest gnulib (Eric Blake),
  build: properly skip tests (Eric Blake),
  spec: mark directories in /var/run as ghosts (Eric Blake),
  qemu: filter blkio 0-device-weight at two other places (Hu Tao),
  qemu: amend existing table of device weights (Eric Blake),
  virsh: fix setting weight and device-weights at the same time (Hu Tao),
  Add tests for blkdeviotune (Lei Li),
  Support virDomain{Set, Get}BlockIoTune in the python API (Lei Li),
  Enable the blkdeviotune command in virsh (Lei Li),
  Implement virDomain{Set, Get}BlockIoTune for the qemu driver (Lei Li),
  Support block I/O throttle in XML (Lei Li),
  Add virDomain{Set, Get}BlockIoTune support to the remote driver (Lei Li),
  Fix leak build config file path (Daniel P. Berrange),
  Add internal APIs for dealing with time (Daniel P. Berrange),
  Remove obsolete virGetPMCapabilities sym from private symbols file (Daniel P. Berrange),
  Add suspend info to Xen, LXC and UML hypervisor capabilities (Daniel P. Berrange),
  Remove pointless strdup in node suspend code (Daniel P. Berrange),
  Do lazy init of host PM features (Daniel P. Berrange),
  Remove powerMgmt_valid field from capabilities struct (Daniel P. Berrange),
  Add export of node suspend capabilities APIs (Daniel P. Berrange),
  Move suspend capabilities APIs out of util.h into virnodesuspend.c (Daniel P. Berrange),
  Rename suspend capabilities APIs (Daniel P. Berrange),
  Sanitize virDiscoverHostPMFeature to return a boolean (Daniel P. Berrange),
  Move the virHostPMCapability enum helpers into capabilities.c (Daniel P. Berrange),
  Fix capabilities XML to use generic terms for suspend targets (Daniel P. Berrange),
  Remove internal only virHostPMCapability enum (Daniel P. Berrange),
  Fix values of PM target type constants (Daniel P. Berrange),
  blkiotune: add qemu support for blkiotune.device_weight (Hu Tao),
  blkiotune: add interface for blkiotune.device_weight (Hu Tao),
  qemu, lxc: drop redundant checks (Eric Blake),
  API: prevent query of --live and --config at once (Eric Blake),
  build: fix typo in last patch (Eric Blake),
  block_resize: Update test file for RPC (Osier Yang),
  block_resize: Expose the new API to virsh (Osier Yang),
  block_resize: Implement qemu driver method (Osier Yang),
  block_resize: Implement qemu monitor functions (Osier Yang),
  block_resize: Wire up the remote protocol (Osier Yang),
  examples: Correct the example command to use testnode.xml (Osier Yang),
  Add virsh command to initiate suspend on the host (Srivatsa S. Bhat),
  Implement the core API to suspend/resume the host (Srivatsa S. Bhat),
  Add the remote protocol implementation for virNodeSuspendForDuration (Srivatsa S. Bhat),
  Add 'Hybrid-Suspend' power management discovery for the host (Srivatsa S. Bhat),
  virsh: Don't traverse childless nodes in vshNodeIsSuperset (Michal Privoznik),
  conf: make virt-xml-validate work with vbox domains (Lorin Hochstein),
  conf: Improve incorrect root element error messages (Michal Privoznik),
  Refactor initial LXC mem tune / device ACL code (Daniel P. Berrange),
  Add support for blkio tuning of LXC containers (Daniel P. Berrange),
  Add support for CPU quota/period to LXC driver (Daniel P. Berrange),
  Support CPU placement in LXC driver (Daniel P. Berrange),
  Support NUMA memory placement for LXC containers (Daniel P. Berrange),
  storage: Refetch file status after open (Michal Privoznik),
  Fix version numbers for isAlive and setKeepAlive driver APIs (Jiri Denemark),
  build: Properly generate and check virkeepaliveprotocol-structs (Jiri Denemark),
  examples: Use virConnectOpenAuth in events-c (Jiri Denemark),
  qemu: Cancel p2p migration when connection breaks (Jiri Denemark),
  qemu: Add support for keepalive messages during p2p migration (Jiri Denemark),
  Add keepalive support into domain-events examples (Jiri Denemark),
  Implement virConnectIsAlive in all drivers (Jiri Denemark),
  Introduce virConnectIsAlive API (Jiri Denemark),
  Implement keepalive protocol in remote driver (Jiri Denemark),
  Add support for async close of client RPC socket (Jiri Denemark),
  Implement keepalive protocol in libvirt daemon (Jiri Denemark),
  virsh: Always run event loop (Jiri Denemark),
  Introduce virConnectSetKeepAlive (Jiri Denemark),
  Implement common keepalive handling (Jiri Denemark),
  rpc: Add some debug messages to virNetClient (Jiri Denemark),
  rpc: Fix handling of non-blocking calls that could not be sent (Jiri Denemark),
  rpc: Pass the buck only to the first available thread (Jiri Denemark),
  nwfilter: remove virConnectPtr from internal API calls (Stefan Berger),
  API: prefer 'disk' over 'block' or 'path' (Eric Blake),
  blockstats: support lookup by path in blockstats (Eric Blake),
  virsh: Increase device-detach intelligence (Michal Prívozník),
  Enable detection of multiple IP addresses (Stefan Berger),
  fix error message when using wrong URI alias (Eli Qiao),
  Pass additional parameter into applyDHCPOnly function (Stefan Berger),
  nwfilter: use shell variable to invoke 'ip(6)tables' command (Stefan Berger),
  nwfilter: use shell variable to invoke 'ebtables' command (Stefan Berger),
  Improve error reporting of failures to apply filtering rules (Stefan Berger),
  Add documentation for STP filtering support (Stefan Berger),
  Add test cases for STP traffic filtering (Stefan Berger),
  Add a 'mac' chain (Stefan Berger),
  Add strings.h include to capabilities.h for ffs() function prototype (Daniel P. Berrange),
  build: Update AUTHORS (Osier Yang),
  Export KVM Host Power Management capabilities (Srivatsa S. Bhat),
  qemu: Copy console definition from serial (Michal Privoznik),
  storage: Skips backingStore of virtual snapshot lv (Osier Yang),
  Add documentation for VLAN filtering support (Stefan Berger),
  Add test cases for VLAN traffic filtering (Stefan Berger),
  Don't copy sexpr node value that is an empty string (Jim Fehlig),
  enable cgroup cpuset by default (Hu Tao),
  tests: test recent hash addition (Eric Blake),
  Add test cases for parsing of list values (Stefan Berger),
  Extend NWFilter parameter parser to cope with lists of values (Stefan Berger),
  Create rules for each member of a list (Stefan Berger),
  Rework value part of name-value pairs (Stefan Berger),
  Add test cases (Stefan Berger),
  Interleave jumping into chains with filtering rules in 'root' table (Stefan Berger),
  Extend rule priorities into negative numbers (Stefan Berger),
  Enable chains with names having a known prefix (Stefan Berger),
  Extend the filter XML to support priorities of chains (Stefan Berger),
  Use the actual names of chains in data structure (Stefan Berger),
  Use scripting for cleaning and renaming of chains (Stefan Berger),
  Make filter creation in root table more flexible (Stefan Berger),
  Introduce an internal priority for chains (Stefan Berger),
  Add function to get hash table's key/value pairs (Stefan Berger),
  Add support for systemd init service (Daniel P. Berrange),
  Add support for interfaces with type=direct to LXC (Daniel P. Berrange),
  Allow creation of plain macvlan devices (Daniel P. Berrange),
  Refactor LXC network setup to allow future enhancements (Daniel P. Berrange),
  Add missing 'const' annotations for internal domain conf helpers (Daniel P. Berrange),
  qemu: Generate -numa option (Bharata B Rao),
  XML definitions for guest NUMA and parsing routines (Bharata B Rao),
  virsh: add iface-bridge and iface-unbridge commands (Laine Stump),
  Allow non-blocking message sending on virNetClient (Daniel P. Berrange),
  Refactor code for enabling/disabling I/O callback in remote client (Daniel P. Berrange),
  Split virNetClientSend into 2 methods (Daniel P. Berrange),
  Refactor code for passing the buck in the remote client (Daniel P. Berrange),
  Explicitly track whether the buck is held in remote client (Daniel P. Berrange),
  Remove all linked list handling from remote client event loop (Daniel P. Berrange),
  util: Add netdev helper functions to private symbols (Eli Qiao),
  qemu/rbd: improve rbd device specification (Sage Weil),
  maint: fix build (Stefan Berger),
  Fix error reporting in port profile parsing/formatting APIs (Daniel P. Berrange),
  API: add trivial qemu support for VIR_TYPED_PARAM_STRING (Eric Blake),
  API: remote support for VIR_TYPED_PARAM_STRING (Eric Blake),
  API: add VIR_TYPED_PARAM_STRING (Eric Blake),
  maint: use mailmap, not AUTHORS, for secondary addresses (Eric Blake),
  maint: fix make syntax-check (Stefan Berger),
  nwfilter: simplify execution of ebiptables scripts (Eric Blake),
  Remove usage of brctl command line tool (Daniel P. Berrange),
  Add an API for retrieving the MAC address of an interface (Daniel P. Berrange),
  Expose MTU management APIs (Daniel P. Berrange),
  Turn two int parameters into bools in bridge APIs (Daniel P. Berrange),
  Make all brXXX APIs raise errors, instead of returning errnos (Daniel P. Berrange),
  build: allow for local gnulib diffs (Eric Blake),
  qemu: Fix improper error message for disk detaching (Osier Yang),
  virsh: Add VSH_OFLAG_EMPTY_OK for attach-disk command (Xu He Jie)
- Cleanups:
  Remove time APIs from src/util/util.h (Daniel P. Berrange),
  bandwidth: Fix funky identation (Michal Privoznik),
  qemu: fix a const-correctness issue (Eric Blake),
  build: fix accidental POTFILES.in regression (Eric Blake),
  Fix up ordering of private symbols file (Daniel P. Berrange),
  Move ifaceMacvtapLinkDump and ifaceGetNthParent functions (Daniel P. Berrange),
  Move functions for dealing with physical/virtual devices (Daniel P. Berrange),
  Rename APIs for dealing with virtual/physical functions (Daniel P. Berrange),
  Move virNetDevValidateConfig to virnetdev.c (Daniel P. Berrange),
  Rename ifaceCheck to virNetDevValidateConfig (Daniel P. Berrange),
  Move virNetDevGetIPv4Address to virnetdev.c (Daniel P. Berrange),
  Rename ifaceGetIPAddress to virNetDevGetIPv4Address (Daniel P. Berrange),
  Move virNetDevGetIndex & virNetDevGetVLanID to virnetdev.c (Daniel P. Berrange),
  Rename ifaceGetIndex and ifaceGetVLAN (Daniel P. Berrange),
  Move MAC address replacement functions to virnetdev.c (Daniel P. Berrange),
  Rename interface MAC address replacement APIs (Daniel P. Berrange),
  Move the low level macvlan creation APIs (Daniel P. Berrange),
  Rename low level macvlan creation APIs (Daniel P. Berrange),
  Rename high level macvlan creation APIs (Daniel P. Berrange),
  Rename and split the macvtap.c file (Daniel P. Berrange),
  Rename Macvtap management APIs (Daniel P. Berrange),
  Remove ifaceSetMac and ifaceGetMac APIs (Daniel P. Berrange),
  Remove ifaceUp, ifaceDown, ifaceCtrl & ifaceIsUp APIs (Daniel P. Berrange),
  Move LXC veth.c code into shared utility APIs (Daniel P. Berrange),
  Rename the LXC veth management APIs and delete duplicated APIs (Daniel P. Berrange),
  Split src/util/network.{c,h} into 5 pieces (Daniel P. Berrange),
  Rename virVirtualPortProfileParams & APIs (Daniel P. Berrange),
  build: drop useless dirent.h includes (Eric Blake),
  xenapi: remove unused variable (Eric Blake),
  Remove code instantiating filters on direct interfaces (Stefan Berger),
  Adjust naming of network device bandwidth management APIs (Daniel P. Berrange),
  Santize naming of socket address APIs (Daniel P. Berrange),
  Split bridge.h into three separate files (Daniel P. Berrange),
  Rename all brXXXX APIs to follow new convention (Daniel P. Berrange),
  Remove 'brControl' object (Daniel P. Berrange)

### 0.9.7: Nov 8 2011

- Features:
  esx: support vSphere 5.x (Patrice LACHANCE),
  vbox: support for VirtualBox 4.1 (Matthias Bolte),
  Introduce the virDomainOpenGraphics API (Daniel P. Berrange),
  Add AHCI support to qemu driver (Jim Fehlig),
  snapshot: many improvements and 2 new APIs (Eric Blake),
  api: Add public api for 'reset' (Xu He Jie)
- Documentation:
  Add <deviceboot> capability. (Philipp Hahn),
  API: document scheduler parameter names (Eric Blake),
  improve typed parameter documentation (Eric Blake),
  fix typo in <disk>/<target> example (Eric Blake),
  python: Fix documentation of virStream recv (Matthias Bolte),
  Add documentation about migration. (Daniel P. Berrange),
  Document filesystem type='block' for LXC (Ryota Ozaki),
  fix incorrect info about routed networks (Laine Stump),
  document managed=yes of hostdev passthrough (Eric Blake),
  trivial spelling fix (Philipp Hahn),
  Fix virt-sanlock-cleanup documentation (Philipp Hahn),
  Fix two comments related to error handling (Philipp Hahn),
  fix network XML documentation (Laine Stump),
  Clarify semantics of virDomainMigrate2 (Jiri Denemark),
  Update examples for probing with systemtap (Daniel P. Berrange),
  fix html bug (Eric Blake),
  virsh: Update the help information for undefine command. (tangchen),
  Document STREQ_NULLABLE and STRNEQ_NULLABLE (Guido Günther),
  Document that ff callbacks need to be invoked from a clean stack. (Guido Günther),
  formatdomain.html.in: fix tickpolicy (Douglas Schilling Landgraf),
  virsh: describe attach-interface parameter target (Daniel Veillard),
  virsh: update man page for cpu_shares parameter (Daniel Veillard),
  document node device XML (Eric Blake),
  document virsh nodedev-* commands (Eric Blake),
  snapshot: fix man page typos (Eric Blake),
  virsh: Better document --copy-storage migrate options (Jiri Denemark),
  virsh: Enhance documentation of commands starting jobs (Jiri Denemark),
  virsh: Improve virsh manual for virsh memtune command (Peter Krempa)
- Portability:
  build: fix build on platforms without ptsname_r (Eric Blake),
  build: silence compiler warning on BSD (Eric Blake),
  build: fix linking on BSD (Eric Blake),
  remote: fix mingw32 build (Laine Stump),
  build: fix deep VPATH builds (Eric Blake),
  Use ENAMETOOLONG if the socket path is longer than UNIX_PATH_MAX (Guido Günther),
  build: avoid RHEL 5 build failure on LXC (Eric Blake),
  build: use gnulib fdatasync (Eric Blake),
  Fix virFileOpenTty definition on Win32 (Daniel P. Berrange),
  compile: fix undefined reference to gnutls_x509_crt_get_dn with gcc-4.6.1 (Xu He Jie),
  Fix VPATH build (Jiri Denemark),
  build: fix 'make dist' error (Wen Congyang),
  Fix syntax problem in mingw32-libvirt.spec.in (Daniel P. Berrange),
  spec: mingw cleanups (Eric Blake),
  build: fix mingw build without sasl (Eric Blake),
  build: fix 'make rpm' (Eric Blake),
  build: fix 'make distcheck' (Eric Blake),
  disable xenlight for non-Xen platforms (Dan Horák),
  build: Fix VPATH build with new probes (Jiri Denemark),
  build: fix 'make distcheck' with pdwtags installed (Eric Blake),
  spec: F15 still uses cgconfig, RHEL lacks hyperv (Eric Blake)
- Bug Fixes:
  Fix sending/receiving of FDs when stream returns EAGAIN (Daniel P. Berrange),
  lxc: avoid use-after-free (Eric Blake),
  conf: Don't free uninitialized pointer (Jiri Denemark),
  Fix default console type setting (Daniel P. Berrange),
  Fix crash formatting virtio console (Daniel P. Berrange),
  Fix off-by-one printing month in logging code (Daniel P. Berrange),
  Add missing param initialization in qemuDomainBlockStatsFlags (Daniel P. Berrange),
  fix crash when starting network (Wen Congyang),
  Don't overwrite error message during VM cleanup (Daniel P. Berrange),
  Correctly handle '*' in /etc/filesystems (Daniel P. Berrange),
  Fix URI alias prefix matching (Wen Ruo Lv),
  ServerClient: Flush cached data (Michal Privoznik),
  Fix storage pool source comparison to avoid comparing with self (Daniel P. Berrange),
  qemu: plug memory leak (Alex Jia),
  qemu: Restore the original states of PCI device when restarting daemon (Osier Yang),
  macvtap: Fix error return value convention/inconsistencies (Roopa Prabhu),
  pci address conflict when virtio disk with drive type (Xu He Jie),
  qemu: plug memory leak (Alex Jia),
  qemu: avoid leaking uninit data from hotplug to dumpxml (Eric Blake),
  util: Fix virUUIDGeneratePseudoRandomBytes (Ryota Ozaki),
  lxc: Revert zeroing count of allocated items if VIR_REALLOC_N fails (Peter Krempa),
  lxc: avoid null deref on lxcSetupLoopDevices failure (Alex Jia),
  lxc: avoid missing '{' in the function (Alex Jia),
  storage: avoid null deref on qemu-img failure (Eric Blake),
  storage: make previous leak less likely to regress (Eric Blake),
  storage: plug iscsi memory leak (Eric Blake),
  qemu: avoid leaking uninit data from hotplug to dumpxml (Eric Blake),
  qemu: Do not wait if the PCI device is not managed when reattaching (Osier Yang),
  Add missing strdup return value check (Roopa Prabhu),
  macvtap: avoid invalid free (Roopa Prabhu),
  util: Fix typo in virGetHostname description (Jiri Denemark),
  macvtap: plug memory leak for 802.1Qbh (Eric Blake),
  qemu: plug memory leak on migration (Eric Blake),
  conf: plug memory leak on error (Eric Blake),
  storage: plug memory leak on error (Eric Blake),
  util: Make getaddrinfo failure nonfatal in virGetHostname (Jiri Denemark),
  qemu: fix text block info parsing (Eric Blake),
  qemu: avoid text monitor null deref (Eric Blake),
  qemu: check for json allocation failure (Eric Blake),
  virFDStream: close also given errfd (fd leak) (Marc-André Lureau),
  command: avoid fd leak on failure (Eric Blake),
  qemu: Check for domain being active on successful job acquire (Michal Privoznik),
  xen: Return tap2 for tap2 disks (Philipp Hahn),
  xen: fix PyGrub boot device order (Philipp Hahn),
  build: fix 'make check' linkage with dtrace (Eric Blake),
  Fix deps for probes.o to ensure correct build ordering (Daniel P. Berrange),
  If receiving a stream error, mark EOF on the stream (Daniel P. Berrange),
  xen_xs: Guard against set but empty kernel argument (Guido Günther),
  snapshot: avoid accidental renames with snapshot-edit (Eric Blake),
  storage: Do not use comma as seperator for lvs output (Osier Yang),
  qemuDomainAttach: Initialize pidfile variable (Michal Privoznik),
  lxc: fix logic bug (Eric Blake),
  Don't send back unknown program errors for async messages (Daniel P. Berrange),
  Fix deadlock when the RPC program is unknown (Daniel P. Berrange),
  remote_driver: Avoid double free in EventControl building (Michal Privoznik),
  xenParseXM: don't dereference NULL pointer when script is empty (Guido Günther),
  qemu: Fix migration with dname (Jiri Denemark),
  virsh: do not unlink NULL file (Marc-André Lureau),
  qemu: Fix error message mentioning VNC instead of SPICE (Peter Krempa),
  qemu: Check for ejected media during startup and migration (Michal Privoznik),
  qemu: add return value check (Alex Jia),
  qemu: Always remove domain object if MigratePrepare fails (Jiri Denemark),
  fix AppArmor driver for pipe character devices (Jamie Strandboge),
  daemon: Don't remove pidfiles in init scripts (Peter Krempa),
  storage: Do not break the whole vol lookup process in the middle (Osier Yang),
  Fix synchronous reading of stream data (Daniel P. Berrange)
- Improvements:
  Add missing defaultConsoleTargetType callback for AppArmour (Daniel P. Berrange),
  Fix naming of constant for disk event (Daniel P. Berrange),
  lxc: use common code for process cleanup (Eric Blake),
  Set aliases for LXC/UML console devices (Daniel P. Berrange),
  Default console target type with no <target> element (Daniel P. Berrange),
  Add support for multiple consoles in LXC (Daniel P. Berrange),
  Rewrite LXC I/O forwarding to use main event loop (Daniel P. Berrange),
  Allow multiple consoles per virtual guest (Daniel P. Berrange),
  virnetsockettest: Use a temporary directory in /tmp (Guido Günther),
  xen: allow getting < max typed parameters (Eric Blake),
  lxc: allow getting < max typed parameters (Eric Blake),
  libxl: allow getting < max typed parameters (Eric Blake),
  esx: allow getting < max typed parameters (Eric Blake),
  qemu: allow getting < max typed parameters (Eric Blake),
  Add support for probing filesystem with libblkid (Daniel P. Berrange),
  Fix error message when failing to detect filesystem (Daniel P. Berrange),
  Workaround for broken kernel autofs mounts (Daniel P. Berrange),
  Ensure errno is valid when returning from lxcContainerWaitForContinue (Daniel P. Berrange),
  Create /var/lib/libvirt/filesystems for LXC trees (Daniel P. Berrange),
  esx: Support folders in the path of vpx:// connection URIs (Matthias Bolte),
  qemu: pass virConnectPtr into Domain{Attach,Detach}* (Sage Weil),
  vbox: Support shared folders (Matthias Bolte),
  xenapi: Improve error reporting in xenapiOpen once again (Matthias Bolte),
  Use a common xml type for ceph secret usage. (Josh Durgin),
  storage: add auth to virDomainDiskDef (Josh Durgin),
  secret: add Ceph secret type (Sage Weil),
  Implement RPC driver support for virDomainOpenGraphics (Daniel P. Berrange),
  Extend RPC server to allow FD passing (Daniel P. Berrange),
  Add client side support for FD passing (Daniel P. Berrange),
  Extend RPC protocol to allow FD passing (Daniel P. Berrange),
  Add APIs for virNetSocket for sending/receiving file descriptors (Daniel P. Berrange),
  Wire up QEMU implementation for virDomainOpenGraphics (Daniel P. Berrange),
  Extend graphics event to include UNIX socket (Daniel P. Berrange),
  virsh: Fix error message on vol-create-from failure (Ryota Ozaki),
  bridge: modify for use when sVirt is enabled with qemu (Tyler Coumbes),
  Use virXMLSaveFile when writing XML config (Jiri Denemark),
  Introduce virXMLSaveFile as a wrapper for virFileRewrite (Jiri Denemark),
  Introduce virFileRewrite for safe file rewrite (Jiri Denemark),
  Add a systemtap script for watching QEMU monitor interactions (Daniel P. Berrange),
  qemu: simplify use of HAVE_YAJL (Eric Blake),
  snapshot: simplify indentation of disk encryption xml (Eric Blake),
  snapshot: simplify indentation of nwfilter (Eric Blake),
  Add REMOTE_PROC_DOMAIN_EVENT_DISK_CHANGE to remote_protocol-structs (Daniel P. Berrange),
  nwfilter: extend schema to support new targets (Stefan Berger),
  util: Add virFileAccessibleAs to private symbols (Michal Privoznik),
  startupPolicy: Emit event on disk source dropping (Michal Privoznik),
  qemu: implement startupPolicy (Michal Privoznik),
  qemu: Move device alias assigning before command line construction (Michal Privoznik),
  util: Create virFileAccessibleAs function (Michal Privoznik),
  conf: Introduce optional startupPolicy attribute for cdrom and floppy (Michal Privoznik),
  waitpid: improve safety (Eric Blake),
  virsh: Fix vol-info's 'Type' output (Ryota Ozaki),
  support continue/return targets in nwfilter (David L Stevens),
  snapshot: simplify indentation of network xml (Eric Blake),
  snapshot: simplify indentation of cpu features (Eric Blake),
  snapshot: simplify indentation of sysinfo (Eric Blake),
  snapshot: test domainsnapshot indentation (Eric Blake),
  snapshot: indent domain xml when nesting (Eric Blake),
  virbuf: add auto-indentation support (Eric Blake),
  virbuf: more detailed error reporting (Eric Blake),
  virbuf: improve testsuite reporting (Eric Blake),
  virbuf: fix const-correctness (Eric Blake),
  qemu: allow json in domxml-to-native (tangchen),
  support setting bandwidth from virsh attach-interface (Hu Tao),
  lxc: use hand-rolled code in place of unlockpt and grantpt (Serge E. Hallyn),
  qemu: Test name-space handling (Philipp Hahn),
  qemu: Fix name-space handling (Philipp Hahn),
  Replace virBufferAdd with virBufferAddLit for const string (Daniel P. Berrange),
  Allow for URI aliases when connecting to libvirt (Daniel P. Berrange),
  Add support for autodestroy of guests to the LXC and UML drivers (Daniel P. Berrange),
  Use virBufferEscapeShell in cmdEcho (Guido Günther),
  qemu: replace qemuMonitorEscapeShell by virBufferEscapeShell (Guido Günther),
  virBufferEscapeShell: Emit quotes for the empty string (Guido Günther),
  snapshot: detect when qemu lacks disk-snapshot support (Eric Blake),
  virBufferEscapeShell: Fix escaping of single quotes. (Guido Günther),
  compile: Add a missing function 'pciDeviceListFind' to libvirt_private.syms (Xu He Jie),
  snapshot: implement LIST_LEAVES flag in esx (Eric Blake),
  qemu: Relax -no-shutdown check to [0.14.0, 0.15.0] (Jiri Denemark),
  qemu: Honor the orginal PCI dev properties when reattaching (Osier Yang),
  qemu: Do not reattach PCI device used by other domain when shutdown (Osier Yang),
  Xen: Fake versions in xencapstest (Philipp Hahn),
  Xen: move versions to struct (Philipp Hahn),
  Use virBufferEscapeShell in virNetSocketNewConnectSSH (Guido Günther),
  Add virBufferEscapeShell (Guido Günther),
  Autodetect if the remote nc command supports the -q option (Guido Günther),
  qemu: Make sure BeginJob is always followed by EndJob (Jiri Denemark),
  qemu: Log debug messages when changing job (Jiri Denemark),
  build: add compiler attributes to virUUIDParse (Eric Blake),
  Fix typo in lxc_controller (Serge E. Hallyn),
  build: update to latest gnulib (Eric Blake),
  events: Propose a separate lock for event queue (Michal Privoznik),
  qemu: Implement VIR_DUMP_RESET (Michal Privoznik),
  virDomainCoreDump: Introduce VIR_DUMP_RESET flag (Michal Privoznik),
  example: Support debug output and loop switch (Philipp Hahn),
  example: Redirect --help output to stdout/stderr (Philipp Hahn),
  example: Fix argument handling (Philipp Hahn),
  snapshot: implement LIST_LEAVES flag in qemu (Eric Blake),
  snapshot: add API for filtering by leaves (Eric Blake),
  tests: Add support for skipping tests (Philipp Hahn),
  Introduce <driver> under <filesystem> to support open-by-handle (Harsh Prateek Bora),
  buf: implement generic virBufferEscape (Sage Weil),
  daemon: Always advertise libvirtd service (Osier Yang),
  snapshot: take advantage of new relations (Eric Blake),
  snapshot: track qemu snapshot relations (Eric Blake),
  snapshot: framework for more efficient relation traversal (Eric Blake),
  snapshot: use correct qmp monitor command (Eric Blake),
  snapshot: virsh shorthand for operating on current snap (Eric Blake),
  build: ship helper scripts (Eric Blake),
  Rewrite all the DTrace/SystemTAP probing (Daniel P. Berrange),
  Fix missing lock calls on virNetTLSContextRef (Daniel P. Berrange),
  Refactor TLS to facilitate dynamic probing (Daniel P. Berrange),
  Add virSocketRef API to facilitate dynamic probing (Daniel P. Berrange),
  Make libvirt.so include the RPC server code (Daniel P. Berrange),
  snapshot: implement snapshot children listing in esx (Eric Blake),
  snapshot: implement snapshot children listing in qemu (Eric Blake),
  snapshot: remote protocol for snapshot children (Eric Blake),
  snapshot: virsh fallback for snapshot-list --descendants --from (Eric Blake),
  snapshot: virsh fallback for snapshot-list --from children (Eric Blake),
  snapshot: virsh fallback for snapshot-list --tree --from (Eric Blake),
  snapshot: virsh snapshot-list and children (Eric Blake),
  xen: add error handling to UUID parsing (Guido Günther),
  maint: typo fixes (Eric Blake),
  snapshot: sort snapshot-list --tree (Eric Blake),
  snapshot: simplify redefinition of disk snapshot (Eric Blake),
  snapshot: let virsh edit disk snapshots (Eric Blake),
  snapshot: fix virsh error message typo (Eric Blake),
  qemu: add separate rerror_policy for disk errors (Laine Stump),
  qemu: leave rerror policy at default when enospace is requested (Laine Stump),
  qemu: enable multifunction for older qemu (Eric Blake),
  Make LXC work with new network configuration types (Daniel P. Berrange),
  init: raise default system aio limits (Eric Blake),
  maint: fix minor issues in virterror public header (Eric Blake),
  snapshot: enforce REVERT_FORCE on qemu (Eric Blake),
  snapshot: use qemu-img on disks in use at time of snapshot (Eric Blake),
  snapshot: add REVERT_FORCE to API (Eric Blake),
  snapshot: implement snapshot roots listing in vbox (Eric Blake),
  qemu: Don't fail virDomainGetInfo if we can't update balloon info (Jiri Denemark),
  snapshot: simplify esx snapshot name lookup (Eric Blake),
  snapshot: implement snapshot roots listing in esx (Eric Blake),
  qemu: correct misspelled 'enospc' option, and only use for werror (Laine Stump),
  snapshot: better virsh handling of missing current, parent (Eric Blake),
  Allow passing of command line args to LXC container (Daniel P. Berrange),
  Add support for bandwidth filtering on LXC guests (Daniel P. Berrange),
  network: fill in bandwidth from portgroup for all forward modes (Laine Stump),
  bridge_driver.c: Fix autoconf setting (Neil Wilson),
  Set to NULL members that have been freed to prevent crashes (Marc-André Lureau),
  snapshot: implement getparent for vbox (Eric Blake),
  snapshot: implement getparent for esx (Eric Blake),
  qemu: make PCI multifunction support more manual (Laine Stump),
  lvm storage backend: handle command_names=1 in lvm.conf (Serge E. Hallyn),
  qemu: Check for outstanding async job too (Michal Privoznik),
  virsh: Add 'reset' command for virsh (Xu He Jie),
  remote: Implement 'reset' for remote driver (Xu He Jie),
  qemu: Implement 'reset' for qemu driver (Xu He Jie),
  logging: Add date to log timestamp (Jiri Denemark),
  logging: Do not log timestamp through syslog (Jiri Denemark),
  hyperv: Report an error for acceptable URI schemes with a transport (Matthias Bolte),
  esx: Report an error for acceptable URI schemes with a transport (Matthias Bolte),
  snapshot: implement getparent in qemu (Eric Blake),
  snapshot: add virsh snapshot-list --tree (Eric Blake),
  snapshot: refactor virsh snapshot parent computation (Eric Blake),
  snapshot: remote protocol for getparent (Eric Blake),
  security: properly chown/label bidirectional and unidirectional fifos (Laine Stump),
  qemu: Preserve fakeReboot flag in domain status (Jiri Denemark),
  qemu: Finish domain shutdown on reconnect (Jiri Denemark),
  qemu: Check domain status details when reconnecting monitor (Jiri Denemark),
  virsh: Allow using complete <capabilities> elements with cpu-baseline (Peter Krempa),
  virsh: Allow using domain and capabilities XMLs with cpu-compare (Peter Krempa),
  qemu: add ability to set PCI device "rombar" on or off (Laine Stump),
  qemu: Relax -no-shutdown check to [0.14.0, 0.15.50) (Jiri Denemark),
  virLockManagerNopInit: Rename flags to unused_flags (Michal Privoznik),
  debug: Annotate some variables as unused (Michal Privoznik),
  maint: update authors (Peter Krempa),
  Add unsafe cache mode support for disk driver (Oskari Saarenmaa),
  selinux: Correctly report warning if virt_use_nfs not set (Michal Privoznik),
  virsh: Do not ignore the specified flags for cmdSaveImageDefine (Osier Yang),
  qemu: Transfer inactive XML among cookie (Michal Privoznik)
- Cleanups:
  Remove translations in socket test case (Daniel P. Berrange),
  test: drop redundant check (Eric Blake),
  startupPolicty: Minor cleanups (Michal Privoznik),
  secret: fix bad patch application (Eric Blake),
  Remove trailing whitespace from all xfig files (Daniel P. Berrange),
  Fix typo in virFileAccessibleAs (Daniel P. Berrange),
  snapshot: minor cleanups from reviewing indentation (Eric Blake),
  build: ignore test executable (Eric Blake),
  esx: drop dead code to silence Coverity (Eric Blake),
  snapshot: drop dead parameters (Eric Blake),
  qemu: silence Coverity false positive (Eric Blake),
  conf: remove unused VIR_ENUM_DECL (Laine Stump)

### 0.9.6: Sep 22 2011

- Portability:
  build: silence warning on 32-bit build (Eric Blake)
- Bug Fixes:
  snapshot: fix logic bug in qemu undefine (Eric Blake),
  sanlock: fix memory leak (Eric Blake),
  virsh: fix regression in argv parsing (Eric Blake),
  storage: Wait udev events are handled before removing lvm vol (Osier Yang),
  qemu: avoid dereferencing a NULL pointer (Alex Jia),
  qemu: Avoid loop of fake reboots (Jiri Denemark),
  qemu: Fix shutdown regression with buggy qemu (Jiri Denemark),
  remote: fix crash on OOM (Eric Blake)
- Improvements:
  snapshot: also delete empty directory (Eric Blake),
  snapshot: remove snapshot metadata on transient exit (Eric Blake),
  snapshot: prepare to remove transient snapshot metadata (Eric Blake),
  virsh: More friendly err if no pool is specified for looking up a vol (Osier Yang),
  tests: improve test failure diagnosis (Oskari Saarenmaa),
  API: prefer to use NULLSTR macro (Osier Yang),
  xen: use typical allocations (Eric Blake),
  virsh: Remove useless codes of cmdVolPath (Osier Yang)

### 0.9.5: Sep 20 2011

- Features:
  many snapshot improvements (Eric Blake),
  latency: Define new public API and structure (Osier Yang),
  USB2 and various USB improvements (Marc-André Lureau),
  storage: Add fs pool formatting (Osier Yang),
  Add public API for getting migration speed (Jim Fehlig),
  Add basic driver for Microsoft Hyper-V (Matthias Bolte)
- Documentation:
  virsh: tweak previous domblkstat patch (Eric Blake),
  virsh: doc: Fix supported driver types for attach-disk command (Peter Krempa),
  doc: Add statment about permissions needed to do a core dump (Peter Krempa),
  snapshot: tweak snapshot-create-as diskspec docs (Eric Blake),
  qemu_api: doc improvements (Eric Blake),
  virsh: Fix command name in man page (Peter Krempa),
  fix incorrect option in send-key (Alex Jia),
  virsh: improve send-key documentation (Eric Blake),
  hyperv: Add basic documentation (Matthias Bolte),
  schedinfo: update man page about virsh schedinfo command (Taku Izumi),
  virsh: Clarify documentation of -d option (Jiri Denemark),
  schedinfo: add missing documentation (Taku Izumi),
  Improve tokenizing of linkable terms (Philipp Hahn),
  Add some docs about the RPC protocol and APIs (Daniel P. Berrange),
  Align table cells on top (Philipp Hahn),
  use IPv6 addresses in range reserved for documentation (Laine Stump),
  describe new virtual switch configuration in network XML docs (Laine Stump)
- Portability:
  Update to require sanlock 1.8 for license compliance (Daniel P. Berrange),
  build: work around lack of MacOS fdatasync (Eric Blake),
  python: Fix bindings generated in VPATH build (Jiri Denemark),
  build: storage: Macro 'MKFS' is undefined on some platforms. (Peter Krempa),
  build: storage: Conditionaly compiled structure caused build fail on OSX (Peter Krempa),
  Avoid using "devname" as an identifier. (Peter Krempa),
  mingw: Don't use interface as an identifier (Matthias Bolte),
  esx: Use $(PYTHON) instead of the shebang to run the generator (Matthias Bolte),
  build: work around older systemtap header (Eric Blake),
  build: fix compilation on mingw64 (Eric Blake),
  build: fix virnetsocket on mingw (Eric Blake),
  build: fix virpidfile on mingw (Eric Blake),
  maint: fix some compilation issues on non-linux platforms (part 2) (Stefan Berger),
  maint: fix some compilation issues on non-linux platforms (Stefan Berger),
  Fix detection of GnuTLS 1.x.y (Matthias Bolte)
- Bug Fixes:
  Fix crash on events due to allocation errors (Daniel Veillard),
  conf: Assign newDef of active domain as persistent conf if it is NULL (Osier Yang),
  storage: Ensure the device path exists before refreshing disk pool (Osier Yang),
  daemon: Error and exit if specified value for timeout is not valid (Osier Yang),
  vmx: avoid memory leak (ajia@redhat.com),
  util: avoid memory leak (ajia@redhat.com),
  remote: avoid memory leak (ajia@redhat.com),
  qemu: avoid memory leak (ajia@redhat.com),
  daemon: avoid memory leak (ajia@redhat.com),
  Prevent crash from dlclose() of libvirt.so (Daniel P. Berrange),
  qemu: add return value check (Alex Jia),
  Avoid crash on restart if running guest has filterref (Stefan Berger),
  conf: avoid memory leak on virDomainDefParseXML (Alex Jia),
  Fix build after commit 829bce17 (Jim Fehlig),
  conf: add missing break in virDomainAuditRedirdev (Marc-André Lureau),
  snapshot: ABI stability must include memory sizing (Eric Blake),
  make: Fix 'make syntax-check' failing. (Peter Krempa),
  snapshot: fix double free of qemuImgBinary (Guannan Ren),
  virnetsocket: Pass KRB5CCNAME env variable (Michal Privoznik),
  Fix URL-escaping for domainDefine (Philipp Hahn),
  snapshot: fix regression with system checkpoints (Eric Blake),
  Don't treat pci_system_init failure as fatal if no PCI bus is present (Soren Hansen),
  rpc: avoid memory leak on virNetTLSContextValidCertificate (Alex Jia),
  tests: avoid memory leak on testTLSSessionInit (Alex Jia),
  libxl: avoid a dereference of a null pointer (Alex Jia),
  blockinfo: fix qemu regression in handling disk name (Eric Blake),
  esx: Fix managed object lookup with optional occurrence (Matthias Bolte),
  Threadpool: Initialize new dynamic workers (Michal Privoznik),
  Default USB device is on slot 1 function 2 (Marc-André Lureau),
  Fix localtime handling for Xen-PV domains (Philipp Hahn),
  snapshot: fix corner case on OOM during creation (Eric Blake),
  API: Init conn in case of it might be used uninitialized (Osier Yang),
  qemu: detect incomplete save files (Eric Blake),
  reserve slot 1 on pci bus0 (Wen Congyang),
  libvirtd: create run dir when running at non-root user (Xu He Jie),
  Don't overwrite errors from xend_{get,req} (Jim Fehlig),
  virsh: avoid memory leak on cmdVolCreateAs (Alex Jia),
  Fix tracking of RPC messages wrt streams (Daniel P. Berrange),
  Avoid use-after-free on streams, due to message callbacks (Daniel P. Berrange),
  Fix parted sector size assumption (Daniel P. Berrange),
  qemu: Fix a regression of domain save (Osier Yang),
  lxc: Fix incorrect changes on error codes. (Osier Yang),
  Stop libxl driver polluting logs on non-Xen hosts (Daniel P. Berrange),
  Fix memory leak parsing 'relabel' attribute in domain security XML (Daniel P. Berrange),
  Fix memory leak dispatching domain events (Daniel P. Berrange),
  Don't leak memory if a cgroup is mounted multiple times (Daniel P. Berrange),
  stream: remove redundant reference to client while sending stream data (Guannan Ren),
  Fix sanlock socket security labelling (Daniel P. Berrange),
  Fix incorrect path length check in sanlock lockspace setup (Daniel P. Berrange),
  snapshot: forbid snapshot on autodestroy domain (Eric Blake),
  Fix error detection in device change (Philipp Hahn),
  qemu: properly label outgoing pipe for tunneled migration (Eric Blake),
  Fix persistent migration config save (KAMEZAWA Hiroyuki),
  rpc: Don't close connection if program is unknown (Jiri Denemark),
  remote: Refuse connecting to remote socket (Michal Privoznik),
  Detect errors from the 'sendkey' command (Daniel P. Berrange),
  qemu: Correctly label migration TCP socket (Jiri Denemark),
  Do not try to cancel non-existent migration on source (Jiri Denemark),
  snapshot: don't leak resources on qemu snapshot failure (Eric Blake),
  Fix command test wrt gnutls initialize & fix debugging (Daniel P. Berrange),
  daemon: Move TLS initialization to virInitialize (Michal Privoznik),
  util: only fchown newly created files in virFileOpenAs (Laine Stump),
  qemu: fix off-by-one in pci slot reservation (Shradha Shah),
  pci: fix pciDeviceListSteal on multiple devices (Shradha Shah),
  qemu: Report error if qemu monitor command not found for BlockJob (Osier Yang),
  send-key: fix scan keycode map (KAMEZAWA Hiroyuki),
  storage: Flush host cache after write (Michal Privoznik),
  daemon: initialize GnuTLS (Michal Privoznik),
  Ensure async packets never get marked for sync replies (Daniel P. Berrange),
  Don't attempt to read from a stream if it is closed (Daniel P. Berrange),
  qemu: Init reattaching related members of pciDevice before reattach (Osier Yang),
  Fix race condition in abort of stream (Daniel P. Berrange),
  Ensure client streams are closed when marking a client for close (Daniel P. Berrange),
  Ensure stream is aborted when exiting console (Daniel P. Berrange),
  daemon: Add early libvirtd start verbose errors. (Peter Krempa),
  qemu: error message should show uri instead of (null) (Peter Krempa),
  libvirtd.init.in: stop/restart() wrong return value in case of failure (Douglas Schilling Landgraf),
  daemon: Fix regression of libvirtd reloading support (Osier Yang),
  virsh: fix logic bug (Eric Blake),
  storage: Directory shouldn't be listed as type 'file' (Peter Krempa),
  network: eliminate potential memory leak on parse failure (Laine Stump),
  nwfilter: tolerate disappearing interfaces while instantiating filter (Stefan Berger),
  qemu: Fix -chardev udp if parameters are omitted (Cole Robinson),
  managedsave: prohibit use on transient domains (Eric Blake),
  Check stdoutWatch before removing the handler. (Juerg Haefliger),
  Fix memory leak while scanning snapshots (Philipp Hahn),
  build: fix regression in large file support (Eric Blake),
  Don't mount /dev for application containers (Daniel P. Berrange),
  qemu: avoid crash on process attach (Eric Blake),
  rpc:fix sasl session relocking intead of unlocking it (Guannan Ren),
  daemon: Unlink unix socket paths on shutdown (Osier Yang)
- Improvements:
  Remove devname identifier from autogenerated RPC code (Peter Krempa),
  maint: Prefer names over email in 'git shortlog' (Eric Blake),
  virsh: Add more human-friendly output of domblkstat command (Peter Krempa),
  spec: silence warnings when installing in F16 (Eric Blake),
  snapshot: allow disk snapshots of qcow2 disks (Eric Blake),
  snapshot: affect persistent xml after disk snapshot (Eric Blake),
  qemu: Introduce shutdown reason for paused state (Jiri Denemark),
  qemu: Prevent disk corruption on domain shutdown (Jiri Denemark),
  qemu: Properly detect crash of a rebooted domain (Jiri Denemark),
  qemu: Fix shutoff reason when domain crashes (Jiri Denemark),
  rpc: convert unknown procedures to VIR_ERR_NO_SUPPORT (Eric Blake),
  python: Fix libvirt.py generation to include virterror info (Cole Robinson),
  sanlock: add missing test command in virt-sanlock-cleanup.in (Alex Jia),
  spec: Require augeas for sanlock (Michal Privoznik),
  Use max bandwidth from qemuDomainObjPrivate struct when migrating (Jim Fehlig),
  Set qemu migration speed unlimited when migrating to file (Jim Fehlig),
  Save migration speed in qemuDomainMigrateSetMaxSpeed (Jim Fehlig),
  Impl virDomainMigrateGetMaxSpeed in qemu driver (Jim Fehlig),
  Store max migration bandwidth in qemuDomainObjPrivate struct (Jim Fehlig),
  network: add missing exports (Eric Blake),
  xml: Clean up rest of virtual XML document names for XML strings (Peter Krempa),
  qemu_api: Update libvirt spec file (Osier Yang),
  qemu_api: Update Makefile to generate libvirtmod_qemu lib (Osier Yang),
  qemu_api: Update Py binding generator to generate files for QEMU APIs (Osier Yang),
  qemu_api: Add override XML and C files for QEMU APIs (Osier Yang),
  qemu_api: Add comments for API virDomainQemuMonitorCommand (Osier Yang),
  qemu_api: Update Makefile for subdir docs (Osier Yang),
  qemu_api: Modify apibuild.py to generate docs for QEMU APIs (Osier Yang),
  Do not log invalid operations in libvirtd logs (Daniel Veillard),
  selinux: Detect virt_use_nfs boolean set (Michal Privoznik),
  xml: Change virtual file names of xml documents parsed in memory (Peter Krempa),
  maint: update to latest gnulib (Eric Blake),
  snapshot: use new API for less work (Eric Blake),
  snapshot: new APIs for inspecting snapshot object (Eric Blake),
  virsh: fix typo in opts_send_key (Alex Jia),
  link-state: virsh: Add wrapper commands for changing link state (Peter Krempa),
  link-state: qemu: Add net intf modification to virUpdateDeviceFlags (Peter Krempa),
  link-state: qemu: Add monitor handling for link state modification (Peter Krempa),
  link-state: conf: Add element to XML for controling link state (Peter Krempa),
  link-state: util: Add equality comparison functions for structures (Peter Krempa),
  XML: Improve XML parsing error messages (Peter Krempa),
  redirdev: allows to specify device address (Marc-André Lureau),
  latency: Update virsh command domblkstat to use new API (Osier Yang),
  latency: Expose the new API for Python binding (Osier Yang),
  latency: Implemente internal API for qemu driver (Osier Yang),
  latency: Update monitor functions for new latency fields (Osier Yang),
  latency: Wire up the remote protocol (Osier Yang),
  latency: Implemente the public API (Osier Yang),
  latency: Define the internal driver callback (Osier Yang),
  qemu: Deal with stucked qemu on daemon startup (Michal Privoznik),
  qemu: Introduce job queue size limit (Michal Privoznik),
  daemon: Create priority workers pool (Michal Privoznik),
  snapshot: use SELinux and lock manager with external snapshots (Eric Blake),
  snapshot: wire up live qemu disk snapshots (Eric Blake),
  snapshot: wire up new qemu monitor command (Eric Blake),
  snapshot: make it possible to audit external snapshot (Eric Blake),
  snapshot: reject unimplemented disk snapshot features (Eric Blake),
  snapshot: wire up disk-only flag to snapshot-create (Eric Blake),
  snapshot: add flag for requesting disk snapshot (Eric Blake),
  snapshot: add virsh domblklist command (Eric Blake),
  snapshot: also support disks by path (Eric Blake),
  snapshot: add <disks> to snapshot xml (Eric Blake),
  snapshot: support extra state in snapshots (Eric Blake),
  snapshot: expose halt-after-creation in virsh (Eric Blake),
  snapshot: allow halting after snapshot (Eric Blake),
  snapshot: expose new delete flag in virsh (Eric Blake),
  snapshot: introduce new deletion flag (Eric Blake),
  snapshot: reject transient disks where code is not ready (Eric Blake),
  snapshot: additions to domain xml for disks (Eric Blake),
  Check for source conflicts in storage pools (Lei Li),
  Add a usb1 & usb2 qemuxml2argv test (Marc-André Lureau),
  PIIX3 USB controller is on function 2 (Marc-André Lureau),
  snapshot: store qemu domain details in xml (Eric Blake),
  snapshot: update rng to support full domain in xml (Eric Blake),
  snapshot: correctly escape generated xml (Eric Blake),
  snapshot: allow full domain xml in snapshot (Eric Blake),
  snapshot: refactor domain xml output (Eric Blake),
  snapshot: prevent migration from stranding snapshot data (Eric Blake),
  snapshot: support new undefine flags in qemu (Eric Blake),
  snapshot: cache qemu-img location (Eric Blake),
  snapshot: refactor some qemu code (Eric Blake),
  snapshot: teach virsh about new undefine flags (Eric Blake),
  snapshot: prevent stranding snapshot data on domain destruction (Eric Blake),
  snapshot: add qemu snapshot redefine support (Eric Blake),
  snapshot: add qemu snapshot creation without metadata (Eric Blake),
  snapshot: improve virsh snapshot-create, add snapshot-edit (Eric Blake),
  snapshot: refactor virsh snapshot creation (Eric Blake),
  snapshot: allow recreation of metadata (Eric Blake),
  snapshot: identify qemu snapshot roots (Eric Blake),
  snapshot: reflect new dumpxml and list options in virsh (Eric Blake),
  snapshot: identify which snapshots have metadata (Eric Blake),
  snapshot: let qemu discard only snapshot metadata (Eric Blake),
  snapshot: allow deletion of just snapshot metadata (Eric Blake),
  snapshot: simplify acting on just children (Eric Blake),
  snapshot: track current domain across deletion of children (Eric Blake),
  snapshot: avoid crash when deleting qemu snapshots (Eric Blake),
  snapshot: speed up snapshot location (Eric Blake),
  snapshot: add snapshot-list --parent to virsh (Eric Blake),
  snapshot: fine-tune qemu snapshot revert states (Eric Blake),
  snapshot: properly revert qemu to offline snapshots (Eric Blake),
  snapshot: improve reverting to qemu paused snapshots (Eric Blake),
  snapshot: fine-tune qemu saved images starting paused (Eric Blake),
  snapshot: expose --running and --paused in virsh (Eric Blake),
  snapshot: fine-tune ability to start paused (Eric Blake),
  snapshot: better events when starting paused (Eric Blake),
  Learn to use spicevmc as a redirection type for usb-redir (Marc-André Lureau),
  Add "redirdev" redirection device (Marc-André Lureau),
  qemu: Don't append 0 at usb id, so that it is compatible with legacy -usb (Marc-André Lureau),
  qemu: don't reserve slot 1 if a PIIX3 USB controller is defined there (Marc-André Lureau),
  Modify USB port to be defined as a port path (Marc-André Lureau),
  Add USB companion controllers support (Marc-André Lureau),
  USB devices gain a new USB address child element (Marc-André Lureau),
  test: USB controller can have a PCI address child element (Marc-André Lureau),
  Add a new controller type 'usb' with optionnal 'model' (Marc-André Lureau),
  Add USB controller models (Marc-André Lureau),
  Rename virDomainControllerModel to virDomainControllerModelSCSI (Marc-André Lureau),
  Add various USB devices QEMU_CAPS (Marc-André Lureau),
  tests: add missing files (Eric Blake),
  Add directsync cache mode support for disk driver (Osier Yang),
  storage: Add virsh support for fs pool formating (Osier Yang),
  storage: Add mkfs and libblkid to build system (Osier Yang),
  qemu: refactor file opening (Eric Blake),
  lxc: do not require 'ifconfig' or 'ipconfig' in container (Scott Moser),
  Create ptmx as a device (Serge Hallyn),
  BlockPull: Set initial bandwidth limit if specified (Adam Litke),
  BlockJob: Bandwidth parameter is in MB when using text monitor (Adam Litke),
  Increase size of buffer for xend response (Jim Fehlig),
  virsh: support 'virsh start --force-boot' on older servers (Eric Blake),
  build: fix 'make check' with pdwtags (Eric Blake),
  virsh: Expose virDomainMigrateGetMaxSpeed API (Jim Fehlig),
  virsh: prefer unsigned flags (Eric Blake),
  storage: Fix incorrect error codes (Osier Yang),
  remote: Fix incorrect error codes (Osier Yang),
  nodeinfo: Fix incorrect error codes (Osier Yang),
  conf: Substitute OPERATION_INVALID with INTERNAL_ERROR (Osier Yang),
  start: allow discarding managed save (Eric Blake),
  build: simplify use of verify (Eric Blake),
  rpc: fix a typo in debugging log in virNetServerProgramSendStreamData (Guannan Ren),
  maint: fix spelling errors on lose (Eric Blake),
  Fix generator to cope with call-by-ref long types (Jim Fehlig),
  hyperv: Add OpenWSMAN based client for the Hyper-V WMI API (Matthias Bolte),
  hyperv: Add driver skeleton (Matthias Bolte),
  hyperv: Add configure check for OpenWSMAN (Matthias Bolte),
  virterror: Fix error message for VIR_ERR_INVALID_ARG (Michal Privoznik),
  Fix keymap used to talk with QEMU (Daniel P. Berrange),
  security: Introduce SetSocketLabel (Jiri Denemark),
  security: Rename SetSocketLabel APIs to SetDaemonSocketLabel (Jiri Denemark),
  Ignore unused streams in virStreamAbort (Jiri Denemark),
  snapshot: track current snapshot across restarts (Eric Blake),
  snapshot: only pass snapshot to qemu command line when reverting (Eric Blake),
  libvirt: log all flags parameters (Eric Blake),
  virsh: add list --managed-save (Eric Blake),
  esx: Refactor a repeated string in the generator (Matthias Bolte),
  maint: fix comment typos (Eric Blake),
  virsh: Substitute goto label out with cleanup (Osier Yang),
  virsh: Do not try to free domain if it is NULL (Osier Yang),
  xen: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang),
  storage: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang),
  remote: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang),
  qemu: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang),
  nodeinfo: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang),
  lxc: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang),
  conf: Cleanup improper use of VIR_ERR_NO_SUPPORT in node_device_conf (Osier Yang),
  qemu: Substitute VIR_ERR_NO_SUPPORT with VIR_ERR_OPERATION_INVALID (Osier Yang),
  virsh: Print error if specified bandwidth is invalid for blockjob (Osier Yang),
  virsh: properly interleave shared stdout and stderr (Eric Blake),
  maint: simplify lots of libxml2 clients (Eric Blake),
  xml: add another convenience function (Eric Blake),
  maint: treat more libxml2 functions as free-like (Eric Blake),
  test: rewrite test to match change in behavior (Eric Blake),
  build: fix typo in recent test patch (Eric Blake),
  vmware: Allow to undefine a running domain (Osier Yang),
  uml: Allow to undefine a running domain (Osier Yang),
  test: Allow to undefine a running domain (Osier Yang),
  qemu: Allow to undefine a running domain (Osier Yang),
  openvz: Allow to undefine a running domain (Osier Yang),
  lxc: Allow to undefine a running domain (Osier Yang),
  libxl: Allow to undefine a running domain. (Osier Yang),
  qemu: Get memory balloon info correctly for text monitor (Osier Yang),
  qemu: disk migration verbose progress (Tom Vijlbrief),
  virsh: concatenate qemu-monitor-command arguments (Eric Blake),
  virsh: tweak misleading wording (Eric Blake),
  Tweak debugging message in RPC client code (Daniel P. Berrange),
  maint: add missing symbols (Stefan Berger),
  macvtap: Fix getPhysfn to get the PF of a direct attach network interface (Roopa Prabhu),
  interface: Add functions to get sriov PF/VF relationship of a net interface (Roopa Prabhu),
  pci: Add helper functions for sriov devices (Roopa Prabhu),
  pci: Move some pci sriov helper code out of node device driver to util/pci (Roopa Prabhu),
  qemu: support event_idx parameter for virtio disk and net devices (Laine Stump),
  qemu: Use fd: protocol for migration (Jiri Denemark),
  qemu: Use virNetSocket for tunneled migration (Jiri Denemark),
  qemu: Refactor do{Tunnel,Native}Migrate functions (Jiri Denemark),
  Support changing UNIX socket owner in virNetSocketNewListenUNIX (Jiri Denemark),
  Add backlog parameter to virNetSocketListen (Jiri Denemark),
  Add API for duplicating a socket/client file descriptor (Daniel P. Berrange),
  Swap virDomain / virDomainSnapshot declaration (Philipp Hahn),
  build: fix recent build failures (Eric Blake),
  Convert libvirtd to use crash-safe pidfile APIs (Daniel P. Berrange),
  Add some APIs which use locking for crashsafe pidfile handling (Daniel P. Berrange),
  Introduce functions for checking whether a pidfile is valid (Daniel P. Berrange),
  Move pidfile functions into util/virpidfile.{c,h} (Daniel P. Berrange),
  Add virFileLock and virFileUnlock APIs (Daniel P. Berrange),
  vbox, xenapi: add virDomainUndefineFlags (Eric Blake),
  virsh: don't reject undefine on active domain (Eric Blake),
  virsh: Add dir type for listing volumes with vol-list (Peter Krempa),
  virsh: add snapshot-parent (Eric Blake),
  virsh: add virsh snapshot-current --name (Eric Blake),
  virsh: fix snapshot-create-as to handle arbitrary names (Eric Blake),
  qemu: minor formatting cleanup (Eric Blake),
  Allow use of file images for LXC container filesystems (Daniel P. Berrange),
  Fix typo in LXC cgroups setup error message (Daniel P. Berrange),
  Allow use of block devices for guest filesystem (Daniel P. Berrange),
  qemu: Avoid overwriting errors from virGetHostname (Jiri Denemark),
  network: eliminate lag in updating dnsmasq hosts files (Laine Stump),
  build: update to latest gnulib (Eric Blake)
- Cleanups:
  maint: ignore generated files (Eric Blake),
  Remove two references to files not generated (Daniel Veillard),
  latency: fix make check for remote protocol structs and numbers (Daniel Veillard),
  security: fix build (Eric Blake),
  Remove bogus virSecurityManagerSetProcessFDLabel method (Daniel P. Berrange),
  libvirt: avoid dead store in virDomainMigrateVersion3 (Alex Jia),
  qemu: avoid dead store in doPeer2PeerMigrate3 (Alex Jia),
  maint: ignore generated file (Eric Blake),
  maint: ignore generated file (Eric Blake),
  maint: let emacs avoid tabs in rng files (Eric Blake),
  virsh: fix dead store (Eric Blake),
  qemu: silence clang false positive (Eric Blake),
  qemu: avoid dead store in qemuMonitorTextBlockJob (Alex Jia),
  qemu: avoid dead store in qemuProcessStart (Alex Jia)

### 0.9.4: Aug 3 2011

- Features:
  bandwidth QoS control (Michal Privoznik),
  Add new API virDomainBlockPull* (Adam Litke),
  save: new API to manipulate save file images (Eric Blake),
  CPU bandwidth limits support (Wen Congyang),
  allow to send NMI and key event to guests (Lai Jiangshan),
  new API virDomainUndefineFlags (Osier Yang),
  Implement code to attach to external QEMU instances. (Daniel P. Berrange),
  various missing python binding (Hu Tao and Lai Jiangshan),
  bios: Add support for SGA (Michal Privoznik)
- Documentation:
  doc: fix confusing statement about required privileges (Eric Blake),
  doc: fix incorrect option in blockjob (Alex Jia),
  Correct the default value of lock_manager in qemu.conf (Guannan Ren),
  libvirt.c: Update outdated description of flags (Michal Privoznik),
  qemu: Improve docs for virsh dump format (Osier Yang),
  qemu: improve thread documentation (Eric Blake),
  doc: Add doc for blockpull and blockjob commands (Osier Yang),
  Fix incorrect implication about list options (Dave Allan),
  Fix typos in virsh.pod file (Daniel P. Berrange),
  network: Fix typo (Osier Yang),
  Break up 'Basic Resources' XML section (Cole Robinson),
  driver.h: Fix two driver documentation mistakes (Wieland Hoffmann),
  doc: Add documentation for new cputune elements period and quota (Wen Congyang),
  doc: Correct documents for iface commands (Osier Yang),
  improve virsh man page synopses (Eric Blake),
  Fix spice documentation typo (Michal Privoznik),
  document dxml argument to migrate2 (Eric Blake),
  website: Point main page links to libvirt driver pages (Dave Allan),
  maint: fix typos (Eric Blake),
  mention EMOTIVE as a libvirt-using app (Eric Blake),
  virsh: Update virsh man page (Supriya Kannery),
  Fix virsh inject-nmi man page (KAMEZAWA Hiroyuki),
  virsh: make destroy sound less scary (Eric Blake),
  minor whitespace cleanups (Eric Blake),
  Add documentation for the seclabel XML element (Daniel P. Berrange)
- Portability:
  build: fix include path for cygwin (Eric Blake),
  build: avoid non-portable shell in test setup (Eric Blake),
  tests: Don't use bash if we don't have to (Matthias Bolte),
  freebsd: Fix build problem due to picking up the wrong libvirt.h (Matthias Bolte),
  freebsd: Avoid /bin/true in commandtest (Matthias Bolte),
  freebsd: Add gnulib environ module for the commandtest (Matthias Bolte),
  build: support warnings on RHEL 5 (Eric Blake),
  Build: fix build if HAVE_AVAHI is not defined (Stefan Berger),
  sysinfo: Don't try to run dmidecode on archs missing it (Michal Privoznik),
  udev: Don't try to dump DMI on non-intel archs (Michal Privoznik),
  Fix build when using polkit0 (Jim Fehlig),
  Fix rpm build with sanlock and without QEmu (Daniel Veillard),
  Skip some xen tests if xend is not running (Jim Fehlig),
  build: fix virBufferVasprintf on mingw (Eric Blake),
  Fix compilation of statstest.c during make check (Jim Fehlig),
  Fix compilation error when SASL support is disabled (Jean-Baptiste Rouault),
  tests: Disable networkxml2argvtest when configured without network (Matthias Bolte)
- Bug Fixes:
  util: plug memory leak (Eric Blake),
  rpc: avoid null deref (Eric Blake),
  qemu: avoid memory leaks (Eric Blake),
  qemu: plug child process leak on domain core dump (Eric Blake),
  conf: avoid memory leak on disk operations (Eric Blake),
  rpc: avoid crash on error (Eric Blake),
  qemu: avoid null deref on block pull error (Eric Blake),
  rpc: correctly process sasl whitelist globs (Eric Blake),
  screenshot: don't unlink bogus file (Eric Blake),
  python: avoid unlikely sign extension bug (Eric Blake),
  rpc: avoid uninitialized memory use (Eric Blake),
  rpc: avoid double close on error (Eric Blake),
  qemu: Unlink temporary file on failure (Michal Privoznik),
  rpc: avoid libvirtd crash on unexpected client close (Eric Blake),
  virsh: fix memory leak in cmdNetworkInfo (Alex Jia),
  openvz: detect when a domain was shut down from the inside (Jean-Baptiste Rouault),
  qemu: fix crash when mixing sync and async monitor jobs (Eric Blake),
  qemu: fix return value issue (Alex Jia),
  qemu: fix return value issue in qemuDomainSetMemoryParameters (Alex Jia),
  virsh: Fix vol-name and vol-pool commands (Matthias Bolte),
  qemu: Fix a regression of domjobabort (Osier Yang),
  conf: Don't leak the virtual port profile in virNetworkDefFree (Matthias Bolte),
  network: don't forward DNS requests from isolated networks (Laine Stump),
  virsh: avoid missing zero value judgement in cmdBlkiotune (Alex Jia),
  qemu: fix nested job with driver lock held (Eric Blake),
  qemu: Fix memory leak on metadata fetching (Michal Privoznik),
  virsh: fix memory leak in cmdVolPath code (Alex Jia),
  rpc: Fix memory leak in remoteDomainSet*Parameters functions (Matthias Bolte),
  qemu: Recover from interrupted migration (Jiri Denemark),
  python: Properly report errors if virStreamRecv fails (Cole Robinson),
  Fix race in ref counting when handling RPC jobs (Daniel P. Berrange),
  Fix build with gnutls 1.0.x branch (Daniel P. Berrange),
  Add libtasn1-devel as a BuildRequires for libvirt.spec (Daniel P. Berrange),
  Add mutex protection to SASL and TLS modules (Daniel P. Berrange),
  Report error if unable to bind to any socket (Daniel P. Berrange),
  Fix leak of mDNS object in virNetServer (Daniel P. Berrange),
  Fix memory leaks in MDNS code (Daniel P. Berrange),
  python: Handle embedded NUL in stream.send data (Cole Robinson),
  Catch dnsmasq start failures (Guido Günther),
  Fix import of private key with older gnutls (Daniel P. Berrange),
  Fix TLS context tests with expired certs (Daniel P. Berrange),
  Honour filesystem readonly flag & make special FS readonly (Daniel P. Berrange),
  xenapi: Fix double-freeing the session in xenapiClose (Matthias Bolte),
  remote: Fix forgotten comma (Michal Privoznik),
  qemu: fix error message with migrate2 xml (Eric Blake),
  command: avoid leaking fds across fork (Eric Blake),
  error: preserve errno when saving last error (Eric Blake),
  Fix uninitialized variable in QEMU CPU bandwidth code (Daniel P. Berrange),
  fix make syntax-check error (Wen Congyang),
  rpc: Pass through DISPLAY so ssh can launch askpass (Cole Robinson),
  Don't try to close a NULL virNetClientPtr (Guannan Ren),
  Honour key usage/purpose criticality flag (Daniel P. Berrange),
  Fix reporting of errors for p2p migration (Daniel P. Berrange),
  Use a virFreeCallback on virNetSocket to ensure safe release (Daniel P. Berrange),
  Add mutex locking and reference counting to virNetSocket (Daniel P. Berrange),
  util: avoid fds leak when virEventPollAddHandle fail (Alex Jia),
  virsh: avoid double free of domain (Alex Jia),
  build: Fix protocol-structs check in VPATH build (Jiri Denemark),
  Fix now dead cleanup of VMs on libvirtd restart (Daniel P. Berrange),
  qemu: Fix a regression of attaching device (Osier Yang),
  storage: Avoid memory leak on metadata fetching (Michal Privoznik),
  qemu: Don't overwrite errors by closefd in error paths (Jiri Denemark),
  qemu: Save domain status ASAP after creating qemu process (Jiri Denemark),
  util: Avoid duplicating virFileOpenAsNoFork in virFileOpenAs (Jiri Denemark),
  virsh: fix missing prompt message for 'snapshot-delete' command (Nan Zhang),
  Ensure signal handler propagates fatal signals to default handler (Daniel P. Berrange),
  qemu: Fix monitor unlocking in some error paths (Jiri Denemark),
  esx: Initialize all instances of esxVMX_Data to zero (Matthias Bolte),
  qemu: avoid fd leak on core dump failure (Eric Blake),
  domain_conf: Free temporary variable (Michal Privoznik),
  esx: Fix a potential crash (Osier Yang),
  remote: Fix memory leak (Alex Jia),
  kill vm if saving config failed in v3 protocol (Wen Congyang),
  Don't exit if the libvirtd config does not exist (Daniel P. Berrange),
  Fix sending of reply to final RPC message (Daniel P. Berrange),
  Fix leak of remote driver if final 'CLOSE' RPC call fails (Daniel P. Berrange),
  Fix release of outgoing stream confirmation/abort message (Daniel P. Berrange),
  Fix leak of 'msg' object in client stream code (Daniel P. Berrange),
  Fix potential crash in libvirtd with active streams (Daniel P. Berrange),
  Fix mistaken order of server cert/key parameters in constructor (Daniel P. Berrange),
  util: Don't try to fchown files opened as non-root (Jiri Denemark),
  qemu: Don't chown files on NFS share if dynamic_ownership is off (Michal Privoznik),
  python: Fix bogus label placement (Matthias Bolte),
  util: close the ioctl socket at the end of if(Get|Set)MacAddress (Laine Stump),
  pci: initialize state values on reattach (Guannan Ren),
  qemu: Fix virFileMakePath error handling in snapshot creation (Matthias Bolte),
  storage: Do not override the exact error of createRawFile (Osier Yang)
- Improvements:
  build: allow caching the input to STATIC_ANALYSIS (Eric Blake),
  fdstream: drop delete argument (Eric Blake),
  save: generate idempotent inactive xml for running domain (Eric Blake),
  conf: make 'vnet' prefix a macro (Eric Blake),
  utils: More useful error message for hook script failure (Osier Yang),
  tests: Unify style of test skipping code (Matthias Bolte),
  save: let qemu driver manipulate save files (Eric Blake),
  save: support qemu modifying xml on domain save/restore (Eric Blake),
  xen: make direct call when there is only one subdriver (Eric Blake),
  xen: reduce callback special cases (Eric Blake),
  xen: cleanup callback struct (Eric Blake),
  libxl: fix build failure due to change in virDomainGraphicsDef (Laine Stump),
  qemu: support type=network in domain graphics <listen> (Laine Stump),
  conf: add <listen> subelement to domain <graphics> element (Laine Stump),
  python: add python binding for virDomainSetMemoryParameters (Hu Tao),
  python: add python binding for virDomainGetMemoryParameters (Hu Tao),
  python: add python binding for virDomainSetBlkioParameters (Hu Tao),
  python: add python binding for virDomainGetBlkioParameters (Hu Tao),
  virsh: expose change-protection during migration (Eric Blake),
  send-key: Implement Python API (Lai Jiangshan),
  qemu: Remove special case for virDomainAbortJob (Jiri Denemark),
  qemu: Remove special case for virDomainSuspend (Jiri Denemark),
  qemu: Remove special case for virDomainMigrateSetMaxDowntime (Jiri Denemark),
  qemu: Remove special case for virDomainMigrateSetMaxSpeed (Jiri Denemark),
  qemu: Remove special case for virDomainBlockStats (Jiri Denemark),
  qemu: Remove special case for virDomainGetBlockInfo (Jiri Denemark),
  qemu: Migration job on source daemon (Jiri Denemark),
  qemu: Migration job on destination daemon (Jiri Denemark),
  qemu: Implement migration job phases (Jiri Denemark),
  bandwidth: Integrate bandwidth into portgroups (Michal Privoznik),
  tools: format percent strings of nodecpustats (Alex Jia),
  set cpu bandwidth for the vm (Wen Congyang),
  virsh: use faster bit search (Eric Blake),
  virsh: make vcpucount use --current consistently (Eric Blake),
  vcpu: teach getVcpusFlags about current (Eric Blake),
  util: change virFile*Pid functions to return < 0 on failure (Laine Stump),
  rename cfs_* to vcpu_* (Wen Congyang),
  python: add Python binding for virDomainGetVcpuPinInfo API (Taku Izumi),
  python: add Python binding for virDomainPinVcpusFlags API (Taku Izumi),
  python: add Python binding for virDomainGetSchedulerParametersFlags API (Taku Izumi),
  python: add Python binding for virDomainGetSchedulerParametersFlags API (Taku Izumi),
  tests: detect gnutls errors (Eric Blake),
  bandwidth: Add domain schema and xml2xml tests (Michal Privoznik),
  bandwidth: Add test cases for network (Michal Privoznik),
  bandwidth: Implement functions to enable and disable QoS (Michal Privoznik),
  bandwidth: Create format functions (Michal Privoznik),
  bandwidth: Add parsing and free functions (Michal Privoznik),
  bandwidth: Declare internal structures (Michal Privoznik),
  bandwidth: Define schema and create documentation (Michal Privoznik),
  network: provide internal API to return IP of a network (Laine Stump),
  util: add an ifaceGetIPAddress to the interface utilities (Laine Stump),
  Pre-create /var/lib/libvirt/sanlock directory (Daniel P. Berrange),
  Refactor mounting of special filesystems (Daniel P. Berrange),
  Pull code for doing a bind mount into separate method (Daniel P. Berrange),
  Fix typos in daemon config file from previous commit (Daniel P. Berrange),
  Add a test case for certificate validation (Daniel P. Berrange),
  Allow certificate sanity checking to be disabled (Daniel P. Berrange),
  remote/ssh: optional "keyfile" parameter. (Oskari Saarenmaa),
  util: make interface.c functions consistently return < 0 on error (Laine Stump),
  Refactor the certification validation code (Daniel P. Berrange),
  Remove call to deprecated gnutls_certificate_type_set_priority (again) (Daniel P. Berrange),
  Ensure that libvirtd shuts down if initialization fails (Daniel P. Berrange),
  Asynchronous event for BlockJob completion (Adam Litke),
  Enable virDomainBlockPull in the python API (Adam Litke),
  Enable the virDomainBlockPull API in virsh (Adam Litke),
  Implement virDomainBlockPull for the qemu driver (Adam Litke),
  Add virDomainBlockPull support to the remote driver (Adam Litke),
  virDomainBlockPull: Implement the main entry points (Adam Litke),
  save: add virsh commands for manipulating save files (Eric Blake),
  save: wire up remote protocol (Eric Blake),
  save: support bypass-cache flag in libvirt-guests init script (Eric Blake),
  save: support bypass-cache flag in qemu.conf (Eric Blake),
  save: support BYPASS_CACHE during qemu save/restore (Eric Blake),
  save: add virFileDirectFd wrapper type (Eric Blake),
  save: let iohelper work on O_DIRECT fds (Eric Blake),
  save: let iohelper handle inherited fd (Eric Blake),
  save: support --xml to virsh save/restore (Eric Blake),
  save: add --bypass-cache flag to virsh save/restore operations (Eric Blake),
  save: wire up trivial save/restore flags implementations (Eric Blake),
  error: add new error type for reflecting partial API support (Eric Blake),
  network: internal API functions to manage assignment of physdev to guest (Laine Stump),
  qemu: use virDomainNetGetActual*() in qemuDomainXMLToNative (Laine Stump),
  qemu: use virDomainNetGetActual*() functions where appropriate (Laine Stump),
  network: separate Start/Shutdown functions for new network types (Laine Stump),
  conf: support abstracted interface info in network XML (Laine Stump),
  conf: support abstracted interface info in domain interface XML (Laine Stump),
  conf: virDomainNetDef points to (rather than contains) virtPortProfile (Laine Stump),
  conf: put virtPortProfile struct / functions in a common location (Laine Stump),
  destroy: Implement internal API for xenapi driver (Michal Privoznik),
  destroy: Implement internal API for xen driver (Michal Privoznik),
  destroy: Implement internal API for vmware driver (Michal Privoznik),
  destroy: Implement internal API for vbox driver (Michal Privoznik),
  destroy: Implement internal API for uml driver (Michal Privoznik),
  destroy: Implement internal API for phyp driver (Michal Privoznik),
  destroy: Implement internal API for openvz driver (Michal Privoznik),
  destroy: Implement internal API for lxc driver (Michal Privoznik),
  destroy: Implement internal API for libxl driver (Michal Privoznik),
  destroy: Implement internal API for ESX driver (Michal Privoznik),
  destroy: Implement internal API for qemu driver (Michal Privoznik),
  destroy: Wire up the remote protocol (Michal Privoznik),
  destroy: Define new public API virDomainDestroyFlags (Michal Privoznik),
  save: wire up remote protocol (Eric Blake),
  save: new public API to bypass file system cache on save/restore (Eric Blake),
  build: rename files.h to virfile.h (Eric Blake),
  command: move all docs into .c file (Eric Blake),
  rpc: Make the dispatch generator handle 'void name(void)' style procedures (Matthias Bolte),
  python: Fix makefile rule for code generation (Matthias Bolte),
  qemu: Implement cfs_period and cfs_quota's modification (Wen Congyang),
  qemu: Implement period and quota tunable XML configuration and parsing (Wen Congyang),
  Update XML Schema for new entries (Wen Congyang),
  cgroup: Implement cpu.cfs_period_us and cpu.cfs_quota_us tuning API (Wen Congyang),
  Introduce the function virCgroupForVcpu (Wen Congyang),
  qemu: send-key: Implement the driver methods (Lai Jiangshan),
  send-key: Expose the new API in virsh (Lai Jiangshan),
  util: add virtkeycode module (Lai Jiangshan),
  util: Add keymaps.csv (Lai Jiangshan),
  Fix checking of key usage/purpose data (Daniel P. Berrange),
  Fix mixed up error messages when reporting TLS certificate problems (Daniel P. Berrange),
  undefine: Extend virsh undefine to support the new flag (Osier Yang),
  undefine: Implement undefineFlags for all other drivers (Osier Yang),
  undefine: Implement internal API for libxl driver (Osier Yang),
  undefine: Implement internal API for qemu driver (Osier Yang),
  undefine: Wire up the remote protocol (Osier Yang),
  undefine: Define the new API (Osier Yang),
  Add sanity checking of basic constraints, key purpose & key usage (Daniel P. Berrange),
  Add some basic sanity checking of certificates before use (Daniel P. Berrange),
  Add an explicit virNetClientClose method (Daniel P. Berrange),
  Add some debugging for virNetClient reference counting (Daniel P. Berrange),
  build: detect doc generation failure (Eric Blake),
  Unregister event callback if a fatal error occurs during dispatch (Daniel P. Berrange),
  Quieten build & ensure API build scripts exit with non-zero status (Daniel P. Berrange),
  virsh: Extend virsh dominfo to display if managed save image exists (Osier Yang),
  libvirt: do not mix internal flags into public API (Eric Blake),
  rpc: Fix typos in rpc generator scripts (Osier Yang),
  build: also track RPC on-wire enum values (Eric Blake),
  build: add syntax check for proper flags use (Eric Blake),
  xen: reject unknown flags (Eric Blake),
  esx: reject unknown flags (Eric Blake),
  virsh: improve option handling (Eric Blake),
  flags: fix domain_conf migration regression (Eric Blake),
  flags: fix qemu migration regression (Eric Blake),
  flags: use common dumpxml flags check (Eric Blake),
  add --cache, --serial, --shareable and --address to attach-disk (Hu Tao),
  Fix error message for missing TLS write function (Daniel P. Berrange),
  Fix reporting of cert validation failures (Daniel P. Berrange),
  Fix error code for storage operations (Dave Allan),
  setvcpus: add "--current" option to "virsh setvcpus" (Taku Izumi),
  setvcpus: extend qemuDomainSetVcpusFlags() to support current flag (Taku Izumi),
  setvcpus: extend virDomainSetVcpusFlags API to support current flag (Taku Izumi),
  Add domain events support to UML driver (Daniel P. Berrange),
  virnetsocket: use new API for uniform child cleanup (Eric Blake),
  fdstream: avoid child process leak on error (Eric Blake),
  command: introduce virPidWait, virPidAbort (Eric Blake),
  update apparmor security driver for new udev paths (Jamie Strandboge),
  xenapi: Improve error reporting in xenapiOpen (Matthias Bolte),
  build: fix VPATH build of todo (Eric Blake),
  build: check for virnetprotocol on-the-wire stability (Eric Blake),
  build: disable some drivers when building without libvirt daemon (Wen Congyang),
  build: avoid ATTRIBUTE_UNUSED in headers (Eric Blake),
  remote: prefer unsigned flags (Eric Blake),
  conf: delete unused flags arguments (Eric Blake),
  virsh: fix previous patch (Jiri Denemark),
  virsh: Make "DEBUG" loglevel the superset (Supriya Kannery),
  virsh: Avoid using magic numbers for logging (Supriya Kannery),
  build: don't hand-roll cloexec code (Eric Blake),
  conf: prefer unsigned flags (Eric Blake),
  python: prefer unsigned flags (Eric Blake),
  node_device: avoid implicit int (Eric Blake),
  virsh, daemon: prefer unsigned flags (Eric Blake),
  xenapi: reject unknown flags (Eric Blake),
  vmware: reject unknown flags (Eric Blake),
  vbox: reject unknown flags (Eric Blake),
  uml: reject unknown flags (Eric Blake),
  test: reject unknown flags (Eric Blake),
  qemu: reject unknown flags (Eric Blake),
  phyp: reject unknown flags (Eric Blake),
  openvz: reject unknown flags (Eric Blake),
  lxc: reject unknown flags (Eric Blake),
  libxl: reject unknown flags (Eric Blake),
  qemu: build failed due to unused variables (Peter Krempa),
  storage: reject unknown flags (Eric Blake),
  node_device: reject unknown flags (Eric Blake),
  util: reject unknown flags, and prefer unsigned flags (Eric Blake),
  libvirt-qemu: use unsigned flags (Eric Blake),
  maint: print flags in hex during debug (Eric Blake),
  maint: exclude more files from syntax check (Eric Blake),
  util: honor anchored names when searching for executables (Eric Blake),
  Remove unused virNetServerProgramErrorHander typedef (Daniel P. Berrange),
  qemu: Consolidate qemuMigrationPrepare{Direct,Tunnel} (Jiri Denemark),
  qemu: Add support for job phase (Jiri Denemark),
  qemu: Recover from interrupted jobs (Jiri Denemark),
  qemu: Save job type in domain status XML (Jiri Denemark),
  qemu: Allow all query commands to be run during long jobs (Jiri Denemark),
  qemu: Consolidate {Enter,Exit}Monitor{,WithDriver} (Jiri Denemark),
  qemu: Consolidate BeginJob{,WithDriver} into a single method (Jiri Denemark),
  qemu: Separate job related data into a new object (Jiri Denemark),
  maint: avoid incremental 'make syntax-check' failure (Eric Blake),
  Skip bugs which are CLOSED in todo list (Daniel P. Berrange),
  Add missing cleanup for transient guests in UML driver (Daniel P. Berrange),
  Add auditing to the UML driver (Daniel P. Berrange),
  Add auditing to the LXC driver (Daniel P. Berrange),
  Add virtualization type in audit messages (Daniel P. Berrange),
  Add auditing of filesystems (Daniel P. Berrange),
  Move qemu_audit.h helpers into shared code (Daniel P. Berrange),
  rpc: Fix compile error due to potentially unused parameter (Matthias Bolte),
  Add monitor API for checking whether KVM is enabled (Daniel P. Berrange),
  Add a method for extracting QEMU argv from /proc (Daniel P. Berrange),
  Change extract pidfile & monitor config from QEMU command line (Daniel P. Berrange),
  Keep pidfile path in qemuDomainObjPrivate struct (Daniel P. Berrange),
  Add a new 'virsh qemu-attach' command. (Daniel P. Berrange),
  Define remote wire protocol & impls for virDomainQemuAttach (Daniel P. Berrange),
  Define a QEMU specific API to attach to a running QEMU process (Daniel P. Berrange),
  qemu: update configuration file (Alex Jia),
  maint: rename virtaudit to match file contents (Eric Blake),
  remote/ssh: support for no_verify. (Oskari Saarenmaa),
  build: also check qemu_protocol for on-the-wire stability (Eric Blake),
  build: avoid requiring -lm (Eric Blake),
  Remove code no longer used after commit df0b57a9 (Jim Fehlig),
  Add domain type checking (Matthias Bolte),
  tests: simplify formatting (Eric Blake),
  Do not drop kernel cmdline for xen pv domains (Jim Fehlig),
  RPC: fix argument's name (Wen Congyang),
  fix typo error (Wen Congyang),
  vbox: Fix logic in storage driver open function (Matthias Bolte),
  tests: Improve output of tests that decide to skip at runtime (Matthias Bolte),
  tests: Fix compressed test output padding logic (Matthias Bolte),
  tests: Use EXIT_AM_SKIP instead of 77 directly (Matthias Bolte),
  rpc: Fix whitespace problem in generated code (Matthias Bolte),
  sanlock: avoid lockspace setup when auto_disk_lease is off (Federico Simoncelli),
  libvirtd: diagnose explicitly requested but missing conf file (Eric Blake),
  qemu: clean up OOM checks (Michael Santos),
  graphics: add support for action_if_connected in qemu (Michal Privoznik),
  microblaze: Add architecture support (John Williams),
  util: drop unused safezero argument (Eric Blake),
  conf: prefer unsigned int for flags (Eric Blake),
  drivers: prefer unsigned int for flags (Eric Blake),
  public API: prefer unsigned int for flags (Eric Blake),
  maint: print flags in hex during debug (Eric Blake),
  build: use gnulib pthread_sigmask (Eric Blake),
  util: rename err_exit to cleanup in interface.c (Laine Stump),
  sysinfo: delete unnecessary white space of sysinfo. (Minoru Usui),
  util: add virTrimSpaces (Eric Blake),
  util: fix virSkipSpaces (Eric Blake),
  Reduce code duplication in virFileMakePath(Helper) (Matthias Bolte),
  apparmor: Finish incomplete renaming of relabel to norelabel (Matthias Bolte),
  Fix default value of security label 'relabel' attribute (Daniel P. Berrange),
  Fix return value semantic of virFileMakePath (Matthias Bolte),
  nodedev: Let check_fc_host_linux report errors to the caller (Matthias Bolte),
  xml: create an RNG file for common types and move some definitions there (Laine Stump),
  docs: sort the file list in the schemas Makefile (Laine Stump),
  qemu: check flags in qemuDomainGetXMLDesc (Laine Stump),
  conf: fix domain parse flags (Laine Stump),
  conf: Fix declaration of virNetworkDNS(Hosts)Def struct (Matthias Bolte),
  Allow for resource relabelling with static labels (Daniel P. Berrange),
  Allow a base label to be specified in dynamic labelling mode (Daniel P. Berrange)
- Cleanups:
  qemu: silence coverity false positives (Eric Blake),
  interface: drop dead code (Eric Blake),
  rpc: silence coverity false positives (Eric Blake),
  build: silence coverity false positives (Eric Blake),
  qemu: remove dead code (Eric Blake),
  maint: add missing copyright notices (Eric Blake),
  xen: drop unused callbacks (Eric Blake),
  build: avoid type-punning compiler warning (Eric Blake),
  tests: fix compilation failures (Eric Blake),
  build: Use $(PYTHON) instead of python for the keycode map generator (Matthias Bolte),
  build: fix bugs with destroyFlags patches (Eric Blake),
  util: define MAX (Laine Stump),
  maint: fix typos on guaranteed (Eric Blake),
  build: fix broken build (Eric Blake),
  maint: fix spelling of Red Hat (Eric Blake),
  tests: Fix virshtest failure after dominfo changed (Osier Yang)

### 0.9.3: Jul 4 2011

- Features:
  vcpupin: introduce the new libvirt API (virDomainGetVcpupinInfo) (Taku Izumi),
  Add TXT record support for virtual DNS service (Michal Novotny),
  Support reboots with the QEMU driver (Daniel P. Berrange),
  Introduce virDomainGetControlInfo API (Jiri Denemark),
  virNodeGetMemoryStats: Expose new API (Minoru Usui),
  virNodeGetCPUTime: Implement public API (Minoru Usui),
  send-key: Defining the public API (Lai Jiangshan),
  vcpupin: introduce a new libvirt API (virDomainPinVcpuFlags) (Taku Izumi),
  support multifunction PCI device (Wen Congyang),
  lxc: various improvements (Cole Robinson)
- Documentation:
  Add documentation for configuration lock managers (Daniel P. Berrange),
  fix indentation of sub-elements of <ip> in network XML (Laine Stump),
  document correct flag name (Eric Blake),
  documenting the 802.1Qbh parameters of a 'direct' interface (David S. Wang),
  Make virConnectClose comply to apibuild.py expectations (Matthias Bolte),
  fix docs to match behavior of virConnectClose (Eric Blake),
  numatune: Add doc for new numatune XML (Osier Yang),
  Fix documentation of virStreamRecv (Matthias Bolte),
  updated list of applications using libvirt. (Ohad Levy),
  improve VIR_DOMAIN_AFFECT_CURRENT description (Eric Blake),
  Add doc for video element (Osier Yang),
  Make hvsupport.pl pick up the host device drivers (Matthias Bolte)
- Portability:
  Explicitely invoke python for API doc generator (Daniel Veillard),
  fix virParseVersionString with linux 3.0 (Scott Moser),
  Add conditionals to allow build without SASL (Daniel P. Berrange),
  Add missing include of signal.h in virnetsocket.c (Daniel P. Berrange),
  Fix compilation with systemtap 1.3 (Matthias Bolte),
  build: fix mingw build (Eric Blake),
  daemon: Fix build without polkit (Jiri Denemark),
  build: fix 'make check' when pdwtags is available (Eric Blake),
  build: sanlock-devel is not in F15 yet (Eric Blake),
  Only include parthelper if built with storage_disk (Ruben Kerkhof),
  build: fix VPATH builds (Eric Blake),
  python: Don't declare Py_ssize_t for Python 2.6 (Matthias Bolte),
  build: avoid python 2.4 build failure (Eric Blake),
  build: fix NUMA build on RHEL 5 (Eric Blake),
  build: avoid python 2.4 build failure (Eric Blake),
  build: avoid compiler failure (Eric Blake),
  build: fix compilation on systems missing libnl and new includes (Stefan Berger),
  configure: Make libnl optional unless macvtap is required (Matthias Bolte),
  build: require newer netcf when it is available (Eric Blake),
  build: fix building error when building without libvirtd (Wen Congyang),
  Skip nodeinfo test on non intel architectures (Guido Günther),
  Fix dlopen dependency (Matthias Bolte),
  virt-aa-helper: add missing include (Eric Blake)
- Bug Fixes:
  initialize pointer to NULL (Wen Congyang),
  storage: avoid crash on parse error (Eric Blake),
  vmware: avoid null deref on failed lookup (Eric Blake),
  qemu: avoid null deref on low memory (Eric Blake),
  rpc: avoid memory leak on error (Eric Blake),
  rpc: fix logic bug (Eric Blake),
  pci: avoid memory leak on error (Eric Blake),
  interface: avoid memory leak on parse error (Eric Blake),
  libvirtd: avoid memory leak on OOM (Eric Blake),
  build: avoid double-close bug with pipe2 (Eric Blake),
  rpc: avoid freeing uninitialized variable (Eric Blake),
  virsh: avoid uninitialized variable (Eric Blake),
  virsh: avoid integer overflow (Eric Blake),
  Fix stream procedure number for virDomainMigratePrepareTunnel3 (Daniel P. Berrange),
  Fix release of virNetMessagePtr instances in streams processing (Daniel P. Berrange),
  Fix potential crash when saving guests (Daniel P. Berrange),
  Fix uninitialized value in QEMU monitor FD sending code (Daniel P. Berrange),
  Fix leak of JSON object for events (Daniel P. Berrange),
  Fix use of uninitialized memory when releasing PCI slots (Daniel P. Berrange),
  Fix leak of virStreamPtr object with callback added in fdstream impl (Daniel P. Berrange),
  Fix leak of mdnsGroupName in virNetServer object (Daniel P. Berrange),
  Fix release of filtered stream messages (Daniel P. Berrange),
  save domain status after modifing vcpupin (Wen Congyang),
  Fix memory leak in virDomainVcpuPinDel() (Wen Congyang),
  sysinfo: fix illegal NULL return (Minoru Usui),
  Fix locking wrt virNetClientStreamPtr object (Daniel P. Berrange),
  Avoid referencing NULL pointer when copying stream error (Daniel P. Berrange),
  Avoid free'ing a filtered RPC message in the server (Daniel P. Berrange),
  Ensure empty payload is written upon stream completion (Daniel P. Berrange),
  Fix propagation of RPC errors from streams (Daniel P. Berrange),
  Fix crash when aborting a stream from a I/O callback (Daniel P. Berrange),
  dnsmasq: Fix errno handling and don't unlink non-existing files (Matthias Bolte),
  tests: Fix memory leak in virnetmessagetest (Osier Yang),
  conf: Fix memory leak in virNetworkDNSDefFormat (Osier Yang),
  sysinfo: fix parsing regression (Eric Blake),
  remote: fix uninitialized variable (Eric Blake),
  build: avoid uninitialized variable (Eric Blake),
  buf: protect against integer overflow (Eric Blake),
  remote: protect against integer overflow (Eric Blake),
  Fix typo in libvirt_private.syms (Matthias Bolte),
  Fix some bugs in RPC protocol make rules (Daniel P. Berrange),
  Fix job type set in qemuMigrationPrepareDirect/PrepareTunnel (Daniel P. Berrange),
  Avoid high privileges taint warning for QEMU session driver (Daniel P. Berrange),
  util: Fix memory leak in virJSONParserHandleStartMap (Osier Yang),
  qemu: Fix memory leak in qemuProcessWaitForMonitor (Osier Yang),
  storage: fix volDelete return when volume still being allocated (Matthew Booth),
  Fix use-after-free in handling domain taint flags (Daniel P. Berrange),
  qemu: Fix one memory leak (Osier Yang),
  virsh: avoid bogus description (Eric Blake),
  set and restore MAC address of a NIC when using PASSTHROUGH mode (Dirk Herrendoerfer),
  conf: Fix one memory leak (Osier Yang),
  Add missing checks for NULL in domain lock manager (Daniel P. Berrange),
  Fix errno return in safezero() (Daniel P. Berrange),
  Fix allocation of veth's to not skip an index (Daniel P. Berrange),
  command: avoid double close (Eric Blake),
  qemu: Fix parsing 'info chardev' (Cole Robinson),
  vcpupin: Fix cpu affinity setting bug of qemu driver (Taku Izumi),
  daemon: plug memory leak (Eric Blake),
  qemu: add missing break statement (Eric Blake),
  storage: avoid mishandling backing store > 2GB (Eric Blake)
- Improvements:
  tests: Add a general util test (Matthias Bolte),
  util: choose whether to require micro in version strings (Eric Blake),
  build: consistently use CFLAGS (Eric Blake),
  build: simplify sanlock distribution (Eric Blake),
  build: allow 'make syntax-check' on fresh checkout (Eric Blake),
  Send back an error if we get unexpected stream control message (Daniel P. Berrange),
  Add test case for parsing JSON docs (Daniel P. Berrange),
  Remove bogus warning message in JSON code (Daniel P. Berrange),
  Ensure RPC message is cleared before being reused (Daniel P. Berrange),
  Fix hardcoded limit on client requests in RPC code (Daniel P. Berrange),
  tests: Add valgrind.supp into EXTRA_DIST (Osier Yang),
  virsh: Fix a problem of buildPoolXML (Osier Yang),
  lock qemu_driver early in qemuGetSchedulerParametersFlags() (Wen Congyang),
  build: avoid pod2man on tarball (Eric Blake),
  Ensure that EOF is dispatched to the stream callback (Daniel P. Berrange),
  Improve two log messages in virNetMessage (Daniel P. Berrange),
  Lower logging level when failing to register socket watch (Daniel P. Berrange),
  screenshot: Set access rights to temporary file (Michal Privoznik),
  maint: improve makefile whitespace (Eric Blake),
  network: Don't ignore errors in dnsmasq config file creation (Matthias Bolte),
  network: Fix dnsmasq hostsfile creation logic and related tests (Matthias Bolte),
  build: update translated files (Eric Blake),
  Support automatic creation of leases for disks in sanlock (Daniel P. Berrange),
  Support loading a configuration file for sanlock plugin (Daniel P. Berrange),
  Allow per-driver config file for lock manager plugins (Daniel P. Berrange),
  network: add domain to unqualified names defined with <host> (Laine Stump),
  Convert libvirtd over to the new RPC handling APIs (Daniel P. Berrange),
  Convert the remote driver to new RPC client APIs (Daniel P. Berrange),
  Add XDR_CFLAGS to libvirt-net-rpc.la library (Daniel P. Berrange),
  Ensure sanlock socket is labelled with the VM process label (Daniel P. Berrange),
  Add a virSecurityManagerSetProcessFDLabel (Daniel P. Berrange),
  Rename virSecurityManagerSetFDLabel method (Daniel P. Berrange),
  Add node prefix to virNodeGet(CPU|Memory)Stats structs and defines (Matthias Bolte),
  qemu: Fix update device for CURRENT + FORCE flags (Jiri Denemark),
  nwfilter: Return error message about unresolvable variables (Stefan Berger),
  build: rename Vcpupin to VcpuPin (Eric Blake),
  sysinfo: cleanup function/struct names. (Minoru Usui),
  sysinfo: fix lack of error check in virSysinfoFormat(). (Minoru Usui),
  tests: Partly fix networkxml2argvtest being configure result dependent (Matthias Bolte),
  qemu: Remove bogus error codes for NUMA memory tuning (Osier Yang),
  network: fix indentation in networkBuildDnsmasqArgv (Laine Stump),
  vcpupin: add query option to virsh vcpupin command (Taku Izumi),
  vcpuinfo: add the code to fallback to try new API (Taku Izumi),
  vcpupin: implement the remote protocol to address the new API (Taku Izumi),
  vcpupin: implement the code to support new API for the qemu driver (Taku Izumi),
  build: update gnulib for intprops (Eric Blake),
  Rename iface(G|S)etMacaddr to iface(G|S)etMacAddress for consistency (Matthias Bolte),
  Network: Add support for DNS hosts definition to the network XML (Michal Novotny),
  Network: Add additional hosts internal infrastructure (Michal Novotny),
  Network: Add regression tests for the command-line arguments (Michal Novotny),
  Network: modify dnsmasq commandline build function to allow testing (Michal Novotny),
  tests: Improve IPv6 detection for virNetSocket tests (Matthias Bolte),
  Move load of AppArmor profile to GenLabel() (Jamie Strandboge),
  Add Memory Device Information to virSysinfoRead() from dmidecode type 17 (Minoru Usui),
  Add Processor Information to virSysinfoRead() from dmidecode type 4 (Minoru Usui),
  Cleanup virSysinfoRead() (Minoru Usui),
  Make sure virnetprotocol.[ch] are in BUILT_SOURCES (Daniel P. Berrange),
  maint: typo fixes (Eric Blake),
  Add missing translation of error message from QEMU reboot patch (Daniel P. Berrange),
  Allow automatic kill of guests when a connection is closed (Daniel P. Berrange),
  Automatically kill target QEMU if migration aborts abnormally (Daniel P. Berrange),
  Add infrastructure to automatically destroy guests when a connection closes (Daniel P. Berrange),
  Move the RPC generator scripts into src/rpc (Daniel P. Berrange),
  Introduce generic RPC client objects (Daniel P. Berrange),
  Introduce generic RPC module for advertising via MDNS (Daniel P. Berrange),
  Introduce generic RPC server objects (Daniel P. Berrange),
  Integrate TLS/SASL directly into the socket APIs (Daniel P. Berrange),
  Generic module for handling SASL authentication & encryption (Daniel P. Berrange),
  Generic module for handling TLS encryption and x509 certs (Daniel P. Berrange),
  Introduce a generic object for using network sockets (Daniel P. Berrange),
  Provide a simple object for encoding/decoding RPC messages (Daniel P. Berrange),
  Defines the basics of a generic RPC protocol in XDR (Daniel P. Berrange),
  build: update to latest gnulib (Eric Blake),
  python: Generate virStreamFree but don't expose in bindings (Cole Robinson),
  maint: avoid future setgid problems (Eric Blake),
  qemu: Only check for NUMA availability if required (Jiri Denemark),
  util: avoid PATH_MAX-sized array (Eric Blake),
  xen: avoid PATH_MAX-sized array (Eric Blake),
  tests: avoid PATH_MAX-sized array (Eric Blake),
  virStorageVol: avoid PATH_MAX-sized array (Eric Blake),
  cleanup: make several interface functions commonly available (Stefan Berger),
  cleanup: make nlComm commonly available (Stefan Berger),
  maint: remove syntax-check exception (Eric Blake),
  Remove macvtap dependency on domain configuration (Daniel P. Berrange),
  util: Correct the error prompt string (Osier Yang),
  Fix to python API extractor and API doc generation (Daniel Veillard),
  qemu: domain I/O asynchronous handling (Michal Privoznik),
  python: Mark event callback wrappers as private (Cole Robinson),
  python: events: Fix C->Python handle callback prototype (Cole Robinson),
  python: Add bindings for virEvent*Handle/Timeout (Cole Robinson),
  events: Correct virEventAddTimeout docs (Cole Robinson),
  Promote virEvent*Handle/Timeout to public API (Cole Robinson),
  python: Implement virStreamSend/RecvAll helpers (Cole Robinson),
  python: Implement virStreamSend/Recv (Cole Robinson),
  conf: Make full use of goto label (Osier Yang),
  python: Implement bindings for virStreamEventAddCallback (Cole Robinson),
  python: generator: Don't print warning if nothing to warn about (Cole Robinson),
  python: libvirt-override: use simpler debug (Cole Robinson),
  virsh: enhance snapshot-create-as (Eric Blake),
  virsh: add snapshot-create-as command (Eric Blake),
  virsh: clarify snapshot vs. save (Eric Blake),
  Fix compile warnings in virsh vcpupin (Daniel P. Berrange),
  remote generator: Allow to annotate arrays with typecasts (Matthias Bolte),
  remote: Handle functions that return optional strings (Matthias Bolte),
  remote: Generate virDomainGetBlockPullInfo (Matthias Bolte),
  vcpupin: add vcpupin resetting feature to qemu driver (Taku Izumi),
  vcpupin: add virDomainVcpupinDel function (Taku Izumi),
  vcpupin: add reset option to virsh vcpupin command (Taku Izumi),
  vcpupin: improve vcpupin definition of virsh vcpupin (Taku Izumi),
  Fix preprocessor indentation in nodeinfo.c (Matthias Bolte),
  Move XenAPI driver to correct spec file section (Matthias Bolte),
  numatune: Add tests for numatune XML (Osier Yang),
  numatune: Support NUMA memory tuning in qemu driver (Osier Yang),
  numatune: Support persistent XML for numatune (Osier Yang),
  numatune: Define XML schema (Osier Yang),
  Update qemuDomainSetBlkioParameters to use flags (Hu Tao),
  update qemuDomainGetBlkioParameters to use flags (Hu Tao),
  Add new parameters for blkiotune (Hu Tao),
  apparmor: implement AppArmorSetFDLabel() (Jamie Strandboge),
  Add missing error reporting when loading mac filter config for QEMU (Daniel P. Berrange),
  virsh: Add support for virDomainGetControlInfo (Jiri Denemark),
  qemu: Implement virDomainGetControlInfo (Jiri Denemark),
  Wire protocol and remote driver for virDomainGetControlInfo (Jiri Denemark),
  sendkey: use consistent API convention (Eric Blake),
  build: export correct function names (Eric Blake),
  build: avoid compiler warning on non-Linux (Eric Blake),
  remote generator: Handle struct returning functions better (part 2) (Matthias Bolte),
  Fix apibuild.py warnings about missing comment headers (Matthias Bolte),
  remote generator: Handle struct returning functions better (Matthias Bolte),
  support for Xen HVM Viridian (Hyper-V) enlightenment interface (Daniel Gollub),
  virsh: reduce complexity in argv iteration (Eric Blake),
  Add support for network filter code in LXC driver (Daniel P. Berrange),
  qemu: Translate boot config into bootindex if possible (Jiri Denemark),
  spice: add <clipboard copypaste='yes|no'> option (Marc-André Lureau),
  virNodeGetMemoryStats: Implement linux support (Minoru Usui),
  virNodeGetMemoryStats: Implement virsh support (Minoru Usui),
  virNodeGetMemoryStats: Implement remote protocol (Minoru Usui),
  virNodeGetMemoryStats: Implement public API (Minoru Usui),
  virNodeGetMemoryStats: Define internal driver API (Minoru Usui),
  virNodeGetCPUStats: Implement linux support (Minoru Usui),
  virNodeGetCPUStats: Implement virsh support (Minoru Usui),
  virNodeGetCPUStats: Implement remote protocol (Minoru Usui),
  virNodeGetCPUStats: Define internal driver API (Minoru Usui),
  virNodeGetCPUStats: Expose new API (Minoru Usui),
  Fix autostart flag when loading running domains (Michael Chapman),
  send-key: Implementing the remote protocol (Lai Jiangshan),
  send-key: Implementing the public API (Lai Jiangshan),
  send-key: Defining the internal API (Lai Jiangshan),
  remote generator: Handle (unsigned) int arrays (Lai Jiangshan),
  add VSH_OFLAG_REQ_OPT options (Lai Jiangshan),
  allow name for VSH_OT_ARGV options (Lai Jiangshan),
  storage: avoid an intermediate malloc (Eric Blake),
  command: reduce duplicated debug messages (Eric Blake),
  qemu: Scrape stdout for virtio console pty (Cole Robinson),
  virsh: Add daemon version reporting (Michal Privoznik),
  nodeinfo: remove superflous braces (Guido Günther),
  util: Cleanup indention problem in virterror.c (Osier Yang),
  qemu: Parse current balloon value returned by query_balloon (Osier Yang),
  Deprecate several CURRENT/LIVE/CONFIG enums (Hu Tao),
  qemu: Faster response time to qemu startup errors (Stefan Berger),
  build: update to latest gnulib (Eric Blake),
  vcpupin: add the new option to "virsh vcpupin" command (Taku Izumi),
  vcpupin: implement the remote protocol to address the new API (Taku Izumi),
  vcpupin: implement the code to address the new API in the qemu driver (Taku Izumi),
  Use virTimeMs when appropriate (Jiri Denemark),
  Introduce virTimeMs for getting current time in ms (Jiri Denemark),
  test: Remove unused timeval (Jiri Denemark),
  tests: add a test for multi function PCI device (Wen Congyang),
  the hotplugged PCI device should use the whole slot (Wen Congyang),
  assign the whole slot to the PCI device that has no address (Wen Congyang),
  Reimplement qemuDomainPCIAddressReserveSlot(): reserve all functions in the slot (Wen Congyang),
  the key of hash table should include the function value (Wen Congyang),
  prevent hot unplugging multi function PCI device (Wen Congyang),
  check whether qemu supports multi function PCI device (Wen Congyang),
  xenapi: Improve error message on session failure (Matthew Booth),
  qemu: Fix one type in the error prompt string (Osier Yang),
  Move VMware Workstation/Player driver to correct spec file section (Matthias Bolte),
  esx: avoid dead code (Eric Blake),
  qemu: reorder checks for safety (Eric Blake),
  uuid: annotate non-null requirements (Eric Blake),
  debug: avoid null dereference on uuid lookup api (Eric Blake),
  python: avoid unlikely sign extension bug (Eric Blake),
  build: detect Coverity 5.3.0 (Eric Blake),
  build: Fix typos in configure.ac (Osier Yang),
  virsh: Expose virDomainMigrateSetMaxSpeed API to virsh (Osier Yang),
  lxc: Ensure container <init> actually exists (Cole Robinson),
  lxc: Verify root fs exists before mounting (Cole Robinson),
  lxc: controller: Improve container error reporting (Cole Robinson),
  lxc: Improve guest startup error reporting (Cole Robinson),
  lxc: Refactor controller command building (Cole Robinson),
  lxc: Don't report error in Wait/SendContinue (Cole Robinson),
  lxc: Drop container stdio as late as possible (Cole Robinson),
  util: Implement virRun as a wrapper around virCommand (Cole Robinson),
  qemu: Convert virExec usage to virCommand (Cole Robinson),
  Use VIR_USE_CPU instead of new wheel (Osier Yang),
  Avoid virGetVersion failure on specific driver support configurations (Matthias Bolte)
- Cleanups:
  cgroup: silence coverity warning (Eric Blake),
  rpc: silence coverity warning (Eric Blake),
  qemu: silence coverity warnings (Eric Blake),
  build: avoid 'make syntax-check' failure (Eric Blake),
  build: remove dead variables (Eric Blake),
  Remove bogus jsondata.h file reference which does not exist (Daniel P. Berrange),
  build: ignore generated file (Eric Blake),
  build: Don't expect translatable strings in a dead file (Jiri Denemark),
  Cleanup remote protocol definitions (Daniel P. Berrange),
  Remove obsolete libvirtd mdns code (Daniel P. Berrange),
  build: avoid long line tests (Eric Blake),
  maint: add omitted copyright header (Eric Blake),
  build: break some long lines (Eric Blake),
  build: silence coverity false positives (Eric Blake),
  secret: drop dead code (Eric Blake),
  build: silence coverity false positive (Eric Blake),
  Move virRun, virExec*, virFork to util/command (Cole Robinson),
  util: Remove unused virExec wrapper (Cole Robinson),
  esx: Remove duplicated invalid-argument checks (Matthias Bolte)

### 0.9.2: Jun 6 2011

- Features:
  Framework for lock manager plugins (Daniel P. Berrange),
  API for network config change transactions (Michal Privoznik),
  flags for setting memory parameters (Hu Tao),
  virDomainGetState public API (Jiri Denemark),
  qemu: allow blkstat/blkinfo calls during migration (Federico Simoncelli),
  Introduce migration v3 API (Daniel P. Berrange),
  Defining the Screenshot public API (Michal Privoznik),
  public API for NMI injection (Lai Jiangshan)
- Documentation:
  esx: Fix driver method version annotations (Matthias Bolte),
  vbox: Fix typo in error message (Matthias Bolte),
  virsh: Document nodeinfo output (Jiri Denemark),
  Correct 'cputune' documentation example. (Neil Wilson),
  document iface-* commands (Eric Blake),
  Add initial docs about the lock managers (Daniel P. Berrange),
  maint: use consistent file name for threading notes (Eric Blake),
  Fix virTypedParameter alias comments (Matthias Bolte),
  Fix error syntax of vcpupin example XML (Osier Yang),
  Automatically generate the hvsupport.html.in file from source files (Daniel P. Berrange),
  Fix documentation for cputune parameters (Osier Yang),
  avoid double 'the' (Eric Blake),
  Add documentation about test suites (Daniel Veillard),
  updates to CA cert and client cert/key info (Doug Goldstein),
  node filesystem attr is 'accessmode', not 'mode' (Cole Robinson)
- Portability:
  vbox: Fix version extraction on Windows for newer VirtualBox versions (Matthias Bolte),
  Make dlopen usage in lock manager conditional (Matthias Bolte),
  build: fix VPATH build break from previous patch (Eric Blake),
  Remove call to deprecated gnutls_certificate_type_set_priority (Daniel P. Berrange),
  Fix sysinfo/virsh build problems on Win32 (Daniel P. Berrange),
  Fix build with --with-driver-modules enabled (Matthias Bolte),
  build: fix 'make dist' for ./configure --without-remote (Eric Blake),
  virsh: time_t is not a long on FreeBSD (Matthias Bolte),
  time_t is not a long on FreeBSD, switch internal type to long long (Matthias Bolte),
  build: avoid strerror_r pitfalls (Eric Blake),
  build: fix VIR_DEBUG on mingw (Eric Blake),
  build: generate files when building without libvirtd (Wen Congyang),
  build: drop unused sys/syslimits.h header (Eric Blake),
  Fix prototype of virRun for Win32 targets (Daniel P. Berrange),
  build: tolerate unlimited group size (Eric Blake),
  Disable virCommandExec on Win32 (Daniel P. Berrange),
  command: Fix compilation on FreeBSD (Matthias Bolte),
  apparmor: Fix compilation by removing remains from virCommand conversion (Matthias Bolte),
  configure: Fix mpath check on non-Linux systems (Matthias Bolte),
  fix xdr detection and use with recent glibc (Christophe Fergeau),
  build: avoid gcc preprocessor extensions (Eric Blake),
  build: fix VPATH build with distributed generated files (Eric Blake),
  build: fix VPATH builds (Eric Blake)
- Bug Fixes:
  Fix QEMU p2p v2 migration when run from a v3 client (Daniel P. Berrange),
  Don't raise an error if the migration cookie is NULL (Daniel P. Berrange),
  Fix check of virKillProcess return status (Daniel P. Berrange),
  qemu: Avoid use after free in qemuCaps parsing (Jiri Denemark),
  security driver: ignore EINVAL when chowning an image file (Laine Stump),
  migrate: detect xml incompatibility (Eric Blake),
  event: avoid memory leak on cleanup (Eric Blake),
  qemu: avoid memory leak on vcpupin (Eric Blake),
  remote: avoid leak on failure (Eric Blake),
  lock: avoid leak on failure (Eric Blake),
  storage: avoid memory leak on stat failure (Eric Blake),
  storage: avoid memory leak (Eric Blake),
  libvirtd: avoid leak on failure (Eric Blake),
  command: avoid leak on failure (Eric Blake),
  Explicitly set VM state to paused after migration completes (Daniel P. Berrange),
  Fix regressions BlockStats/Info APIs in QEMU driver (Daniel P. Berrange),
  Fix minor issues in libxenlight managed save (Jim Fehlig),
  Fix auditing of disk hotunplug operations (Daniel P. Berrange),
  Avoid crash on NULL pointer in lock driver impls during hotplug (Daniel P. Berrange),
  Fix return value in lock manager hotplug methods (Daniel P. Berrange),
  Make sure virDomainSave/virDomainManagedSave reset id to -1 (Daniel P. Berrange),
  Fix handling of VIR_EVENT_HANDLE_ERROR in QEMU monitor (Daniel P. Berrange),
  security: plug regression introduced in disk probe logic (Eric Blake),
  Fix order of disks and controllers (Jiri Denemark),
  util: Fix incorrect error in PCI functions (Osier Yang),
  openvz: Restore original EOF handling in openvzGetProcessInfo (Matthias Bolte),
  openvz: Handle getline failures in openvzReadConfigParam properly (Matthias Bolte),
  conf: Fix incorrect spice graphic XML format on compression options (Michal Privoznik),
  nwfilter: reorder locks (Stefan Berger),
  openvz: Fix regression in openvzGetVPSUUID (Matthias Bolte),
  esx: Fix regression in absolute file name handling (Matthias Bolte),
  openvz: Fix regression in config file parsing (Taisuke Yamada),
  audit: fix minor off-by-one (Eric Blake),
  Fix libxl vm def handling on domU cleanup (Markus Groß),
  Fix modifying disk devices in qemu driver (Markus Groß),
  json: Avoid passing large positive 64 bit integers to QMP. (Richard W.M. Jones),
  Fix initialization of current vcpus in libxl driver (Jim Fehlig),
  qemu: Don't change ownership of file when appending to it (Michal Privoznik),
  qemu: fix typo in name - should be VHOST_NET, not VNET_HOST (Laine Stump),
  Fix QEMU -vnc arg generation with raw IPv6 addresses (Daniel P. Berrange),
  Fix peer2peer migration with transient VMs (Daniel P. Berrange),
  python: Don't free must-not-free variables (Michal Privoznik),
  python: Fix typo in bindings (Michal Privoznik),
  libvirt.spec: /var/cache/libvirt should be 0711. (Richard W.M. Jones),
  remote: remove bogus virDomainFree. (Richard W.M. Jones),
  qemudDomainMemoryPeek: change ownership/selinux label on temporary file. (Richard W.M. Jones),
  Fix QEMU migration cookie crash for guests with no graphics (Daniel P. Berrange),
  Blank out the 'listenAddr' parameter if empty string (Daniel P. Berrange),
  Improve invalid argument checks for the public API (Matthias Bolte),
  qemu: fix typo in spice migration code (Michal Privoznik),
  openvz: fix logic bug in previous patch (Eric Blake),
  Fix error reporting in stream creation code (Matthias Bolte),
  virsh: Correctly initialize libvirt (Jiri Denemark),
  Fix leak of mime type string in screenshot dispatcher (Daniel P. Berrange),
  Fix remote dispatcher for screenshot command (Daniel P. Berrange),
  Add missing initialization to 'ret' in qemu migration (Daniel P. Berrange),
  Close all sockets before cancelling QEMU migration (Daniel P. Berrange),
  Ensure we always read a full buffer in tunnelled migration (Daniel P. Berrange),
  phyp: avoid a crash (Eric Blake),
  stream: avoid use-after-free (Eric Blake),
  virsh: Fix uninitialized variable warning (Matthias Bolte),
  libxl: fix typos in previous patch (Eric Blake),
  node_device: avoid null dereference on error (Eric Blake),
  tests: avoid crash when run under gcov (Eric Blake),
  Fix two uninitialized variable warnings (Matthias Bolte),
  apparmor: Fix uninitalized variable warning in virt-aa-helper (Matthias Bolte),
  Fix qemuMigrationToFile nonull annotation (Daniel P. Berrange)
- Improvements:
  API: consolidate common unreleased enums (Eric Blake),
  uml: correct command line networking parameters (Heath Petersen),
  Add call to sanlock_restrict() in QEMU lock driver (Daniel P. Berrange),
  screenshot: Expose the new API in virsh (Michal Privoznik),
  libxl: adds managed save and restore support (Markus Groß),
  libxl: get maximum memory of running domain (Markus Groß),
  Add a plugin for the 'sanlock' project (Daniel P. Berrange),
  Allow leases to be hotpluged with QEMU guests (Daniel P. Berrange),
  Support passing QEMU lock state to dest during migration (Daniel P. Berrange),
  Integrate the QEMU driver with the lock manager infrastructure (Daniel P. Berrange),
  Add higher level lock API for domain objects (Daniel P. Berrange),
  Add a 'nop' lock driver implementation. (Daniel P. Berrange),
  Support leases in guest XML and lock manager (Daniel P. Berrange),
  Allow handshake with child process during startup (Daniel P. Berrange),
  tests: really fix QEMU XML-2-ARGV graphics-spice-timeout test (Eric Blake),
  build: avoid corrupting / in RHEL 5 (Eric Blake),
  tests: Add a test for correct disk device ordering (Jiri Denemark),
  Fix QEMU XML-2-ARGV graphics-spice-timeout test (Matthias Bolte),
  remote generator: Handle some virTypedParameterPtr using functions (Matthias Bolte),
  apibuild: Restrict long usage to existing functions and structs (Matthias Bolte),
  remote generator: Legacy support for hyper to long mappings (Matthias Bolte),
  Use common parameter order for remote(De)SerializeTypedParameters (Matthias Bolte),
  openvz: Add simple test for openvzReadNetworkConf (Matthias Bolte),
  openvz: Set virtType to openvz in openvzLoadDomains (Matthias Bolte),
  storage: List directory volumes for dir/fs/netfs pools (Cole Robinson),
  tests: Add more complex domain scheme test data (Michal Privoznik),
  tests: Test for SPICE compression options (Michal Privoznik),
  Ignore backward compatibility macros in apibuild.py (Matthias Bolte),
  openvz: fix bridge devices parsing in openvzReadNetworkConf() (Jean-Baptiste Rouault),
  Allow custom XML to be passed in during migration (Daniel P. Berrange),
  Allow virsh to pass in a custom XML document for migration (Daniel P. Berrange),
  Add an API for comparing the ABI of two guest configurations (Daniel P. Berrange),
  Remove unused 'target' field in virDomainHostdevDef (Daniel P. Berrange),
  lxc: Seperate domain config loading (Osier Yang),
  openvz: Automatically disable on non-Linux systems (Matthias Bolte),
  Support maximum and current memory flags in libxl driver (Markus Groß),
  Add domainSave/Restore to libxl driver (Markus Groß),
  Add domainCoreDump to libxl driver (Markus Groß),
  Populate domid field of devices for libxenlight (Markus Groß),
  Issue full error messages when processing QEMU monitor I/O (Daniel P. Berrange),
  Don't kill QEMU process when a monitor I/O parsing error occurs (Daniel P. Berrange),
  Introduce a new event emitted when a virtualization failure occurs (Daniel P. Berrange),
  sched: provide new API shims for remaining drivers (Eric Blake),
  virsh: improve schedinfo querying ability (Eric Blake),
  remote: introduce remoteGetSchedulerParametersFlags (Eric Blake),
  qemu: introduce qemuGetSchedulerParametersFlags (Eric Blake),
  sched: introduce virDomainGetSchedulerParametersFlags (Eric Blake),
  remote: consolidate typed parameter handling (Eric Blake),
  maint: prefer newer API names internally (Eric Blake),
  libvirt.h: avoid regression, and document preferred name (Eric Blake),
  Fix virExecWithHook Prototype (Richard Laager),
  interface: reformat error logs (Laine Stump),
  interface: implement a test driver for network config transaction API. (Michal Privoznik),
  interface: Implement driver methods for network config transaction API (Michal Privoznik),
  interface: expose network config transaction API to virsh (Michal Privoznik),
  interface: implement remote protocol for network config transaction API (Michal Privoznik),
  interface: implement public APIs for libvirt transactional network changes (Michal Privoznik),
  interface: define internal driver API for network config transactions (Michal Privoznik),
  sexpr: Improve serialization error reporting (Matthias Bolte),
  qemu: implement the new flags for setting memory parameters (Hu Tao),
  qemu: implement the new flags for getting memory parameters (Hu Tao),
  qemu : support persistent add/delete network interface (KAMEZAWA Hiroyuki),
  openvz: Add simple testcase for config file parsing function (Matthias Bolte),
  Add disk attach/detach support to libxl driver (Markus Groß),
  Refactored libxl datastructure instantiation (Markus Groß),
  schema: Add graphics element passwdValidTo attribute to schema (Michal Privoznik),
  Fix sign mismatches between public API, driver API and XDR protocol (Matthias Bolte),
  remote generator: Fix XDR sign mismatch for virNodeGet(Cells)FreeMemory (Matthias Bolte),
  remote generator: Handle stream-using functions (Matthias Bolte),
  remote generator: Make call-by-reference handling stricter (Matthias Bolte),
  remote generator: Rename virNodeGetCellsFreeMemory parameters to common pattern (Matthias Bolte),
  remote generator: Handle virDomainCreateWithFlags (Matthias Bolte),
  Allow to explicitly disable the secrets a directory storage driver (Matthias Bolte),
  Fix the signature of virDomainMigrateFinish3 for error reporting (Daniel P. Berrange),
  Fix preservation of errors across migration steps (Daniel P. Berrange),
  Improve debug logging of migration APIs (Daniel P. Berrange),
  Fix error propagation in finish method for v3 migration (Daniel P. Berrange),
  Fix SPICE seamless migration hostname (Daniel P. Berrange),
  Fix resume on destination when doing non-live tunnelled migration (Daniel P. Berrange),
  Introduce two method migration APIs (Daniel P. Berrange),
  Add a second URI parameter to virDomainMigratePerform3 method (Daniel P. Berrange),
  Extend v3 migration protocol to allow app supplied XML for target (Daniel P. Berrange),
  esx: Report an error when auth pointer is missing instead of declining (Matthias Bolte),
  Perform feature flag compat checking in QEMU migration cookies (Daniel P. Berrange),
  Replace all remaining setgid/setuid calls with virSetUIDGID (Jiri Denemark),
  util: Keep errno set to the root error after when returning from virSetUIDGID (Jiri Denemark),
  storage: Add comment to picking return value of qemu-img (Michal Privoznik),
  spice: support streaming-video parameter (Alon Levy),
  nwfilter: enable filtering of gratuitous ARP packets (Stefan Berger),
  qemu: don't require is_kvm for vhost-net support (Laine Stump),
  Use per-user TLS certificates when possible (Doug Goldstein),
  storage: pick return value of qemu-img (Michal Privoznik),
  remote generator: Add special case for virConnectGetType (Matthias Bolte),
  remote generator: Don't rely on $_ being stable over a large function (Matthias Bolte),
  build: require newer gettext (Eric Blake),
  virsh: Use Env variables for debug level and logfile (Supriya Kannery),
  Don't generate cookies with v2 migration protocol. (Daniel P. Berrange),
  Ensure p2p and direct migration use the new v3 protocol if available (Daniel P. Berrange),
  remote: remove special case for getting version (Eric Blake),
  virsh: optimize creation of default connection (Eric Blake),
  Clarify that virDomainGet(Memory|Blkio)Parameters doesn't support subsets (Matthias Bolte),
  Clarify that virDomainSet(Memory|Blkio)Parameters can take parameter subsets (Matthias Bolte),
  Clarify that virDomainSetSchedulerParameters(Flags) can take subsets (Matthias Bolte),
  Clarify the semantic of virDomainGetSchedulerParameters arguments (Matthias Bolte),
  Clarify semantic of nparams argument of virDomainGetSchedulerType (Matthias Bolte),
  Fix messages using VIR_ERR_XML_ERROR (Cole Robinson),
  libvirt.h: consolidate typed parameter handling (Eric Blake),
  build: update to latest gnulib (Eric Blake),
  Add support for 'passthru' mode for direct network interfaces (Dirk Herrendorefer),
  virsh: add parameters --live, --config and --current to cmd schedinfo (Hu Tao),
  remote: introduce remoteSetSchedulerParametersFlags (Hu Tao),
  qemu: introduce qemuSetSchedulerParametersFlags (Hu Tao),
  sched: adjust parameter values to make current = 0 (Eric Blake),
  introduce virDomainSetSchedulerParametersFlags (Hu Tao),
  storage_backend: Convert virRunWithHook usage to virCommand (Cole Robinson),
  storage_backend: Fix error reporting with regex helper (Cole Robinson),
  storage: Covert regex helpers to virCommand (Cole Robinson),
  openvz: Convert virExec usage to virCommand (Cole Robinson),
  storage: iscsi: Convert virExec to virCommand (Cole Robinson),
  remote generator, client: Add more special case handling (Matthias Bolte),
  remote generator, client: Handle functions that return an optional string (Matthias Bolte),
  esx: Simplify some esxVI_Boolean to bool (Matthias Bolte),
  esx: Convert autoAnswer from esxVI_Boolean to a simple bool (Matthias Bolte),
  esx: Fix race condition in esxVI_EnsureSession (Matthias Bolte),
  esx: Whitespace cleanup in the generator (Matthias Bolte),
  esx: Change some alignments in the input file (Matthias Bolte),
  esx: Change generated method parameter autobinding (Matthias Bolte),
  virsh: Report an error when virGetUserDirectory fails (Matthias Bolte),
  maint: mark more perl scripts executable (Eric Blake),
  maint: mark perl script executable (Eric Blake),
  maint: ignore generated file (Eric Blake),
  Improve error message when XDR marshalling fails (Daniel P. Berrange),
  Run tunnelled migration IO in separate thread (Daniel P. Berrange),
  Don't overwrite error when stream send fails (Daniel P. Berrange),
  Make tunnelled migration honour resource restriction (Daniel P. Berrange),
  Refactor migration completion loop to allow code reuse (Daniel P. Berrange),
  Implement migration v3 protocol in QEMU driver (Daniel P. Berrange),
  Merge tunnel and non-tunnel migration impl into one (Daniel P. Berrange),
  Fix VM teardown if prepare returns invalid URI in v2 migration (Daniel P. Berrange),
  Refactor tunnelled migration methods (Daniel P. Berrange),
  Wire up SPICE client relocation with QEMU migration (Daniel P. Berrange),
  Pass graphics setup from dst back to src via migration cookies (Daniel P. Berrange),
  Introduce migration cookies to QEMU driver (Daniel P. Berrange),
  Fix locking with qemuMigrationPrepareTunnel method (Daniel P. Berrange),
  Remote driver implementation of new migration API (Daniel P. Berrange),
  Add many version number annotations to drivers (Daniel P. Berrange),
  Convert all driver struct intializers to C99 style (Daniel P. Berrange),
  Tweak driver naming for consistency with public API (Daniel P. Berrange),
  qemu: Update domain state when reconnecting monitor (Jiri Denemark),
  Implement domain state reason (Jiri Denemark),
  Implement basic virDomainGetState in all drivers (Jiri Denemark),
  virsh: Prefer virDomainGetState over virDomainGetInfo (Jiri Denemark),
  Wire protocol format and remote driver for virDomainGetState (Jiri Denemark),
  virDomainGetState public API implementation (Jiri Denemark),
  Internal driver API for virDomainGetState (Jiri Denemark),
  esx: Refactor common code in the generator (Matthias Bolte),
  esx: Improve dynamic cast detection in the generator (Matthias Bolte),
  esx: Improve list usage detection in the generator (Matthias Bolte),
  esx: Remove 1000 lines of generated but unused code (Matthias Bolte),
  esx: Generate implicit _this macros (Matthias Bolte),
  esx: Move the Event type from the VI generator to manually written code (Matthias Bolte),
  test: all test_scripts should be part of tarball when building without libvirtd (Wen Congyang),
  build: probes.d and libvirtd.stp should be part of tarball (Wen Congyang),
  remote: Convert SSH tunnel to virCommand (Cole Robinson),
  storage: Convert qemu-img -help parsing to virCommand (Cole Robinson),
  apparmor: Convert virExec usage to virCommand (Cole Robinson),
  util: Combine __virExec and virExecWithHook (Cole Robinson),
  remote_driver: Convert virExecDaemonize usage to virCommand (Cole Robinson),
  remote: Use virDomainEventState helpers (Cole Robinson),
  libxl: Convert to virDomainEventState (Cole Robinson),
  test: Use virDomainEventState helpers (Cole Robinson),
  lxc: Use virDomainEventState helpers (Cole Robinson),
  qemu: Use virDomainEventState helpers (Cole Robinson),
  domain_event: Add common domain event queue/flush helpers (Cole Robinson),
  domain_event: Add virDomainEventState structure (Cole Robinson),
  xml: Use virXMLParse* helpers everywhere (Cole Robinson),
  domain: Require init node for container guests (Cole Robinson),
  xml: Make sure virXpathNodeSet always sets an error (Cole Robinson),
  vbox: Implement the Screenshot driver methods (Michal Privoznik),
  qemu: Implement the Screenshot driver methods (Michal Privoznik),
  virFDStream: Add option for delete file after it's opening (Michal Privoznik),
  Implementing the Screenshot remote protocol (Michal Privoznik),
  Implementing the Screenshot public API (Michal Privoznik),
  Defining the Screenshot internal API (Michal Privoznik),
  remote generator: Add skipgen/autogen flags to .x files (Matthias Bolte),
  nwfilter: drop unused flag argument (Eric Blake),
  maint: omit translation for all VIR_INFO (Eric Blake),
  build: wrap macro body in one-shot do-while loop (Eric Blake),
  build: drop need for VIR_DOMAIN_DEBUG0() (Eric Blake),
  libvirt,logging: cleanup VIR_XXX0() (Lai Jiangshan),
  maint: avoid a couple of gnulib regressions (Eric Blake),
  build: remove some dead assignments (Eric Blake),
  Allow destroying QEMU VM even if a job is active (Daniel P. Berrange),
  Add support for YAJL version 2 API/ABI (Daniel P. Berrange),
  libxl: support enabling the HPET (Paolo Bonzini),
  libxl: support enabling the HPET (Paolo Bonzini),
  xen: parse and generate hpet item in sxpr (Paolo Bonzini),
  virsh: flexibility in CA cert and user cert/key (Doug Goldstein),
  remote generator: Make parsing stricter (Matthias Bolte),
  remote generator: Unify unsigned int notation in .x files (Matthias Bolte),
  remote generator: Fix comment ignoring regex (Matthias Bolte),
  Rename internal DumpXML functions to GetXMLDesc (Matthias Bolte),
  qemu,inject-nmi: Implement the driver methods (Lai Jiangshan),
  inject-nmi: Expose the new API in virsh (Lai Jiangshan),
  inject-nmi: Implementing the remote protocol (Lai Jiangshan),
  inject-nmi: Implementing the public API (Lai Jiangshan),
  inject-nmi: Defining the internal API (Lai Jiangshan),
  lxc: container: Build init cmd before we close stdout (Cole Robinson),
  lxc: container: Convert init node exec to virCommand (Cole Robinson),
  command: Add virCommandExec helper (Cole Robinson),
  lxc: driver: Improve logging when launching emulator (Cole Robinson),
  lxc: driver: Convert emulator launching to virCommand (Cole Robinson),
  command: Add virCommandEnvAddFormat (Cole Robinson),
  build: translate generated strings (Eric Blake),
  Pull in gnulib fnmatch module (Daniel P. Berrange),
  json: Fix *GetBoolean functions (Jiri Denemark),
  build: rebuild generated files after rpcgen_fix.pl tweak (Eric Blake),
  Re-add libvirt.spec to tarball to allwo "make rpm" (Daniel Veillard),
  build: Remove all generated RPC files from GIT (Daniel P. Berrange),
  build: refactor generated RPC files (Daniel P. Berrange),
  build: rename generated files to .h, for automake's sake (Eric Blake),
  remote generator, client: Handle arguments with limited length (Matthias Bolte),
  remote generator, client: Handle functions that return lists (Matthias Bolte),
  remote: Refactor remote*Open and remote*Close functions (Matthias Bolte),
  remote generator, client: Handle functions with optional return values (Matthias Bolte),
  remote generator, client: Handle functions with multiple return values (Matthias Bolte),
  remote generator, client: Handle functions with wrapped return values (Matthias Bolte),
  remote generator, client: Handle functions with simple return values (Matthias Bolte),
  remote generator, client: Handle simple remote driver functions (Matthias Bolte),
  remote generator: Reorder into prepare and print section (Matthias Bolte),
  remote generator, daemon: Handle functions with multiple return values (Matthias Bolte),
  remote generator, daemon: Combine multiple ifs in the generated code (Matthias Bolte),
  remote generator, daemon: Handle the CPU functions (Matthias Bolte),
  remote generator: Refactor duplicate code (Matthias Bolte),
  remote generator, daemon: Handle functions that return lists (Matthias Bolte),
  remote: Rename 'nameslen' to the common 'maxnames' (Matthias Bolte),
  remote generator, daemon: Handle functions with optional arguments (Matthias Bolte),
  remote generator, daemon: Handle more functions (Matthias Bolte),
  remote generator, daemon: Handle simple-return-value functions (Matthias Bolte),
  remote generator, daemon: Change capitalization of some words (Matthias Bolte),
  remote: Replace 'domain' with 'dom' in the XDR protocol (Matthias Bolte),
  remote generator, daemon: Output function bodies too (Matthias Bolte),
  remote generator: Replace tabs with spaces and rename file (Matthias Bolte),
  Balloon dom0 in libxl driver (Markus Groß),
  remote: check actual access to the cert (Doug Goldstein),
  maint: avoid comparisons to bool constants (Eric Blake),
  Add warning message to XML definition files stored on disk (Michal Privoznik),
  Fix security driver handling of FIFOs with QEMU (Daniel P. Berrange),
  Make taint warnings also go into the domain logfile (Daniel P. Berrange),
  Add a qemuDomainAppendLog method for writing to the domain logfile (Daniel P. Berrange),
  Move qemuProcessLogReadFD and qemuProcessLogFD methods (Daniel P. Berrange),
  Log taint warnings in QEMU driver (Daniel P. Berrange),
  Add field to virDomainObjPtr to track "tainting" (Daniel P. Berrange),
  virsh: improve TLS certificate error messages (Doug Goldstein),
  virsh: use new method for easier log to file (Eric Blake),
  buf: add virBufferVasprintf (Eric Blake),
  maint: rename virBufferVSprintf to virBufferAsprintf (Eric Blake),
  Make QEMU migration use cached qemu capabilities data (Daniel P. Berrange),
  Make QEMU hotplug use cached qemu capabilities data (Daniel P. Berrange),
  Persist qemu capabilities in the domain status file (Daniel P. Berrange)
- Cleanups:
  build: silence coverity false positive (Eric Blake),
  build: silence coverity false positive (Eric Blake),
  .gitignore: Exempt a new test binary. (Eric Blake),
  Ensure hvsupport.html.in is built before HTML validation (Daniel P. Berrange),
  Fix a make check error (Daniel Veillard),
  Add sexpr.c to the list of file with translatable messages (Matthias Bolte),
  don't check flags in virDomainSetSchedulerParametersFlags (Hu Tao),
  build: silence clang false positive (Eric Blake),
  Remove obsolete remoteDispatchOOMError method (Daniel P. Berrange),
  remote: keep 'make check' happy (Eric Blake),
  build: avoid compiler warning during configure (Wen Congyang),
  Remove bogus assert() from migration code (Daniel P. Berrange),
  build: drop files generated by config.status from tarball (Eric Blake)

### 0.9.1: May 5 2011

- Features:
  support various persistent domain updates (KAMEZAWA Hiroyuki),
  improvements on memory APIs (Taku Izumi),
  Add virDomainEventRebootNew (Matthias Bolte),
  various improvements to libxl driver (Markus Groß),
  Spice: support audio, images and stream compression (Michal Privoznik)
- Documentation:
  fix missing VLAN id for Qbg example (Gerhard Stenzel),
  docs: Document filesystem tag device (Cole Robinson),
  maint: fix comment typos (Eric Blake),
  Fix two out-of-date comments in LVM backend (Richard Laager),
  docs: Serial and parallel device target ports actually start from 0 (Matthias Bolte),
  maint: fix grammar errors (Eric Blake),
  docs: document freecell --all (Eric Blake),
  docs: remove "returns" word from beginning of lines (Jean-Baptiste Rouault),
  docs: add an IPv6 address to network XML examples (Laine Stump)
- Portability:
  build: fix getcwd portability problems (Eric Blake),
  build: avoid test warnings on mingw (Eric Blake),
  virsh: avoid compiler warning on mingw (Eric Blake),
  build: Use pkg-config for libssh2 check (Jiri Denemark),
  build: Ignore old audit library (Jiri Denemark),
  build: fix 32-bit test failure (Eric Blake),
  build: Fix problem of building Python bindings (Osier Yang),
  build: fix 32-bit test failure (Eric Blake),
  ppc: Enable starting of Qemu VMs on ppc host (Stefan Berger),
  Migrate VMs between different-endianess hosts (Stefan Berger),
  build: really fix mingw startup (Eric Blake),
  build: fix mingw build (Eric Blake),
  do not build libvirt_iohelper when building without libvirtd (Wen Congyang),
  virsh: fix mingw startup (Eric Blake),
  build: avoid compiler warning on cygwin (Eric Blake),
  Fix build for older gcc (Jim Fehlig),
  Don't try to enable stack protector on Win32 (Daniel P. Berrange)
- Bug Fixes:
  storage: avoid null deref and leak on failure (Eric Blake),
  esx: Avoid null dereference on error in esxDomainGetInfo (Matthias Bolte),
  remote: avoid null dereference on error (Eric Blake),
  cgroup: avoid leaking a file (Eric Blake),
  virsh: avoid null pointer dereference (Eric Blake),
  pci: fix null pointer dereference (Eric Blake),
  qemu: avoid null pointer dereference (Eric Blake),
  tests: avoid null pointer dereference (Eric Blake),
  Fix disability to run on systems with no PCI bus (Michal Privoznik),
  virsh: fix regression in log to file (Supriya Kannery),
  nwfilter: Fix memory leak in the ebtables subdriver (Matthias Bolte),
  qemu: Fix qemuDomainModifyDeviceFlags leaking the caps bitmap (Matthias Bolte),
  Fix memory leak in __virExec (Matthias Bolte),
  hash: fix memory leak regression (Eric Blake),
  Xen: Do not generate net ifname if domain is inactive (Jim Fehlig),
  xen: check if device is assigned to guest before reattaching (Yufang Zhang),
  util: Initialize hooks at daemon shutdown if no hooks defined (Osier Yang),
  fix virsh's regression (Wen Congyang),
  release PCI address only when we have ensured it successfully (Wen Congyang),
  free memory properly in cleanup patch (Hu Tao),
  free buf content when vsnprintf() failed (Wen Congyang),
  esx: Fix dynamic dispatch for CastFromAnyType functions (Matthias Bolte),
  Make crash and live flags mutually exclusive in virDomainCoreDump (Mark Wu),
  Fix small memory leaks in config parsing related functions (Matthias Bolte),
  daemon: Don't try to free an unsigned int in error paths (Matthias Bolte),
  Fix QEMU tunnelled migration FD handling (Daniel P. Berrange),
  Remove artificial minimum limit for guest memory (Jiri Denemark),
  fix tunnelled migration's regression (Wen Congyang),
  qemu: fix the check of virDomainObjUnref()'s return value (Wen Congyang),
  Fix checking of return codes in dispatcher (Daniel P. Berrange),
  qemu: avoid qemu_driver being unlocked twice when virThreadPoolNew() failed (Wen Congyang),
  virsh: fix regression in parsing optional integer (Eric Blake),
  phyp: avoid memory leaks in command values (Eric Blake),
  phyp: avoid memory leak on failure (Eric Blake),
  phyp: avoid a logic bug (Eric Blake),
  free cpumask of vcpupinDef (Hu Tao),
  network: Fix NULL dereference during error recovery (Michal Privoznik),
  Add missing checks for QEMU domain state in tunables APIs (Daniel P. Berrange),
  phyp: Fix too small buffer allocation in phypAttachDevice (Matthias Bolte),
  phyp: Don't overwrite error from virDomainDeviceDefParse by OOM error (Matthias Bolte),
  phyp: Don't try to use a string from a failed virAsprintf (Matthias Bolte),
  phyp: Remove stack allocating a 4kb volume key and fix related memory leaks (Matthias Bolte),
  qemu: fix a dead-lock problem (Hu Tao),
  util: Fix crash when removing entries during hash iteration (Jiri Denemark),
  Fix possible infinite loop in remote driver (Michal Privoznik),
  qemu: Remove the managed state file only if restoring succeeded (Osier Yang),
  reattach pci devices when qemuPrepareHostdevPCIDevices() failed (Wen Congyang),
  reattach pci device when pciBindDeviceToStub() failed (Wen Congyang),
  remove devices from driver activePciHostdevs when qemuPrepareHostdevPCIDevices() failed (Wen Congyang),
  pci: avoid invalid free, init path to NULL (Wen Congyang),
  qemu: Support for overriding NPROC limit (Jiri Denemark),
  qemu: Always reserves slot 0x02 for primary VGA. (Osier Yang),
  Fix typo in systemtap tapset directory name (Daniel P. Berrange),
  qemu: Ignore unusable binaries (Jiri Denemark)
- Improvements:
  maint: detect clang 2.9 (Eric Blake),
  qemu: update qemuCgroupControllerActive signature (Eric Blake),
  lxc: report correct error (Eric Blake),
  libxl: avoid compiler warning (Eric Blake),
  storage: use virCommand to avoid compiler warning (Eric Blake),
  tests: Lower stack usage below 4096 bytes (Matthias Bolte),
  tests: Update valgrind suppressions file (Matthias Bolte),
  tests: simplify common setup (Eric Blake),
  network: fix return value of hostsFileWrite (Laine Stump),
  libvirt/qemu - support persistent attach/detach disks (KAMEZAWA Hiroyuki),
  libvirt/qemu - support persistent modification of devices (KAMEZAWA Hiroyuki),
  util: Simplify hash implementation (Jiri Denemark),
  tests: More unit tests for internal hash APIs (Jiri Denemark),
  Move call to virReportOOMError into virFileBuildPath (Matthias Bolte),
  build: use gnulib passfd for simpler SCM_RIGHTS code (Eric Blake),
  qemu: Add flags checking in DomainCoreDump (Jiri Denemark),
  Make sure DNSMASQ_STATE_DIR exists (Guido Günther),
  build: make VIR_FREE do some type checking (Eric Blake),
  threads: add one-time initialization support (Eric Blake),
  esx: Add a wrapper for shared CURL handles (Matthias Bolte),
  esx: Move CURL handling code to it's own type (Matthias Bolte),
  daemon: Honor error variable name change in the generator (Matthias Bolte),
  libvirt/qemu - clean up UpdateDevice for consolidation. (KAMEZAWA Hiroyuki),
  libvirt/qemu - clean up At(De)tachDeviceFlags() for consolidation. (KAMEZAWA Hiroyuki),
  libvirt/qemu - Centralize device modification in the more flexible APIs (KAMEZAWA Hiroyuki),
  Add support for s390(x) cpu options parsing (Michal Privoznik),
  PHYP: Adding reboot domain function (Eduardo Otubo),
  nwfilter: no support for direct type of interface (Stefan Berger),
  Add cputune support to libxl driver (Markus Groß),
  Update and sort msg_gen_function list and mark unmarked messages (Matthias Bolte),
  Write error check conditionals in more compact form for dispatcher (Daniel P. Berrange),
  Merge all returns paths from dispatcher into single path (Daniel P. Berrange),
  Experimental libvirtd upstart job (Alan Pevec),
  enhance processWatchdogEvent() (Wen Congyang),
  xen: Replace statsErrorFunc with a macro (Matthias Bolte),
  tests: Unit tests for internal hash APIs (Jiri Denemark),
  build: include esx_vi.generated.* into dist file (Wen Congyang),
  tests: test recent virsh option parsing changes (Eric Blake),
  virsh: list required options first (Eric Blake),
  phyp: use consistent return string handling (Eric Blake),
  maint: use lighter-weight function for straight appends (Eric Blake),
  libvirt-guests: implement START_DELAY (Alexander Todorov),
  network: truncate bridges' dummy tap device names to IFNAMSIZ (15) chars (Laine Stump),
  Introduce virDomainChrDefNew() (Michal Novotny),
  esx: Make the parsed URI part of the private connection data (Matthias Bolte),
  esx: Mark error message in macros for translation (Matthias Bolte),
  esx: Extend VI generator to cover managed object types (Matthias Bolte),
  esx: Cleanup and refactor CastFromAnyType macros (Matthias Bolte),
  esx: Cleanup VI generator code (Matthias Bolte),
  phyp: Reduce code duplication in error and success paths (Matthias Bolte),
  Replace REMOTE_DEBUG with VIR_DEBUG in daemon dispatcher (Daniel P. Berrange),
  Add missing checks for whether the connection is open in dispatcher (Daniel P. Berrange),
  PHYP: Adding network interface (Eduardo Otubo),
  xen: Remove PATH_MAX sized stack allocation from block stats code (Matthias Bolte),
  setmaxmem: add the new options to "virsh setmaxmem" command (Taku Izumi),
  maxmem: implement virDomainSetMaxMemory API of the qemu driver (Taku Izumi),
  maxmem: introduces VIR_DOMAIN_MEM_MAXIMUM flag (Taku Izumi),
  nwfilters: support for TCP flags evaluation (Stefan Berger),
  setmem: add --current option to virsh setmem command (Taku Izumi),
  setmem: add VIR_DOMAIN_MEM_CURRENT support to qemu (Taku Izumi),
  setmem: introduce VIR_DOMAIN_MEM_CURRENT flag (Taku Izumi),
  build: Install libxenlight log dir (Jim Fehlig),
  Add domainSet/GetSchedulerParameters to libxl driver (Markus Groß),
  rename pciUnBindDeviceFromStub() to pciUnbindDeviceFromStub() and float it up (Wen Congyang),
  Add domainIsUpdated to libxl driver (Markus Groß),
  Change locking for udev monitor and callbacks (Serge Hallyn),
  Improve SCSI volume key generation (Daniel P. Berrange),
  qemu: Rewrite LOOKUP_PTYS macro into a function (Jiri Denemark),
  Enable use of -Wold-style-definition compiler flag (Daniel P. Berrange),
  Enable use of -Wmissing-noreturn (Daniel P. Berrange),
  Enable -Wmissing-format-attribute warning (Daniel P. Berrange),
  Use gnulib's manywarnings and warnings modules (Daniel P. Berrange),
  Use virBufferPtr for sexpr2string instead of manual buffer handling (Matthias Bolte),
  xend: Remove 4kb stack allocation (Matthias Bolte),
  uml: Remove PATH_MAX sized stack allocation from /proc parsing code (Matthias Bolte),
  storage: Remove PATH_MAX sized stack allocation from iSCSI backend (Matthias Bolte),
  qemu: Remove PATH_MAX sized stack allocation used in commandline building (Matthias Bolte),
  Remove PATH_MAX sized stack allocation from virFileOpenTtyAt (Matthias Bolte),
  openvz: Remove several larger stack allocations (Matthias Bolte),
  daemon: Remove 4kb stack allocation of security label (Matthias Bolte),
  virsh: Remove two 4kb stack allocations (Matthias Bolte),
  Use virFileAbsPath instead of manually creating the absolute path (Matthias Bolte),
  xenxs: Remove PATH_MAX sized stack allocation in XM script parsing (Matthias Bolte),
  sasl: Remove stack allocated 8kb temporary buffers (Matthias Bolte),
  qemu: Use heap allocated memory to read the monitor greeting (Matthias Bolte),
  phyp: Remove 16kb stack allocation (Matthias Bolte),
  virt-aa-helper: Remove PATH_MAX sized stack allocations (Matthias Bolte),
  ebtables: Remove PATH_MAX sized stack allocation (Matthias Bolte),
  pci: Remove PATH_MAX sized stack allocations (Matthias Bolte),
  Remove PATH_MAX sized stack allocations related to virFileBuildPath (Matthias Bolte),
  vmx: Use case-insensitive compare functions for all content (Matthias Bolte),
  vmx: Support persistent CPU shares (Matthias Bolte),
  Add autostart support to libxl driver (Markus Groß),
  Allow relative path for qemu backing file (Jesse Cook),
  build: detect potentential uninitialized variables (Eric Blake)
- Cleanups:
  esx: Disable performance counter queries in esxDomainGetInfo (Matthias Bolte),
  esx: Remove dead store in esxUtil_ParseDatastorePath (Matthias Bolte),
  util: remove dead assignment (Eric Blake),
  qemu: remove dead assignment (Eric Blake),
  qemu: silence clang false positives (Eric Blake),
  tests: suppress more valgrind situations (Eric Blake),
  tests: avoid compiler warning (Eric Blake),
  qemu: fix uninitialized variable warning (Christophe Fergeau),
  build: fix syntax-check failure (Eric Blake),
  virsh: nuke use of TRUE and FALSE (Eric Blake),
  phyp: another simplification (Eric Blake),
  maint: ignore built file (Eric Blake),
  Change some variable names to follow standard in daemon dispatcher (Daniel P. Berrange),
  Remove curly braces on all single-line conditional jumps in dispatcher (Daniel P. Berrange),
  Remove virConnectPtr from virRaiseErrorFull (Matthias Bolte),
  phyp: prefer memcpy over memmove when legal (Eric Blake),
  phyp: use consistent style for labels (Eric Blake),
  phyp: more return handling cleanup (Eric Blake),
  esx: Fix gcc 4.6 warning about initialized but unused variables (Matthias Bolte),
  maint: silence cppi warnings (Eric Blake),
  Fix gcc 4.6 warnings in vbox_tmpl.c (Christophe Fergeau),
  Fix gcc 4.6 warnings (Christophe Fergeau),
  Remove C99 variable declare in PHYP network driver (Daniel P. Berrange),
  Standard on error variable name in libvirtd dispatcher (Daniel P. Berrange),
  Remove all whitespace before function brackets in daemon dispatcher (Daniel P. Berrange),
  docs: tweak virsh restore warning (Eric Blake),
  setmaxmem: remove the code to invoke virDomainSetMemory in cmdSetmaxmem (Taku Izumi),
  build: fix gitignore sorting (Eric Blake),
  tests: fix recent test failures (Eric Blake),
  libxl: avoid compiler warning (Eric Blake),
  Avoid compiler warnings about int to void * casts (Daniel P. Berrange),
  Remove acinclude.m4 file (Daniel P. Berrange),
  Remove possible uninitialized variable in openvz driver (Daniel P. Berrange)

### 0.9.0: Apr 4 2011

- Features:
  Support cputune cpu usage tuning (Osier Yang and Nikunj A. Dadhania),
  Add public APIs for storage volume upload/download (Daniel P. Berrange),
  Add public API for setting migration speed on the fly (Daniel P. Berrange),
  Add libxenlight driver (Jim Fehlig and Markus Groß),
  qemu: support migration to fd (Eric Blake),
  libvirt: add virDomain{Get,Set}BlkioParameters (Gui Jianfeng),
  setmem: introduce a new libvirt API (virDomainSetMemoryFlags) (Taku Izumi),
  Expose event loop implementation as a public API (Daniel P. Berrange),
  Dump the debug buffer to libvirtd.log on fatal signal (Daniel Veillard),
  Audit support (Eric Blake)
- Documentation:
  fix typo (Eric Blake),
  correct invalid xml (Eric Blake),
  virsh: Fix documentation for memtune command (Jiri Denemark),
  Fix several formatting mistakes in doc (Michal Privoznik),
  mention C89 syntax preferences (Eric Blake),
  document recent hook additions (Eric Blake),
  Update on the goal page (Daniel Veillard),
  Document first release with spice and qxl (Cole Robinson),
  Add schema definition for imagelabel (Osier Yang),
  update virGetVersion description (Tiziano Mueller),
  Improve logging documentation including the debug buffer (Daniel Veillard),
  update windows page for initial libvirt 0.8.8 installer (Justin Clift),
  formatdomain.html.in: Fix spelling PIC->PCI (Philipp Hahn),
  fix missing <p> (Eric Blake),
  documenting the 802.1Qbg parameters of a 'direct' interface (Gerhard Stenzel),
  silence warnings about generated API docs (Eric Blake),
  document <driver name='vhost'/> for interfaces (Eric Blake),
  correct range of default NAT subnet (Eric Blake),
  formatdomain: Add release info for disk <driver> attributes (Cole Robinson),
  Fix spelling mistake: seek (Philipp Hahn),
  maint: fix grammar in error message (Eric Blake)
- Portability:
  virsh: fix mingw failure on creating nonblocking pipe (Eric Blake),
  Remove iohelper on Win32 since it is not required (Daniel P. Berrange),
  Fix domain events C example on Win32 (Daniel P. Berrange),
  build: fix compilation on mingw (Eric Blake),
  util: use SCM_RIGHTS in virFileOperation when needed (Eric Blake),
  Don't use INT64_MAX in libvirt.h because it requires stdint.h (Matthias Bolte),
  libvirtd: Remove indirect linking (Guido Günther),
  build: avoid compiler warning on cygwin (Eric Blake),
  build: fix build on cygwin (Eric Blake),
  build: fix building error when building without libvirtd (Wen Congyang),
  virsh: Remove indirect link against libxml2 (Guido Günther),
  Fix build on cygwin (Daniel Veillard),
  Add check for kill() to fix build of cgroups on win32 (Daniel P. Berrange),
  build: fix broken mingw cross-compilation (Eric Blake)
- Bug fixes:
  fix memory leak in qemuProcessHandleGraphics() (Wen Congyang),
  do not lock vm while allocating memory (Wen Congyang),
  Fix libxl driver startup (Daniel Veillard),
  qemu: Ignore libvirt debug messages in qemu log (Jiri Denemark),
  qemu: Fix improper logic of qemuCgroupSetup (Osier Yang),
  free tmp after unlinking it (Wen Congyang),
  qemu: Fix media eject with qemu-0.12.* (Jiri Denemark),
  check whether qemuMonitorJSONHMP() failed (Wen Congyang),
  do not send monitor command after monitor meet error (Wen Congyang),
  qemu: unlock qemu driver before return from domain save (Hu Tao),
  qemu: fix regression with fd labeling on migration (Eric Blake),
  Ignore return value of virDomainObjUnref (Markus Groß),
  Fix infinite loop in daemon if client quits with multiple streams open (Daniel P. Berrange),
  qemu: fix regression that hangs on save failure (Eric Blake),
  qemu: fix restoring a compressed save image (Eric Blake),
  util: allow clearing cloexec bit (Eric Blake),
  logging: always NUL-terminate circular buffer (Eric Blake),
  tests: don't alter state in $HOME (Eric Blake),
  qemu: don't restore state label twice (Eric Blake),
  Fix syntax error in configure.ac (Osier Yang),
  remote: Don't leak gnutls session on negotiation error (Matthias Bolte),
  hooks: fix regression in previous patch (Eric Blake),
  Add missing { for qemudDomainInterfaceStats (Philipp Hahn),
  daemon: Avoid resetting errors before they are reported (Jiri Denemark),
  fix the check of the output of monitor command 'device_add' (Wen Congyang),
  Make error reporting in libvirtd thread safe (Jiri Denemark),
  update domain status forcibly even if attach a device failed (Wen Congyang),
  util: Fix return value for virJSONValueFromString if it fails (Osier Yang),
  Initialization error of qemuCgroupData in Qemu host usb hotplug (Wen Congyang),
  build: fix missing initializer (Eric Blake),
  Fix uninitialized variable & error reporting in LXC veth setup (Daniel P. Berrange),
  udev: fix regression with qemu:///session (Eric Blake),
  logging: fix off-by-one bug (Eric Blake),
  do not report OOM error when prepareCall() failed (Wen Congyang),
  Don't return an error on failure to create blkio controller (Hu Tao),
  qemu: respect locking rules (Eric Blake),
  openvz: fix a simple bug in openvzListDefinedDomains() (Jean-Baptiste Rouault),
  Fix delayed event delivery when SASL is active (Daniel P. Berrange),
  qemu: Fix copy&paste error messages in text monitor (Jiri Denemark),
  do not unref obj in qemuDomainObjExitMonitor* (Wen Congyang),
  qemu: check driver name while attaching disk (Wen Congyang),
  remote: Add missing virCondDestroy calls (Matthias Bolte),
  build: improve rpm generation for distro backports (Eric Blake),
  storage: Fix a problem which will cause libvirtd crashed (Osier Yang),
  Fix misc bugs in virCommandPtr (Daniel P. Berrange),
  libvirt: fix a simple bug in virDomainSetMemoryFlags() (Taku Izumi),
  qemu: Check the unsigned integer overflow (Osier Yang),
  audit: eliminate potential null pointer deref when auditing macvtap devices (Laine Stump),
  network driver: don't send default route to clients on isolated networks (Laine Stump),
  virsh: Free stream when shutdown console (Osier Yang),
  Add missing checks for read only connections (Guido Günther),
  qemu: fix -global argument usage (Eric Blake),
  Make sure we reset the umask on the error path (Guido Günther),
  qemu: Stop guest CPUs before creating a snapshot (Jiri Denemark),
  qemu: Escape snapshot name passed to {save,load,del}vm (Jiri Denemark),
  qemu: Fix warnings in event handlers (Jiri Denemark),
  storage: Update qemu-img flag checking (Osier Yang),
  Make sure the rundir is accessible by the user (Guido Günther),
  Fix a wrong error message thrown to user (Hu Tao),
  unlock eventLoop before calling callback function (Wen Congyang),
  fixes for several memory leaks (Phil Petty),
  Fix a counter bug in the log buffer (Daniel Veillard),
  qemu: avoid corruption of domain hashtable and misuse of freed domains (Laine Stump),
  qemu: Add missing lock of virDomainObj before calling virDomainUnref (Laine Stump),
  esx: Escape password for XML (Matthias Bolte),
  util: correct retry path in virFileOperation (Eric Blake),
  util: Allow removing hash entries in virHashForEach (Jiri Denemark),
  qemu: avoid double close on domain restore (Eric Blake),
  Fix port value parsing for serial and parallel ports (Michal Novotny),
  Fix off-by-1 in virFileAbsPath. (Daniel P. Berrange),
  security: avoid memory leak (Eric Blake),
  protect the scsi controller to be deleted when it is in use (Wen Congyang),
  virsh: freecell --all getting wrong NUMA nodes count (Michal Privoznik),
  remove duplicated call to reportOOMError (Christophe Fergeau)
- Improvements:
  Make check_fc_host() and check_vport_capable() usable as rvalues (Guido Günther),
  maint: avoid locale-sensitivity in string case comparisons (Eric Blake),
  extend logging to record configuration-related changes (Naoya Horiguchi),
  Add libvirt_iohelper to spec file (Daniel Veillard),
  cputune: New tests for cputune XML (Osier Yang),
  cputune: Support cputune for xend driver (Osier Yang),
  cputune: Support cputune for lxc driver (Osier Yang),
  cputune: Support cputune for qemu driver (Osier Yang),
  cputune: Implementations of parsing and formating cputune xml (Osier Yang),
  cputune: Add data structures presenting cputune XML (Osier Yang),
  cputune: Add document for cputune XML (Osier Yang),
  cputune: Add XML schema for cputune xml (Osier Yang),
  qemu: improve error message on failed fd transfer (Eric Blake),
  maint: ignore new built file (Eric Blake),
  Add domainSuspend/Resume to libxl driver (Markus Groß),
  Add domainGetOSType to libxl driver (Markus Groß),
  Add domainGetSchedulerType to libxl driver (Markus Groß),
  Implements domainXMLTo/FromNative in libxl driver (Markus Groß),
  Add vcpu functions to libxl driver (Markus Groß),
  List authors in copyright headers (Markus Groß),
  Add event callbacks to libxl driver (Markus Groß),
  Remote protocol support for storage vol upload/download APIs (Daniel P. Berrange),
  Support volume data upload/download APIs in storage driver (Daniel P. Berrange),
  Add vol-upload and vol-download commands to virsh (Daniel P. Berrange),
  Enhance the streams helper to support plain file I/O (Daniel P. Berrange),
  Update event loop example programs to demonstrate best practice (Daniel P. Berrange),
  qemu: support fd: migration with compression (Eric Blake),
  qemu: skip granting access during fd migration (Eric Blake),
  qemu: consolidate migration to file code (Eric Blake),
  qemu: use common API for reading difficult files (Eric Blake),
  qemu, storage: improve type safety (Eric Blake),
  util: adjust indentation in previous patch (Eric Blake),
  util: rename virFileOperation to virFileOpenAs (Eric Blake),
  storage: simplify fd handling (Eric Blake),
  qemu: simplify domain save fd handling (Eric Blake),
  qemu: allow simple domain save to use fd: protocol (Eric Blake),
  Update of localisations, switch to transifex (Daniel Veillard),
  build: shorten libxenlight summary for consistent alignment (Eric Blake),
  command: add virCommandAbort for cleanup paths (Eric Blake),
  command: don't mix RunAsync and daemons (Eric Blake),
  command: properly diagnose process exit via signal (Eric Blake),
  Add memory functions to libxl driver (Markus Groß),
  build: enforce reference count checking (Eric Blake),
  maint: prohibit access(,X_OK) (Eric Blake),
  Get cpu time and current memory balloon from libxl (Markus Groß),
  build: nuke all .x-sc* files, and fix VPATH syntax-check (Eric Blake),
  command: reject pidfile on non-daemon (Eric Blake),
  rpm: add missing dependencies (Eric Blake),
  rpm: separate runtime and build requirements (Eric Blake),
  qemu: simplify monitor callbacks (Eric Blake),
  8021Qbh: use preassociate-rr during the migration prepare stage (Roopa Prabhu),
  Wire up virDomainMigrateSetSpeed into QEMU driver (Daniel P. Berrange),
  Wire up virDomainMigrateSetSpeed for the remote RPC driver (Daniel P. Berrange),
  maint: update authors (Eric Blake),
  Disable libxl build in RPM on Fedora < 16 (Daniel P. Berrange),
  qemu: fallback to HMP drive_add/drive_del (Hu Tao),
  qemu: Only use HMP passthrough if it is supported (Jiri Denemark),
  qemu: Detect support for HMP passthrough (Jiri Denemark),
  qemu: add two hook script events "prepare" and "release" (Thibault Vincent),
  qemu: simplify interface fd handling in monitor (Eric Blake),
  qemu: simplify PCI configfd handling in monitor (Eric Blake),
  qemu: simplify monitor fd error handling (Eric Blake),
  util: guarantee sane errno in virFileIsExecutable (Eric Blake),
  Don't build libxenlight driver for Xen 4.0 (Jim Fehlig),
  network driver: log error and abort network startup when radvd isn't found (Laine Stump),
  build: translate changes in previous patch (Eric Blake),
  Ensure binary is resolved wrt $PATH in virExec (Daniel P. Berrange),
  util: Forbid calling hash APIs from iterator callback (Jiri Denemark),
  Avoid taking lock in libvirt debug dump (Daniel Veillard),
  unlock the monitor when unwatching the monitor (Wen Congyang),
  Add vim configuration that makes vim auto-indent code (Hu Tao),
  virsh: fix memtune's help message for swap_hard_limit (Nikunj A. Dadhania),
  Add PCI sysfs reset access (Alex Williamson),
  Support Xen sysctl v8, domctl v7 (Jim Fehlig),
  macvtap: log an error if on failure to connect to netlink socket (Laine Stump),
  qemu: improve efficiency of dd during snapshots (Eric Blake),
  virsh: allow empty string arguments (Eric Blake),
  qemu: Fallback to HMP when cpu_set QMP command is not found (Wen Congyang),
  Change message for VIR_FROM_RPC error domain (Daniel P. Berrange),
  Add compat function for geteuid() (Daniel P. Berrange),
  Add virSetBlocking() to allow O_NONBLOCK to be toggle on or off (Daniel P. Berrange),
  qemu: use more appropriate error (Eric Blake),
  Make LXC container startup/shutdown/I/O more robust (Daniel P. Berrange),
  Allow to dynamically set the size of the debug buffer (Daniel Veillard),
  qemu: consolidate duplicated monitor migration code (Eric Blake),
  qemu: use lighter-weight fd:n on incoming tunneled migration (Eric Blake),
  Fix performance problem of virStorageVolCreateXMLFrom() (Minoru Usui),
  libvirt-guests: avoid globbing when splitting $URIS (Eric Blake),
  libvirt-guest.init: quoting variables (Philipp Hahn),
  virsh: Insert error messages to avoid a quiet abortion of commands (Michal Privoznik),
  python: Use hardcoded python path in libvirt.py (Jiri Denemark),
  virsh: Allow starting domains by UUID (Jiri Denemark),
  network driver: Use a separate dhcp leases file for each network (Laine Stump),
  network driver: Start dnsmasq even if no dhcp ranges/hosts are specified. (Laine Stump),
  libvirt-guest.init: handle domain name with spaces (Philipp Hahn),
  domain.rng vs. formatdomain.html#elementsUSB (Philipp Hahn),
  Ignore backing file errors in FS storage pool (Philipp Hahn),
  remote-protocol: implement new BlkioParameters API (Gui Jianfeng),
  virsh: Adding blkiotune command to virsh tool (Gui Jianfeng),
  qemu: implement new BlkioParameters API (Gui Jianfeng),
  libvirt: implements virDomain{Get,Set}BlkioParameters (Gui Jianfeng),
  setmem: add the new options to "virsh setmem" command (Taku Izumi),
  setmem: implement the remote protocol to address the new API (Taku Izumi),
  setmem: implement the code to address the new API in the qemu driver (Taku Izumi),
  audit: audit use of /dev/net/tun, /dev/tapN, /dev/vhost-net (Eric Blake),
  qemu: don't request cgroup ACL access for /dev/net/tun (Eric Blake),
  qemu: support vhost in attach-interface (Eric Blake),
  qemu: Refactor qemuDomainSnapshotCreateXML (Jiri Denemark),
  qemu: Fallback to HMP for snapshot commands (Jiri Denemark),
  qemu: Setup infrastructure for HMP passthrough (Jiri Denemark),
  qemu: Replace deprecated option of qemu-img (Osier Yang),
  audit: also audit cgroup ACL permissions (Eric Blake),
  cgroup: allow fine-tuning of device ACL permissions (Eric Blake),
  audit: rename remaining qemu audit functions (Eric Blake),
  audit: also audit cgroup controller path (Eric Blake),
  audit: split cgroup audit types to allow more information (Eric Blake),
  audit: tweak audit messages to match conventions (Eric Blake),
  Don't overwrite virRun error messages (Cole Robinson),
  virsh: Change option parsing functions to return tri-state information (Michal Privoznik),
  virsh: change vshCommandOptString return type and fix const-correctness (Michal Privoznik),
  support to detach USB disk (Wen Congyang),
  rename qemuDomainDetachSCSIDiskDevice to qemuDomainDetachDiskDevice (Wen Congyang),
  qemu_hotplug: Reword error if spice password change not available (Cole Robinson),
  Move event code out of the daemon/ into src/util/ (Daniel P. Berrange),
  Convert daemon/virsh over to use primary event APIs, rather than impl (Daniel P. Berrange),
  Cleaning up some of the logging code (Daniel Veillard),
  qemu: Support vram for video of qxl type (Osier Yang),
  Add an an internal API for emergency dump of debug buffer (Daniel Veillard),
  Add logrotate support for libvirtd.log (Daniel Veillard),
  Change default log policy to libvirtd.log instead of syslog (Daniel Veillard),
  Force all logs to go to the round robbin memory buffer (Daniel Veillard),
  AUTHORS: adjust to preferred spelling (KAMEZAWA Hiroyuki),
  Pass virSecurityManagerPtr to virSecurityDAC{Set, Restore}ChardevCallback (Soren Hansen),
  maint: update to latest gnulib (Eric Blake),
  Attempt to improve an error message (Daniel P. Berrange),
  add additional event debug points (Daniel P. Berrange),
  qemu: only request sound cgroup ACL when required (Eric Blake),
  Add support for multiple serial ports into the Xen driver (Michal Novotny),
  Add APIs for killing off processes inside a cgroup (Daniel P. Berrange),
  Allow hash tables to use generic pointers as keys (Daniel P. Berrange),
  Remove deallocator parameter from hash functions (Daniel P. Berrange),
  Make commandtest more robust wrt its execution environment (Daniel P. Berrange),
  audit: audit qemu pci and usb device passthrough (Eric Blake),
  audit: audit qemu memory and vcpu adjusments (Eric Blake),
  audit: add qemu hooks for auditing cgroup events (Eric Blake),
  audit: prepare qemu for listing vm in cgroup audits (Eric Blake),
  cgroup: determine when skipping non-devices (Eric Blake),
  virExec: avoid uninitialized memory usage (Eric Blake),
  Allow 32-on-64 execution for LXC guests (Daniel P. Berrange),
  Put <stdbool.h> into internal.h so it is available everywhere (Daniel P. Berrange),
  qemu: Switch over command line capabilities to virBitmap (Jiri Denemark),
  qemu: Rename qemud\?CmdFlags to qemuCaps (Jiri Denemark),
  qemu: Use helper functions for handling cmd line capabilities (Jiri Denemark),
  qemu: Rename QEMUD_CMD_FLAG_* to QEMU_CAPS_* (Jiri Denemark),
  util: Add API for converting virBitmap into printable string (Jiri Denemark),
  util: Use unsigned long as a base type for virBitmap (Jiri Denemark),
  Expose name + UUID to LXC containers via env variables (Daniel P. Berrange),
  Fix discard of expected errors (Daniel P. Berrange),
  Fix group/mode for /dev/pts inside LXC container (Daniel P. Berrange),
  802.1Qbh: Delay IFF_UP'ing interface until migration final stage (Roopa Prabhu),
  storage: make debug log more useful (Osier Yang),
  virsh: replace vshPrint with vshPrintExtra for snapshot list Otherwise extra information will be printed even if "--quiet" is specified. (Osier Yang),
  check device-mapper when building with mpath or disk storage driver (Wen Congyang),
  build: add dependency on gnutls-utils (Eric Blake),
  Renamed functions in xenxs (Markus Groß),
  Moved XM formatting functions to xenxs (Markus Groß),
  Moved XM parsing functions to xenxs (Markus Groß),
  Moved SEXPR formatting functions to xenxs (Markus Groß),
  Moved SEXPR parsing functions to xenxs (Markus Groß),
  Moved some SEXPR functions from xen-unified (Markus Groß),
  Moved SEXPR unit to utils (Markus Groß),
  virt-*-validate.in: quote all variable references (Dan Kenigsberg),
  virt-pki-validate: behave when CERTTOOL is missing (Dan Kenigsberg),
  autobuild.sh: use VPATH build (Eric Blake),
  maint: fix 'make dist' in VPATH build (Eric Blake),
  build: don't require pod2man for tarball builds (Eric Blake),
  hash: make virHashFree more free-like (Eric Blake),
  build: Fix API docs generation in VPATH build (Jiri Denemark),
  Remove all object hashtable caches from virConnectPtr (Daniel P. Berrange),
  nwfilter: enable rejection of packets (Stefan Berger),
  Drop empty argument from dnsmasq call (Guido Günther),
  esx: Ignore malformed host UUID from BIOS (Matthias Bolte),
  build: speed up non-maintainer builds (Eric Blake),
  build: recompute symbols after changing configure options (Eric Blake),
  Requires gettext for client package (Osier Yang),
  Do not add drive 'boot=on' param when a kernel is specified (Jim Fehlig),
  factor common code in virHashAddEntry and virHashUpdateEntry (Christophe Fergeau),
  add hash table rebalancing in virHashUpdateEntry (Christophe Fergeau),
  hash: modernize debug code (Eric Blake),
  build: improve 'make install' for VPATH builds (Eric Blake),
  check more error info about whether drive_add failed (Wen Congyang),
  logging: make VIR_ERROR and friends preserve errno (Eric Blake),
  maint: avoid 'make syntax-check' from tarball (Eric Blake),
  Give each virtual network bridge its own fixed MAC address (Laine Stump),
  Allow brAddTap to create a tap device that is down (Laine Stump),
  Add txmode attribute to interface XML for virtio backend (Laine Stump),
  Restructure domain struct interface "driver" data for easier expansion (Laine Stump),
  build: Fix VPATH build (Jiri Denemark),
  storage: Allow to delete device mapper disk partition (Osier Yang)
- Cleanups:
  The next release is 0.9.0 not 0.8.9 (Daniel Veillard),
  maint: use space, not tab, in remote_protocol-structs (Eric Blake),
  Remove the Open Nebula driver (Daniel P. Berrange),
  domain_conf: drop unused ref-count in snapshot object (Eric Blake),
  Update the set of maintainers for the project (Daniel Veillard),
  Make virDomainObjParseNode() static (Hu Tao),
  maint: make spacing in .sh files easier (Eric Blake),
  network driver: Fix indentation from previous commit (Laine Stump),
  qemu: Rename qemuMonitorCommandWithHandler as qemuMonitorText* (Jiri Denemark),
  qemu: Rename qemuMonitorCommand{,WithFd} as qemuMonitorHMP* (Jiri Denemark),
  maint: avoid long lines in more tests (Eric Blake),
  maint: kill all remaining uses of old DEBUG macro (Eric Blake),
  maint: Expand tabs in python code (Jiri Denemark),
  remove space between function name and ( (Christophe Fergeau),
  don't check for NULL before calling virHashFree (Christophe Fergeau),
  remove no longer needed calls to virReportOOMError (Christophe Fergeau),
  Move all the QEMU migration code to a new file (Daniel P. Berrange),
  Split all QEMU process mangement code into separate file (Daniel P. Berrange)

### 0.8.8: Feb 17 2011

- Features:
  sysinfo: expose new API (Eric Blake),
  cgroup blkio weight support. (Gui Jianfeng),
  smartcard device support (Eric Blake),
  qemu: Support per-device boot ordering (Jiri Denemark)
- Documentation:
  docs: fix typos (Eric Blake),
  docs: added link for nimbus to apps page (Justin Clift),
  Update src/README (Matthias Bolte),
  docs: Add information about libvirt-php new location (Michal Novotny),
  Add libvirt-php information page (Michal Novotny),
  cgroup: Add documentation for blkiotune elements. (Gui Jianfeng),
  docs/index.html.in: update KVM url (Niels de Vos),
  docs/index.html.in: update QEMU url (Alon Levy),
  docs: more on qemu locking patterns (Eric Blake),
  docs: renamed hudson project link to jenkins, matching project rename (Justin Clift),
  docs: Update docs for cpu_shares setting (Osier Yang),
  docs: replace CRLF with LF (Juerg Haefliger),
  docs: Add docs for new extra parameter pkipath (Osier Yang),
  docs: expand the man page text for virsh setmaxmem (Justin Clift),
  docs: fix incorrect XML element mentioned by setmem text (Justin Clift),
  docs: add a link to the bindings page under the downloads menu item (Justin Clift),
  docs: document <controller> element (Eric Blake),
  docs: move the apps page to the top level as its good promo (Justin Clift),
  docs: added new entries to apps page, plus adjusted a few existing (Justin Clift),
  docs: document <sysinfo> and <smbios> elements (Eric Blake),
  datatypes: Fix outdated function names in the documentation (Matthias Bolte),
  Add documentation for VIR_DOMAIN_MEMORY_PARAM_UNLIMITED (Matthias Bolte),
  docs: Move the "Network Filtering" page one level up in the hierarchy (Matthias Bolte),
  docs: add buildbot to the apps page (Justin Clift),
  docs: add new conversion heading to the apps listing (Justin Clift),
  docs: updated windows page for new 0.8.7 installer (Justin Clift),
  docs: clarify virsh setvcpus and setmem usage with active domains (Justin Clift),
  Document HAP domain feature (Jim Fehlig),
  docs: fix trivial typos in currentMemory description (Justin Clift),
  doc: improve the documentation of desturi (Wen Congyang),
  docs: reorder apps page alphabetically, plus add libguestfs entries (Justin Clift),
  docs: add entry for archipel to the apps page (Justin Clift),
  docs: use xml entity encoding for extended character last name (Justin Clift),
  docs: updated memtune info again in virsh command reference (Justin Clift),
  docs: updated release of virsh cmd reference, with memtune info (Justin Clift),
  maint: document dislike of mismatched if/else bracing (Eric Blake),
  docs: added libvirt-announce to contact page (Justin Clift)
- Portability:
  qemu: ignore failure of qemu -M ? on older qemu (Eric Blake),
  virsh: avoid mingw compiler warnings (Eric Blake),
  build: avoid problems with autogen.sh runs from tarball (Eric Blake),
  build: fix cygwin strerror_r failure (Eric Blake),
  Avoid pthread_sigmask on Win32 platforms (Daniel P. Berrange),
  Fix compilation when building without sasl (Daniel Veillard),
  build: fix parted detection at configure time (Eric Blake),
  Fix setup of lib directory with autogen.sh --system (Daniel P. Berrange),
  build: fix 'make check' with older git (Eric Blake),
  maint: support --no-git option during autogen.sh (Eric Blake),
  libvirt-guests: remove bashisms (Laurent Léonard),
  build: restore mingw build (Eric Blake),
  commandtest: avoid printing loader-control variables from commandhelper (Diego Elio Pettenò)
- Bug fixes:
  qemu: Error prompt when saving a shutoff domain (Osier Yang),
  cgroup: preserve correct errno on failure (Eric Blake),
  qemu: Fix command line generation with faked host CPU (Jiri Denemark),
  tests: Fake host capabilities properly (Jiri Denemark),
  build: address clang reports about virCommand (Eric Blake),
  qemu: don't mask real error with oom report (Eric Blake),
  qemu: avoid NULL derefs (Eric Blake),
  virDomainMemoryStats: avoid null dereference (Eric Blake),
  Fix leak of mutex attributes in POSIX threads impl (Daniel P. Berrange),
  Fix leak in SCSI storage backend (Daniel P. Berrange),
  storage: Create enough volumes for mpath pool (Osier Yang),
  qemu: avoid NULL deref on error (Eric Blake),
  conf: Fix XML generation for smartcards (Jiri Denemark),
  Fix cleanup on VM state after failed QEMU startup (Daniel P. Berrange),
  libvirt-qemu: Fix enum type declaration (Jiri Denemark),
  xen: Prevent updating device when attaching a device (Osier Yang),
  qemu: Fix escape_monitor(escape_shell(command)) (Philipp Hahn),
  qemu: fix attach-interface regression (Wen Congyang),
  Fix typo in parsing of spice 'auth' data (Michal Privoznik),
  Reset logging filter function when forking (Daniel P. Berrange),
  Block SIGPIPE around virExec hook functions (Daniel P. Berrange),
  Only initialize/cleanup libpciaccess once (Daniel P. Berrange),
  macvtap: fix 2 nla_put expressions (non-serious bug) (Stefan Berger),
  qemu: avoid double shutdown (Eric Blake),
  Fix conflicts with glibc globals (Davidlohr Bueso),
  qemuBuildDeviceAddressStr() checks for QEMUD_CMD_FLAG_PCI_MULTIBUS (Niels de Vos),
  Don't sleep in poll() if there is existing SASL decoded data (Daniel P. Berrange),
  Initialization error of controller in QEmu SCSI hotplug (Wen Congyang),
  esx: Ensure max-memory has 4 megabyte granularity (Matthias Bolte),
  Remove double close of qemu monitor (Daniel P. Berrange),
  Prevent overfilling of self-pipe in python event loop (Daniel P. Berrange),
  avoid vm to be deleted if qemuConnectMonitor failed (Wen Congyang),
  tests: Fix virtio channel tests (Jiri Denemark),
  event: fix event-handling allocation crash (Eric Blake),
  storage: Round up capacity for LVM volume creation (Osier Yang),
  Do not use virtio-serial port 0 for generic ports (David Allan),
  Manually kill gzip if restore fails before starting qemu (Laine Stump),
  Set SELinux context label of pipes used for qemu migration (Laine Stump),
  virsh: require --mac to avoid detach-interface ambiguity (Michal Privoznik),
  dispatch error before return (Wen Congyang),
  event: fix event-handling data race (Eric Blake),
  qemu: Retry JSON monitor cont cmd on MigrationExpected error (Jim Fehlig),
  Fix startup with VNC password expiry on old QEMU (Daniel P. Berrange),
  Fix error reporting when machine type probe fails (Daniel P. Berrange),
  Avoid crash in security driver if model is NULL (Daniel P. Berrange),
  qemu: Fix a possible deadlock in p2p migration (Wen Congyang),
  qemu: Avoid sending STOPPED event twice (Jiri Denemark),
  spec: Start libvirt-guests only if it's on in current runlevel (Jiri Denemark),
  Increase size of driver table to make UML work again (Daniel P. Berrange),
  qemu: don't fail capabilities check on 0.12.x (Eric Blake),
  Fix 'make check' after commit 04197350 (Jim Fehlig),
  esx: Fix memory leak in HostSystem managed object free function (Matthias Bolte),
  qemu: Watchdog IB700 is not a PCI device (RHBZ#667091). (Richard W.M. Jones),
  cpu: plug memory leak (Eric Blake),
  network: plug memory leak (Eric Blake),
  network: plug unininitialized read found by valgrind (Eric Blake),
  remote: Don't lose track of events when callbacks are slow (Cole Robinson),
  conf: Report error if invalid type specified for character device (Osier Yang),
  daemon: Fix core dumps if unix_sock_group is set (Jiri Denemark),
  vbox: Use correct VRAM size unit (Matthias Bolte),
  bridge: Fix generation of dnsmasq's --dhcp-hostsfile option (Kay Schubert),
  qemu: Fix bogus warning about uninitialized saveptr (Jiri Denemark),
  Don't chown qemu saved image back to root after save if dynamic_ownership=0 (Laine Stump)
- Improvements:
  maint: delete unused 'make install' step (Eric Blake),
  Update czech localization (Zdenek Styblik),
  Avoid empty strings when --with-packager(-version) is not specified (Matthias Bolte),
  Output commandline on status != 0 in virCommandWait (Matthias Bolte),
  add missing error handling to virGetDomain (Christophe Fergeau),
  call virReportOOMError when appropriate in hash.c (Christophe Fergeau),
  xml: avoid compiler warning (Eric Blake),
  nwfilter: reorder match extensions relative to state match (Stefan Berger),
  fix OOM handling in hash routines (Christophe Fergeau),
  docs: Distribute XSLT files to generate HACKING (Matthias Bolte),
  qemu: Report a more informative error for missing cgroup controllers (Matthias Bolte),
  Imprint all logs with version + package build information (Daniel P. Berrange),
  Reduce log level when cgroups aren't mounted (Daniel P. Berrange),
  Avoid warnings from nwfilter driver when run non-root (Daniel P. Berrange),
  build: distribute 'make syntax-check' tweaks (Eric Blake),
  Adjust some log levels in udev driver (Daniel P. Berrange),
  Add check for binary existing in machine type probe (Daniel P. Berrange),
  Add a little more debugging for async events (Daniel P. Berrange),
  Move connection driver modules directory (Daniel P. Berrange),
  Support SCSI RAID type & lower log level for unknown types (Daniel P. Berrange),
  Don't use CLONE_NEWUSER for now (Serge E. Hallyn),
  sysinfo: implement qemu support (Eric Blake),
  sysinfo: refactor xml formatting (Eric Blake),
  sysinfo: implement virsh support (Eric Blake),
  sysinfo: implement the remote protocol (Eric Blake),
  sysinfo: implement the public API (Eric Blake),
  sysinfo: define internal driver API (Eric Blake),
  LXC: LXC Blkio weight configuration support. (Gui Jianfeng),
  qemu: Implement blkio tunable XML configuration and parsing. (Gui Jianfeng),
  cgroup: Update XML Schema for new entries. (Gui Jianfeng),
  cgroup: Implement blkio.weight tuning API. (Gui Jianfeng),
  cgroup: Enable cgroup hierarchy for blkio cgroup (Gui Jianfeng),
  Update Dutch and Polish localizations (Daniel Veillard),
  Vietnamese translations for libvirt (Hero Phương),
  spicevmc: support older -device spicevmc of qemu 0.13.0 (Eric Blake),
  smartcard: add spicevmc support (Eric Blake),
  spicevmc: support new qemu chardev (Daniel P. Berrange),
  smartcard: turn on qemu support (Eric Blake),
  smartcard: enable SELinux support (Eric Blake),
  smartcard: check for qemu capability (Eric Blake),
  smartcard: add domain conf support (Eric Blake),
  smartcard: add XML support for <smartcard> device (Eric Blake),
  qemu: Support booting from hostdev PCI devices (Jiri Denemark),
  Support booting from hostdev devices (Jiri Denemark),
  qemu: Add shortcut for HMP pass through (Jiri Denemark),
  macvtap: fix variable in debugging output (Stefan Berger),
  qemu: Build command line for incoming tunneled migration (Osier Yang),
  bridge_driver: handle DNS over IPv6 (Paweł Krześniak),
  tests: handle backspace-newline pairs in test input files (Juerg Haefliger),
  qemu: More clear error parsing domain def failure of tunneled migration (Osier Yang),
  maint: reject raw close, popen in 'make syntax-check' (Eric Blake),
  build: avoid close, system (Eric Blake),
  Add VIR_DIV_UP to divide memory or storage request sizes with round up (Matthias Bolte),
  qemu: fix augeas support for vnc_auto_unix_socket (Eric Blake),
  virsh: added --all flag to freecell command (Michal Privoznik),
  esx: Don't try to change max-memory of an active domain (Matthias Bolte),
  qemu aio: enable support (Eric Blake),
  qemu aio: parse aio support from qemu -help (Matthias Dahl),
  qemu aio: add XML parsing (Matthias Dahl),
  Remove bogus log warning lines when launching QEMU (Daniel P. Berrange),
  qemu: fix error messages (Eric Blake),
  qemu: Report more accurate error on failure to attach device. (Hu Tao),
  Force guest suspend at timeout (Wen Congyang),
  Show migration progress. (Wen Congyang),
  Cancel migration if user presses Ctrl-C when migration is in progress (Hu Tao),
  qemu: use separate alias for chardev and associated device (Eric Blake),
  remote: Add extra parameter pkipath for URI (Osier Yang),
  Update localization files from Fedora i10n (Daniel Veillard),
  Add check for poll error events in monitor (Daniel P. Berrange),
  Filter out certain expected error messages from libvirtd (Daniel P. Berrange),
  Add a function to the security driver API that sets the label of an open fd. (Laine Stump),
  qemu: Error prompt when managed save a shutoff domain (Osier Yang),
  build: avoid corrupted gnulib/tests/Makefile (Eric Blake),
  qemu: sound: Support intel 'ich6' model (Cole Robinson),
  vmx: Use VIR_ERR_CONFIG_UNSUPPORTED when appropriated (Matthias Bolte),
  Push unapplied fixups for previous patch (Cole Robinson),
  qemu: Add conf option to auto setup VNC unix sockets (Cole Robinson),
  qemu: Allow serving VNC over a unix domain socket (Cole Robinson),
  qemu: Set domain def transient at beginning of startup process (Cole Robinson),
  qemu: report more proper error for unsupported graphics (Osier Yang),
  qemu: Fail if per-device boot is used but deviceboot is not supported (Jiri Denemark),
  Turn libvirt.c error reporting functions into macros (Daniel P. Berrange),
  build: use more gnulib modules for simpler code (Eric Blake),
  Remove two unused PATH_MAX-sized char arrays from the stack (Matthias Bolte),
  Use VIR_ERR_OPERATION_INVALID when appropriated (Matthias Bolte),
  Fix misuse of VIR_ERR_INVALID_* error code (Matthias Bolte),
  Simplify "NWFilterPool" to "NWFilter" (Matthias Bolte),
  datatypes: Get virSecretFreeName in sync with the other free functions (Matthias Bolte),
  qemu: use -incoming fd:n to avoid qemu holding fd indefinitely (Eric Blake),
  tests: Add tests for per-device boot elements (Jiri Denemark),
  Introduce per-device boot element (Jiri Denemark),
  conf: Move boot parsing into a separate function (Jiri Denemark),
  build: let xgettext see strings in libvirt-guests (Eric Blake),
  A couple of fixes for the search PHP code (Daniel Veillard),
  virsh: Use WITH_SECDRIVER_APPARMOR to detect AppArmor support (Matthias Bolte),
  memtune: Let virsh know the unlimited value for memory tunables (Nikunj A. Dadhania),
  maint: improve sc_prohibit_strncmp syntax check (Eric Blake),
  Enable tuning of qemu network tap device "sndbuf" size (Laine Stump),
  Add XML config switch to enable/disable vhost-net support (Laine Stump),
  Use the new set_password monitor command to set password. (Marc-André Lureau),
  qemu: add set_password and expire_password monitor commands (Marc-André Lureau),
  qemu: move monitor device out of domain_conf common code (Eric Blake),
  domain_conf: split source data out from ChrDef (Eric Blake),
  cpu: Add support for Westmere CPU model (Jiri Denemark),
  qemu: improve device flag parsing (Eric Blake),
  util: add missing string->integer conversion functions (Eric Blake),
  qemu: convert capabilities to use virCommand (Eric Blake),
  virsh: ensure --maximum flag used only with --config for setvcpus (Justin Clift),
  Add HAP to xen hypervisor capabilities (Jim Fehlig),
  Add support for HAP feature to xen drivers (Jim Fehlig),
  Add HAP to virDomainFeature enum (Jim Fehlig),
  tests: virsh is no longer in builddir/src (Eric Blake),
  virFindFileInPath: only find executable non-directory (Eric Blake),
  Fix old PHP syntax in the search online form (Daniel Veillard),
  report error when specifying wrong desturi (Wen Congyang),
  qemu: Reject SDL graphic if it's not supported by qemu (Osier Yang),
  vbox: Silently ignore missing registry key on Windows (Matthias Bolte),
  python: Use PyCapsule API if available (Cole Robinson),
  event-test: Simplify debug on/off (Cole Robinson),
  Refactor the security drivers to simplify usage (Daniel P. Berrange),
  Add AM_MAINTAINER_MODE (Guido Günther),
  esx: Move occurrence check into esxVI_LookupObjectContentByType (Matthias Bolte),
  esx: Add domain autostart support (Matthias Bolte),
  vmx: Add support for video device VRAM size (Matthias Bolte),
  API: Improve log for domain related APIs (Osier Yang),
  schema: tighten <serial><protocol type=...> relaxNG (Eric Blake),
  Log an error on attempts to add a NAT rule for non-IPv4 addresses (Laine Stump),
  Improve error reporting when parsing dhcp info for virtual networks (Laine Stump),
  qemu driver: fix positioning to end of log file (Stefan Berger),
  build: satisfy 'make syntax-check' regarding year change (Eric Blake)
- Cleanups:
  build: silence some clang warnings (Eric Blake),
  maint: kill dead assignments (Eric Blake),
  build: silence false positive clang report (Eric Blake),
  maint: whitespace cleanup (Eric Blake),
  maint: update AUTHORS (Eric Blake),
  Prefer C style comments over C++ ones (Matthias Bolte),
  Revert all previous error log priority hacks (Daniel P. Berrange),
  Cleanup code style in logging APIs (Daniel P. Berrange),
  Remove redundant brackets around return values (Daniel P. Berrange),
  tests: Remove obsolete secaatest (Matthias Bolte),
  datatypes: avoid redundant __FUNCTION__ (Eric Blake)

### 0.8.7: Jan 4 2011

- Features:
  Preliminary support for VirtualBox 4.0 (Matthias Bolte),
  IPv6 support (Laine Stump),
  Add VMware Workstation and Player driver (Jean-Baptiste Rouault),
  Add network disk support (MORITA Kazutaka and Josh Durgin)
- Documentation:
  esx: Fix "occurence" typo (again) (Matthias Bolte),
  update docs for network disks (MORITA Kazutaka),
  docs: Make VMware Workstation / Player page appear in the menu (Matthias Bolte),
  Add info about VMware driver to the libvirt website (Jean-Baptiste Rouault),
  docs: fixed typo, added table of contents (Justin Clift),
  docs: added compiling page and significantly expanded windows page (Justin Clift),
  docs: Add additional indentation to level 3 menu items (Matthias Bolte),
  maint: doc fix (Eric Blake),
  Update documentation of watchdog dump option and add test data for it (Hu Tao),
  virsh: fix a typo in the memtune help description (Justin Clift),
  docs: updated virsh command reference download links to new version (Justin Clift),
  Moved the nodeinfo command to the 'host' help keyword group (Justin Clift),
  man pages: update the description for the virsh help command (Justin Clift),
  virsh: move two commands from domain group to storage pool group (Osier Yang),
  virCommand: docs for usage of new command APIs (Daniel P. Berrange),
  virsh: update help for "virsh help help" (Osier Yang),
  virsh: remove a badly placed line break in virsh -h output (Justin Clift),
  virsh: Categorize commands into groups for virsh help (Osier Yang)
- Portability:
  vbox: Handle different IID representation in Version 2.2 on Windows (Matthias Bolte),
  build: make building on cygwin easier (Eric Blake),
  build: improve testsuite results with older automake (Eric Blake),
  build: allow older libselinux again (Eric Blake),
  build: allow autoconf 2.59 again (Eric Blake),
  build: allow mingw compilation with virCommand (Eric Blake),
  build: quote AC_LANG_PROGRAM to avoid warnings with autoconf 2.68 (Diego Elio Pettenò),
  build: properly handle ./configure --with-libpcap (Diego Elio Pettenò),
  build: avoid shadowing devname(),
  on BSD systems (Eric Blake) Fix undefined symbol errors when macvtap support is disabled (Matthias Bolte),
  Fix warning when macvtap support is disabled (Jean-Baptiste Rouault)
- Bug fixes:
  virExec: fix logic bug (Eric Blake),
  Set broadcast address for IPv4 addresses on virtual network bridges (Laine Stump),
  Fix misuse of VIR_ERR_INVALID_DOMAIN (Matthias Bolte),
  build: fix building error when building without libvirtd (Wen Congyang),
  spec: Enable ESX driver on RHEL (Jiri Denemark),
  bridge: Fix uninitialized variable (Jiri Denemark),
  make the dhcp element optional in network.rng (Laine Stump),
  fix syntax error in configure.ac (Wen Congyang),
  qemu: Reparent children when deleting a snapshot (Matthias Bolte),
  Set bitmap size when allocating a bitmap (Jim Fehlig),
  qemu: Return SPICE ports on domain shutdown (Jiri Denemark),
  virterror: avoid API breakage with vmware (Eric Blake),
  Fix memory leak in virsh (Hu Tao),
  Distribute libvirt_vmx.syms (Matthias Bolte),
  vmware: Fix undefine symbol with loadable drivers enabled (Matthias Bolte),
  esx: Fix cluster resource lookup when connecting to a vCenter (Matthias Bolte),
  command: avoid hanging on daemon processes (Eric Blake),
  storage: Ignore dangling symbolic link for filesystem pool (Osier Yang),
  Skip file-based security checks for network disks (Josh Durgin),
  tests: avoid data race (Eric Blake),
  bridge_driver: avoid double call to VIR_FREE (Paweł Krześniak),
  vbox: Don't leak domain names in vboxListDefinedDomains (Matthias Bolte),
  vbox: Don't leak arrays from XPCOM (Matthias Bolte),
  build: fix typo that broke 'make dist' (Eric Blake),
  util: Fix logical error in virReportSystemErrorFull (Jiri Denemark),
  util: Fix error message in __virExec (Jiri Denemark),
  daemon: Change CWD to / before daemonizing (Jiri Denemark),
  daemon, threads: plug a memory leak (Eric Blake),
  daemon: plug a memory leak (Eric Blake),
  conf: plug memory leaks (Eric Blake),
  tests: plug memory leaks (Eric Blake),
  virExec: avoid undefined behavior (Eric Blake),
  command: plug memory leak (Eric Blake),
  build: distribute commandtest files (Eric Blake),
  spec: do not start libvirt-guests if that service is off (Dan Kenigsberg),
  correct the signal's name (Wen Congyang),
  command: avoid memory leak (Eric Blake),
  qemu: call drive_del in DetachPciDiskDevice (Ryan Harper),
  qemu: call drive_unplug in DetachPciDiskDevice (Ryan Harper),
  qemud: fix memory leak in io error events (Anthony Liguori),
  qemu: Enable disabled debug messages (Jiri Denemark),
  qemu: Use -vga none only if it is supported (Jiri Denemark),
  openvz: avoid potential buffer overflow (Eric Blake),
  tests: fix leaks in commandtest (Eric Blake),
  uuid: require smbios uuid and domain uuid to match (Eric Blake),
  qemu: avoid adding "" in smbios arguments (Eric Blake),
  Fix funny off-by-one error in clock-variable (Dan Kenigsberg),
  syntax error "Bad fd number" when stopping libvirt-guests (Laurent Léonard),
  util: Fix bug which will cause libvirtd crash (Osier Yang),
  qemu: Fix a possible deadlock in p2p migration (Jiri Denemark),
  qemu: Don't try to set input FD to -1 (Matthias Bolte),
  Fix memory leak in logging setup (Daniel P. Berrange),
  schemas: Fix cpu element schema (Jiri Denemark),
  virsh: Remove using phy as default disk driver in cmdAttachDisk (Osier Yang),
  OpenVZ: drop fd leackage (Guido Günther),
  qemu: plug memory leak (Eric Blake),
  libvirtd: avoid memory leak on shutdown (Eric Blake),
  Fix flaw in thread creation APIs (Daniel P. Berrange)
- Improvements:
  build: avoid compilation warnings (Eric Blake),
  Improve virSocketAddrMask[ByPrefix] API (Laine Stump),
  Utility functions to produce an IPv4 broadcast address (Laine Stump),
  qemu: add -incoming fd:n capability checking (Eric Blake),
  spec: Automatically turn on cgconfig service (Daniel P. Berrange),
  Replace setuid/setgid/initgroups with virSetUIDGID(),
  (Laine Stump) new virSetUIDGID(),
  utility function (Laine Stump) Preserve errno across calls to error reporting functions & VIR_FREE (Laine Stump),
  Run radvd for virtual networks with IPv6 addresses (Laine Stump),
  Turn on IPv6 support in the bridge_driver.c virtual network driver (Laine Stump),
  Update iptables.c to also support ip6tables. (Laine Stump),
  Support multiple IP addresses on one network in bridge_driver.c (Laine Stump),
  Change virtual network XML parsing/formatting to support IPv6 (Laine Stump),
  Replace brSetInetAddress/brSetInetNetmask with brAddInetAddress (Laine Stump),
  Make virtual network netmasks optional (Laine Stump),
  Pass prefix rather than netmask into iptables functions (Laine Stump),
  Consistently return 0 on success, -1 on failure in bridge_driver.c (Laine Stump),
  Fix logging of failed iptables commands (Laine Stump),
  New virNetworkDef utility functions (Laine Stump),
  New virSocketAddr utility functions (Laine Stump),
  virsh: Add --force option to update-device (Jiri Denemark),
  esx: Add support for storage volume wiping (Matthias Bolte),
  esx: Add support for storage volume deletion (Matthias Bolte),
  maint: avoid space-tab (Eric Blake),
  build: skip vmware driver when building for RHEL (Eric Blake),
  tests: avoid spurious failure of nodeinfotest (Eric Blake),
  libvirt-guests: avoid sourcing failure (Eric Blake),
  vbox: Handle different array representations of XPCOM and MSCOM (Matthias Bolte),
  vbox: Add glue layer for MSCOM on Windows (Matthias Bolte),
  vbox: Match struct layout of the MSCOM implementation on Windows (Matthias Bolte),
  vbox: Use stdcall convention for all COM methods on Windows (Matthias Bolte),
  maint: improve tests distribution (Eric Blake),
  Update QEMU test cases for new file locations & API renames (Daniel P. Berrange),
  Move QEMU hotplug helper code out of the QEMU driver (Daniel P. Berrange),
  Move QEMU domain lock / job helper code to separate file (Daniel P. Berrange),
  Move QEMU driver lock helpers to a separate file (Daniel P. Berrange),
  Move QEMU hostdev helper code out of the QEMU driver (Daniel P. Berrange),
  Move QEMU cgroup helper code out of the QEMU driver (Daniel P. Berrange),
  Move QEMU audit helper code out of the QEMU driver (Daniel P. Berrange),
  Move QEMU private data & namespace code into separate file (Daniel P. Berrange),
  Move QEMU command line management into a separate file (Daniel P. Berrange),
  Move QEMU capabilities management into a separate file (Daniel P. Berrange),
  Add a new function doStartCPUs (Hu Tao),
  Add a new function doStopCPUs (Hu Tao),
  Add a macro timeval_to_ms to compute micro seconds from timeval (Hu Tao),
  cpu: Unify CPUID data structures (Jiri Denemark),
  esx: Add support for storage volume cloning (Matthias Bolte),
  selinux: avoid memory overhead of matchpathcon (Eric Blake),
  tests: test Fedora 14 qemu-kvm -help parsing (Eric Blake),
  tests: test RHEL 6.0 qemu-kvm -help parsing (Eric Blake),
  sysinfo: convert to virCommand (Eric Blake),
  build: update gnulib for pipe on mingw (Eric Blake),
  test: fix commandtest under autobuild.sh (Eric Blake),
  qemu: Introduce two new job types (Osier Yang),
  qemu: Add RBD support and some network disk fixes (Josh Durgin),
  Missing "Default-Stop" field in LSB comment in libvirt-guests (Laurent Léonard),
  802.1Qbh: Add support for IFLA_VF_MAC (Roopa Prabhu),
  command: ease use with virBuffer, and fix qemu leak (Eric Blake),
  Convert dhcpStartDhcpDaemon from virRun to virCommand (Laine Stump),
  esx: Refactor storage pool type lookup into a function (Matthias Bolte),
  esx: Improve error reporting for failed tasks (Matthias Bolte),
  tests: Add tests for network disks (Josh Durgin),
  Add a watchdog action `dump' (Hu Tao),
  Add a new function doCoreDump (Hu Tao),
  threadpool impl (Hu Tao),
  qemu: Distinguish between domain shutdown and crash (Jiri Denemark),
  qemu: Only build devstr when needs (attach PCI controller),
  (Osier Yang) configure: improve misleading libnl missing error message (Justin Clift),
  maint: update to latest gnulib (Eric Blake),
  openvz: convert popen to virCommand (Eric Blake),
  command: improve behavior on no output (Eric Blake),
  command: enforce fd vs. buffer considerations (Eric Blake),
  tests: Fix commandtest in VPATH build (Jiri Denemark),
  command: improve allocation failure reporting (Eric Blake),
  tests: Fix detection of expected error (Jiri Denemark),
  tests: Fix code formating in commandtest (Jiri Denemark),
  smbios: allow (),
  in smbios strings (Eric Blake) smbios: support system family (Eric Blake),
  threads: add virThreadID for debugging use (Eric Blake),
  tests: Don't ignore return value of getcwd(),
  (Jiri Denemark) build: Fix internal docs generation in VPATH builds (Jiri Denemark),
  Change return value of VIR_DRV_SUPPORTS_FEATURE to bool (Jiri Denemark),
  Implement virVMOperationType{To|From}String independent from WITH_MACVTAP (Matthias Bolte),
  Create file in virFileWriteStr(),
  if it doesn't exist (Jean-Baptiste Rouault) Remove bogus includes (Daniel P. Berrange),
  uml: convert to virCommand (Daniel P. Berrange),
  qemu: convert to virCommand (Eric Blake),
  Port hooks and iptables code to new command execution APIs (Daniel P. Berrange),
  Introduce new APIs for spawning processes (Daniel P. Berrange),
  util: add virVasprintf (Eric Blake),
  util: fix saferead type (Eric Blake),
  Tweak daemon event debug to include errno (Daniel P. Berrange),
  tests: Add tests for CPU selection in qemu driver (Jiri Denemark),
  tests: Support for faking emulator in qemuxml2argv (Jiri Denemark),
  maint: update .gitignore (Eric Blake),
  qemu: Use macro for max and min vnc port instead of number (Osier Yang),
  tests: Add unit tests for internal CPU APIs (Jiri Denemark),
  cpu: Add support for overriding path to CPU map XML file (Jiri Denemark),
  Fall back to QEMUD_SAVE_FORMAT_RAW if compression method fails. (Hu Tao)
- Cleanups:
  esx: Move VMX handling code out of the driver directory (Matthias Bolte),
  qemu: use virAsprintf instead of PATH_MAX (Eric Blake),
  build: fix typo that broke 'make dist' (Wen Congyang),
  sysinfo: formatting cleanups (Eric Blake),
  virsh: Remove redundant commands in group domain (Osier Yang),
  virsh: Remove redundant optional option for cmdHelp (Osier Yang),
  qemu: Fix typo in qemuTeardownDiskPathDeny (Osier Yang),
  maint: allow 'make syntax-check' to run again (Eric Blake)

### 0.8.6: Nov 30 2010

- Features:
  new API virDomainIsUpdated (Osier Yang),
  Add support for iSCSI target auto-discovery (Daniel P. Berrange),
  QED: Basic support for QED images (Adam Litke),
  Introduce a virDomainOpenConsole API (Daniel P. Berrange),
  Support for SPICE graphics (Daniel P. Berrange),
  Add a sysinfo and SMBIOS support (Daniel Veillard),
  Implement virsh qemu-monitor-command. (Chris Lalancette)
- Documentation:
  updated c# bindings with arnauds latest changes (Justin Clift),
  Fix spelling of virBufferAsprintf (Jiri Denemark),
  Fix broken XML entity for '>' (Philipp Hahn),
  removed outdated reference to virt-mem (Justin Clift),
  Add doc for missed options of migrate (Osier Yang),
  add doc for missed parameters of attach-disk (Osier Yang),
  update virsh manual (Osier Yang),
  updated virsh command reference with libvirt.org links (Justin Clift),
  Generate HACKING from docs/hacking.html.in (Matthias Bolte),
  Prepare hacking.html.in to generate HACKING from it (Matthias Bolte),
  updated csharp pages with latest info (Justin Clift),
  trivial typo fix (Justin Clift),
  added virsh command reference page. (Justin Clift),
  rpm: Fix summary wording (Cole Robinson),
  Augment bug reporting documentation (Daniel Veillard),
  virsh: fix incorrect help text mentioning non-existent network 'id' (Justin Clift),
  Fix off-by-1 in todo page generator (Daniel P. Berrange),
  Fix comment for video tag in domain RNG schema (Daniel P. Berrange),
  fix typo (Eric Blake)
- Portability:
  remote: Fix TLS transport on Windows (Matthias Bolte),
  Rename 'remove' param to 'toremove' to avoid clash with stdio.h (Daniel P. Berrange),
  virt-aa-helper: Fix several compile errors (Matthias Bolte),
  maint: improve i18n on non-Linux (Eric Blake),
  nwfilter: use /bin/sh rather than requiring bash (Eric Blake),
  Use python discovered through env instead of hardcoding a path (Matthias Bolte),
  esx: Avoid warnings about breaking strict-aliasing rules on FreeBSD (Matthias Bolte),
  Make sure struct sockaddr_in is defined on FreeBSD (Matthias Bolte),
  configure: Disable FS storage driver if mntent.h is not available (Matthias Bolte),
  daemon: Include stdlib.h in dispatch.c (Matthias Bolte),
  xen: work with xen 4.0.1 headers (Eric Blake),
  Fix build with polkit 0 (Jim Fehlig),
  xen: work with ia64 MAX_VIRT_CPUS of 64 (Eric Blake),
  build: cleanup declaration of xen tests. (Diego Elio Pettenò),
  qemu: check compression program availability of virsh save and dump (KAMEZAWA Hiroyuki)
- Bug Fixes:
  correct the arguments of migrate_speed (Wen Congyang),
  Fix memory leaks in audit & VirtualBox code (Daniel P. Berrange),
  Fix host CPU counting on unusual NUMA topologies (Jiri Denemark),
  security, storage: plug memory leaks for security_context_t (Eric Blake),
  network: plug memory leak (Eric Blake),
  qemu: plug memory leak (Eric Blake),
  Always close drivers when a virConnectPtr is released (Matthias Bolte),
  libvirtd: fix bug when shrinking number of clients (Eric Blake),
  Fix 32-bit int truncation in QED header check (Daniel P. Berrange),
  Fix error handling in virsh when listing storage volumes (Daniel P. Berrange),
  Fix parsing of port attribute in storage XML configuration (Daniel P. Berrange),
  Don't catch SIGCHLD in libvirtd (Daniel P. Berrange),
  Ensure logfile isn't truncated by shutdown message. (Daniel P. Berrange),
  xend: Escape reserved sexpr characters (Cole Robinson),
  xend: urlencode: Properly escape '&' (Cole Robinson),
  conf: Fix parsing python style triple quotes (Cole Robinson),
  nwfilter: re-order lock grabbed by IP addr. learn thread (Stefan Berger),
  virExec: fix bug in setting up child stderr/out with /dev/null (Daniel P. Berrange),
  Fix a failure to restore SELinux label for character devices (Daniel Veillard),
  nwfilter: also purge ip(6)tables rules before detecting IP address (Stefan Berger),
  Fix ipv4-addr definition in interface.rng (Laine Stump),
  remote_driver.c: fix non-literal format strings w/o args (Laine Stump),
  ignore SELinuxSetFilecon error in SELinuxSetSecurityFileLabel if on nfs (Laine Stump),
  Fix reference counting bug in virsh console (Daniel P. Berrange),
  Fix busy-wait loop on closed file descriptor (Daniel P. Berrange),
  Fix LXC container console device setup (Daniel P. Berrange),
  rpm: fix /var/lib/libvirt permissions (Eric Blake),
  xencapstest: Don't fail when Xen is installed (Matthias Bolte),
  virsh: fix non-literal string format (Laine Stump),
  Fix syntax-check error in domain.rng (Matthias Bolte),
  qemu: Fix non-literal format string (Jiri Denemark),
  macvtap: libvirtd forgot macvtap dev name when restarted (Stefan Berger),
  tests: fix daemon-conf testing failure (Osier Yang),
  Fix virPipeReadUntilEOF on more than 1024 bytes of data (Daniel Veillard),
  Misc error handling fixes in text mode monitor commands (Daniel P. Berrange),
  Ignore open failures when relabelling disk images (Daniel P. Berrange),
  Treat failure to relabel stdin_path as non-fatal on NFS (Daniel P. Berrange),
  qemu: add the USB devices to the cgroup whitelist (Diego Elio Pettenò),
  802.1Qbg: use pre-associate state at beginning of inc. migr (Stefan Berger)
- Improvements:
  Log client errors in libvirtd at debug priority,
  maint: prohibit most uses of xmlGetProp (Eric Blake),
  maint: ensure syntax check exceptions are distributed (Eric Blake),
  Implementations of virDomainIsUpdated for drivers except qemu (Osier Yang),
  implement callback function for qemu driver (Osier Yang),
  implement the remote protocol (Osier Yang),
  implement public API virDomainIsUpdated (Osier Yang),
  define internal driver API (Osier Yang),
  tests: Fix dispatching internal error reports (Cole Robinson),
  Improve SCSI volume name generation (Daniel P. Berrange),
  Fix error codes returned when a storage pool is inactive (Daniel P. Berrange),
  Check whether pools are already active upon libvirtd startup (Daniel P. Berrange),
  Allow iSCSI IQN to be set with find-storage-pool-sources-as command (Daniel P. Berrange),
  Switch the virsh XML generation to use virBuffer instead of virAsprintf (Daniel P. Berrange),
  Stop iSCSI targets automatically logging back in after logout (Daniel P. Berrange),
  Refactor iSCSI driver code to facilitate future changes (Daniel P. Berrange),
  Ensure virExec preserves logging environment (Daniel P. Berrange),
  Include a thread identifier in log messages (Daniel P. Berrange),
  qemu: setvcpus: Save config changes to disk (Cole Robinson),
  qemu: setvcpus: Simplify altering the persistent config (Cole Robinson),
  qemu: setvcpus: Fix maxvcpus check (Cole Robinson),
  conf: domain: Improve vcpus validation reporting (Cole Robinson),
  Make state driver device hotplug/update actually transient (Cole Robinson),
  domain_conf: Add virDomainObjSetDefTransient (Cole Robinson),
  buf: Simplify virBufferEscapeString (Cole Robinson),
  conf: Convert ParseString to use STRPREFIX (Cole Robinson),
  schemas: domain: Add more valid file path chars (Cole Robinson),
  qed: Minor updates to QED support patches (Adam Litke),
  Support for probing qed image metadata (Adam Litke),
  storage_file: Add a new flag to mark backing files that are safe to probe (Adam Litke),
  Allow probing of image formats without version information (Adam Litke),
  maint: tighten strncmp syntax check (Eric Blake),
  capabilities, cpu: use new array API (Eric Blake),
  memory: make it easier to avoid quadratic scaling of arrays (Eric Blake),
  memory: make it safer to expand arrays (Eric Blake),
  build: fix autobuild failures on gcov upgrade (Eric Blake),
  virt-aa-helper: translate error messages (Eric Blake),
  maint: update to latest gnulib (Eric Blake),
  deprecate fclose() and introduce VIR_{FORCE_}FCLOSE() (Stefan Berger),
  qemu: record timestamp in qemu domain log (Osier Yang),
  virsh: add net-info command (Osier Yang),
  interface.rng: Make miimon and arpmon optional for bond interfaces (Laine Stump),
  macvtap: convert send / recv function to use libnl (Stefan Berger),
  configure: Remove bashism and replace 'test ==' with 'test =' (Matthias Bolte),
  virsh: Fix compile error in VPATH build (Matthias Bolte),
  qemu: Remove unnecessary quoting from the process name argument (John Morrissey),
  phyp: Don't do a flags check in the storage driver (Matthias Bolte),
  qemu: Add qemu-system-s390x to the emulators list (Matthias Bolte),
  macvtap: convert nl msg construction to use libnl (Stefan Berger),
  Do a better job of validating IP and MAC addresses in network.rng (Laine Stump),
  virt-aa-helper should require uuid in XML (Jamie Strandboge),
  esx: Support SMBIOS host mode (Matthias Bolte),
  Wire up virDomainOpenConsole for LXC, Xen and UML (Daniel P. Berrange),
  Re-write virsh console to use streams (Daniel P. Berrange),
  Convert daemon/events.c to use virMutex and virThread (Daniel P. Berrange),
  Introduce portability APIs for creating threads (Daniel P. Berrange),
  Support virDomainOpenConsole with QEMU (Daniel P. Berrange),
  Add a generic internal API for handling any FD based stream (Daniel P. Berrange),
  Lower logging level in remote driver streams (Daniel P. Berrange),
  Remote driver client and server for virDomainOpenConsole (Daniel P. Berrange),
  Support callbacks on virStream APIs in remote driver client (Daniel P. Berrange),
  virsh: supply long option for -V (Eric Blake),
  qemu: Add flag to force a CDROM eject (Cole Robinson),
  Allow non-file disk backingStores (Adam Litke),
  bye to close(), welcome to VIR_(FORCE_)CLOSE() (Stefan Berger),
  esx: Add support for memtune/min_guarantee (Matthias Bolte),
  schema: Move timer element inside clock (Jiri Denemark),
  Misc test case fixes for SPICE (Daniel P. Berrange),
  virsh: Add .xml suffix to tmp files used in *edit commands (Jiri Denemark),
  Support SPICE channel security options (Daniel P. Berrange),
  Support multiple QXL video cards (Daniel P. Berrange),
  Define XML syntax for password expiry (Daniel P. Berrange),
  Add SPICE support for QEMU driver configuration file (Daniel P. Berrange),
  Support automatic port number allocation for SPICE (Daniel P. Berrange),
  Implement QEMU/KVM QXL video card support in QEMU driver (Daniel P. Berrange),
  Add a graphics type for SPICE protocol (Daniel P. Berrange),
  Add a QXL graphics card type to domain XML schema (Daniel P. Berrange),
  Show compiled in options in virsh -V (Daniel Veillard),
  lxc: Exit on first error in lxcDomainGetMemoryParameters (Matthias Bolte),
  Allow virDomainGetMemoryParameters on read-only connections (Matthias Bolte),
  Add a new test for sysinfo and smbios handling (Daniel Veillard),
  Add sysinfo/smbios support to the QEmu driver (Daniel Veillard),
  Read the host sysinfo for the QEmu driver (Daniel Veillard),
  Add smbios element to schema and configuration to HVM os (Daniel Veillard),
  Sysinfo parsing and saving to/from configuration files (Daniel Veillard),
  Sysinfo extension to relax-ng schemas (Daniel Veillard),
  Change calling conventions in remote driver client internals (Daniel P. Berrange),
  util: Add helper function to build timestamp string (Osier Yang),
  misc: encode the Emacs suggstions from HACKING into a .dir-locals.el file (Diego Elio Pettenò),
  add compression support for "virsh dump" (KAMEZAWA Hiroyuki),
  qemu_driver: add virCgroupMounted (Lai Jiangshan),
  OpenVZ: Fix some overwritten error codes (Guido Günther),
  OpenVZ: take veid from vmdef-name when defining new domains (Guido Günther)
- Cleanups:
  tests: Fix detection of expected errors (Jiri Denemark),
  Remove bogus check for Xen in example program (Daniel P. Berrange),
  build: enforce files.h usage (Eric Blake),
  maint: sort exports (Eric Blake),
  Remove bogus port handling code in virsh (Daniel P. Berrange),
  Remove trailing ':' from timestamp (Daniel P. Berrange),
  Log all errors at level INFO to stop polluting syslog (Daniel P. Berrange),
  daemon: use safer memory growth macros (Eric Blake),
  maint: avoid remaining sprintf uses (Eric Blake),
  maint: use gnulib configmake rather than open-coding things (Eric Blake),
  replace last instances of close() (Stefan Berger),
  daemon: fix indention problem in daemon/libvirt.c (Osier Yang),
  qemu: fix typos in qemu_monitor_text.c (Osier Yang),
  re-indent network.rng following structural change (Laine Stump),
  Put network.rng contents inside grammar for uniformity with other RNGs (Laine Stump),
  maint: Commit .gitignore sorting done by bootstrap (Jiri Denemark),
  xen-proxy: Remove it entirely and use libvirtd instead (Matthias Bolte),
  qemu: Remove redundant slash in save directory path (Matthias Bolte),
  virterror: supply missing spaces (Eric Blake),
  Fix several warnings about a non-literal format string (Jiri Denemark),
  build: avoid compiler warning in xen code (Eric Blake)

### 0.8.5: Oct 29 2010

- Features:
  Enable JSON and netdev features in QEMU > 0.13 (Daniel P. Berrange),
  framework for auditing integration (Daniel P. Berrange),
  framework for DTrace/SystemTap integration (Daniel P. Berrange),
  Setting the number of vcpu at boot (Eric Blake),
  Enable support for nested SVM (Daniel P. Berrange),
  Virtio plan9fs filesystem QEMU (Daniel P. Berrange),
  Memory parameter controls (Nikunj A. Dadhania),
  portability to OS-X (Justin Clift)
- Documentation:
  virsh: improve the help description for managedsave and start (Justin Clift),
  updated the C# bindings page with arnauds latest changes (Justin Clift),
  update ruby bindings maintainer to chris lalancette (Justin Clift),
  reworded and reordered the bindings page, plus minor tweaks (Justin Clift),
  Fix xen API documentation (Philipp Hahn),
  added a table of contents to the first 11 docs files (Justin Clift),
  reformated the bindings page html markup to match other pages (Justin Clift),
  revamp api_extension example, using vcpu patch series (Eric Blake),
  install the generated html files when make install is run (Justin Clift),
  Fix documentation for virEventAddTimeout() (Philipp Hahn),
  esx: Add documentation about certificates and connection problems (Matthias Bolte),
  added a table of contents to the new c sharp bindings page (Justin Clift),
  removed old changelog file, as it is no longer relevant (Justin Clift),
  Update comments for the memory tunables macros (Nikunj A. Dadhania),
  added initial page for c# binding, with links to it (Justin Clift),
  virsh: consolidate memtune docs (Eric Blake),
  Update docs for memory parameters and memtune command (Nikunj A. Dadhania),
  document how to disable memballoon (Eric Blake),
  Update todo list file to point at bugzilla/website (Daniel P. Berrange),
  virsh: update comment about parsing (Eric Blake),
  virsh: document options in man page (Eric Blake),
  Fixes for documentation extraction (Daniel Veillard),
  Add automatic generation of a todo item page (Daniel P. Berrange),
  nwfilter: Add 2nd example to the html docs (Stefan Berger),
  nwfilter: Extend docs with info about the state attribute (Stefan Berger),
  vcpu: improve cpuset attribute (Eric Blake),
  nwfilter: Extend docs with information about comment attr. (Stefan Berger),
  grammar cleanups on logging examples (Eric Blake),
  Fix spelling of Xen in comments (Philipp Hahn),
  reworked the policykit patch submitted by Patrick Dignan (Justin Clift),
  fix the xml validity errors regarding name and id (Justin Clift),
  improve wording for the dev guide (Justin Clift),
  add the app dev guide (Justin Clift)
- Portability:
  mingw: Add body for virFork and remove double virDriverLoadModule export (Matthias Bolte),
  daemon: exclude requirement for probes.h on systems without systemtap (Justin Clift),
  build: skip xenapi driver when building for RHEL (Eric Blake),
  build: fix mingw build (Eric Blake),
  build: require pkg-config for bootstrap (Eric Blake),
  configure: disable network and storage-fs drivers on mac os x (Justin Clift),
  build: fix example build on MacOS X (Eric Blake),
  mpath: disable devmapper-multipath checking on non-linux (Justin Clift),
  mac os x: use awk selected by build system rather than first in path (Justin Clift),
  virtualbox: fix a typo in the expected location on mac os x (Justin Clift),
  nwfilter: Don't compile nwfilter driver on other systems than Linux (Stefan Berger),
  nwfilter: add a missing define, so libvirtd builds on macos x (Justin Clift),
  build: avoid non-portable IPv6 struct member, for MacOS X (Eric Blake),
  virsh: change wexitstatus order to allow compilation on mac osx (Justin Clift),
  build: use portable sed expressions (Eric Blake)
- Bug Fixes:
  eliminate possibility of a double-closed file descriptor (Stefan Berger),
  qemu: check for vm after starting a job (Eric Blake),
  Only attempt removal of the rule allowing tftp if it was added (Laine Stump),
  qemu: don't use %.3d format for bus/addr of USB devices (Diego Elio Pettenò),
  virsh: fix range of memtune command (Eric Blake),
  qemu: work around dash 0.5.5 bug in managed save (Eric Blake),
  Avoid squashing errors during network startup cleanup path (Daniel P. Berrange),
  xen: Fix domain dump (Jiri Denemark),
  dnsmasq: avoid potential crash (Eric Blake),
  Fix netmask checks for IPv6 in virSocketCheckNetmask (Daniel P. Berrange),
  Don't fail lxc domain start when memory controller support is missing (Guido Günther),
  root_squash: virFileOperation may fail with EPERM too (Dan Kenigsberg),
  qemu: let qemu group look below /var/lib/libvirt/qemu/ (Dan Kenigsberg),
  qemu: Prohibit migration of guests with host devices (Jiri Denemark),
  cpu: Use vendor in baseline CPU only if all hosts use it (Jiri Denemark),
  cpu: Fix vendor for recent CPU models (Jiri Denemark),
  Fix Xen SEXPR generation to properly quote strings containing () (Daniel P. Berrange),
  nwfilter: resolve deadlock between VM ops and filter update (Stefan Berger),
  Don't fail on missing D-Bus (Guido Günther),
  cpu: Remove redundant features (Jiri Denemark),
  xen: Fix virDomain{At,De}tachDevice (Jiri Denemark),
  xen: xenXMDomain*DeviceFlags should obey all flags (Jiri Denemark),
  nwfilter: fix memory leaks (Stefan Berger),
  phyp: Checking for NULL values when building new guest (Eduardo Otubo),
  libvirt-guests: start late and stop early (Jiri Denemark),
  nwfilter bug appearing on big endian machines (Stefan Berger),
  Rebuild network filter for UML guests on updates (Soren Hansen)
- Improvements:
  vbox: Stop hardcoding a single path for VBoxXPCOMC.so (Matthias Bolte),
  Add disk/net resource auditing to QEMU driver (Daniel P. Berrange),
  Add auditing of security label in QEMU driver (Daniel P. Berrange),
  Add auditing of start/stop events to the QEMU driver (Daniel P. Berrange),
  Add printf format attribute annotation to virAuditSend method (Daniel P. Berrange),
  Add audit helper for escaping log message strings (Daniel P. Berrange),
  virsh: use - not _ in memtune option names (Eric Blake),
  build: fix shell detection bug (Eric Blake),
  virsh: improve help text where integers are expected (Eric Blake),
  docs: make the location of the xml catalog file a configure option (Justin Clift),
  Fix build for SystemTap 1.0 (Matthias Bolte),
  Fix formatting of network address in iptables helpers (Daniel P. Berrange),
  virsh: Add option 'model' for attach-interface (Osier Yang),
  qemu: Fix detection of drive readonly option (Jiri Denemark),
  vbox: Fix compile errors due to the virSocketAddr series (Matthias Bolte),
  Don't try to parse a NULL ip address for boot server (Daniel P. Berrange),
  Convert virNetwork to use virSocketAddr everywhere (Daniel P. Berrange),
  Include socket address in client probe data (Daniel P. Berrange),
  Add dtrace static probes in libvirtd (Daniel P. Berrange),
  Add test suite for virSocket APIs (Daniel P. Berrange),
  Ban use of all inet_* functions (Daniel P. Berrange),
  Fix error reporting for virSocketParse (Daniel P. Berrange),
  Expand virSocketFormat to be more flexible (Daniel P. Berrange),
  Fix passing of address family to virSocketParseAddr (Daniel P. Berrange),
  Include length with virSocketAddr data (Daniel P. Berrange),
  audit: simplify declaration (Eric Blake),
  qemu: Exit on first error in qemuDomainGetMemoryParameters (Matthias Bolte),
  virsh: Don't read nparams when virDomainGetMemoryParameters fails (Matthias Bolte),
  Fix formatting of the memtune XML element (Matthias Bolte),
  Add process= support for 'qemu-kvm -name' (John Morrissey),
  nwfilter: avoid dir. enforcement for certain types of rules (Stefan Berger),
  Audit SELinux label assignment. (Miloslav Trmač),
  Audit VM start/stop/suspend/resume (Miloslav Trmač),
  vcpu: remove dead xen code (Eric Blake),
  vcpu: improve support for setting xen vcpu counts (Eric Blake),
  vcpu: improve support for getting xen vcpu counts (Eric Blake),
  vcpu: improve vcpu support in xen command line (Eric Blake),
  vcpu: complete vcpu support in qemu driver (Eric Blake),
  vcpu: improve vcpu support in qemu command line (Eric Blake),
  vcpu: support all flags in test driver (Eric Blake),
  vcpu: add virsh support (Eric Blake),
  vcpu: support maxvcpu in domain_conf (Eric Blake),
  vcpu: make old API trivially wrap to new API (Eric Blake),
  vcpu: implement the remote protocol (Eric Blake),
  vcpu: implement the public APIs (Eric Blake),
  vcpu: define internal driver API (Eric Blake),
  vcpu: add new public API (Eric Blake),
  nwfilter: changes to rules in VM->host table (Stefan Berger),
  esx: Handle non-UTF-8 encoded VMX files (Matthias Bolte),
  Run initgroups() in qemudOpenAsUID() (Dan Kenigsberg),
  memtune: Add min_guarantee to the virsh memtune command (Nikunj A. Dadhania),
  esx: Fix check in esxDomainGetInfo's perf metric handling (Matthias Bolte),
  virsh: add tests for recent cli improvements (Eric Blake),
  virsh: new echo command (Eric Blake),
  virsh: add support for accepting arbitrary argv (Eric Blake),
  esx: Explictly declare VMX file content as UTF-8 (Matthias Bolte),
  esx: Handle name escaping properly (Matthias Bolte),
  nwfilter: prevent filters with different name but same UUID (Stefan Berger),
  new attribute accessmode to filesystem element (Harsh Prateek Bora),
  nwfilter: cut off connections after changing filters (Stefan Berger),
  build: provide URL in 'configure --help' (Eric Blake),
  tests: Honor LIBVIRT_{DEBUG,LOG_*} variables (Jiri Denemark),
  tests: Do not override LIBVIRT_DEBUG variable (Jiri Denemark),
  Improve error reporting in test suites (Daniel P. Berrange),
  virsh: move code into topological order (Eric Blake),
  virsh: simplify top-level option parsing (Eric Blake),
  virsh: add -- support (Lai Jiangshan),
  virsh: support single quote (Lai Jiangshan),
  virsh: add escaper \ for command string parsing (Lai Jiangshan),
  virsh: rework command parsing (Lai Jiangshan),
  virsh: add vshCommandParser abstraction (Lai Jiangshan),
  virsh: better handling the boolean option (Lai Jiangshan),
  virsh: allow zero length arguments (Lai Jiangshan),
  virsh: better support double quote (Lai Jiangshan),
  Add todo.pl and config example to EXTRA_DIST (Daniel P. Berrange),
  Fix several minor problems introduced by the memtune series (Matthias Bolte),
  Remote protocol implementation of virDomainSet/GetMemoryParameters (Nikunj A. Dadhania),
  Adding memtune command to virsh tool (Nikunj A. Dadhania),
  Implement domainGetMemoryParamters for LXC (Nikunj A. Dadhania),
  Implement domainSetMemoryParamters for LXC (Nikunj A. Dadhania),
  Adding memtunables to libvirt-lxc command (Nikunj A. Dadhania),
  Adding memtunables to qemuSetupCgroup (Nikunj A. Dadhania),
  Implement domainGetMemoryParamters for QEmu (Nikunj A. Dadhania),
  Implement domainSetMemoryParamters for QEmu (Nikunj A. Dadhania),
  Implement cgroup memory controller tunables (Nikunj A. Dadhania),
  XML parsing for memory tunables (Nikunj A. Dadhania),
  Adds xml entries for memory tunables in domain schema (Nikunj A. Dadhania),
  Adding structure and defines for virDomainSet/GetMemoryParameters (Nikunj A. Dadhania),
  Set sensible defaults for cpu match and feature policy (Daniel P. Berrange),
  xen: Fix logic bug in xenDaemon*DeviceFlags (Jiri Denemark),
  xen: Make xenDaemon*DeviceFlags errors less confusing (Jiri Denemark),
  Return a suitable error message if we can't find a matching emulator (Guido Günther),
  Pass -n to ip(6)tables (Guido Günther),
  nwfilter: Extend schema to accept state attribute (Stefan Berger),
  nwfilter: Add test case for testing the state attribute (Stefan Berger),
  nwfilter: Instantiate state match in ip(6)tables rules (Stefan Berger),
  nwfilter: Extend XML parser and gen. to support state attr. (Stefan Berger),
  xen: Fix bogus error when attaching a device (Jiri Denemark),
  esx: Add support for virtual serial device network backing (Matthias Bolte),
  phyp: Verify that domain XML contains at least one disk element (Matthias Bolte),
  implement usb and pci hot attach in AppArmor driver (Jamie Strandboge),
  nwfilter: Add a test case for testing the comment attribute (Stefan Berger),
  nwfilter: Extend nwfilter schema to accept comment attrib. (Stefan Berger),
  nwfilter: Instantiate comments in ip(6)tables rules (Stefan Berger),
  nwfilter: Extend XML parser and generator w/ comment attribute (Stefan Berger),
  configure: tweak logic flow of virtport check (Justin Clift),
  Rework configure logic for virtualport support (Stefan Berger),
  nwfilter: report if ip(6)tables rules would not be active (Stefan Berger),
  app-armor: add 'rw' for appropriate devices (Jamie Strandboge),
  add extra tests to virt-aa-helper-test for new '-p' option (Jamie Strandboge),
  esx: Allow '-' in VMX entry names (Matthias Bolte),
  Make SASL work over UNIX domain sockets (Daniel P. Berrange),
  Refactor some daemon code to facilitate introduction of static probes (Daniel P. Berrange),
  nodeinfo: work when hot-plugging is disabled (Eric Blake),
  libvirtd: improve the error message displayed on tls client auth failure (Justin Clift),
  virsh: Use virBuffer for generating XML (Jiri Denemark)
- Cleanups:
  audit: printf warning fix (KAMEZAWA Hiroyuki),
  build: use shorter file names for 'make dist' (Eric Blake),
  maint: fix syntax-check failure of previous patch (Eric Blake),
  maint: ignore new test executable (Eric Blake),
  tests: Silence qemuxml2argv test (Jiri Denemark),
  Remove all use of inet_pton and inet_ntop (Daniel P. Berrange),
  Remove both addrToString methods (Daniel P. Berrange),
  Remove pointless nwIPAddress struct & void *casts (Daniel P. Berrange),
  Remove useless code in error path of getnameinfo() (Daniel P. Berrange),
  maint: sort private sym lists (Eric Blake),
  Rename VIR_DOMAIN_SWAP_HARD_LIMIT to VIR_DOMAIN_MEMORY_SWAP_HARD_LIMIT (Matthias Bolte),
  Fix make check on RHEL-5 (Jiri Denemark),
  Don't let daemon-conf test fail when auditing is disabled (Matthias Bolte),
  Fix compile errors in remote.c and newly added audit code (Matthias Bolte),
  Fix symbol exports & remove duplicated libvirt_util.la linkage (Daniel P. Berrange),
  Fix statstest when driver modules are enabled (Daniel P. Berrange),
  build: avoid false positive syntax-check failure (Eric Blake),
  proxy: Fix undefined reference to virClose (Matthias Bolte),
  Introduce VIR_CLOSE to be used rather than close() (Stefan Berger),
  Fix warning about a non-literal format string in qemu_driver.c (Laine Stump),
  test: silence nwfilter test (Stefan Berger),
  tests: fix spurious test failure (Eric Blake),
  memory: fix remote protocol compilation (Eric Blake),
  virsh: poison raw allocation routines (Eric Blake),
  Avoid checking against strncpy in virsh.c (Daniel Veillard),
  Cleanup some tabs issues (Daniel Veillard),
  util: add missing export (Eric Blake),
  virt-aa-helper-test cleanups (Jamie Strandboge),
  python: drop unnecessary conn assignment (Dan Kenigsberg),
  pciFindStubDriver should return NULL on error (Chris Wright),
  tests: silence qemuargv2xmltest noise (Eric Blake),
  tests: clean up qemuargv2xmltest (Eric Blake),
  maint: silence warning from libtool (Eric Blake),
  tests: Fix preprocessor indentation (Jiri Denemark)

### 0.8.4: Sep 10 2010

- Features: various improvements to UML driver (Soren Hansen)
- Documentation:
  docs: fix lxc examples (Serge Hallyn),
  docs: mention domain clock improvements (Eric Blake),
  docs: fix an incorrect keyword in updated hooks page (Justin Clift),
  docs: significant expansion of custom hook script information (Justin Clift)
- Portability:
  cygwin: build fix (Stefan Berger),
  build: allow mingw VPATH build (Eric Blake),
  Generate libvirt_qemu.def from libvirt_qemu.syms for MinGW builds (Matthias Bolte),
  Only require XDR when building libvirtd or the remote driver (Matthias Bolte),
  build-sys: fix build when daemon is disabled by not installing libvirtd.8 (Diego Elio Pettenò)
- Bug Fixes:
  Fix block statistics with newer versions of Xen (Guido Günther),
  Fix off-by-1 in QEMU boot arg array handling (Daniel P. Berrange),
  bridge: Fix static-only DHCP configuration (Jiri Denemark),
  qemu: qemuMonitorJSONEjectMedia(): Fix arguments' type (Luiz Capitulino),
  qemu: qemuMonitorJSONMigrate(): Fix arguments' type (Luiz Capitulino),
  test: Don't overwrite storage volume target path and key (Matthias Bolte),
  build: Fix permissions of sysconfig files (Jiri Denemark),
  virsh: remove driver check from attach-disk command (Ryan Harper),
  phyp: Bad comparison when checking for existing domain name (Eduardo Otubo),
  esx: Fix esxVI_BuildSelectSet's invalid argument check (Matthias Bolte),
  spec: Fix undefined with_libnl (Jiri Denemark),
  Fix handling of sparse NUMA topologies (Daniel P. Berrange),
  qemu: Check for errors when converting PCI address to string (Jiri Denemark),
  qemu: Fix JSON migrate_set_downtime command (Jiri Denemark),
  uml: fix logic bug in checking reply length (Eric Blake),
  xen: Fix scheduler setting problems (Daniel Veillard),
  nodedev: Free the right pointers when getting WWNs fails (Jiri Denemark),
  nodedev: Fix sysfs paths for vport operations (Dave Allan),
  xen: Fix device count on detach (Daniel Berrange),
  remote: Fix incorrect use of private data field (Daniel Berrange),
  esx: Fix memory leak when looking up an non-existing domain by name (Matthias Bolte),
  Fix up qemu domain save/managed save locking. (Chris Lalancette),
  qemu: Release PCI slot when detaching disk and net devices (Jiri Denemark),
  qemu: Re-reserve all PCI addresses on libvirtd restart (Jiri Denemark),
  Close fd's of persistent tap devices (Soren Hansen),
  Fix tunnelled migration with qemu running as qemu:qemu. (Chris Lalancette),
  Fix valgrind complaints when using kill -SIGHUP on libvirtd (Stefan Berger),
  bridge: Fix potential segfault when preparing dnsmasq arguments (Jiri Denemark),
  Fix return value usage (Doug Goldstein),
  nodeinfo: skip offline CPUs (Eric Blake),
  Do not use boot=on on IDE device (Daniel Veillard)
- Improvements:
  virsh: Option for overriding disk type in attach-disk (Jiri Denemark),
  Explicitly pass uml_dir argument to user-mode-linux (Soren Hansen),
  Fix dependancies for remote generated files (Daniel P. Berrange),
  Ensure remote daemon unions are always non-zero length (Daniel P. Berrange),
  Add nwfilter support to UML driver (Soren Hansen),
  esx: Use SessionIsActive when available (Matthias Bolte),
  esx: Fall back to path as key when QueryVirtualDiskUuid isn't available (Matthias Bolte),
  mingw: match recent changes in spec file (Eric Blake),
  Update of localization files (Daniel Veillard),
  esx: Use the VirtualDisk UUID as storage volume key (Matthias Bolte),
  esx: Add .vmdk storage volume creation (Matthias Bolte),
  OpenVZ: add ethernet interface type support (Jean-Baptiste Rouault),
  esx: Rework datastore path parsing and handling (Matthias Bolte),
  esx: Fix generator for string return values (Matthias Bolte),
  build: add some modules (Eric Blake),
  Use global directory as UML's monitorDir for privileged connections (Soren Hansen),
  maint: track moved file (Eric Blake),
  Add tests for Xen's blktap2 implementation (Jim Fehlig),
  Add blktap2 support to xend driver (Jim Fehlig),
  esx: Map the .vmx annotation to the domain XML description (Matthias Bolte),
  esx: Add read-only storage volume access (Matthias Bolte),
  Move libvirt-guests init script and config to tools (Jiri Denemark),
  Support virDomainAttachDevice and virDomainDetachDevice for disks in UML (Soren Hansen),
  Log return value for virConnectGetCapabilities (Daniel P. Berrange),
  Try harder to send RPC error message back to client (Daniel P. Berrange),
  Add explicit warning messages when failing to serialize to XDR (Daniel P. Berrange),
  Allow chardev of type 'file' for UML domains. (Soren Hansen),
  esx: Improve object-by-type lookup performance (Matthias Bolte),
  xen tests: Fix PV-VFB tests with RHEL-5 API (Jiri Denemark),
  xen tests: Fix missing "type ioemu" with rhel5-api (Jiri Denemark),
  nodeinfotest: Print libvirt error on failure (Jiri Denemark),
  xenapi: support xenapi 5.6.0 headers (Eric Blake),
  Add support for -enable-kqemu flag (Daniel P. Berrange),
  esx: Use MD5 sum of mount path as storage pool UUID (Matthias Bolte),
  esx: Make sure dumpxml outputs proper ID for active domains (Matthias Bolte),
  Add actions to virDomainLifecycle enum (Jim Fehlig),
  vbox: add location used in rpmfusion release (Eric Blake),
  storage: add support for Vendor and Model in XML (Patrick Dignan),
  qemu: Fix copy and paste error in warning message (Jiri Denemark),
  nwfilter: extend nwfilter reload support (Stefan Berger),
  esx: Explicitly disable unused floppy devices (Matthias Bolte),
  phyp: Add rudimentary network driver (Eduardo Otubo),
  Make umlConnectTapDevice ask brAddTap for a persistent tap device. (Soren Hansen),
  Make sure all command line arguments get passed to UML (Soren Hansen),
  nwfilter: Discard class D,E IP addresses when sniffing pkts (Stefan Berger),
  nwfilter: serialize execution of scripts with ebtables cmds (Stefan Berger),
  Move the tunnelled migration unix socket to /var/lib/libvirt/qemu (Chris Lalancette),
  qemu: avoid calling the balloon info command if disabled (Daniel Veillard),
  bridge: Add --dhcp-no-override option to dnsmasq (Jiri Denemark),
  esx: Improve VMX file name parsing and formatting (Matthias Bolte),
  esx: Split VMX code into a general and an ESX specific part (Matthias Bolte),
  allow memballoon type of none to desactivate it (Daniel Veillard),
  Add a detailed message when tap device add fails (Doug Goldstein),
  qemu: Hack around asynchronous device_del (Jiri Denemark),
  build-sys: only build the test programs during the check phase. (Diego Elio Pettenò),
  Add "ubd" to the list of disk prefixes (Soren Hansen),
  Extend virSocketParseAddr() to allow a NULL result pointer (Daniel Veillard),
  bootloader_args is named bootargs in xen-xm (Philipp Hahn),
  Fix return value usage (Doug Goldstein),
  qemu: improve error if tun device is missing (Doug Goldstein),
  build: rerun bootstrap if po/Makevars got nuked (Eric Blake)
- Cleanups:
  Remove hack to get static binaries in DV environment (Daniel Veillard),
  build: avoid uninitialized variable warning (Eric Blake),
  vbox: factor a large function (Eric Blake),
  lxc: avoid large stacks with veth creation (Eric Blake),
  openvz: use virAsprintf to avoid large stacks (Eric Blake),
  openvz: formatting cleanups (Eric Blake),
  network: use virAsprintf when appropriate (Eric Blake),
  Move hextobin as virHexToBin to util.c (Matthias Bolte),
  Rename qemudShrinkDisks to virDomainDiskRemove and move to domain_conf.c (Soren Hansen),
  xml2sexprtest: Remove graphics from unrelated tests (Jiri Denemark),
  xenapi: Fix compile error in previous commit (Matthias Bolte),
  qemu: Remove code duplication (Jiri Denemark),
  vbox: factor a large function (Eric Blake),
  xenapi: avoid sprintf (Eric Blake),
  storage: avoid s[n]printf (Eric Blake),
  maint: whitespace cleanups (Eric Blake),
  build: delete dead comments (Eric Blake),
  nwfilter: use consistent OOM reporting (Eric Blake),
  build: fix compiler warning (Eric Blake),
  build: fix AppArmor compilation (Jamie Strandboge),
  Avoid unnecessary bootstrap runs in VPATH builds (Jiri Denemark),
  maint: update an email address preference (Eric Blake),
  phyp: refactor phypListDomainsGeneric to eliminate buffer overflow (Eduardo Otubo)

### 0.8.3: Aug 4 2010

- Features:
  esx: Support vSphere 4.1 (Matthias Bolte),
  Qemu arbitrary monitor commands. (Chris Lalancette),
  Qemu Monitor API entry point. (Chris Lalancette)
- Documentation:
  docs: Link wiki FAQ to main page (Cole Robinson),
  Document the memory balloon device (Daniel P. Berrange),
  man pages: update authors and copyright notice for libvirtd and virsh (Justin Clift),
  Add openauth example to demonstrate a custom auth callback (Matthias Bolte),
  docs: fix so generated .html files are removed with make clean (Justin Clift),
  virsh: Fix man page syntax (Jiri Denemark),
  html docs: added firewall explanation page by daniel berrange (Justin Clift),
  libvirtd: add man page for libvirtd (Justin Clift)
- Portability:
  Fix compile on i686. (Chris Lalancette),
  daemon: dispatch.c should include stdio.h (and stdarg.h) (Ryota Ozaki)
- Bug fixes:
  qemu: Fix PCI address allocation (Jiri Denemark),
  Don't leak delay string when freeing virInterfaceBridgeDefs (Laine Stump),
  qemu: don't lose error on setting monitor capabilities (Eric Blake),
  Add iptables rule to fixup DHCP response checksum. (Laine Stump),
  Fix the ACS checking in the PCI code. (Chris Lalancette),
  Free up memballoon def. (Chris Lalancette),
  Fix a bogus warning when parsing <hostdev> (Chris Lalancette),
  Update ID after stopping a domain (Matthias Bolte),
  openvzDomainCreateWithFlags: set domain id to the correct value (Jean-Baptiste Rouault),
  xenapi: Update ID after starting a domain (Matthias Bolte),
  esx: Update ID after starting a domain (Matthias Bolte),
  Fix DMI uuid parsing. (Chris Lalancette),
  Do not activate boot=on on devices when not using KVM (Daniel Veillard),
  Fix a memory leak in the qemudBuildCommandLine. (Chris Lalancette),
  esx: Fix freeing of heterogeneous lists (Matthias Bolte),
  xen: fix logic bug (Eric Blake),
  Eliminate memory leak in xenUnifiedDomainInfoListFree (Laine Stump),
  lxc: Fix 'autostart' doesn't take effect actually (Ryota Ozaki),
  Fix --with-xen-proxy related compile error (Matthias Bolte),
  Fix a potential race in pciInitDevice. (Chris Lalancette),
  Invert logic for checking for QEMU disk cache options (Daniel P. Berrange),
  libvirt-guests: Don't throw errors if libvirtd is not installed (Jiri Denemark),
  pciResetDevice: use inactive devices to determine safe reset (Chris Wright),
  secaatest: Fix compilation (Matthias Bolte),
  virt-aa-helper-test: Fix failure due to the new disk format probing option (Matthias Bolte),
  virt-aa-helper: Make getopt accept the p option (Matthias Bolte),
  virt-aa-helper: Fix return value of add_file_path (Matthias Bolte),
  Fix SEGV on exit after domainEventDeregister() (Philipp Hahn),
  pciSharesBusWithActive fails to find multiple devices on bus (Chris Wright),
  Fix incorrect use of private data in remote driver (Daniel P. Berrange),
  Set a stable & high MAC addr for guest TAP devices on host (Daniel P. Berrange),
  Fix PCI address assignment if no IDE controller is present (Daniel P. Berrange),
  lxc: force kill of init process by sending SIGKILL if needed (Ryota Ozaki),
  Fix a NULL dereference in the case that the arg in question didn't exist. (Chris Lalancette),
  Remove bogus free of static strings (Daniel P. Berrange),
  Fix a deadlock in bi-directional p2p concurrent migration. (Chris Lalancette),
  Make virsh setmaxmem balloon only when successful. (Chris Lalancette),
  fsync new storage volumes even if new volume was copied. (Laine Stump),
  Don't skip zero'ing end of volume file when inputvol is shorter than newvol (Laine Stump),
  Always clear out the last_error in virshReportError. (Chris Lalancette),
  CVE-2010-2242 Apply a source port mapping to virtual network masquerading (Daniel P. Berrange),
  uml_driver: correct logic error in umlMonitorCommand (Jim Meyering),
  qemuConnectMonitor: fix a bug that would have masked SELinux failure (Jim Meyering),
  python: Fix IOErrorReasonCallback bindings (Cole Robinson),
  cpuCompare: Fix crash on unexpected CPU XML (Jiri Denemark),
  cpu: Fail when CPU type cannot be detected from XML (Jiri Denemark),
  cpuCompare: Fix comparison of two host CPUs (Jiri Denemark),
  Fix potential crash in QEMU monitor JSON impl (Daniel P. Berrange)
- Improvements:
  OpenVZ: implement suspend/resume driver APIs (Jean-Baptiste Rouault),
  esx: Set storage pool target path to host.mountInfo.path (Matthias Bolte),
  esx: Make storage pool lookup by name and UUID more robust (Matthias Bolte),
  esx: Restrict vpx:// to handle a single host in a vCenter (Matthias Bolte),
  esx: Map some managed object types (Matthias Bolte),
  esx: Parse the path of the URI (Matthias Bolte),
  Make virsh -d check its input (Daniel Veillard),
  esx: Switch from name to number checks in the subdrivers (Matthias Bolte),
  esx: Improve blocked task detection and fix race condition (Matthias Bolte),
  build: distribute libvirt_qemu.syms (Eric Blake),
  build: restore operation of bit-rotted 'make cov' (Eric Blake),
  qemu: virtio console support (Cole Robinson),
  domain conf: Track <console> target type (Cole Robinson),
  domain conf: char: Add an explicit targetType field (Cole Robinson),
  domain conf: Rename character prop targetType -> deviceType (Cole Robinson),
  docs: domain: Document virtio <channel> (Cole Robinson),
  tests: Test qemuxml2xml when expected xml changes (Cole Robinson),
  fix handling of PORT_PROFILE_RESPONSE_INPROGRESS netlink message (Gerhard Stenzel),
  maint: turn on gcc logical-op checking (Eric Blake),
  libvirt-guests: add reload, condrestart (Eric Blake),
  libvirt-guests: enhance status (Eric Blake),
  libvirt-guests: detect invalid arguments (Eric Blake),
  qemu: Allow setting boot menu on/off (Cole Robinson),
  qemu: Error on unsupported graphics config (Cole Robinson),
  Force FLR on for buggy SR-IOV devices. (Chris Lalancette),
  qemudDomainAttachHostPciDevice refactor to use new helpers (Chris Wright),
  Add helpers qemuPrepareHostdevPCIDevice and qemuDomainReAttachHostdevDevices (Chris Wright),
  qemuGetPciHostDeviceList take hostdev list directly (Chris Wright),
  esx: Add vpx:// scheme to allow direct connection to a vCenter (Matthias Bolte),
  esx: Don't ignore the vcenter query parameter (Matthias Bolte),
  esx: Add autodetection for the SCSI controller model (Matthias Bolte),
  esx: Allow 'vmpvscsi' as SCSI controller model (Matthias Bolte),
  Add tests for the new Qemu namespace XML. (Chris Lalancette),
  Qemu remote protocol. (Chris Lalancette),
  Handle arbitrary qemu command-lines in qemuParseCommandLine. (Chris Lalancette),
  Qemu arbitrary command-line arguments. (Chris Lalancette),
  Add namespace callback hooks to domain_conf. (Chris Lalancette),
  Remove erroneous setting of return value to errno. (Laine Stump),
  Change virDirCreate to return -errno on failure. (Laine Stump),
  Make virStorageBackendCopyToFD return -errno. (Laine Stump),
  Change virFileOperation to return -errno (ie < 0) on error. (Laine Stump),
  Re-arrange PCI device address assignment to match QEMU's default (Daniel P. Berrange),
  Explicitly represent balloon device in XML and handle PCI address (Daniel P. Berrange),
  Rearrange VGA/IDE controller address reservation (Daniel P. Berrange),
  Use unsigned long in cmdSetmem. (Chris Lalancette),
  Fix up inconsistent virsh option error reporting. (Chris Lalancette),
  Use the extract backing store format in storage volume lookup (Daniel P. Berrange),
  Rewrite qemu-img backing store format handling (Daniel P. Berrange),
  Add ability to set a default driver name/type when parsing disks (Daniel P. Berrange),
  Disable all disk probing in QEMU driver & add config option to re-enable (Daniel P. Berrange),
  Pass security driver object into all security driver callbacks (Daniel P. Berrange),
  Convert all disk backing store loops to shared helper API (Daniel P. Berrange),
  Add an API for iterating over disk paths (Daniel P. Berrange),
  Require format to be passed into virStorageFileGetMetadata (Daniel P. Berrange),
  Refactor virStorageFileGetMetadataFromFD to separate functionality (Daniel P. Berrange),
  Remove 'type' field from FileTypeInfo struct (Daniel P. Berrange),
  Extract the backing store format as well as name, if available (Daniel P. Berrange),
  RFC: Canonicalize block device paths (David Allan),
  .gitignore: Ignore generated libvirtd docs (Cole Robinson),
  esx: Make esxVI_*_Deserialize dynamically dispatched (Matthias Bolte),
  qemu: Use -nodefconfig when probing for CPU models (Jiri Denemark),
  Ensure we return the callback ID in python events binding (Daniel P. Berrange),
  virsh: add new --details option to vol-list (Justin Clift),
  Implement virsh managedsave-remove command. (Chris Lalancette),
  cpu: Add new models from qemu's target-x86_64.conf (Jiri Denemark),
  cpu: Add support for CPU vendor (Jiri Denemark),
  cpuBaseline: Detect empty set of common features (Jiri Denemark),
  cpuBaseline: Don't mess with the CPU returned by arch driver (Jiri Denemark),
  Make html docs in non-srcdir build (Jiri Denemark)
- Cleanups:
  Fix build error in virsh.c (Laine Stump)
  Fix virsh error message when -d arg is not numeric (Eric Blake)
  Fix a couple of typo in iSCSI backend (Aurelien ROUGEMONT)
  Don't put a semicolon on the end of a VIR_ENUM_IMPL. (Chris Lalancette)
  Remove duplicate <p> from downloads.html.in (Matthias Bolte)
  storage: kill dead stores (Eric Blake)
  qemu: kill some dead stores (Eric Blake)
  network: kill dead store (Eric Blake)
  esx: silence spurious compiler warning (Eric Blake)
  build: fix 'make syntax-check' failure (Eric Blake)
  lxc: Fix return values of veth.c functions (Ryota Ozaki)
  maint: fix comment typos (Eric Blake)
  Fix up confusing indentation in qemudDomainAttachHostPciDevice. (Chris Lalancette)
  build: fix VPATH builds (Eric Blake)
  virt-aa-helper: Ignore open errors again (Matthias Bolte)
  qemu-api: avoid build failure (Eric Blake)
  Fix .mailmap after accidental wrong committer address (Daniel P. Berrange)
  Remove inappropriate use of VIR_ERR_NO_SUPPORT (Daniel P. Berrange)
  Remove unused and bitrotting vshCommandOptStringList (Chris Lalancette)
  Remove error checking after using vshMalloc. (Chris Lalancette)
  Remove the "showerror" parameter from vshConnectionUsability. (Chris Lalancette)
  Eliminate compiler warning due to gettext string with no format args (Laine Stump)
  Fix build by removing unknown pod2man flag (Daniel P. Berrange)

### 0.8.2: Jul 5 2010

- Features:
  phyp: adding support for IVM (Eduardo Otubo),
  libvirt: introduce domainCreateWithFlags API (Eric Blake),
  add 802.1Qbh and 802.1Qbg switches handling (Stefan Berger),
  Support for VirtualBox version 3.2 (Jean-Baptiste Rouault),
  Init script for handling guests on shutdown/boot (Jiri Denemark),
  qemu: live migration with non-shared storage for kvm (Kenneth Nagin)
- Documentation:
  html docs: add link to PHP bindings by Radek Hladik (Justin Clift),
  virsh: document attach-disk better (Eric Blake),
  bridge_driver.c: fix file description (Alan Pevec),
  nwfilter: extensions of docs with (Stefan Berger),
  Fix description of virStorageVolGetInfo() (Philipp Hahn),
  virsh: improve help text for vol query commands (Justin Clift),
  virsh: fixed trivial comment and debug message in vshCommandOptVolBy function (Justin Clift),
  virsh: remove xen reference in header comment (Justin Clift),
  virsh: add the volume commands to the virsh man page (Justin Clift),
  virsh: fix minor virsh man page typos and formatting problems (Justin Clift),
  Trivial virsh.pod additions --all for "list" command and similar (Justin Clift),
  Add docs on drive <serial> element (Марк Коренберг),
  daemon: sysconf: Update comment about VNC audio (Cole Robinson),
  nwfilter: documentation (Stefan Berger),
  docs: distribute more coding convention documentation (Eric Blake),
  note a typo: VIR_MIGRATE_TUNNELLED should be VIR_MIGRATE_TUNNELED, (Jim Meyering),
  datatypes: fix comment typo (Eric Blake),
  Fix a typo in docs (Ersek Laszlo),
  docs: hacking: explain why using curly braces well is important (Jim Meyering)
- Portability:
  cgroup: Fix compilation broken on MinGW due to dirent->d_type (Ryota Ozaki),
  parthelper: fix compilation without optimization (Eric Blake),
  build: fix some mingw issues (Eric Blake),
  build: avoid pthreads-win32 on mingw (Eric Blake),
  build: fix cygwin build, correctly this time (Eric Blake),
  build: fix up some compiler flags (Eric Blake),
  build: avoid compile failure on linux kernels older than 2.6.19 (Jim Meyering),
  libvirt_proxy: link with -lpthread if needed (Eric Blake),
  build: allow older gettext (Eric Blake),
  mingw32-libvirt.spec: bring up to date (Eric Blake),
  avoid link error in tests using libvirt_util; due to pthread_sigmask (Jim Meyering),
  configure.ac: Avoid uname, which breaks cross-compilation (Matthias Bolte),
  mingw: Fix two undefined symbols (Matthias Bolte),
  build: avoid compiler warning (Eric Blake),
  build: prefer WIN32 over __MINGW32__ checks (Eric Blake),
  dnsmasqReload: avoid mingw link failure (Eric Blake),
  mingw: Fix symbol export (Matthias Bolte)
- Bug Fixes:
  Avoid invoking the qemu monitor destroy callback if the constructor fails (Daniel P. Berrange),
  cgroup: Add missing errno == ENOENT check in virCgroupRemoveRecursively (Ryota Ozaki),
  Fix crash when detaching devices from qemu domains. (Chris Lalancette),
  virFileResolveLink: guarantee an absolute path (Eric Blake),
  phyp: don't steal storage management from other drivers (Eric Blake),
  Avoid calling virStorageFileIsSharedFS with NULL (Laine Stump),
  lxc: Fix virsh console doesn't work after restarting libvirtd (Ryota Ozaki),
  lxc: Fix error handlings in lxcContainerRenameAndEnableInterfaces (Ryota Ozaki),
  Set proper selinux label on image file during qemu domain restore (Laine Stump),
  build: fix regression with libvirt-api.xml generation (Eric Blake),
  Fix a reference leak for node devices. (Chris Lalancette),
  Don't squash file permissions when migration fails (Daniel P. Berrange),
  Fix migration in text mode and shared storage migration in json mode (Daniel P. Berrange),
  Add missing parameter in python Disk IO error callback (Daniel P. Berrange),
  Check for presence of qemu -nodefconfig option before using it (Laine Stump),
  cgroup: Change virCgroupRemove to remove all descendant groups at first (Ryota Ozaki),
  Fix reference handling leak on qemuMonitor (Daniel P. Berrange),
  Don't leak open fd to virsh in libvirt-guests init script (Jiri Denemark),
  nwfilter: fix loadable module support (Stefan Berger),
  Do not free static buffer with UUID (Jiri Denemark),
  qemu: Fix crash on failed VM startup (Cole Robinson),
  Add several missing vir*Free calls in libvirtd's remote code (Matthias Bolte),
  Fix enumeration of partitions in disks with a trailing digit in path (Daniel P. Berrange),
  vbox: check getenv("DISPLAY") for NULL in vboxDomainDumpXML (Matthias Bolte),
  Check getenv("PATH") for NULL in virFindFileInPath (Matthias Bolte),
  Fix cgroup setup code to cope with root squashing NFS (Daniel P. Berrange),
  Fix leaks in udev device add/remove v3 (David Allan),
  Ensure that PCI device is reattached to host if hotadd fails (Daniel P. Berrange),
  Don't raise errors in the selinux restore code (Daniel P. Berrange),
  Fix check for errors in device_add command in QEMU text monitor (Daniel P. Berrange),
  Network duplicate UUID/name checking (Daniel P. Berrange),
  Storage pool duplicate UUID/name checking (Daniel P. Berrange),
  Fix auto-adding of virtio serial controllers (Daniel P. Berrange),
  Ensure UNIX domain sockets are removed on daemon shutdown (Daniel P. Berrange),
  Fix AppArmor save/restore.Add stdin_path to qemudStartVMDaemon() args. (Jamie Strandboge),
  Adjust block size used by dd to speed QEMU domain save operations. (Laine Stump),
  Fix dereference of potentially freed pointer in qemudDomainSaveFlags (Laine Stump),
  Update nodedev scsi_host data before use (David Allan),
  Fix device destroy return value (David Allan),
  storage: Check for invalid storage mode before opening (Cole Robinson),
  Improve nodedev parent/child relationships (David Allan),
  network: bridge: Don't start network if it collides with host routing (Cole Robinson),
  Fix integer overflow in hotplug methods (Daniel P. Berrange),
  Fix failing virGetHostname. (Chris Lalancette),
  storage: Sanitize pool target paths (Cole Robinson),
  Fix handling of disk backing stores with cgroups (Daniel P. Berrange),
  Fix up basic migration. (Chris Lalancette),
  qemu: Release bus address on PCI host device remove (Alex Williamson),
  qemu: avoid corrupting guest info struct on host device PCI hot add (Alex Williamson),
  Query block allocation extent from QEMU monitor (Daniel P. Berrange),
  Don't overwrite virDomainAssignDef errors. (Chris Lalancette),
  Fix race in finding available vnc port (Jim Fehlig),
  qemu driver: fix version check typos (Chris Wright),
  daemon: A few initscript corrections (Cole Robinson),
  qemu: Properly cleanup in security startup error path (Cole Robinson),
  qemudDomainMigrateFinish2: handle a case of virDomainSaveStatus failure (Jim Meyering),
  Fix potential NULL dereference in remoteDomainMigratePrepare2 (Jiri Denemark),
  qemudDomainRestore: handle a case of virDomainSaveStatus failure (Jim Meyering),
  python: don't ignore virInitialize failure in module initialization (Jim Meyering),
  tests: do not ignore virInitialize failure (Jim Meyering),
  qemuMonitorTextMigrate: avoid leak on OOM-error path (Jim Meyering),
  virNWFilterDefParseXML: avoid leak on error paths (Jim Meyering),
  virDomainNetDefParseXML: avoid leak upon multiple "filterref" (Jim Meyering),
  ebiptablesWriteToTempFile: don't close a negative file descriptor (Jim Meyering),
  Protect against NULL pointer flaws in monitor usage (Daniel P. Berrange),
  Fix multiple potential NULL pointer references in monitor usage (Daniel P. Berrange),
  umlAutostartDomain: avoid NULL-deref upon virGetLastError failure (Jim Meyering),
  x86ModelHasFeature: avoid NULL-dereference for unmatched CPU "feature" (Jim Meyering),
  qemudDomainSetVcpus: avoid NULL-deref (Jim Meyering),
  nwfilter: Add missing driver lock in qemu driver (Stefan Berger),
  Fix a misuse of virAsprintf in qemudDomainMemoryPeek (Ryota Ozaki),
  Don't reset user/group/security label on shared filesystems during migrate (Daniel P. Berrange),
  Fix handling of disk backing stores with cgroups (Daniel P. Berrange),
  Fix possible crash in handling IO Error event (Daniel P. Berrange),
  Fix monitor ref counting when adding event handle (Jiri Denemark),
  Remove watches before calling REMOTE_PROC_CLOSE (Jiri Denemark),
  node_device: udev: Fix PCI product/vendor swappage (Cole Robinson),
  virsh: schedinfo --set invalid=value would simply ignore the option (Jim Meyering),
  Remove unused nwfilter field from struct remote_error (Matthew Booth),
  util: fix va_start usage bug (Eric Blake),
  Don't wipe generated iface target in active domains (Jiri Denemark),
  Various fixes for the spec file (Daniel Veillard),
  lxc: Check domain is active/inactive as required by operation (Jiri Denemark),
  lxc: Make SetMemory work for active domains only (Jiri Denemark),
  cgroup: Fix possible memory leak in virCgroupMakeGroup (Ryota Ozaki),
  Fix memory leaks in cmdInterfaceEdit and cmdNWFilterEdit. (Laine Stump),
  lxc: Fix failure on starting a domain with multiple interfaces (Ryota Ozaki)
- Improvements:
  vbox: Let configure detect/set the XPCOMC directory (Matthias Bolte),
  udev: Parse PCI devices even if libpciaccess fails (Cole Robinson),
  qemu: Improve some qemu.conf error reporting (Cole Robinson),
  util: virExec: Dispatch all errors raised after fork (Cole Robinson),
  virsh: tweak help output for VSH_OT_DATA (Eric Blake),
  Check for active PCI devices when doing nodedevice operations. (Chris Lalancette),
  virsh: add new --details option to pool-list (Justin Clift),
  Selectively ignore domainSetSecurityAllLabel failure in domain restore (Laine Stump),
  use virStorageFileIsSharedFS utility function in qemudDomainSaveFlag (Laine Stump),
  Enhance virStorageFileIsSharedFS (Laine Stump),
  phyp: optimize use of sed (Eric Blake),
  phyp: add storage management driver (Eduardo Otubo),
  phyp: add rudimentary storage driver (Eduardo Otubo),
  maint: add gnulib gettimeofday module (Eric Blake),
  Avoid blocking all APIs during incoming migration (Daniel P. Berrange),
  Set labelling for character devices in security drivers (Daniel P. Berrange),
  Add API for iterating over all character devices (Daniel P. Berrange),
  Adding Storage Management driver (style and indentation) (Eduardo Otubo),
  esx: Add support for the controller element (Matthias Bolte),
  Add optional model attribute to the controller element (Matthias Bolte),
  Add wide SCSI bus disk address generation support (Matthias Bolte),
  cgroup: Enable memory.use_hierarchy of cgroup for domain (Ryota Ozaki),
  network: allow tftp port if tftp is defined (Alan Pevec),
  Add '-nodefconfig' command line arg to QEMU (Daniel P. Berrange),
  Make checks for inactive QEMU guest more robust (Daniel P. Berrange),
  Improve some error messages about unsupported APIs/URIs (Daniel P. Berrange),
  Index hashes by UUID instead of name (Jiri Denemark),
  Allow one-or-more <boot dev="..."/> entries (Philipp Hahn),
  virsh: add --uuid option to vol-pool (Justin Clift),
  nwfilter: add XML attribute to control iptables state match (Stefan Berger),
  virsh: ensure persistence and autostart are shown for dominfo and pool-info (Justin Clift),
  nwfilter: use match target on incoming traffic (Stefan Berger),
  macvtap: work-around for 2.6.32 and older kernels (Stefan Berger),
  virsh: add pool support to vol-key command (Justin Clift),
  esx: Update case insensitive .vmx tests (Matthias Bolte),
  esx: Accept 'disk' as harddisk device type in .vmx files (Matthias Bolte),
  virsh: mark autostart answers for translation (Justin Clift),
  virsh: add start --paused support (Eric Blake),
  qemu: support starting persistent domain paused (Eric Blake),
  drivers: add virDomainCreateWithFlags if virDomainCreate exists (Eric Blake),
  remote: protocol implementation for virDomainCreateWithFlags (Eric Blake),
  uml: sanity check external data before using it (Eric Blake),
  Improve error message for disabled client-side drivers (Matthias Bolte),
  virsh: add snapshot backing store support to vol-create-as (Justin Clift),
  esx: Add proxy query parameter (Matthias Bolte),
  esx: Refactor esxUtil_ParseQuery's parameter handling (Matthias Bolte),
  virsh: add new vol-pool command (Justin Clift),
  virsh: add --paused option to create (Eric Blake),
  qemu: allow creation of a paused domain (Eric Blake),
  virDomainCreateXML: support new flag (Eric Blake),
  Add multiIQN tests (David Allan),
  Add multiiqn XML dump (David Allan),
  Fix test breakage from virtio serial changes (Daniel P. Berrange),
  Enable probing of VPC disk format type (Daniel P. Berrange),
  Prefer UDEV to HAL drivers if both a compiled (Daniel P. Berrange),
  Add support for setting socket MLS level in SELinux driver (Daniel J Walsh),
  Fix error codes for missing storage pools (Daniel P. Berrange),
  Include port number with virtio serial devices (Daniel P. Berrange),
  Disable use of 'reason' field in block IO event in QEMU (Daniel P. Berrange),
  Add stdin_path to qemudStartVMDaemon() args. (Jamie Strandboge),
  Allocate buffer to hold xend response (Jim Fehlig),
  phyp: Strict check when listing domains (Eduardo Otubo),
  hostusb: Properly handle 'usbX' sysfs files (Cole Robinson),
  Add --source-format argument to virsh pool-define-as and pool-create-as (Justin Clift),
  Add --source-format argument to virsh pool-define-as and pool-create-as (Justin Clift),
  build: fix VPATH 'make syntax-check' (Eric Blake),
  qemu: Add a qemu.conf option for clearing capabilities (Cole Robinson),
  macvtap: cannot support target device name (Stefan Berger),
  Fix libvirt-guests init script (Jiri Denemark),
  maint: new syntax-check rule to ensure that AUTHORS stays in sync (Jim Meyering),
  maint: update AUTHORS with recent contributors (Eric Blake),
  xen: Fix chardev listen sexpr formatting (Cole Robinson),
  v2 of Cole's wlan support (David Allan),
  Install, distribute and package domainsnapshot.rng (Matthias Bolte),
  build: support 'make check' in pristine tree (Eric Blake),
  esx: Expose host UUID in the capabilities XML (Matthias Bolte),
  Pass pre-opened PCI device sysfs config file to QEMU (Alex Williamson),
  xen-proxy build broken (Matthias Bolte),
  esx: Add read-only storage pool access (Matthias Bolte),
  libvirtd: diagnose invalid host UUID (Jim Meyering),
  vepa: parsing for 802.1Qb{g|h} XML (Stefan Berger),
  vepa+vsi: Introduce dependency on libnl (Stefan Berger),
  Expose a host UUID in the capabilities XML (Daniel P. Berrange),
  qemu: Allow using regular audio backends with VNC (Cole Robinson),
  lxcSetSchedulerParameters: reverse order of tests; diagnose a failure (Jim Meyering),
  libvirtd: start each diagnostic with "argv0: " (Jim Meyering),
  libvirtd: mark strings for translation, including --help output (Jim Meyering),
  build: force init scripts to rebuild on changed --prefix (Eric Blake),
  build: Distribute the whole tests/qemuhelpdata directory (Matthias Bolte),
  Add defines for QEMU_VNC_PORT_{MIN,MAX} and use them (Jim Fehlig),
  Add simple bitmap operations to utils (Jim Fehlig),
  daemon: Export SDL audio environment variables (Cole Robinson),
  Autostart domains using virDomainObjStart (Jiri Denemark),
  maint: update po/POTFILES.in (Jim Meyering),
  maint: enforce policy wrt VIR_DEBUG and VIR_DEBUG0 (Jim Meyering),
  maint: enforce policy wrt VIR_ERROR and VIR_ERROR0 (Jim Meyering),
  maint: change empty string in err message to localized 'unknown error' (Jim Meyering),
  qemu: Use ShutdownVMDaemon for all startup cleanup paths (Cole Robinson),
  Domain snapshot RNG and tests. (Chris Lalancette),
  Fix up the python bindings for snapshotting. (Chris Lalancette),
  qemu_conf.c: also recognize new first line of qemu -help output (Jim Meyering),
  lxc_controller.c: don't ignore failed "accept" (Jim Meyering),
  qemu: Don't deny ShutdownVMDaemon for non-running VMs (Cole Robinson),
  libvirtd: don't ignore virInitialize failure (Jim Meyering),
  maint: prohibit newline at end of diagnostic (Jim Meyering),
  maint: remove unwanted newline at end of diagnostic (Jim Meyering),
  build: distribute missing file (Eric Blake),
  esx: Make esxVI_*_CastFromAnyType dynamically dispatched (Matthias Bolte),
  esx: Allow esxVI_X_DynamicCast to be called successfully on X objects (Matthias Bolte),
  tests: the remote_protocol check also accommodates older pdwtags (Jim Meyering),
  maint: enforce no-markup policy wrt VIR_WARN-like macros (Jim Meyering),
  Add support for SSE4.1 and SSE4.2 CPU features (Jiri Denemark),
  maint: add more free-like functions to the list and deal with fallout (Jim Meyering),
  maint: add virCgroupFree to the list of free-like functions (Jim Meyering),
  qemudDomainSetVcpus: avoid NULL-deref on failed uuid look-up (Jim Meyering),
  Add CIFS to the list of network file systems (Matthias Bolte),
  Add VIR_STORAGE_POOL_INACCESSIBLE to denote inaccessible storage pools (Matthias Bolte),
  qemu_conf: fix flag value (Eric Blake),
  qemu: Clarify a couple error messages (Cole Robinson),
  virFileResolveLink: fix return value (Eric Blake),
  tests: Skip daemon-conf test if dir exceeds UNIX_PATH_MAX (Cole Robinson),
  pci: Give an explicit error if device not found (Cole Robinson),
  qemu: Report cmdline output if VM dies early (Cole Robinson),
  qemu_driver: avoid NULL dereference (Jim Meyering),
  Make domain save work when dynamic_ownership=0 (Daniel P. Berrange),
  Add support for NIC hotplug using netdev_add in QEMU (Daniel P. Berrange),
  build: update gnulib (Eric Blake),
  tests: correct PATH in new test, for when running manually (Jim Meyering),
  Add env variable for debugging gnutls usage (Daniel P. Berrange),
  maint: allow VPATH use of remote_protocol-structs (Eric Blake),
  help avoid accidental remote_protocol.x changes (Jim Meyering),
  build: use LIBADD, not LDFLAGS, for adding libraries (Eric Blake),
  Implement SCSI disk unplugging (Wolfgang Mauerer),
  qemu: use better types (Eric Blake),
  Refactor disk unplugging (Wolfgang Mauerer),
  build: simplify checks for sched.h (Eric Blake),
  build: use gnulib's sys/wait.h (Eric Blake),
  build: use gnulib's uname (Eric Blake),
  build: rely on gnulib's pthread module (Eric Blake),
  rpmbuild: add ebtables & ip(6)tables dependency for rpm (Stefan Berger),
  lxc: Use virDomainFindByUUID for domain lookup (Jiri Denemark),
  nwfilter: skip some interfaces on filter update (Stefan Berger),
  pass info where request stems from to have rules applied (Stefan Berger),
  dnsmasq.c: Fix OOM error reporting (Matthias Bolte),
  autobuild.sh: provide default prefix (Eric Blake)
- Cleanups:
  lxc: Change VIR_ERROR to VIR_DEBUG for just a debugging message (Ryota Ozaki),
  phyp: reduce scope of driver functions (Eric Blake),
  Fix test case failure due to missing -nodefconfig (Daniel P. Berrange),
  esx: Use bool instead of int where appropriated (Matthias Bolte),
  Cleanup some LIBADD and CFLAGS (Matthias Bolte),
  virsh: remove a doubled up include for errno.h (Justin Clift),
  Misc cleanups (Jiri Denemark),
  Remove unnecessary check for non-NULL uuid (Jiri Denemark),
  qemu: reduce file padding requirements (Eric Blake),
  virsh: change printf() calls to vshPrint() (Justin Clift),
  phyp: sed cleanups (Eric Blake),
  maint: simplify some ignore files (Eric Blake),
  avoid syntax-check failure (Jim Meyering),
  autobuild.sh: avoid bashism (Eric Blake),
  bitmap: reject zero-size bitmap (Eric Blake),
  build: depend on correct file (Eric Blake),
  build: make cpp indentation conform (Jim Meyering),
  hooks: fix typo (Paolo Smiraglia),
  build: silence cppi warning, clarify vbox headers (Eric Blake),
  xen: Remove unused function (Cole Robinson),
  esx: Simplify goto usage (Matthias Bolte),
  Use printf instead of echo -e in libvirt.spec.in (Matthias Bolte),
  build: fix HTML errors in nwfilter docs (Eric Blake),
  build: fix compilation without macvtap (Eric Blake),
  tests: avoid new failure of the daemon-conf test (Jim Meyering),
  storage: mpath: Fix incorrect VIR_ERROR use (Cole Robinson),
  Allow nwfilter functions to be compiled with C++ (Chris Lalancette),
  storage: Combine some duplicate code (Cole Robinson),
  storage: mpath: Clean up some error handling (Cole Robinson),
  Remove dead code after refactoring qemudDomainStart (Jiri Denemark),
  build: fix cppi warnings (Eric Blake),
  Remove isValidIfname. (Chris Lalancette),
  Refactor qemudDomainStart (Jiri Denemark),
  Factor out def assignment to existing domain from virDomainAssignDef (Jiri Denemark),
  Refactor qemudDomainRestore (Jiri Denemark),
  maint: don't mark VIR_DEBUG or VIR_DEBUG0 diagnostics for translation (Jim Meyering),
  maint: more of same, but manual: convert VIR_ERROR("%s" to VIR_ERROR0( (Jim Meyering),
  maint: VIR_ERROR/VIR_ERROR0: mark up the remaining ones manually (Jim Meyering),
  maint: mark translatable string args of VIR_ERROR (Jim Meyering),
  maint: mark translatable string args of VIR_ERROR0 (Jim Meyering),
  maint: use VIR_ERROR0 rather than VIR_ERROR with a bare "%s" (Jim Meyering),
  qemu: Remove explicit VNC XML cleanup (Cole Robinson),
  Rename qemuBuildCommandLine tapfds -> vmfds. (Alex Williamson),
  initialize "meta" in virStorageFileGetMetadata, not in each caller (Jim Meyering),
  (qemu*DiskCgroup): avoid dead code (Jim Meyering),
  maint: more VIR_WARN corrections: now manually (Jim Meyering),
  maint: use VIR_WARN0("...") rather than VIR_WARN("%s", "...") (Jim Meyering),
  maint: remove _(...) from VIR_WARN arg manually (Jim Meyering),
  maint: don't mark VIR_WARN or VIR_WARN0 diagnostics for translation (Jim Meyering),
  do not ignore qemuMonitorAddDrive failure; make uses identical (Jim Meyering),
  ebtablesAddRemoveRule, iptablesAddRemoveRule: don't skip va_end (Jim Meyering),
  linuxNodeInfoCPUPopulate: avoid used-uninitialized via a test (Jim Meyering),
  lxcFreezeContainer: avoid test-after-deref of never-NULL pointer (Jim Meyering),
  Remove debugging fprintf() calls (Daniel P. Berrange),
  tests: use GPLv2+, not GPLv3 (Jim Meyering),
  tests: adjust copyrights on scripts: s/FSF/Red Hat/ (Jim Meyering),
  virsh: fix a typo in a diagnostic (Jim Meyering),
  delMacvtap: typo fix (Eric Blake),
  docs/Makefile.am: remove unnecessary subshells (Eric Blake),
  maint: avoid spurious output if program not present (Eric Blake),
  storage_encryption: silence clang warning (Eric Blake),
  maint: whitespace cleanups (Eric Blake),
  qemu: Fix warning about a non-literal format string (Matthias Bolte),
  build: drop more redundant configure checks (Eric Blake),
  build: silence a clang false positive (Eric Blake)

### 0.8.1: Apr 30 2010

- Features:
  Add virDomainGetBlockInfo API to query disk sizing (Daniel P. Berrange),
  Starts dnsmasq from libvirtd with --dhcp-hostsfile option (Satoru SATOH)
- Documentation:
  cleanup the download section of the documentation (Daniel Veillard),
  Fix messsage as message. (Chris Lalancette),
  Fix up a debug typo. (Chris Lalancette),
  add nwfilter functions to virsh man page (Stefan Berger)
- Portability:
  Fix build on Ubuntu. (Chris Lalancette),
  cygwin/mingw: Fix version script handling (Matthias Bolte),
  build: fix autogen rule for VPATH build (Eric Blake),
  Fix build with DEBUG_RAW_IO=1 (Jiri Denemark),
  Don't try to build qemu and lxc on non-Linux platforms (Daniel Veillard),
  cygwin: Handle differences in the XDR implementation (Matthias Bolte),
  Cygwin's GCC doesn't like this .sa_handler initialization for some reason (Matthias Bolte),
  linux/if.h header is not available on non-Linux platforms (Matthias Bolte),
  cygwin: Check explicitly for getmntent_r (Matthias Bolte),
  Disable stateful OpenNebula driver if libvirtd is disabled (Matthias Bolte),
  build: don't include winsock2.h on cygwin (Eric Blake),
  portability fixes to tools/virt-pki-validate.in (Dustin Kirkland),
  virt-aa-helper-test: avoid non-portable echo -n (Eric Blake),
  schematestutils.sh: improve shell portability: avoid "echo -e" (Jim Meyering),
  Fix build of openvz on RHEL-5. (Chris Lalancette),
  Fix spec file for builds without lxc (Daniel Berteaud)
- Bug Fixes:
  domain: Fix PCI address decimal parsing regression (Cole Robinson),
  Fix virt-pki-validate's determination of CN (Dustin Kirkland),
  Fix detection of disk in IO events (Daniel P. Berrange),
  Fix a virsh edit memory leak (Chris Lalancette),
  Fix a qemuDomainPCIAddressSetFree memory leak (Chris Lalancette),
  Fix a memory leak in the node_device_udev code (Chris Lalancette),
  qemuDomainSnapshotCreateXML: avoid NULL dereferences (Jim Meyering),
  qemudDomainCreate: correct a slightly misdirected goto (Jim Meyering),
  Fix handling of security driver restore failures in QEMU domain save (Daniel P. Berrange),
  Fix QEMU domain save to block devices with cgroups enabled (Daniel P. Berrange),
  Fix QEMU save/restore with block devices (Daniel P. Berrange),
  Fix crash when cleaning up from failed save attempt (Daniel P. Berrange),
  The base used for conversion of USB values should be 16 not 10. (Klaus Ethgen),
  Fix up the locking in the snapshot code. (Chris Lalancette),
  Ignore qemu STOP event when stopping CPUs (Jiri Denemark),
  Fix memory leak in virsh snapshot-list. (Chris Lalancette),
  Fix virDomainSnapshotObjFree memory leak. (Chris Lalancette),
  Fix a memory leak in the snapshot code in libvirtd. (Chris Lalancette),
  QEmu JSON drop timestamp from command object (Luiz Capitulino),
  Fix crash in nwfilter driver check (Daniel P. Berrange),
  qemu: fix security context references in DAC code (Spencer Shimko),
  Properly indent encryption tags (David Allan),
  Fix locking in qemudDomainCoreDump (Jiri Denemark),
  Poll for migration end every 50ms instead of 50us (Jiri Denemark),
  configure.ac SELinux fixes (Spencer Shimko),
  Fix QEMU text monitor command error checking (Daniel P. Berrange),
  Fix CPU hotplug command names (Daniel P. Berrange),
  Fix printing of event detail in python events demo program (Daniel P. Berrange),
  Fix initial VCPU pinning in qemu driver (Jiri Denemark),
  Make avahi startup more robust. (Chris Lalancette),
  esx: Don't treat an empty root snapshot list as error (Chris Wong),
  esx: Fix FindByIp response handling (Matthias Bolte),
  esx: Fix virtualHW.version generation (Matthias Bolte),
  Fix device_del in JSON mode for QEMU (Daniel P. Berrange),
  nwfilter: Free nwfilter hash of virConnectPtr (Matthias Bolte),
  remote: react to failures on wakeupFD (Eric Blake),
  Fix CDROM media change for QEMU when using -device syntax (Daniel P. Berrange),
  Fix QEMU memory stats JSON mode (Daniel P. Berrange),
  Trivial fix: Add braces to for statement to avoid crashes (Stefan Berger),
  qemudDomainAttachSCSIDisk: avoid FP NULL-ptr-deref from clang (Jim Meyering),
  qemudDomainAttachSCSIDisk: avoid FP NULL-ptr-deref from clang (Jim Meyering),
  virGetHostnameLocalhost: avoid FP NULL-ptr-deref from clang (Jim Meyering),
  nwfilter_ebiptables_driver.c: avoid NULL dereference (Jim Meyering),
  esxVMX_GatherSCSIControllers: avoid NULL dereference (Jim Meyering),
  Fix nodeinfotest on NUMA machines (Daniel P. Berrange)
- Improvements:
  Add support for another explicit IO error event (Daniel P. Berrange),
  Report all errors in SELinuxRestoreSecurityFileLabel (Jiri Denemark),
  Prevent updates while IP address learn thread is running (Stefan Berger),
  Syncronize the teardown of rules with the thread (Stefan Berger),
  Clean all tables before applying 'basic' rules (Stefan Berger),
  MAke virFileHasSuffix case insensitive (Paul Dorman),
  nwfilter: Also pick IP address from a DHCP ACK message (Stefan Berger),
  Implement python binding for virDomainGetBlockInfo (Daniel P. Berrange),
  Add new domblkinfo command to virsh (Daniel P. Berrange),
  Implement virDomainGetBlockInfo in QEMU driver (Daniel P. Berrange),
  Remote protocol impl for virDomainGetBlockInfo (Daniel P. Berrange),
  Internal driver API infrastructure for virDomainGetBlockInfo (Daniel P. Berrange),
  Report better error if qemuSnapshotIsAllowed failed. (Chris Lalancette),
  nwfilter: python bindings for nwfilter (Stefan Berger),
  Move dnsmasq host file to a separate directory (Daniel Veillard),
  nwfilter: allow to mix filterrefs and rules in the schema (Stefan Berger),
  Avoid create/unlink with block devs used for QEMU save (Daniel P. Berrange),
  nwfilter: let qemu's after-migration packet pass (Stefan Berger),
  Fix up the error message if we can't parse the snapshot XML. (Chris Lalancette),
  nwfilter: add support for RAPR protocol (Stefan Berger),
  nwfilter: enable hex number inputs in filter XML (Stefan Berger),
  Add build support for dnsmasq module (Satoru SATOH),
  Add dnsmasq module files (Satoru SATOH),
  Fix make dist missing ESX generated files (Daniel Veillard),
  Fix printing of pathnames on error in qemuDomainSnapshotLoad. (Chris Lalancette),
  Improve configure error message about missing Linux headers (Matthias Bolte),
  nwfilter: extend schema + add testcase w/ connlimit-above (Stefan Berger),
  addrToString: give better error message (Eric Blake),
  Fake host CPU for qemu tests (Jiri Denemark),
  Use configured CPU model if possible (Jiri Denemark),
  Support removing features when converting data to CPU (Jiri Denemark),
  Move MIN macro to util.h so that others can use it (Jiri Denemark),
  Deal with CPU models in [] (Jiri Denemark),
  Ignore empty type attribute in driver element of virtual disks (Guido Günther),
  esx: Gather some XML generation macros in esx_vi.h (Matthias Bolte),
  nwfilter: add support for connlimit match (Stefan Berger),
  Extend fwall-drv interface and call functions via interface (Stefan Berger),
  esx: Add support for the VMXNET 2 (Enhanced) NIC model (Matthias Bolte),
  Install nwfilter xml files from source directory. (Philipp Hahn),
  Fixup python binding for virDomainSnapshot APIs (Daniel P. Berrange),
  Fix network hotplug to use device_add in QEMU (Daniel P. Berrange),
  Fix error reporting for getfd + host_net_add in QEMU (Daniel P. Berrange),
  Replace printf with logging macros (Matthias Bolte),
  Mark internal.h for translation (Jiri Denemark),
  Use virCheckFlags for APIs added in 0.8.0 (Jiri Denemark),
  Introduce virCheckFlags for consistent flags checking (Jiri Denemark),
  nwfilter: Clear all state tracking from a drop rule (Stefan Berger),
  Update to latest gnulib to get strtok_r relaxed to LGPLv2+ (Matthias Bolte),
  esx: Add nwfilter driver stub (Matthias Bolte),
  util: ensure safe{read,write,zero} return is checked (Eric Blake),
  Update QEMU device_add command in JSON mode (Daniel P. Berrange),
  Rename parameter in qemuMonitorDeviceDel (Daniel P. Berrange),
  Run test suite as part of RPM build process (Daniel P. Berrange),
  Fix QEMU command building errors to reflect unsupported configuration (Daniel P. Berrange),
  nwfilter: fix tear down order and consolidate functions (Stefan Berger),
  Fix close_used_without_including_unistd_h error (Matthias Bolte),
  Implement variable length structure allocator (David Allan),
  build: set STATIC_ANALYSIS when running via clang or coverity (Jim Meyering),
  sa_assert: assert-like macro, enabled only for use with static analyzers (Jim Meyering),
  Implement forgotten backend of virInterfaceIsActive() (Laine Stump),
  nwfilter: use virFindFileInPath for needed CLI tools (Stefan Berger),
  esx: Extend esx_vi_generator.py to cover methods too (Matthias Bolte),
  Consolidate interface related functions in interface.c (Stefan Berger),
  build: include usleep gnulib module (Eric Blake)
- Cleanups:
  qemudDomainSaveFlag: remove dead store (Jim Meyering),
  Remove unused goto label from qemudDomainCreate (Daniel P. Berrange),
  Fix indentation for storage conf XML (David Allan),
  Make virDomainSnapshotObjListDeinit static. (Chris Lalancette),
  Some NWFilter symbols are conditional and have to be exported conditional (Matthias Bolte),
  xen: Fix inside_daemon beeing unused when libvirtd is disabled (Matthias Bolte),
  maint: update AUTHORS (Marco Bozzolan),
  maint: update AUTHORS with recent contributors (Eric Blake),
  maint: enforce whitespace on shell scripts (Eric Blake),
  testutilsqemu: avoid uninitialized variable (Eric Blake),
  maint: ignore 'make syntax-check' failure files (Eric Blake),
  build: fix preprocessor indentation (Eric Blake),
  build: avoid compiler warning (Eric Blake),
  Explicitly set virStoragePoolTypeInfo FS and NETFS defaults (Matthias Bolte),
  Mark in_open parameter of remoteAuthenticate as unused when it's unused (Matthias Bolte),
  Don't ship generated python/libvirt.? files. (Philipp Hahn),
  esx: Replace scanf with STRSKIP and strtok_r (Matthias Bolte),
  maint: another preprocessor fix (Eric Blake),
  Remove code from JSON monitor for commands that won't be ported (Daniel P. Berrange),
  Fix apibuild.py warnings about missing ':' (Matthias Bolte),
  xend_internal.c: assure clang that we do not dereference NULL (Jim Meyering),
  build: fix recent 'make syntax-check' failure (Eric Blake),
  virStorageBackendFileSystemMount: prefer strdup over virAsprintf (Jim Meyering),
  virStorageBackendFileSystemMount: placate clang (Jim Meyering),
  openvzGetProcessInfo: address clang-detected low-probability flaw (Jim Meyering),
  vshCommandRun: avoid used-uninitialized timing-related report from clang (Jim Meyering),
  Fix up formatting of remote protocol stuff. (Chris Lalancette),
  Remove some debugging leftovers. (Chris Lalancette),
  build: fix syntax-check problems (Eric Blake)

### 0.8.0: Apr 12 2010

- Features:
  esx: Add domain snapshot support (Matthias Bolte),
  Snapshot API framework. (Chris Lalancette),
  Add managed save API entry points (Daniel Veillard),
  Implement XML parser/formatter for "timer" subelement of domain clock (Laine Stump),
  Add hook utilities (Daniel Veillard),
  cpuUpdate() for updating guest CPU according to host CPU (Jiri Denemark),
  Network filtering API (Stefan Berger),
  Introduce a new virDomainUpdateDeviceFlags public API (Daniel P. Berrange),
  Introduce a new public API for domain events (Daniel P. Berrange),
  Public virDomainMigrateSetMaxDowntime API (Jiri Denemark),
  Add public API for volume wiping (David Allan),
  xenapi: Initial commit of the new driver (Sharadha Prabhakar)
- Documentation:
  Add documentation for synchronous hooks (Daniel Veillard),
  Small fixes to virsh man page (Luiz Capitulino),
  Avoid using multicast addresses for Ethernet MAC examples (redshift),
  Fix unterminated B<...> in virsh man page (Jiri Denemark),
  Document all options of virsh dumpxml (Jiri Denemark),
  virsh: improve documentation (Eric Blake),
  Document snapshot virsh commands in the man page. (Chris Lalancette),
  Website documentation for the snapshot XML. (Chris Lalancette),
  website: Add archive link for libvirt-users list (Matthias Bolte),
  virsh: improve man page (Eric Blake),
  Mention direct device support since 0.7.7 in docs (Stefan Berger),
  esx: Improve documentation about remote URIs (Matthias Bolte),
  doc: fix typos in hacking.html.in; mark HACKING as read-only (Jim Meyering),
  doc: fix more typos in HACKING (Jim Meyering),
  hacking: add a section on preprocessor conventions (Eric Blake),
  hacking: fix typos (Eric Blake),
  Update hacking.html.in (David Allan)
- Portability:
  Fix Win32 portability problems (Daniel P. Berrange),
  This patch fixes some compilation issues for the RHEL5 build (Stefan Berger),
  util: Add stubs for some functions on Windows (Matthias Bolte),
  Add HAVE_PTHREAD_H guard for pthread_sigmask (Matthias Bolte),
  bootstrap: Enable copy-mode for MinGW builds (Matthias Bolte),
  util: Handle lack of (f)chmod and (f)chown on Windows (Matthias Bolte),
  bootstrap: Remove rsync from buildreq list (Matthias Bolte),
  Make sure virtTestCaptureProgramOutput has a body on Windows (Matthias Bolte),
  Fix export of virConnectAuthPtrDefault for MinGW builds (Matthias Bolte),
  Make sure uid_t and gid_t are available (Matthias Bolte)
- Bug Fixes:
  nwfilter: Fix memory leak on daemon init and shutdown (Stefan Berger),
  More event callback fixes (Daniel P. Berrange),
  Fix error in nwfilter test driver (Stefan Berger),
  qemu: catch cdrom change error (Ryan Harper),
  nwfilter: fix for directionality of ICMP traffic (Stefan Berger),
  Fix CPU comparison for x86 arch (Jiri Denemark),
  Don't ignore guest CPU selection when unsupported by HV (Jiri Denemark),
  domain_event.c: don't deref NULL on an OOM error path (Jim Meyering),
  nwfiler: fix due to non-symmetric src mac address match in iptables (Stefan Berger),
  qemu_driver.c: don't close an arbitrary file descriptor (Jim Meyering),
  Add VIR_DOMAIN_XML_INACTIVE flag when parsing domain XML (Jamie Strandboge),
  virt-aa-helper should not fail if profile was removed (Jamie Strandboge),
  Do nor clear caps when invoking virt-aa-helper (Jamie Strandboge),
  virterror.c: avoid erroneous case "fall-through" (Jim Meyering),
  Increase the number of available VNC ports. (Chris Lalancette),
  Only assign newDef when we have a new def. (Chris Lalancette),
  nwfilter: Fix random index in virNWFilterRuleDefDetailsFormat (Matthias Bolte),
  xenapi: Fix uninitialized variable warning (Matthias Bolte),
  Add a missing break statement to nwfilter errors. (Chris Lalancette),
  VBox: Fix use of uninitialized value (Jiri Denemark),
  Allow domain disk images on root-squash NFS to coexist with security driver. (Laine Stump),
  Don't use virFileReadLimFD in qemuDomainRestore. (Chris Lalancette),
  nwfilter's XML parser bug fixes (Stefan Berger),
  ESX test case needs '/' in interface name (Stefan Berger),
  Fix linker errors in proxy (Matthias Bolte),
  virConnectGetLibVersion: Avoid error message on success. (Paolo Smiraglia),
  Fix daemon hook script initialization (Daniel Veillard),
  Fix QEMU cpu affinity at startup to include all threads (Daniel P. Berrange),
  Fix "make check" run requesting authentication (Stefan Berger),
  Don't replace persistent domain config with migrated config (Jiri Denemark),
  Fix build break (David Allan),
  esx: Make the conf parser compare names case insensitive in VMX mode (Matthias Bolte),
  vbox: Fix segfault on empty device source (Matthias Bolte),
  python example: poll(-0.001) does not sleep forever (Philipp Hahn),
  Fix error reporting when parsing CPU XML strings (Jiri Denemark),
  virDiskNameToIndex: ignore trailing digits (Jim Meyering),
  esx: Fix potential memory leak in esxVI_BuildFullTraversalSpecItem (Matthias Bolte),
  Avoid libvirtd crash when cgroups is not configured on host (Jim Fehlig),
  security: selinux: Fix crash when releasing non-existent label (Cole Robinson),
  Don't crash without a security driver (Guido Günther),
  qemu: Fix FD leak in qemudStartVMDaemon (Matthias Bolte),
  util: ensure virMutexInit is not recursive (Eric Blake),
  Fix logroate rpm build breakage (Daniel Veillard),
  Fix LSB compliance of init script (Daniel Veillard),
  python: Fix networkLookupByUUID (Philip Hahn),
  Fix make dist with XenAPI changes (Cole Robinson),
  xenapi: Don't leak url and caps in case of error (Matthias Bolte),
  xenapi: Check for NULL before accessing the scheme (Matthias Bolte),
  xenapi: Request a username if there is non in the URI (Matthias Bolte),
  xenapi: Check for valid private data in xenapiSessionErrorHandle (Matthias Bolte),
  Use fsync() at the end of file allocation instead of O_DSYNC (Jiri Denemark),
  security: Set permissions for kernel/initrd (Cole Robinson),
  qemu: Fix USB by product with security enabled (Cole Robinson),
  Make nodeGetInfo report the correct number of NUMA nodes. (Chris Lalancette),
  Fix crash in virsh after bogus command (Chris Lalancette),
  Fix virsh command 'cd' (Chris Lalancette),
  Fix hang in qemudDomainCoreDump. (Chris Lalancette),
  Make sure qemudDomainSetVcpus doesn't hang. (Chris Lalancette),
  Fix a JSON CPU information bug. (Chris Lalancette),
  Free resources on error in udev startup (David Allan),
  Fix up nodeinfo parsing code. (Chris Lalancette),
  Wipe nodeinfo structure before filling it (Jiri Denemark),
  macvtap build detection fix (Stefan Berger),
  Fix virDomainGetXMLDesc cache settings output (Soren Hansen),
  Fix locking in qemudDomainMemoryStats (Adam Litke),
  qemu restore: don't let corrupt input provoke unwarranted OOM (Jim Meyering),
  virFileReadLimFD: diagnose maxlen <= 0, rather than passing it on... (Jim Meyering),
  xen: don't let bogus packets trigger over-allocation and segfault (Jim Meyering)
- Improvements:
  Rename virsh "revert-to-snapshot" to "snapshot-revert" (Chris Lalancette),
  nwfilter: Process DHCP option to determine whether packet is a DHCP_OFFER (Stefan Berger),
  Add enospace option to qemu disk error policy (David Allan),
  nwfilter: More XML parser test cases (Stefan Berger),
  remote: Replace some virRaiseError with remoteError (Matthias Bolte),
  Generate libvirt.def from libvirt.syms (Matthias Bolte),
  Fix up python bindings for new event callbacks (Daniel P. Berrange),
  esx: Allow 'lsisas1068' as SCSI controller type (Matthias Bolte),
  esx: Report an error for invalid arguments in esxList(Defined)Domains (Matthias Bolte),
  nwfilter: Support for learning a VM's IP address (Stefan Berger),
  Properly advertise cpuselection guest capability (Jiri Denemark),
  Update of the apparmor regression tests (Jamie Strandboge),
  Improve the apparmor example (Jamie Strandboge),
  Improve virt-aa-helper to handle SDL graphics and cleanups (Jamie Strandboge),
  Adjust virt-aa-helper to handle pci devices (Jamie Strandboge),
  Add backingstore support to apparmor (Jamie Strandboge),
  build: avoid autogen on 'make clean' (Eric Blake),
  Add filter schema for nwfilter XML, extend domain XML schema (Stefan Berger),
  Add filter schema for nwfilter XML, extend domain XML schema (Stefan Berger),
  nwfilter: Fix instantiated layer 2 rules for 'inout' direction (Stefan Berger),
  Better error reporting in virsh. (Chris Lalancette),
  Snapshot virsh implementation. (Chris Lalancette),
  Snapshots for VBox (Jiri Denemark),
  Snapshot QEMU driver. (Chris Lalancette),
  Snapshot internal methods. (Chris Lalancette),
  xenapi: Add managedsave entries to the driver struct (Matthias Bolte),
  Add a managedsave command to virsh (Daniel Veillard),
  Implement managed save operations for qemu driver (Daniel Veillard),
  Implement remote protocol for managed save (Daniel Veillard),
  build: improve check for out-of-date .gnulib submodule (Eric Blake),
  optimizes the validation of the name of an interface (Stefan Berger),
  adds a couple of test cases for the XML parsing test suite (Stefan Berger),
  build: import latest gnulib (Eric Blake),
  Changes to clock timer XML to match final design. (Laine Stump),
  Keep build quiet for generated file (Daniel P. Berrange),
  Keep track of guest paused state after disk IO / watchdog events (Daniel P. Berrange),
  virsh: add 'exit' as an alias for 'quit' (Eric Blake),
  maint: mark xenapiSessionErrorHandler messages for translation (Jim Meyering),
  Blank out invalid interface names with escaped letters etc. (Stefan Berger),
  esx: Generate most SOAP mapping and improve inheritance handling (Matthias Bolte),
  Distribute nwfilter xml files and add them to rpm (Daniel Veillard),
  Make sure nwfilter headers are part of distribution (Daniel Veillard),
  maint: show which compiler warning triggered (Eric Blake),
  build: automate the rerun of autogen.sh (Eric Blake),
  makes the entries in the int-2-string maps more readable (Stefan Berger),
  Add ip6tables support for IPv6 filtering (Stefan Berger),
  Add support for so-far missing protocols for iptables filtering (Stefan Berger),
  Implement the qemu-kvm backend of clock timer elements (Laine Stump),
  Add flags to indicate presence of timekeeping-related qemu options (Laine Stump),
  Add timer element to domain schema (Laine Stump),
  virsh: support VISUAL, and allow metacharacters in EDITOR (Eric Blake),
  Add dummy nwfilter driver to test driver (Stefan Berger),
  Add script hook support to the LXC driver (Daniel Veillard),
  Add script hook support to the QEmu driver (Daniel Veillard),
  Add the script hook support to the libvirt daemon (Daniel Veillard),
  Add an error module and message for the hooks subsystem (Daniel Veillard),
  Export virPipeReadUntilEOF internally (Daniel Veillard),
  Introduce UPDATE_CPU flag for virDomainGetXMLDesc (Jiri Denemark),
  Helper function for making a copy of virCPUDefPtr (Jiri Denemark),
  filter new files through cppi, so syntax-check passes once again (Jim Meyering),
  Add disk error policy to domain XML (David Allan),
  build: don't lose prior configure args on autogen.sh (Eric Blake),
  build: update gnulib (Eric Blake),
  Add some examples filters (Stefan Berger),
  Extensions for iptables rules (Stefan Berger),
  Add IPv6 support for the ebtables layer (Stefan Berger),
  Add qemu support (Stefan Berger),
  Core driver implementation with ebtables support (Stefan Berger),
  Add XML parser extensions for network filtering (Stefan Berger),
  Add virsh support for new CLI commands (Stefan Berger),
  Definition of the wire format, RPC client & server (Stefan Berger),
  Add Network filtering internal API (Stefan Berger),
  Add Network filtering public API (Stefan Berger),
  Add recursive locks (Stefan Berger),
  Implement VNC password change in QEMU (Daniel P. Berrange),
  Allow parsing <graphics> in device XML (Daniel P. Berrange),
  Introduce a update-device command in virsh (Daniel P. Berrange),
  Implement virDomainUpdateDeviceFlags API in all drivers with media change (Daniel P. Berrange),
  Remote protocol impl for virDomainUpdateDeviceFlags (Daniel P. Berrange),
  Add domain events for graphics network clients (Daniel P. Berrange),
  Add support for an explicit IO error event (Daniel P. Berrange),
  Add support for an explicit watchdog event (Daniel P. Berrange),
  Add support for an explicit RTC change event (Daniel P. Berrange),
  Add support for an explicit guest reboot event (Daniel P. Berrange),
  Rename domain lifecycle event message (Daniel P. Berrange),
  Convert domain events example to new API (Daniel P. Berrange),
  Remote driver & daemon impl of new event API (Daniel P. Berrange),
  Support new event register/deregister APis in all drivers except remote (Daniel P. Berrange),
  Add new internal domain events APIs for handling other event types (Daniel P. Berrange),
  Refactor domain events to handle multiple event types (Daniel P. Berrange),
  Make internal domain events struct definitions private (Daniel P. Berrange),
  tests: teach syntax-check that virDomainDefFree has free-like semantics (Jim Meyering),
  Add entry point logging for cpu functions (Jiri Denemark),
  build: suppress distracting build output (Jim Meyering),
  maint: add syntax-check rule to prohibit use of test's -a operator (Jim Meyering),
  tests: shell script portability and clean-up (Jim Meyering),
  tests: Don't add extra padding if counter mod 40 is 0 (Matthias Bolte),
  Use common XML parsing functions (Jiri Denemark),
  Introduce XML parsing utility functions (Jiri Denemark),
  virDomainDiskDefAssignAddress: return int, not void (Jim Meyering),
  tests: do not use the ":disk" suffix in sample xml input (Jim Meyering),
  util: Make some conditional symbols unconditional (Matthias Bolte),
  Export conditional state driver symbols only when they are defined (Matthias Bolte),
  esx: Add esxVI_LookupVirtualMachineByName (Matthias Bolte),
  esx: Generate method mappings via macros (Matthias Bolte),
  Add migrate-setmaxdowntime command to virsh (Jiri Denemark),
  Implement virDomainMigrateSetMaxDowntime in qemu driver (Jiri Denemark),
  Implement virDomainMigrateSetMaxDowntime in remote driver (Jiri Denemark),
  Wire protocol and dispatcher for virDomainMigrateSetMaxDowntime (Jiri Denemark),
  Internal driver API for virDomainMigrateSetMaxDowntime (Jiri Denemark),
  Virsh support for vol wiping (David Allan),
  Simplified version of volume wiping based on feedback from the list. (David Allan),
  Implement remote bits for vol wiping (David Allan),
  Implement the public API for vol wiping (David Allan),
  Define the internal driver API for vol wiping (David Allan),
  Support vhost-net mode at qemu startup for virtio network devices (Laine Stump),
  maint: enforce recent N_ usage (Eric Blake),
  Allow suspend during live migration (Jiri Denemark),
  do not require two ./autogen.sh runs to permit "make" (Jim Meyering),
  esx: Move username and password helper functions to authhelper.c (Matthias Bolte),
  Use WARN_CFLAGS when compiling virsh.c (Jiri Denemark),
  qemu: Add some debugging at domain startup (Cole Robinson),
  qemu: pass the information when disks are read-only (Daniel Veillard),
  macvtap: Only export symbols if support is enabled (Matthias Bolte),
  Only use the numa functions when they are available. (Chris Lalancette),
  Allow devices without a parent (Ed Swierk),
  build: change to gnulib module list should rerun bootstrap (Eric Blake),
  build: enforce preprocessor indentation (Eric Blake),
  build: update gnulib submodule to newer (but not latest) (Jim Meyering),
  Make virsh reconnect when losing connection (Daniel Veillard),
  Change logrotate to be per-hypervisor logs (Daniel Veillard),
  build: consistently indent preprocessor directives (Eric Blake),
  virsh: use N_ rather than gettext_noop (Eric Blake),
  virsh: fix existing N_ uses (Eric Blake),
  Get thread and socket information in virsh nodeinfo. (Chris Lalancette),
  Eliminate large stack buffer in doTunnelSendAll (Laine Stump),
  build: consistently use C99 varargs macros (Eric Blake)
- Cleanups:
  Fix some cppi prepocessor indentation issues (Daniel Veillard),
  Cleanup the msg_gen_function list in cfg.mk (Matthias Bolte),
  remote: Remove virConnectPtr from error/errorf (Matthias Bolte),
  Remove undefined symbols from symbols file (Matthias Bolte),
  Add missing nwfilter_learnipaddr.c to POTFILES.in (Daniel P. Berrange),
  Avoid searching for windres when not building for Windows (Diego Elio Pettenò),
  Executable does not belong into repository. (Stefan Berger),
  xenXMDomainDefineXML: remove dead store and useless/leaky virGetDomain (Jim Meyering),
  createRawFileOpHook: avoid dead stores (Jim Meyering),
  qemudDomainGetSecurityLabel: avoid dead store to "type" (Jim Meyering),
  Cleanup x86Compute() (Jiri Denemark),
  qemuDomainSnapshotLoad: avoid dead store (Jim Meyering),
  maint: s/initialis/initializ/ (Eric Blake),
  Fix 'avialable' typo (Matthias Bolte),
  macvtap: Remove virConnectPtr from ReportError (Matthias Bolte),
  phyp: Remove virConnectPtr from PHYP_ERROR (Matthias Bolte),
  esx: Mark error messages for translation (Matthias Bolte),
  vbox: Mark all error messages for translation (Matthias Bolte),
  Clarify an error message in setmem. (Chris Lalancette),
  Fix up comments for isEncrypted, isSecure, domainIsActive, and domainIsPersistent. (Chris Lalancette),
  Fix compiler warning about unused conn parameter (Matthias Bolte),
  openvz: Remove virConnectPtr from openvzError (Matthias Bolte),
  one: Remove virConnectPtr from oneError (Matthias Bolte),
  uml: Remove virConnectPtr from umlReportError (Matthias Bolte),
  Remove virConnectPtr from eventReportError (Matthias Bolte),
  Remove virConnectPtr from virLibConnError (Matthias Bolte),
  xen: Remove virConnectPtr from xenUnifiedError (Matthias Bolte),
  Remove virConnectPtr from nodeReportError (Matthias Bolte),
  netcf: Remove virConnectPtr from interfaceReportError (Matthias Bolte),
  xen: Remove virConnectPtr from virXenInotifyError (Matthias Bolte),
  xen: Remove virConnectPtr from virXenStoreError (Matthias Bolte),
  xen: Remove virConnectPtr from virXenError/virXenErrorFunc (Matthias Bolte),
  xen: Remove virConnectPtr from virXMError (Matthias Bolte),
  xen: Remove virConnectPtr from virXendError (Matthias Bolte),
  proxy: Remove virConnectPtr from virProxyError (Matthias Bolte),
  vbox: Remove virConnectPtr from vboxError (Matthias Bolte),
  test: Remove virConnectPtr from testError (Matthias Bolte),
  Remove unnecessary trailing \n in log messages (Matthias Bolte),
  Fix compiler warning about non-literal format string (Matthias Bolte),
  removes the virConnectPtr parameter where not necessary (Stefan Berger),
  Clarified error message (David Allan),
  Eliminate compiler warning about non-const format string (Laine Stump),
  Get rid of the regular expressions (Stefan Berger),
  Use the virStrToLong_ui() function rather than virStrToLong_i() (Stefan Berger),
  Make virDomainLoadConfig static. (Chris Lalancette),
  Eliminate compile warnings in nwfilter error log calls (Laine Stump),
  Only parse 'CPU XML' in virCPUDefParseXML() (Jim Fehlig),
  Replace sscanf in PCI device address parsing (Matthias Bolte),
  xen: Use virStrToLong_i instead of sscanf for XenD port parsing (Matthias Bolte),
  xenapi: Use virStrToLong_i instead of sscanf for CPU map parsing (Matthias Bolte),
  openvz: Use strtok_r instead of sscanf for VPS UUID parsing (Matthias Bolte),
  xen: Use virParseMacAddr instead of sscanf (Matthias Bolte),
  vbox: Replace atoi with virStrToLong_i (Matthias Bolte),
  cgroup: Replace sscanf with virStrToLong_ll (Matthias Bolte),
  Refactor major.minor.micro version parsing into a function (Matthias Bolte),
  Replace sscanf in nwfilter rule parsing (Matthias Bolte),
  Replace sscanf in legacy device address parsing (Matthias Bolte),
  build: more fallout from test -a (Eric Blake),
  Fix apibuild.py warning about virNWFilterLookupByUUIDString (Matthias Bolte),
  maint: remove redundant tests after virStrToLong (Eric Blake),
  maint: update AUTHORS (Eric Blake),
  maint: fix cpp indentation syntax-check failure (Jim Meyering),
  Add virt-aa-helper and secaatest to .gitignore (Matthias Bolte),
  esx: Remove redundant semicolons (Matthias Bolte),
  Use libvirt's existing ipv6/ipv4 parser/printer (Stefan Berger),
  Remove driver dependency from nwfilter_conf.c (Stefan Berger),
  Fix a merge error leftover (Daniel Veillard),
  Use enum of virDomainNetType (Stefan Berger),
  Silence cppi syntax-check warning (Daniel Veillard),
  maint: update syntax-check rule to also catch test's -o operator (Eric Blake),
  build: don't use "test cond1 -o cond2": it's not portable (Eric Blake),
  build: don't use "test cond1 -a cond2" in configure: it's not portable (Jim Meyering),
  Remove interfaceRegister from libvirt_private.syms (Matthias Bolte),
  esx: Cleanup file header comments (Matthias Bolte),
  maint: enforce recent copyright style (Eric Blake),
  maint: make Red Hat copyright notices consistent (Eric Blake),
  maint: fix typo (Eric Blake),
  docs: <pre> cannot be nested in <p> (Matthias Bolte),
  .gitignore: Ignore generated daemon/libvirtd.logrotate (Cole Robinson),
  phyp: Use virRequestUsername and virRequestPassword (Matthias Bolte),
  fix two "make syntax check" failures (Jim Meyering),
  Fix syntax-check errors (Jiri Denemark),
  Fix error messages in qemu text monitor (Jiri Denemark),
  Fix compiler warnings in virsh.c (Laine Stump),
  Silence compiler complaints about non-literal format strings (Laine Stump),
  Remove qemudDomainSetMaxMemory. (Chris Lalancette),
  Fix copy&paste typos in virProcessInfoGetAffinity (Jiri Denemark),
  AUTHORS: add recent contributors (Eric Blake),
  Fix format string warnings (Laine Stump),
  ebtablesAddRemoveRule: avoid dead store (Jim Meyering),
  virInterfaceDefParseBond: avoid dead stores (Jim Meyering),
  xenXMDomainConfigParse: avoid dead store (Jim Meyering),
  qemuMonitorTextGetMemoryStats: decrease risk of false positive in parsing (Jim Meyering)

### 0.7.7: Mar 5 2010

- Features:
  Introduce public API for domain async job handling (Daniel P. Berrange),
  macvtap support (Stefan Berger),
  Add QEMU support for virtio channel (Matthew Booth),
  Add persistence of PCI addresses to QEMU (Daniel P. Berrange),
  Functions for computing baseline CPU from a set of host CPUs (Jiri Denemark),
  Public API for virDomain{Attach,Detach}DeviceFlags (Jim Fehlig)
- Documentation:
  web docs -- macvtap mode explanation (Stefan Berger),
  Expand docs about clock modes (Daniel P. Berrange),
  docs: Fix syntax warnings from recent changes. (Cole Robinson),
  docs: network: Document <domain> element (Cole Robinson),
  docs: network: Document STP and delay attributes (Cole Robinson),
  docs: domain: Document <description> element (Cole Robinson),
  docs: storage: Document multipath pools (Cole Robinson),
  docs: storage: Document SCSI pools (Cole Robinson),
  docs: storage: Fix backingStore <format> docs (Cole Robinson),
  docs: storage: <volume><key> is always generated. (Cole Robinson),
  docs: storage: Document capacity/alloc 'unit' (Cole Robinson),
  docs: add 3 missing spaces (Dan Kenigsberg),
  Fix typo in comment (Matthew Booth),
  libvirt: Update docs for hotplug only commands (Cole Robinson),
  Fix up a misspelled comment. (Chris Lalancette),
  doc: restrict virDomain{Attach,Detach}Device to active domains (Jim Fehlig),
  docs: Refer to virReportOOMError in the HACKING file (Matthias Bolte),
  docs: Emphasize that devices have to be inside the <devices> element (Matthias Bolte)
- Portability:
  build: vbox: avoid build failure when linking with --no-add-needed (Diego Elio Pettenò),
  build: avoid dlopen-related link failure on rawhide/F13 (Diego Elio Pettenò),
  Add a define for NFS_SUPER_MAGIC (Chris Lalancette),
  Fix compliation of AppArmor related code (Matthias Bolte)
- Bug Fixes:
  Fix USB passthrough based on product/vendor (Daniel P. Berrange),
  Misc fixes for LXC cgroups setup (Daniel P. Berrange),
  Change default for storage uid/gid from getuid()/getgid() to -1/-1 (Laine Stump),
  Fix parser checking of storage pool device (Daniel P. Berrange),
  Add missing device type check in QEMU PCI hotunplug (Daniel P. Berrange),
  Make domain save work on root-squash NFS (Laine Stump),
  Fix domain restore for files on root-squash NFS (Laine Stump),
  Fix USB/PCI device address aliases in QEMU hotplug driver (Daniel P. Berrange),
  Fix detection of errors in QEMU device_add command (Daniel P. Berrange),
  uml: avoid crash on partial read (Eric Blake),
  Fix QEMU domain state after a save attempt fails (Daniel P. Berrange),
  Fix error messages when parsing USB devices in QEMU (Rolf Eike Beer),
  Fix USB hotplug device string in QEMU driver (Rolf Eike Beer),
  phypUUIDTable_Push: do not corrupt output stream upon partial write (Jim Meyering),
  qemu: avoid null dereference on failed migration (Eric Blake),
  Free the macvtap mode string (Stefan Berger),
  libvirtd: do not ignore failure to set group ID in privileged mode (Jim Meyering),
  Ignore SIGWINCH in remote client call to poll(2) (RHBZ#567931). (Richard Jones),
  storage: conf: Correctly calculate exabyte unit (Cole Robinson),
  virsh.c: avoid all leaks in OOM path in cmdCPUBaseline (Jiri Denemark),
  Fixed reference count in virsh pool-build command (David Allan),
  Fix daemon-conf invalid failures (David Allan),
  virBufferAsprintf: do not omit va_end(argptr) call (Jim Meyering),
  xend_internal.c: don't dereference NULL for unexpected input (Jim Meyering),
  virsh: be careful to return "FALSE" upon OOM (Jim Meyering),
  virBufferStrcat: do not skip va_end (Jim Meyering),
  qparams.c: do not skip va_end, twice (Jim Meyering),
  get_virtual_functions_linux: would mistakenly always return zero (Jim Meyering),
  network: bridge: Fix IsActive, IsPersistent (Cole Robinson),
  qemuMonitorTextAddUSBDisk: avoid unconditional leak (Jim Meyering),
  tests: avoid NULL deref upon OOM failure (Jim Meyering),
  qemuInitPasswords: avoid unconditional leak (Jim Meyering),
  qemuMonitorTextAddDevice: avoid unconditional leak (Jim Meyering),
  libvirt-override.c: avoid a leak upon call with invalid argument (Jim Meyering),
  vboxDomainDumpXML: avoid a leak on OOM error path (Jim Meyering),
  virNodeDevCapScsiHostParseXML: avoid an unconditional leak (Jim Meyering),
  uml_driver.c: avoid leak upon failure (Jim Meyering),
  vbox_tmpl.c: avoid an unconditional leak (Jim Meyering),
  openvz (openvzFreeDriver): avoid leaks (Jim Meyering),
  Fix crash in LXC driver open method when URI has no path (Daniel P. Berrange),
  Fix USB device path formatting mixup (Daniel P. Berrange),
  qemu_driver.c: honor dname parameter once again (Jim Meyering),
  plug four virStoragePoolSourceFree-related leaks (Jim Meyering),
  remote_driver.c: avoid leak on OOM error path (Jim Meyering),
  qemu: Increase guest startup timeout to 30 seconds (Cole Robinson),
  Fix security driver configuration (Daniel P. Berrange),
  Escape strings serialized in XML (Daniel Veillard),
  absolutePathFromBaseFile: don't leak when first arg contains no "/" (Jim Meyering),
  sexpr_string: avoid leak on OOM error path (Jim Meyering),
  virDomainChrDefParseXML: don't leak upon invalid input (Jim Meyering),
  virExecWithHook: avoid leak on OOM error path (Jim Meyering),
  cgroup.c: don't leak mem+FD upon OOM (Jim Meyering),
  cgroup.c: avoid unconditional leaks (Jim Meyering),
  virt-pki-validate contains unexpanded SYSCONFDIR variable (Doug Goldstein)
- Improvements:
  Convert QEMU driver all hotunplug code from pci_del to device_del (Daniel P. Berrange),
  Support hot-unplug for USB devices in QEMU (Daniel P. Berrange),
  Tweak container initialization to make upstart/init happier (Daniel P. Berrange),
  Avoid creating top level cgroups if just querying for existence (Daniel P. Berrange),
  Support VCPU hotplug in QEMU guests (Daniel P. Berrange),
  Fix mis-leading error message in pool delete API (Daniel P. Berrange),
  Fix typo in QEMU migration command name (Daniel P. Berrange),
  Don't raise error message from cgroups if QEMU fails to start (Daniel P. Berrange),
  esx: don't ignore failure on close (Eric Blake),
  Fix safezero() (Jiri Denemark),
  Support job cancellation in QEMU driver (Daniel P. Berrange),
  Remote driver implementation for the virDomainAbortJob APi (Daniel P. Berrange),
  Wire up internal entry points for virDomainAbortJob API (Daniel P. Berrange),
  Introduce public API for cancelling async domain jobs (Daniel P. Berrange),
  Add QEMU driver support for job info on migration ops (Daniel P. Berrange),
  Remote driver implmentation of job info API (Daniel P. Berrange),
  Stub out internal driver entry points for job processing (Daniel P. Berrange),
  Use device_del to remove SCSI controllers (Wolfgang Mauerer),
  Fix PCI address handling when controllers are deleted (Wolfgang Mauerer),
  Fix data structure handling when controllers are attached (Wolfgang Mauerer),
  Allow configurable timezones with QEMU (Daniel P. Berrange),
  Allow a timezone to be specified instead of sync to host timezone (Daniel P. Berrange),
  Support variable clock offset mode in QEMU (Daniel P. Berrange),
  Add new clock mode allowing variable adjustments (Daniel P. Berrange),
  Change the internal domain conf representation of localtime/utc (Daniel P. Berrange),
  Use standard spacing for user/pass prompt (Cole Robinson),
  libvirtd: Better initscript error reporting (Cole Robinson),
  qemu: Report binary path if error parsing -help (Cole Robinson),
  remote: Improve daemon startup error reporting (Cole Robinson),
  virsh: Show errors reported by nonAPI functions (Cole Robinson),
  remote: Improve error message when libvirtd isn't running (Cole Robinson),
  build: make git submodule checking more reliable (Jim Meyering),
  Add descriptions for macvtap direct type interfaces (Stefan Berger),
  maint: import modern bootstrap (Eric Blake),
  maint: start factoring bootstrap (Eric Blake),
  build: update gnulib submodule to latest (Jim Meyering),
  Create raw storage files with O_DSYNC (again) (Jiri Denemark),
  Use virFileOperation hook function in virStorageBackendFileSystemVolBuild (Laine Stump),
  Rename virFileCreate to virFileOperation, add hook function (Laine Stump),
  qemu: Check for IA64 kvm (Dustin Xiong),
  remote: Print ssh stderr on connection failure (Cole Robinson),
  fix multiple veth problem for OpenVZ (Yuji NISHIDA),
  Better error reporting for failed migration (Chris Lalancette),
  Make an error message in PCI util code clearer (Chris Lalancette),
  macvtap mac_filter support (Stefan Berger),
  macvtap IFF_VNET_HDR configuration (Stefan Berger),
  Use virFork() in __virExec(), virFileCreate() and virDirCreate() (Laine Stump),
  Add virFork() function to utils (Laine Stump),
  Add domain support for virtio channel (Matthew Booth),
  qemu: Explicitly error if guest virtual network is inactive (Cole Robinson),
  virterror: Make SetError work if no previous error was set (Cole Robinson),
  macvtap teardown rework (Stefan Berger),
  Update QEMU JSON balloon command handling (Daniel P. Berrange),
  python: Actually add virConnectGetVersion to generated bindings (Cole Robinson),
  build: inform libtool of m4 directory (Eric Blake),
  Adds a cpu-baseline command for virsh (Jiri Denemark),
  qemu: Make SetVcpu command hotplug only (Cole Robinson),
  qemu: Make Set*Mem commands hotplug only (Cole Robinson),
  Treat missing QEMU 'thread_id' as non-fatal in JSON monitor (Daniel P. Berrange),
  Fix check for primary IDE controller in QEMU PCI slot assignment (Daniel P. Berrange),
  Make error reporting for QEMU JSON mode more friendly (Daniel P. Berrange),
  Run 'qmp_capabilities' command at QEMU monitor startup (Daniel P. Berrange),
  macvtap support for libvirt -- schema extensions (Stefan Berger),
  macvtap support for libvirt -- qemu support (Stefan Berger),
  macvtap support for libvirt -- helper code (Stefan Berger),
  macvtap support for libvirt -- parse new interface XML (Stefan Berger),
  interface: Use proper return codes in the open function (Matthias Bolte),
  Support 'block_passwd' command for QEMU disk encryption (Daniel P. Berrange),
  Implement cpuBaseline in remote and qemu drivers (Jiri Denemark),
  Wire protocol format and dispatcher for virConnectBaselineCPU (Jiri Denemark),
  virConnectBaselineCPU public API implementation (Jiri Denemark),
  Internal driver API for virConnectBaselineCPU (Jiri Denemark),
  virConnectBaselineCPU public API (Jiri Denemark),
  Implement cpuArchBaseline in x86 CPU driver (Jiri Denemark),
  Implement cpuArchBaseline in generic CPU driver (Jiri Denemark),
  Mark all error messages for translation (Jiri Denemark),
  Add cpu_generic.c to the list of translated files (Jiri Denemark),
  Fix <cpu> element in domain XML schema (Jiri Denemark),
  Fix disk stats retrieval with QEMU >= 0.12 (Daniel P. Berrange),
  qemu: Properly report a startup timeout error (Cole Robinson),
  test: Fake security driver support in capabilities (Cole Robinson),
  Annotate some virConnectPtr as mandatory non-null (Daniel P. Berrange),
  Convert qemu command line flags to 64-bit int (Daniel P. Berrange),
  Create raw storage files with O_DSYNC (Jiri Denemark),
  Re-generate remote protocol files for new APIs (Daniel P. Berrange),
  Modify virsh commands (Jim Fehlig),
  domain{Attach,Detach}DeviceFlags handler for drivers (Jim Fehlig),
  Server side dispatcher (Jim Fehlig),
  Remote driver (Jim Fehlig),
  Wire protocol format (Jim Fehlig),
  Public API Implementation (Jim Fehlig)
- Cleanups:
  virsh: silence compiler warning (Eric Blake),
  build: silence coverity warning in node_device (Eric Blake),
  Tiny spelling fix (Wolfgang Mauerer),
  libvirtd: avoid false-positive NULL-deref warning from clang (Eric Blake),
  x86Decode: avoid NULL-dereference upon questionable input (Jim Meyering),
  openvzDomainDefineCmd: remove useless increment (Jim Meyering),
  maint: disallow TAB-in-indentation also in *.rng files (Jim Meyering),
  maint: convert leading TABs in *.rng files to equivalent spaces (Jim Meyering),
  udevEnumerateDevices: remove dead code (Jim Meyering),
  qemudNetworkIfaceConnect: remove dead store (Jim Meyering),
  cmdPoolDiscoverSources: initialize earlier to avoid FP from clang (Jim Meyering),
  build: avoid warning about return-with-value in void function (Jim Meyering),
  Only build virDomainObjFormat if not building proxy. (Chris Lalancette),
  openvzGetVEID: don't leak (memory + file descriptor) (Jim Meyering),
  build: avoid warning about unused variables (Jim Meyering),
  build: avoid "make rpm" failure in docs/ (Jim Meyering),
  build: teach apibuild.py to work in a non-srcdir build (Jim Meyering),
  build: avoid non-srcdir "make distcheck" failures (CLEANFILES) (Jim Meyering),
  build: avoid non-srcdir "make distcheck" failures (srcdir vs wildcard) (Jim Meyering),
  build: avoid non-srcdir "make distcheck" failure (test_conf.sh) (Jim Meyering),
  build: avoid non-srcdir installation failure (sitemap.html.in) (Jim Meyering),
  build: avoid non-srcdir installation failure (apibuild.py) (Jim Meyering),
  build: fix typos in makefile variable names (Jim Meyering),
  build: ensure that MKINSTALLDIRS is AC_SUBST-defined (Jim Meyering),
  maint: relax git minimum version (Eric Blake),
  maint: sort .gitignore (Eric Blake),
  maint: fix quoting in autogen.sh (Eric Blake),
  virFork: placate static analyzers: ignore pthread_sigmask return value (Jim Meyering),
  virsh.c: avoid leak on OOM error path (Jim Meyering),
  Make virDomainObjFormat static (Chris Lalancette),
  xenDaemonDomainSetAutostart: avoid appearance of impropriety (Jim Meyering),
  Remove unused functions from domain_conf (Matthew Booth),
  Fix whitespace in domain.rng (Matthew Booth),
  openvzLoadDomains: don't ignore failing virUUIDFormat (Jim Meyering),
  vshCommandParse: placate coverity (Jim Meyering),
  virStorageBackendIsMultipath: avoid dead store (Jim Meyering),
  Convert virSecurityReportError into a macro (Matthias Bolte),
  Swap position of nmodels and models parameters in cpuDecode() (Jiri Denemark),
  Remove virConnectPtr from secret XML APIs (Daniel P. Berrange),
  Remove virConnectPtr from interface XML APIs (Daniel P. Berrange),
  Remove virConnectPtr from CPU XML APIs (Daniel P. Berrange),
  Remove virConnectPtr from storage APIs & driver (Daniel P. Berrange),
  Remove virConnectPtr from all node device XML APIs (Daniel P. Berrange),
  Remove virConnectPtr from network XML APis (Daniel P. Berrange),
  Remove virConnectPtr from USB/PCI device iterators (Daniel P. Berrange),
  Fix generation of floppy disk arg for QEMU's -global arg (Daniel P. Berrange),
  Fix compile error in Xen proxy from virConnectPtr changes (Daniel P. Berrange),
  Remove use of virConnectPtr from security driver APIs (Daniel P. Berrange),
  Remove virConnectPtr from all domain XML parsing/formatting APIs (Daniel P. Berrange),
  Remove virConnectPtr from LXC driver (Daniel P. Berrange),
  Remove passing of virConnectPtr throughout QEMU driver (Daniel P. Berrange),
  virAsprintf: remove its warn_unused_result attribute (Jim Meyering),
  absolutePathFromBaseFile: avoid an unnecessary use of assert (Jim Meyering),
  Remove conn parameter from USB functions (Matthias Bolte),
  Remove conn parameter from JSON error macro (Matthias Bolte),
  Remove conn parameter from PCI functions (Matthias Bolte),
  Remove conn parameter from Linux stats functions (Matthias Bolte),
  Remove conn parameter from storage file functions (Matthias Bolte),
  Remove conn parameter from util functions (Matthias Bolte),
  Remove conn parameter from virXPath* functions (Matthias Bolte),
  Remove conn parameter from virReportSystemError (Matthias Bolte),
  Remove conn parameter from virReportOOMError (Matthias Bolte),
  website: Add a 1em right margin (Matthias Bolte),
  storage: Replace storageLog with VIR_ERROR (Matthias Bolte),
  opennebula: Remove unnecessary casts (Matthias Bolte),
  esx: Remove unnecessary casts (Matthias Bolte),
  cpu conf: Use virBufferFreeAndReset instead of virBufferContentAndReset and VIR_FREE (Matthias Bolte),
  esx: Cleanup preprocessing structure in esxVI_EnsureSession (Matthias Bolte)

### 0.7.6: Feb 3 2010

- Features:
  Implement support for multi IQN (David Allan),
  Implement CPU topology support for QEMU driver (Jiri Denemark),
  Use QEmu new device adressing when possible (Daniel P. Berrange),
  Implement SCSI controller hotplug/unplug for QEMU (Wolfgang Mauerer)
- Documentation:
  Add missing function parameter documentation (Matthias Bolte),
  Add docs about new mailing list (Daniel P. Berrange),
  Document cpu-compare command in virsh man page (Jiri Denemark),
  Document cpu elements in capabilities and domain XML (Jiri Denemark),
  docs: Remove outdated information about remote limitations (Matthias Bolte),
  documentation improvements (David Jorm),
  Minor fixes for API extension doc (Jim Fehlig),
  cpu_shares parameter limit documented (David Jorm),
  Document the domain XML cache attribute for disk devices (Matthias Bolte),
  Replace old CVS references with GIT (Matthias Bolte)
- Portability:
  portability to non-glibc: don't use realpath(..., NULL) (Jim Meyering),
  Add some missing include files which break build in certain platforms (Daniel P. Berrange),
  Remove AppArmor compile warnings (Jamie Strandboge),
  Fix compilation of virt-aa-helper.c (Matthias Bolte),
  Fix linkage of virt-aa-helper to libgnu.a (Matthias Bolte)
- Bug Fixes:
  Fix restore of QEMU guests with PCI device reservation (Daniel P. Berrange),
  Another fork() log locking cleanup in file creation (Laine Stump),
  Fix log locking problem when using fork() in the library (Cole Robinson),
  Fix locking for udev device add/remove (David Allan),
  interface_conf.c: don't use a negative value as allocation size (Jim Meyering),
  virStoragePoolSourceListNewSource: avoid unconditional leak (Jim Meyering),
  xs_internal.c: don't use a negative value as allocation size (Jim Meyering),
  Ensure QEMU DAC security driver is activated at all times (Daniel P. Berrange),
  udev: Don't let strtoul parse USB busnum and devnum as octal (Matthias Bolte),
  json.c: avoid an unconditional leak from most qemuMonitorJSON* functions (Jim Meyering),
  Fix PCI host reattach on domain detach. (Chris Lalancette),
  Clarify controllers -device string in QEMU driver (Matthew Booth),
  util.c (virGetUserEnt): don't use a negative value as allocation size (Jim Meyering),
  cpu_x86.c: avoid NULL-deref for invalid arguments (Jim Meyering),
  Fix a crash when restarting libvirtd. (Chris Lalancette),
  qemuMonitorTextAttachDrive: avoid two leaks (Jim Meyering),
  usbGetDevice: don't leak a "usbDevice" buffer on failure path (Jim Meyering),
  qemuMonitorTextGetMemoryStats: plug a leak on an error path (Jim Meyering),
  usbFindBusByVendor: don't leak a DIR buffer and FD (Jim Meyering),
  Fix libvirtd restart for domains with PCI passthrough devices (Chris Lalancette),
  qemu: Fix race between device rebind and kvm cleanup (Chris Lalancette),
  Fix device assignment with root devices (Chris Lalancette),
  Corrected log level of WWN path message (David Allan),
  Fix an error when looking for devices in syspath (Daniel Veillard),
  Fix off-by-1 in SCSI drive hotplug (Daniel P. Berrange),
  Fix leak in hotplug code in QEMU driver (Daniel P. Berrange),
  Fix security driver calls in hotplug cleanup paths (Daniel P. Berrange),
  Add missing call to re-attach host devices if VM startup fails (Daniel P. Berrange),
  Pull initial disk labelling out into libvirtd instead of exec hook (Daniel P. Berrange),
  Fix leak of allocated security label (Daniel P. Berrange),
  Create storage pool directories with proper uid/gid/mode (Laine Stump),
  Create storage volumes directly with desired uid/gid (Laine Stump),
  Unset copied environment variables in qemuxml2argvtest (Matthias Bolte),
  qemu: Don't allocate zero bytes (Matthias Bolte),
  node_device_linux_sysfs.c: avoid opendir/fd leak on error path (Jim Meyering),
  domain_conf.c: avoid a leak and the need for "cleanup:" block (Jim Meyering),
  Fix QEMU driver custom domain status XML extensions (Daniel P. Berrange),
  xen_driver: don't leak a parsed-config buffer (Jim Meyering),
  storage_conf: plug a leak on OOM error path (Jim Meyering),
  Tests for ACS in PCIe switches (Jiri Denemark),
  storage_backend_fs.c: do not ignore probe failure (Jim Meyering),
  Avoid free'ing a constant string in chardev lookup code (Daniel P. Berrange),
  Fix build of Xen proxy daemon (Daniel P. Berrange),
  xen: do not report a write-to-Xen-daemon failure as a read failure (Jim Meyering),
  daemon: Don't blindly unregister domain events (Cole Robinson),
  node_device: udev: Fix memory leak (Cole Robinson),
  Fix migration in xend driver (Jim Fehlig),
  Ensure error handling callback functions are called from safe context (Daniel P. Berrange),
  qemu: Fix a memory leak in qemudExtractTTYPath (Matthias Bolte),
  Fix UUID random generator to use /dev/random (Laine Stump),
  let "configure --disable-shared" work once again (Jim Meyering),
  Qemu: ask for memory preallocation with large pages (Daniel Veillard),
  network/bridge_driver.c: avoid potential NULL-dereference (Jim Meyering),
  Don't free an uninitalized pointer in update_driver_name() (Matthias Bolte),
  xend_internal: don't let invalid input provoke NULL dereference (Jim Meyering),
  Don't update vol details after build (David Allan),
  vbox_tmpl.c: don't leak a domain pointer upon failure to create (Jim Meyering),
  vbox_tmpl.c: avoid NULL deref upon vboxDomainCreateXML failure (Jim Meyering),
  qemu_driver.c: avoid NULL dereference upon disk-op failure (Jim Meyering),
  openvz_conf.c: don't dereference NULL upon failure (Jim Meyering),
  Distribute vmx2xml and xml2vmx test data files (Matthias Bolte)
- Improvements:
  Tweak USB hostdevice XML handling (Daniel P. Berrange),
  Fix QEMU hotplug device alias assignment (Daniel P. Berrange),
  Disable QEMU monitor IO debugging by default (Daniel P. Berrange),
  Re-arrange QEMU device alias assignment code (Daniel P. Berrange),
  Remove direct storage of hostnet_name & vlan (Daniel P. Berrange),
  Remove use of -netdev arg with QEMU (Daniel P. Berrange),
  Assign PCI addresses before hotplugging devices (Daniel P. Berrange),
  Rewrite way QEMU PCI addresses are allocated (Daniel P. Berrange),
  Introduce generic virDomainDeviceInfo iterator function (Daniel P. Berrange),
  Make hotplug use new device_add where possible (Daniel P. Berrange),
  Introduce internal QEMU monitor APIs for drive + device hotadd (Daniel P. Berrange),
  Split out QEMU code for building PCI/USB hostdev arg values (Daniel P. Berrange),
  Standard internal API syntax for building QEMU command line arguments (Daniel P. Berrange),
  Log flags in virConnectCompareCPU (Jiri Denemark),
  Look in /usr/libexec for the qemu-kvm binary. (Chris Lalancette),
  Support Xen 4.0 sysctl version 7 (Jim Fehlig),
  Add missing sata controller type to domain.rng (Matthew Booth),
  udev: Set the state driver name (Matthias Bolte),
  udev: Remove event handle on shutdown (Matthias Bolte),
  esx: Output error details from libcurl (Matthias Bolte),
  qemu: Search binaries in PATH instead of hardcoding /usr/bin (Matthias Bolte),
  Implement QMP support for extracting CPU thread ID (Daniel P. Berrange),
  Misc fixes to QMP monitor support for QEMU (Daniel P. Berrange),
  Fix setup of compatibility serial devices from console device (Daniel P. Berrange),
  Start modernizing configure (Eric Blake),
  Add a rule to check for uses of readlink. (Chris Lalancette),
  Add virConnectGetVersion Python API (Taizo ITO),
  domMemoryStats / qemu: Fix parsing of unknown stats (Adam Litke),
  Allow surrounding whitespace in uuid (Dan Kenigsberg),
  Add configuration option to turn off dynamic permissions management (Daniel P. Berrange),
  Switch QEMU driver over to use the DAC security driver (Daniel P. Berrange),
  Introduce a new DAC security driver for QEMU (Daniel P. Berrange),
  Introduce a stacked security driver impl for QEMU (Daniel P. Berrange),
  Make security drivers responsible for checking dynamic vs static labelling (Daniel P. Berrange),
  New utility functions virFileCreate and virDirCreate (Laine Stump),
  Add virRunWithHook util function (Laine Stump),
  Update interface.rng and xml test files to match netcf 0.1.5 (Laine Stump),
  Support bond interfaces attached to bridges in interface xml. (Laine Stump),
  Allow empty bridges in interface xml. (Laine Stump),
  Support delay property in interface bridge xml. (Laine Stump),
  Use pciDeviceIsAssignable in qemu driver (Jiri Denemark),
  Allow for CPU topology specification without model (Jiri Denemark),
  Add debug messages for CPU incompatibility (Jiri Denemark),
  Take disabled/forced CPU features into account (Jiri Denemark),
  Enhance qemuParseCommandLineKeywords (Jiri Denemark),
  Convert VirtIO balloon over to -device syntax (Daniel P. Berrange),
  uto-assign PCI addresses (Daniel P. Berrange),
  Pass -vga none if no video card specified (Daniel P. Berrange),
  Add support for explicit -sdl flag to QEMU (Daniel P. Berrange),
  Assign device aliases for all devices at startup (Daniel P. Berrange),
  Add device info to serial, parallel, channel, input & fs devices (Daniel P. Berrange),
  Introduce device aliases (Daniel P. Berrange),
  Clear assigned PCI devices at shutdown (Daniel P. Berrange),
  Auto-add disk controllers based on defined disks (Daniel P. Berrange),
  Remove restriction on duplicated sound devices in parser (Daniel P. Berrange),
  Detect PCI addresses at QEMU startup (Daniel P. Berrange),
  Properly support SCSI drive hotplug (Daniel P. Berrange),
  build: update gnulib submodule to latest (Jim Meyering),
  Use closest CPU model when decoding from CPUID (Jiri Denemark),
  Change detection of xen so that it's actually automatic rather than forced. (Diego Elio Pettenò),
  Standardise ./configure --help options reporting. (Diego Elio Pettenò),
  qemu: Use log output for pty assignment if 'info chardev' is unavailable (Matthias Bolte),
  esx: Add VNC support (Matthias Bolte),
  esx: Make the domain part of the hostname optional (Matthias Bolte),
  esx: Add stubs for secondary driver types (Matthias Bolte),
  Specify bus/unit instead of index for disks with QEMU (Daniel P. Berrange),
  Split code for building QEMU -drive arg in separate method (Daniel P. Berrange),
  Convert monitor over to use virDomainDeviceAddress (Daniel P. Berrange),
  Add new domain device: "controller" (Wolfgang Mauerer),
  Set default disk controller/bus/unit props (Daniel P. Berrange),
  Add address info to sound, video and watchdog devices (Daniel P. Berrange),
  Extend the virDomainDeviceAddress struture to allow disk controller addresses (Daniel P. Berrange),
  Introduce a standardized data structure for device addresses (Daniel P. Berrange),
  util: Make sure virExec hook failures are raised (Cole Robinson),
  Implement path lookup for USB by vendor:product (Cole Robinson),
  events: Report errors on failure (Cole Robinson),
  node_device: udev: Enumerate floppy devices (Cole Robinson),
  node_device: udev: Use base 16 for product/vendor (Cole Robinson),
  libvirt.c: Preserve MigratePerform failure (Cole Robinson),
  qemu: migrate: Save MigratePerform error in MigrateFinish. (Cole Robinson),
  virterror: Add virSetError (Cole Robinson),
  Also look for dmi information in /sys/class (Guido Günther),
  proxy_internal.c: mark "request" parameter as nonnull (Jim Meyering),
  esx: Dump the raw response in case of an SOAP fault (Matthias Bolte),
  esx: Warn if the ESX server is in maintenance mode (Matthias Bolte),
  xen hypervisor: xen domctl version 6 (Jim Fehlig),
  virsh: Add persistent history using libreadline (Matthias Bolte),
  esx: Fix 'vpx' MAC address range and allow arbitrary MAC addresses (Matthias Bolte),
  esx: Fix deserialization for VI API calls CancelTask and UnregisterVM (Matthias Bolte),
  esx: Fix and improve the libcurl debug callback (Matthias Bolte),
  esx: Also allow virtualHW version 4 for ESX 4.0 (Matthias Bolte),
  qemu: Always enable the virtio balloon driver (Adam Litke),
  Disable building of static Python module (Diego Elio Pettenò),
  Fix parsing of 'info chardev' line endings (Matthew Booth)
- Cleanups:
  xen_hypervisor.c: remove all "domain == NULL" tests, ... (Jim Meyering),
  xen_hypervisor.c: avoid NULL deref for NULL domain argument (Jim Meyering),
  libvirtd.c: avoid closing a negative socket file descriptor (Jim Meyering),
  storage_backend.c: avoid closing a negative file descriptor (Jim Meyering),
  avoid a probable EINVAL from lseek (Jim Meyering),
  util.c (two more): don't use a negative value as allocation size (Jim Meyering),
  avoid format-related warnings (Jim Meyering),
  maint: avoid excess parens in STREQ (Eric Blake),
  Move models/nmodels mismatch checking one level up (Jiri Denemark),
  Fix up a comment in virHashUpdateEntry (Chris Lalancette),
  maint: fix spelling error in hacking (Eric Blake),
  pci.c: correct an erroneous expression (Jim Meyering),
  Remove undefined symbols from libvirt_private.syms (Matthias Bolte),
  Don't call disabled timer callbacks in event-test.c (Matthias Bolte),
  hostusb: closedir only if non-NULL; rename labels: s/error/cleanup/ (Jim Meyering),
  Cleanup of large buffer on stack in virFileMakePath (Laine Stump),
  esx: Stop passing around virConnectPtr for error reporting (Matthias Bolte),
  Revert "Fix libvirtd restart for domains with PCI passthrough devices" (Chris Lalancette),
  Fix two instances of misspelled 'pseudo' (Chris Lalancette),
  Use virFileResolveLink instead of readlink in AppArmor (Chris Lalancette),
  Fix a compile warning in parthelper.c (Chris Lalancette),
  Remove unused PROC_MOUNT_BUF_LEN #define (Chris Lalancette),
  fix "make distcheck" failure (Jim Meyering),
  avoid format-related warnings (Jim Meyering),
  Refactor setup & cleanup of security labels in security driver (Daniel P. Berrange),
  Let make fail when XHTML validation fails (Jiri Denemark),
  Fix uses of virFileMakePath (Laine Stump),
  remove unnecessary closedir call (Jim Meyering),
  Make all bitfields unsigned ints to avoid unexpected values in casts (Daniel P. Berrange),
  logging: confirm that we want to ignore a write error (Jim Meyering),
  Remove superfluous new lines from messages (Jiri Denemark),
  vbox_tmpl.c: remove useless array-is-non-NULL comparisons (Jim Meyering),
  lxc_driver: remove useless comparison (Jim Meyering),
  gnulib added a new syntax-check test: use $(VAR), not @VAR@ (Jim Meyering),
  storage_backend.h: include required headers (Jim Meyering),
  esx_vi_types.c: include required headers (Jim Meyering),
  vbox: include required headers (Jim Meyering),
  cpu_x86_data.h: include required header (Jim Meyering),
  util.c: include required header, no longer masked by gnulib (Jim Meyering),
  Fix validation of news.html (Matthias Bolte),
  Remove obsolete comment in QEMU JSON code (Daniel P. Berrange),
  Make test suite output less verbose (Daniel P. Berrange),
  daemon: Fix various error reporting issues (Cole Robinson),
  util: Remove logging handlers in virExec (Cole Robinson),
  Commit bootstrap .gitignore additions (Cole Robinson),
  qemu: Disable errors in qemudShutdownVMDaemon (Cole Robinson),
  avoid another "make distcheck" failure (Jim Meyering),
  avoid newly-introduced test failure (Jim Meyering),
  don't test "res == NULL" after we've already dereferenced "res" (Jim Meyering),
  fix 7 "make check" test failures in non-srcdir build (Jim Meyering),
  virsh: Use VIR_FREE instead of free (Matthias Bolte),
  esx: Don't warn about an empty URI path (Matthias Bolte),
  qemu_driver.c: remove useless, warning-provoking test (Jim Meyering)

### 0.7.5: Dec 23 2009

- Features:
  Add new API virDomainMemoryStats to header and drivers (Adam Litke),
  Public API and domain extension for CPU flags (Jiri Denemark),
  expose SR IOV physical/virtual function relationships (Dave Allan),
  Support for JSON mode monitor [deactivated] (Daniel P. Berrange),
  Support for interface model='netfront' (Jiri Denemark),
  vbox: Add support for version 3.1 (Pritesh Kothari),
  Support QEMU's virtual FAT block device driver (Daniel P. Berrange)
- Documentation:
  Document the dommemstat command in the virsh man page (Adam Litke),
  esx: Add more links to external documentation (Matthias Bolte),
  esx: Extend documentation about 'vcenter' and add some about 'auto_answer' (Matthias Bolte),
  Fix and improve domain xml video element description (Matthias Bolte),
  Fix owner and group in example volume XML (Matthew Booth),
  add missing doc for device <shareable/> option (Daniel Veillard),
  add AppArmor test and examples to dist (Jamie Strandboge),
  Update location of C# bindings. (Richard Jones),
  Fix typo in QEMU driver webpage (Daniel P. Berrange),
  Clarify documentation for private symbols (Wolfgang Mauerer),
  Fix news.html validation (Dan Kenigsberg)
- Portability:
  Define ATTRIBUTE_SENTINEL for GCC < 4.0 too (Matthias Bolte),
  Fix compilation with configure --disable-nls (Matthias Bolte),
  Fix configure check for SASL (Matthias Bolte),
  Fix GnuTLS pkg-config check (Matthias Bolte),
  Report an error if no XDR library can be found (Matthias Bolte),
  Fix compilation with gcrypt < 1.4.2 (Matthias Bolte),
  Don't mix LDFLAGS and LIBS in the configure script (Diego Elio Pettenò),
  Don't make it possible to define HAVE_HAL but not enable it in automake (Diego Elio Pettenò),
  Fix install location for Python bindings (Matthias Bolte),
  Use AM_PATH_PYTHON and python-config to detect Python configuration (Matthias Bolte),
  Fix a compilation failure if yajl not avail (Daniel Veillard),
  Fix compilation for configure --disable-nls (Matthias Bolte)
- Bug fixes:
  cpu: Fix memory leaks in x86FeatureLoad and x86ModelLoad (Matthias Bolte),
  Make Xen VT-d PCI attach/detach work (Chris Lalancette),
  Fix detection of JSON when restarting libvirtd (Daniel P. Berrange),
  Fix reporting of TLS connection errors (Daniel P. Berrange),
  Fix typo in qemudDomainAttachHostPciDevice() (Daniel Veillard),
  esx: Destroy virtual machine on a vCenter if available (Matthias Bolte),
  esx: Undefine virtual machine on a vCenter if available (Matthias Bolte),
  Initialize gcrypt threading (Daniel P. Berrange),
  Fix bug in storage driver accessing wrong private data (Daniel P. Berrange),
  esx_vi.c: do not call through NULL function pointer (Jim Meyering),
  esx_util.c: avoid NULL deref for invalid inputs (Jim Meyering),
  esx: Don't goto failure for invalid arguments in VMX code (Matthias Bolte),
  Fix memory leak in qemudBuildCommandLine (Matthias Bolte),
  avoid malfunction when virFileResolveLink is applied to non-POSIX FS (Jim Meyering),
  libvirt.c: don't let a NULL "cpumaps" argument provoke a NULL-deref (Jim Meyering),
  qemu migration: avoid NULL-deref given an invalid input (Jim Meyering),
  qemu_driver.c: don't unlink(NULL) on OOM error path (Jim Meyering),
  remote_driver.c: also zero out ->saslDecodedOffset member (Jim Meyering),
  qemu_driver.c: avoid double free on error path (Jim Meyering),
  libvirtd: avoid a NULL dereference on error path (Jim Meyering),
  virsh: avoid double-free (Jim Meyering),
  node_device_driver.c: don't write beyond EOB for 4K-byte symlink (Jim Meyering),
  Eliminate failure to delete empty storage pools (Laine Stump),
  Fix use of virEventAddHandleImpl() (Jiri Denemark),
  Fix possible NULL pointer dereference (Paolo Bonzini),
  fix various breakages in qemu Dump command (Paolo Bonzini),
  Fix reference leak in remoteDispatchStorageVolCreateXmlFrom (Matthias Bolte),
  Fix memory leak in virStorageBackendCopyToFD (Matthias Bolte),
  retrieve paused/running state at migration start (Paolo Bonzini),
  fix migration of paused vms upon failure (Paolo Bonzini),
  qemu driver: Fix segfault in libvirt/libvirtd when uri->path is NULL. (Richard Jones),
  Fix a wellformedness problem in secret.rng (Diego Elio Pettenò),
  Fix virDomainObj ref handling in QEMU driver (Daniel P. Berrange),
  Pull code to start CPUs executing out of qemudInitCpuAffinity() (Daniel P. Berrange),
  Fix migration cancellation for QEMU (Daniel P. Berrange),
  Fix crash when deleting monitor while a command is in progress (Daniel P. Berrange),
  udev_device_get_devpath might return NULL (Guido Günther),
  Fix some locking issues (Matthias Bolte),
  Fix event test timer checks on kernels with HZ=100 (Daniel P. Berrange),
  Fix threading problems in python bindings (Daniel P. Berrange),
  Supress annoying libcap-ng errors from valgrind (Daniel P. Berrange),
  Fix two leaks in test driver (Daniel P. Berrange),
  Free cgroup device ACL list on driver shutdown (Daniel P. Berrange),
  xen: Fix unconditional freeing in xenDaemonListDefinedDomains() (Matthias Bolte),
  Fix default disk type when parsing QEMU argv (Daniel P. Berrange),
  remove port filter when network device is detached (Gerhard Stenzel)
- Improvements:
  convert missing server entry points into unsupported errors (Daniel Veillard),
  fix some error report when on remote access (Olivier Fourdan),
  Disable JSON mode monitor until QEMU is more mature (Daniel P. Berrange),
  Only probe for CPU models if required (Jiri Denemark),
  Add cpu_map.xml to libvirt.spec (Jiri Denemark),
  Install cpu_map.xml (Jiri Denemark),
  esx: Don't warn about '/' paths (Matthias Bolte),
  esx: Extend vCenter query parameter (Matthias Bolte),
  esx: Improve domain lookup by UUID (Matthias Bolte),
  build: update gnulib submodule to latest (Jim Meyering),
  Relax the allowed values for machine type in schema (Daniel Veillard),
  Implement --pool option for virsh vol-path (Dave Allan),
  nodedev: Add removable storage 'media_label' prop (Cole Robinson),
  add --live support to "virsh dump" (Paolo Bonzini),
  add --crash support to "virsh dump" (Paolo Bonzini),
  Get QEMU pty paths from the monitor (Matthew Booth),
  Extract the assigned pty device for QEmu channels (Matthew Booth),
  Make QEMU driver use -chardev everywhere if available (Matthew Booth),
  add virsh --suspend arg to migrate command (Paolo Bonzini),
  reload iptables rules on libvirtd restart (Mark McLoughlin),
  reload iptables rules simply by re-adding them (Mark McLoughlin),
  Plumb domain description tag in xend backend (Jim Fehlig),
  Make QEMU text monitor parsing more robust (Daniel P. Berrange),
  Hook up JSON monitor to emit basic lifecycle events (Daniel P. Berrange),
  Add QEMU monitor callbacks for basic lifecycle events (Daniel P. Berrange),
  Switch over to passing a callback table to QEMU monitor (Daniel P. Berrange),
  Introduce callbacks for serializing domain object private data to XML (Daniel P. Berrange),
  Switch LXC driver to use a private data blob for virDomainObj state (Daniel P. Berrange),
  Switch UML driver to use a private data blob for virDomainObj state (Daniel P. Berrange),
  Add a 'format' arg to qemuMonitorChangeMedia() since JSON will support it (Daniel P. Berrange),
  Introduce a simple API for handling JSON data (Daniel P. Berrange),
  Add --system flag to autogen.sh to make it easy to build with right prefix (Daniel P. Berrange),
  Export all symbols from xml.h for internal use (Jiri Denemark),
  vbox: Use virIndexToDiskName() in vboxGenerateMediumName() (Matthias Bolte),
  Tests for interface type/model configuration (Jiri Denemark),
  Add virIndexToDiskName and fix mapping gap (Matthias Bolte),
  Add another SENTINEL attribute (Paolo Bonzini),
  Fix help message (Wolfgang Mauerer),
  Alternate CPU affinity impl to cope with NR_CPUS > 1024 (Daniel P. Berrange)
- Cleanups:
  The secret driver is stateful, link it directly to libvirtd (Matthias Bolte),
  Remove undefined symbols from libvirt_private.syms (Matthias Bolte),
  boolean shadows a typedef in rpcndr.h when compiled with MinGW (Matthias Bolte),
  Rename DATADIR to PKGDATADIR to fix win32 build (Jiri Denemark),
  Move cpu_map.xml to -client RPM (Jiri Denemark),
  Fix undefined reference to 'close_used_without_including_unistd_h' (Matthias Bolte),
  Fix argument type of virProcessInfoSetAffinity dummy function (Matthias Bolte),
  esx: Use occurrence enum to specify expected result of a SOAP call (Matthias Bolte),
  esx: Fix occurence typo (Matthias Bolte),
  esx: Removed unused inttypes.h include (Matthias Bolte),
  esx: Replace libxml1 'xmlChildrenNode' with libxml2 'children' (Matthias Bolte),
  esx: Use more suitable error code in esxVI_LookupVirtualMachineByUuid() (Matthias Bolte),
  esx: Add automatic question handling (Matthias Bolte),
  avoid calling exit with a constant; use EXIT_* instead (Jim Meyering),
  maint: remove from VC two gnulib-provided files (Jim Meyering),
  xm_internal.c: remove misleading dead code (Jim Meyering),
  Cleanup temporary #define after use (Matthew Booth),
  Suppress cgroup error message on sucess startup (Ryota Ozaki),
  Small change of RNG syntax for domain (Diego Elio Pettenò),
  remove iptablesReloadRules() and related code (Mark McLoughlin),
  remove all traces of lokkit support (Mark McLoughlin),
  Add virBufferFreeAndReset() and replace free() (Matthias Bolte),
  Fix the news file non-ascii characters (Daniel Veillard),
  Add missing commas to the 0.7.4 news section (Matthias Bolte),
  Change generated HTML to UTF-8 encoding (Daniel Veillard),
  Avoid an type-punned pointer aliasing pbm (Daniel Veillard),
  Move qemuMonitorEscape + migrate status enum into shared monitor code (Daniel P. Berrange),
  vbox: Update IIDs from version 3.1-beta2 to 3.1-final (Matthias Bolte),
  Fix ReprotError vs ReportError typo in JSON code (Daniel P. Berrange),
  Fix inverted conditional test in configure.ac check for yajl (Daniel P. Berrange),
  Pull schedular affinity code out into a separate module (Daniel P. Berrange),
  Ignore docs/ directory for strcmp() syntax check (Daniel P. Berrange)

### 0.7.4: Nov 20 2009

- Features:
  Implement a node device backend using libudev (David Allan),
  New APIs for checking some object properties (Daniel P. Berrange),
  Fully asynchronous monitor I/O processing (Daniel P. Berrange),
  add MAC address based port filtering to qemu (Gerhard Stenzel),
  Support for IPv6 / multiple addresses per interfaces (Laine Stump)
- Documentation:
  Document overriding domain interface target (Cole Robinson),
  514532 Fix man page, most operation are synchronous (Daniel Veillard),
  Fix typo in error message (Matthew Booth),
  esx: Add documentation to the website (Matthias Bolte),
  AppArmor updates of examples (Jamie Strandboge),
  Add documentation for <channel> domain element (Matthew Booth),
  Separate character device doc guest and host parts (Matthew Booth),
  Add a Python example that lists active ESX domains (Matthias Bolte),
  LXC fix wrong or out-of-date function descriptions (Ryota Ozaki),
  docs: <clock> property is 'offset', not 'sync' (Cole Robinson),
  Update the documentation for virDomainMigrateToURI (Chris Lalancette),
  fix virDomainMigrateToURI doc (Dan Kenigsberg)
- Bug fixes:
  504262 Check for duplicated UUID in XM Xen defines (Daniel Veillard),
  512069 fix domain XML schemas for backward compatibility (Daniel Veillard),
  qemu-kvm needs -enable-kvm flag for VT optimization (Steve Yarmie),
  fix deprecated iptables command syntax (Steve Yarmie),
  Ensure driver lock is released when entering QEMU monitor (Daniel P. Berrange),
  only remove masquerade roles for VIR_NETWORK_FORWARD_NAT (Guido Günther),
  esx: Fix CPU clock Hz to MHz conversion (Matthias Bolte),
  esx: Fix memory leak in esxVI_HostCpuIdInfo_Free() (Matthias Bolte),
  esx: Fix MAC address formatting (Matthias Bolte),
  Fix compilation of libvirt against xen-unstable (Jim Fehlig),
  Fix probing for libpciaccess (Daniel P. Berrange),
  Fix incorrect reference counting logic in qemu monitor open (Daniel P. Berrange),
  Don't return fatal error in HAL driver init if HAL isn't running (Daniel P. Berrange),
  Fix cleanup when state driver init fails (Daniel P. Berrange),
  AppArmor handling of accesses to readonly files (Jamie Strandboge),
  AppArmor require absolute paths (Jamie Strandboge),
  Check that domain is running when starting console (Daniel P. Berrange),
  Fix incorrect variable passed to LXC event callback (Daniel P. Berrange),
  Fix race condition in HAL driver startup (Daniel P. Berrange),
  Remove capng_lock() call when spawning LXC container init process (Daniel P. Berrange),
  Fix initscript to check daemon pidfile (Daniel P. Berrange),
  Filter out stale domains from xenstore listing (Daniel P. Berrange),
  Fix logic in xenUnifiedNumOfDomains to match xenUnifiedListDomains (Jonas Eriksson),
  Disable IPv6 socket auto-binding to IPv4 socket (Daniel P. Berrange),
  Fix save and restore with non-privileged guests and SELinux (Daniel P. Berrange),
  Prevent initializing ebtables if disabled in qemu.conf (Ryota Ozaki),
  phyp: too much timeout when polling socket (Eduardo Otubo),
  phyp: ssh authentication with public key fixed (Eduardo Otubo),
  opennebula: Fix potential memory/mutex leak in state driver startup (Matthias Bolte),
  phyp: Break potential infinite loops (Matthias Bolte),
  phyp: Fix memory/session leaks and potential invalid frees (Matthias Bolte),
  storage: conf: Fix memory leak in encryption parsing (Cole Robinson),
  Fix improper error return in virInterfaceDefParseProtoIPvX (Laine Stump),
  Fix virInterfaceIpDefPtr leak during virInterfaceIpDefFree (Laine Stump),
  give up python interpreter lock before calling cb (Dan Kenigsberg),
  ESX: Fix memory leak in list handling functions. (Matthias Bolte),
  Fix --with-init-script configure option (Matthew Booth),
  Don't let parent of daemon exit until basic initialization is done (Daniel P. Berrange),
  Fix configure detection of device mapper (Pritesh Kothari),
  Remote code caught EINTR making it ininterruptable (Daniel Veillard),
  virterror: Add a missing 'break' for VIR_ERR_INVALID_SECRET (Cole Robinson),
  Fix p2p migration without a passed uri. (Cole Robinson),
  Fix problems in the Xen inotify driver. (Matthias Bolte),
  Remove a completely bogus reference increment in the Xen driver. (Chris Lalancette),
  528575 avoid libvirtd crash on LCX domain autostart (Daniel Veillard),
  Fix SELinux linking issues (Jim Fehlig),
  node device: Fix locking issue in virNodeDeviceDestroy (Cole Robinson),
  LXC fix virCgroupGetValueStr problem with \n (Ryota Ozaki),
  Avoid crash in virBufferEscapeString (Laine Stump),
  LXC complement PATH environment variable (Ryota Ozaki)
- Improvements:
  Enable udev instead of hal on F12 / RHEL-6 or later (Daniel P. Berrange),
  python: Actually implement list*Interfaces bindings (Cole Robinson),
  esx: Handle 'vmxnet3' in esxVMX_FormatEthernet() (Matthias Bolte),
  Fix check for existence of cgroups at creation (Daniel P. Berrange),
  Fix virt-aa-helper when host and os.type arch differ (Jamie Strandboge),
  Add translation of PCI vendor and product IDs (David Allan),
  Add scsi_target device type (David Allan),
  Add several fields to node device capabilities (David Allan),
  Add virConnectGetLibvirtVersion API (Cole Robinson),
  Implement finer grained migration control for Xen (Maximilian Wilhelm),
  Support for SATA Disks in virDomainDiskBus (pritesh),
  LXC implement missing DomainInterfaceStats API (Ryota Ozaki),
  disable mac_filter config switch by default (Gerhard Stenzel),
  phyp: Reorder keyboard_interactive label in openSSHSession() (Eduardo Otubo),
  Implmentation of new APIs to checking state/persistence of objects (Daniel P. Berrange),
  Allow timeouts waiting for QEMU job lock (Daniel P. Berrange),
  Release driver and domain lock when running monitor commands (Daniel P. Berrange),
  Add reference counting on virDomainObjPtr objects (Daniel P. Berrange),
  Locking of the qemuMonitorPtr object (Daniel P. Berrange),
  Wrap text mode monitor APIs, pass qemuMonitorPtr directly to APIs (Daniel P. Berrange),
  Move encryption lookup back into qemu driver file (Daniel P. Berrange),
  Make use of private data structure for monitor state (Daniel P. Berrange),
  Add a new timed condition variable wait API (Daniel P. Berrange),
  Fix errno handling for pthreads wrappers (Daniel P. Berrange),
  524280 pass max lease option to dnsmasq (Daniel Veillard),
  Store the range size when adding a DHCP range (Daniel Veillard),
  qemu: Allow cpu pinning for all logical CPUs, not just physical (Cole Robinson),
  qemu: Use same create/define overwrite logic for migration prepare. (Cole Robinson),
  qemu: Break out function to check if we can create/define/restore (Cole Robinson),
  Add sentinel attribute for NULL terminated arg lists (Paolo Bonzini),
  test: Update inactive guest config on shutdown (Cole Robinson),
  test: Add testDomainShutdownState helper (Cole Robinson),
  Properly convert port numbers to/from network byte order (Matthew Booth),
  phyp add create() and destroy() support (Eduardo Otubo),
  Support for <channel> in domain and QEmu backend (Matthew Booth),
  Detect availability of QEMU -chardev CLI option (Matthew Booth),
  Allow character devices to have different target types (Matthew Booth),
  LXC allow container to have ethN interfaces (Ryota Ozaki),
  New ebtables module wrapper (Gerhard Stenzel),
  test: Implement virDomainPinVcpu (Cole Robinson),
  test: Implement virDomainGetVcpus (Cole Robinson),
  test: Update vcpu runtime info in SetVcpus (Cole Robinson),
  test: Use privateData to track running VM vcpu state (Cole Robinson),
  test: Break out wrapper for setting up started domain state. (Cole Robinson),
  test: Fixes for SetVcpus (Cole Robinson),
  Make monitor type (miimon/arpmon) optional in bond xml (Laine Stump),
  Support reporting live interface IP/netmask (Laine Stump),
  Make startmode optional in toplevel interface definition (Laine Stump),
  Move libvirtd event loop into background thread (Daniel P. Berrange),
  Allow NULL mac address in virGetInterface (Laine Stump),
  ESX: Don't automatically follow redirects. (Matthias Bolte),
  ESX: Change disk selection for datastore detection. (Matthias Bolte),
  ESX: Fallback to the preliminary name if the datastore cannot be found. (Matthias Bolte),
  Set KMEMSIZE for OpenVZ domains being defined (Yuji NISHIDA),
  Allow for a driver specific private data blob in virDomainObjPtr (Daniel P. Berrange),
  More network utility functions (Matthew Booth),
  Add symbols from new network.h module (Daniel Veillard),
  Set of new network related utilities (Daniel Veillard),
  Convert virDomainObjListPtr to use a hash of domain objects (Daniel P. Berrange),
  qemu: migrate: Don't require manual URI to specify a port (Cole Robinson),
  test: Support virStorageFindPoolSources (Cole Robinson),
  storage: Add ParseSourceString function for use with FindPoolSources. (Cole Robinson),
  Add support for an external TFTP boot server (Paolo Bonzini),
  test: Support virNodeDeviceCreate and virNodeDeviceDestroy (Cole Robinson),
  Consolidate virXPathNodeSet() (Daniel Veillard),
  Support QEMU watchdog device. (Richard Jones),
  Do not log rotate very small logs (Dan Kenigsberg),
  LXC implement missing macaddr assignment feature (Ryota Ozaki),
  tests: Initialize virRandom in for test suite. (Cole Robinson),
  tests: Add storage volume XML 2 XML tests. (Cole Robinson),
  tests: Add network XML to XML tests. (Cole Robinson),
  schema: Update network schema. (Cole Robinson),
  tests: Add XML 2 XML tests for storage pools. (Cole Robinson),
  tests: Break out duplicate schema verification functionality. (Cole Robinson),
  tests: Fix text output for interface XML 2 XML (Cole Robinson),
  Add ocfs2 to list of fs pool types (Jim Fehlig),
  Finer grained migration control (Chris Lalancette)
- Cleanups:
  remove sysfs_path and parent_sysfs_path from XML (Dave Allan),
  Removing devicePath member from dev struct (Dave Allan),
  report OOM in two places in node_device_driver.c (Dave Allan),
  Whitespace cleanup for pre-tags on the website (Matthias Bolte),
  Fix type in configure output summary (Daniel P. Berrange),
  Remove a compilation warning on uninitialized var (Daniel Veillard),
  Change DTD references to use public instead of system identifier (Matthias Bolte),
  Remove obsolete devicekit checks (Daniel P. Berrange),
  Small guestfwd code cleanup (Matthew Booth),
  Small indentation cleanup of domain schema (Matthew Booth),
  AppArmor code cleanups (Jamie Strandboge),
  Fix formatting of XML for an inactive guest (Daniel P. Berrange),
  Remove DevKit node device backend (David Allan),
  Exclude numactl on s390[x] (Daniel P. Berrange),
  Fix error handling in qemuMonitorOpen (Ryota Ozaki),
  Fix warning on make due to missing cast (int) (Ryota Ozaki),
  Various fixes following a code review part 2 (Daniel Veillard),
  Various fixes following a code review (Daniel Veillard),
  Move code for low level QEMU monitor interaction into separate file (Daniel P. Berrange),
  Make pciDeviceList struct opaque (Daniel P. Berrange),
  Add missing OOM error checks, reports and cleanups (Matthias Bolte),
  Removes the ebtablesSaveRules() function (Gerhard Stenzel),
  phyp: Use actual error code instead of 0 (Matthias Bolte),
  phyp: Don't use VIR_ALLOC if a stack variable is good enough (Matthias Bolte),
  phyp: Fix several UUID table related problems (Matthias Bolte),
  phyp: Check for exit_status < 0 before parsing the result (Matthias Bolte),
  phyp: memcpy/memmove/memset can't fail, so don't check for error (Matthias Bolte),
  phyp: Make generic domain listing functions return -1 in case of error (Matthias Bolte),
  Fix configure check for libssh2 (Matthias Bolte),
  Repair getIPv4Addr after the ntohl conversion (Daniel Veillard),
  Cleanup whitespace in docs (Matthew Booth),
  Use virBuffer when building QEMU char dev command line (Matthew Booth),
  Cleanup virBuffer usage in qemdBuildCommandLine (Matthew Booth),
  Fix some cut-and-paste error in migration code (Paolo Bonzini),
  Ensure guestfwd address is IPv4 and various cleanups (Matthew Booth),
  LXC cleanup deep indentation in lxcDomainSetAutostart (Ryota Ozaki),
  LXC messages cleanup and fix lxcError (Ryota Ozaki),
  qemu: Remove compiled out localhost migration support (Cole Robinson),
  Various error reporting fixes (Cole Robinson),
  Improve error reporting for virConnectGetHostname calls (Cole Robinson),
  Fix up NLS warnings. (Chris Lalancette),
  Remove redundant virFileDeletePID() call (Chris Lalancette),
  Fix return value in virStateInitialize impl for LXC (Daniel P. Berrange),
  ESX: Unify naming of VI API utility and convenience functions. (Matthias Bolte),
  Rename internal APis (Daniel P. Berrange),
  Pull signal setup code out into separate method (Daniel P. Berrange),
  Fix duplicating logging of errors in libvirtd (Daniel P. Berrange),
  Fix initialization order bugs (Daniel P. Berrange),
  Misc cleanup to network socket init (Daniel P. Berrange),
  Annotate many methods with ATTRIBUTE_RETURN_CHECK & fix problems (Daniel P. Berrange),
  Don't use private struct member names of in6_addr (Matthias Bolte),
  Fix typo in network.c function comments (Matthew Booth),
  libvirt-devel should only require libvirt-client (Mark McLoughlin),
  qemu: Fix an error message in GetVcpus (Cole Robinson),
  storage: Break out function to add pool source to a SourceList. (Cole Robinson),
  storage: Break out pool source parsing to a separate function. (Cole Robinson),
  Fix some typos in comments (Dan Kenigsberg),
  Fix error message in qemudLoadDriverConfig() (Matthias Bolte),
  Add a new syntax-check rule for gethostname. (Chris Lalancette),
  Various syntax-check fixes. (Chris Lalancette),
  Tighten up nonreentrant syntax-check. (Chris Lalancette),
  Replace a gethostname by virGetHostname in libvirtd.c (Chris Lalancette),
  Replace two strcmp() by STREQ() in qemu_driver.c (Chris Lalancette),
  Replace gethostname by virGetHostname in xend_internal.c (Chris Lalancette),
  Add a default log_level to qemudSetLogging to remove a build warning. (Chris Lalancette),
  Better error message when libvirtd fails to start. (Chris Lalancette),
  Fix potential false-positive OOM error reporting. (Matthias Bolte),
  Fix virsh.c compilation warning (Jim Fehlig),
  Fix a make dist error due to wrong EXTRA_DIST paths (Daniel Veillard),
  node device: Break out get_wwns and get_parent_node helpers (Cole Robinson),
  tests: Centralize VIR_TEST_DEBUG lookup, and document it (Cole Robinson),
  Remove bogus const annotations to hash iterator (Daniel P. Berrange),
  Remove bashisms from schema tests. (Matthias Bolte),
  Don't copy old machines from a domain which has none (Mark McLoughlin)

### 0.7.3: Nov 20 2009

Broken release use 0.7.4

### 0.7.2: Oct 14 2009

- Features:
  sVirt AppArmor security driver (Jamie Strandboge),
  Add public API definition for data stream handling (Daniel P. Berrange),
  ESX add esxDomainDefineXML() (Matthias Bolte),
  LXC: suspend/resume support (Ryota Ozaki),
  Big code tree cleanup (Daniel P. Berrange)
- Documentation:
  Documentation and examples for SVirt Apparmor driver (Jamie Strandboge),
  Fix documentation and comment typos (Paolo Bonzini),
  Fix up a few typos in the tree. (Chris Lalancette),
  Fix a typo in virNetHasValidPciAddr() too (Mark McLoughlin),
  Fix a typo in virDiskHasValidPciAddr() (Jiri Denemark),
  Fix a number of small typos (Dan Kenigsberg),
  add doc for graphic and video elements (Florian Vichot),
  Fix up 'neccessary -> necessary' in a comment. (Chris Lalancette),
  Fix up comments for domainXML{To,From}Native. (Chris Lalancette),
  Simple fix of a comment in qemuStringToArgvEnv. (Chris Lalancette),
  Add a README file to src/ explaining the directory structure (Daniel P. Berrange),
  doc: don't emit trailing blanks into generated and VC'd NEWS file (Jim Meyering)
- Portability:
  Misc win32 build fixes (Daniel P. Berrange),
  Don't require full daemon install for libvirt python bindings (Daniel P. Berrange),
  Tweak specfile to fix RHEL6 rules & ESX/PHYP enablement (Daniel P. Berrange),
  Bug Fixes:, network: Fix printing XML 'delay' attribute (Cole Robinson),
  Fix virFileReadLimFD/virFileReadAll to handle EINTR (Daniel P. Berrange),
  storage: Fix generating iscsi 'auth' xml (Cole Robinson),
  Fix QEMU restore from file in raw format (Daniel P. Berrange),
  Take domain type into account when looking up default machine (Mark McLoughlin),
  Fix schema to allow missing machine type (Mark McLoughlin),
  Fix stream abort upon I/O failure during migration (Daniel P. Berrange),
  Create /var/log/libvirt/{lxc,uml} dirs (Mark McLoughlin),
  nodedev: Add locking in nodeNumOfDevices (Cole Robinson),
  test: Throw a proper error in GetBridgeName (Cole Robinson),
  526769 change logrotate config default to weekly (Daniel Veillard),
  Fix emission of domain events messages (Daniel P. Berrange),
  unbreak `make rpcgen' (Paolo Bonzini),
  unbreak migration (Paolo Bonzini),
  Fix USB device re-labelling (Mark McLoughlin),
  Avoid a libvirtd crash on broken input 523418 (Daniel Veillard),
  Re-label image file backing stores (Mark McLoughlin),
  Fix memory leaks in libvirtd's message processing (Matthias Bolte),
  Fix QEMU test suite with new VNC env variable (Daniel P. Berrange),
  VBox vboxDomainDestroy forgot to wait for completion (Pritesh Kothari),
  Vbox call OpenHardDisk with "" instead of NULL (Pritesh Kothari),
  Avoid double free in errors in virsh (Jim Fehlig),
  Fix crash in device hotplug cleanup code (Daniel P. Berrange),
  Maintain value of ctxt->node in virInterfaceDefParseDhcp (Laine Stump),
  Fix some XPath relative node resets (Daniel Veillard),
  Fix unitialized variable in qemudDomainDetachHostPciDevice() (Charles Duffy),
  ESX: Check if a datastore is accessible first (Matthias Bolte),
  Fix handling of Xen(ner) detection (Daniel P. Berrange),
  Fix xen driver refcounting. (Matthias Bolte),
  prevent attempt to call cat -c during virDomainSave to raw (Charles Duffy),
  Don't do virSetConnError when virDrvSupportsFeature is successful. (Chris Lalancette),
  Fix a double-free in qemudRunLoop() (Chris Lalancette),
  Fix leak in PCI hostdev hot-unplug (Mark McLoughlin),
  Fix net/disk hot-unplug segfault (Mark McLoughlin)
- Improvements:
  schema: Update storage pool schema. (Cole Robinson),
  test: Activate interfaces specified through driver config file. (Cole Robinson),
  Rewrite example domain events programm for python (Daniel P. Berrange),
  Support a new peer-to-peer migration mode & public API (Daniel P. Berrange),
  LXC add augeas support for config file (Amy Griffis),
  LXC add driver config file lxc.conf (Amy Griffis),
  LXC do not truncate container log files on restart (Amy Griffis),
  LXC initialize logging configuration (Amy Griffis),
  Add debug for envp[] in virExecWithHook() (Amy Griffis),
  Add accessors for logging filters and outputs (Amy Griffis),
  Add virFileAbsPath() utility (Amy Griffis),
  LXC implement memory control APIs (Ryota Ozaki),
  Add a domain argument to SVirt *RestoreImageLabel (Jamie Strandboge),
  test: Support loading node device info from file/XML (Cole Robinson),
  test: Implement node device driver. (Cole Robinson),
  configure: Add explict --with-python option. (Cole Robinson),
  Tunnelled migration. (Chris Lalancette),
  Various monitor improvements for migration. (Chris Lalancette),
  523639 Allows a <description> tag for domains (Daniel Veillard),
  Add src/util/storage_file.c to the POTFILES.in. (Chris Lalancette),
  Add a qemu feature flag for unix socket migration. (Chris Lalancette),
  Let remoteClientStream only do RX if requested. (Chris Lalancette),
  Introduce virStorageFileMetadata structure (Mark McLoughlin),
  Allow control over QEMU audio backend (Daniel P. Berrange),
  Handle data streams in remote client (Daniel P. Berrange),
  Handle outgoing data streams in libvirtd (Daniel P. Berrange),
  Handle incoming data streams in libvirtd (Daniel P. Berrange),
  Lots of cleanups and improvement on QEmu monitor code (Daniel P. Berrange),
  ESX add esxVI_Occurence enum to for occurences (Matthias Bolte),
  ESX add x86_64 detection based on the CPUID (Matthias Bolte),
  ESX add tests for the VMX to/from domain XML mapping (Matthias Bolte),
  ESX Add esxDomainXMLToNative() (Matthias Bolte),
  ESX Set challenge for auth callback to hostname (Matthias Bolte),
  ESX Add esxNodeGetFreeMemory() (Matthias Bolte),
  network: add 'bootp' and 'tftp' config (Paolo Bonzini),
  OpenVZ Fix a restriction about domain names (Yuji NISHIDA),
  Make pki_check.sh into an installed & supported tool (Daniel P. Berrange),
  ESX add support for vmxnet3 virtual device (Shahar Klein)
- Cleanups:
  remote: Don't print a warning every time a remote call fails (Cole Robinson),
  storage: Report errors in FindPoolSources (Cole Robinson),
  LXC fix return code handling in lxcVmStart (Ryota Ozaki),
  Add a target for libvirt.devhelp (Daniel Veillard),
  Remove some auto-generated files (Daniel P. Berrange),
  Re-arrange doTunnelMigrate to simplify cleanup code (Daniel P. Berrange),
  Separate out code for sending tunnelled data (Daniel P. Berrange),
  Pull connection handling code out of doTunnelMigrate (Daniel P. Berrange),
  Refactor native QEMU migration code (Daniel P. Berrange),
  Don't force dconn to be NULL in virDomainMigrate (Daniel P. Berrange),
  Remove unnecessary uri_in parameter from virMigratePrepareTunnel (Daniel P. Berrange),
  Move the VIR_DRV_FEATURE* constants (Daniel P. Berrange),
  Fix configure.ac message vertical alignment (Daniel P. Berrange),
  cgroup: Fix -Werror breakage (Cole Robinson),
  Fix handling return value of qemuMonitorSetBalloon (Ryota Ozaki),
  Fix up "make check" (Chris Lalancette),
  Fix rebuilding of devhelp files (Daniel P. Berrange),
  Fix ordering of <exports> in API description file (Daniel P. Berrange),
  node conf: Make parsing routines consistent with other drivers (Cole Robinson),
  nodedev: Break out virNodeDeviceHasCap to node_conf (Cole Robinson),
  python: Add a newline after custom classes (Cole Robinson),
  python: Fix generated virInterface method names (Cole Robinson),
  python: Use a pure python implementation of 'vir*GetConnect' (Cole Robinson),
  python: Don't generate bindings for vir*Ref (Cole Robinson),
  python: Don't generate conflicting conn.createXML functions. (Cole Robinson),
  python: Remove use of xmllib in generator.py (Cole Robinson),
  python: Remove FastParser from generator. (Cole Robinson),
  Fix typo in Makefile.am breaking NEWS file generation (Daniel P. Berrange),
  Fix build in separate build directory (Jiri Denemark),
  Incorrect error message in virDomainNetDefParseXML (Florian Vichot),
  Fix a few 'make rpm' breakages (Daniel Veillard),
  Pass remote_message_header to the dispatch functions. (Chris Lalancette),
  Fix up some warnings from stream DEBUG statements. (Chris Lalancette),
  Fix apibuild.py warnings (Matthias Bolte),
  Change signature of remoteSendStreamData() to fix compile warning (Matthias Bolte),
  Add virStorageFileGetMetadata() helper (Mark McLoughlin),
  Move virStorageGetMetadataFromFD() to libvirt_util (Mark McLoughlin),
  Split virStorageGetMetadataFromFD() from virStorageBackendProbeTarget() (Mark McLoughlin),
  Move file format enum to libvirt_util (Mark McLoughlin),
  Remove hand-crafted UUID parsers (Daniel P. Berrange),
  Helper functions for processing data streams in libvirtd (Daniel P. Berrange),
  Standardize debugging messages in QEMU monitor code (Daniel P. Berrange),
  Remove low level monitor APIs from header file (Daniel P. Berrange),
  Rename qemudMonitorSendCont to qemuMonitorStartCPUs (Daniel P. Berrange),
  Pull QEMU monitor interaction out to separate file (Daniel P. Berrange),
  util.h needs libvirt.h for virConnectPtr (Mark McLoughlin),
  Fix API doc extractor to stop munging comment formatting (Daniel P. Berrange),
  Fix secret_driver compile warning, bug. (Charles Duffy),
  ESX remove phantom mode (Matthias Bolte),
  ESX replace esxUtil_EqualSuffix() with virFileHasSuffix() (Matthias Bolte),
  ESX Whitespace cleanup (Matthias Bolte),
  Fix up "make syntax-check" after the tree restructuring. (Chris Lalancette),
  Introduce virStrncpy. (Chris Lalancette),
  Ignore auto-generated header file (Daniel P. Berrange),
  Remove an unnecessary variable from remoteIOReadMessage(). (Chris Lalancette),
  Remove auto-generated header file from repo (Daniel P. Berrange),
  Move example XML files into examples/xml (Daniel P. Berrange),
  Remove all generated docs from source control (Daniel P. Berrange),
  Fix missing data file in qemuhelpdata (Daniel P. Berrange),
  Misc syntax-check fixes (Daniel P. Berrange),
  Move remote protocol definition into src/remote/ (Daniel P. Berrange),
  Move all shared utility files to src/util/ (Daniel P. Berrange),
  Move all XML configuration handling to src/conf/ (Daniel P. Berrange),
  Re-arrange python generator to make it clear what's auto-generated (Daniel P. Berrange),
  Remove obsolete files (Daniel P. Berrange),
  Move docs/examples into examples/ (Daniel P. Berrange),
  Remove unused images from docs/ directory (Daniel P. Berrange),
  Rename daemon main code (Daniel P. Berrange),
  Move config files to align with driver sources (Daniel P. Berrange),
  Move virsh into tools/ directory (Daniel P. Berrange),
  Move security drivers to src/security/ (Daniel P. Berrange),
  Move secret driver into src/secret/ (Daniel P. Berrange),
  Move netcf interface driver into src/interface/ (Daniel P. Berrange),
  Move network driver into src/network (Daniel P. Berrange),
  Move remote driver to src/remote/ (Daniel P. Berrange),
  Move test driver into src/test/ (Daniel P. Berrange),
  Move node device drivers to src/node_device/ (Daniel P. Berrange),
  Move storage drivers into src/storage/ (Daniel P. Berrange),
  Move OpenVZ driver to src/openvz/ (Daniel P. Berrange),
  Move UML driver to src/uml/ (Daniel P. Berrange),
  Move QEMU driver to src/qemu/ (Daniel P. Berrange),
  Move LXC driver into src/lxc/ (Daniel P. Berrange),
  Move xen driver code into src/xen/ directory (Daniel P. Berrange),
  Rename qemud/ directory to daemon/ (Daniel P. Berrange),
  Refactor libvirt.spec to allow client-only builds (Daniel P. Berrange)

### 0.7.1: Sep 15 2009

- New features:
  Add support for encrypted (qcow) volume creation. (Miloslav Trmač),
  Secret manipulation public API (Miloslav Trmač),
  Multipath storage support module (Dave Allan),
  VBox add Storage Volume support (Pritesh Kothari),
  Support configuration of huge pages in guests (Daniel P. Berrange),
  Support new PolicyKit 1.0 API (Daniel P. Berrange),
  Compressed save image format for Qemu (Chris Lalancette, Charles Duffy and Jim Meyering),
  QEmu add host PCI device hotplug support (Mark McLoughlin)
- Documentation:
  Minor comment changes (Laine Stump),
  Fix up virNodeGetCellsFreeMemory (Chris Lalancette),
  Fix some typos and remove unhelpful acronyms in QEMU docs (Daniel P. Berrange),
  Add documentation about the QEMU driver security features (Daniel P. Berrange),
  Remove 'the-the' typo in docs (Daniel P. Berrange),
  Fix some URLs in virsh manpage (Mark McLoughlin),
  Add link to AbiCloud web management system (Daniel P. Berrange),
  Update logging documentation (Amy Griffis)
- Portability:
  Fix win32 platform build (Daniel P. Berrange)
- Bug fixes:
  VBox bug when starting machine from old versions (Pritesh Kothari),
  ESX avoid potential leaks (Matthias Bolte),
  Fix more OOM handling bugs (Daniel P. Berrange),
  Fix logging buffer overrun read (Daniel P. Berrange),
  Fix misc thread locking bugs / bogus warnings (Daniel P. Berrange),
  Fix regression from "Avoid polling on FDs with no events" (Chris Lalancette),
  Close logfile fd after spawning qemu (Ryota Ozaki),
  Check for libssh2 >= 1.0 for phy driver (Maximilian Wilhelm),
  Avoid another leak in src/xend_internal.c (Matthias Bolte),
  Avoid a leak in xenDaemonLookupByID (Matthias Bolte),
  VBox fix minor bugs in display and added OOM checks (Pritesh Kothari),
  Some close/fclose/closedir calls are missing (Matthias Bolte),
  lxc_container.c: avoid a leak on error paths (Jim Meyering),
  Fix several memory leaks (Ryota Ozaki),
  Fix a memory leak in virsh (Laine Stump),
  Fix ID field in virDomainPtr after starting Xen VM (Daniel P. Berrange),
  Fix memory leak of monitor character device (Daniel P. Berrange),
  Automatically set correct ownership of QEMU state directories (Daniel P. Berrange),
  Avoid polling on FDs with no events enabled (Daniel P. Berrange),
  esx_vi: return -1 upon failure, as intended (Matthias Bolte),
  python: let libvirt_virConnectDomainEventCallback indicate success (Jim Meyering),
  uml_conf.c: don't return an uninitialized pointer (Jim Meyering),
  storage_backend.c: assure clang that inputvol can't be NULL (Jim Meyering),
  libvir.c: avoid NULL dereference in virStoragePoolSetAutostart (Jim Meyering),
  lxc: avoid NULL dereference upon getmntent failure (Jim Meyering),
  storage_backend_fs: avoid NULL dereference on opendir failure (Jim Meyering),
  Fix bugs in virDomainMigrate v2 code. (Chris Lalancette),
  VMware ESX: Don't warn on some query parameter (Matthias Bolte),
  Don't blindly reorder disk drives (Daniel P. Berrange),
  Fix sexpr2string() to handle empty list. (Jim Fehlig),
  Fix driver entry table for UML numa APIs (Daniel P. Berrange),
  Fix crash in virsh vol-key command (Pritesh Kothari),
  517157 fix selinux problem with images on NFS (Darryl L. Pierce),
  Fix phypOpen() escape_specialcharacters (Mattias Bolte),
  Power Hypervisor: fix potential segfault (Mattias Bolte),
  Fix bridge/tap system error reporting (Mark McLoughlin),
  Reset PCI host devices after hot-unplug (Mark McLoughlin),
  Reset unmanaged PCI host devices before hotplug (Mark McLoughlin),
  Fix up connection reference counting. (Chris Lalancette),
  Fix LXC driver crash when kernel doesn't support clone (Daniel P. Berrange),
  Make LXC / UML drivers robust against NUMA topology brokenness (Daniel P. Berrange),
  Run 'cont' on successful migration finish. (Chris Lalancette),
  Fix QEMU domain status after restore. (Chris Lalancette),
  Handle kernels with no ipv6 support (Mark McLoughlin),
  Set perms on /var/lib/libvirt/boot to 0711 (Mark McLoughlin),
  chown kernel/initrd before spawning qemu (Mark McLoughlin),
  Several fixes to libvirtd's log setup (Amy Griffis),
  Fix memleak if esxOpen fails (Matthias Bolte)
- Improvement:
  support lzop save compression for qemu (Charles Duffy),
  VBox 3.0.6 API change support (Pritesh Kothari),
  Add UUID definition required by storage encryption import (Daniel P. Berrange),
  Make secrets RNG more strict (Daniel P. Berrange),
  Fill in secret UUID for qcow encryption (Daniel P. Berrange),
  Add usage type/id as a public API property of virSecret (Daniel P. Berrange),
  Fix UUID handling in secrets/storage encryption APIs (Daniel P. Berrange),
  Save vcpuinfo in status file (Daniel P. Berrange),
  Restart libvirtd upon RPM upgrade (Daniel P. Berrange),
  Add support for qcow encrypted volumes to qemu. (Miloslav Trmač),
  Provide missing passphrase when creating a volume. (Miloslav Trmač),
  Add virsh commands for secrets APIs (Miloslav Trmač),
  Local file implementation of secret driver API (Miloslav Trmač),
  Mask out flags used internally for virSecretGetValue (Miloslav Trmač),
  Add <usage> to <secret> docs (Miloslav Trmač),
  also allow use of XZ for Qemu image compression (Jim Meyering),
  Support relabelling of USB and PCI devices (Daniel P. Berrange),
  Add helper APIs for iterating over PCI device resource files (Daniel P. Berrange),
  Add helper module for dealing with USB host devices (Daniel P. Berrange),
  Test that domain-specific qemu machine types are used correctly (Mark McLoughlin),
  Probe machine types from kvm binary too (Mark McLoughlin),
  Look up machine types from all domains in qemudGetOldMachines() (Mark McLoughlin),
  Test qemu machine aliases (Mark McLoughlin),
  Add qemu -help test data for qemu-kvm-0.11.0-rc2 (Mark McLoughlin),
  Add a more featureful qemu capabilities test data (Mark McLoughlin),
  Add arm arch to capabilities schema (Mark McLoughlin),
  Update capabilities schema to allow multiple machines per domain (Mark McLoughlin),
  Add esx and tcp migration uri transports to capabilities schema (Mark McLoughlin),
  Reintroduce support for lzop compression (Charles Duffy),
  build: update gnulib submodule to latest (Jim Meyering),
  Add flags and requires for Multipath storage (Daniel Veillard),
  ESX raise error if UUID parse failed (Matthias Bolte),
  ESX add domain undefine based on esxVI_UnregisterVM (Matthias Bolte),
  ESX add esxGetCapabilities() with basic defaults (Matthias Bolte),
  Switch Power Hypervisor to libssh2 (Eduardo Otubo),
  Allow libvirtd to RPC to external libvirtd (Chris Lalancette),
  Add support for setting disk drive serial numbers (Daniel P. Berrange),
  VBox support for defining/dumping video devices (Pritesh Kothari),
  Generic parsing support for video acceleration (Pritesh Kothari),
  VMware ESX: Allow ethernet address type 'vpx' (Matthias Bolte),
  Support for getting/setting number of cpus in VBox (Pritesh Kothari),
  Make handling of monitor prompts more general. (Miloslav Trmač),
  Attach encryption information to virDomainDiskDef. (Miloslav Trmač),
  Recognize encryption format of qcow volumes. (Miloslav Trmač),
  Attach encryption information to virStorageVolDef. (Miloslav Trmač),
  Add volume encryption information handling. (Miloslav Trmač),
  Secret manipulation API docs refresh and wire up python generator (Miloslav Trmač),
  Secret manipulation remote client (Miloslav Trmač),
  Secret manipulation libvirtd wire protocol and remote dispatcher (Miloslav Trmač),
  Secret manipulation public API implementation (Miloslav Trmač),
  Secret manipulation internal API (Miloslav Trmač),
  Add test for recently fixed crash with latest XenD (Daniel P. Berrange),
  Don't expose 'vnet%d' to the user (Mark McLoughlin),
  Maintain a list of active PCI hostdevs and use it in pciResetDevice() (Mark McLoughlin),
  Simplify PCI hostdev prepare/re-attach using a pciDeviceList type (Mark McLoughlin),
  Use pci_addr=auto with QEMU's pci_add monitor command (Mark McLoughlin),
  Check active domain hostdevs before allowing PCI reset (Mark McLoughlin),
  Allow pciResetDevice() to reset multiple devices (Mark McLoughlin),
  Improve PCI host device reset error message (Mark McLoughlin),
  Reset and re-attach PCI host devices on guest shutdown (Mark McLoughlin),
  Allow PM reset on multi-function PCI devices (Mark McLoughlin),
  Detect KVM's PCI device assignment support (Mark McLoughlin),
  Split virDomainMigrate into functions. (Chris Lalancette),
  Consolidate code for parsing the logging env (Amy Griffis)
- Cleanups:
  Remove accidentally added UUID re-definition in storage schema (Daniel P. Berrange),
  ESX cleanup of CPU model strings (Matthias Bolte),
  Fix use of dlopen modules (Daniel P. Berrange),
  Consolidate "cont" into qemudMonitorSendCont() (Miloslav Trmač),
  Cleanup sec driver error reporting to use virReportSystemError (Daniel P. Berrange),
  Port QEMU driver to use USB/PCI device helpers (Daniel P. Berrange),
  Simplify and fix qemudCanonicalizeMachine() (Mark McLoughlin),
  Split up qemudGetOldMachines() (Mark McLoughlin),
  Re-factor qemu test machine allocation code (Mark McLoughlin),
  Canonicalize the qemu machine type in qemuxml2argvtest (Mark McLoughlin),
  Dump qemu driver capabilities if test debugging enabled (Mark McLoughlin),
  Fix formatting of machine types in capabilities XML (Mark McLoughlin),
  qemu_driver.c: factor out more duplication (Jim Meyering),
  Deprecate lzma and lzop in favor of xz, add dep (Daniel Veillard),
  qemu_driver.c: factor out duplication in compression-type handling (Jim Meyering),
  openvz_conf.c: remove dead store to "p"; use strchrnul (Jim Meyering),
  Remove some tabs used for indent (Daniel Veillard),
  Updated a number of localizations and regenerated (Daniel Veillard),
  Add a missing comment (Miloslav Trmač),
  Fix a pasto in storage_encryption_conf.c (Miloslav Trmač),
  xm_internal.c: remove four useless comparisons after strchr (Jim Meyering),
  xm_internal.c: remove dead increment of "data" (Jim Meyering),
  network_driver.c: remove dead store to "err" (Jim Meyering),
  iptables.c: remove dead store to "s" (Jim Meyering),
  util.c: avoid dead store to "flag" (Jim Meyering),
  domain_conf.c: remove two dead stores (Jim Meyering),
  xm_internal.c: remove two ret=... dead stores (Jim Meyering),
  xm_internal.c: remove dead stores of local, "type" (Jim Meyering),
  network_conf.c: remove dead store to "err" (Jim Meyering),
  openvz_driver.c: avoid dead store to "err" (Jim Meyering),
  xend_internal.c: Remove two dead stores to "ret" (Jim Meyering),
  storage_driver.c: remove two dead stores to "backend" (Jim Meyering),
  qemu_conf.c: add a comment suggesting why we leave a dead-store (Jim Meyering),
  hash.c: remove a dead store (Jim Meyering),
  interface_conf.c: remove a dead-store and declaration (Jim Meyering),
  eventtest.c: detect write failure and avoid dead stores (Jim Meyering),
  openvz_conf.c: Remove dead store to copy_fd (Jim Meyering),
  storage_backend_logical.c: appease clang: remove useless increment (Jim Meyering),
  ESX simplify SOAP request and response handling (Matthias Bolte),
  ESX use virXPathNode*() to simplify XPath handling (Matthias Bolte),
  ESX: make esxVI_GetVirtualMachineIdentity() robust (Matthias Bolte),
  ESX: Fix VMX path parsing and URL encoding (Matthias Bolte),
  VBox driver cleanups (Pritesh Kothari),
  PHYP driver cleanups (Daniel Veillard),
  Move QEMU monitor socket in /var/lib/libvirt/qemu (Daniel P. Berrange),
  xen_internal.c: remove two unused local variables (Jim Meyering),
  mdns.c: remove dead initialization (Jim Meyering),
  node_device_conf.c: remove dead initialization (Jim Meyering),
  openvz_conf.c: don't use undefined local, "net" (Jim Meyering),
  test.c: don't use undefined local, "def" (Jim Meyering),
  remote_internal.c: appease clang (Jim Meyering),
  infra: define ATTRIBUTE_NONNULL to mark non-NULL parameters (Jim Meyering),
  lxc: don't unlink(NULL) in main (Jim Meyering),
  storage_conf.c: avoid overflow upon use of "z" or "Z" (zebi) suffix (Jim Meyering),
  VBox cleanup and update of networking shutdown (Pritesh Kothari),
  Box cleanup and update of networking XML functions (Pritesh Kothari),
  Fix misc OOM bugs (Daniel P. Berrange),
  Misc fixes to secrets API code (Daniel P. Berrange),
  Only add glusterfs dep for Fedora >= 11 (Daniel P. Berrange),
  Remove redundant base64 include file (Daniel P. Berrange),
  Don't assume buffered output echoes the command. (Miloslav Trmač),
  Update chinese, polish and spanish localizations (Daniel Veillard),
  OpenVZ: accept NULL as type for GetMaxVCPUs. (Chris Lalancette),
  Remove use of strncpy in qemudExtractMonitorPath. (Chris Lalancette),
  Refactor policycode auth code to avoid compiler warnings (Daniel P. Berrange),
  spec file: add URL to Source tag (Mark McLoughlin),
  Small fixes for qemu save compression. (Chris Lalancette),
  Fix thinko in PCI hostdev detach (Mark McLoughlin),
  Revert changes to allow pciResetDevice() reset multiple devices (Mark McLoughlin),
  Fix list updating after disk/network/hostdev hot-unplug (Mark McLoughlin),
  Re-name remote_internal.c:driver to remote_driver (Mark McLoughlin),
  Cosmetic change to 'virsh nodedev-list --tree' output (Mark McLoughlin),
  Re-factor hostdev hotplug (Mark McLoughlin),
  Remove a duplicated assignment in Xen PCI parsing. (Chris Lalancette),
  Fix up a few minor indentation issues. (Chris Lalancette),
  Fix phyp escape_specialcharacters. (Chris Lalancette),
  Make openvzGetVPSUUID take a len. (Chris Lalancette),
  Minor cleanup of error path for c_oneVmInfo. (Chris Lalancette),
  Fix up a whitespace in comments in src/console.c (Chris Lalancette),
  Fix up a stray whitespace in virHashGrow. (Chris Lalancette),
  Remove unsafe strncpy from esx_vmx.c (Chris Lalancette),
  Cleanup VIR_LOG_DEBUG parsing in eventtest (Amy Griffis),
  Tighten libvirt's parsing of logging env (Amy Griffis),
  Cleanup structure name naming (Matthias Bolte),
  Add proper OOM reporting for esxDomainGetOSType (Matthias Bolte)

### 0.7.0: Aug 5 2009

- New features: Interface implementation based on netcf (Laine Stump, Daniel Veillard), Add new net filesystem glusterfs (Harshavardhana), Initial VMWare ESX driver (Matthias Bolte), Add support for VBox 3 and event callbacks on vbox (Pritesh Kothari), First version of the Power Hypervisor driver (Eduardo Otubo), Run QEMU guests as an unprivileged user (Daniel P. Berrange), Support cgroups in QEMU driver (Daniel P. Berrange), QEmu hotplug NIC support (Mark McLoughlin), Storage cloning for LVM and Disk backends(Cole Robinson), Switching to GIT (Jim Meyering)
- Documentation: Typo and comment fixes (Aron Griffis), Fix virCapabilitiesDefaultGuestMachine documentation. (Chris Lalancette), ESX Scheduler documentation and cleanup (Matthias Bolte), Update the java bindings page (Bryan Kearney), Added Matthias Bolte to AUTHORS list (Daniel Veillard), doc: clone+build instructions (Jim Meyering), docs: say that the old repository is deprecated... (Jim Meyering), document tcp listen and raw wire option (Guido Günther), Fix docs and code disagreements for character devices. (Cole Robinson), Fix documentation of virStoragePoolUndefine return (Thomas Treutner), Fix gitweb link on download page. (Cole Robinson), update download informations after switch to git (Daniel Veillard), Update links to bugzilla (Garry Dolley), Update the links for RHEL libvirt bugzillas (Garry Dolley)
- Portability: Xen Inotify support needs sys/inotify.h (Maximilian Wilhelm), Workaround for broken GCC in Debian Etch (Maximilian Wilhelm), LXC driver requires sched.h and unshare() (Maximilian Wilhelm), Configure UML support only if sys/inotify.h present (Maximilian Wilhelm), Fix libcurl automatic check and ESX status (Maximilian Wilhelm), Enable ESX driver build on Mingw32 (Daniel P. Berrange), Fix build on mingw32 by disabling netcf (Daniel P. Berrange), Reduce glusterfs dependency to 2.0.1 (Mark McLoughlin), Desactivate phyp build and indicate libssh builreq (Daniel Veillard), Fix misc Win32 compile warnings (Daniel P. Berrange), Rename variable for compilation in Mingw32 (end) (Laine Stump), Rename variable for compilation in Mingw32 (Laine Stump), rpm spec cleanup and split off client only package (Daniel Veillard)
- Bug fixes: Add uniqueness checking for LXC define/create methods (Daniel P. Berrange), Fix removal of transient VMs when LXC aborts (Daniel P. Berrange), Don't try to activate cgroups if not present for LXC (Daniel P. Berrange), Refresh /etc/xen if inotify wasn't (Cole Robinson), Don't loose id on xen domain redefine (Cole Robinson), Fix memory leak in openvz driver (Daniel P. Berrange), Protected against potential crash scenarios (Daniel P. Berrange), Fix crash when attempting to shutdown inactive QEMU vm (Daniel P. Berrange), Fix PCIe FLR detection (Mark McLoughlin), Set perms on /var/lib/libvirt/images to 0711 (Mark McLoughlin), Fix problem writing QEMU pidfile (Daniel P. Berrange), Fix vcpupin on Xen problem (Henrik Persson), Fix RPM upgrades from F11 to F12 (Daniel P. Berrange), Fix deadlock in remote driver domain events (Daniel P. Berrange), qemu: fix monitor socket reconnection (Ryota Ozaki), Fix polkit/netcf disabling on older fedoras (Mark McLoughlin), Fix crashes in Xen capabilities code (Daniel P. Berrange), Always add -no-kvm and -no-kqemu, for qemu domains (Jim Paris), Avoid raising an internal error (Paolo Bonzini), Don't allow NULL paths for BlockStats and InterfaceStats (Cole Robinson), Don't leak vm-monitorpath on re-connect (Mark McLoughlin), Don't restore labels on shared/readonly disks (Daniel P. Berrange), Ensure spawned children have a stderr/out set to /dev/null if requested (Daniel P. Berrange), Ensure test:/// URIs get routed to the non-privileged libvirtd (Daniel P. Berrange), fix another failing "make distcheck" (qemuhelptest) (Jim Meyering), Fix an uninitialized variable in Unix socket open (Jun Koi), Fix configure flags in spec file (Daniel Veillard), Fix error reporting for security driver over remote protocol (Daniel P. Berrange), fix failing "make distcheck" (Jim Meyering), Fix free of unitialized data upon PCI open fail (Daniel P. Berrange), Fix informations about previous git server (Daniel Veillard), Fix memory leaks in esxDomainDumpXML (Matthias Bolte), Fix multiple memory leaks in virsh (Laine Stump), Fix PCI device hotplug/unplug with newer QEMU (Daniel P. Berrange), Fix problem with QEMU monitor welcome prompt confusing libvirt after a libvirtd daemon restart with active guests (Daniel P. Berrange), Fix python examples to use read-write conn (Dan Kenigsberg), Fix reconnect bug for VBox (Pritesh Kothari), Fix SELinux denial during hotplug (Daniel P. Berrange), Fix typo in check for glusterfs format pools (Daniel P. Berrange), Fix typo in storage cloning (Daniel P. Berrange), qemu: Check driver is initialized up front, to avoid segfault. (Cole Robinson), qemu: Try multiple times to open unix monitor socket (Cole Robinson), Release conn lock before reporting errors (end) (Laine Stump), Release conn lock before reporting interface errors (Laine Stump), Remove the network backend if NIC hotplug fails (Mark McLoughlin), Set specific flags for glusterfs fs mounts (Harshavardhana), storage: disk: Default to 'ext2' for new volumes. (Cole Robinson), storage: disk: Fix parthelper '-g' option handling. (Cole Robinson), storage: disk: Fix segfault creating volume without target path (Cole Robinson), storage: Fix deadlock when cloning across pools. (Cole Robinson), Update modified mac address in place in virGetInterface (Laine Stump)
- Improvements: Add an allocation unit when calling qemu-img (Ryota Ozaki), Improve diagnostics when pidfile writing fails (Daniel P. Berrange), Disable IPv6 on virtual networks (Daniel P. Berrange), Allow dnsmasq to provide DNS without DHCP (Daniel P. Berrange), Fix an initialization problem in previous patch (Aron Griffis), Remove MAX_TAP_ID and let kernel do numbering (Aron Griffis), Kernel command line support for UML (Ron Yorston), Activate the interface drivers, and cleanups (Daniel Veillard), Add an error code for conflicting mac addresses (Laine Stump), Add a test interface driver (Laine Stump), Add canonical machine name to capabilities output (Mark McLoughlin), add cd and pwd commands to virsh (Paolo Bonzini), Add checks for some NIC hotplug related features added in qemu-0.10.0 (Mark McLoughlin), Add domain autostart for LXC driver (Daniel P. Berrange), Add domain events support to LXC driver (Daniel P. Berrange), Add interface object list manipulation functions (Laine Stump), Add internal XML parsing/formatting flag (Mark McLoughlin), Add netcf XML schemas and test data (Daniel Veillard), Add new net filesystem glusterfs (Harshavardhana), Add NIC and hostnet names to domain state XML (Mark McLoughlin), Add no_verify query parameter to ESX URIs (Matthias Bolte), Add SCM_RIGHTS support to QEMU monitor code (Mark McLoughlin), Add support for attaching network/bridge NICs in QEMU driver (Mark McLoughlin), add support for netcf XML import and export (Daniel Veillard), Add support for network device detach (Mark McLoughlin), Add support for physical memory access for QEmu (Nguyen Anh Quynh), Add support for VBox 3 and event callbacks on vbox (Pritesh Kothari), Add the monitor type to the domain state XML (Mark McLoughlin), Add virCapsGuestMachine structure (Mark McLoughlin), Add virsh commands for network interface management (Laine Stump), Allow autostart of libvirtd to be disabled with LIBVIRT_AUTOSTART=0 (Daniel P. Berrange), Allow leading dots in VMX config entry names (Matthias Bolte), Assign names to qemu NICs and network backends (Mark McLoughlin), Basic qemu NIC hotplug support (Mark McLoughlin), build: adjust aclocal's search patch to prefer gnulib's m4 files. (Jim Meyering), build: automatically rerun ./bootstrap when needed (Jim Meyering), build: make autogen.sh use autoreconf -if (Jim Meyering), build: submodule machinery now works also when no tag is reachable (Jim Meyering), Canonicalize qemu machine types (Mark McLoughlin), Change code generator to give async event messages their own postfix (Daniel P. Berrange), Change the way client event loop watches are managed (Daniel P. Berrange), Decode incoming request header before invoking dispatch code (Daniel P. Berrange), Define an API for registering incoming message dispatch filters (Daniel P. Berrange), ESX driver accept VI API version 4.0 (Matthias Bolte), Fill in vCPU - pCPU current mapping, and vCPU cpuTime for QEMU (Daniel P. Berrange), generate ChangeLog from git logs into distribution tarball (Jim Meyering), Implement qemu dump capabilities (Paolo Bonzini), Implement schedular tunables API using cgroups (Daniel P. Berrange), Implement the new virinterface functions (Laine Stump), Make cgroups a little more efficient (Daniel P. Berrange), Make it easier to debug tests running programs (Daniel P. Berrange), Make qemuBuildHostNetStr() take tapfd as a string (Mark McLoughlin), Make QEMU cgroups use configurable (Daniel P. Berrange), Make qemuCmdFlags available in qemudDomainAttachDevice() (Mark McLoughlin), Move queuing of RPC replies into dispatch code (Daniel P. Berrange), Move vnet_hdr logic into qemudNetworkIfaceConnect() and export it (Mark McLoughlin), Netcf based interface driver implementation (Laine Stump), netcf XML validation and input and output tests (Daniel Veillard), Only probe qemu for machine types when binary changes (Mark McLoughlin), Place every QEMU guest in a private cgroup (Daniel P. Berrange), Probe for QEMU machine types (Mark McLoughlin), Probe QEMU directly for machine aliases if not found in capabilties (Mark McLoughlin), Public API for new virInterface functions (Laine Stump), python: Raise exceptions if virDomain*Stats fail. (Cole Robinson), Refactor cgroups to allow a group per driver to be managed directly (Daniel P. Berrange), Re-factor pci_add reply parsing and parse domain/bus numbers (Mark McLoughlin), Retain disk PCI address across libvirtd restarts (Mark McLoughlin), Retain PCI address from NIC attach (Mark McLoughlin), Run QEMU guests as an unprivileged user (Daniel P. Berrange), Separate code for encoding outgoing remote message headers (Daniel P. Berrange), Split generic RPC message dispatch code out from remote protocol API handlers (Daniel P. Berrange), Split out code for handling incoming method call messages (Daniel P. Berrange), storage: Break out actual raw cloning to separate function. (Cole Robinson), storage: cleanup: do away with 'createFile' (Cole Robinson), storage: disk: Use capacity, not allocation, when creating volume. (Cole Robinson), storage: Don't try sparse detection if writing to block device. (Cole Robinson), storage: Implement 'CreateBlockFrom' helper. (Cole Robinson), storage: Implement CreateVolFrom for logical and disk backend. (Cole Robinson), storage: Move most of the FS creation functions to common backend. (Cole Robinson), storage: Refactor FS backend 'create' function choosing. (Cole Robinson), Store the interface vlan number in the domain state (Mark McLoughlin), Support video element for QEMU guests (Daniel P. Berrange), Support video tag for defining VGA card properties (Daniel P. Berrange), Switch to using a unix socket for the qemu monitor (Mark McLoughlin), test: Generate net interface names when assigning XML. (Cole Robinson), test: Implement BlockStats and InterfaceStats (Cole Robinson), Use cgroups for block device whitelisting in QEMU guests (Daniel P. Berrange), Use enums for cgroup controller types / labels (Daniel P. Berrange), Use sendmsg() on QEMU monitor socket (Mark McLoughlin), Use virDomainChrTypeFromString() instead of open coding (Mark McLoughlin), Use virFileReadAll/virFileWriteStr for key cgroup read/write helpers (Daniel P. Berrange), virGetinterface matching of MAC and interface name (Laine Stump)
- Cleanups: Fix configure checks from previous commits (Daniel P. Berrange), Avoid a warning if compiling without inotify (Daniel P. Berrange), Remove a stray semicolon (Daniel Veillard), Extend the ESX URL to habdle ports and GSX (Matthias Bolte), Fix escaping of 8-bit high characters (Daniel P. Berrange), , Remove ATTRIBUTE_UNUSED from flags to qemudDomainMigratePerform. (Chris Lalancette), Add a comment about setting errors after qemudStartVMDaemon(). (Chris Lalancette), Fix an erroneous debug error to KVM; it should read QEMU/KVM. (Chris Lalancette), Remove a stray semicolon in qemudDomainMigratePrepare2. (Chris Lalancette), Convert a few stray users of free() in libvirt.c to VIR_FREE(). (Chris Lalancette), Use virGetHostname instead of gethostname. (Chris Lalancette), Fix up a minor indentation issue with virDomainMigratePrepare. (Chris Lalancette), Fix up a silly typo in apibuild.py. (Chris Lalancette), Avoid warning when compiling without IFF_VNET_HDR (Maximilian Wilhelm), Capilize libvirt-client summary (Mark McLoughlin), Move ldconfig calls to libvirt-client %post/%postun (Mark McLoughlin), Convert NEWS to UTF-8 (Mark McLoughlin), Fix trailing whitespace in NEWS (Mark McLoughlin), No need to build require both python-devel and python (Mark McLoughlin), Remove executable perms from /etc/sysconfig/libvirtd (Mark McLoughlin), Use a %postun -p for one line scriptlet (Mark McLoughlin), Don't explicitly require libxml2 (Mark McLoughlin), Fix some unowned directories (Mark McLoughlin), Kill qemu BuildRequires (Mark McLoughlin), Enable netcf by default (Mark McLoughlin), Default to with_polkit (Mark McLoughlin), Make vbox support configurable (Mark McLoughlin), Build with --without-capng if capng is disabled (Mark McLoughlin), BuildRequires libcap-ng-devel not capng-devel (Mark McLoughlin), Drop curl host check when using ESX without check (Shahar Klein), Fix typo in xen capabilities code (Daniel P. Berrange), Add bare format string to printf-derivatives troubles (Laine Stump), Add phyp files to POTFILES, to make syntax-check happy. (Cole Robinson), avoid a make distcheck failure: distribute docs/schemas/interface.rng (Jim Meyering), avoid a make distcheck failure: distribute tests/interfaceschemadata/ (Jim Meyering), avoid a "make syntax-check" failure (Jim Meyering), build: do not emit a trailing blank line into VC'd file, NEWS (Jim Meyering), build: update from gnulib, for latest maint.mk (Jim Meyering), Clean up error handling in qemudDomainAttachNetDevice() (Mark McLoughlin), Cleanup qemu binary detection logic in qemudCapsInitGuest() (Mark McLoughlin), Commit newly generated docs, after changes from commit 2348cf. (Cole Robinson), Factor qemuBuildHostNetStr() out from qemuBuildCommandLine() (Mark McLoughlin), Factor qemuBuildNicStr() out from qemuBuildCommandLine() (Mark McLoughlin), Factor qemudMonitorSend() out of qemudMonitorCommandExtra() (Mark McLoughlin), Fix cgroup compile warnings (Daniel P. Berrange), Fix misc build problems due to new drivers (Daniel P. Berrange), Fix wierd build problems due to autopoint overwriting gnulib m4 (Daniel P. Berrange), Makefile.cfg: Rename to... (Jim Meyering), make .gnulib a submodule (Jim Meyering), make "make syntax-check" consistent with "git diff --check" (Jim Meyering), Minor qemu monitor coding style fixes (Mark McLoughlin), Prepare to use maint.mk from gnulib (Jim Meyering), Refactor incoming message handling to prepare for data stream support (Daniel P. Berrange), Refactor message sending to allow code reuse for data streams (Daniel P. Berrange), remove all .cvsignore files (Jim Meyering), remove all trailing blank lines (Jim Meyering), Remove some unused variables and cut long lines (Daniel Veillard), Remove trailing blank lines (Daniel Veillard), Rename a bunch of internal methods to clarify their meaning (Daniel P. Berrange), Rename 'direction' to 'type' in remote_message_header (Daniel P. Berrange), Report the object name on lookup error (Daniel Veillard), Simplify remote driver error reporting (Daniel P. Berrange), skip some of gnulib's new rules (Jim Meyering), use automake-1.11's silent-rules option, when possible (Jim Meyering), use gnumakefile and maintainer-makefile modules from gnulib (Jim Meyering)

### 0.6.5: Jul 3 2009

- New features: create storage columes on disk backend (Henrik Persson), drop of capabilities based on libcap-ng when possible (Daniel Berrange)
- Portability: fix build on non-Linux targets (Daniel Berrange)
- Documentation: typo and english fixes (Runa Bhattacharjee and Garry Dolley), Docs on extending APIs (Dave Allan), cleanup of debug and logging documentation (Amy Griffis), add HACKING doc to the website (Daniel Berrange), documentation for OpenNebula driver (Abel Miguez Rodriguez)
- Bug fixes: forbid autostart on transcient networks, xen device removal crash (Daniel Berrange), re-detection of transient VMs after libvirtd restart(Daniel Berrange), bug in virFindFileInPath (Daniel Berrange), handle new availheap sysctl in Xen (Daniel Berrange), allow USB hostdev product 0 (Cole Robinson), cleanup when creating a storage pool fails (Henrik Persson), domain id fix on redefinition in test driver (Cole Robinson), fix raw storage allocation (Cole Robinson), memory reporting for inactive qemu drivers (Cole Robinson), segfault if storage pool has no type attribute (Cole Robinson), OpenNebula compilation issues (Javier Fontan), dominfo command without security driver (Daniel Berrange), domain state problems after migration or destroy (Federico Simoncelli), leak in node device parsing (Dave Allan), storage pool definitions reading at startup (Cole Robinson), bogus WWN in NPIV support (David Allan), avoid a segfault with recent Xen (Sascha), cope with libnuma failures on weird topologies (Dan Berrange), crash in QEMU driver with bad capabilities data (Dan Berrange), trying to re-create a pool should not destroy it (Dave Allan), endless loop in node device XML dump (Cole Robinson), Re-label shared and readonly images (Dan Berrange)
- Improvements: create and destroy NPIV support (David Allan), networking in UML driver (Daniel Berrange), HAL driver restart thread safety (Daniel Berrange), capabilities and nodeinfo APIs for LXC (Daniel Berrange), iNUMA API for VBox (Daniel Berrange), dynamically search and use kvm-img qemu-img or qcow-create (Doug Goldstein), fix qemu and kvm version parsing (Mark McLoughlin), serial number for HAL storage (Dave Allan), improve error reporting for virConnectOpen URIs (Daniel Berrange), include OS driver name in device XML (Daniel Berrange), fix qemu command flags fetching (Cole Robinson), check that qemu support -drive format= (Cole Robinson), improve emulator detection (Cole Robinson), changes to config parser to accomodate VMX syntax (Matthias Bolte), update network schemas and driver for missing elements (Satoru SATOH), avoid changing file context if not needed (Tim Waugh), skip labelling if no src path (Cole Robinson), add arm emulation if qemu-system-arm is present (C.J. Adams-Collier)
- Cleanups: daemon check logging env variables (Daniel Berrange), User Mode Linux start and stop cleanups (Daniel Berrange), share the NUMA api implementations (Daniel Berrange), storage module dependancies (Dave Allan), refactor storage XML parsing (Cole Robinson), big cleanup of logging code (Amy Griffis), superfluous % on format (Matthias Bolte), cleanups and updates on OpenNebula driver (Daniel Berrange and Abel Miguez Rodriguez)

### 0.6.4: May 29 2009

- New features: new API virStorageVolCreateXMLFrom (Cole Robinson), full VBox graphic capabilities (Pritesh Kothari), Interface config APIs (Laine Stump), APIs for domain XML conversions (Daniel Berrange), initial version of OpenNebula driver (Abel Miguez Rodriguez)
- Portability: better compiler warning selection (Daniel Berrange), Win32 portability fixes (Daniel Berrange)
- Documentation: documentation for <sound> device XML format (Cole Robinson), storage format documentation fixes (Ryota Ozaki), docs for XML conversion APIs (Daniel Berrange), inconsistencies in storage volume docs and schemas (Ryota Ozaki)
- Bug fixes: fix hostdev managed handling (Mark McLoughlin), lxc_controller should not cash without args (Guido Gunther), bug fixes in I/O routines (Guido Gunther), fix migrationsave/restore for QEmu 0.10.0 (Daniel Berrange), avoid crash on VBox init (Guido Gunther), fix dev and cgroup init in LXC (Ryota Ozaki), QEmu startup fix (Cole Robinson), block node reboots from LXCs (Ryota Ozaki), QEmu argv detection fix for recent kvm (Daniel Berrange), fix watch/timer event deletion (Daniel Berrange), fix XML escaping bug, various locking bugs (Daniel Berrange), avoid a deadlock in HAL nodedev driver (Cole Robinson), detection of node device media insert/eject (Cole Robinson), broken networking with new QEMU/KVM >= 86 (Daniel Berrange), various fixes in domain and network startup error report (Cole Robinson), double free on unexpected client disconnect (Daniel Berrange)
- Improvements: cleanups and doc on virExec (Cole Robinson), error reporting in QEmu migrations (Cole Robinson), better path and driver detection in VBox (Pritesh Kothari), avoid caching QEMU driver capabilities(Cole Robinson), multiple graphics elements definitions (Pritesh Kothari), LSB init header init.d improvements (Frederik Himpe), special erro code for invalid operations (Daniel Berrange), dlopen error logging (Daniel Berrange), fix UUID and name uniqueness (Daniel Berrange), improvement on VBox initialization (Pritesh Kothari and Dan Berrange), "Host only" and "Internal" network in VBox (Pritesh Kothari), add utility virExecDaemonize (Cole Robinson), enable bridges without IP (Ludwig Nussel), 'make -s' silencing (Daniel Berrange), test case for exercising the event loop (Daniel Berrange), virsh commands vol-clone and vol-create-from (Cole Robinson), new xend don't use [] around cpumaps (Tatsuro Enokura), add the CIL mutex lock checker (Daniel Berrange), fix some LXC error code (Amy Griffis), virInterface python bindings (Daniel Berrange), fix to the example code for event handling (Pritesh Kothari), always add location informations to logging (Daniel Berrange), python domain events example and binding (Daniel Berrange), PPC Qemu Machine Type update (Thomas Baker)
- Cleanups: strings bug in virsh (Daniel Berrange), various cleanups in storage code (Cole Robinson), rpm spec cleanups, destructors data cleanups (Laine Stump), some QEmu code refactoring (Daniel Berrange), avoid dependancy on libcap (Daniel Berrange), python import cleanup (Cole Robinson), virAsprintf based cleanups in storage code (Cole Robinson), fix some direct stderr logging, OpenNebula driver cleanups (Daniel Berrange)

### 0.6.3: Apr 24 2009

- New features: VirtualBox driver support (Pritesh Kothari), virt-xml-validate new command (Daniel Berrange)
- Portability: patch to build on Centos (Joseph Shraibman), build breakage (Anton Protopopov),
- Documentation: Linux Containers documentation (Serge Hallyn), improvement and updates of architecture pages, fix virNodeGetFreeMemory documentation to reflect reality, man page cleanups (Daniel Berrange), man page typo (Robert P. J. Day), VirtualBox Documentation (Pritesh Kothari),
- Bug fixes: veth off-by-one error (Dan Smith), vcpupin to inactive Xen crash (Takahashi Tomohiro), virsh ttyconsole return value, use format= not fmt= on QEmu commandline (Mark McLoughlin), use UUID for internal domain lookups (Daniel Berrange), remote domain ID related bugs (Daniel Berrange), QEmu pidfile handling bugs (Daniel Berrange), network config handling on old Xen (Daniel Berrange)
- Improvements: add SCSI storage rescan (David Allan), rootless LXC containers support improvements (Serge Hallyn), getHostname support for LXC (Dan Smith), cleanup and logging output of some domain functions (Guido Günther), drop pool lock when allocating volumes (Cole Robinson), LXC handle kernel without CLONE_NEWUSER support (Serge Hallyn), cpu pinning on defined Xen domains (Takahashi Tomohiro), dynamic bridge names support (Soren Hansen), LXC use of private /dev/pts when available (Daniel Berrange), virNodeDeviceCreateXML and virNodeDeviceDestroy entry points (Dave Allan)
- Cleanups: don't hardcode getgrnam_r buffer to 1024 bytes (Guido Günther), qemudBuildCommandLine API cleanup (Daniel Berrange),

### 0.6.2: Apr 3 2009

- New features: support SASL auth for VNC server (Daniel Berrange), memory ballooning in QEMU (Daniel Berrange), SCSI HBA storage pool support (Dave Allan), PCI passthrough in Xen driver (Daniel Berrange)
- Portability: be more flexible in QEmu binaries paths (Daniel Berrange), Mingw portability fixes (Daniel Berrange),
- Documentation: add security attributes in RNG schemas, cleanup of architecture docs, missing disk bus values in RNG schemas,
- Bug fixes: tap vs vbd type on block detach (Cole Robinson and Takahashi Tomohiro), bad free on storage volume error (Daniel Berrange), maplenght computations in remote driver (Daniel Berrange), event dispatching in the daemon (Daniel Berrange), virDomainSetVcpus deadlock (Daniel Berrange), save deadlock in test driver (Cole Robinson), fix timing of security driver init (Cole Robinson), forbid readonly connections from dumping the XML safe info (Cole Robinson), file descriptor leak on remote access, fix labelling of shared/readonly devices (Dan Walsh), virsh missing auth on shell commands (Matthias Bolte), avoid zombie on exec pipe errors (Ryota Ozaki), memory leak in virNodeDeviceGetParent (Daniel Berrange), URI check in migration (Daniel Berrange), various memory bug fixes (Daniel Berrange), python bindings generator fix (Daniel Berrange), NUMA memory fixes (Daniel Berrange), various svirt fixes (Daniel Berrange), fix sparse volume allocation reporting (Cole Robinson), test driver domain restore return value (Cole Robinson), do not lose file format info on volume refresh (Cole Robinson)
- Improvements: get CPU usage info for LXC (Ryota Ozaki), fix domain RNG to add ac97 and tests (Pritesh Kothari), OpenVZ support for non-template filesystem root (Florian Vichot), improve arch capabilities generation (Daniel Berrange), modularization of spec file (Ryota Ozaki), better error reports in SEXPR generation (Daniel Berrange), support for vifname parameter in VIF config (Daniel Berrange), localtime handling for new xen (Daniel Berrange), error reporting/ verification of security labels (Dan Walsh), add --console arg for create and start virsh commands (Daniel Berrange), refresh volume alloc/capacity when dumping XML (Cole Robinson)
- Cleanups: FILE * leaks removal, unused parameters flagging (Maximilian Wilhelm), switch to pre-C99 struct initialization for drivers (Chris Lalancette), symlinks resolving cleanup (Daniel Berrange)

### 0.6.1: Mar 3 2009

- New features: new APIs for Node device detach reattach and reset (Mark McLoughlin), sVirt mandatory access control support (James Morris and Dan Walsh)
- Portability: non gcc toolchain (John Levon), gcc-4.4 warnings fixes (Mark McLoughlin), fix build without LXC and QEmu (Jim Meyering)
- Documentation: man page bugzilla URL (Mark McLoughlin), typo in domain format (Jesse Farinacci), clock offset fix (Mark McLoughlin), hostdev description typo (Mark McLoughlin), static host IP (Charles Duffy), new example program (David Allan)
- Bug fixes: NULL dereference in LXC (Jim Meyering), fix domain error reporting (John Levon), fix loop of libvirtd --timeout (Daniel Berrange), limit history to 500 to restrict virsh memory (Daniel Berrange), wrong lvm volume format check (Cole Robinson), I/O error in daemon and associated remote acces crash (Daniel Berrange), fix autostart of session daemon (Daniel Berrange), restart guest on qemu migration failures (Chris Lalancette), config parsing leaks (Ryota Ozaki), DBus multithreading activation to avoid crashes (Daniel Berrange), mark defined network descriptions as persistent (Cole Robinson), qemu+tls handshake negotiation hang (Chris Lalancette)
- Improvements: don't hardcode ssh port (Guido Günther), new test cases and testing infrastructure (Jim Meyering), improve the SExpr parser (John Levon), proper error reporting on xend shutdown command (John Levon), proper handling of errors when saving QEmu domains state (Guido Günther), revamp of the internal error memory APIs (John Levon), better virsh error reporting (John Levon), more daemon options to allow running multiple daemons (Jim Meyering), error handling when creating a QEmu domain (Guido Günther), fix timeouts in QEmu log reading (Guido Günther), migration with xend 3.3 fixes (John Levon), virsh XML dump flags cleanup (Cole Robinson), fix build with loadable drivers (Maximilian Wilhelm), internal XML APIs to read long long and hexa values (Mark McLoughlin), function to parse node device XML descriptions and associated test (Mark McLoughlin), generate network bridge names if not provided (Cole Robinson), recognize ejectable media in hostdev hal driver (Cole Robinson), integration of sVirt (Daniel Berrange)
- Cleanups: printf NULL string checks (John Levon), remove uses of strerror and use virStrerror (Jim Meyering), remove redundant NULL assignments (Jim Meyering), QEmu driver logging and exec cleanups (Jim Meyering), many error handling cleanups (Jim Meyering), XML module cleanups (Mark McLoughlin), compiler warning (Maximilian Wilhelm), daemon TCP listen cleanup (Cole Robinson), size_t type cleanup (Guido Günther), parallel make fix (Michael Marineau), storage error diagnostic fix (Ryota Ozaki), remove redundant monitor watch variable (Cole Robinson), qemu AttachDevice error report improvement (Cole Robinson), virsh output cleanup (Jim Meyering), various tests cleanups and improvements (Jim Meyering), fix the internal export list with new APIs (Daniel Berrange), cleanups on new APIs for Node device (Daniel Berrange)

### 0.6.0: Jan 31 2009

- New features: thread safety of the API and event handling (Daniel Berrange), allow QEmu domains to survive daemon restart (Guido Günther), extended logging capabilities, support copy-on-write storage volumes (Daniel Berrange), support of storage cache control options for QEmu/KVM (Daniel Berrange)
- Portability: fix old DBus API problem, Debian portability fix (Daniel Berrange), fix distcheck (Jim Meyering), build in debug mode (Jim Meyering), libnuma API portability (Jim Meyering), many portability fixes pointed by Solaris (John Levon), non-gcc portability fixes (John Levon), various include fixes (Jim Meyering), various Windows and Mingw portability fixes (Daniel Berrange), solaris Xen fixes (John Levon), RPC portability to Solaris (Daniel Berrange)
- Documentation: typo fixes (Richard Jones), logging support, vnc keymap attributes (Guido Günther), HACKING file updates (Jim Meyering), new PCI passthrough format, libvirt-qpid and UML driver documentation (Daniel Berrange), provide RNG schemas for all XML formats used in libvirt APIs (Daniel Berrange),
- Bug fixes: segfault on virtual network without bridge name (Cole Robinson), various locking fixes (Cole Robinson), fix serial and parallel devices on tcp/unix/telnet (Guido Günther), leak in daemon (Jim Meyering), storage driver segfault (Miloslav TrmaC), missing check in read-only connections (Daniel Berrange), OpenVZ crash and mutex fixes (Anton Protopopov), couple of daemon bug fixes (John Levon), OpenVZ MAC addresses generation (Evgeniy Sokolov), poll call initialization fix (Daniel Berrange), various Xen driver fixes (John Levon), segfault on device back compat (Cole Robinson), couple Xen bug fixes coming from RHEL (Markus Armbruster), buffer overflow in libvirt proxy (rasputin@email.ru), vnc port report (John Levon), repair save and restore on recent KVM versions (Daniel Berrange), Xen cpu pinning XML fix (John Levon), various xen driver fixes (Daniel Berrange), some memory leak fixes (Daniel Berrange)
- Improvements: driver infrastructure and locking (Daniel Berrange), Test driver infrastructure (Daniel Berrange), parallelism in the daemon and associated config (Daniel Berrange), virsh help cleanups (Jim Meyering), logrotate daemon logs (Guido Günther), more regression tests (Jim Meyering), QEmu SDL graphics (Itamar Heim), add --version flag to daemon (Dave Allan), memory consumption cleanup (Dave Allan), QEmu pid file and XML states for daemon restart (Guido Günther), gnulib updates (Jim Meyering and Dan Berrange), PCI passthrough for KVM (Jason Krieg), generic internal thread API (Daniel Berrange), RHEL-5 specific Xen configure option and code (Markus Armbruster), save domain state as string in status file (Guido Günther), add locking to all API entry points (Daniel Berrange), new ref counting APIs (Daniel Berrange), IP address for Xen bridges (John Levon), driver format for disk file types (Daniel Berrange), improve QEmu/KVM tun/tap performances (Mark McLoughlin), enable floppies for Xen fully virt (John Levon), support VNC password settings for QEmu/KVM (Daniel Berrange), qemu driver version reporting (Daniel Berrange)
- Cleanups: converting linked lists to arrays (Daniel Berrange), daemon RPC handling refactoring (Daniel Berrange), strings cleanups (Jim Meyering), gethostby* cleanup and test (Jim Meyering), some code fixes (Dave Allan), various code cleanup (Jim Meyering), virsh argument handling cleanup (Jim Meyering), virAsprintf cleanup replacement (Guido Günther), QEmu monitor reads (Cole Robinson), Makefile cleanups (Guido Günther), Xen code cleanups (John Levon), revamp of ELF export scripts (John Levon), domain event callback args (John Levon), enforce use of pid_t (John Levon), virsh pool-*-as XML code merge (Cole Robinson), xgettext warnings (Jim Meyering), add virKillProcess (Guido Günther), add virGetHostname (David Lutterkort), add flags argument to the full XML parsing stack (Guido Günther), various daemon code cleanups (Guido Günther), handling of daemon missing config file (Jim Meyering), rpcgen invocation cleanup (Richard Jones), devhelp builkd makefile cleanups (John Levon), update error handling for threading (Daniel Berrange), remove all non-rentrant POSIX calls usage (Daniel Berrange), many small cleanups (Jim Meyering and Daniel Berrange), examples Makefile generator (John Levon), mis-use of PF_UNIX as a protocol (John Levon), cleanup OOM error paths (Jim Meyering), temporary fix fro valgrind on lxc (Daniel Berrange), QEmu driver init cleanups (Daniel Berrange)

### 0.5.1: Dec 4 2008

- Portability: fix missing dep in spec file, fix compilation with new NUMA libraries (Daniel Berrange), udev compatibility for RHEL (Chris Lalancette),
- Documentation: documentation copy and paste errors and typo (Cole Robinson)
- Bug fixes: add a delay in storage backend for disks to show up (Chris Lalancette), fix parsing for CDRom device with no source (Daniel Berrange), use xenstore to list domains to avoid some bugs (Guido Günther), remove a leak in xen inotify code (Daniel Berrange), UML driver freeing of uninitialialized variable (Ron Yorston), fix UML inotify code (Daniel Berrange), crash when adding storage without a format (Cole Robinson)
- Improvements: use xend preferably to hypervisor call to set Xen max memory (Jim Fehlig), allow remote://hostname/ URI for automatic probe of hypervisors (Daniel Berrange), fix daemon configuration regression testing (Jim Meyering ), check /usr/bin/kvm for QEmu driver init (Guido Günther), proper active vs. inactive differentiation (Guido Günther), improve MTU setting on tap interfaces (Eduardo Habkost), increase timeout for initial QEmu monitor poll (Cole Robinson)
- Cleanups:fix improper initialisations (Jim Meyering)

### 0.5.0: Nov 25 2008

- New features: CPU and scheduler support for LXC (Dan Smith), SDL display configuration (Daniel Berrange), domain lifecycle event support for QEmu and Xen with python bindings (Ben Guthro and Daniel Berrange), KVM/QEmu migration support (Rich Jones and Chris Lalancette), User Mode Linux driver (Daniel Berrange), API for node device enumeration using HAL and DeviceKit with python bindings (David Lively),
- Portability: RHEL build fixes, VPATH build (Guido Gunther), many MinGW related cleanups and fixes (Richard Jones), compilation without libvirtd (Richard Jones), Add a Windows icon (Richard Jones), sys/poll.h portability fixes (Daniel Berrange), gnulib and mingw cleanups (Jim Meyering),
- Documentation: virsh man page cleanups (Mark McLoughlin), doc for NIC model selection (Richard Jones), monitoring section, link to AMQP bindings, inew APIs, UML driver docs (Daniel Berrange),
- Bug fixes: Xen interfaces ordering (Jim Fehlig), startup timeout with multiple pty (Cole Robinson), segfault if QEmu without active virtual network (Cole Robinson), qemu small leak (Eduardo Habkost), index creation for more than 26 disks (Sanjay Rao and Chris Wright), virRealloc handling of 0 (Daniel Berrange), missing pointer initialization (Chris Lalancette), bus device index bug (Guido Günther), avoid crash in some error patch (Chris Lalancette), fix a problem in storage back-end (Chris Lalancette), minimum domain memory size check for Xen (Shigeki Sakamoto), switch off QEmu cache if device is shared (Charles Duffy), logical volume definition before scan bug (Chris Lalancette), a couple of memory leaks on QEmu vnc (Jim Meyering), lvs parsing fixes (Cole Robinson),
- Improvements: LXC resources control and internal cgroup API (Dan Smith), virDomainCreateLinux renamed virDomainDefineXML, network driver modularization (Daniel Berrange), change the way domain and net are reported in errors (Jim Meyering), partition table scan on iSCSI (Chris Lalancette), qemudDiskDeviceName to handle normal disks (Guido Günther), qemudDomainBlockStats improvement (Guido Günther), scsi/virtio hotplug support for KVM (Guido Günther), USB hot addition in QEmu (Guido Günther), logical pool and storage backend XML dump improvement (Chris Lalancette), MAC addresses prefix per driver (Daniel Berrange), OpenVZ getVersion support (Daniel Berrange), hot removal of scsi/virtio disks for KVM (Guido Günther), test storage driver (Cole Robinson), iSCSI and disk storage driver improvement on path handling (Chris Lalancette), UUID and ID support for Xenner (Daniel Berrange), better logging when when executing commands (Cole Robinson), bridged network for OpenVZ (Daniel Berrange), OpenVZ config file params (Evgeniy Sokolov), allow to build drivers as libtool convenience libs (Daniel Berrange), fully versioned linker script for exported ABI (Daniel Berrange), Push URI probing down into drivers open (Daniel Berrange), move all stateful drivers into the daemon binary (Daniel Berrange), improve domain event with a detail field (Daniel Berrange), domain events for QEMU driver (Daniel Berrange), event unregister callback crash (David Lively), plug a few leaks (Daniel Berrange), internal APIs for handling node device XML config (David Lively), tweaks to node device implementation (Daniel Berrange), OpenVZ vCPUs values init (Evgeniy Sokolov)
- Cleanups: C99 initializers (Guido Gunther), test output (Cole Robinson), debug macro centralization (Cole Robinson), various error handling (Guido Günther), safewrite use cleanup (Jim Meyering), centralize error reporting logic (Cole Robinson), avoid printf warnings (Daniel Berrange), use arrays instead of list for internal APIs (Daniel Berrange), remove many format string warnings Jim Meyering), avoid syntax check warnings (Chris Lalancette), improve po-check and list generation (Jim Meyering), .gitignore generation and handling (Jim Meyering), use ARRAY_CARDINALITY (Jim Meyering), gnulib updates and switch to use netdb.h (Jim Meyering), drop usage of socket_errno (Jim Meyering), remove socketcompat.h (Jim Meyering), more tests (Jim Meyering), drop virStringList (Daniel Berrange), reformatting and isolation of the error APIs (Daniel Berrange), cleanup internal.h and move internal APIs in specific headers (Daniel Berrange), move domain events helpers into domain_events.c (Daniel Berrange), cleanup the way optional modules are compiled (Daniel Berrange), add new logging module, optional dlopen of drivers (Daniel Berrange), various new tests (Jim Meyering), cleanups when Xen is not configured in (Daniel Berrange), add some missing functions comments (Jim Meyering),

### 0.4.6: Sep 23 2008

- Documentation: fix some comments in API (Anton Protopopov), cleanup and extension of bindings and windows pages (Richard Jones)
- Portability: missing include file (Richard Jones)
- Bug fixes: avoid a segfault if missing qemu emulator (Cole Robinson), reading vncdisplay from xend domain (Cole Robinson), segfault in OpenVZ (Evgeniy Sokolov), fix parsing of pool without a source (Chris Lalancette and Daniel Berrange)
- Improvements: add storage disk volume delete (Cole Robinson), KVM dynamic max CPU detection (Guido Günther), spec file improvement for minimal builds (Ben Guthro), improved error message in XM configuration module (Richard Jones), network config in OpenVZ support (Evgeniy Sokolov), enable stopping a pool in logical storage backend and cleanup deletion of pool (Chris Lalancette)
- Cleanups: deadcode removal (Nguyen Anh Quynh), fix one test case (Daniel Berrange), various strings and space cleanups (Daniel Berrange), structure initialization cleanup (Chris Lalancette)

### 0.4.5: Sep 8 2008

- New features: NETNS support for Linux containers (Dan Smith), unified XML domain and network parsing for all drivers (Daniel Berrange), OpenVZ features improvements (Evgeniy Sokolov), OpenVZ and Linux containers support now default, USB device passthrough for QEmu/KVM (Guido Günther), storage pool source discovery (David Lively)
- Portability: fixes for MinGW (Atsushi SAKAI and Daniel Berrange), detection of xen lib improvement (David Lively), storage backend portability for SLES (David Lively), fix make distclean and distcheck (Jim Meyering), fix build failures on RHEL4, lot of MinGW portability fixes (Atsushi SAKAI and Daniel Berrange), HTML generation fix, -lpthread explicit linking when needed (Jim Meyering)
- Documentation: various typo fixes (Anton Protopopov, Toth István, Atsushi SAKAI, Nguyen Anh Quynh), Java bindings docs, remove Xen centric comments (Guido Günther), various typo in comments (Chris Lalancette), docs and API comments fixes (Charles Duffy), how to contribute to open source link (Richard Jones), memory unit fixups (matthew chan)
- Bug fixes: memory leaks and testing for OOM (Daniel Berrange), do_open driver bug(Evgeniy Sokolov), don't use polkit auth when running as non-root (Daniel Berrange), boot of CDRom devices in QEmu/KVM (Daniel Berrange), fix OpenVZ probe function (Evgeniy Sokolov), ID related lookup fixes in OpenVZ (Evgeniy Sokolov), pool cration for netfs (Cole Robinson), check for migrate support with QEmu (Guido Günther), check against double create with QEmu (Guido Günther), broken open failure detection in QEmu (Guido Günther), UUID string conversions in QEmu (Guido Günther), various small cleanup and bug fixes (Daniel Berrange), ID related fixes in the test driver (Daniel Berrange), better error reporting on XML parsing (Daniel Berrange), empty CD-ROM source device section (Chris Lalancette), avoid crashes for interface without a name in QEmu (Guido Günther), provide the real vncport (Charles Duffy), fix forward delay (Daniel Berrange), new VM state is initialized to be SHUTOFF (Daniel Berrange), virsh attach-disk bug fixes (Chris Lalancette), veth clash of device names (Dan Smith), connection lookup fixes on storage creation (Cole Robinson), parted call fix (Cole Robinson), use "server" option when using serial/telnet with QEmu (Mark McLoughlin), duplicate virInitialize calls (Nguyen Anh Quynh), many fixes to virExec and related functions (Daniel Berrange), size of disk without partitions (Cole Robinson), creating and cleaning up logical volumes with target path (Cole Robinson), fix reporting of virConnectOpen problems (Daniel Berrange), veth cleanup at shutdown (Dan Smith), lookup of Xen VMs after define (Cole Robinson), fix emulator reported capabilities (Cole Robinson), avoid segfault on KVM CD eject (Cole Robinson), fix disk ordering and avoid duplicate in QEmu XML parsing (Cole Robinson), update domain XML after device hotplug (Cole Robinson), use poweroff instead of halt when shutting down a Xen domain (John Levon), don't dump core of Xen domain live by default (John Levon), vgcreate command line size bug (Jim Fehlig), signed/unsigned issue in probing file (Cole Robinson), Fix Xen domains without PVFB console (Daniel Berrange), OpenVZ config read bug fix (Evgeniy Sokolov).
- Improvements: improved failure diagnostic for TAP (Jim Meyering), better exec and error diagnostic for OpenVZ commands (Evgeniy Sokolov), OpenVZ auto start and stop of domains (Evgeniy Sokolov), OpenVZ domain cpu time consumption (Evgeniy Sokolov), virsh shutdown improvements and test (Jim Meyering), better report of XML well formedness errors (Richard Jones), new XML elements (Daniel Berrange), virsh "edit" command (Richard Jones), save UUID of OpenVZ domains (Evgeniy Sokolov), improve xen blocks statistics (Chris Lalancette), gnulib updates (Jim Meyering), allow to add disk as USB devices (Guido Günther), LXC container process should survive libvirtd restarts (Daniel Berrange), allow to define static host domain configs, number of CPU used by OpenVZ domains (Evgeniy Sokolov), private root fs for LXC (Daniel Berrange), storage source information in storage pools (David Lively), virsh reports attach and detach success (Cole Robinson), detect failure in QEmu eject command (Cole Robinson), add support for eect on floppy and SCSI cdroms for QEmu (Cole Robinson), LXC hypervisor version extraction (Dan Smith), Augeas config file support (Daniel Berrange), support for a domain name in network config (JJ Reynolds).
- Cleanups: Python verbosity cleanup (Ryan Scott), space and tabs cleanups (Atsushi SAKAI), OpenVZ and LXC drivers cleanup and unification of XML handling (Daniel Berrange), updates to Relax-NG XML schemas (John Levon and Daniel Berrange), more printf format checkings (Jim Meyering), VIR_FREE related cleanups (Jim Meyering), integer string parsing cleanup (Evgeniy Sokolov), initial OpenVZ xml refactoring (Evgeniy Sokolov), better error message on domain redefine (Charles Duffy), check XML files against the RNG Schemas (Daniel Berrange), const-correctness in virsh (Richard Jones and Jim Meyering), const-correctness and cleanups in LXC and OpenVZ drivers (Daniel Berrange), virFileLinkPointsTo rewrite (Jim Meyering), cleanup of the conditional compilation of C files (Daniel Berrange), shell quoting fixes (Jim Meyering), parallel build support (James Morris and Jim Meyering), new convenenience virFileReadLimFD function (Jim Meyering).

### 0.4.4: Jun 25 2008

- Bug fixes: QEmu network serialization (Kaitlin Rupert), internal memory allocation fixes (Chris Lalancette Jim Meyering), virsh large file config problem (Jim Meyering), xen list APIs when max is zero, string escape problems in the xm driver
- Improvements: add autogen to tarballs, improve iSCSI support (Chris Lalancette), localization updates
- Cleanups: const-ness fixed (Daniel P. Berrange), string helpers for enumeations (Daniel P. Berrange)

### 0.4.3: Jun 12 2008

- New features: Linux Container start and stop (Dave Leskovec), Network interface model settings (Daniel Berrange),serial and parallel device support for QEmu and Xen (Daniel Berrange), Sound support for QEmu and Xen (Cole Robinson), vCPU settings for QEmu (Cole Robinson), support for NUMA and vCPU pinning in QEmu (Daniel Berrange), new virDomainBlockPeek API (Richard Jones)
- Documentation: coding guidelines (Jim Meyering and Richard Jones), small man page missing entries and cleanup, Web site revamp (Daniel Berrange), typo fixes (Atsushi SAKAI), more docs on network XML format (Daniel Berrange), libvirt Wiki (Daniel Berrange), policykit config docs (Cole Robinson), XML domain docs revamp (Daniel Berrange), docs for remote listen-tls/tcp fixes (Kenneth Nagin),
- Bug fixes: save change to config file for Xen (Ryan Scott), fix /var/run/libvirt/ group ownership (Anton Protopopov), ancient libparted workaround (Soren Hansen), out of bount array access (Daniel Berrange), remote check bug (Dave Leskovec), LXC signal and daemon restart problems (Dave Leskovec), bus selection logic fix in the daemon config (Daniel Berrange), 2 memory leaks in the daemon (Jim Meyering), daemon pid file logic bug fix (Daniel Berrange), python generator fixes (Daniel Berrange), ivarious leaks and memory problem pointed by valgrind (Daniel Berrange), iptables forwarding cleanup (Daniel Berrange), Xen cpuset value checking (Hiroyuki Kaguchi), container process checks for LXC (Dave Leskovec), let xend check block device syntax (Hiroyuki Kaguchi), UUIDString for python fixes (Cole Robinson)
- Improvements: fixes for MinGW compilation (Richard Jones), autostart for running Xen domains (Cole Robinson), control of listening IP for daemon (Stefan de Konink), various Xenner related fixes and improvements (Daniel Berrange) autostart status printed in virsh domainfo (Shigeki Sakamoto), better error messages for xend driver (Richard Jones)
- Code cleanups: OpenVZ compilation (Richard Jones), conn dom and net fields deprecation in error structures (Richard Jones), Xen-ism on UUID (Richard Jones), add missing .pod to dist (Richard Jones), tab cleanup from sources (Jim Meyering), remove unused field in virsh control structure (Richard Jones), compilation without pthread.h (Jim Meyering), cleanup of tests (Daniel Berrange), syntax-check improvements (Jim Meyering), python cleanup, remove dependancy on libc is_* character tests (Jim Meyering), format related cleanups (Jim Meyering), cleanup of the buffer internal APIs (Daniel Berrange), conversion to the new memory allocation API (Daniel Berrange), lcov coverage testing (Daniel Berrange), gnulib updates (Jim Meyering), compatibility fix with RHEL 5 (Daniel Berrange), SuSE compatibility fix (Jim Fehlig), const'ification of a number of structures (Jim Meyering), string comparison macro cleanups (Daniel Berrange), character range testing cleanups and assorted bug fixes (Jim Meyering), QEmu test fixes (Daniel Berrange), configure macro cleanup (Daniel Berrange), refactor QEmu command line building code (Daniel Berrange), type punning warning in remote code (Richard Jones), refactoring of internal headers (Richard Jones), generic out of memory testing and associated bug fixes (Daniel Berrange), don't raise internal error for unsupported features (Kaitlin Rupert), missing driver entry points (Daniel Berrange)

### 0.4.2: Apr 8 2008

- New features: memory operation for QEmu/KVM driver (Cole Robinson), new routed networking schemas (Mads Olesen)
- Documentation: storage documentation fixes (Atsushi Sakai), many typo cleanups (Atsushi Sakai), string fixes (Francesco Tombolini)
- Bug fixes: pointer errors in qemu (Jim Meyering), iSCSI login fix (Chris Lalancette), well formedness error in test driver capabilities (Cole Robinson), fixes cleanup code when daemon exits (Daniel Berrange), CD Rom change on live QEmu/KVM domains (Cole Robinson), setting scheduler parameter is forbidden for read-only (Saori Fukuta)i, fixes for TAP devices (Daniel Berrange), assorted storage driver fixes (Daniel Berrange), Makefile fixes (Jim Meyering), Xen-3.2 hypercall fix, fix iptables rules to avoid blocking traffic within virtual network (Daniel Berrange), XML output fix for directory pools (Daniel Berrange), remove dandling domain/net/conn pointers from error data, do not ask polkit auth when root (Daniel Berrange), handling of fork and pipe errors when starting the daemon (Richard Jones)
- Improvements: better validation of MAC addresses (Jim Meyering and Hiroyuki Kaguchi), virsh vcpupin error report (Shigeki Sakamoto), keep boot tag on HVM domains (Cole Robinson), virsh non-root should not be limited to read only anymore (Daniel Berrange), switch to polkit-auth from polkit-grant (Daniel Berrange), better handling of missing SElinux data (Daniel Berrange and Jim Meyering), cleanup of the connection opening logic (Daniel Berrange), first bits of Linux Containers support (Dave Leskovec), scheduler API support via xend (Saori Fukuta), improvement of the testing framework and first tests (Jim Meyering), missing error messages from virsh parameters validation (Shigeki Sakamoto), improve support of older iscsiadm command (Chris Lalancette), move linux container support in the daemon (Dan Berrange), older awk implementation support (Mike Gerdts), NUMA support in test driver (Cole Robinson), xen and hvm added to test driver capabilities (Cole Robinson)
- Code cleanup: remove unused getopt header (Jim Meyering), mark more strings as translatable (Guido Günther and Jim Meyering), convert error strings to something meaningful and translatable (Jim Meyering), Linux Containers code cleanup, last error initializer (Guido Günther)

### 0.4.1: Mar 3 2008

- New features: build on MacOSX (Richard Jones), storage management (Daniel Berrange), Xenner - Xen on KVM - support (Daniel Berrange)
- Documentation: Fix of various typos (Atsushi SAKAI), memory and vcpu settings details (Richard Jones), ethernet bridging typo (Maxwell Bottiger), add storage APIs documentation (Daniel Berrange)
- Bug fixes: OpenVZ code compilation (Mikhail Pokidko), crash in policykit auth handling (Daniel Berrange), large config files (Daniel Berrange), cpumap hypercall size (Saori Fukuta), crash in remote auth (Daniel Berrange), ssh args error (Daniel Berrange), preserve vif order from config files (Hiroyuki Kaguchi), invalid pointer access (Jim Meyering), virDomainGetXMLDesc flag handling, device name conversion on stats (Daniel Berrange), double mutex lock (Daniel Berrange), config file reading crashes (Guido Guenther), xenUnifiedDomainSuspend bug (Marcus Meissner), do not crash if /sys/hypervisor/capabilities is missing (Mark McLoughlin), virHashRemoveSet bug (Hiroyuki Kaguchi), close-on-exec flag for qemud signal pipe (Daniel Berrange), double free in OpenVZ (Anton Protopopov), handle mac without addresses (Shigeki Sakamoto), MAC addresses checks (Shigeki Sakamoto and Richard Jones), allow to read non-seekable files (Jim Meyering)
- Improvements: Windows build (Richard Jones), KVM/QEmu shutdown (Guido Guenther), catch virExec output on debug (Mark McLoughlin), integration of iptables and lokkit (Mark McLoughlin), keymap parameter for VNC servers (Daniel Hokka Zakrisson), enable debug by default using VIR_DEBUG (Daniel Berrange), xen 3.2 fixes (Daniel Berrange), Python bindings for VCPU and scheduling (Daniel Berrange), framework for automatic code syntax checks (Jim Meyering), allow kernel+initrd setup in Xen PV (Daniel Berrange), allow change of Disk/NIC of an inactive domains (Shigeki Sakamoto), virsh commands to manipulate and create storage(Daniel Berrange), update use of PolicyKit APIs, better detection of fedault hypervisor, block device statistics for QEmu/KVM (Richard Jones), various improvements for Xenner (Daniel Berrange)
- Code cleanups: avoid warnings (Daniel Berrange), virRun helper function (Dan Berrange), iptable code fixes (Mark McLoughlin), static and const cleanups (Jim Meyering), malloc and python cleanups (Jim Meyering), xstrtol_ull and xstrtol_ll functions (Daniel Berrange), remove no-op networking from OpenVZ (Daniel Berrange), python generator cleanups (Daniel Berrange), cleanup ref counting (Daniel Berrange), remove uninitialized warnings (Jim Meyering), cleanup configure for RHEL4 (Daniel Berrange), CR/LF cleanups (Richard Jones), various automatic code check and associated cleanups (Jim Meyering), various memory leaks (Jim Meyering), fix compilation when building without Xen (Guido Guenther), mark translatables strings (Jim Meyering), use virBufferAddLit for constant strings (Jim Meyering), fix make distcheck (Jim Meyering), return values for python bindings (Cole Robinson), trailing blanks fixes (Jim Meyering), gcc-4.3.0 fixes (Mark McLoughlin), use safe read and write routines (Jim Meyering), refactoring of code dealing with hypervisor capabilities (Daniel Berrange), qemudReportError to use virErrorMsg (Cole Robinson), intemediate library and Makefiles for compiling static and coverage rule support (Jim Meyering), cleanup of various leaks (Jim Meyering)

### 0.4.0: Dec 18 2007

- New features: Compilation on Windows cygwin/mingw (Richard Jones), Ruby bindings (David Lutterkort), SASL based authentication for libvirt remote support (Daniel Berrange), PolicyKit authentication (Daniel Berrange)
- Documentation: example files for QEMU and libvirtd configuations (Daniel Berrange), english cleanups (Jim Paris), CIM and OpenVZ references, document <shareable/>, daemon startup when using QEMU/KVM, document HV support for new NUMA calls (Richard Jones), various english fixes (Bruce Montague), OCaml docs links (Richard Jones), describe the various bindings add Ruby link, Windows support page (Richard Jones), authentication documentation updates (Daniel Berrange)
- Bug fixes: NUMA topology error handling (Beth Kon), NUMA topology cells without CPU (Beth Kon), XML to/from XM bridge config (Daniel Berrange), XM processing of vnc parameters (Daniel Berrange), Reset migration source after failure (Jim Paris), negative integer in config (Tatsuro Enokura), zero terminating string buffer, detect integer overflow (Jim Meyering), QEmu command line ending fixes (Daniel Berrange), recursion problem in the daemon (Daniel Berrange), HVM domain with CDRom (Masayuki Sunou), off by one error in NUMA cpu count (Beth Kon), avoid xend errors when adding disks (Masayuki Sunou), compile error (Chris Lalancette), transposed fwrite args (Jim Meyering), compile without xen and on solaris (Jim Paris), parsing of interface names (Richard Jones), overflow for starts on 32bits (Daniel Berrange), fix problems in error reporting (Saori Fukuta), wrong call to brSetForwardDelay changed to brSetEnableSTP (Richard Jones), allow shareable disk in old Xen, fix wrong certificate file (Jim Meyering), avoid some startup error when non-root, off-by-1 buffer NULL termination (Daniel Berrange), various string allocation fixes (Daniel Berrange), avoid problems with vnetXXX interfaces in domain dumps (Daniel Berrange), build fixes for RHEL (Daniel Berrange), virsh prompt should not depend on uid (Richard Jones), fix scaping of '<' (Richard Jones), fix detach-disk on Xen tap devices (Saori Fukuta), CPU parameter setting in XM config (Saori Fukuta), credential handling fixes (Daniel Berrange), fix compatibility with Xen 3.2.0 (Daniel Berrange)
- Improvements: /etc/libvirt/qemu.conf configuration for QEMU driver (Daniel Berrange), NUMA cpu pinning in config files (DV and Saori Fukuta), CDRom media change in KVM/QEMU (Daniel Berrange), tests for <shareable/> in configs, pinning inactive domains for Xen 3.0.3 (Saori Fukuta), use gnulib for portability enhancement (Jim Meyering), --without-libvirtd config option (Richard Jones), Python bindings for NUMA, add extra utility functions to buffer (Richard Jones), separate qparams module for handling query parameters (Richard Jones)
- Code cleanups: remove virDomainRestart from API as it was never used (Richard Jones), constify params for attach/detach APIs (Daniel Berrange), gcc printf attribute checkings (Jim Meyering), refactoring of device parsing code and shell escaping (Daniel Berrange), virsh schedinfo parameters validation (Masayuki Sunou), Avoid risk of format string abuse (Jim Meyering), integer parsing cleanups (Jim Meyering), build out of the source tree (Jim Meyering), URI parsing refactoring (Richard Jones), failed strdup/malloc handling (Jim Meyering), Make "make distcheck" work (Jim Meyering), improve xen internall error reports (Richard Jones), cleanup of the daemon remote code (Daniel Berrange), rename error VIR_FROM_LINUX to VIR_FROM_STATS_LINUX (Richard Jones), don't compile the proxy if without Xen (Richard Jones), fix paths when configuring for /usr prefix, improve error reporting code (Jim Meyering), detect heap allocation failure (Jim Meyering), disable xen sexpr parsing code if Xen is disabled (Daniel Berrange), cleanup of the GetType entry point for Xen drivers, move some QEmu path handling to generic module (Daniel Berrange), many code cleanups related to the Windows port (Richard Jones), disable the proxy if using PolicyKit, readline availability detection, test libvirtd's config-processing code (Jim Meyering), use a variable name as sizeof argument (Jim Meyering)

### 0.3.3: Sep 30 2007

- New features: Avahi mDNS daemon export (Daniel Berrange), NUMA support (Beth Kan)
- Documentation: cleanups (Toth Istvan), typos (Eduardo Pereira),
- Bug fixes: memory corruption on large dumps (Masayuki Sunou), fix virsh vncdisplay command exit (Masayuki Sunou), Fix network stats TX/RX result (Richard Jones), warning on Xen 3.0.3 (Richard Jones), missing buffer check in virDomainXMLDevID (Hugh Brock), avoid zombies when using remote (Daniel Berrange), xend connection error message (Richard Jones), avoid ssh tty prompt (Daniel Berrange), username handling for remote URIs (Fabian Deutsch), fix potential crash on multiple input XML tags (Daniel Berrange), Solaris Xen hypercalls fixup (Mark Johnson)
- Improvements: OpenVZ support (Shuveb Hussain and Anoop Cyriac), CD-Rom reload on XEn (Hugh Brock), PXE boot got QEmu/KVM (Daniel Berrange), QEmu socket permissions customization (Daniel Berrange), more QEmu support (Richard Jones), better path detection for qemu and dnsmasq (Richard Jones), QEmu flags are per-Domain (Daniel Berrange), virsh freecell command, Solaris portability fixes (Mark Johnson), default bootloader support (Daniel Berrange), new virNodeGetFreeMemory API, vncpasswd extraction in configuration files if secure (Mark Johnson and Daniel Berrange), Python bindings for block and interface statistics
- Code cleanups: virDrvOpenRemoteFlags definition (Richard Jones), configure tests and output (Daniel Berrange)

### 0.3.2: Aug 21 2007

- New features: KVM migration and save/restore (Jim Paris), added API for migration (Richard Jones), added APIs for block device and interface statistic (Richard Jones).
- Documentation: examples for XML network APIs, fix typo and schedinfo synopsis in man page (Atsushi SAKAI), hypervisor support page update (Richard Jones).
- Bug fixes: remove a couple of leaks in QEmu/KVM backend(Daniel berrange), fix GnuTLS 1.0 compatibility (Richard Jones), --config/-f option mistake for libvirtd (Richard Jones), remove leak in QEmu backend (Jim Paris), fix some QEmu communication bugs (Jim Paris), UUID lookup though proxy fix, setvcpus checking bugs (with Atsushi SAKAI), int checking in virsh parameters (with Masayuki Sunou), deny devices attach/detach for < Xen 3.0.4 (Masayuki Sunou), XenStore query memory leak (Masayuki Sunou), virsh schedinfo cleanup (Saori Fukuta).
- Improvement: virsh new ttyconsole command, networking API implementation for test driver (Daniel berrange), qemu/kvm feature reporting of ACPI/APIC (David Lutterkort), checking of QEmu architectures (Daniel berrange), improve devices XML errors reporting (Masayuki Sunou), speedup of domain queries on Xen (Daniel berrange), augment XML dumps with interface devices names (Richard Jones), internal API to query drivers for features (Richard Jones).
- Cleanups: Improve virNodeGetInfo implentation (Daniel berrange), general UUID code cleanup (Daniel berrange), fix API generator file selection.

### 0.3.1: Jul 24 2007

- Documentation: index to remote page, script to test certificates, IPv6 remote support docs (Daniel Berrange), document VIRSH_DEFAULT_CONNECT_URI in virsh man page (David Lutterkort), Relax-NG early grammar for the network XML (David Lutterkort)
- Bug fixes: leaks in disk XML parsing (Masayuki Sunou), hypervisor alignment call problems on PPC64 (Christian Ehrhardt), dead client registration in daemon event loop (Daniel Berrange), double free in error handling (Daniel Berrange), close on exec for log file descriptors in the daemon (Daniel Berrange), avoid caching problem in remote daemon (Daniel Berrange), avoid crash after QEmu domain failure (Daniel Berrange)
- Improvements: checks of x509 certificates and keys (Daniel Berrange), error reports in the daemon (Daniel Berrange), checking of Ethernet MAC addresses in XML configs (Masayuki Sunou), support for a new clock switch between UTC and localtime (Daniel Berrange), early version of OpenVZ support (Shuveb Hussain), support for input devices on PS/2 and USB buses (Daniel Berrange), more tests especially the QEmu support (Daniel Berrange), range check in credit scheduler (with Saori Fukuta and Atsushi Sakai), add support for listen VNC parameter un QEmu and fix command line arg (Daniel Berrange)
- Cleanups: debug tracing (Richard Jones), removal of --with-qemud-pid-file (Richard Jones), remove unused virDeviceMode, new util module for code shared between drivers (Shuveb Hussain), xen header location detection (Richard Jones)

### 0.3.0: Jul 9 2007

- Secure Remote support (Richard Jones). See the remote page of the documentation
- Documentation: remote support (Richard Jones), description of the URI connection strings (Richard Jones), update of virsh man page, matrix of libvirt API/hypervisor support with version information (Richard Jones)
- Bug fixes: examples Makefile.am generation (Richard Jones), SetMem fix (Mark Johnson), URI handling and ordering of drivers (Daniel Berrange), fix virsh help without hypervisor (Richard Jones), id marshalling fix (Daniel Berrange), fix virConnectGetMaxVcpus on remote (Richard Jones), avoid a realloc leak (Jim Meyering), scheduler parameters handling for Xen (Richard Jones), various early remote bug fixes (Richard Jones), remove virsh leaks of domains references (Masayuki Sunou), configCache refill bug (Richard Jones), fix XML serialization bugs
- Improvements: QEmu switch to XDR-based protocol (Dan Berrange), device attach/detach commands (Masayuki Sunou), OCaml bindings (Richard Jones), new entry points virDomainGetConnect and virNetworkGetConnect useful for bindings (Richard Jones), reunitifaction of remote and qemu daemon under a single libvirtd with a config file (Daniel Berrange)
- Cleanups: parsing of connection URIs (Richard Jones), messages from virsh (Saori Fukuta), Coverage files (Daniel Berrange), Solaris fixes (Mark Johnson), avoid [r]index calls (Richard Jones), release information in Xen backend, virsh cpupin command cleanups (Masayuki Sunou), xen:/// support as standard Xen URI (Richard Jones and Daniel Berrange), improve driver selection/decline mechanism (Richard Jones), error reporting on XML dump (Richard Jones), Remove unused virDomainKernel structure (Richard Jones), daemon event loop event handling (Daniel Berrange), various unifications cleanup in the daemon merging (Daniel Berrange), internal file and timer monitoring API (Daniel Berrange), remove libsysfs dependancy, call brctl program directly (Daniel Berrange), virBuffer functions cleanups (Richard Jones), make init script LSB compliant, error handling on lookup functions (Richard Jones), remove internal virGetDomainByID (Richard Jones), revamp of xen subdrivers interfaces (Richard Jones)
- Localization updates

### 0.2.3: Jun 8 2007

- Documentation: documentation for upcoming remote access (Richard Jones), virConnectNumOfDefinedDomains doc (Jan Michael), virsh help messages for dumpxml and net-dumpxml (Chris Wright),
- Bug fixes: RelaxNG schemas regexp fix (Robin Green), RelaxNG arch bug (Mark McLoughlin), large buffers bug fixes (Shigeki Sakamoto), error on out of memory condition (Shigeki Sakamoto), virshStrdup fix, non-root driver when using Xen bug (Richard Jones), use --strict-order when running dnsmasq (Daniel Berrange), virbr0 weirdness on restart (Mark McLoughlin), keep connection error messages (Richard Jones), increase QEmu read buffer on help (Daniel Berrange), rpm dependance on dnsmasq (Daniel Berrange), fix XML boot device syntax (Daniel Berrange), QEmu memory bug (Daniel Berrange), memory leak fix (Masayuki Sunou), fix compiler flags (Richard Jones), remove type ioemu on recent Xen HVM for paravirt drivers (Saori Fukuta), uninitialized string bug (Masayuki Sunou), allow init even if the daemon is not running, XML to config fix (Daniel Berrange)
- Improvements: add a special error class for the test module (Richard Jones), virConnectGetCapabilities on proxy (Richard Jones), allow network driver to decline usage (Richard Jones), extend error messages for upcoming remote access (Richard Jones), on_reboot support for QEmu (Daniel Berrange), save daemon output in a log file (Daniel Berrange), xenXMDomainDefineXML can override guest config (Hugh Brock), add attach-device and detach-device commands to virsh (Masayuki Sunou and Mark McLoughlin and Richard Jones), make virGetVersion case insensitive and Python bindings (Richard Jones), new scheduler API (Atsushi SAKAI), localizations updates, add logging option for virsh (Nobuhiro Itou), allow arguments to be passed to bootloader (Hugh Brock), increase the test suite (Daniel Berrange and Hugh Brock)
- Cleanups: Remove VIR_DRV_OPEN_QUIET (Richard Jones), disable xm_internal.c for Xen > 3.0.3 (Daniel Berrange), unused fields in _virDomain (Richard Jones), export __virGetDomain and __virGetNetwork for libvirtd only (Richard Jones), ignore old VNC config for HVM on recent Xen (Daniel Berrange), various code cleanups, -Werror cleanup (Hugh Brock)

### 0.2.2: Apr 17 2007

- Documentation: fix errors due to Amaya (with Simon Hernandez), virsh uses kB not bytes (Atsushi SAKAI), add command line help to qemud (Richard Jones), xenUnifiedRegister docs (Atsushi SAKAI), strings typos (Nikolay Sivov), ilocalization probalem raised by Thomas Canniot
- Bug fixes: virsh memory values test (Masayuki Sunou), operations without libvirt_qemud (Atsushi SAKAI), fix spec file (Florian La Roche, Jeremy Katz, Michael Schwendt), direct hypervisor call (Atsushi SAKAI), buffer overflow on qemu networking command (Daniel Berrange), buffer overflow in quemud (Daniel Berrange), virsh vcpupin bug (Masayuki Sunou), host PAE detections and strcuctures size (Richard Jones), Xen PAE flag handling (Daniel Berrange), bridged config configuration (Daniel Berrange), erroneous XEN_V2_OP_SETMAXMEM value (Masayuki Sunou), memory free error (Mark McLoughlin), set VIR_CONNECT_RO on read-only connections (S.Sakamoto), avoid memory explosion bug (Daniel Berrange), integer overflow for qemu CPU time (Daniel Berrange), QEMU binary path check (Daniel Berrange)
- Cleanups: remove some global variables (Jim Meyering), printf-style functions checks (Jim Meyering), better virsh error messages, increase compiler checkings and security (Daniel Berrange), virBufferGrow usage and docs, use calloc instead of malloc/memset, replace all sprintf by snprintf, avoid configure clobbering user's CTAGS (Jim Meyering), signal handler error cleanup (Richard Jones), iptables internal code claenup (Mark McLoughlin), unified Xen driver (Richard Jones), cleanup XPath libxml2 calls, IPTables rules tightening (Daniel Berrange),
- Improvements: more regression tests on XML (Daniel Berrange), Python bindings now generate exception in error cases (Richard Jones), Python bindings for vir*GetAutoStart (Daniel Berrange), handling of CD-Rom device without device name (Nobuhiro Itou), fix hypervisor call to work with Xen 3.0.5 (Daniel Berrange), DomainGetOSType for inactive domains (Daniel Berrange), multiple boot devices for HVM (Daniel Berrange),

### 0.2.1: Mar 16 2007

- Various internal cleanups (Richard Jones,Daniel Berrange,Mark McLoughlin)
- Bug fixes: libvirt_qemud daemon path (Daniel Berrange), libvirt config directory (Daniel Berrange and Mark McLoughlin), memory leak in qemud (Mark), various fixes on network support (Mark), avoid Xen domain zombies on device hotplug errors (Daniel Berrange), various fixes on qemud (Mark), args parsing (Richard Jones), virsh -t argument (Saori Fukuta), avoid virsh crash on TAB key (Daniel Berrange), detect xend operation failures (Kazuki Mizushima), don't listen on null socket (Rich Jones), read-only socket cleanup (Rich Jones), use of vnc port 5900 (Nobuhiro Itou), assorted networking fixes (Daniel Berrange), shutoff and shutdown mismatches (Kazuki Mizushima), unlimited memory handling (Atsushi SAKAI), python binding fixes (Tatsuro Enokura)
- Build and portability fixes: IA64 fixes (Atsushi SAKAI), dependancies and build (Daniel Berrange), fix xend port detection (Daniel Berrange), icompile time warnings (Mark), avoid const related compiler warnings (Daniel Berrange), automated builds (Daniel Berrange), pointer/int mismatch (Richard Jones), configure time selection of drivers, libvirt spec hacking (Daniel Berrange)
- Add support for network autostart and init scripts (Mark McLoughlin)
- New API virConnectGetCapabilities() to detect the virtualization capabilities of a host (Richard Jones)
- Minor improvements: qemud signal handling (Mark), don't shutdown or reboot domain0 (Kazuki Mizushima), QEmu version autodetection (Daniel Berrange), network UUIDs (Mark), speed up UUID domain lookups (Tatsuro Enokura and Daniel Berrange), support for paused QEmu CPU (Daniel Berrange), keymap VNC attribute support (Takahashi Tomohiro and Daniel Berrange), maximum number of virtual CPU (Masayuki Sunou), virtsh --readonly option (Rich Jones), python bindings for new functions (Daniel Berrange)
- Documentation updates especially on the XML formats

### 0.2.0: Feb 14 2007

- Various internal cleanups (Mark McLoughlin, Richard Jones, Daniel Berrange, Karel Zak)
- Bug fixes: avoid a crash in connect (Daniel Berrange), virsh args parsing (Richard Jones)
- Add support for QEmu and KVM virtualization (Daniel Berrange)
- Add support for network configuration (Mark McLoughlin)
- Minor improvements: regression testing (Daniel Berrange), localization string updates

### 0.1.11: Jan 22 2007

- Finish XML <-> XM config files support
- Remove memory leak when freeing virConf objects
- Finishing inactive domain support (Daniel Berrange)
- Added a Relax-NG schemas to check XML instances

### 0.1.10: Dec 20 2006

- more localizations
- bug fixes: VCPU info breakages on xen 3.0.3, xenDaemonListDomains buffer overflow (Daniel Berrange), reference count bug when creating Xen domains (Daniel Berrange).
- improvements: support graphic framebuffer for Xen paravirt (Daniel Berrange), VNC listen IP range support (Daniel Berrange), support for default Xen config files and inactive domains of 3.0.4 (Daniel Berrange).

### 0.1.9: Nov 29 2006

- python bindings: release interpeter lock when calling C (Daniel Berrange)
- don't raise HTTP error when looking information for a domain
- some refactoring to use the driver for all entry points
- better error reporting (Daniel Berrange)
- fix OS reporting when running as non-root
- provide XML parsing errors
- extension of the test framework (Daniel Berrange)
- fix the reconnect regression test
- python bindings: Domain instances now link to the Connect to avoid garbage collection and disconnect
- separate the notion of maximum memory and current use at the XML level
- Fix a memory leak (Daniel Berrange)
- add support for shareable drives
- add support for non-bridge style networking configs for guests(Daniel Berrange)
- python bindings: fix unsigned long marshalling (Daniel Berrange)
- new config APIs virConfNew() and virConfSetValue() to build configs from scratch
- hot plug device support based on Michel Ponceau patch
- added support for inactive domains, new APIs, various associated cleanup (Daniel Berrange)
- special device model for HVM guests (Daniel Berrange)
- add API to dump core of domains (but requires a patched xend)
- pygrub bootloader information take over <os> information
- updated the localization strings

### 0.1.8: Oct 16 2006

- Bug for system with page size != 4k
- vcpu number initialization (Philippe Berthault)
- don't label crashed domains as shut off (Peter Vetere)
- fix virsh man page (Noriko Mizumoto)
- blktapdd support for alternate drivers like blktap (Daniel Berrange)
- memory leak fixes (xend interface and XML parsing) (Daniel Berrange)
- compile fix
- mlock/munlock size fixes (Daniel Berrange)
- improve error reporting

### 0.1.7: Sep 29 2006

- fix a memory bug on getting vcpu information from xend (Daniel Berrange)
- fix another problem in the hypercalls change in Xen changeset 86d26e6ec89b when getting domain information (Daniel Berrange)

### 0.1.6: Sep 22 2006

- Support for localization of strings using gettext (Daniel Berrange)
- Support for new Xen-3.0.3 cdrom and disk configuration (Daniel Berrange)
- Support for setting VNC port when creating domains with new xend config files (Daniel Berrange)
- Fix bug when running against xen-3.0.2 hypercalls (Jim Fehlig)
- Fix reconnection problem when talking directly to http xend

### 0.1.5: Sep 5 2006

- Support for new hypercalls change in Xen changeset 86d26e6ec89b
- bug fixes: virParseUUID() was wrong, netwoking for paravirt guestsi (Daniel Berrange), virsh on non-existent domains (Daniel Berrange), string cast bug when handling error in python (Pete Vetere), HTTP 500 xend error code handling (Pete Vetere and Daniel Berrange)
- improvements: test suite for SEXPR <-> XML format conversions (Daniel Berrange), virsh output regression suite (Daniel Berrange), new environ variable VIRSH_DEFAULT_CONNECT_URI for the default URI when connecting (Daniel Berrange), graphical console support for paravirt guests (Jeremy Katz), parsing of simple Xen config files (with Daniel Berrange), early work on defined (not running) domains (Daniel Berrange), virsh output improvement (Daniel Berrange

### 0.1.4: Aug 16 2006

- bug fixes: spec file fix (Mark McLoughlin), error report problem (with Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML generation bug for CDRom (Daniel Berrange), bug whem using number() XPath function (Mark McLoughlin), fix python detection code, remove duplicate initialization errors (Daniel Berrange)
- improvements: UUID in XML description (Peter Vetere), proxy code cleanup, virtual CPU and affinity support + virsh support (Michel Ponceau, Philippe Berthault, Daniel Berrange), port and tty information for console in XML (Daniel Berrange), added XML dump to driver and proxy support (Daniel Berrange), extention of boot options with support for floppy and cdrom (Daniel Berrange), features block in XML to report/ask PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect operations when using read-only connection, large improvements to test driver (Daniel Berrange)
- documentation: spelling (Daniel Berrange), test driver examples.

### 0.1.3: Jul 11 2006

- bugfixes: build as non-root, fix xend access when root, handling of empty XML elements (Mark McLoughlin), XML serialization and parsing fixes (Mark McLoughlin), allow to create domains without disk (Mark McLoughlin),
- improvement: xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange), support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)
- documentation: augmented to cover hvm domains

### 0.1.2: Jul 3 2006

- headers include paths fixup
- proxy mechanism for unprivileged read-only access by httpu

### 0.1.1: Jun 21 2006

- building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P. Berrange)
- driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P. Berrange)
- Cope with API change introduced in Xen changeset 10277
- new test driver for regression checks (Daniel P. Berrange)
- improvements: added UUID to XML serialization, buffer usage (Karel Zak), --connect argument to virsh (Daniel P. Berrange),
- bug fixes: uninitialized memory access in error reporting, S-Expr parsing (Jim Fehlig, Jeremy Katz), virConnectOpen bug, remove a TODO in xs_internal.c
- documentation: Python examples (David Lutterkort), new Perl binding URL, man page update (Karel Zak)

### 0.1.0: Apr 10 2006

- building fixes: --with-xen-distdir option (Ronald Aigner), out of tree build and pkginfo cflag fix (Daniel Berrange)
- enhancement and fixes of the XML description format (David Lutterkort and Jim Fehlig)
- new APIs: for Node information and Reboot
- internal code cleanup: refactoring internals into a driver model, more error handling, structure sharing, thread safety and ref counting
- bug fixes: error message (Jim Meyering), error allocation in virsh (Jim Meyering), virDomainLookupByID (Jim Fehlig),
- documentation: updates on architecture, and format, typo fix (Jim Meyering)
- bindings: exception handling in examples (Jim Meyering), perl ones out of tree (Daniel Berrange)
- virsh: more options, create, nodeinfo (Karel Zak), renaming of some options (Karel Zak), use stderr only for errors (Karel Zak), man page (Andrew Puch)

### 0.0.6: Feb 28 2006

- add UUID lookup and extract API
- add error handling APIs both synchronous and asynchronous
- added minimal hook for error handling at the python level, improved the python bindings
- augment the documentation and tests to cover error handling

### 0.0.5: Feb 23 2006

- Added XML description parsing, dependance to libxml2, implemented the creation API virDomainCreateLinux()
- new APIs to lookup and name domain by UUID
- fixed the XML dump when using the Xend access
- Fixed a few more problem related to the name change
- Adding regression tests in python and examples in C
- web site improvement, extended the documentation to cover the XML format and Python API
- Added devhelp help for Gnome/Gtk programmers

### 0.0.4: Feb 10 2006

- Fix various bugs introduced in the name change

### 0.0.3: Feb 9 2006

- Switch name from 'libvir' to libvirt
- Starting infrastructure to add code examples
- Update of python bindings for completeness

### 0.0.2: Jan 29 2006

- Update of the documentation, web site redesign (Diana Fong)
- integration of HTTP xend RPC based on libxend by Anthony Liquori for most operations
- Adding Save and Restore APIs
- extended the virsh command line tool (Karel Zak)
- remove xenstore transactions (Anthony Liguori)
- fix the Python bindings bug when domain and connections where freed

### 0.0.1: Dec 19 2005

- First release
- Basic management of existing Xen domains
- Minimal autogenerated Python bindings