# Releases (2010)

Here is the list of official releases made during the year 2010. A similar list for 2009 is also available.

It is also possible to just use the GIT version or snapshot, contact the mailing list and check the GIT log to gauge progress.

### 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: Explicitly 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 04 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 05 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 being 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 05 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 03 2010

- Features:
  Implement support for multi IQN (David Allan),
  Implement CPU topology support for QEMU driver (Jiri Denemark),
  Use QEmu new device addressing 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)