# Releases (2014)

Here is the list of official releases made during the year 2014. A similar list for 2013 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.

### 1.2.11: Dec 13 2014

- Features:
  Implement public API for virDomainGetFSInfo (Tomoki Sekiyama),
  Add support for the new throttle options (Matthias Gatto)
- Security:
  CVE-2014-8131: Fix possible deadlock and segfault in qemuConnectGetAllDomainStats() (Martin Kletzander),
  CVE-2014-7823: dumpxml: security hole with migratable flag (Eric Blake)
- Documentation:
  virsh.pod: Fix typo (John Ferlan),
  Fix typo in path for storage pool (John Ferlan),
  Fix missing curly braces (Hao Liu),
  Fix simple typo s/ a API/ an API/ (Martin Kletzander),
  getstats: improve documentation (Eric Blake),
  Use gender-neutral pronoun in hacking.html.in (Christophe Fergeau),
  network: fix some trivial typos in docs/formatnetwork.html (Chen Fan),
  virsh.pod: Fix the pool-define-as and pool-create-as description (John Ferlan),
  Fix a couple of typos on the storage pool html (John Ferlan),
  storage: fix rbd pool indentation (Cole Robinson),
  Create html documentation even if XHTML1 DTD is not available to validate (Ian Campbell),
  More html/docs changes from libvirt.h.in split (John Ferlan),
  conf: fix a comment typo in virDomainVideoDefaultRAM (Wang Rui),
  Correct invalid hyperlinks (Martin Kletzander),
  Fix missing slashes in XML examples (Luyao Huang),
  fix simple typo in TPM paragraph (Martin Kletzander),
  tests: fix documentation for mocking methods (Martin Kletzander),
  virsh: document block.n.allocation stat (Eric Blake),
  storage_driver: fix a comment typo (Chen Hanxiao),
  domain: Move docs for storage hosts under the <source> element (Peter Krempa),
  virsh: sync domdisplay help and manual (Martin Kletzander),
  fix a typo in formatdomain.html (Chen Fan),
  Remove references to unused libvirt-libvirt.html (Nehal J Wani),
  Document NVRAM behavior on transient domains (Michal Privoznik),
  Adjust contributor guidelines about curly brackets (Martin Kletzander),
  Fix API docs for header file re-organization (Daniel P. Berrange),
  fix mismatched ACL attribute name (Luyao Huang),
  Add documentation for compat mode. (Prerna Saxena),
  examples: add systemtap script to ease lock debugging (Martin Kletzander)
- Portability:
  Fix build on mingw (Ján Tomko),
  define NTF_{SELF,MASTER} if undefined (Guido Günther),
  build: fix mingw printing of pid (Eric Blake),
  build: fix unused variable in mingw (Eric Blake),
  libxl: Allow libxl to find pygrub binary. (Ian Campbell),
  build: fix build when not using dbus (Eric Blake),
  build: avoid 32-bit failure on older gcc (Eric Blake),
  build: fix build with older dbus headers (Eric Blake),
  maint: use portable shell (Eric Blake),
  qemuxml2argvtest: Run some test only on Linux (Michal Privoznik)
- Bug Fixes:
  Avoid getting '-1:-1' in devices cgroup list (Cédric Bosdonnat),
  conf: goto error when value of max_sectors is too large (Luyao Huang),
  Ignore CPU features without a model for host-passthrough (Ján Tomko),
  Do not format CPU features without a model (Ján Tomko),
  qemu: bulk stats: Fix logic in monitor handling (Francesco Romani),
  dac: Add a new func to get DAC label of a running process (Luyao Huang),
  viriscsi: Need to sendtargets on Initiator IQN (John Ferlan),
  storage: Check stderr when matching parted output (Hao Liu),
  security: Manage SELinux labels on shared/readonly hostdev's (John Ferlan),
  tests: Fix sharable typo (John Ferlan),
  conf: forbid negative number in address(like controller, bus, slot...) (Luyao Huang),
  qemu: migration: Unlock vm on failed ACL check in protocol v2 APIs (Peter Krempa),
  network: don't allow multiple dhcp sections (Kyle DeFrancia),
  getstats: avoid memory leak on OOM (Eric Blake),
  util: check for an illegal character in a XML namespace prefix (Erik Skultety),
  qemu: snapshot: Forbid internal snapshot with passthrough devices (Shanzhi Yu),
  networkValidate: Disallow bandwidth in portgroups too (Michal Privoznik),
  qemu: process: Avoid uninitialized use two vars when reconnecting to vm (Peter Krempa),
  Fix handling of whitespae in preprocessor macros for API generator (Daniel P. Berrange),
  tests: Fix misplaced parenthesis in qemumonitorjsontest (Martin Kletzander),
  qemu: Fix virsh freeze when blockcopy storage file is removed (Erik Skultety),
  cpu: fix possible crash in getModels (Pavel Hrdina),
  leaseshelper: Skip entries missing expiry time on INIT action (Peter Krempa),
  storage: fix crash caused by no check return before set close (Luyao Huang),
  virsh: vol-upload disallow negative offset (Shanzhi Yu),
  parallels: fix compilation of parallels_storage.c (Dmitry Guryanov),
  Generate a MAC when loading a config instead of package update (Ján Tomko),
  Silently ignore MAC in NetworkLoadConfig (Ján Tomko),
  nwfilter: fix crash when adding non-existing nwfilter (Pavel Hrdina),
  Fix race condition in qemuGetProcessInfo (Eduardo Costa),
  libxl: Resolve Coverity CHECKED_RETURN (John Ferlan),
  domain_conf: Resolve Coverity CHECKED_RETURN (John Ferlan),
  virhook: Resolve Coverity NULL_RETURNS (John Ferlan),
  hotplug: Resolve Coverity FORWARD_NULL (John Ferlan),
  storage: Add mixed fc_host/scsi_host duplicate adapter source checks (John Ferlan),
  conf: Add device-related code for panic devices (Martin Kletzander),
  conf: Add device-related code for TPM devices (Martin Kletzander),
  qemu: fix block{commit,copy} abort handling (Erik Skultety),
  qemu: Don't track quiesced state of FSs (Michal Privoznik),
  Fix usage of virReportSystemError (Jiri Denemark),
  network: Fix upgrade from libvirt older than 1.2.4 (Jiri Denemark),
  Resolve build breaker (John Ferlan),
  lxc: don't unmount subtree if it contains the source of the mount (Cédric Bosdonnat),
  virt-aa-helper wasn't running virErrorInitialize (Cédric Bosdonnat),
  storage: qemu: Fix security labelling of new image chain elements (Peter Krempa),
  storage: Add thread to refresh for createVport (John Ferlan),
  storage: Fix issue finding LU's when block doesn't exist (John Ferlan),
  rpc: do not fail if the pid of the connecting process is not set (Giuseppe Scrivano),
  util: don't log failure when older iptables lacks -w (Eric Blake),
  qemu: Really fix crash in tunnelled migration (Jiri Denemark),
  virsh: Fix msg: blockjob is aborted from another client (Erik Skultety),
  qemu: Fix crash in tunnelled migration (Jiri Denemark),
  vbox: fix a bug in _machineStateInactive (Yohan BELLEGUIC),
  qemu: Resolve Coverity UNINIT (John Ferlan),
  qemu: Fix get blkiodevtune for a disk that has been hot unplugged (Luyao Huang),
  Re-add use of locking with iptables/ip6tables/ebtables (Daniel P. Berrange),
  qemu: Don't try to parse -help for new QEMU (Jiri Denemark),
  qemu: Always set migration capabilities (Jiri Denemark),
  lxc: fix setmem effect on a running LXC machine (Erik Skultety),
  nwfilter: fix deadlock caused updating network device and nwfilter (Pavel Hrdina),
  qemuPrepareNVRAM: Save domain conf only if domain's persistent (Michal Privoznik),
  storage: Introduce 'managed' for the fchost parent (John Ferlan),
  storage: Ensure fc_host parent matches wwnn/wwpn (John Ferlan),
  storage: Check for valid fc_host parent at startup (John Ferlan),
  qemu: Resolve Coverity DEADCODE. (Matthias Gatto),
  qemu: Fix copy_paste_error in qemuBuildDriveStr. (Matthias Gatto),
  Do not crash on gluster snapshots with no host name (Ján Tomko),
  Fix virDomainChrEquals for spicevmc (Ján Tomko),
  qemu: fix domain startup failing with 'strict' mode in numatune (Wang Rui),
  lxc: don't setup cpuset.mems if memory mode in numatune is not 'strict' (Wang Rui),
  qemu: don't setup cpuset.mems if memory mode in numatune is not 'strict' (Wang Rui),
  Fix invalid log, misused option types and a typo (Hao Liu),
  phyp: Fix NULL dereference in phypConnectOpen (Martin Kletzander),
  nodeinfo: report error when failure in nodeSetMemoryParameters (Jincheng Miao),
  virnuma: add nodeset NULL check in virNumaSetupMemoryPolicy (Chen Fan),
  Fix build-time pkg-config files in VPATH (Jiri Denemark),
  qemu: Update fsfreeze status on domain state transitions (Michal Privoznik),
  network: fix call virNetworkEventLifecycleNew when networkStartNetwork fail (Luyao Huang),
  numa: fix assumption in virNumaNodeIsAvailable() (Martin Kletzander),
  Free job statistics from the migration cookie (Ján Tomko),
  virsh: Fix types for option bandwidth in block* (Hao Liu),
  qemuDomainUpdateDeviceConfig: Allow startupPolicy update (Michal Privoznik),
  remote: Fix memory leak in remoteConnectGetAllDomainStats (Peter Krempa),
  Require at least one console for LXC domain (Ján Tomko),
  Do not probe for power mgmt capabilities in lxc emulator (Ján Tomko),
  util: fix releasing pidfile in cleanup (Martin Kletzander),
  qemu: stop NBD server after successful migration (Weiwei Li),
  qemu: avoid rare race when undefining domain (Martin Kletzander),
  qemu: make sure capability probing process can start (Martin Kletzander),
  vbox: don't register NULL driver (Martin Kletzander),
  qemu: make advice from numad available when building commandline (Martin Kletzander)
- Improvements:
  network: Bring netdevs online later (Matthew Rosato),
  lxc: give RW access to /proc/sys/net/ipv[46] to containers (Cédric Bosdonnat),
  conf: Ignore device address for guestfwd channel (Martin Kletzander),
  maint: clean up the unused variable 'caps' in src/qemu/qemu_*.c (Wang Rui),
  parallels: report proper error in Create/Destroy/Suspend e.t.c. (Dmitry Guryanov),
  parallels: fix getJobResultHelper (Dmitry Guryanov),
  parallels: return PRL_RESULT from waitJob and getJobResult (Dmitry Guryanov),
  parallels: implement domainUndefine and domainUndefineFlags (Dmitry Guryanov),
  parallels: add cdroms support (Dmitry Guryanov),
  parallels: Add domainCreateWithFlags() function. (Alexander Burluka),
  parallels: added function virDomainIsActive() (Alexander Burluka),
  parallels: refactor parallelsDomainDefineXML (Dmitry Guryanov),
  parallels: create VMs and containers with sdk (Dmitry Guryanov),
  parallels: rewrite parallelsApplyConfig with SDK (Dmitry Guryanov),
  parallels: reimplement functions, which change domain state (Dmitry Guryanov),
  parallels: handle events from parallels server (Alexander Burluka),
  parallels: move parallelsDomNotFoundError to parallels_utils.h (Dmitry Guryanov),
  parallels: get domain info with SDK (Alexander Burluka),
  parallels: move IS_CT macro to parallels_utils.h (Dmitry Guryanov),
  build: Move check for XML::XPath into bootstrap (Martin Kletzander),
  maint: update to latest gnulib (Eric Blake),
  lxc: always use virDomainNetGetActualBridgeName to get interface's bridge (Laine Stump),
  qemu: always use virDomainNetGetActualBridgeName to get interface's bridge (Laine Stump),
  qemu: setup tap devices for macTableManager='libvirt' (Laine Stump),
  network: setup bridge devices for macTableManager='libvirt' (Laine Stump),
  network: store network macTableManager setting in NetDef actual object (Laine Stump),
  network: save bridge name in ActualNetDef when actualType==network too (Laine Stump),
  conf: new network bridge device attribute macTableManager (Laine Stump),
  util: functions to manage bridge fdb (forwarding database) (Laine Stump),
  util: new functions for setting bridge and bridge port attributes (Laine Stump),
  getstats: add block.n.path stat (Eric Blake),
  getstats: start giving offline block stats (Eric Blake),
  rpc: Report proper close reason (Martin Kletzander),
  virsh: Don't reconnect after the command when disconnected (Martin Kletzander),
  storage: Fix printing/casting of uid_t/gid_t (Peter Krempa),
  virsh: Add adapter options for pool-{create|define}-as (John Ferlan),
  virsh: Add auth options for pool-{create|define}-as (John Ferlan),
  Report original error when QMP probing fails with new QEMU (Daniel P. Berrange),
  storage: backend: Log uid/gid when initializing storage file backend (Peter Krempa),
  qemu: process: Refactor reconnecting to qemu processes (Peter Krempa),
  drvbhyve: Automatically tear down guest domains on shutdown (Conrad Meyer),
  qemu: driver: Reload snapshots and managedsaves prior to reconnecting (Peter Krempa),
  leaseshelper: Fix incorrect alignment of a switch case (Peter Krempa),
  network: dnsmasq: Don't format lease file path (Peter Krempa),
  leaseshelper: Refactor control flow (Peter Krempa),
  leaseshelper: improvements to support all events (Nehal J Wani),
  cpu-driver: Fix the cross driver function call (Daniel Hansel),
  qemu_migration: Precreate missing storage (Michal Privoznik),
  qemu_migration: Send disk sizes to the other side (Michal Privoznik),
  qemuMonitorJSONBlockStatsUpdateCapacity: Don't skip disks (Michal Privoznik),
  storage: Introduce storagePoolLookupByTargetPath (Michal Privoznik),
  Replace virDomainSnapshotFree with virObjectUnref (John Ferlan),
  Replace virInterfaceFree with virObjectUnref (John Ferlan),
  Replace virNWFilterFree with virObjectUnref (John Ferlan),
  Replace virSecretFree with virObjectUnref (John Ferlan),
  Replace virStreamFree with virObjectUnref (John Ferlan),
  Replace virStoragePoolFree with virObjectUnref (John Ferlan),
  Replace virStorageVolFree with virObjectUnref (John Ferlan),
  Replace virNodeDeviceFree with virObjectUnref (John Ferlan),
  Replace virNetworkFree with virObjectUnref (John Ferlan),
  Replace virDomainFree with virObjectUnref (John Ferlan),
  rpc: Replace virXXXFree with virObjectUnref (John Ferlan),
  libvirt.c: Move virDomainGetFSInfo to libvirt-domain.c (Michal Privoznik),
  conf: replace call to virNetworkFree() with virObjectUnref() (Laine Stump),
  build, docs: Let make see the dependencies for html/*.html (Martin Kletzander),
  storage: Move and rename getVhbaSCSIHostParent (John Ferlan),
  conf: Don't redefine virDomainTPMDefPtr (Martin Kletzander),
  qemu: Make pid available for security managers in qemuProcessAttach (Luyao Huang),
  qemu: set jobinfo type to FAILED if job is failed in qemuMigrationRun (Wang Rui),
  qemu: set jobinfo type to CANCELLED if migration is cancelled in all conditions (Wang Rui),
  util: Avoid calling closedir(NULL) (Jiri Denemark),
  dbus: fix arrays of bools (Eric Blake),
  qemu: add the missing jobinfo type in qemuDomainGetJobInfo (Wang Rui),
  lxc: be more patient while resolving symlinks (Cédric Bosdonnat),
  virt-aa-helper: /etc/libvirt-sandbox/services isn't restricted (Cédric Bosdonnat),
  qemu-command: introduce new vgamem attribute for QXL video device (Pavel Hrdina),
  qemu-command: use vram attribute for all video devices (Pavel Hrdina),
  caps: introduce new QEMU capability for vgamem_mb device property (Pavel Hrdina),
  QXL: fix setting ram and vram values for QEMU QXL device (Pavel Hrdina),
  video: cleanup usage of vram attribute and update documentation (Pavel Hrdina),
  internal: add macro to round value to the next closest power of 2 (Pavel Hrdina),
  virsh: expose virDomainGetFSInfo (Tomoki Sekiyama),
  qemu: add test for qemuAgentGetFSInfo (Tomoki Sekiyama),
  qemu: Implement the qemu driver for virDomainGetFSInfo (Tomoki Sekiyama),
  remote: Implement the remote protocol for virDomainGetFSInfo (Tomoki Sekiyama),
  qemu: Emit the guest agent lifecycle event (Peter Krempa),
  examples: Add support for the guest agent lifecycle event (Peter Krempa),
  event: Add guest agent lifecycle event (Peter Krempa),
  spec: Automatically apply all patches with git (Jiri Denemark),
  qemu: process: Refresh virtio channel guest state when connecting to mon (Peter Krempa),
  qemu: chardev: Extract more information about character devices (Peter Krempa),
  libxl: destroy domain in migration finish phase on failure (Jim Fehlig),
  libxl: start domain paused on migration dst (Jim Fehlig),
  libxl: acquire job in migration finish phase (Jim Fehlig),
  libxl: Receive migration data in a thread (Jim Fehlig),
  storage: rbd: Implement support for passing config file option (Peter Krempa),
  storage: rbd: qemu: Add support for specifying internal RBD snapshots (Peter Krempa),
  storage: Allow parsing of RBD backing strings when building backing chain (Peter Krempa),
  util: storagefile: Split out parsing of NBD string into a separate func (Peter Krempa),
  util: split out qemuParseRBDString into a common helper (Peter Krempa),
  tests: Reflow the expected output from RBD disk test (Peter Krempa),
  qemu: Refactor qemuBuildNetworkDriveURI to take a virStorageSourcePtr (Peter Krempa),
  util: storage: Copy hosts of a storage file only if they exist (Peter Krempa),
  util: storage: Add notice for extension of struct virStorageSource (Peter Krempa),
  util: buffer: Clarify scope of the escape operation in virBufferEscape (Peter Krempa),
  test: virstoragetest: Add testing of network disk details (Peter Krempa),
  qemu: Add handling for VSERPORT_CHANGE event (Peter Krempa),
  conf: Add channel state for virtio channels to the XML (Peter Krempa),
  qemu: monitor: Rename and improve qemuMonitorGetPtyPaths (Peter Krempa),
  test: xml2xml: Print full filenames if xml2xml test fails (Peter Krempa),
  conf: Annotate source enums for character device struct members (Peter Krempa),
  qemu: process: report useful error if alias formatting fails (Peter Krempa),
  qemu: Drop OVMF whitelist (Michal Privoznik),
  qemu: Support OVMF on armv7l aarch64 guests (Michal Privoznik),
  maint: forbid 'int foo = true' (Eric Blake),
  virdbus: don't force users to pass int for bool values (Eric Blake),
  storage: wrap storage_driver.c to 80 columns (Chen Hanxiao),
  network: Add network bandwidth support to ethernet interfaces (Anirban Chakraborty),
  qemu: Add tests for new blkdeviotune arguments (John Ferlan),
  qemu: Add checks for blkdeviotune 'size_iops_sec' and adjust error (John Ferlan),
  bracket-spacing: Add syntax-check for unnecessary curly brackets (Martin Kletzander),
  bracket-spacing-check: Print out more specific error message (Martin Kletzander),
  bracket-spacing: Remove pointless cycles (Martin Kletzander),
  bracket-spacing: Don't modify current line (Martin Kletzander),
  Remove unnecessary curly brackets in tests/ (Martin Kletzander),
  Remove unnecessary curly brackets in tools/ (Martin Kletzander),
  Remove unnecessary curly brackets in rest of src/ (Martin Kletzander),
  Remove unnecessary curly brackets in rest of src/[o-u]*/ (Martin Kletzander),
  Remove unnecessary curly brackets in rest of src/[a-n]*/ (Martin Kletzander),
  Remove unnecessary curly brackets in src/vbox/ (Martin Kletzander),
  Remove unnecessary curly brackets in src/util/ (Martin Kletzander),
  Remove unnecessary curly brackets in src/test/test_driver.c (Martin Kletzander),
  Remove unnecessary curly brackets in src/storage/ (Martin Kletzander),
  Remove unnecessary curly brackets in src/qemu/ (Martin Kletzander),
  Remove unnecessary curly brackets in src/node_device/ (Martin Kletzander),
  Remove unnecessary curly brackets in src/hyperv/ (Martin Kletzander),
  Remove unnecessary curly brackets in src/conf/ (Martin Kletzander),
  Remove unnecessary curly brackets in src/vmx/vmx.c (Martin Kletzander),
  Remove unnecessary curly brackets in rest of src/esx/ (Martin Kletzander),
  Remove unnecessary curly brackets in src/esx/esx_driver.c (Martin Kletzander),
  Remove unnecessary curly brackets in daemon/ and examples/ (Martin Kletzander),
  virsh: Convert EDIT_NOT_CHANGED macro to do-while block. (Martin Kletzander),
  virt-aa-helper: Trick invalid syntax-check (Martin Kletzander),
  virsh: Error out if VSH_OT_STRING option has VSH_OFLAG_REQ flag (Martin Kletzander),
  virsh: Enforce proper ordering of options (Martin Kletzander),
  virsh: Reorder some options (Martin Kletzander),
  drvbhyve: Use boot-order for grub-bhyve boot device (Conrad Meyer),
  drvbhyve: Clean-up some used ATTRIBUTE_UNUSEDs. (Conrad Meyer),
  storage: Introduce virStoragePoolSaveConfig (John Ferlan),
  storage: Don't use a stack copy of the adapter (John Ferlan),
  bhyvexml2argv: Add test for grub console support (Conrad Meyer),
  bhyve: Add console support for grub-bhyve bootloader (Conrad Meyer),
  bhyve: Probe grub-bhyve for --cons-dev capability (Conrad Meyer),
  bhyvexml2argv: Add tests for domain-configured bootloader, args (Conrad Meyer),
  domaincommon.rng: Add 'bootloader' to os=hvm schema for Bhyve (Conrad Meyer),
  bhyvexml2argv: Add loader argv tests. (Conrad Meyer),
  bhyve: Support /domain/bootloader configuration for non-FreeBSD guests. (Conrad Meyer),
  Display nicer error message for unsupported chardev hotplug (Ján Tomko),
  virsh: Add bps_max and friends to virsh (Matthias Gatto),
  qemu: Add bps_max and friends to qemu command generation (Matthias Gatto),
  qemu: Add bps_max and friends QMP suport (Matthias Gatto),
  qemu: Add bps_max and friends qemu driver (Matthias Gatto),
  qemu: Add Qemu capability for bps_max and friends (Matthias Gatto),
  qemu: Modify the structure _virDomainBlockIoTuneInfo. (Matthias Gatto),
  cpu_conf: Allow specification of 'units' for @memory on numa nodes. (Prerna Saxena),
  conf: Expose virDomainParseMemory for use outside domain_conf (Prerna Saxena),
  esx: Simplify VI (vSphere) API and VMware product version handling (Matthias Bolte),
  domain_conf: Use virDomainParseMemory more widely (Michal Privoznik),
  Transform VIR_ERROR into VIR_WARN in detect_scsi_host_caps (Cédric Bosdonnat),
  vbox: Remove useless condition branches (Martin Kletzander),
  Remove use of networkPrivateData from netcf driver (Daniel P. Berrange),
  Remove use of networkPrivateData from network driver (Daniel P. Berrange),
  Remove use of storagePrivateData from storage driver (Daniel P. Berrange),
  Update Test driver to always use privateData (Daniel P. Berrange),
  Update Parallels driver to always use privateData (Daniel P. Berrange),
  Remove abuse of networkPrivateData in phyp driver (Daniel P. Berrange),
  Move phyp internal info out of the header file (Daniel P. Berrange),
  Update Hyper-V driver to always use privateData (Daniel P. Berrange),
  Update ESX driver to always use privateData (Daniel P. Berrange),
  Update remote driver to always use privateData (Daniel P. Berrange),
  Clean up remote driver connection open code (Daniel P. Berrange),
  Test: Add a testcase for PowerPC compat mode cpu specification. (Prerna Saxena),
  PowerPC:Improve PVR handling to fall back to cpu generation. (Prerna Saxena),
  PowerPC : Add support for launching VM in 'compat' mode. (Prerna Saxena),
  Cpu: Add support for Power LE Architecture. (Prerna Saxena),
  gitignore: use wildcard for configure's temporary files (Martin Kletzander),
  virnetdevbandwidth: Include virutil.h (Michal Privoznik),
  qemu: Allow use of iothreads for virtio ccw disk definitions (Boris Fiuczynski),
  qemu: Correct disk type checking logic for iothreads (Boris Fiuczynski),
  virsh: fix net-dhcp-leases no output in quiet mode (Luyao Huang),
  numa: split util/ and conf/ and support non-contiguous nodesets (Martin Kletzander),
  add temporary compilation files into .gitignore (Martin Kletzander),
  Iface: disallow network tuning in session mode globally (Erik Skultety),
  qemu: revert patch - bandwidth tuning in session mode (Erik Skultety),
  private.syms: Export virDomainNumatuneSpecifiedMaxNode (Michal Privoznik),
  virnuma: Add some more comments (Michal Privoznik),
  Memory: Use consistent type for all memory elements. (Prerna Saxena),
  virnuma: use virNumaNodesetIsAvailable checking nodeset in virNumaSetupMemoryPolicy (Chen Fan),
  numatune: add check for numatune nodeset range (Chen Fan),
  bitmap: add virBitmapLastSetBit for finding the last bit position of bitmap (Chen Fan),
  virsh: don't list unknown domains (Martin Kletzander),
  lxc: improve error message for invalid blkiotune settings (Martin Kletzander),
  qemu: improve error message for invalid blkiotune settings (Martin Kletzander),
  util: Introduce virPidFileForceCleanupPath (Martin Kletzander)
- Cleanups:
  Remove left over debug in hvsupport.pl script (Daniel P. Berrange)

### 1.2.10: Nov 03 2014

- Features:
  vbox: various drivers improvements (Taowei Luo),
  libxl: various drivers improvements (Stefan Bader, Jim Fehlig),
  Internal driver refactoring (Daniel P. Berrange)
- Documentation:
  virsh: Adjust the text in man page regarding qemu-attach (John Ferlan),
  HACKING: Regenerate after recent change (Peter Krempa),
  fix an improper git browsable address (Chen Hanxiao),
  Mention repository locations in contributor guidelines (Martin Kletzander),
  apps: Update references to virt-p2v and virt-v2v. (Richard W.M. Jones),
  libvirt: Document UNDEFINE_NVRAM in UndefineFlags doc (Cole Robinson),
  conf: fix a wrong comment in virSocketAddrNumericFamily() (Chen Fan),
  virsh: man: Fix description of --live/--config usage (Peter Krempa),
  qemu: add short document on qemu event handlers (Laine Stump),
  fix a typo in drvlxc (Chen Hanxiao)
- Portability:
  mingw: fix build failure (Pavel Hrdina),
  domain: fix parsing of memory tunables on 32-bit machines (Eric Blake),
  virnetdev: stub virNetDev{Add,Del}Multi on FreeBSD (Roman Bogorodskiy),
  Renamed internal __mon_yday into mon_yday to avoid conflicts (Cédric Bosdonnat),
  Fix build-time pkg-config files in VPATH (Jiri Denemark),
  Fix build with older libcurl (Ján Tomko),
  vbox: remove unused code that causes build failures (Martin Kletzander),
  Makefile: Fix build without driver modules (Michal Privoznik),
  build: fix build on non-Linux (Eric Blake),
  qemu: monitor: Avoid shadowing variable "devname" on FreeBSD. Again. (Peter Krempa)
- Bug Fixes:
  hotplug: fix char device detach (Pavel Hrdina),
  vbox_storage: fix coverity issue with overwriting value (Pavel Hrdina),
  Relax duplicate SCSI host pool checking (Ján Tomko),
  qemu: Release nbd port from migrationPorts instead of remotePorts (weiwei li),
  libxl: fix double-free of libxl_domain_build_info (Jim Fehlig),
  Reject live update of offloading options (Ján Tomko),
  conf: forbid negative values in virDomainParseScaledValue (Martin Kletzander),
  virsh: Fix memory leak in cmdNetworkDHCPLeases (Luyao Huang),
  virutil: fix virGetSCSIHostNumber stub return type (Roman Bogorodskiy),
  virnetdev: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  virnetdev: Resolve Coverity FORWARD_NULL (John Ferlan),
  virnetdev: Resolve Coverity DEADCODE (John Ferlan),
  storage: Fix crash when parsing backing store URI with schema (Peter Krempa),
  src/Makefile.am: Add forgotten backslash (Michal Privoznik),
  storage_conf: Resolve libvirtd crash matching scsi_host (John Ferlan),
  qemu-attach: Assign device aliases (John Ferlan),
  hotplug: Check for alias in net detach (John Ferlan),
  hotplug: Check for alias in chrdev detach (John Ferlan),
  hotplug: Check for alias in hostdev detach (John Ferlan),
  hotplug: Check for alias in disk detach (John Ferlan),
  hotplug: Check for alias in controller detach (John Ferlan),
  remote: fix jump depends on uninitialised value (Jincheng Miao),
  qemu: forbid snapshot-delete --children-only on external snapshot (Eric Blake),
  util: eliminate "use after free" in callers of virNetDevLinkDump (Laine Stump),
  vbox: network: make sure driver is not NULL in virRegisterNetworkDriver (Shanzhi Yu),
  hyperv: avoid query memleaks on failure (Eric Blake),
  qemu: Disallow NUMA/network tuning for session mode (Erik Skultety),
  qemu: restore: Fix restoring of VM when the restore hook returns empty XML (Peter Krempa),
  Fix cast errors with clang (Roman Bogorodskiy),
  qemu: unref cfg after TerminateMachine has been called (Martin Kletzander),
  qemu: x86_64 is good enough for i686 (Lubomir Rintel),
  qemu: move setting emulatorpin ahead of monitor showing up (Zhou yimin),
  tests: fix incorrect caps for shmem-invalid-size, shmem-small-size (Maxime Leroy),
  conf: tests: fix virDomainNetDefFormat for vhost-user in client mode (Maxime Leroy),
  libxl: add missing 'break' from commit 1298daca (Jim Fehlig),
  conf: fix an memory leak in virSocketAddrIsNumericLocalhost() (Chen Fan),
  virsh: domain: Use global constant for XML file size limit (Peter Krempa),
  Fix leftover typo '&' -> '&&' (Martin Kletzander),
  qemu: save domain status after set domain's numa parameters (Shanzhi Yu),
  qemu: call qemuDomainObjBeginJob/qemuDomainObjEndJob in qemuDomainSetInterfaceParameters (Shanzhi Yu),
  qemu: save domain status after set the blkio parameters (Shanzhi Yu),
  security_selinux: Don't relabel /dev/net/tun (Michal Privoznik),
  qemu: Remove possible NULL deref in debug output (John Ferlan),
  qemu: Remove need for virConnectPtr in hotunplug detach host, net (John Ferlan),
  qemu: Fix hot unplug of SCSI_HOST device (John Ferlan),
  util: Prepare URI formatting for libxml2 >= 2.9.2 (Martin Kletzander),
  qemu: Don't compare CPU against host for TCG (Cole Robinson),
  qemu: Fix updating balloon period in live XML (Erik Skultety),
  qemu: Fix updating bandwidth limits in live XML (Erik Skultety),
  qemu: json: Fix missing break in error reporting function (Peter Krempa)
- Improvements:
  Match scsi_host pools by parent address first (Ján Tomko),
  libxl: Support user-specified <emulator> (Jim Fehlig),
  Spell TIOCSCTTY right in the error message (Ján Tomko),
  Teach virt-aa-helper to use TEMPLATE.qemu if the domain is kvm or kqemu (Cédric Bosdonnat),
  qemu: better error message when block job can't succeed (Eric Blake),
  test: Add test to verify helpers used for backing file name parsing (Peter Krempa),
  maint: add syntax check to prohibit static zero init (Eric Blake),
  maint: avoid static zero init in drivers (Eric Blake),
  maint: avoid static zero init in helpers (Eric Blake),
  maint: avoid static zero init in tests (Eric Blake),
  maint: avoid static zero init in tools (Eric Blake),
  maint: avoid static zero init in core files (Eric Blake),
  audit: use bool for audit log choice (Eric Blake),
  virutil: Introduce virGetSCSIHostNameByParentaddr (John Ferlan),
  virutil: Introduce virGetSCSIHostNumber (John Ferlan),
  vbox: Rewrite vboxStorageVolGetPath (Taowei Luo),
  vbox: Rewrite vboxStorageVolGetXMLDesc (Taowei Luo),
  vbox: Rewrite vboxStorageVolGetInfo (Taowei Luo),
  vbox: Rewrite vboxStorageVolDelete (Taowei Luo),
  vbox: Make IMediumAttachment work with vbox2.2 and 3.0 (Taowei Luo),
  vbox: Rewrite vboxStorageVolCreateXML (Taowei Luo),
  vbox: Make CreateHardDisk support all vbox versions (Taowei Luo),
  vbox: Rewrite vboxStorageVolLookupByPath (Taowei Luo),
  vbox: Make FindMedium support old vbox versions (Taowei Luo),
  vbox: Rewrite vboxStorageVolLookupByKey (Taowei Luo),
  vbox: Rewrite vboxStorageVolLookupByName (Taowei Luo),
  vbox: Rewrite vboxStoragePoolListVolumes (Taowei Luo),
  vbox: Rewrite vboxStoragePoolNumOfVolumes (Taowei Luo),
  vbox: Rewrite vbox-independent functions (Taowei Luo),
  vbox: move common codes to vbox_common.h (Taowei Luo),
  vbox: Remove VBOX_OBJECT_CHECK macro (Taowei Luo),
  vbox: Fix copyright mistake (Taowei Luo),
  virsh: Improve the job type reported of virsh cmd blockcommit (Shanzhi Yu),
  qemu_agent: Produce more readable error messages (Michal Privoznik),
  qemu: change macvtap multicast list in response to NIC_RX_FILTER_CHANGED (Tony Krowiak),
  util: Functions to update host network device's multicast filter (Tony Krowiak),
  tests: Add SELINUX_LIBS to fix viridentitytest linker bug (Julio Faracco),
  Add new driver-*.h files to DRIVER_SOURCES (Daniel P. Berrange),
  Fix indentation of sysinfo data (Daniel P. Berrange),
  Fix preprocessor indentation in libvirt.h.in (Daniel P. Berrange),
  Move virConnect related APIs out of libvirt.h.in (Daniel P. Berrange),
  Move virDomain related APIs out of libvirt.h.in (Daniel P. Berrange),
  Move virEvent related APIs out of libvirt.h.in (Daniel P. Berrange),
  Move virStoragePool/Vol related APIs out of libvirt.h.in (Daniel P. Berrange),
  Move virStream related APIs out of libvirt.h.in (Daniel P. Berrange),
  Move virSecret related APIs out of libvirt.h.in (Daniel P. Berrange),
  Move virNodeDevice related APIs out of libvirt.h.in (Daniel P. Berrange),
  Move virNWFilter related APIs out of libvirt.h.in (Daniel P. Berrange),
  Move virInterface related APIs out of libvirt.h.in (Daniel P. Berrange),
  Move virNetwork related APIs out of libvirt.h.in (Daniel P. Berrange),
  Move virDomainSnapshot related APIs out of libvirt.h.in (Daniel P. Berrange),
  Move virConnect/virNode related APIs out of libvirt.c (Daniel P. Berrange),
  Move virDomain related APIs out of libvirt.c (Daniel P. Berrange),
  Make virTypedParameterValidateSet non-static (Daniel P. Berrange),
  Move virStorage{Pool,Vol} related APIs out of libvirt.c (Daniel P. Berrange),
  Move virStream related APIs out of libvirt.c (Daniel P. Berrange),
  Move virSecret related APIs out of libvirt.c (Daniel P. Berrange),
  Move virNodeDevice related APIs out of libvirt.c (Daniel P. Berrange),
  Move virNWFilter related APIs out of libvirt.c (Daniel P. Berrange),
  Move virInterface related APIs out of libvirt.c (Daniel P. Berrange),
  Move virNetwork related APIs out of libvirt.c (Daniel P. Berrange),
  Move virDomainSnapshot related APIs out of libvirt.c (Daniel P. Berrange),
  Split driver.h into multiple parts (Daniel P. Berrange),
  Rename virDriver to virHypervisorDriver (Daniel P. Berrange),
  qemu: migration: Make check for empty hook XML robust (Peter Krempa),
  util: string: Add helper to check whether string is empty (Peter Krempa),
  Add support for /run/initctl (Rick Harris),
  qemu: Convert qemuDomainUpdateDeviceConfig to typecasted enum (Peter Krempa),
  qemu: Convert qemuDomainDetachDeviceConfig to typecasted enum (Peter Krempa),
  qemu: Convert qemuDomainAttachDeviceConfig to typecasted enum (Peter Krempa),
  qemu: Convert qemuDomainUpdateDeviceLive to typecasted enum (Peter Krempa),
  qemu: Convert qemuDomainDetachDeviceLive to typecasted enum (Peter Krempa),
  conf: Move definition of virDomainParseMemory (Peter Krempa),
  Implement empty post parse callbacks for all drivers (Peter Krempa),
  qemu: monitor: Add functions for object hot-add/remove (Peter Krempa),
  util: json: Add option to skip adding a JSON object if it is NULL (Peter Krempa),
  util: json: Improve handling and docs for adding JSON objects (Peter Krempa),
  util: json: Split out code to create json value objects (Peter Krempa),
  qemu: hotplug: Use typecasted switch statement when plugging new devices (Peter Krempa),
  conf: Add compile time check that devices were checked for ABI stability (Peter Krempa),
  conf: shmem: Add ABI stability check (Peter Krempa),
  conf: Improve adding of new address types (Peter Krempa),
  conf: Check whether migration_address is localhost (Chen Fan),
  conf: add check if migration_host is a localhost address (Chen Fan),
  migration: add migration_host support for IPv6 address without brackets (Chen Fan),
  Introduce virStringStripIPv6Brackets (Ján Tomko),
  conf: improve the comments for "xmlopt" (Wang Rui),
  libxl: Add function to determine device model type (Jim Fehlig),
  Xen: Defer setting default vram value to Xen drivers (Jim Fehlig),
  libxl: Copy user-specified keymap to libxl build info struct (Jim Fehlig),
  esx: Implement virDomainScreenshot using libcurl stream driver (Matthias Bolte),
  esx: Add libcurl based stream driver (Matthias Bolte),
  qemu: change macvtap device MAC address in response to NIC_RX_FILTER_CHANGED (Laine Stump),
  qemu: setup infrastructure to handle NIC_RX_FILTER_CHANGED event (Laine Stump),
  qemu: qemuMonitorQueryRxFilter - retrieve guest netdev rx-filter (Laine Stump),
  util: define virNetDevRxFilter and basic utility functions (Laine Stump),
  network: set interface actual trustGuestRxFilters from network/portgroup (Laine Stump),
  conf: add trustGuestRxFilters attribute to network and domain interface (Laine Stump),
  maint: update .mailmap (Eric Blake),
  Include .libs in libdir in source tree pkg-config files (Ján Tomko),
  minor shmem clean-ups (Martin Kletzander),
  qemu: Build command line for ivshmem device (Martin Kletzander),
  qemu: add capability probing for ivshmem device (Maxime Leroy),
  docs, conf, schema: add support for shmem device (Martin Kletzander),
  qemu: support nospace reason in io error event (Eric Blake),
  qemu_command: Split qemuBuildCpuArgStr (Cole Robinson),
  configure: improve misleading libnl3-devel missing error message (Shanzhi Yu),
  qemu: Improve domainSetTime error info report (Shanzhi Yu),
  vbox: Rewrite vboxNetworkGetXMLDesc (Taowei),
  vbox: Rewrite vboxNetworkCreate (Taowei),
  vbox: Rewrite vboxNetworkUndefineDestroy (Taowei),
  vbox: Rewrite vboxNetworkDefineCreateXML (Taowei),
  vbox: Rewrite vboxNetworkLookupByName (Taowei),
  vbox: Rewrite vboxNetworkLookupByUUID (Taowei),
  vbox: Rewrite vboxConnectListDefinedNetworks (Taowei),
  vbox: Rewrite vboxConnectNumOfDefinedNetworks (Taowei),
  vbox: Rewrite vboxConnectListNetworks (Taowei),
  vbox: Rewrite vboxConnectNumOfNetworks (Taowei),
  vbox: Rewrite vboxNetworkClose (Taowei),
  vbox: Rewrite vboxNetworkOpen (Taowei),
  vbox: Interfaces for register per parties (Taowei),
  Add virCgroupTerminateMachine stub (Ján Tomko),
  Make editor used for 'virsh edit' configurable (Guido Günther),
  qemu: use systemd's TerminateMachine to kill all processes (Guido Günther),
  maint: Prohibit "devname" by a syntax check rules (Peter Krempa),
  qemu: bulk stats: add block allocation information (Francesco Romani),
  qemu: monitor: Add helper function to fill physical/virtual image size (Peter Krempa)
- Cleanups:
  vbox: Remove unused things in vbox_tmpl.c (Taowei Luo),
  Cleanup maintainers list (Jiri Denemark)

### 1.2.9: Oct 01 2014

- Features:
  Introduce virNodeAllocPages (Michal Privoznik),
  event: introduce new event for tunable values (Pavel Hrdina),
  add migration support for OpenVZ driver (Hongbin Lu),
  Add support for fetching statistics of completed jobs (Jiri Denemark)
- Security:
  CVE-2014-3633: qemu: blkiotune: Use correct definition when looking up disk (Peter Krempa),
  CVE-2014-3657: domain_conf: fix domain deadlock (Pavel Hrdina)
- Documentation:
  LXC: emphasis uid start of idmap only accept '0' in docs (Chen Hanxiao),
  specify vhost-net instead of net-vhost (Jianwei Hu),
  LXC: add HOME environment variable docs (Chen Hanxiao),
  update zfs documentation (Roman Bogorodskiy),
  man: virsh: Add docs for supported stats groups (Peter Krempa),
  lib: Document that virConnectGetAllDomainStats may omit some stats fields (Peter Krempa),
  lib: De-duplicate stats group documentation for all stats functions (Peter Krempa),
  util: Fix copy-paste error in virXPathLongLong description (Martin Kletzander),
  formatdomain: Update <loader/> example to match the rest (Michal Privoznik),
  virsh: desc command in --title mode mentions description instead of title (Peter Krempa),
  fix encryption format attribute in example (Ján Tomko)
- Portability:
  qemu: monitor: Avoid shadowing variable "devname" on FreeBSD (Peter Krempa),
  lxc_monitor_protocol: Redefine xdr_uint64_t if needed (Michal Privoznik),
  Fix build without polkit (Pavel Hrdina),
  Fix MinGW build (Pavel Hrdina),
  Fix build in qemu_command (Roman Bogorodskiy),
  Fix build in qemu_capabilities (Roman Bogorodskiy),
  bhyve: tests: fix build (Roman Bogorodskiy),
  virprocess: Extend list of platforms for setns wrapper (Michal Privoznik),
  vircgroup: Fix broken builds without cgroups (John Ferlan),
  util/virprocess.c: fix MinGW build (Pavel Hrdina),
  blockjob: avoid 32-bit compilation warning (Eric Blake)
- Bug Fixes:
  Allow setting migration max downtime any time (Chris St. Pierre),
  qemu: monitor: return block stats data as a hash to avoid disk mixup (Peter Krempa),
  Also filter out non-migratable features out of host-passthrough (Ján Tomko),
  Don't verify CPU features with host-passthrough (Ján Tomko),
  Fix crash cpu_shares change event crash on domain startup (Ján Tomko),
  storage: Fix logical pool fmt type (Erik Skultety),
  virsh: Fix help message of allocpages (Tomoki Sekiyama),
  qemu: remove capabilities.monitor.sock when done (Guido Günther),
  conf: report error in virCPUDefParseXML (Jincheng Miao),
  Check for NULL in qemu monitor event filter (Ján Tomko),
  qemuPrepareNVRAM: Save domain after NVRAM path generation (Michal Privoznik),
  remoteNodeGetFreePages: Don't alloc args.pages.pages_val (Michal Privoznik),
  virNodeAllocPages: Disallow RO connection (Michal Privoznik),
  polkit_driver: fix possible segfault (Pavel Hrdina),
  blkdeviotune: fix bug with saving values into live XML (Pavel Hrdina),
  security: Fix labelling host devices (bz 1145968) (Cole Robinson),
  nodeinfo: fix nodeGetFreePages when max node is zero (Jincheng Miao),
  Fix bug with loading bridge name for active domain during libvirtd start (Pavel Hrdina),
  libvirt-guests: run after time-sync.target (Jim Fehlig),
  qemu: Fix memory leak in RDMA migration code (Jiri Denemark),
  nodeinfo: report error when given node is out of range (Jincheng Miao),
  virsh-host: fix pagesize unit of freepages (Jincheng Miao),
  qemu: raise an error when trying to use readonly sata disks (Giuseppe Scrivano),
  qemu: Add missing goto on rawio (John Ferlan),
  Move the FIPS detection from capabilities (Pavel Hrdina),
  virSecuritySELinuxSetTapFDLabel: Temporarily revert to old behavior (Michal Privoznik),
  audit: fix memory leak without WITH_AUDIT (Ján Tomko),
  Fixes for domains with no iothreads (Ján Tomko),
  Fix leak in x86UpdateHostModel (Ján Tomko),
  Fix libvirtd crash when removing metadata (Erik Skultety),
  qemu: Don't fail startup/attach for IOThreads if no JSON (John Ferlan),
  qemu: fix crash with shared disks (Ján Tomko),
  qemu: Honor hugepages for UMA domains (Michal Privoznik),
  conf: Disallow nonexistent NUMA nodes for hugepages (Michal Privoznik),
  domaincapstest: Run cleanly on systems missing OVMF firmware (Michal Privoznik),
  util: storage: Copy driver type when initializing chain element (Peter Krempa),
  qemu: time: Report errors if agent command fails (Peter Krempa),
  network: check negative values in bridge queues (Erik Skultety),
  openvz: fixed two memory leaks on migration code (Hongbin Lu),
  util: storage: Fix qcow(2) header parser according to docs (Peter Krempa),
  qemu: Fix call in qemuDomainSetNumaParamsLive for virCgroupNewIOThread (John Ferlan),
  qemu: Fix iothreads issue (John Ferlan),
  domain_conf: Add iothreadpin to cputune (John Ferlan),
  network: check for invalid forward delay time (Erik Skultety),
  qemu: Fix build breaker on printf directive (John Ferlan),
  daemon: Resolve Coverity FORWARD_NULL (John Ferlan),
  qemu: Resolve Coverity BAD_SIZEOF (John Ferlan),
  Resolve Coverity CHECKED_RETURN (John Ferlan),
  virsh: Resolve Coverity DEADCODE (John Ferlan),
  domain_conf: Resolve Coverity COPY_PASTE_ERROR (John Ferlan),
  virtime: Resolve Coverity DEADCODE (John Ferlan),
  remote_driver: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  node_device_udev: Try harder to get human readable vendor:product (Lubomir Rintel),
  util: fix potential leak in error codepath (Martin Kletzander),
  network: try to eliminate default network conflict during package install (Laine Stump),
  libxl: Resolve Coverity CHECKED_RETURN (John Ferlan),
  qemu: Resolve Coverity FORWARD_NULL (John Ferlan),
  virfile: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  virutil: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  daemon: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  virsh: Resolve Coverity NEGATIVE_RETURNS (John Ferlan),
  libvirt.spec: Fix permission even for libvirt-driver-qemu (Michal Privoznik),
  libxl: fix mapping of libvirt and libxl lifecycle actions (Jim Fehlig),
  nvram: Fix permissions (Michal Privoznik),
  libxl: Resolve Coverity NULL_RETURNS (John Ferlan),
  qemu: Resolve Coverity NEGATIVE_RETURNS (John Ferlan),
  qemu: Resolve Coverity NEGATIVE_RETURNS (John Ferlan),
  xen: Resolve Coverity NEGATIVE_RETURNS (John Ferlan),
  nodeinfo: Resolve Coverity NEGATIVE_RETURNS (John Ferlan),
  qemu: Resolve Coverity NEGATIVE_RETURNS (John Ferlan),
  network_conf: Resolve Coverity FORWARD_NULL (John Ferlan),
  qemu: Resolve Coverity FORWARD_NULL (John Ferlan),
  virstring: Resolve Coverity FORWARD_NULL (John Ferlan),
  network: Resolve Coverity FORWARD_NULL (John Ferlan),
  qemu: Resolve Coverity FORWARD_NULL (John Ferlan),
  lxc: Resolve Coverity FORWARD_NULL (John Ferlan),
  qemu: Resolve Coverity FORWARD_NULL (John Ferlan),
  virsh: Resolve Coverity DEADCODE (John Ferlan),
  tests: Resolve Coverity DEADCODE (John Ferlan),
  qemu: Resolve Coverity DEADCODE (John Ferlan),
  virsh: Resolve Coverity DEADCODE (John Ferlan),
  virfile: Resolve Coverity DEADCODE (John Ferlan),
  virsh: Resolve Coverity DEADCODE (John Ferlan),
  storage: Resolve Coverity OVERFLOW_BEFORE_WIDEN (John Ferlan),
  qemu: Resolve Coverity REVERSE_INULL (John Ferlan),
  vbox: Resolve Coverity UNUSED_VALUE (John Ferlan),
  storage: Resolve Coverity UNUSED_VALUE (John Ferlan),
  qemu_driver: Resolve Coverity COPY_PASTE_ERROR (John Ferlan),
  selinux: Properly check TAP FD label (Michal Privoznik),
  qemu: Silence coverity on optional migration stats (Jiri Denemark),
  qemu: panic device: check for invalid address type (Erik Skultety),
  qemu: Propagate QEMU errors during incoming migrations (Jiri Denemark),
  selinux: Avoid label reservations for type = none (Shivaprasad G Bhat),
  storage_conf: Fix libvirtd crash when defining scsi storage pool (Pradipta Kr. Banerjee),
  Don't include non-migratable features in host-model (Ján Tomko),
  conf: Fix even implicit labels (Michal Privoznik),
  apparmor: allow reading cap_last_cap (Felix Geyer),
  security: fix DH key generation when FIPS mode is on (Giuseppe Scrivano),
  lxc_container: Resolve Coverity RESOURCE_LEAK (Wang Rui),
  vircgroup: Resolve Coverity RESOURCE_LEAK (Wang Rui),
  qemu_process: Resolve Coverity RESOURCE_LEAK (Wang Rui),
  remote: Resolve Coverity RESOURCE_LEAK (Wang Rui),
  test_conf: Resolve Coverity RESOURCE_LEAK (Wang Rui),
  tests: Resolve Coverity RESOURCE_LEAK in commandhelper (Wang Rui),
  sanlock: Avoid freeing uninitialized value (Jiri Denemark),
  qemu: ensure sane umask for qemu process (Chunyan Liu),
  spec: Fix preun script for daemon (Jiri Denemark),
  remote: Fix memory leak on error path when deserializing bulk stats (Peter Krempa),
  Free ifname in testDomainGenerateIfnames (Ján Tomko)
- Improvements:
  Fix typo s/EMULATORIN/EMULATORPIN/ (Daniel P. Berrange),
  Rename tunable event constants (Daniel P. Berrange),
  qemu: Always re-detect backing chain (Peter Krempa),
  event_example: cleanup example code for tunable event (Pavel Hrdina),
  parallels: login to parallels SDK (Dmitry Guryanov),
  parallels: build with parallels SDK (Dmitry Guryanov),
  virnetserver: Raise log level of max_clients related messages (Michal Privoznik),
  blkdeviotune: trigger tunable event for blkdeviotune updates (Pavel Hrdina),
  tunable_event: extend debug message and tweak limit for remote message (Pavel Hrdina),
  virsh: Expose virNodeAllocPages (Michal Privoznik),
  nodeinfo: Implement nodeAllocPages (Michal Privoznik),
  virnuma: Introduce virNumaSetPagePoolSize (Michal Privoznik),
  nodeGetFreePages: Push forgotten change (Michal Privoznik),
  Convert polkit code to use DBus API instead of CLI helper (Daniel P. Berrange),
  Support passing dict by reference for dbus messages (Daniel P. Berrange),
  Convert remote daemon & acl code to use polkit API (Daniel P. Berrange),
  Convert callers to use typesafe APIs for getting identity attrs (Daniel P. Berrange),
  Convert callers to use typesafe APIs for setting identity attrs (Daniel P. Berrange),
  Add typesafe APIs for virIdentity attributes (Daniel P. Berrange),
  Add common API for doing polkit authentication (Daniel P. Berrange),
  qemu: wire up virtio-net segment offloading options (Ján Tomko),
  conf: add options for disabling segment offloading (Ján Tomko),
  storage: Improve error message when traversing backing chains (Peter Krempa),
  qemu: Report better errors from broken backing chains (Peter Krempa),
  qemu: Sanitize argument names and empty disk check in qemuDomainDetermineDiskChain (Peter Krempa),
  util: storage: Allow metadata crawler to report useful errors (Peter Krempa),
  cputune_event: queue the event for cputune updates (Pavel Hrdina),
  add an example how to use tunable event (Pavel Hrdina),
  conf: sanitize tap and vhost paths (Martin Kletzander),
  qemuBuildNumaArgStr: Discard def->cpu check (Michal Privoznik),
  nodeinfo: Prefer MIN in nodeGetFreePages (Michal Privoznik),
  domain_conf: separate structures from virDomainDef (Pavel Hrdina),
  Fix typo of virNodeGetFreePages comment (Jincheng Miao),
  qemu: Memory pre-pinning support for RDMA migration (Michael R. Hines),
  qemu: RDMA migration support (Michael R. Hines),
  qemu: Add RDMA migration capabilities (Jiri Denemark),
  qemu: Prepare support for arbitrary migration protocol (Jiri Denemark),
  qemu: Fix old tcp:host URIs more cleanly (Jiri Denemark),
  qemu: Expose additional migration statistics (Michael R. Hines),
  cpu: fix wrong single quote mark (Chen Fan),
  cpu: remove repeated word in error message (Daniel P. Berrange),
  qemu: hook: Provide hook when restoring a domain save image (Peter Krempa),
  schema: properly set tap and vhost backend attributes optional (Jianwei Hu),
  qemu: save image: Split out checks done only when editing the save img (Peter Krempa),
  qemu: save image: Split out new definition check/update (Peter Krempa),
  qemu: save image: Add possibility to return XML stored in the image (Peter Krempa),
  qemu: save image: Split out user provided XML checker (Peter Krempa),
  libxl: Drop driver lock in libxlDomainDefineXML (Jim Fehlig),
  qemu: Process the hostdev "rawio" setting (John Ferlan),
  hostdev: Add "rawio" attribute to _virDomainHostdevSubsysSCSI (John Ferlan),
  domain_conf: Change virDomainDiskDef 'rawio' to use virTristateBool (John Ferlan),
  storage: zfs: implement pool build and delete (Roman Bogorodskiy),
  qemu: Improve check for local storage (Peter Krempa),
  maint: clean up _virDomainMemoryStat (Wang Yufei),
  maint: clean up _virDomainBlockStats (Wang Yufei),
  maint: clean up _virDomainInterfaceStats (Wang Yufei),
  virsh: add options to query bulk stats group (Francesco Romani),
  qemu: bulk stats: implement block group (Francesco Romani),
  qemu: bulk stats: implement interface group (Francesco Romani),
  qemu: bulk stats: implement VCPU group (Francesco Romani),
  qemu: bulk stats: implement balloon group (Francesco Romani),
  qemu: bulk stats: implement CPU stats group (Francesco Romani),
  qemu: bulk stats: extend internal collection API (Francesco Romani),
  rpc: make daemon spawning a bit more intelligent (Martin Kletzander),
  domaincaps: Expose UEFI binary path, if it exists (Michal Privoznik),
  qemu_capabilities: Change virQEMUCapsFillDomainCaps signature (Michal Privoznik),
  qemu: add support for shared memory mapping (Martin Kletzander),
  docs, conf, schema: add support for shared memory mapping (Martin Kletzander),
  schemas: finish virTristate{Bool,Switch} transition (Martin Kletzander),
  qemu: Add support for multiple versions of 'pseries' machine type (Pradipta Kr. Banerjee),
  domaincaps: Expose UEFI capability (Michal Privoznik),
  Wire up the interface backend options (Ján Tomko),
  conf: add backend element to interfaces (Ján Tomko),
  conf: remove redundant local variable (Ján Tomko),
  conf: split out virtio net driver formatting (Ján Tomko),
  qemu: Need to check for capability before query (John Ferlan),
  cputune: allow interleaved xml (Eric Blake),
  network: detect conflicting route even if it is the final entry (Laine Stump),
  qemu: Allow pinning specific IOThreads to a CPU (John Ferlan),
  qemu_cgroup: Introduce cgroup functions for IOThreads (John Ferlan),
  qemu_domain: Add niothreadpids and iothreadpids (John Ferlan),
  vircgroup: Introduce virCgroupNewIOThread (John Ferlan),
  qemu: Issue query-iothreads and to get list of active IOThreads (John Ferlan),
  virsh: Add iothread to 'attach-disk' (John Ferlan),
  util: get rid of unnecessary umask() call (Martin Kletzander),
  remove redundant pidfile path constructions (Martin Kletzander),
  rpc: reformat the flow to make a bit more sense (Martin Kletzander),
  blockjob: allow finer bandwidth tuning for set speed (Eric Blake),
  blockcopy: add qemu implementation of new tunables (Eric Blake),
  blockcopy: add qemu implementation of new API (Eric Blake),
  blockcopy: tweak how rebase calls into copy (Eric Blake),
  virDomainUndefineFlags: Allow NVRAM unlinking (Michal Privoznik),
  virsh: Move --completed from resume to domjobinfo (Jiri Denemark),
  conf: snapshot: Don't default-snapshot empty drives (Peter Krempa),
  util: Add function to check if a virStorageSource is "empty" (Peter Krempa),
  tests: Add more test suite mock helpers (Daniel P. Berrange),
  util: Allow port allocator to skip bind() check (Daniel P. Berrange),
  qemu: remove leftover virResetLastError (Ján Tomko),
  util: storage: Convert disk locality check to switch statement (Peter Krempa),
  virprocess: Introduce our own setns() wrapper (Michal Privoznik),
  qemu: dump: Resume CPUs only when the VM is still alive (Peter Krempa),
  util: process: Don't report OOM errors in helper (Peter Krempa),
  qemu: Automatically create NVRAM store (Michal Privoznik),
  qemu: Implement extended loader and nvram (Michal Privoznik),
  conf: Extend <loader/> and introduce <nvram/> (Michal Privoznik),
  qemu: Transfer recomputed stats back to source (Jiri Denemark),
  qemu: Recompute downtime and total time when migration completes (Jiri Denemark),
  qemu: Transfer migration statistics to destination (Jiri Denemark),
  virsh: Add support for completed job stats (Jiri Denemark),
  qemu: Avoid incrementing jobs_queued if virTimeMillisNow fails (Jiri Denemark),
  Refactor job statistics (Jiri Denemark),
  virsh: additional scaled output units (Eric Blake),
  util: let virSetSockReuseAddr report unified error message (Martin Kletzander),
  blockcopy: add a way to parse disk source (Eric Blake),
  qemu: snapshot: Simplify error paths (Peter Krempa),
  qemu: snapshot: Fix snapshot function header formatting and spacing (Peter Krempa),
  qemu: snapshot: Acquire job earlier on snapshot revert/delete (Jincheng Miao),
  qemu: snapshot: Fix job handling when creating snapshots (Peter Krempa),
  qemu: Rename DEFAULT_JOB_MASK to QEMU_DEFAULT_JOB_MASK (Peter Krempa),
  blockcopy: remote implementation for new API (Eric Blake),
  blockcopy: expose new API in virsh (Eric Blake),
  maint: update to latest gnulib (Eric Blake),
  blockcopy: split out virsh implementation (Eric Blake),
  blockcopy: allow block device destination (Eric Blake),
  blockjob: add new --bytes flag to virsh blockjob (Eric Blake),
  blockjob: add new --raw flag to virsh blockjob (Eric Blake),
  blockjob: split up virsh blockjob info (Eric Blake),
  blockjob: allow finer bandwidth tuning for query (Eric Blake),
  blockjob: add new monitor json conversions (Eric Blake),
  blockjob: hoist bandwidth scaling out of monitor code (Eric Blake),
  blockjob: split out block info monitor handling (Eric Blake),
  tests: Add test cases for previous commit (Michal Privoznik),
  blockjob: split out block info driver handling (Eric Blake),
  blockjob: shuffle block rebase code (Eric Blake),
  maint: tighten curly brace syntax checking (Eric Blake),
  maint: use hanging curly braces (Eric Blake),
  maint: enforce previous if-else {} cleanups (Eric Blake),
  maint: use consistent if-else braces in remaining spots (Eric Blake),
  maint: use consistent if-else braces in lxc, vbox, phyp (Eric Blake),
  maint: use consistent if-else braces in xen and friends (Eric Blake),
  maint: use consistent if-else braces in qemu (Eric Blake),
  maint: use consistent if-else braces in conf and friends (Eric Blake),
  LXC: add HOME environment variable (Chen Hanxiao),
  tests: force FIPS testing mode with new enough GNU TLS versions (Giuseppe Scrivano),
  command: test umask support (Eric Blake),
  util: don't shadow global umask declaration (Martin Kletzander),
  util: Introduce flags field for macvtap creation (Matthew Rosato)
- Cleanups:
  nodeinfo: fix version of nodeAllocPages (Tomoki Sekiyama),
  audit: remove redundant NULL assignment (Ján Tomko),
  qemu: Drop unused formatting of uuid (Peter Krempa),
  qemu_cgroup: Adjust spacing around incrementor (John Ferlan),
  qemu: dump: Fix formatting of function headers and code inline (Peter Krempa),
  virsh: domain: Clean up handling of "dom" in "save" command (Peter Krempa)

### 1.2.8: Sep 02 2014

- Features:
  blockcopy: virDomainBlockCopy with XML destination, typed params (Eric Blake),
  lib: Introduce API for retrieving bulk domain stats (Peter Krempa),
  Introduce virDomainOpenGraphicsFD API (Ján Tomko),
  storage: ZFS support (Roman Bogorodskiy)
- Documentation:
  fix bootmenu timeout description (Martin Kletzander),
  conf: add support for bootmenu timeout (Martin Kletzander),
  maint: fix comment typo (Eric Blake),
  formatdomain: Reformat vCPU description (John Ferlan),
  virsh: Fix help info for freepages (Li Yang),
  virsh: man: Add LXC format info for domxml-from/to-native (Li Yang),
  virsh: Fix comment for net-undefine (Li Yang),
  man: virsh: add missing auto-converge option for 'migrate' (Pradipta Kr. Banerjee),
  nwfilter: add missing dscp attribute (Jianwei Hu),
  virsh: man: Crosslink "desc" and "metadata" sections (Peter Krempa),
  man: virsh: Add 'vcpu_period' and 'vcpu_quota' support info for LXC (Li Yang),
  man: virsh: Add man page for "virsh metadata" (Peter Krempa),
  fix missing forward slash (Jianwei Hu),
  use correct hints per bus type in <disk> examples (Eric Blake),
  use unique dev names in <disk> examples (Eric Blake),
  virsh: clean up attach-interface paragraph in man page (Laine Stump),
  audit: Fix some comments (Wang Rui)
- Portability:
  spec: drop anything older than Fedora 13 (Eric Blake),
  fix mingw build (Pavel Hrdina),
  build: fix mingw build with virCommandReorderFDs (Martin Kletzander),
  build: force configure failed when perl is missing (Jincheng Miao),
  Include param.h in case of HAVE_BSD_CPU_AFFINITY (Guido Günther)
- Bug Fixes:
  blockcopy: allow larger buf-size (Eric Blake),
  selinux: properly label tap FDs with imagelabel (Martin Kletzander),
  Fix connection to already running session libvirtd (Christophe Fergeau),
  storage: zfs: fix double listing of new volumes (Roman Bogorodskiy),
  qemu_driver: Resolve Coverity FORWARD_NULL (John Ferlan),
  virnetserverservice: Resolve Coverity ARRAY_VS_SINGLETON (John Ferlan),
  libxl_migration: Resolve Coverity NULL_RETURNS (John Ferlan),
  qemu_command: Resolve Coverity DEADCODE (John Ferlan),
  qemu_driver: Resolve Coverity DEADCODE (John Ferlan),
  domain_conf: Resolve Coverity DEADCODE (John Ferlan),
  qemu_monitor: Resolve Coverity NESTING_INDENT_MISMATCH (John Ferlan),
  storage_conf: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  qemu_driver: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  phyp_driver: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  libxl_migration: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  bridge_driver: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  virsh-network: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  network_conf: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  qemu_capabilities: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  libxl_domain: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  qemu_agent: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  qemu_command: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  cpu_x86: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  domain_conf: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  daemon: Resolve Coverity NEGATIVE_RETURNS (John Ferlan),
  qemu_capabilities: Resolve Coverity RESOURCE_LEAK (Wang Rui),
  tests: Resolve Coverity RESOURCE_LEAK (Wang Rui),
  util: Resolve Coverity RESOURCE_LEAK (Wang Rui),
  virsh: fix keepalive error msg (Erik Skultety),
  qemu_capabilities: Resolve Coverity NULL_RETURNS (John Ferlan),
  qemu_driver: Resolve Coverity CONSTANT_EXPRESSION_RESULT (John Ferlan),
  domain_conf: Resolve Coverity REVERSE_INULL (John Ferlan),
  qemu_command: Resolve Coverity REVERSE_INULL (John Ferlan),
  domain_conf: Resolve Coverity REVERSE_INULL (John Ferlan),
  storage_driver: Resolve Coverity REVERSE_INULL (John Ferlan),
  xen_xm: Resolve Coverity USE_AFTER_FREE (John Ferlan),
  xen_common: Resolve Coverity USE_AFTER_FREE (John Ferlan),
  parallels: Resolve Coverity USE_AFTER_FREE (John Ferlan),
  conf: fix leak with def->mem.hugepages (Martin Kletzander),
  qemu: call endjob in RevertToSnapshot (Jincheng Miao),
  virsh: Initialize vshData in cmdMigrate (Ján Tomko),
  libxl: fix memory corruption introduced by commit b55cc5f4e (Jim Fehlig),
  iotune: setting an invalid value now reports error (Erik Skultety),
  xenconfig: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  virnetsocket: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  commandtest: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  numatune: setting --mode does not work well (Erik Skultety),
  qemu: min_guarantee: Parameter 'min_guarantee' not supported (Erik Skultety),
  Parallels: fix error with video card RAM dimension (Alexander Burluka),
  util: compare floor attribute in virNetDevBandwidthEqual (Martin Kletzander),
  conf: net: Correctly switch how to format address fields (Peter Krempa),
  Perform disk config validity checking for attach-device config (John Ferlan),
  nodeCapsInitNUMA: Avoid @cpumap leak (Michal Privoznik),
  qemu: Issue rtc-reset-reinjection command after guest-set-time (Michal Privoznik),
  qemu: forbid negative blkio values (Martin Kletzander),
  lxc: forbid negative blkio values (Martin Kletzander),
  qemu: Fix build error introduced in 653137eb957a278b556c6226424aad5395a (Peter Krempa),
  qemu: blkiotune: Avoid accessing non-existing disk configuration (Peter Krempa),
  qemu: Label all TAP FDs (Michal Privoznik),
  cmdMigrate: move vshConnect before vshWatchJob (Chunyan Liu),
  qemu: cpu: unplug: Remove vcpu pinning on cold cpu unplug (Peter Krempa),
  qemu: Redundant listen address entry in quest xml (Erik Skultety),
  daemon: Fix driver registration ordering (Michal Privoznik),
  network: fix crash when starting a network with no <pf> element (Laine Stump),
  qemu_process: fix memleak found by coverity (Pavel Hrdina),
  Maximum vlanid should be 4095 in interface.rng (Jianwei Hu),
  LXC: Fix virLXCControllerSetupDevPTS() wrt user namespaces (Richard Weinberger),
  conf: fix parsing 'cmd_per_lun' and 'max_sectors' (Mo yuxiang),
  bhyve: fix error message in bhyveStateInitialize (Dmitry Guryanov),
  qemu: migration: Check domain live state after exitting the monitor (Peter Krempa),
  qemu: managedsave: Check that VM is alive after entering async job (Peter Krempa),
  numatune: Fix parsing of empty nodeset (0,^0) (Erik Skultety),
  conf: Format interface's driver more frequently (Michal Privoznik),
  network: populate interface pool immediately when network is started (Laine Stump),
  network: make networkCreateInterfacePool more robust (Laine Stump),
  Make 'uri' command a bit more prominent. (Guido Günther),
  Don't fail qemu driver intialization if we can't determine hugepage size (Guido Günther),
  blockjob: fix use-after-free in blockcopy (Eric Blake),
  blockjob: avoid memory leak during block pivot (Eric Blake),
  snapshot: conf: Enforce absolute paths on disk and memory images (Peter Krempa),
  Node Devices: Fix nodedev-list for fc_host & vports. (Prerna Saxena),
  blockjob: correctly report active commit for job info (Eric Blake),
  Fix vlanid attribute name in nwfilter d (Jianwei Hu),
  Don't overwrite errors from virNetDevBandwidthSet (Ján Tomko),
  virsh: check if domiftune parameters fit into UINT (Ján Tomko),
  storage: Refresh storage pool after upload (John Ferlan)
- Improvements:
  qemu: Allow use of iothreads for disk definitions (John Ferlan),
  domain_conf: Add support for iothreads in disk definition (John Ferlan),
  qemu: Add support for iothreads (John Ferlan),
  domain_conf: Introduce iothreads XML (John Ferlan),
  qemu: Implement bulk stats API and one of the stats groups to return (Peter Krempa),
  virsh: Implement command to excercise the bulk stats APIs (Peter Krempa),
  remote: Implement bulk domain stats APIs in the remote driver (Peter Krempa),
  lib: Add few flags for the bulk stats APIs (Peter Krempa),
  conf: Add helper to free domain list (Peter Krempa),
  vbox: Register per partes (Michal Privoznik),
  virDriverLoadModule: Honor libvirt func name tranlsation (Michal Privoznik),
  virdrivermoduletest: Test all the modules (Michal Privoznik),
  domain_conf: fix internal flag verification (Eric Blake),
  API: Tweak virDomainOpenGraphics to return fd directly (Eric Blake),
  virsh: domain: Split out code to lookup domain from string (Peter Krempa),
  Wire up virDomainOpenGraphicsFD in QEMU driver (Ján Tomko),
  Add RPC implementation for virDomainOpenGraphicsFd (Ján Tomko),
  blkdeviotune: check for overflow when parsing XML (Erik Skultety),
  storage: remove unused 'canonPath' in virStorageFileGetMetadata (Chen Fan),
  Add new 'kvm' domain feature and ability to hide KVM signature (Alex Williamson),
  maint: drop spurious semicolons (Eric Blake),
  daemon: Fix option -v missing info priority log (Zhou Yimin),
  qemu: add support for splash-timeout (Martin Kletzander),
  qemu: add capability probing for splash-timeout (Martin Kletzander),
  storage: zfs: implement download and upload (Roman Bogorodskiy),
  fdstream: introduce virFDStreamOpenBlockDevice (Roman Bogorodskiy),
  fdstream: report error if virSetNonBlock fails (Roman Bogorodskiy),
  qemu: check for active domain after agent interaction (Eric Blake),
  Parallels: Change config report errors code. (Alexander Burluka),
  Parallels: add virNodeGetCPUMap(). (Alexander Burluka),
  daemon: use socket activation with systemd (Martin Kletzander),
  rpc: pass listen FD to the daemon being started (Martin Kletzander),
  util: add virCommandPassListenFDs() function (Martin Kletzander),
  tests: support dynamic prefixes in commandtest (Martin Kletzander),
  cfg.mk: allow integers to be assigned a value computed with i|j|k (Martin Kletzander),
  daemon: support passing FDs from the calling process (Martin Kletzander),
  rpc: set listen backlog on FDs as well as on other sockets (Martin Kletzander),
  remote: create virNetServerServiceNewFDOrUNIX() wrapper (Martin Kletzander),
  util: abstract parsing of passed FDs into virGetListenFDs() (Martin Kletzander),
  virsh: Don't print extra '-'s in error message for -k and -K options (Peter Krempa),
  hvsupport: Adapt to vbox driver rewrite (Michal Privoznik),
  qemu: hotplug: Sanitize shared device removal on media change (Peter Krempa),
  qemu: conf: Split out code to retrieve hostdev key and reuse it (Peter Krempa),
  qemu: conf: Split up qemuRemoveSharedDevice into per-device-type functions (Peter Krempa),
  qemu: conf: Split up qemuAddSharedDevice into per-device-type functions (Peter Krempa),
  qemu: conf: rename qemuCheckSharedDevice to qemuCheckSharedDisk (Peter Krempa),
  qemu: shared: Split out shared device list remove code (Peter Krempa),
  qemu: shared: Split out insertion code to the shared device list (Peter Krempa),
  qemu: hotplug: Format proper source string for cdrom media change (Peter Krempa),
  qemu: hotplug: Change arguments for qemuDomainChangeEjectableMedia (Peter Krempa),
  qemu: hotplug: Add helper to initialize/teardown new disks for VMs (Peter Krempa),
  qemu: hotplug: Untangle cleanup paths in qemuDomainChangeEjectableMedia (Peter Krempa),
  conf: Pass virStorageSource into virDomainDiskSourceIsBlockType (Peter Krempa),
  qemu: Explicitly state that hotplugging cdroms and floppies doesn't work (Peter Krempa),
  conf: fix comment (Giuseppe Scrivano),
  conf, virDomainFSDefPtr: rename "path" argument to "target" (Giuseppe Scrivano),
  bhyve: add volumes support (Roman Bogorodskiy),
  storage: make disk source pool translation generic (Roman Bogorodskiy),
  driver: Move virDrvNetworkGetDHCPLeases to the appropriate section (Peter Krempa),
  qemu: allow device block I/O tuning in session mode (Martin Kletzander),
  src/xenconfig: move common parsing/formatting to xen_common (Jim Fehlig),
  src/xenconfig: wrap common formatting code (Kiarie Kahurani),
  src/xenconfig: wrap common parsing code (Kiarie Kahurani),
  xen: rename xenxs to xenconfig (Jim Fehlig),
  qemu: process: Pin on per-vcpu basis instead of per-vcpupin element (Peter Krempa),
  conf: Refactor virDomainVcpuPinDefParseXML (Peter Krempa),
  conf: cpupin: Remove useless checking of vcpupin element count (Peter Krempa),
  qemu: process: Remove unnecessary argument and rename function (Peter Krempa),
  vbox: Introducing vboxCommonDriver (Taowei),
  vbox: Add registerDomainEvent (Taowei),
  vbox: Rewrite vboxNode functions (Taowei),
  vbox: Rewrite vboxConnectListAllDomains (Taowei),
  vbox: Rewrite vboxDomainScreenshot (Taowei),
  vbox: Rewrite vboxDomainSnapshotDelete (Taowei),
  vbox: Rewrite vboxDomainRevertToSnapshot (Taowei),
  vbox: Rewrite vboxDomainSnapshotHasMetadata (Taowei),
  vbox: Rewrite vboxDomainSnapshotIsCurrent (Taowei),
  vbox: Rewrite vboxDomainSnapshotCurrent (Taowei),
  vbox: Rewrite vboxDomainSnapshotGetParent (Taowei),
  vbox: Rewrite vboxDomainHasCurrentSnapshot (Taowei),
  vbox: Rewrite vboxSnapshotLookupByName (Taowei),
  vbox: Rewrite vboxDomainSnapshotListNames (Taowei),
  vbox: Rewrite vboxDomainSnapshotNum (Taowei),
  vbox: Rewrite vboxDomainSnapshotGetXMLDesc (Taowei),
  vbox: Rewrite vboxDomainSnapshotCreateXML (Taowei),
  vbox: Add API for vboxDomainSnapshotCreateXML (Taowei),
  vbox: Rewrite vboxDomainDetachDeviceFlags (Taowei),
  vbox: Rewrite vboxDomainDetachDevice (Taowei),
  vbox: Rewrite vboxDomainUpdateDeviceFlags (Taowei),
  vbox: Rewrite vboxDomainAttachDeviceFlags (Taowei),
  vbox: Rewrite vboxDomainAttachDevice (Taowei),
  vbox: Rewrite vboxDomainUndefine (Taowei),
  vbox: Rewrite vboxConnectNumOfDefinedDomains (Taowei),
  vbox: Rewrite vboxConnectListDefinedDomains (Taowei),
  vbox: Rewrite vboxDomainGetXMLDesc (Taowei),
  vbox: Add API for vboxDomainGetXMLDesc (Taowei),
  vbox: Rewrite vboxDomainGetMaxVcpus (Taowei),
  vbox: Rewrite vboxDomainGetVcpusFlags (Taowei),
  vbox: Rewrite vboxDomainSetVcpus (Taowei),
  vbox: Rewrite vboxDomainSetVcpusFlags (Taowei),
  vbox: Rewrite vboxDomainGetState (Taowei),
  vbox: Rewrite vboxDomainGetInfo (Taowei),
  vbox: Rewrite vboxDomainSetMemory (Taowei),
  vbox: Rewrite vboxDomainGetOSType (Taowei),
  vbox: Rewrite vboxDomainDestroy (Taowei),
  vbox: Rewrite vboxDomainDestroyFlags (Taowei),
  vbox: Rewrite vboxDomainReboot (Taowei),
  vbox: Rewrite vboxDomainShutdown (Taowei),
  vbox: Rewrite vboxDomainShutdownFlags (Taowei),
  vbox: Rewrite vboxDomainResume (Taowei),
  vbox: Rewrite vboxDomainSuspend (Taowei),
  vbox: Rewrite vboxDomainIsUpdated (Taowei),
  vbox: Rewrite vboxDomainIsPersistent (Taowei),
  vbox: Rewrite vboxDomainIsActive (Taowei),
  vbox: Rewrite vboxDomainLookupByName (Taowei),
  vbox: Rewrite vboxDomainCreateXML (Taowei),
  vbox: Rewrite vboxDomainCreate (Taowei),
  vbox: Rewrite vboxDomainCreateWithFlags (Taowei),
  vbox: Rewrite vboxDomainDefineXML (Taowei),
  vbox: Rewrite vboxDomainUndefineFlags (Taowei),
  vbox: Rewrite vboxDomainLookupByUUID (Taowei),
  vbox: Rewrite vboxDomainLookupById (Taowei),
  vbox: Rewrite vboxConnectNumOfDomains (Taowei),
  vbox: Rewrite vboxConnectListDomains (Taowei),
  vbox: Rewrite vboxConnectGetCapabilities (Taowei),
  vbox: Rewrite vboxConnectGetMaxVcpus (Taowei),
  vbox: Rewrite vboxConnectIsAlive (Taowei),
  vbox: Rewrite vboxConnectIsEncrypted (Taowei),
  vbox: Rewrite vboxConnectIsSecure (Taowei),
  vbox: Rewrite vboxConnectGetHostname (Taowei),
  vbox: Rewrite vboxConnectGetVersion (Taowei),
  vbox: Rewrite vboxDomainSave (Taowei),
  vbox: Rewrite vboxConnectClose (Taowei),
  vbox: Begin to rewrite, vboxConnectOpen (Taowei),
  src/xenxs: Refactor code formating vif device config (Jim Fehlig),
  src/xenxs: Refactor code formating peripheral device config (Kiarie Kahurani),
  src/xenxs: Refactor code formating Vfb config (Kiarie Kahurani),
  src/xenxs: Refactor code formating OS config (Kiarie Kahurani),
  src/xenxs: Refactor code formating CPU config (Kiarie Kahurani),
  src/xenxs: Refactor code formating xm disk config (Kiarie Kahurani),
  src/xenxs: Refactor code formating Char devices config (Kiarie Kahurani),
  src/xenxs: Refactor code formating event actions config (Kiarie Kahurani),
  src/xenxs: Refactor code formating virtual time config (Kiarie Kahurani),
  src/xenxs: Refactor code formating memory config (Kiarie Kahurani),
  src/xenxs: Refactor code formating general VM config (Kiarie Kahurani),
  qemu: Tidy up job handling during live migration (Sam Bobroff),
  LXC: resolve issues in lxcDomainSetMaxMemory (Chen Hanxiao),
  daemon: Limit default log level to journald to VIR_LOG_INFO (Peter Krempa),
  libvirtd: conf: Mention support for logging into journald (Peter Krempa),
  maint: improve syntax check for space around = (Eric Blake),
  qemu_conf: Undefine the correct symbol (Michal Privoznik),
  qemu: process: Fix header format of qemuProcessSetVcpuAffinities (Peter Krempa),
  qemu: use guest-fsfreeze-freeze-list command if mountpoints to freeze specified (Tomoki Sekiyama),
  qemu: Actually clear bandwidth settings (Jianwei Hu),
  src/xenxs: Refactor code parsing OS config (Kiarie Kahurani),
  src/xenxs: Refactor code parsing general config (Kiarie Kahurani),
  src/xenxs: Refactor code parsing emulated hardware config (Kiarie Kahurani),
  src/xenxs: Refactor code parsing Vif config (Kiarie Kahurani),
  src/xenxs: Refactor code parsing Char devices config (Kiarie Kahurani),
  src/xenxs: Refactor code parsing Vfb config (Kiarie Kahurani),
  src/xenxs: Refactor code parsing xm disk config (Kiarie Kahurani),
  src/xenxs: Refactor code parsing CPU features (Kiarie Kahurani),
  src/xenxs: Refactor code parsing PCI config (Kiarie Kahurani),
  src/xenxs: Refactor code parsing event actions (Kiarie Kahurani),
  src/xenxs: Refactor code parsing virtual time config (Kiarie Kahurani),
  src/xenxs: Refactor code parsing memory config (Kiarie Kahurani),
  conf: Add USB sound card support and implement it for qemu (Peter Krempa),
  hostdev: Add iSCSI hostdev XML (John Ferlan),
  domain_conf: Common routine to handle network storage host xml def (John Ferlan),
  qemu: Make virFileFindHugeTLBFS fault tolerant (Michal Privoznik),
  qemu: reword caps-related error (Martin Kletzander),
  domtop: Turn parse_argv into void (Michal Privoznik),
  qemu: fix comment in qemu.conf (Martin Kletzander)
- Cleanups:
  virsh: drop unused variable (Eric Blake),
  Fix spacing around commas (Michal Privoznik),
  examples: test: Kill unsupported maxMemory element (Peter Krempa),
  cleanup spaces between parentheses and braces (Martin Kletzander),
  qemu_command: fix block indentation (Giuseppe Scrivano),
  qemu: Remove extraneous space in function prototypes (John Ferlan),
  daemon: Fix indentation in libvirtd.c (Wang Rui),
  domtop: Remove unused variable (Michal Privoznik)

### 1.2.7: Aug 02 2014

- Features:
  Introduce virConnectGetDomainCapabilities (Michal Privoznik)
- Documentation:
  bhyve: document recent changes (Roman Bogorodskiy),
  fix an incorrect example for memoryBacking (Chen Hanxiao),
  libvirt-guests: fix some typos in a comment (Martin Kletzander),
  libvirt: Fix 'quest' typo in comment (Li Yang),
  Point to list of valid pool target volume formats (John Ferlan),
  Documented VIR_DOMAIN_FEATURE_CAPABILITIES use of virDomainCapabilitesPolicy (Cédric Bosdonnat),
  Explicitly specify how to override spice channel mode (Peter Krempa),
  add domain to address of hostdev pci (Hu Tao),
  domain: Clarify that disk type 'lun' works with iSCSI too (Peter Krempa),
  esx: Fix a comment about VSphere versions (Geoff Hickey),
  virsh: Document bandwidth maximum more clearly (John Ferlan),
  mention more about older capability feature bits (Eric Blake),
  Be more specific about semantics of _REUSE_EXT flag (Peter Krempa),
  Document that snapshot name of block-backed disk isn't autogenerated (Peter Krempa),
  virsh: document the possibility of accepting integers for numatune mode (Martin Kletzander),
  Document the need to free vir*Ptr objects per-function (Ján Tomko),
  Document the need to free vir*Ptr objects (Ján Tomko),
  LXC: fix an improper comments for lxcDomainDestroyFlags (Chen Hanxiao),
  formatdomain.html fixes (Michele Paolino),
  Fix broken link in the HACKING page (Michele Paolino),
  formatdomain: Fix issues found describing auth (John Ferlan),
  LXC: update comments of lxcDomainCreateXMLWithFiles() and lxcDomainCreateXML() (Yue wenyuan)
- Portability:
  build: fix build on cygwin (Eric Blake),
  domtop: Fix build on mingw (Michal Privoznik),
  build: fix build without numactl (Eric Blake),
  Fix build on non-Linux platforms (Roman Bogorodskiy),
  check for cfg->spiceTLS earlier in qemuProcessSPICEAllocatePorts (Ján Tomko),
  build: package .pc files for mingw64 (Eric Blake),
  build: fix gnulib build for mingw (Eric Blake),
  util: cgroup: Fix build on non-cgroup platforms (Peter Krempa),
  Don't require iptables-ipv6 on >= F17 and RHEL >= 7 (Ján Tomko),
  tools/wireshark: fix rpm build (Pavel Hrdina),
  tests: Avoid double linking some libraries (Michal Privoznik)
- Bug Fixes:
  network: always set disable_ipv6, even when it should be 0 (Laine Stump),
  Fix a crash when cloning a volume with no backing store (Ján Tomko),
  qemu: error out if PCI passthrough type is not supported (Hu Tao),
  storage: create: Create files with correct mode (Peter Krempa),
  nodedev: fix a uninitialized variable build failure (Chen Hanxiao),
  nodedev: fix pci express memory leak (Eric Blake),
  qemu: sound: Fix uninitialized model string (Peter Krempa),
  qemu: Fix starting of VMs with empty CDROM drives (Peter Krempa),
  util: virTimeFieldsThenRaw never returns negative (James),
  qemu: cgroup: Don't use NULL path on default backed RNGs (Peter Krempa),
  qemuConnectGetDomainCapabilities: Report error on unknown arch (Michal Privoznik),
  remove range checking for blkiotune weight (Martin Kletzander),
  qemuConnectGetDomainCapabilities: Use wiser defaults (Michal Privoznik),
  leaseshelper: avoid mem leak after storing lease entries (Nehal J Wani),
  conf: avoid memory leaks while parsing seclabel (Eric Blake),
  nwfilter: plug memory leak with firewall (Eric Blake),
  metadata: track title edits across libvirtd restart (Eric Blake),
  Fix build after 47e5b5ae3262f140955abd57bbb13337c65a3497 (Peter Krempa),
  qemu: snapshot: Forbid taking/reverting snapshots in PMSUSPENDED state (Peter Krempa),
  qemu: snapshot: Forbid taking snapshot in invalid state (Peter Krempa),
  schema: pool: netfs: Don't enforce slash in glusterfs pool source (Peter Krempa),
  examples: domtop: Avoid leaking memory (Peter Krempa),
  examples: domtop: Fix uninitialized variable use (Peter Krempa),
  qemu: snapshot: Forbid snapshots of iSCSI passthrough devices (Peter Krempa),
  storage: Disallow vol_wipe for sparse logical volumes (John Ferlan),
  virsh vol-upload/download disallow negative offset (John Ferlan),
  storage: Split out volume wiping as separate backend function (Peter Krempa),
  esx: Fix a bug in the XML code for storage pools (Geoff Hickey),
  blockjob: wait for pivot to complete (Eric Blake),
  Fix const correctness (Michal Privoznik),
  Fix assignment of comparison against zero (Ján Tomko),
  Fix error on fs pool build failure (Ján Tomko),
  spec: fix invalid syntax (Eric Blake),
  libxl: fix return value error Attach|DetachDeviceFlags (Chunyan Liu),
  qemu: blockcopy: Initialize correct source structure (Peter Krempa),
  GetBlockInfo: Use the correct path to qemuOpenFile (John Ferlan),
  virseclabel: Resolve Coverity FORWARD_NULL issue (John Ferlan),
  conf: Always format seclabel's model (Michal Privoznik),
  conf: Fix possible NULL dereference in virStorageVolTargetDefFormat (Matthias Bolte),
  conf: Don't allow multiple seclabels for same model (Michal Privoznik),
  qemu: don't error out when cgroups don't exist (Martin Kletzander),
  util: storage: Fix build after 25924dec0f9329d429aadae14e273602307e2214 (Peter Krempa),
  qemu: fix domxml-to-native failing when spice_tls is not enabled (Jincheng Miao),
  virEventPollDispatchHandles: Honour array boundaries (Michal Privoznik),
  Allow updating names in DHCP hosts by matching IPs. (Ján Tomko),
  Actually fix the spec file (Ján Tomko),
  libxl: fix crash in migrate confirm for transient domains (Jim Fehlig),
  libxl: acquire job though begin phase only (Jim Fehlig),
  libxl: remove domain when migration prepare fails (Jim Fehlig),
  qemu: raise an eror when using aio=native without cache=none (Giuseppe Scrivano),
  Do not allow changing the UUID of a nwfilter (Hu Jianwei),
  LXC: Allow setting max mem lower than current mem (Ján Tomko),
  virsh: domain: Use inactive XML when unplugging interface with --config (Peter Krempa),
  Free the return value of virFileFindResource (Ján Tomko),
  qemu_domain: fix startup policy for disks (Pavel Hrdina),
  Fix segfault when starting a domain with no cpu definition (Ján Tomko),
  qemu: raise an error when trying to use readonly ide disks (Giuseppe Scrivano)
- Improvements:
  blockcommit: turn on active commit (Eric Blake),
  blockcommit: track job type in xml (Eric Blake),
  Domain config: write <features/> if some capabilities are set. (Cédric Bosdonnat),
  blockjob: properly track blockcopy xml changes on disk (Eric Blake),
  blockcopy: add more XML for state tracking (Eric Blake),
  qemu: Implement ./hugepages/page/[@size, @unit, @nodeset] (Michal Privoznik),
  domain: Introduce ./hugepages/page/[@size, @unit, @nodeset] (Michal Privoznik),
  virbitmap: Introduce virBitmapOverlaps (Michal Privoznik),
  qemu: Utilize virFileFindHugeTLBFS (Michal Privoznik),
  Introduce virFileFindHugeTLBFS (Michal Privoznik),
  schema: bhyve and nmdm updates (Roman Bogorodskiy),
  nodedev: move pci express types to virpci.h (Eric Blake),
  nodedev: let compiler help us on switches (Eric Blake),
  qemu: sound: Handle all possible sound cards in switch statement (Peter Krempa),
  conf: RNG: Always fill in default random source path for default backend (Peter Krempa),
  spec: arm and aarch64 have kvm support with F20+ (Cole Robinson),
  spec: Use power64 macro (Cole Robinson),
  test: qemu: Add tests for multiple virtio-rng devices (Peter Krempa),
  virtio-rng: allow multiple RNG devices (Peter Krempa),
  bhyve: cdrom support (Roman Bogorodskiy),
  virsh: add option for selecting domdisplay type (Martin Kletzander),
  virsh: add error message when no graphical display is found (Martin Kletzander),
  hostdev: Introduce virDomainHostdevSubsysSCSIiSCSI (John Ferlan),
  Add virConnectPtr for qemuBuildSCSIHostdevDrvStr (John Ferlan),
  hostdev: Introduce virDomainHostdevSubsysSCSIHost (John Ferlan),
  hostdev: Introduce virDomainHostdevSubsysSCSI (John Ferlan),
  hostdev: Introduce virDomainHostdevSubsysPCI (John Ferlan),
  hostdev: Introduce virDomainHostdevSubsysUSB (John Ferlan),
  qemu: snapshot: Use storage driver to pre-create snapshot file (Peter Krempa),
  storage: Implement virStorageFileCreate for local and gluster files (Peter Krempa),
  qemu: Implement DAC driver chown callback to co-operate with storage drv (Peter Krempa),
  security: DAC: Plumb usage of chown callback (Peter Krempa),
  security: DAC: Introduce callback to perform image chown (Peter Krempa),
  security: DAC: Remove superfluous link resolution (Peter Krempa),
  storage: Add witness for checking storage volume use in security driver (Peter Krempa),
  storage: Implement storage driver helper to chown disk images (Peter Krempa),
  numatune: finish the split from domain_conf and remove all dependencies (Martin Kletzander),
  maint: simplify some syntax check exemptions (Eric Blake),
  spec: Enable sanlock on qemu_kvm_arches for RHEL (Jiri Denemark),
  Added myself in AUTHORS.in (Cédric Bosdonnat),
  Introduce virTristateSwitch enum (Ján Tomko),
  Introduce virTristateBool enum type (Ján Tomko),
  LXC: show used memory as 0 when domain is not active (Chen Hanxiao),
  lxc domain from xml: convert lxc.cap.drop (Cédric Bosdonnat),
  lxc: allow to keep or drop capabilities (Cédric Bosdonnat),
  LXC: create a bind mount for sysfs when enable userns but disable netns (Chen Hanxiao),
  storage: logical: drop useless if (Roman Bogorodskiy),
  getAdapterName: Lookup stable scsi_host (John Ferlan),
  scsi_host: Introduce virFindSCSIHostByPCI (John Ferlan),
  Add unique_id to nodedev output (John Ferlan),
  virutil: Introduce virReadSCSIUniqueId (John Ferlan),
  scsi_backend: Use existing LINUX_SYSFS_SCSI_HOST_PREFIX definition (John Ferlan),
  storage: Introduce parentaddr into virStoragePoolSourceAdapter (Osier Yang),
  virStoragePoolSourceAdapter: Refine the SCSI_HOST adapter name (Osier Yang),
  getAdapterName: check for SCSI_HOST (John Ferlan),
  node_device: HAL: Ignore return value of virStrToLong_ui (Peter Krempa),
  util: Check return value from virStrToLong* functions (Peter Krempa),
  qemu: snapshot: Reject revertion from clearly bad states (Peter Krempa),
  qemu: snapshot: Convert if-else switch to switch statement (Peter Krempa),
  bhyve: reconnect to domains after libvirtd restart (Roman Bogorodskiy),
  examples: Introduce domtop (Michal Privoznik),
  Kill last strto{l,ll,d} scouts (Michal Privoznik),
  lxc conf2xml: convert lxc.network.name for veth networks (Cédric Bosdonnat),
  lxc network configuration allows setting target container NIC name (Cédric Bosdonnat),
  spec: Consolidate with_qemu* definitions (Jiri Denemark),
  storage: Convert 'building' into a bool (John Ferlan),
  Fix build by dropping redefined typedefs (Roman Bogorodskiy),
  test: metadata: Improve test coverage (Peter Krempa),
  Log an error when we fail to set the COW attribute (Ján Tomko),
  storage: wipe: Move helper code into storage backend (Peter Krempa),
  schema: put interleave at correct level (Eric Blake),
  schema: add interleave inside numatune (Martin Kletzander),
  qemu: leave restricting cpuset.mems after initialization (Martin Kletzander),
  qemu: split out cpuset.mems setting (Martin Kletzander),
  qemu: pass numa node binding preferences to qemu (Martin Kletzander),
  qemu: enable disjoint numa cpu ranges (Martin Kletzander),
  qemu: newer -numa parameter capability probing (Martin Kletzander),
  qemu: memory-backend-ram capability probing (Martin Kletzander),
  qemu: allow qmp probing for cmdline options without params (Martin Kletzander),
  numatune: add support for per-node memory bindings in private APIs (Martin Kletzander),
  conf, schema: add support for memnode elements (Martin Kletzander),
  numatune: Encapsulate numatune configuration in order to unify results (Martin Kletzander),
  numatune: unify numatune struct and enum names (Martin Kletzander),
  numatune: create new module for numatune (Martin Kletzander),
  conf, schema: add 'id' field for cells (Martin Kletzander),
  conf: purely a code movement (Martin Kletzander),
  qemu: remove useless error check (Martin Kletzander),
  qemu: purely a code movement (Martin Kletzander),
  support for QEMU vhost-user (Michele Paolino),
  util: forbid freeing const pointers (Eric Blake),
  add nocow test case (Chunyan Liu),
  storagevol: add nocow to vol xml (Chunyan Liu),
  storage: fs: Don't fail volume update if backing store isn't accessible (Peter Krempa),
  storage: fs: Properly parse backing store info (Peter Krempa),
  storage: fs: Process backing store data in virStorageBackendProbeTarget (Peter Krempa),
  storage: backend: fs: Touch up coding style (Peter Krempa),
  storage: Track backing store of a volume in the target struct (Peter Krempa),
  storage: backend: Fix formatting of function arguments (Peter Krempa),
  Rework lxc apparmor profile (Cédric Bosdonnat),
  Implement interface stats for BSD (Roman Bogorodskiy),
  util: virstatslinux: make more generic (Roman Bogorodskiy),
  libxl: support hotplug of <interface> (Chunyan Liu),
  libxl: add HOSTDEV type in libxlDomainDetachDeviceConfig (Chunyan Liu),
  spec: Update polkit dependencies for CVE-2013-4311 (Jiri Denemark),
  capabilities: use bool instead of int (Eric Blake),
  openvswitch: Delete port if it exists while adding a new one (Chunhe Li),
  virSecurityLabelDefParseXML: Rework (Michal Privoznik),
  aa-helper: adjust previous patch (Cédric Bosdonnat),
  Don't output libvirt-UUID.files for LXC apparmor profiles (Cédric Bosdonnat),
  libxl: Correct cast to virDomainDiskDiscard enum. (Ian Campbell),
  LXC: add support for --config in setmem command (Chen Hanxiao),
  virSecurityDeviceLabelDef: substitute 'norelabel' with 'relabel' (Michal Privoznik),
  virSecurityLabelDef: substitute 'norelabel' with 'relabel' (Michal Privoznik),
  storage: Split out volume upload/download as separate backend function (Peter Krempa),
  libxl: add discard support to libxl_device_disk (Olaf Hering),
  conf: Improve metadata type verification (Peter Krempa),
  qemu: snapshot: Refactor image labelling of new snapshot files (Peter Krempa),
  qemu: Refactor qemuDomainPrepareDiskChainElement (Peter Krempa),
  qemu: snapshot: Improve approach to deal with snapshot metadata (Peter Krempa),
  qemu: block: Properly track disk source while pivoting to new image (Peter Krempa),
  qemu: blockcopy: Use the mirror disk source to label the files (Peter Krempa),
  util: storage: Return complete parent info from virStorageFileChainLookup (Peter Krempa),
  util: storage: Make virStorageFileChainLookup more network storage aware (Peter Krempa),
  security: AppArmor: Implement per-image seclabel set (Peter Krempa),
  security: AppArmor: Implement per-image seclabel restore (Peter Krempa),
  security: DAC: Implement per-image seclabel set (Peter Krempa),
  security: DAC: Implement per-image seclabel restore (Peter Krempa),
  security: selinux: Implement per-image seclabel set (Peter Krempa),
  security: selinux: Implement per-image seclabel restore (Peter Krempa),
  security: Introduce APIs to label single images (Peter Krempa),
  locking: Add APIs to lock individual image files (Peter Krempa),
  qemu: cgroup: Setup only the top level disk image for read-write access (Peter Krempa),
  qemu: cgroup: Add functions to set cgroup image stuff on individual imgs (Peter Krempa),
  util: XML: Avoid forward function declaration (Peter Krempa),
  libxl: rename goto label (Jim Fehlig),
  maint: update to latest gnulib (Eric Blake),
  properly indent virSecurityLabelDefsParseXML() parameters (Martin Kletzander),
  Fix the indentation in libvirt.spec.in (Ján Tomko),
  util: cgroup: Add helper to convert device mode to string (Peter Krempa),
  util: storage: Copy parent's disk metadata to backing chain elements (Peter Krempa),
  util: storage: Add function to transfer config parts to new chain element (Peter Krempa),
  util: storagefile: Add deep copy for struct virStorageSource (Peter Krempa),
  storage: Move readonly and shared flags to disk source from disk def (Peter Krempa),
  conf: Don't output seclabels for backingStore elements (Peter Krempa),
  storage: file: Tolerate NULL src when uninitializing the backend (Peter Krempa),
  qemu: Add helper to initialize storage file backend with correct uid/gid (Peter Krempa),
  qemu: Don't propagate whole disk definition into qemuDomainGetImageIds (Peter Krempa),
  qemu: Add support for networked disks for block pull/block rebase (Peter Krempa),
  qemu: Add support for networked disks for block commit (Peter Krempa),
  lib: Introduce flag VIR_DOMAIN_BLOCK_REBASE_RELATIVE (Peter Krempa),
  lib: Introduce flag VIR_DOMAIN_BLOCK_COMMIT_RELATIVE (Peter Krempa),
  qemu: refactor qemuDomainGetBlockInfo to work with remote storage (Peter Krempa),
  storage: gluster: Optimize header reader functions (Peter Krempa),
  util: storage: Allow specifying format for virStorageFileGetMetadataFromBuf (Peter Krempa),
  util: storage: Inline use of virStorageFileGetMetadataFromFDInternal (Peter Krempa),
  audit: Audit smartcard devices (Peter Krempa),
  audit: Add auditing for serial/parallel/channel/console character devs (Peter Krempa),
  virt-lxc-convert: make free return values in bytes (Cédric Bosdonnat),
  qemu: dump: Report better error when dumping VM with passthrough devices (Peter Krempa),
  LXC: remove duplicate controller check code (Chen Hanxiao),
  wireshark: Honor API change coming with 1.12 release (Michal Privoznik),
  wireshark: Include more of libvirt internals (Michal Privoznik),
  qemu: monitor: Add support for backing name specification for block-stream (Peter Krempa),
  qemu: monitor: Add argument for specifying backing name for block commit (Peter Krempa),
  qemu: caps: Add capability for change-backing-file command (Peter Krempa),
  audit: disk: Refactor disk auditing to avoid auditing remote storage (Peter Krempa),
  conf: audit: Split out common steps to audit domain devices (Peter Krempa),
  conf: audit: rng: Reorder new and old RNG device definitions (Peter Krempa),
  util: storage: Add helper to determine whether storage is local (Peter Krempa),
  Utilize virDomainDiskAuth for storage pools (John Ferlan),
  Utilize virDomainDiskAuth for domain disk (John Ferlan),
  qemuargv2xmltest: Resurrect RBD and iSCSI auth (John Ferlan),
  virstorage: Introduce virStorageAuthDef (John Ferlan),
  blockjob: turn on qemu capability bit for active commit (Eric Blake),
  blockjob: allow omitted arguments to QMP block-commit (Eric Blake),
  qemu: Implement virConnectGetDomainCapabilities (Michal Privoznik),
  qemu_capabilities: Introduce virQEMUCapsGetDefaultMachine (Michal Privoznik),
  qemu_capabilities: Introduce virQEMUCapsIsMachineSupported (Michal Privoznik),
  qemu_capabilities: Introduce virQEMUCapsCacheLookupByArch (Michal Privoznik),
  tests: Move qemu caps XML parsing into shared unit (Michal Privoznik),
  virsh: expose virConnectGetDomainCapabilities (Michal Privoznik),
  Introduce domain_capabilities (Michal Privoznik),
  Remove double OOM error reporting (Ján Tomko),
  Remove double OOM error reporting from JSON monitor (Ján Tomko),
  Add OOM error reporting to a few fucntions (Ján Tomko),
  Set errno on OOM in lxcProcReadMeminfo (Ján Tomko),
  Use virBufferCheckError everywhere we report OOM error (Ján Tomko),
  Report errors in virCapabilitiesFormatXML (Ján Tomko),
  Introduce virBufferCheckError (Ján Tomko),
  Use virStringReplace instead of openvz_replace (Ján Tomko),
  Remove useless condition in networkRadvdConfContents (Ján Tomko),
  usb: Remove redundant comment (Ján Tomko),
  More indentation fixes (Ján Tomko),
  Fix indentation in bridge driver (Ján Tomko),
  virsh: Allow attach-disk to specify disk target bus (Yanbing Du),
  qemu: Add cmd_per_lun, max_sectors to virtio-scsi (Mike Perez),
  Add invariant TSC cpu flag (Ján Tomko),
  util: unify extra asterisk in viralloc.h (Martin Kletzander)
- Cleanups:
  tests: Remove stale scsihostdata dir (Michal Privoznik),
  xenapiConnectGetCapabilities: Remove unused 'cleanup' label (Michal Privoznik)

### 1.2.6: Jul 02 2014

- Features:
  libxl: add migration support and fixes (Jim Fehlig),
  various improvements and fixes for NUMA (Michal Privoznik)
- Documentation:
  security: manager: Document behavior of disk label manipulation funcs (Peter Krempa),
  fix some typos in formatdomain.html (Jincheng Miao),
  virsh: man: Correctly spell QEMU (Peter Krempa),
  virsh: man: Fix examples and docs for virsh version (Peter Krempa),
  Added example script on how to convert LXC container config (Cédric Bosdonnat),
  blockjob: document recent job addition (Eric Blake),
  virsh: Add details about specified migration host (Chen Fan),
  blockcommit: document semantics of committing active layer (Eric Blake),
  fix a typo in hacking.html.in (Wangrui (K)),
  formatcaps: Rework and add stubs to document (Michal Privoznik)
- Portability:
  build: link libvirt_conf with libxml (Martin Kletzander),
  vbox: fix linker error (Jim Fehlig),
  libxl: don't break the build on Xen>=4.5 because of libxl_vcpu_setaffinity() (Dario Faggioli),
  Add PKG_CONFIG_PATH to run.in script. (Daniel P. Berrange),
  Change 'interface' to 'iface' in virNetworkDHCPLease (Daniel P. Berrange),
  Fix shadowed variable with older gcc (Ján Tomko),
  Add pkg-config files to allow deps to build against source tree (Daniel P. Berrange),
  Add pkg-config files for libvirt-qemu & libvirt-lxc (Daniel P. Berrange),
  blockjob: avoid compiler uncertainty in info sizing (Eric Blake),
  build: prefer -fstack-protector-strong to -all (Ján Tomko),
  build: remove ssp-buffer-size (Ján Tomko),
  build: remove duplicit warning suppression (Ján Tomko),
  virnetdev: Use ifname in virNetDevGetLinkInfo (Michal Privoznik),
  Fix virbitmaptest on 32-bit (Ján Tomko),
  translations: Don't leave default template fields in .po files (Martin Kletzander),
  tests: Build virstoragetest only when storage driver is compiled too (Peter Krempa),
  Fix build on freebsd (Pavel Hrdina)
- Bug Fixes:
  qemu: copy: Accept 'format' parameter when copying to a non-existing img (Peter Krempa),
  storage: gluster: Fix header reader function (Peter Krempa),
  conf: storage: Add volume feature formatter for gluster pools (Peter Krempa),
  vboxsnapshotxmltest: Don't write to a file in abs_srcdir (Michal Privoznik),
  securityselinuxlabeltest: Don't create dummy file in the srcdir (Michal Privoznik),
  Report one error less when getting net dev speed (Ján Tomko),
  Only detect PCI Express devices as root in udev nodedev driver (Ján Tomko),
  libxl: add PV console if not explicitly specified (Jim Fehlig),
  qemu: snapshot: Save persistent domain config when taking external snapshot (Peter Krempa),
  bhyve: fix build by fixing typo in variable name (Roman Bogorodskiy),
  docs: publish correct enum values (Eric Blake),
  qemu: fix guestfwd chardev option back how it was (Martin Kletzander),
  Fix typo s/SASL_CONF_DIR/SASL_CONF_PATH/ in QEMU VNC code (Daniel P. Berrange),
  qemu: blockcopy: Don't remove existing disk mirror info (Peter Krempa),
  bridge: leases: Fix potential crash caused by use after free (Peter Krempa),
  Free DHCP leases file in networkGetDHCPLeasesHelper (Ján Tomko),
  Rework remoteSerializeDHCPLease (Ján Tomko),
  Free file header in virStorageFileGetMetadataRecurse (Ján Tomko),
  graphics: remember graphics not auto allocated ports (Giuseppe Scrivano),
  LXC: trivially support flag VIR_DRV_FEATURE_TYPED_PARAM_STRING (Chen Hanxiao),
  cmdFreepages: initialize @tmp (Michal Privoznik),
  Fix closedir usage in virNumaGetPages (Roman Bogorodskiy),
  Don't include @LIBS@ in libvirt.pc.in file (Daniel P. Berrange),
  virnuma: Actually build huge page code (Michal Privoznik),
  Do not call closedir with NULL argument (Ján Tomko),
  Fix invalid write in virNumaGetDistances (Ján Tomko),
  Properly check the return value of CCWAddressAsString (Ján Tomko),
  virsh: fix broken code in freepages (Eric Blake),
  Fix xmconfigtest (Jim Fehlig),
  vbox_snapshot_conf: fix wrong use of 'xmlSaveFormatFileEnc' (Pavel Hrdina),
  tests: fix vbox snapshot xmls (Pavel Hrdina),
  vbox: fix a segfault when taking a snapshot (Yohan BELLEGUIC),
  vbox: snapshot: Avoid memleaks in functions dealing with disk arrays (Peter Krempa),
  vbox: snapshot: Avoid memleak in virVBoxSnapshotConfAllChildren (Peter Krempa),
  uuid: Fix coverity warning of unchecked return value (Peter Krempa),
  network: bridge: Avoid freeing uninitialized pointer on cleanup path (Peter Krempa),
  net: leaseshelper: Refactor copying of old entries to avoid double free (Peter Krempa),
  net: leaseshelper: Ignore corrupted lease file and rewrite it (Peter Krempa),
  net: leaseshelper: Don't crash if DNSMASQ doesn't provide lease expiry (Peter Krempa),
  blockjob: don't remove older-style mirror XML (Eric Blake),
  blockcommit: require base below top (Eric Blake),
  leaseshelper: fix another crash (Pavel Hrdina),
  bhyve: do not cleanup unallocated networks on fail (Roman Bogorodskiy),
  bhyve: fix crash in bhyveBuildNetArgStr (Roman Bogorodskiy),
  storage: report VIR_ERR_NO_STORAGE_VOL when the file doesn't exist (Giuseppe Scrivano),
  blockcommit: fix regression with explicit top argument (Eric Blake),
  virsh: forbid negative vcpu argument to vcpupin (Jincheng Miao),
  Fix crash when saving a domain with type none dac label (Ján Tomko),
  vbox_snapshot_conf: Resolve Coverity warnings (John Ferlan),
  vbox_temp: Resolve Coverity warnings (John Ferlan),
  libxl: Resolve Coverity warnings (John Ferlan),
  leaseshelper: fix crash (Pavel Hrdina),
  qemu: Properly label FDs when restoring domain with static label (Shivaprasad G Bhat),
  nodeinfo: avoid uninitialized variable on error (Eric Blake),
  storage: fix memory leak with encrypted images (Eric Blake),
  vbox: fix compilation error (Roman Bogorodskiy),
  SELinux: don't fail silently when no label is present (Ján Tomko),
  parallels: Avoid possible leak of "cpu" from parallelsBuildCapabilities (Peter Krempa),
  Fix storage format probing (Ján Tomko),
  network: bridge: Avoid memory leak from networkBuildDhcpDaemonCommandLine (Peter Krempa),
  qemu: monitor: Fix type of holdtime argument in qemuMonitorJSONSendKey (Peter Krempa),
  libxl: Avoid possible use of uninitialized mem in libxlDomainStart (Daniel P. Berrange),
  qemu: Remove character device backend only after frontend is gone (Jiri Denemark),
  qemu: Remove disk backend only after frontend is gone (Jiri Denemark),
  qemu: Remove interface backend only after frontend is gone (Jiri Denemark),
  Don't use AI_ADDRCONFIG when binding to wildcard addresses (Ján Tomko),
  qemu: Unref cfg when detaching hostdev interface (Jiri Denemark),
  virsh: Check whether found volume is member of the specified storage pool (Peter Krempa)
- Improvements:
  Introduce virFileReadAllQuiet (Ján Tomko),
  Track privileged state in udev nodedev driver (Ján Tomko),
  build: fix 'make syntax-check' after commit c6cf5df3 (Jim Fehlig),
  LXC: throw an error if we failed to get Idmap elements (Chen Hanxiao),
  cpu: Add new Broadwell CPU model (Jiri Denemark),
  net: merge virNetworkGetDHCPLeases and virNetworkGetDHCPLeasesForMAC (Peter Krempa),
  Add test for type none model dac seclabel (Ján Tomko),
  test: add user_xattr check for securityselinuxlabeltest (Jincheng Miao),
  libxl: detect support for save and restore (Jim Fehlig),
  security: nop: Avoid very long lines (Peter Krempa),
  security: Fix header formatting of a few functions (Peter Krempa),
  security: manager: Unify function header format (Peter Krempa),
  security: manager: Avoid forward decl of virSecurityManagerDispose (Peter Krempa),
  security: Rename virSecurityManagerRestoreImageLabel to *Disk* (Peter Krempa),
  util: s/virStorageSourceClearBackingStore/virStorageSourceBackingStoreClear (Peter Krempa),
  Fix a typo in a localized string (Daniel Veillard),
  virConnectCompareCPU: Introduce FAIL_INCOMPATIBLE flag (Jiri Denemark),
  cpuCompare*: Add support for reporting failure on incompatible CPUs (Jiri Denemark),
  cpu: Cleanup coding style in generic CPU driver (Jiri Denemark),
  virsh: Remove bogus stat on log file (Jiri Denemark),
  enhance hostdev mode 'capabilities' process (Jincheng Miao),
  storage: Don't store parent directory of an image explicitly (Peter Krempa),
  storage: Don't canonicalize paths unnecessarily (Peter Krempa),
  tests: virstoragetest: Remove unneeded relative test plumbing (Peter Krempa),
  tests: virstoragetest: Don't test relative start of backing chains (Peter Krempa),
  util: storage: Remove now redundant backingRelative from virStorageSource (Peter Krempa),
  tests: virstoragetest: Remove now unused pathAbs (Peter Krempa),
  storage: Store relative path only for relatively backed storage (Peter Krempa),
  tests: virstoragetest: Remove "expBackingStore" field (Peter Krempa),
  util: storage: Add helper to resolve relative path difference (Peter Krempa),
  LXC: check whether we get MemSwap[Total|Usage] (Chen Hanxiao),
  qemu: enum cleanups in "src/qemu/*" (Julio Faracco),
  libxl: fix version annotation of migration functions (Jim Fehlig),
  virtportallocator: new function "virPortAllocatorSetUsed" (Giuseppe Scrivano),
  net-dhcp-leases: Add virsh support (Nehal J Wani),
  net-dhcp-leases: Private implementation inside network (Nehal J Wani),
  net-dhcp-leases: Implement the remote protocol (Nehal J Wani),
  net-dhcp-leases: Implement the public APIs (Nehal J Wani),
  virNumaGetPages: Don't fail on huge page-less systems (Michal Privoznik),
  virNumaGetPageInfo: Take huge pages into account (Michal Privoznik),
  storage: gluster: Avoid name shadow on older compilers (Peter Krempa),
  storage: gluster: Add backend to return unique storage file path (Peter Krempa),
  util: storagefile: Introduce universal function to canonicalize paths (Peter Krempa),
  util: string: Add helper to free non-NULL terminated string arrays (Peter Krempa),
  libxl: prefer qdisk for <driver name='file'> (Jim Fehlig),
  qemu: parse -device virtio-balloon (Laine Stump),
  Report correct error in virNetDevTapCreate (Ján Tomko),
  util: numa: Stub out hugepage code on non-Linux platforms (Peter Krempa),
  util: numa: Catch readdir errors in virNumaGetPages (Peter Krempa),
  tests: Fix syntax-check after cdd11151791bc9e61538988438980f41c0185681 (Peter Krempa),
  test: Disable storage test when FS backend isn't compiled in (Peter Krempa),
  Split out CCW address allocation (Ján Tomko),
  libxl: Use cooperative resume for migration (Jason Andryuk),
  cpu_arm: Support all ARM processors we know about (Michal Privoznik),
  virNodeParseSocket: Take ARM into account (Michal Privoznik),
  nodeinfotest: Print error if cpuinfo file can't be opened (Michal Privoznik),
  virNodeParseNode: Propagate host architecture (Michal Privoznik),
  nodeinfo: Introduce @arch to linuxNodeInfoCPUPopulate (Michal Privoznik),
  interface: clean up virInterfaceDefDevFormat (Laine Stump),
  interface: clean up virInterfaceDefParseXML (Laine Stump),
  interface: move parsing of bridge attributes into appropriate function (Laine Stump),
  interface: report link state for bonds and vlans too (Laine Stump),
  security: Rename virSecurityManagerSetImageLabel to *Disk* (Peter Krempa),
  security: Sanitize type of @migrated in virSecurityManagerRestoreAllLabel (Peter Krempa),
  util: Don't require full disk definition when getting imagelabels (Peter Krempa),
  util: storagefile: Introduce helper to free storage source perms (Peter Krempa),
  util: seclabel: Add deep copy function for device labels (Peter Krempa),
  storage: encryption: Add deep copy function for storage encryption (Peter Krempa),
  libxl: limit support for specifying an interface script (Jim Fehlig),
  libxl: support interface type=network (Jim Fehlig),
  interface: allow reordering of elements in xml (Laine Stump),
  nodeinfo: Implement nodeGetFreePages (Michal Privoznik),
  virsh: Expose virNodeGetFreePages (Michal Privoznik),
  Introduce virNodeGetFreePages (Michal Privoznik),
  virCaps: expose pages info (Michal Privoznik),
  virnuma: Introduce pages helpers (Michal Privoznik),
  nodeinfo: Rename nodeGetFreeMemory to nodeGetMemory (Michal Privoznik),
  virnuma: Introduce virNumaNodeIsAvailable (Michal Privoznik),
  virsh: expose new active commit controls (Eric Blake),
  blockjob: use stable disk string in job event (Eric Blake),
  xen: handle root= in xen-xm configuration files. (Ian Campbell),
  virt-aa-helper: allow access to /dev/vhost-net if needed (Serge Hallyn),
  util: json: Add helpers for manipulating json arrays (Peter Krempa),
  util: json: Unify function header formatting (Peter Krempa),
  Increase the size of REMOTE_MIGRATE_COOKIE_MAX to REMOTE_STRING_MAX (Shivaprasad G Bhat),
  nodedev: Introduce <pci-express/> to PCI devices (Michal Privoznik),
  virpci: Introduce virPCIDeviceIsPCIExpress and friends (Michal Privoznik),
  storage: better tests of lookup (Eric Blake),
  storage: renumber lookup tests (Eric Blake),
  storage: add alias for less typing (Eric Blake),
  qemu: snapshot: Don't mark all block disks for metadata reuse (Peter Krempa),
  bhyve: silent destroy command errors on cleanup (Roman Bogorodskiy),
  bhyve: implement PCI address allocation (Roman Bogorodskiy),
  virNetDevGetLinkInfo: Don't report link speed if NIC's not up (Michal Privoznik),
  tests: virstoragetest: Fix output when hitting errors (Peter Krempa),
  blockcommit: update error messages related to block jobs (Eric Blake),
  virsh: improve blockcopy UI (Eric Blake),
  virNodeDevCapPCIDevParseXML: Initialize numa_node variable (Michal Privoznik),
  virsh: Reject negative numbers in vshCommandOptULongLong (Peter Krempa),
  virsh: Reject negative numbers in vshCommandOptUL (Peter Krempa),
  virsh: Reject negative numbers in vshCommandOptUInt (Peter Krempa),
  security: Don't skip labelling for network disks (Peter Krempa),
  storage: volume: Rework lookup of volume objects (Peter Krempa),
  storage: Clean up unlocking of storage pool objects (Peter Krempa),
  storage: pool: Fix handling of errors on pool lookup failure (Peter Krempa),
  virsh: include bhyve in virsh -V output (Roman Bogorodskiy),
  maint: exempt graphic binaries from syntax check (Eric Blake),
  vmware: make version parsing more robust (Jean-Baptiste Rouault),
  node_device: Expose link state & speed (Michal Privoznik),
  interface_backend_udev: Implement link speed & state (Michal Privoznik),
  virnetdev: Introduce virNetDevGetLinkInfo (Michal Privoznik),
  virInterface: Expose link state & speed (Michal Privoznik),
  vbox_tmpl.c: Add function for undefining snapshot (Yohan BELLEGUIC),
  vbox_tmpl.c: Patch for redefining snapshots (Yohan BELLEGUIC),
  Add vbox_snapshot_conf struct (Yohan BELLEGUIC),
  vbox_tmpl.c: Better XML description for snapshots (Manuel VIVES),
  qemu: ignore -nodefconfig and -nodefaults when parsing commandline (Laine Stump),
  test: display qemuParseCommandline warnings when VIR_TEST_DEBUG > 0 (Laine Stump),
  m4: bhyve: Fix check for the required bhyve programs (Peter Krempa),
  vmx: Relax virtualHW.version check (Matthias Bolte),
  conf: alter disk mirror xml output (Eric Blake),
  conf: store mirroring information in virStorageSource (Eric Blake),
  conf: store disk source as pointer, for easier manipulation (Eric Blake),
  conf: consolidate disk def allocation (Eric Blake),
  conf: store snapshot source as pointer, for easier manipulation (Eric Blake),
  nodedev: Export NUMA node locality for PCI devices (Michal Privoznik),
  Implement pretty flag for vcpuinfo and nodecpumap (Ján Tomko),
  Introduce virBitmapDataToString (Ján Tomko),
  Always report an error if virBitmapFormat fails (Ján Tomko),
  Format NULL bitmap as an empty string (Ján Tomko),
  virsh: Separate API calls and result printing in cmdVcpuinfo (Ján Tomko),
  virsh: Invert logic in cmdVcpuinfo (Ján Tomko),
  Parallels: Include CPU info in the capabilities XML (Alexander Burluka),
  Parallels: add connectBaselineCPU() (Alexander Burluka),
  Parallels: add domainGetVcpus() (Alexander Burluka),
  maint: prohibit empty first lines (Martin Kletzander),
  Remove unnecessary empty first lines (Martin Kletzander),
  Simplify conditions in virStorageBackendProbeTarget (Ján Tomko),
  Don't reuse 'ret' variable in virStorageBackendProbeTarget (Ján Tomko),
  vircaps2xmltest: Introduce basic testing (Michal Privoznik),
  libxl: introduce libxlDomainDefCheckABIStability (Jim Fehlig),
  maint: detect VPATH builds when checking for gnulib update (Eric Blake),
  maint: optimize locale.h syntax check (Eric Blake),
  virnuma: Check for numa_bitmask_isbitset presence (Michal Privoznik),
  cfg.mk: Introduce rule for setlocale() (Michal Privoznik),
  virnuma: Implement virNumaGetDistances stub for non-NUMA (Michal Privoznik),
  virCaps: Expose distance between host NUMA nodes (Michal Privoznik),
  virnuma: Introduce virNumaGetDistances (Michal Privoznik),
  tests: monitor: json: Fix error message when returning json in json (Peter Krempa),
  libxl: Move virDomainXMLOptionNew into libxlCreateXMLConf (Daniel P. Berrange),
  libxl: Don't pass libxlDriverPrivatePtr into libxlBuildDomainConfig (Daniel P. Berrange),
  libxl: Don't pass virDomainObjPtr to libxlBuildDomainConfig (Daniel P. Berrange),
  qemu: Return in from qemuDomainRemove*Device (Jiri Denemark),
  tests: storagetest: Unify and reformat storage chain format string (Peter Krempa),
  qemu: json: Add format strings for optional command arguments (Peter Krempa),
  util: string: Return element count from virStringSplit (Peter Krempa),
  storage: Traverse backing chains of network disks (Peter Krempa),
  storage: Change to new backing store parser (Peter Krempa),
  storage: Add infrastructure to parse remote network backing names (Peter Krempa),
  storage: Switch metadata crawler to use storage driver file access check (Peter Krempa),
  storage: Switch metadata crawler to use storage driver to read headers (Peter Krempa),
  storage: Switch metadata crawler to use storage driver to get unique path (Peter Krempa),
  storage: backend: Add possibility to suppress errors from backend lookup (Peter Krempa),
  test: storage: Initialize storage source to correct type (Peter Krempa),
  storage: Determine the local storage type right away (Peter Krempa),
  storage: Move virStorageFileGetMetadata to the storage driver (Peter Krempa),
  storage: Add API to check accessibility of storage volumes (Peter Krempa),
  storage: backend: Add unique id retrieval API (Peter Krempa),
  xenapi_utils: Adapt to enum cleanups (Michal Privoznik),
  virnuma.c: Fix some comments (Michal Privoznik),
  conf: more enum cleanups in "src/conf/domain_conf.h" (Julio Faracco),
  conf: enum cleanups in "src/conf/domain_conf.h" (Julio Faracco),
  cpu: use typedefs for enums in "src/cpu/cpu_map.h" (Julio Faracco),
  virsh-nodedev: Avoid spurious errors (Michal Privoznik),
  qemu: Process DEVICE_DELETED event in a separate thread (Jiri Denemark),
  qemu: Finish device removal in the original thread (Jiri Denemark),
  Add helper program to create custom leases (Nehal J Wani)
- Cleanups:
  Remove redundant docs from libvirt.h (Jiri Denemark),
  conf: whitespace tweak (Chen Fan)

### 1.2.5: Jun 02 2014

- Security:
  LSN-2014-0003: Don't expand entities when parsing XML (Daniel P. Berrange)
- Features:
  Introduce virDomain{Get,Set}Time APIs (Michal Privoznik),
  Introduce virDomainFSFreeze() and virDomainFSThaw() public API (Tomoki Sekiyama)
- Documentation:
  bhyve driver documentation improvements (Roman Bogorodskiy),
  virsh: fix typos in virsh man page (Eric Blake),
  maint: fix typo in previous patch (Eric Blake),
  fix documentation of virDomainSet(Get)Metadata (Dan Kenigsberg),
  Fix an extra ' in a translated string (Daniel Veillard),
  add a serial device with a seclabel example (Ján Tomko),
  maint: fix typos related to disk name resolution (Eric Blake),
  maint: fix typos related to 'frozen' (Eric Blake),
  mention vagrant-libvirt in apps.html (James Shubin),
  update documentation of <interface type='hostdev'> (Chunyan Liu),
  update README-hacking (Chen Hanxiao),
  virerror: Fix an error message typo (Cole Robinson),
  fix a typo in formatdomain (Chen Hanxiao),
  typos: fix s/it/is/ where applicable (Martin Kletzander),
  datatypes: Fix comment of secret uuid (Li Yang)
- Portability:
  build: avoid compiler warning on 32-bit platform (Eric Blake),
  build: fix build with libselinux 2.3 (Cédric Bosdonnat),
  qemu: Fix specifying char devs for PPC (Olivia Yin),
  change machine name ppce500v2 to ppce500 (Olivia Yin),
  tests: avoid dlsym mocking on mingw (Eric Blake),
  avoid 'sync' as variable name (Pavel Hrdina),
  Fix build wihout macvtap or virtualport (Ján Tomko)
- Bug Fixes:
  util: fix DST end date in virtimetest timezones (Laine Stump),
  qemu: snapshot: Improve detection of mixed snapshots (Peter Krempa),
  qemu: snapshot: Reject internal active snapshot without memory state (Peter Krempa),
  util: storage: Fix crash of libvirtd on network backed guest block-pull (Peter Krempa),
  util: fix virTimeLocalOffsetFromUTC DST processing (Laine Stump),
  qemu: managedsave: Don't spam logs with warnings about corrupted image (Peter Krempa),
  utils: storage: Canonicalize paths only for local filesystems (Peter Krempa),
  qemu: reject rather than hang on blockcommit of active layer (Eric Blake),
  Clean up chardev sockets on QEMU shutdown (Ján Tomko),
  qemu: fix <clock offset='variable' basis='localtime'/> (Laine Stump),
  qemu: fix RTC_CHANGE event for <clock offset='variable' basis='utc'/> (Laine Stump),
  qemu: Properly abort migration to a file (Jiri Denemark),
  qemu: Send migrate_cancel when aborting migration (Jiri Denemark),
  Fix error message when TUNNELLED flag is used in non-p2p migration (Jiri Denemark),
  conf: fix backing store parse off-by-one (Eric Blake),
  Fix crash in DAC driver with no seclabels (Ján Tomko),
  util: fix memory leak in failure path of virCgroupKillRecursiveInternal (Chen Hanxiao),
  qemu: Avoid leak in qemuDomainCheckRemoveOptionalDisk (Jiri Denemark),
  qemu: Ignore temporary job errors when checking migration status (Jiri Denemark),
  qemu: snapshot: Terminate job when memory compression program isn't found (Peter Krempa),
  sanlock: avoid leak in acquire() (Martin Kletzander),
  virsh: domain: Fix output of the VNC display number for domdisplay (Peter Krempa),
  sanlock: don't fail with unregistered domains (Martin Kletzander),
  storage: Resolve issues in failure path (John Ferlan),
  spec: Don't install nonexistent test_libvirt_lockd.aug (Jiri Denemark),
  spec: sanlock is x86_64 only on RHEL (Jiri Denemark),
  Fix vlan ID detection in udev interface driver (Ján Tomko)
- Improvements:
  maint: cleanup detection of const'ness of selinux ctx (Jim Fehlig),
  storage: fs: Drop-in replace use of virStorageFileGetMetadataFromBuf (Peter Krempa),
  storage: Return backing format from virStorageFileGetMetadataFromFD (Peter Krempa),
  util: new function virTimeLocalOffsetFromUTC (Laine Stump),
  storage: Add storage file API to read file headers (Peter Krempa),
  storage: Add support for access to files using provided uid/gid (Peter Krempa),
  storage: Add NONE protocol type for network disks (Peter Krempa),
  conf: Fix domain disk path iterator to work with networked storage (Peter Krempa),
  storage: Rework debugging of storage file access through storage driver (Peter Krempa),
  storage: Store gluster volume name separately (Peter Krempa),
  qemu: Make qemuDomainPrepareDiskChainElement aware of remote storage (Peter Krempa),
  qemu: process: Refresh backing chain info when reconnecting to qemu (Peter Krempa),
  Don't log an internal error when the guest hasn't updated balloon stats (Ján Tomko),
  qemuSetupCgroupForVcpu: s/virProcessInfoSetAffinity/virProcessSetAffinity/ (Michal Privoznik),
  bhyve: fix virObjectUnlock() usage (Roman Bogorodskiy),
  virdbus: Show method name in error message (Cole Robinson),
  virdbus: Remove redundant error macro (Cole Robinson),
  qemu: snapshot: Fix return value of external checkpoint with no disks (Peter Krempa),
  qemu: snapshot: Forbid empty snapshots (Peter Krempa),
  qemu: snapshot: Forbid partial internal snapshots (Peter Krempa),
  qemu: snapshot: Use typecasted switch in qemuDomainSnapshotPrepare() (Peter Krempa),
  bhyve: domain events support (Roman Bogorodskiy),
  migration: add support for migrateURI configuration (Chen Fan),
  util: refactor virNetlinkCommand to fix several bugs / style problems (Laine Stump),
  build: nuke more uses of 'sync' (Eric Blake),
  Return error when updating cdrom device (Pavel Hrdina),
  Revert "maint: prefer enum over int for virstoragefile structs" (Eric Blake),
  parallels: create VMs in the default place (Dmitry Guryanov),
  parallels: add disks correctly (Dmitry Guryanov),
  parallels: set file format in virDomainDef (Dmitry Guryanov),
  parallels: add VIR_STORAGE_FILE_PLOOP format (Dmitry Guryanov),
  conf: fix seclabels for chardevs (Ján Tomko),
  Rename virDomainDiskSourceDefFormatSeclabel (Ján Tomko),
  security_dac: honor relabel='no' in chardev config (Jim Fehlig),
  security_dac: avoid relabeling hostdevs when relabel='no' (Jim Fehlig),
  security_dac: honor relabel='no' in disk config (Jim Fehlig),
  security_dac: avoid relabeling when relabel='no' (Jim Fehlig),
  security_dac: rework callback parameter passing (Jim Fehlig),
  security_dac: cleanup use of enum types (Jim Fehlig),
  security_dac: annotate some functions with ATTRIBUTE_NONNULL (Jim Fehlig),
  maint: prefer enum over int for virstoragefile structs (Eric Blake),
  maint: shorten 'TypeType' function names (Eric Blake),
  maint: use enum typedef for virstorageencryption.h (Eric Blake),
  vbox: fix stale comment about vdi storage type (Eric Blake),
  qemu: Implement virDomain{Get,Set}Time (Michal Privoznik),
  virsh: Expose virDomain{Get,Set}Time (Michal Privoznik),
  security_dac: Fix indentation (Jim Fehlig),
  security_dac: Remove unnecessary curly braces (Jim Fehlig),
  security_dac: Remove unnecessary ATTRIBUTE_UNUSED (Jim Fehlig),
  virsh: reject undefine --wipe-storage without also naming storage (Li Yang),
  conf: use typedefs for enums in "src/conf/snapshot_conf.h" (Julio Faracco),
  conf: use typedefs for enums in "src/conf/storage_conf.h" (Julio Faracco),
  conf: use typedefs for enums in "src/conf/nwfilter_conf.h" (Julio Faracco),
  qemu: Make qemuProcess{Start,Stop}CPUs easier to follow (Jiri Denemark),
  qemuDomainObjBeginNestedJob: Return -2 for temporary failures (Jiri Denemark),
  qemu: Make qemuDomainObjBeginNestedJob static (Jiri Denemark),
  qemu: extract common PCI handling functions (Roman Bogorodskiy),
  qemu: extract PCI handling structs (Roman Bogorodskiy),
  qemu: Adjust size for qcow2/qed if not on sector boundary (John Ferlan),
  sanlock: code movement in virLockManagerSanlockAcquire (Martin Kletzander),
  apibuild: Disallow 'returns' return description (Michal Privoznik),
  qemu: Support mountpoints option of guest-fsfreeze-freeze (Tomoki Sekiyama),
  virsh: Expose new virDomainFSFreeze and virDomainFSThaw API (Tomoki Sekiyama),
  qemu: Implement virDomainFSFreeze and virDomainFSThaw (Tomoki Sekiyama),
  conf: use typedefs for enums in node_device_conf, nwfilter_params (Julio Faracco),
  libxl: fix support for <interface type="hostdev"> syntax (Chunyan Liu),
  maint: use $(SED) instead of sed for syntax-check (Roman Bogorodskiy),
  bhyve: implement connectGetSysinfo (Roman Bogorodskiy),
  qemu: Implement a stub cpuArchDriver.compare() handler for arm and aarch64 (Oleg Strikov),
  ESX: add virStorageVolGetInfo in iSCSI backend. (Dawid Zamirski),
  parallels: add a set of trivial functions (Dmitry Guryanov),
  parallels: don't add domain to the list twice (Dmitry Guryanov),
  parallels: don't enable VNC when we define a new domain (Dmitry Guryanov),
  parallels: fix virDomainDef.features comparison (Dmitry Guryanov),
  Add support for timestamping QEMU logs (Ján Tomko),
  qemu: track quiesced status in qemuDomainSnapshotFSFreeze (Tomoki Sekiyama),
  remote: Implement virDomainFSFreeze and virDomainFSThaw (Tomoki Sekiyama),
  udev: consider the device a CDROM when ID_CDROM=1 (Giuseppe Scrivano),
  virdbus: Make virDBusCall static (Cole Robinson),
  qemu: specify domain in host-side PCI addresses when needed/supported (Laine Stump),
  qemu: add host-pci-multidomain capability (Laine Stump),
  storageVolCreateXMLFrom: Allow multiple accesses to origvol (Michal Privoznik),
  conf: use typedefs for enums in "src/conf/{network,interface}_conf.h" (Julio Faracco),
  conf: use typedefs for enums in "src/conf/cpu_conf.h" (Julio Faracco),
  util: use typedefs for enums in "src/util/" directory (Julio Faracco),
  virsh: Replace list element to defined variable (Li Yang),
  libxl: support PARAVIRT reboot flag (Jim Fehlig),
  libxl: support PARAVIRT and ACPI shutdown flags (Jim Fehlig),
  Introduce a new flag for controlling shutdown/reboot (Jim Fehlig),
  conf: drop extra storage probe (Eric Blake),
  bhyve: report cpuTime in bhyveDomainGetInfo (Roman Bogorodskiy),
  bhyve: implement connectDomainXMLToNative (Roman Bogorodskiy),
  bhyve: improve bhyve_command.c testability (Roman Bogorodskiy)
- Cleanups:
  virSecurityDACRestoreSecurityHostdevLabel: Unmark @def as unused (Michal Privoznik)

### 1.2.4: May 04 2014

- Documentation:
  Device{Attach,Detach}: Document S4 limitations (Michal Privoznik),
  Add a new example to illustrate domain migration (Sahid Orentino Ferdjaoui),
  update docs for setting the QEMU BIOS path (Chen Hanxiao),
  document nmdm type console (Roman Bogorodskiy),
  Fix typos in src/* (Nehal J Wani),
  document that vfio is default for hostdev networks too (Laine Stump),
  cpu: Add documentation for CPU driver APIs (Jiri Denemark),
  virsh: Fix comment of vshCmdInfo (Li Yang)
- Portability:
  Explicitly link virfirewalltest and virsystemdtest against dbus (Guido Günther),
  qemuxml2argvtest: Don't use privileged mode upfront (Guido Günther),
  tests: skip virfirewalltest on non-Linux systems (Roman Bogorodskiy),
  tests: don't fail with newer gnutls (Martin Kletzander),
  fix build with older gcc (Ján Tomko),
  storage: reject negative indices (Eric Blake),
  networkxml2firewalltest: fix build failure on freebsd (Pavel Hrdina),
  virfirewall: fix build on freebsd (Pavel Hrdina),
  Disable libvirtd by default when building on Win32 (Daniel P. Berrange),
  Don't use SO_REUSEADDR on Win32 platforms (Daniel P. Berrange),
  Conditionalize include of dlfcn.h in virmock.h (Daniel P. Berrange),
  build: avoid 'index' as variable name (Eric Blake),
  build: Don't use code with dbus_message_unref when built without dbus (Martin Kletzander),
  tests: Fix systemd test with --without-driver-modules (Jiri Denemark),
  Fix build on mingw32 (Ján Tomko),
  build: avoid compiler warning on shadowed name (Jean-Baptiste Rouault),
  tests: link against libxml2 (Guido Günther),
  tests: build viridentitytest only WITH_ATTR. (Jincheng Miao),
  maint: Correctly detect wether "gluster" cli tool is accessible (Peter Krempa),
  libvirt-guests: avoid bashism (Guido Günther),
  Use the force flag for mkfs -t xfs (Ján Tomko)
- Bug Fixes:
  Restore skipping of setting capacity (John Ferlan),
  qemu: fix crash when removing <filterref> from interface with update-device (Laine Stump),
  storage: Clear all data allocated about backing store before reparsing (Peter Krempa),
  nwfilter: Tear down temp. filters when tearing all filters (Stefan Berger),
  Set mknod permission in device ACL for LXC USB devices (Daniel P. Berrange),
  conf: avoid null deref during storage probe (Eric Blake),
  qemu: properly quit migration with abort_on_error (Martin Kletzander),
  qemu: don't call virFileExists() for network type disks (Martin Kletzander),
  storage_backend_rbd: Correct argument order to rbd_create3 (Steven McDonald),
  xen: ensure /usr/sbin/xend exists before checking status (Jim Fehlig),
  Remove bogus ATTRIBUTE_NONNULL from virFirewallAddRuleFull (Daniel P. Berrange),
  Make autostart of virtlockd actually work (Daniel P. Berrange),
  Fix leak on OOM in virNWFilterVarValueCreateSimpleCopyValue (Daniel P. Berrange),
  qemu: Avoid overflow when setting migration speed on inactive domains (Jiri Denemark),
  qemu: don't check for backing chains for formats w/o snapshot support (Martin Kletzander),
  Fix pci bus naming for PPC (Daniel P. Berrange),
  Document behavior of setvcpus during guest boot (Ján Tomko),
  Save domain status after cpu hotplug (Ján Tomko),
  Fix error for out of range vcpu in qemuDomainPinVcpuFlags (Ján Tomko),
  Properly free vcpupin info for unplugged CPUs (Ján Tomko),
  Only set QEMU_CAPS_NO_HPET on x86 (Ján Tomko),
  Fix Memory Leak in virStorageFileGetMetadataRecurse() (Nehal J Wani),
  qemu: Unlock the NWFilter update lock by leaving via the cleanup label (Stefan Berger),
  storage: netfs: Handle backend errors (John Ferlan),
  conf: fix omission of <driver> in domain dumpxml (Eric Blake),
  Fix virsystemdtest without SYSTEMD_DAEMON (Ján Tomko),
  qemu: Avoid overflow when setting migration speed (Jiri Denemark),
  bhyve: fix domain management (Wojciech Macek),
  Check maximum startcpu value correctly (Ján Tomko),
  storage: Don't update pool available/allocation if buildVol fails (John Ferlan),
  LXC: Fix return code evaulation in lxcCheckNetNsSupport() (Richard Weinberger),
  Fix incorrect values in redirdev ABI check error (Ján Tomko),
  virNetDev{Replace,Restore}MacAddress: Fix memory leak (Wangrui K),
  bhyveConnectGetCapabilities: Fix double caps unref (Michal Privoznik),
  Simplify bhyveDriverGetCapabilities() (Michal Privoznik),
  bhyve_capabilities: Add Semihalf to Copyright (Michal Privoznik),
  tests: Don't crash when creating the config object fails (Guido Günther),
  conf: avoid memleak on NULL path (Eric Blake),
  lxc conf2xml: don't let current vcpus at 0: define won't like it (Cédric Bosdonnat),
  QoS: make tc filters match all traffic (Antoni S. Puimedon),
  NFS storage pool: Fix libvirtd crash due to refactor edit (John Ferlan),
  Define CPUINFO_FILE_LEN and fix maxlen of cpuinfo file for all uses (Olivia Yin),
  Fix Memory Leak in daemon/libvirtd.c (Nehal J Wani),
  qemu: make sure agent returns error when required data are missing (Martin Kletzander),
  Fix coverity-reported leak in virSecurityManagerGenLabel (Ján Tomko),
  phyp: fix logic error on volume creation (Eric Blake),
  qemu: cleanup error checking on agent replies (Martin Kletzander)
- Improvements:
  util: new stricter unsigned int parsing (Eric Blake),
  util: fix uint parsing on 64-bit platforms (Eric Blake),
  Misc error reporting bugs in QEMU cli builder (Daniel P. Berrange),
  nwfilter: Validate rule after parsing (Stefan Berger),
  Add support for QEMU migration to use SASL authentication (Sahid Orentino Ferdjaoui),
  enforce sane readdir usage (Eric Blake),
  network: use virDirRead in networkMigrateStateFiles (Laine Stump),
  storage: use virDirRead API (Eric Blake),
  drivers: use virDirRead API (Eric Blake),
  util: use virDirRead API (Eric Blake),
  conf: use virDirRead API (Eric Blake),
  nodeinfo: use virDirRead API (Natanael Copa),
  util: introduce virDirRead wrapper for readdir (Natanael Copa),
  tests: remove hostdevmgr directory on cleanup (Martin Kletzander),
  Use virFileFindResource to locate virtlockd daemon (Daniel P. Berrange),
  Use virFileFindResource to locate libvirtd daemon (Daniel P. Berrange),
  Recheck disk backing chains after snapshot (Jiri Denemark),
  network: centralize check for active network during interface attach (Laine Stump),
  network: set macvtap/hostdev networks active if their state file exists (Laine Stump),
  network: change location of network state xml files (Laine Stump),
  network: create statedir during driver initialization (Laine Stump),
  network: fix virNetworkObjAssignDef and persistence (Laine Stump),
  build: -avoid-version on libvirt_driver_nwfilter (Dwight Engen),
  libxl: Support PV consoles (Ian Campbell),
  build: add nwfilterxml2firewalldata to dist (Dwight Engen),
  Add a test suite for nwfilter ebiptables tech driver (Daniel P. Berrange),
  Remove last trace of direct firewall command exection (Daniel P. Berrange),
  Convert ebiptablesDriverProbeStateMatch to virFirewall (Daniel P. Berrange),
  Convert nwfilter ebiptablesApplyNewRules to virFirewall (Daniel P. Berrange),
  Convert nwfilter ebtablesApplyDropAllRules to virFirewall (Daniel P. Berrange),
  Convert nwfilter ebtablesApplyDHCPOnlyRules to virFirewall (Daniel P. Berrange),
  Convert nwfilter ebtablesApplyBasicRules to virFirewall (Daniel P. Berrange),
  Convert nwfilter ebiptablesTearNewRules to virFirewall (Daniel P. Berrange),
  Convert nwfilter ebtablesRemoveBasicRules to virFirewall (Daniel P. Berrange),
  Convert nwfilter ebiptablesTearOldRules to virFirewall (Daniel P. Berrange),
  Convert nwfilter ebiptablesAllTeardown to virFirewall (Daniel P. Berrange),
  Convert ebtables code over to use firewall APIs (Daniel P. Berrange),
  Add test for converting network XML to iptables rules (Daniel P. Berrange),
  Replace virNetworkObjPtr with virNetworkDefPtr in network platform APIs (Daniel P. Berrange),
  Convert bridge driver over to use new firewall APIs (Daniel P. Berrange),
  Introduce an object for managing firewall rulesets (Daniel P. Berrange),
  Preserve error when tearing down nwfilter rules (Daniel P. Berrange),
  Remove two-stage construction of commands in nwfilter (Daniel P. Berrange),
  Merge nwfilter createRuleInstance driver into applyNewRules (Daniel P. Berrange),
  Push virNWFilterRuleInstPtr out of (eb|ip)tablesCreateRuleInstance (Daniel P. Berrange),
  Add helper methods for determining what protocol layer is used (Daniel P. Berrange),
  Remove nwfilter tech driver 'displayRuleInstance' callback (Daniel P. Berrange),
  Remove nwfilter tech driver 'removeRules' callback (Daniel P. Berrange),
  Remove pointless storage of var names in virNWFilterHashTable (Daniel P. Berrange),
  Remove virDomainNetType parameter from nwfilter drivers (Daniel P. Berrange),
  Move virNWFilterTechDriver struct out of nwfilter_conf.h (Daniel P. Berrange),
  Use virFileFindResource to locate CPU map XML (Daniel P. Berrange),
  Use virFileFindResource to locate driver plugins (Daniel P. Berrange),
  Use virFileFindResource to locate lock manager plugins (Daniel P. Berrange),
  Use virFileFindResource to locate iohelper for fdstream (Nehal J Wani),
  Use virFileFindResource to locate parthelper for storage backend (Nehal J Wani),
  Use virFileFindResource to locate libvirt_lxc for capabilities (Nehal J Wani),
  Use virFileFindResource to locate iohelper for virFileWrapperFdNew (Nehal J Wani),
  Activate build dir overrides in libvirtd, virtlockd, virsh & tests (Daniel P. Berrange),
  Add helpers for resolving path to resources in build tree (Daniel P. Berrange),
  Add test suite for viralloc APIs (Daniel P. Berrange),
  Add support for addressing backing stores by index (Jiri Denemark),
  virStorageFileChainLookup: Return virStorageSourcePtr (Jiri Denemark),
  qemuDomainBlockCommit: Track virStorageSourcePtr for base (Jiri Denemark),
  qemuDomainBlockCommit: Don't track top_canon path separately (Jiri Denemark),
  tests: Test backing store XML formatting and parsing (Jiri Denemark),
  tests: More output options for xml2xml tests (Jiri Denemark),
  conf: Format and parse backing chains in domain XML (Jiri Denemark),
  conf: Output disk backing store details in domain XML (Jiri Denemark),
  util: storage: Invert the way recursive metadata retrieval works (Peter Krempa),
  util: virstoragefile: Don't mangle data stored about directories (Peter Krempa),
  storage: Move disk->backingChain to the recursive disk->src.backingStore (Peter Krempa),
  util: virstoragefile: Rename backingMeta to backingStore (Peter Krempa),
  util: virstorage: Kill struct virStorageFileMetadata (Peter Krempa),
  maint: Switch over from struct virStorageFileMetadata to virStorageSource (Peter Krempa),
  util: storagefile: Add fields from virStorageMetadata to virStorageSource (Peter Krempa),
  util: storagefile: Add function to free a virStorageSourcePtr (Peter Krempa),
  virstoragefile: Kill "backingStore" field from virStorageFileMetadata (Peter Krempa),
  util: virstoragefile: Don't use "backingStore" directly (Peter Krempa),
  util: storagefile: Rename "canonPath" to "path" in virStorageFileMetadata (Peter Krempa),
  util: storage: Rename "path" to "relPath" in virStorageFileMetadata (Peter Krempa),
  storage: util: Clean up arguments of virStorageFileGetMetadataInternal (Peter Krempa),
  util: storage: Move checking of the actual backing image to the worker (Peter Krempa),
  util: storage: Remove obsolete argument virStorageFileGetMetadataInternal (Peter Krempa),
  util: storagefile: Always store raw backing name in the metadata (Peter Krempa),
  qemu: unexport qemuDiskChainCheckBroken (Peter Krempa),
  bhyve: bhyveDomainDefineXML fixes (Roman Bogorodskiy),
  PPC64 prefers to set pci-ohci controller as default USB controller (Li Zhang),
  Make virDomainVcpuPinDel return void (Ján Tomko),
  maint: update to latest gnulib (Eric Blake),
  bhyve: domainCreateXML (Wojciech Macek),
  Remove QEMU_CAPS_MACHINE_USB_OPT from ComputeCmdFlags (Ján Tomko),
  conf: split <disk> schema into more pieces (Eric Blake),
  conf: set up for per-grammar overrides in schemas (Eric Blake),
  conf: restrict external snapshots to backing store formats (Eric Blake),
  conf: move storage formats to common RNG file (Eric Blake),
  conf: better <disk> interleaving in schema (Eric Blake),
  conf: create common storage RNG grammar file (Eric Blake),
  conf: delete internal directory field (Eric Blake),
  conf: tweak chain lookup internals (Eric Blake),
  conf: drop redundant parameter to chain lookup (Eric Blake),
  conf: report error on chain lookup failure (Eric Blake),
  util: new virFileRelLinkPointsTo function (Eric Blake),
  conf: test backing chain lookup (Eric Blake),
  Introduce --without-pm-utils to get rid of pm-is-supported dependency (Cédric Bosdonnat),
  conf: delete useless backingStoreFormat field (Eric Blake),
  conf: return backing information separately from metadata (Eric Blake),
  conf: delete useless backingStoreIsFile field (Eric Blake),
  conf: expose probe for non-local storage (Eric Blake),
  conf: provide details on network backing store (Eric Blake),
  conf: make virstoragetest debug easier (Eric Blake),
  cpu: Properly check input parameters (Jiri Denemark),
  Clean up virCgroupGetPercpuStats (Ján Tomko),
  Rename id, max_id to need_cpus, total_cpus (Ján Tomko),
  Extend virCgroupGetPercpuStats to fill in vcputime too (Ján Tomko),
  Fix return value of virCgroupGetPercpuStats (Ján Tomko),
  Don't require domain obj in qemuDomainGetPercpuStats (Ján Tomko),
  conf: test for more fields (Eric Blake),
  conf: start testing contents of the new backing chain fields (Eric Blake),
  conf: track more fields in backing chain metadata (Eric Blake),
  conf: rename some test fields (Eric Blake),
  conf: earlier allocation during backing chain crawl (Eric Blake),
  conf: track user vs. canonical name through full chain lookup (Eric Blake),
  qemu: Unexport qemuBuildNetworkDriveURI() (Peter Krempa),
  qemu: Refactor qemuGetDriveSourceString to take virStorageSourcePtr (Peter Krempa),
  storage: Refactor location of metadata for storage drive access to files (Peter Krempa),
  storage: Refactor storage file initialization to use virStorageSourcePtr (Peter Krempa),
  conf: Refactor helpers to retrieve actual storage type (Peter Krempa),
  tests: use virBhyveCapsBuild in bhyvexml2argv test (Roman Bogorodskiy),
  conf: another refactor of virstoragetest (Eric Blake),
  conf: interleave virstoragetest structs (Eric Blake),
  conf: test for more scenarios (Eric Blake),
  conf: fix detection of infinite backing loop (Eric Blake),
  vmware: set the driver version (Jean-Baptiste Rouault),
  tests: add bhyve xml2xml test (Roman Bogorodskiy),
  bhyve: add domain metadata support (Roman Bogorodskiy),
  bhyve: fix ATTRIBUTE_NONNULL usage (Roman Bogorodskiy),
  Use a static initializer for static mutexes (Daniel P. Berrange),
  Add syntax check to validate capitalization of abbreviations (Daniel P. Berrange),
  Replace Pci with PCI throughout (Daniel P. Berrange),
  Replace Usb with USB throughout (Daniel P. Berrange),
  Replace Scsi with SCSI throughout (Daniel P. Berrange),
  Switch systemd test to use generic dbus mock (Daniel P. Berrange),
  Create a re-usable DBus LD_PRELOAD mock library (Daniel P. Berrange),
  Introduce a new set of helper macros for mocking symbols (Daniel P. Berrange),
  bhyve: connectCompareCPU support (Wojciech Macek),
  bhyve: create capabilities submodule (Wojciech Macek),
  bhyve: support for connectBaselineCPU (Wojciech Macek),
  interface: dump inactive xml when interface isn't active (Laine Stump),
  hash: add common utility functions (Eric Blake),
  bhyve: add xml2argv tests for console (Roman Bogorodskiy),
  bhyve: add console support through nmdm device (Roman Bogorodskiy),
  bhyve: domain autostart support (David Shane Holden),
  conf: track when storage type is still undetermined (Eric Blake),
  tests: refactor virstoragetest for less stack space (Eric Blake),
  tests: use C99 initialization for storage test (Eric Blake),
  libxl: Set disk format for empty cdrom device (Stefan Bader),
  libxl: Use id from virDomainObj inside the driver (Stefan Bader),
  Add redirdevs to ABI stability check (Ján Tomko),
  virsh: Make 'exit' action same as 'quit' (Li Yang),
  Include PCI address in the error in virDomainNetFindIdx (Ján Tomko),
  Move error reporting into virDomainNetFindIdx (Ján Tomko),
  tests: simplify storage test cleanup (Eric Blake),
  storage: Report error from VolOpen by default (Cole Robinson),
  conf: modify tracking of encrypted images (Eric Blake),
  conf: drop redundant parameters during probe (Eric Blake),
  conf: track sizes directly in source struct (Eric Blake),
  conf: use common struct in storage volumes (Eric Blake),
  conf: move volume structs to util/ (Eric Blake),
  conf: tweak volume target struct details (Eric Blake),
  conf: manage disk source by struct instead of pieces (Eric Blake),
  virsh: man: delete the unexpected character in snapshot-list (Shanzhi Yu),
  maint: fix spelling errors in disk pools (Eric Blake),
  conf: let snapshots share disk source struct (Eric Blake),
  conf: move common disk source functions (Eric Blake),
  util: don't support loopback and nbd when setuid (Eric Blake),
  util: move detection of shared filesystems (Eric Blake),
  conf: move storage source type to util/ (Eric Blake),
  conf: move storage secret type to util/ (Eric Blake),
  conf: move source pool type to util/ (Eric Blake),
  conf: move storage encryption type to util/ (Eric Blake),
  conf: move network disk protocol type to util/ (Eric Blake),
  conf: move host disk type to util/ (Eric Blake),
  conf: split network host structs to util/ (Eric Blake),
  conf: split security label structs to util/ (Eric Blake),
  maint: ensure src/ directory includes are clean (Eric Blake),
  storage: gluster: Implement storage pool lookup (Peter Krempa),
  storage: netfs: Support lookup of glusterfs pool sources (Peter Krempa),
  storage: netfs: Split up and tidy up NFS storage pool source function (Peter Krempa)
- Cleanups:
  tests: drop dead code from argv2xml and xml2xml (Eric Blake),
  qemu: remove unneeded forward declaration (Martin Kletzander)

### 1.2.3: Apr 01 2014

- Features:
  add new virDomainCoreDumpWithFormat API (Qiao Nuohan),
  conf: Introduce virDomainDeviceGetInfo API (Jiri Denemark),
  more features and fixes on bhyve driver (Roman Bogorodskiy),
  lot of cleanups and improvement on the Xen driver (Chunyan Liu, Jim Fehlig)
- Documentation:
  virsh: man: Fix spelling of parameters for --memspec in snapshot-create-as (Shanzhi Yu),
  util: fix a typo in virprocess.c and d (Hongwei Bi),
  cgroups: fix typo about LXC cgroups (Jean-Baptiste Rouault),
  daemon: Enhance documentation for changing NOFILE limit (Jiri Denemark),
  domiftune: Reword bandwidth clearing paragraph (Michal Privoznik),
  conf: consistent comments about disk enum usage (Eric Blake),
  qemu.conf: Mention virtlockd in @lock_manager description (Michal Privoznik),
  add VMmanager to web apps (Martin Kletzander),
  storage: Explicitly state that it's possible to have non-unique key (Peter Krempa),
  typo fix (Roman Bogorodskiy)
- Portability:
  Prohibit Windows special chars in filenames (Matthias Bolte),
  tests: Fix SCSI test data filenames for Windows (Matthias Bolte),
  apparmor: Fix build after split of disk source metadata (Peter Krempa),
  Fix build on mingw32 (Ján Tomko),
  build: Fix build with old automake (Jiri Denemark),
  Fix build with qemu driver disabled (Roman Bogorodskiy),
  Fix type mismatch of virNetDev*NetConfig on non-Linux (Ján Tomko),
  virIdentityGetSystem: don't fail if SELinux is disabled (Michael Chapman)
- Bug Fixes:
  build: fix syntax-check for storage_backend (Martin Kletzander),
  gluster: Fix "key" attribute for gluster volumes (Peter Krempa),
  Fix Memory Leak in testMessageArrayRef() (Nehal J Wani),
  virsh: fix 'help event' (Eric Blake),
  bhyve: don't leak tap devices on failures (Roman Bogorodskiy),
  storage: gluster: Fix crash when initialization of storage backend fails (Peter Krempa),
  Fix virNodeDeviceListCaps always returns empty (Jincheng Miao),
  Create hostdevmgr in UserRuntimeDirectory for session libvirt (Ján Tomko),
  Remove double free in virHostdevManagerDispose (Ján Tomko),
  Fix apparmor profile to make vfio pci passthrough work (Cédric Bosdonnat),
  Fixed regression in apparmor profiles for qemu brought by 43c030f (Cédric Bosdonnat),
  Fix Memory Leak in virQEMUCapsInitGuestFromBinary() (Nehal J Wani),
  Fix memory leak in testGetCaps() (Nehal J Wani),
  network: fix problems with SRV records (Laine Stump),
  Free groups in case of a partial match (Ján Tomko),
  qemuDomainAttachDeviceFlags: Parse device xml as inactive (Michal Privoznik),
  Coverity: Resolve a RESOURCE_LEAK (John Ferlan),
  Coverity: Resolve a FORWARD_NULL (John Ferlan),
  Coverity: Resolve a CHECKED_RETURN message (John Ferlan),
  bhyve: don't fail on busy tap devices (Roman Bogorodskiy),
  libxl: Create log directory earlier (Stefan Bader),
  sanlock: Forbid VIR_DOMAIN_LOCK_FAILURE_RESTART (Jiri Denemark),
  sanlock: Forbid VIR_DOMAIN_LOCK_FAILURE_IGNORE (Jiri Denemark),
  vmware: fix parse of disk source (Eric Blake),
  qemuDomainGetImageIds: Skip <seclabel/> without label (Michal Privoznik),
  cgroup: Fix start VMs coincidently failed (Wang Yufei),
  Remove bogus call to dbus_set_error_from_message (Daniel P. Berrange),
  Remove bogus unref in virDBusMessageRead (Daniel P. Berrange),
  Check boot order on device attach (Jiri Denemark),
  qemu: Return meaningful error when qemu dies early (Jiri Denemark),
  Ignore missing files on pool refresh (Ján Tomko),
  Ignore char devices in storage pools by default (Ján Tomko),
  is_selinux_enabled() returns -1 on error, account for this. (Scott Sullivan),
  Fix unitialized data in virSocketAddrMask (Daniel P. Berrange),
  Fix virQEMUCapsLoadCache leaks (Ján Tomko),
  virNetClientSetTLSSession: Restore original signal mask (Michal Privoznik),
  nwfilter: Fix double free of pointer (Stefan Berger),
  build: Make sure src/util/virprobe.h is distributed (Jiri Denemark),
  qemuhotplugtest: Fix mem-leaking testcases (Nehal J Wani),
  build: Fix make distcheck (Martin Kletzander),
  virNetServerNewPostExecRestart: Initialize @max_anonymous_clients (Michal Privoznik),
  Fix memory leak in virDomainChrSourceDefClear() (Nehal J Wani),
  Fix memory leak in virDomainSnapshotDiskDefClear() (Nehal J Wani),
  bhyve: allow to destroy only active domains (Roman Bogorodskiy),
  Fix leak on OOM when creating nwfilter rule instances (Daniel P. Berrange),
  Avoid warning message from libxl driver on non-Xen kernels (Daniel P. Berrange),
  Fix mistakes in checking return values (Daniel P. Berrange),
  Fix issue found by coverity and cleanup (Pavel Hrdina),
  XMLToNative: Parse XML as INACTIVE (Cole Robinson),
  qemu: XMLToNative: Don't open vhostfd (Cole Robinson),
  qemu: XMLToNative: Don't show -S (Cole Robinson),
  qemu: cleanup tap devices on FreeBSD (Roman Bogorodskiy),
  openvzRegister: Check for error return (John Ferlan),
  nwfilter: Fix rule priority problem (Stefan Berger),
  hotplug:Fix log mistake in qemuMonitorAddNetdev (Wang Rui),
  libxl: Check for control_d string to decide about dom0 (Stefan Bader),
  vircrypto: fix Invalid write in virCryptoHashString() (Nehal J Wani),
  Load CPU map from builddir when run uninstalled (Jiri Denemark),
  nwfilter: Add missing goto err_exit in error path (Stefan Berger),
  Fix sec label setup when attaching to QEMU processes (Daniel P. Berrange),
  storage: Fix bugs in VIR_APPEND_ELEMENT series (John Ferlan),
  Remove broken error reporting in QEMU mac filtering (Daniel P. Berrange),
  BZ1072677: Avoid freeing of 0 file descriptor (Stefan Berger),
  Add a mutex to serialize updates to firewall (Daniel P. Berrange),
  Fix locking in virsh console (Roman Bogorodskiy),
  qemu: Reject unsupported tuning in session mode (Martin Kletzander),
  virt-login-shell: silence coverity warning (Eric Blake),
  Fix missing char dev lock path case in configure (Roman Bogorodskiy),
  storage: Error out when attempting to vol-upload into a remote pool (Peter Krempa),
  build: fix cppi warning (Eric Blake),
  nwfilter: Increase buffer size for libpcap (Stefan Berger)
- Improvements:
  storage: Rename VolOpenCheckMode to VolOpen (Cole Robinson),
  storage: move block format lookup to shared UpdateVolInfo (Cole Robinson),
  storage: Rename UpdateVolInfoFlags to UpdateVolInfo (Cole Robinson),
  util: storagefile: Don't pursue backing chain of NULL image (Peter Krempa),
  storage: pool: Fix XML indentation in pool source lookup (Peter Krempa),
  ESX: Add support for virtualHW version 10 (Dawid Zamirski),
  Modify help information of virsh list command (Li Yang),
  bhyve: add domainLookupByID (Wojciech Macek),
  bhyve: add xml2args unittest (Roman Bogorodskiy),
  Move virBhyveTapGetRealDeviceName to virnetdevtap (Roman Bogorodskiy),
  Shift the for loop over matched vars by one (Ján Tomko),
  Use VIR_STRNDUP instead of modifying the matched string (Ján Tomko),
  Simplify the loop in virCommandRunRegex (Ján Tomko),
  Remove useless 'maxReg' variable (Ján Tomko),
  qemu: add unit tests for the capabilities xml (Francesco Romani),
  qemu: extract guest capabilities initialization (Francesco Romani),
  qemu: export disk snapshot support in capabilities (Francesco Romani),
  Show the real cpu shares value in live XML (Ján Tomko),
  Treat zero cpu shares as a valid value (Ján Tomko),
  qemu: remove redundant virQEMUDriverGetConfig (Tomoki Sekiyama),
  Add a rule for indenting labels (Ján Tomko),
  Indent top-level labels by one space in tools/ (Ján Tomko),
  Indent top-level labels by one space in tests/ (Ján Tomko),
  Indent top-level labels by one space in the rest of src/ (Ján Tomko),
  Indent top-level labels by one space in src/xen/ (Ján Tomko),
  Indent top-level labels by one space in src/vbox/ (Ján Tomko),
  Indent top-level labels by one space in src/util/ (Ján Tomko),
  Indent top-level labels by one space in src/test/ (Ján Tomko),
  Indent top-level labels by one space in src/storage/ (Ján Tomko),
  Indent top-level labels by one space in src/rpc/ (Ján Tomko),
  Indent top-level labels by one space in src/remote/ (Ján Tomko),
  Indent top-level labels by one space in src/qemu/ (Ján Tomko),
  Indent top-level labels by one space in src/parallels/ (Ján Tomko),
  Indent top-level labels by one space in src/nwfilter/ (Ján Tomko),
  Indent top-level labels by one space in src/network/ (Ján Tomko),
  Indent top-level labels by one space in src/lxc/ (Ján Tomko),
  Indent top-level labels by one space in src/locking/ (Ján Tomko),
  Indent top-level labels by one space in libvirt.c (Ján Tomko),
  Indent top-level labels by one space in src/libxl/ (Ján Tomko),
  Indent top-level labels by one space in src/esx/ (Ján Tomko),
  Indent top-level labels by one space in src/cpu/ (Ján Tomko),
  Indent top-level labels by one space in src/conf/ (Ján Tomko),
  Indent top-level labels by one space in examples/ (Ján Tomko),
  Indent top-level labels by one space in daemon/ (Ján Tomko),
  util: Sanitize ATTRIBUTE_NONNULL use in viriscsi.h (Peter Krempa),
  maint: update to latest gnulib (Eric Blake),
  allow "virsh dump --memory-only" specify dump format (Qiao Nuohan),
  qemu: add support for virDomainCoreDumpWithFormat API (Qiao Nuohan),
  qemu: add qemuMonitorGetDumpGuestMemoryCapability (Qiao Nuohan),
  conf: prepare to track multiple host source files per <disk> (Eric Blake),
  conf: use disk source accessors in xenxs/ (Eric Blake),
  conf: use disk source accessors in xen/ (Eric Blake),
  conf: use disk source accessors in vmx/ (Eric Blake),
  conf: use disk source accessors in vmware/ (Eric Blake),
  conf: use disk source accessors in vbox/ (Eric Blake),
  conf: use disk source accessors in uml/ (Eric Blake),
  conf: use disk source accessors in security/ (Eric Blake),
  conf: use disk source accessors in qemu/ (Eric Blake),
  conf: use disk source accessors in phyp/ (Eric Blake),
  conf: use disk source accessors in parallels/ (Eric Blake),
  conf: use disk source accessors in lxc/ (Eric Blake),
  conf: use disk source accessors in locking/ (Eric Blake),
  conf: use disk source accessors in libxl/ (Eric Blake),
  conf: use disk source accessors in esx/ (Eric Blake),
  conf: use disk source accessors in bhyve/ (Eric Blake),
  conf: use disk source accessors in conf/ (Eric Blake),
  conf: accessors for common source information (Eric Blake),
  bhyve: add domainCreateWithFlags support (Roman Bogorodskiy),
  bhyve: MAC address configuration (Wojciech Macek),
  libxl_driver.c: cleanup code (Chunyan Liu),
  Introduce virFDStreamOpenPTY (Roman Bogorodskiy),
  Add stubs for virDBusCreateReply{,V} (Ján Tomko),
  libvirt support to force convergence of live guest migration (Chegu Vinod),
  Allow caller to handle DBus error messages (Daniel P. Berrange),
  Introduce alternate way to encode/decode arrays in DBus messages (Daniel P. Berrange),
  Add DBus helper methods for creating reply messages (Daniel P. Berrange),
  Refactor dbus helper methods for method calls (Daniel P. Berrange),
  virlog: Modify virLogParseDefaultPriority's comment of return value (Zhou Yimin),
  Fix typo in configure.ac (Ján Tomko),
  Define ISCSIADM unconditionally (Ján Tomko),
  Pass action to virDomainDefCompatibleDevice (Jiri Denemark),
  Fix usage of virDomainDefCompatibleDevice (Jiri Denemark),
  tests: Set abs_*dir in a consistent way (Jiri Denemark),
  qemu: allow filtering events by regex (Eric Blake),
  qemu: enable monitor event filtering by name (Eric Blake),
  qemu: enable monitor event reporting (Eric Blake),
  qemu: wire up RPC for qemu monitor events (Eric Blake),
  qemu: create object for qemu monitor events (Eric Blake),
  qemu: virsh wrapper for qemu events (Eric Blake),
  qemu: new API for tracking arbitrary monitor events (Eric Blake),
  Fix indentation in iscsi storage backend (Ján Tomko),
  Add test for virISCSIScanTargets (Ján Tomko),
  Add test for virISCSIGetSession (Ján Tomko),
  Move functions using iscsiadm to viriscsi.c (Ján Tomko),
  Remove storage pool from the arguments of a few functions (Ján Tomko),
  Don't create iscsiadm command line in ISCSIPool{Start,Stop} (Ján Tomko),
  Switch virCommandRunRegex to use virStringSplit (Ján Tomko),
  Move virStorageBackendRun to vircommand (Ján Tomko),
  Sort includes in storage_backend_iscsi.c (Ján Tomko),
  Require K&R styled curly braces around function bodies (Martin Kletzander),
  Use K&R style for curly braces in remaining files (Martin Kletzander),
  Use K&R style for curly braces in src/vbox/ (Martin Kletzander),
  Use K&R style for curly braces in src/network/bridge_driver.c (Martin Kletzander),
  Use K&R style for curly braces in src/lxc/lxc_driver.c (Martin Kletzander),
  Use K&R style for curly braces in src/uml/ (Martin Kletzander),
  Use K&R style for curly braces in src/test/test_driver.c (Martin Kletzander),
  Use K&R style for curly braces in src/nwfilter/ (Martin Kletzander),
  Use K&R style for curly braces in src/openvz/ (Martin Kletzander),
  Use K&R style for curly braces in src/storage/ (Martin Kletzander),
  Use K&R style for curly braces in src/qemu/ (Martin Kletzander),
  Use K&R style for curly braces in src/conf/ (Martin Kletzander),
  Use K&R style for curly braces in src/rpc/ (Martin Kletzander),
  Use K&R style for curly braces in src/util/ (Martin Kletzander),
  Use K&R style for curly braces in src/xen*/ (Martin Kletzander),
  Use K&R style for curly braces in tests/ (Martin Kletzander),
  bhyve: host API support (Wojciech Macek),
  libxl: move domain event handler to libxl_domain (Jim Fehlig),
  libxl: include a pointer to the driver in libxlDomainObjPrivate (Jim Fehlig),
  libxl: move libxlVmStart to libxl_domain (Jim Fehlig),
  libxl: move libxlFreeMem to libxl_domain (Jim Fehlig),
  libxl: move libxlDomainSetVcpuAffinities to libxl_domain (Jim Fehlig),
  libxl: move libxlDoNodeGetInfo to libxl_conf (Jim Fehlig),
  libxl: move libxlDomainAutoCoreDump to libxl_domain (Jim Fehlig),
  libxl: move libxlDomEventsRegister to libxl_domain (Jim Fehlig),
  libxl: move libxlVmCleanup{,Job} to libxl_domain (Jim Fehlig),
  libxl: move libxlSaveImageOpen to libxl_domain (Jim Fehlig),
  libxl: move libxlDomainManagedSavePath to libxl_domain (Jim Fehlig),
  libxl: move libxlDomainEventQueue to libxl_domain (Jim Fehlig),
  Add ability to register callback for virCommand dry run (Daniel P. Berrange),
  Change CMD_STOPONERR(1) to use true (Daniel P. Berrange),
  Change 'int isTempChain' to bool in nwfilter (Daniel P. Berrange),
  Remove pointless return values in nwfilter methods (Daniel P. Berrange),
  Remove 'int stopOnError' parameters in nwfilter methods (Daniel P. Berrange),
  Remove pointless brackets around boolean (Daniel P. Berrange),
  Change 'int incoming' to 'bool incoming' in nwfilter code (Daniel P. Berrange),
  virhostdev.h: remove ATTRIBUTE_NONNULL from oldStateDir (Chunyan Liu),
  libxl: fix framebuffer port setting for HVM domains (Jim Fehlig),
  maint: avoid unbalanced {} across vbox #ifdef (Eric Blake),
  Remove global log buffer feature entirely (Daniel P. Berrange),
  Switch to filtering based on log source name instead of filename (Daniel P. Berrange),
  Add virLogSource variables to all source files (Daniel P. Berrange),
  Turn virLogSource into a struct instead of an enum (Daniel P. Berrange),
  Move dtrace probe macros into separate header file (Daniel P. Berrange),
  Refactor code that skips logging of error messages (Daniel P. Berrange),
  Reduce performance overhead of the global log buffer (Daniel P. Berrange),
  qemuDomainSetInterfaceParameters: Allow bandwidth clear out (Michal Privoznik),
  cfg.mk: Fix whitespaces (Martin Kletzander),
  Remove double space in file name comment check (Ján Tomko),
  Explicitly cast some switch parameters to enum (Martin Kletzander),
  Require spaces around equality comparisons (Martin Kletzander),
  Remove duplicate network model characters (Martin Kletzander),
  tests: cleanup object-locking test (Martin Kletzander),
  qemu: agent availability cleanup (Martin Kletzander),
  virsh: Prohibit virConnectOpen* functions in virsh (Martin Kletzander),
  virsh: Add keepalive in new vshConnect function (Martin Kletzander),
  virt-aa-helper: handle 9pfs (Felix Geyer),
  Give virNWFilterVarCombIterNext saner semantics (Daniel P. Berrange),
  bhyve: fix hostbridge device command generation (Roman Bogorodskiy),
  bhyve: add support for virtio block devices (Roman Bogorodskiy),
  Enforce attribute check of the virRegister functions (Pavel Hrdina),
  daemon: Introduce max_anonymous_clients (Michal Privoznik),
  virNetServer: Introduce unauth clients counter (Michal Privoznik),
  datatypes: Fix comments (Michael Chapman),
  bhyve: implement nodeGetInfo() (Roman Bogorodskiy),
  Add parameter to wait for lock in file locking APIs (Nehal J Wani),
  spec: move some dirs into appropriate subpackages (Michael Chapman),
  build: detect/prohibit hardcoded XML indent in syntax-check (Laine Stump),
  conf: eliminate hardcoded indentation in all remaining xml (Laine Stump),
  qemu: elminate hardcoded indent in capabilities cache XML (Laine Stump),
  util: eliminate hardcoded indent in virConnectSysInfo formatting (Laine Stump),
  qemu: eliminate hardcoded indent from migration cookie xml (Laine Stump),
  virsh: eliminate hardcoded indentation in xml generated for commands (Laine Stump),
  conf: eliminate hardcoded indent in volume/pool xml (Laine Stump),
  conf: eliminate hardcoded indentation in node device xml (Laine Stump),
  conf: eliminate hardcoded indentation in capabilities xml (Laine Stump),
  conf: eliminate hardcoded indentation in nwfilter xml (Laine Stump),
  conf: eliminate outmoded/odd indent method from interface xml (Laine Stump),
  conf: eliminate hardcoded indent from network xml (Laine Stump),
  conf: eliminate hardcoded indent from domain snapshot xml (Laine Stump),
  conf: eliminate hardcoded indent from domain xml (Laine Stump),
  nwfilter: Add ARP src/dst IP mask for ebtables ARP (Stefan Berger),
  hostdev: add virObject field to virHostdevManager struct (Jim Fehlig),
  Make ABI stability issue easier to debug (Jiri Denemark),
  qemu: Forbid "sgio" support for SCSI generic host device (Osier Yang),
  add pci passthrough to libxl driver (Chunyan Liu),
  add hostdev pci backend type for xen (Chunyan Liu),
  change lxc_hostdev.c to use virhostdev common library APIs (Chunyan Liu),
  add unit test for new virhostdev common library (Chunyan Liu),
  Add parameter checks/annotations to hostdev APIs (Chunyan Liu),
  add 3 wrapper functions for prepare/reattach/update domain hostdevs (Chunyan Liu),
  improve virHostdevUpdate* parameters to make it more widely used (Chunyan Liu),
  Capitalize USB, PCI and SCSI in hostdev variables (Daniel P. Berrange),
  Remove redundant duplicated 'Hostdev' string method names (Daniel P. Berrange),
  Capitalize USB, PCI and SCSI in hostdev methods (Chunyan Liu),
  Fixed const-ness of parameters in netdev/hostdev code (Daniel P. Berrange),
  improve parameter name to let it more meaningful (Chunyan Liu),
  move virHostdevNodeDevice* to virhostdev.c (Chunyan Liu),
  extract general code of NodeDeviceReset (Chunyan Liu),
  extract general code of NodeDeviceReAttach (Chunyan Liu),
  extract general code of NodeDeviceDetach (Chunyan Liu),
  move virHostdevReAttachHostScsiDevices to virhostdev.c (Chunyan Liu),
  pass driver name as parameter to virHostdevReAttachScciHostdevs (Chunyan Liu),
  extract general code from qemuDomainReAttachHostScsiDevices (Chunyan Liu),
  move virHostdevReAttachUsbHostdevs to virhostdev.c (Chunyan Liu),
  pass driver name as paramter to virHostdevReAttachUsbHostdevs (Chunyan Liu),
  extract general code from qemuDomainReAttachHostUsbDevices (Chunyan Liu),
  move virHostdevPrepareHostSCSIDevices to virhostdev.c (Chunyan Liu),
  pass driver name as parameter to virHostdevPrepareSCSIDevices (Chunyan Liu),
  extract general code from qemuPrepareHostSCSIDevices (Chunyan Liu),
  move virHostdevPrepareHostUSBDevices to virhostdev.c (Chunyan Liu),
  pass driver name to virHostdevPrepareUSBDevices (Chunyan Liu),
  rename qemu*USBDevices to virHostdev*USBDevices (Chunyan Liu),
  extract general code from qemuPrepareHostUSBDevices (Chunyan Liu),
  move virHostdevUpdate* functions to virhostdev.c (Chunyan Liu),
  pass driver_name as parameter of virHostdevUpdate*Hostdevs functions (Chunyan Liu),
  extract general code from qemuUpdateActiveScsiHostdevs (Chunyan Liu),
  extract general code from qemuUpdateActiveUsbHostdevs (Chunyan Liu),
  extract general code from qemuUpdateActivePciHostdevs (Chunyan Liu),
  move virHostdevPrepare(ReAttach)PCIDevices to virhostdev.c (Chunyan Liu),
  rename qemuReAttachPciDevice to virHostdevReAttachPciDevice (Daniel P. Berrange),
  Conditionally wait for kvm_assigned_device cleanup (Chunyan Liu),
  pass driver name as a parameter to virHostdevReAttachPCIDevices (Chunyan Liu),
  extract general code from qemuDomainReAttachHostdevDevices (Chunyan Liu),
  pass driver name as a parameter to virHostdevPrepareHostdevPCIDevices (Chunyan Liu),
  rename qemuGet*PciHostDeviceList to virHostdevGet*PciHostDeviceList (Chunyan Liu),
  rename qemu*NetConfigRestore/Replace to virHostdevNetConfigRestore/Replace (Chunyan Liu),
  extract general code from qemuPrepareHostdevPCIDevices (Chunyan Liu),
  qemu_hostdev: move netconfig file location to virhostdev stateDir (Chunyan Liu),
  qemu_hostdev: move ColdBoot as a flag (Chunyan Liu),
  qemu_hostdev: move cfg->relaxedACS as a flag (Chunyan Liu),
  lxc: use general virhostdev lists instead of its own (Chunyan Liu),
  qemu: use general virhostdev lists instead of its own (Chunyan Liu),
  qemu: remove functions used internally only from qemu_hostdev.h (Chunyan Liu),
  qemu: reuse hostdev interfaces to avoid duplicate (Chunyan Liu),
  update qemuPrepareHostUSBDevices parameters to keep consistency (Chunyan Liu),
  virhostdev: use virObject to virHostdevManager to keep reference (Chunyan Liu),
  Introduce vircommandpriv.h for functions used by tests (Ján Tomko),
  Use size_t for ndevice in pool source definition (Ján Tomko),
  Introduce virStoragePoolSourceDeviceClear (Ján Tomko),
  Change virStorageBackendISCSISession 'probe' arg to bool (Ján Tomko),
  qemu: don't munge user input during block commit (Eric Blake),
  iptables: don't log command probe failures (Eric Blake),
  libxl: support sexpr in native to XML conversion (Jim Fehlig),
  Remove unused ebtablesRemoveForwardPolicyReject method (Daniel P. Berrange),
  Remove worthless ebtRules data structure (Daniel P. Berrange),
  Remove data structure holding list of ebtables rules (Daniel P. Berrange),
  Remove unused variables from ebtablesContext (Daniel P. Berrange),
  Make ebtablesForwardPolicyReject static (Daniel P. Berrange),
  Remove decl of method which doesn't exist in virebtables.h (Daniel P. Berrange),
  Remove many decls from bridge driver platform header (Daniel P. Berrange),
  Cache result of QEMU capabilities extraction (Daniel P. Berrange),
  Change QEMU capabilities cache to check ctime instead of mtime (Daniel P. Berrange),
  Add helper APIs to track if libvirtd or loadable modules have changed (Daniel P. Berrange),
  virSecurityDACSetSecurityImageLabel: Unmark @def as unused (Michal Privoznik),
  tests: Distribute securityselinuxhelperdata (Jiri Denemark),
  Convert lock driver plugins to use new crypto APIs (Daniel P. Berrange),
  Add helper APIs for generating cryptographic hashes (Daniel P. Berrange),
  Change file names in comments to match the files they are in (Ján Tomko),
  Wildcard ignore tests/*test instead of listing every one (Daniel P. Berrange),
  src/xenxs: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  src/xen: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  src/util: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  src/test: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  src/storage: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  src/rpc: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  src/qemu: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  src/phyp: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  src/parallels: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  src/openvz: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  src/nwfilter: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  src/lxc/: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  conf: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT (Michal Privoznik),
  virsh: Sort options alphabetically (Martin Kletzander),
  tests: Fix SELinux tests in VPATH build (Jiri Denemark),
  virscsi: Introduce virSCSIDeviceUsedByInfoFree (John Ferlan),
  tests: Test virIdentityGetSystem (Michael Chapman),
  tests: SELinux tests do not need to be skipped (Michael Chapman),
  tests: Flesh out securityselinuxhelper (Michael Chapman),
  spec: Let translations be properly updated (Jiri Denemark),
  datatypes: update comments of Dispose functions (Michael Chapman),
  qemu: monitor: Provide more information in generic block job error (Peter Krempa),
  storage: Don't lie about path used to look up in error message (Peter Krempa),
  storage: Avoid mangling paths of non-local filesystems when looking up (Peter Krempa),
  storage: Use cleanup label instead of out (Peter Krempa),
  virsh: volume: Fix lookup of volumes to provide better error messages (Peter Krempa),
  add virhostdev files to maintain global state of host devices (Chunyan Liu),
  add 'driver' info to used_by (Chunyan Liu),
  apparmor: handle "none" type (Cédric Bosdonnat),
  add support for apparmor in lxc-enter-namespace (Cédric Bosdonnat),
  apparmor: add debug traces when changing profile. (Cédric Bosdonnat),
  Make sure apparmor is started before libvirtd (Cédric Bosdonnat),
  LXC driver: generate apparmor profiles for guests (Cédric Bosdonnat),
  qemu: monitor: Fix error message and comment when getting cpu info (Peter Krempa),
  qemu: snapshot: Use better check when reverting external snapshots (Peter Krempa),
  qemuBuildNicDevStr: Adapt to new advisory on multiqueue (Michal Privoznik),
  Check if systemd is running before creating machines (Ján Tomko),
  Split out most of virDBusIsServiceEnabled (Ján Tomko),
  Don't always skip virportallocatortest (Ján Tomko),
  tests: Create privileged driver config in qemuxml2argvtest (Martin Kletzander),
  build: Include sys/wait.h in commandtest.c (Ján Tomko),
  nwfilter: Display the pcap errror message (Stefan Berger),
  nwfilter: Cap the poll timeout in the DHCP Snooping code (Stefan Berger),
  virsh: report exit status of failed lxc-enter-namespace (Eric Blake),
  virt-login-shell: saner exit value (Eric Blake),
  virt-login-shell: use single instead of double fork (Eric Blake),
  virFork: simplify semantics (Eric Blake),
  util: make it easier to grab only regular command exit (Eric Blake),
  util: make it easier to grab only regular process exit (Eric Blake),
  util: preserve exit status from mount namespace callback (Eric Blake),
  util: make it easier to reflect child exit status (Eric Blake),
  virFork: give specific status on failure prior to exec (Eric Blake),
  nwfilter: make ignoring non-zero status easier to follow (Eric Blake),
  qemu: Implement a stub cpuArchDriver.baseline() handler for arm (Oleg Strikov),
  Fix indentation in virsystemdmock (Ján Tomko),
  Replace space with a tab in the Makefile (Ján Tomko),
  Add a test for virUSBDeviceList functions (Ján Tomko),
  Add tests for virUSBDeviceFind functions (Ján Tomko),
  Generate a unique journald log for QEMU capabilities failure (Daniel P. Berrange),
  Bump version to 1.2.3 for new dev cycle (Michal Privoznik)
- Cleanups:
  util: remove useless comment for virCgroupMoveTask in vircgroup.c (Hongwei Bi),
  Don't leave empty first line in C source files (Martin Kletzander)

### 1.2.2: Mar 02 2014

- Features:
  bhyve: add a basic driver (Roman Bogorodskiy),
  add LXC from native conversion tool (Cédric Bosdonnat),
  vbox: add support for v4.2.20+ and v4.3.4+ (Jean-Baptiste Rouault),
  Introduce Libvirt Wireshark dissector (Yuto KAWAMURA)
- Security:
  CVE-2013-6456: Avoid unsafe use of /proc/$PID/root in LXC hotunplug code (Daniel P. Berrange),
  CVE-2013-6456: Avoid unsafe use of /proc/$PID/root in LXC chardev hostdev hotplug (Daniel P. Berrange),
  CVE-2013-6456: Avoid unsafe use of /proc/$PID/root in LXC block hostdev hotplug (Daniel P. Berrange),
  CVE-2013-6456: Avoid unsafe use of /proc/$PID/root in LXC USB hotplug (Daniel P. Berrange),
  CVE-2013-6456: Avoid unsafe use of /proc/$PID/root in LXC disk hotplug (Daniel P. Berrange),
  CVE-2013-6456: Avoid unsafe use of /proc/$PID/root in LXC shutdown/reboot code (Eric Blake)
- Documentation:
  bhyve: add basic documentation (Roman Bogorodskiy),
  Add docs about use of systemd journal for logging (Daniel P. Berrange),
  Auto-generate the table of contents in logging doc (Daniel P. Berrange),
  Fix heading level in logging docs (Daniel P. Berrange),
  Document the keyboard as a valid input type (Ján Tomko),
  bandwidth: Adjust documentation (John Ferlan),
  remove <auth> from secret XML format (Ján Tomko),
  LXC: added some doc on domxml-from-native with mention of limitations (Cédric Bosdonnat),
  libxl: fix libxlDoDomainSave documentation (Jim Fehlig),
  grammar fixes in formatdomain (Chen Hanxiao),
  maint: fix grammar in conf file (Eric Blake),
  Fix minor typo in governance doc (Justin Clift),
  Write up the project governance process (Daniel P. Berrange),
  man: shm-merge-across-nodes is optional (Ján Tomko),
  docs/page.xls: remove unnecessary namespace attribute (Pavel Hrdina),
  add a permalink to html headers (Dan Kenigsberg),
  storage: Add document for possible problem on volume detection (Osier Yang),
  Add "note" for node-memory-tune (Osier Yang),
  Improve the document for nodesuspend (Osier Yang),
  refer to the correct event ID for DomainEventIOErrorReasonCallback (Claudio Bley),
  Add sample output of Wireshark dissector (Yuto KAWAMURA),
  Add missing space in <clock> documentation (Christophe Fergeau)
- Portability:
  build: skip virportallocatortest on cygwin (Eric Blake),
  build: ignore cygwin toolchain droppings (Eric Blake),
  build: avoid ld_preload tests on mingw (Eric Blake),
  build: fix cgroups on non-Linux (Eric Blake),
  build: fix build on 32-bit hosts (Eric Blake),
  maint: update to latest gnulib, for older autoconf (Eric Blake),
  Fix build of portallocator on mingw (Ján Tomko),
  lxc: Don't shadow global symbol "link" (Peter Krempa),
  storage: Fix build with older compilers afeter gluster snapshot series (Peter Krempa),
  spec: add missing dep of libvirt-daemon-config-network (Thierry Parmentelat),
  spec: require libvirt-daemon-driver-interface only when built (Thierry Parmentelat),
  Fixed build with clang. (Cédric Bosdonnat),
  Rename 'index' in virCapabilitiesGetCpusForNode (Ján Tomko),
  qemuxml2argvmock: Mock time() on non-linux platforms too (Michal Privoznik),
  build: Fix 'make rpm' in VPATH with wireshark (Martin Kletzander),
  Remove windows thread implementation in favour of pthreads (Daniel P. Berrange),
  Fix pthread_sigmask check for mingw32 without winpthreads (Daniel P. Berrange),
  Skip check-augeas-lockd when QEMU is disabled (Daniel P. Berrange),
  maint: add configure checks for BSD CPU affinity (Roman Bogorodskiy),
  BSD: implement virProcess{Get,Set}Affinity (Roman Bogorodskiy),
  tests: Fix PCI test data filenames for Windows (Matthias Bolte),
  wireshark: Fix VPATH build (Jiri Denemark),
  Honour prefix in wireshark install dir (Daniel P. Berrange),
  Use AC_PATH_PROG to search for dmidecode (Roman Bogorodskiy)
- Bug Fixes:
  bhyve: defined domains should be persistent (Roman Bogorodskiy),
  Fix journald PRIORITY values (Daniel P. Berrange),
  spec: Fix braces around macros (Peter Krempa),
  spec: Use correct versions of libgfapi in RHEL builds (Peter Krempa),
  network: unplug bandwidth and call networkRunHook only when appropriate (Laine Stump),
  network: don't even call networkRunHook if there is no network (Laine Stump),
  Fix memory leak in virSCSIDeviceListDel() (Nehal J Wani),
  libxl: queue domain event earlier in shutdown handler (Jim Fehlig),
  virsh: mark CPU usage field names as translatable (Ján Tomko),
  virsh: initialize str to NULL to solve a build issue (Chen Hanxiao),
  virsh: Don't leak buffer if GetFDs fails in cmdCreate (Ján Tomko),
  libvirt-guests: Wait for libvirtd to initialize (Michal Privoznik),
  virSystemdCreateMachine: Set dependencies for slices (Michal Privoznik),
  Ignore additional fields in iscsiadm output (Ján Tomko),
  libxl: always use libxlVmCleanupJob in shutdown thread (Jim Fehlig),
  qemu: adjust maxmem/maxvcpu computation (Eric Blake),
  Fix multiple bugs in LXC domainMemoryStats driver (Daniel P. Berrange),
  Fix misspelled cpuacct.usage_percpu in cgroup mock. (Thorsten Behrens),
  virsh: fix memleak when starting a guest with invalid fd (Jincheng Miao),
  networkRunHook: Run hook only if possible (Michal Privoznik),
  bridge_driver.h: Fix build --without-network (Michal Privoznik),
  Fix conflicting types of virInitctlSetRunLevel (Ján Tomko),
  Fix reset of cgroup when detaching USB device from LXC guests (Daniel P. Berrange),
  Fix path used for USB device attach with LXC (Daniel P. Berrange),
  Don't block use of USB with containers (Daniel P. Berrange),
  storage: gluster: Don't leak private data when storage file init fails (Peter Krempa),
  storage: handle NULL return from virGetStorageVol (Michael Chapman),
  Fix leaks in vircapstest (Ján Tomko),
  AppArmor: Fix the place where the template should be installed (Cédric Bosdonnat),
  Libvirt lose sheepdogs volumes on pool refresh or restart. When restarting sheepdog pool, all volumes are missing. This patch add automatically all volume from the added pool. (Joel SIMOES),
  maint: fix line numbers in check-aclrules reports (Yuri Myasoedov),
  qemu: Use correct permissions when determining the image chain (Peter Krempa),
  virpci: Resolve coverity issues (John Ferlan),
  qemu: keep pre-migration domain state after failed migration (Martin Kletzander),
  qemu: Fix crash in virDomainMemoryStats with old qemu (Jiri Denemark),
  network: disallow <bandwidth>/<mac> for bridged/macvtap/hostdev networks (Laine Stump),
  Honor blacklist for modprobe command (John Ferlan),
  qemu: be sure we're using the updated value of backend during hotplug (Laine Stump),
  Resolve Coverity dead_error_begin (John Ferlan),
  qemu: Fix the error message for scsi host device's shareable checking (Osier Yang),
  xen: fix parsing xend http response (Jim Fehlig),
  storage: Fix the memory leak (Osier Yang),
  Fix buffer size in linuxNodeGetCPUstats (Bing Bu Cao),
  util: Correct the NUMA node range checking (Osier Yang),
  qemu: Avoid crash in qemuDiskGetActualType (Peter Krempa),
  linuxNodeGetCPUStats: Correctly handle cpu prefix (Bing Bu Cao),
  qemu: snapshot: Forbid snapshots when backing is a scsi passthrough disk (Peter Krempa),
  qemu: snapshot: Avoid libvirtd crash when qemu crashes while snapshotting (Peter Krempa),
  lxc: Fix coverity (Martin Kletzander),
  qemu: Don't detach devices if passthrough doesn't work (Jincheng Miao),
  pci: Fix failure paths in detach (Jiri Denemark),
  virSecuritySELinuxSetFileconHelper: Don't fail on read-only NFS (Michal Privoznik),
  Fix possible memory leak in virsh-domain-monitor.c in cmdDomblklist (Pavel Hrdina)
- Improvements:
  virsh: add --all flag to 'event' command (Eric Blake),
  virsh: support remaining domain events (Eric Blake),
  bhyve: support domain undefine (Roman Bogorodskiy),
  Add comments describing the different log sources (Daniel P. Berrange),
  Include error domain and code in log messages from errors (Daniel P. Berrange),
  Send virLogMetadata fields onto the journal (Daniel P. Berrange),
  qemu: Enable 'host-passthrough' cpu mode for arm (Oleg Strikov),
  domblkstat: Produce error message that at least sounds like English (Michal Privoznik),
  virDomainBlockStats(Flags): Produce saner error message on empty disk path (Michal Privoznik),
  tests: avoid littering /tmp (Eric Blake),
  sanlock: Truncate domain names longer than SANLK_NAME_LEN (Jiri Denemark),
  maint: Fix minor typo (unkown) (Yuri Chornoivan),
  libxl: Recognise ARM architectures (Ian Campbell),
  virsh: Honour -q in domblklist, vcpupin and emulatorpin (Michal Privoznik),
  spec: make systemd_daemon usage configurable (Eric Blake),
  spec: require device-mapper-devel for storage-disk (Eric Blake),
  spec: explicitly avoid bhyve on Linux (Eric Blake),
  build: use --with-systemd-daemon as configure option (Eric Blake),
  virNetDevVethCreate: Serialize callers (Michal Privoznik),
  network: include plugged interface XML in "plugged" network hook (Laine Stump),
  conf: output actual netdev status in <interface> XML (Laine Stump),
  conf: new function virDomainActualNetDefContentsFormat (Laine Stump),
  conf: re-situate <bandwidth> element in <interface> (Laine Stump),
  conf: make virDomainNetDefFormat a public function (Laine Stump),
  conf: handle null pointer in virNetDevVlanFormat (Laine Stump),
  conf: clarify what is returned for actual bandwidth and vlan (Laine Stump),
  rbd: Set timeout options for librados (Wido den Hollander),
  rbd: Include return statuses from librados/librbd in logging (Wido den Hollander),
  virsh: kill over-engineered asprintf failure recovery (Eric Blake),
  virsh: use more compact VIR_ENUM_IMPL (Eric Blake),
  libxl: handle on_crash coredump actions (Jim Fehlig),
  libxl: add dump dir to libxlDriverConfig object (Jim Fehlig),
  libxl: honor domain lifecycle event configuration (Jim Fehlig),
  Ensure systemd cgroup ownership is delegated to container with userns (Richard Weinberger),
  bhyve: implement node information reporting (Roman Bogorodskiy),
  Add virStringReplace method for substring replacement (Daniel P. Berrange),
  Add virStringSearch method for regex matching (Manuel VIVES),
  virNetServerRun: Notify systemd that we're accepting clients (Michal Privoznik),
  Add a stub for virCgroupGetDomainTotalCpuStats (Ján Tomko),
  maint: update to latest gnulib (Eric Blake),
  virsh: add net-event command (Eric Blake),
  virsh: add event command, for lifecycle events (Eric Blake),
  virsh: common code for waiting for an event (Eric Blake),
  virsh: common code for parsing --seconds (Eric Blake),
  libxl: queue shutdown event on domain shutdown (Jim Fehlig),
  Rename virDomainGetRootFilesystem to virDomainGetFilesystemForTarget (Daniel P. Berrange),
  Introduce new OOM testing support (Daniel P. Berrange),
  Add unit test for virCgroupGetPercpuStats. (Thorsten Behrens),
  Add unit test for virCgroupGetMemoryUsage. (Thorsten Behrens),
  Add unit test for virCgroupGetBlkioIo*Serviced (Thorsten Behrens),
  Widening API change - accept empty path for virDomainBlockStats (Thorsten Behrens),
  Implement lxcDomainBlockStats* for lxc driver (Thorsten Behrens),
  Implement domainGetCPUStats for lxc driver. (Thorsten Behrens),
  Make qemuGetDomainTotalCPUStats a virCgroup function. (Thorsten Behrens),
  Implement domainMemoryStats API slot for LXC driver. (Thorsten Behrens),
  Add util virCgroupGetBlkioIo*Serviced methods. (Thorsten Behrens),
  lxc: Add destroy support for suspended domains (Richard Weinberger),
  libxl: use job functions in libxlDomainSetSchedulerParametersFlags (Jim Fehlig),
  libxl: use job functions in libxlDomainSetAutostart (Jim Fehlig),
  libxl: use job functions in device attach and detach functions (Jim Fehlig),
  libxl: use job functions in vcpu set and pin functions (Jim Fehlig),
  libxl: use job functions in libxlDomainCoreDump (Jim Fehlig),
  libxl: use job functions in domain save operations (Jim Fehlig),
  libxl: use job functions when cleaning up a domain (Jim Fehlig),
  libxl: use job functions in libxlDomain{Suspend,Resume} (Jim Fehlig),
  libxl: use job functions in libxlDomainSetMemoryFlags (Jim Fehlig),
  libxl: use job functions in libxlVmStart (Jim Fehlig),
  libxl: Add job support to libxl driver (Jim Fehlig),
  libxl: remove libxlVmReap function (Jim Fehlig),
  libxl: always set vm id to -1 on shutdown (Jim Fehlig),
  qemu: Use virtio network device for aarch64/virt (Oleg Strikov),
  Add a default USB keyboard and USB mouse for PPC64 (Li Zhang),
  xen: format xen config for USB keyboard (Li Zhang),
  qemu: format qemu command line for USB keyboard (Li Zhang),
  qemu: Add USB keyboard capability (Li Zhang),
  conf: Remove the implicit PS2 devices for non-X86 platforms (Li Zhang),
  conf: Add keyboard input device type (Li Zhang),
  conf: Add one interface to add default input devices (Li Zhang),
  network: Taint networks that are using hook script (Michal Privoznik),
  network: Introduce network hooks (Michal Privoznik),
  network_conf: Expose virNetworkDefFormatInternal (Michal Privoznik),
  Add helper for running code in separate namespaces (Daniel P. Berrange),
  Add virFileMakeParentPath helper function (Daniel P. Berrange),
  Move check for cgroup devices ACL upfront in LXC hotplug (Daniel P. Berrange),
  Disks are always block devices, never character devices (Daniel P. Berrange),
  Record hotplugged USB device in LXC live guest config (Daniel P. Berrange),
  qemu: Implement VIR_DOMAIN_TAINT_HOOK (Michal Privoznik),
  virDomainTaintFlags: Introduce VIR_DOMAIN_TAINT_HOOK (Michal Privoznik),
  Add tests for secret XML parsing (Ján Tomko),
  Forgot to add lxcconf2xmldata to dist. (Cédric Bosdonnat),
  Support IPv6 in port allocator (Ján Tomko),
  Split out bind() from virPortAllocatorAcquire (Ján Tomko),
  qemu: snapshot: Add support for external active snapshots on gluster (Peter Krempa),
  qemu: snapshot: Use new APIs to detect presence of existing storage files (Peter Krempa),
  qemu: Switch snapshot deletion to the new API functions (Peter Krempa),
  storage: Add storage file backends for gluster (Peter Krempa),
  storage: add file functions for local and block files (Peter Krempa),
  storage: Add file storage APIs in the default storage driver (Peter Krempa),
  conf: Move qemuSnapshotDiskGetActualType to virDomainSnapshotDiskGetActualType (Peter Krempa),
  conf: Move qemuDiskGetActualType to virDomainDiskGetActualType (Peter Krempa),
  spec: add missing dep of libvirt-daemon-config-nwfilter (Eric Blake),
  lxc from native: removed now remaining useless line (Cédric Bosdonnat),
  Fix stream related spelling mistakes (Philipp Hahn),
  LXC from native: convert blkio throttle config (Cédric Bosdonnat),
  LXC from native: map vlan network type (Cédric Bosdonnat),
  LXC from native: map block filesystems (Cédric Bosdonnat),
  LXC from native: map lxc.arch to /domain/os/type@arch (Cédric Bosdonnat),
  LXC from native: add lxc.cgroup.blkio.* mapping (Cédric Bosdonnat),
  LXC from native: map lxc.cgroup.cpuset.* (Cédric Bosdonnat),
  LXC from native: map lxc.cgroup.cpu.* (Cédric Bosdonnat),
  LXC from native: migrate memory tuning (Cédric Bosdonnat),
  LXC from native: convert lxc.id_map into <idmap> (Cédric Bosdonnat),
  LXC from native: convert macvlan network configuration (Cédric Bosdonnat),
  LXC from native: convert lxc.tty to console devices (Cédric Bosdonnat),
  LXC from native: convert phys network types to net hostdev devices (Cédric Bosdonnat),
  LXC from native: migrate veth network configuration (Cédric Bosdonnat),
  LXC from native: implement no network conversion (Cédric Bosdonnat),
  LXC from native: migrate fstab and lxc.mount.entry (Cédric Bosdonnat),
  LXC from native: import rootfs (Cédric Bosdonnat),
  LXC driver: started implementing connectDomainXMLFromNative (Cédric Bosdonnat),
  Improve virConf parse to handle LXC config format (Cédric Bosdonnat),
  event: pass reason for PM events (Eric Blake),
  event: convert remaining domain events to new style (Eric Blake),
  event: client RPC protocol tweaks for domain lifecycle events (Eric Blake),
  event: prepare client to track domain callbackID (Eric Blake),
  event: server RPC protocol tweaks for domain lifecycle events (Eric Blake),
  event: dynamically manage server-side RPC domain events (Eric Blake),
  qemu: Implement a stub cpuArchDriver.baseline() handler for aarch64 (Oleg Strikov),
  libxl: register for domain events immediately after creation (Jim Fehlig),
  libxl: rename libxlCreateDomEvents to libxlDomEventsRegister (Jim Fehlig),
  vircapstest: Introduce virCapabilitiesGetCpusForNodemask test (Pradipta Kr. Banerjee),
  Handle non-sequential NUMA node numbers (Pradipta Kr. Banerjee),
  storage: gluster: Set volume metadata in a separate function (Peter Krempa),
  qemu: introduce spiceport chardev backend (Martin Kletzander),
  qemu: remove pointless condition (Martin Kletzander),
  qemu: rework '-serial none' (Martin Kletzander),
  conf: introduce spiceport chardev backend (Martin Kletzander),
  rbd: Use rbd_create3 to create RBD format 2 images by default (Wido den Hollander),
  build: correctly check for SOICGIFVLAN GET_VLAN_VID_CMD command (Laine Stump),
  virNetworkLoadState: Disallow mangled 'floor' element (Michal Privoznik),
  networkStartNetwork: Be more verbose (Michal Privoznik),
  qemu: hyperv: Add support for timer enlightenments (Peter Krempa),
  conf: Enforce supported options for certain timers (Peter Krempa),
  schema: Fix guest timer specification schema according to the docs (Peter Krempa),
  apparmor: Improve profiles (Felix Geyer),
  Add glusterfs to VIR_CONNECT_LIST_STORAGE_POOLS_FILTERS_POOL_TYPE (Christophe Fergeau),
  libxl: remove unneeded locking of driver when restoring (Jim Fehlig),
  libxl: improve subprocess handling (Jim Fehlig),
  libxl: handle domain shutdown events in a thread (Jim Fehlig),
  libxl: remove list of timer registrations from libxlDomainObjPrivate (Jim Fehlig),
  libxl: fix leaking libxlDomainObjPrivate (Jim Fehlig),
  qemu_driver: Introduce <filesystem/> support in device attach/detach (Matthieu Coudron),
  virDomainHostdev{Insert,Delete}: Replace VIR_REALLOC_N by VIR_{APPEND,DELETE}_ELEMENT (Matthieu Coudron),
  qemuxml2argvtest: Set timezone (Michal Privoznik),
  virsh: only report filled values in nodecpustats (Ján Tomko),
  BSD: implement nodeGetCPUStats (Roman Bogorodskiy),
  qemu: blockjob: Print correct file name in error message (Peter Krempa),
  maint: Change the text of the NULLSTR() macro to "<null>" (Peter Krempa),
  qemuxml2argvtest: Test localtime clock basis (Michal Privoznik),
  qemuBuildClockArgStr: Allow localtime clock basis (Michal Privoznik),
  Generate a valid imagelabel even for type 'none' (Ján Tomko),
  event: move event filtering to daemon (regression fix) (Eric Blake),
  rpm: create libvirt-wireshark sub-package (Eric Blake),
  tests: Add test for new virkmod functions (John Ferlan),
  utils: Introduce functions for kernel module manipulation (John Ferlan),
  network: change default of forwardPlainNames to 'yes' (Laine Stump),
  network: only prevent forwarding of DNS requests for unqualified names (Laine Stump),
  virnetdevbandwidthtest: Link with libxml2 (Michal Privoznik),
  spice: don't force user to specify spicevmc channel (Martin Kletzander),
  virnetdevbandwidthtest: Introduce some more tests (Michal Privoznik),
  virnetdevbandwidthtest: fix hard coded /sbin/tc (Cédric Bosdonnat),
  Push nwfilter update locking up to top level (Daniel P. Berrange),
  Add a read/write lock implementation (Daniel P. Berrange),
  tests: Modify the scsi util tests (Osier Yang),
  util: Accept test data path for scsi device's sg_path (Osier Yang),
  tests: Add tests for scsi utils (Osier Yang),
  util: Add one argument for several scsi utils (Osier Yang),
  qemu: Don't fail if the SCSI host device is shareable between domains (Osier Yang),
  virnetdevbandwidthtest: Introduce testVirNetDevBandwidthSet (Michal Privoznik),
  virCommand: Introduce virCommandSetDryRun (Michal Privoznik),
  snapshot: Add support for specifying snapshot disk backing type (Peter Krempa),
  tests: Add more tests for virConnectBaselineCPU (Jiri Denemark),
  cpu: Try to use source CPU model in virConnectBaselineCPU (Jiri Denemark),
  cpu: Fix VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES (Jiri Denemark),
  tests: Better support for VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES (Jiri Denemark),
  Reword error message for oversized cpu time fields (Ján Tomko),
  Simplify linuxNodeGetCPUStats (Ján Tomko),
  Add hw random number generator (/dev/hwrng) to cgroup ACL (Pradipta Kr. Banerjee),
  tests: Introduce virnetdevbandwidthtest (Michal Privoznik),
  Add test for linuxNodeGetCPUStats (Ján Tomko),
  Move test-local declarations to nodeinfopriv.h (Ján Tomko),
  qemu: Enable 'host-passthrough' cpu mode for aarch64 (Oleg Strikov),
  Block info query: Add check for transient domain (John Ferlan),
  maint: update to latest gnulib, for mingw improvements (Eric Blake),
  util: Add "shareable" field for virSCSIDevice struct (Osier Yang),
  storage: Fix autostart of pool with "fc_host" type adapter (Osier Yang),
  api: require write permission for guest agent interaction (Eric Blake),
  virtlockd: make re-exec more robust (Michael Chapman),
  build: add $(prefix) to SYSTEMD_UNIT_DIR (Laine Stump),
  spice: expose the QEMU disable file transfer option (Francesco Romani),
  spice: detect if qemu can disable file transfer (Francesco Romani),
  lxc: allow to setup throttle blkio cgroup through virsh (Gao feng),
  Add test for transient disk support in VMX files (Wout Mertens),
  Make syntax check notice assignments w/o surrounding spaces. (Thorsten Behrens),
  maint: align whitespaces with project conventions. (Thorsten Behrens),
  virpcitest: Test virPCIDeviceDetach failure (Jiri Denemark),
  virpcimock: Add PCI driver which always fails (Jiri Denemark),
  virpcitest: More tests for device detach and reattach (Jiri Denemark),
  virpcimock: Mock /sys/bus/pci/drivers_probe (Jiri Denemark),
  pci: Publish some internal code for virpcitest (Jiri Denemark),
  virpcitest: Show PCI device tested by each test (Jiri Denemark),
  pci: Make reattach work for unbound devices (Jiri Denemark),
  qemu: allow to setup throttle blkio cgroup through virsh (Gao feng),
  virsh: add setting throttle blkio cgroup option to blkiotune (Gao feng),
  blkio: Setting throttle blkio cgroup for domain (Gao feng),
  domain: introduce xml elements for throttle blkio cgroup (Gao feng),
  maint: replace remaining virLib*Error with better names (Eric Blake),
  maint: simplify driver registration at startup (Eric Blake),
  maint: clean up error reporting in migration (Eric Blake),
  maint: don't lose error on canceled migration (Eric Blake),
  maint: avoid nested use of virConnect{Ref,Close} (Eric Blake),
  maint: don't leave garbage on early API exit (Eric Blake),
  qemu: Change the default unix monitor timeout (Martin Kletzander),
  storage: Sheepdog: Separate creating of the volume from building (Peter Krempa),
  storage: RBD: Separate creating of the volume from building (Peter Krempa),
  storage: Support deletion of volumes on gluster pools (Peter Krempa),
  conf: Always use VIR_ERR_CONFIG_UNSUPPORTED on enumFromString() failures (Christophe Fergeau)
- Cleanups:
  build-sys: Removed unused variable from configure.ac (Christophe Fergeau),
  qemu: remove memset params array to zero in qemuDomainGetPercpuStats (Gao feng),
  util: Fix the indention (Osier Yang),
  virsh: Fix the string breaking style (Osier Yang)

### 1.2.1: Jan 16 2014

- Security:
  CVE-2014-0028 event: filter global events by domain:getattr ACL (Eric Blake),
  CVE-2014-1447-2 Really don't crash if a connection closes early (Jiri Denemark),
  CVE-2014-1447-1 Don't crash if a connection closes early (Jiri Denemark),
  CVE-2013-6458-4 qemu: Fix job usage in virDomainGetBlockIoTune (Jiri Denemark),
  CVE-2013-6458-3 qemu: Fix job usage in qemuDomainBlockJobImpl (Jiri Denemark),
  CVE-2013-6458-2 qemu: Avoid using stale data in virDomainGetBlockInfo (Jiri Denemark),
  CVE-2013-6458-1 qemu: Do not access stale data in virDomainBlockStats (Jiri Denemark),
  CVE-2013-6457 libxl: avoid crashing if calling `virsh numatune' on inactive domain (Dario Faggioli),
  CVE-2013-6436: fix crash in lxcDomainGetMemoryParameters (Martin Kletzander)
- Documentation:
  mention maintenance branches (Eric Blake),
  Fix docs for PMWakeup/PMSuspend callback types (Claudio Bley),
  storage: fs: Fix comment for virStorageBackendFileSystemDelete (Peter Krempa),
  Clarify documentation on possible return values in case of errors (Claudio Bley),
  Add Documentation fields to systemd service files (Guido Günther),
  add LXC multi console command docs and a example (Chen Hanxiao),
  maint: fix comment typos in qemu numa code (Eric Blake),
  return paragraph must be last (Eric Blake),
  fix layout of code snippets (Eric Blake),
  improve event-related documentation (Eric Blake),
  virsh: man: Mention that volumes need to be in storage pool for undefine (Peter Krempa),
  fix address type for disks (Martin Kletzander),
  qemu: fix typo PCi => PCI (Martin Kletzander),
  tools: Fix virsh connect man page (Jiri Denemark),
  fix a typo in libvirt.h (Chen Hanxiao),
  fix recent typo (Eric Blake),
  Enhance memoryBacking/locked documentation (Jiri Denemark),
  fix double articles bug (Wang Yufei),
  Explicitly declaring that nodedev-destroy only works for vHBA (Osier Yang),
  fix some typos (Eric Blake),
  fix typo in previous patch (Eric Blake),
  fix typos in libvirt.h.in (Chen Hanxiao)
- Portability:
  build: fix build on mingw with winpthreads (Eric Blake),
  BSD: implement nodeGetMemoryStats (Roman Bogorodskiy),
  build: fix bootstrap with older autoconf (Eric Blake),
  AArch64: Porting of armv7l conditons to run qemu for aarch64. (Pranavkumar Sawargaonkar),
  vmware: os x support is broken (Denis Kondratenko),
  tests: fix syntax in previous patch (Eric Blake),
  aarch64: Fix sysinfo test. (Richard W.M. Jones),
  aarch64: Disable -fstack-protector. (Richard W.M. Jones),
  virnettlscontexttest fails with GNUTLS 3.0.28 (Cédric Bosdonnat),
  Fix build when default python is python3 (Lénaïc Huard),
  specfile: fix make rpm when with_driver_modules is 1 (Laine Stump),
  object: require maximal alignment in base class (Eric Blake),
  configure: Resolve compile issue in configure.ac (Adam Walters)
- Bug Fixes:
  qemu: Avoid operations on NULL monitor if VM fails early (Peter Krempa),
  Fix coverity complain in commandtest.c (Pavel Hrdina),
  Fix memory leak in securityselinuxlabeltest.c (Pavel Hrdina),
  Fix possible memory leak in util/virxml.c (Pavel Hrdina),
  Fix possible memory leak in phyp_driver.c (Pavel Hrdina),
  Fix memory leak in openvz_conf.c (Pavel Hrdina),
  Fix memory leak in testDomainCreateXMLMixed() (Nehal J Wani),
  schema: fix idmap validation (Eric Blake),
  event: don't queue NULL event on OOM (Eric Blake),
  virt-login-shell: fix regressions in behavior (Eric Blake),
  storage: fix crash when listing volumes or undefining a pool (Martin Kletzander),
  qemuBuildNicDevStr: Set vectors= on Multiqueue (Michal Privoznik),
  libxl: Fix devid init in libxlMakeNicList (Stefan Bader),
  LXC: create monitor socket under selinux context of domain (Gao feng),
  virsh: Use inactive definition when removing disk from config (Peter Krempa),
  virsh: Don't use legacy API if --current is used on device hot(un)plug (Peter Krempa),
  virConnect(Un)registerCloseCallback: Unlock @conn prior to error dispatch (Michal Privoznik),
  Allow to install apparmor profiles (Guido Günther),
  Fix bridge configuration when OUTPUT policy is DROP on the host (Lénaïc Huard),
  lxc_controller: Don't leak @name (Michal Privoznik),
  qemu: Fix job usage in qemuDomainBlockCopy (Jiri Denemark),
  Fix segmentation fault when accessing default qemu machine type (Yudai Yamagish),
  event: make deregister return value match docs (Eric Blake),
  qemuProcessStop: Don't overwrite any errors (Michal Privoznik),
  Fix argument order of qemuMigrationPerformJob(). (Minoru Usui),
  libxl: Fix initialization of nictype in libxl_device_nic (Jim Fehlig),
  qemu: range check numa memory placement mode (Peter Krempa),
  Fix explicit usage of default video PCI slots (Ján Tomko),
  maint: avoid nested public calls (Eric Blake),
  event: don't overwrite registration error message (Eric Blake),
  tests: sysinfotest: Actual/expected were swapped in error message. (Richard W.M. Jones),
  domain: don't try to interpret <driver> as virtio config for hostdev interfaces (Laine Stump),
  virkeycode: Allow ANSI_A (Michal Privoznik),
  interface: Take interface status into account when starting and destroying (Michal Privoznik),
  event-test: Unregister close callback (Michal Privoznik),
  qemu: re-add hostdev interfaces to hostdev array on libvirtd restart (Laine Stump),
  qemu: avoid duplicate security label restore on hostdev attach failure (Laine Stump),
  qemu: properly set MaxMemLock when hotplugging with VFIO (Laine Stump),
  PanicCheckABIStability: Need to check for existence (John Ferlan),
  libxl: fix segfault when domain create fail (Bamvor Jian Zhang),
  Fix crash in lxcDomainSetMemoryParameters (Martin Kletzander),
  storage: fix bogus target in gluster volume xml (Eric Blake),
  Fix crash in virsystemdtest with dbus 1.7.6 (Cédric Bosdonnat),
  Fix race leading to crash when setting up dbus watches (Daniel P. Berrange),
  libxl: libxl_get_max_cpus returning a libxl error from 4.4 onward (Dario Faggioli),
  virsh: domain: Fix undefine with storage of 'volume' disks (Peter Krempa),
  qemu: ask for -enable-fips when FIPS is required (Eric Blake),
  configure: make --with-test-suite work (Martin Kletzander),
  Fix memory leak in virObjectEventCallbackListRemoveID() (Nehal J Wani),
  qemu: check for reboot-timeout on monitor (Martin Kletzander),
  lxc: return -1 if failed to kill lxc process (Chen Hanxiao),
  Add another missing % on %{_libdir} macro (Laine Stump),
  Add missing % on %{_libdir} macro in RPM (Daniel P. Berrange),
  storage: fix omitted slash in gluster volume URI (Eric Blake),
  qemu_process: Read errors from child (Michal Privoznik),
  qemu: hotplug: Fix adding USB devices to the driver list (Cole Robinson),
  qemu: hotplug: Fix double free on USB collision (Cole Robinson),
  qemu: hotplug: Only label hostdev after checking device conflicts (Cole Robinson),
  lxcContainerMountFSDevPTS: Unify @ret usage pattern (Chen Hanxiao),
  conf: Fix XML formatting of RNG device info (Peter Krempa),
  qemu: snapshot: Fix incorrect disk type for auto-generated disks (Peter Krempa),
  virThreadPoolFree: Set n(Prio)Workers after the pool is locked (Michal Privoznik),
  qemuAgentDispose: Reset lastError (Wangyufei (James)),
  Fix memory leak in qemuBuildDriveStr() (Nehal J Wani),
  Don't overwrite errors from virConfReadFile (Daniel P. Berrange),
  virThreadPoolFree: Join worker threads (Michal Privoznik),
  qemu: fix live pinning to memory node on NUMA system (Shivaprasad G Bhat),
  storage_driver: Resolve Coverity CHECKED_RETURN warning (John Ferlan),
  bridge_driver: Resolve Coverity CHECKED_RETURN warning (John Ferlan),
  virnetserverclient: Fix conditional change HAVE_SASL to WITH_SASL (John Ferlan),
  virnetserverclient: Remove Coverity DEADCODE warning (John Ferlan),
  nwfilter: Remove Coverity DEADCODE warning (John Ferlan),
  qemu: report error on attempt to live change virtio-net queues (Laine Stump),
  daemon: Run virStateCleanup conditionally (Michal Privoznik),
  qemu: default to vfio for nodedev-detach (Laine Stump),
  Ensure to zero out the virDomainBlockJobInfo arg (Daniel P. Berrange),
  snapshot: conf: Fix NULL dereference when <driver> element is empty (Peter Krempa)
- Improvements:
  event: wire up RPC for server-side network event filtering (Eric Blake),
  event: add notion of remoteID for filtering client network events (Eric Blake),
  event: track callbackID on daemon side of RPC (Eric Blake),
  tests: be more explicit on qcow2 versions in virstoragetest (Eric Blake),
  Add Gao feng to the committers list (Gao feng),
  maint: ignore transient files during tests (Eric Blake),
  storage: FS: Tweak some comments and fix typos (Peter Krempa),
  Exercise the ABI stability check code in test suite (Daniel P. Berrange),
  storage: Improve error message when a storage backend is missing (Peter Krempa),
  storage: lvm: Avoid forward decl of virStorageBackendLogicalDeleteVol (Peter Krempa),
  maint: improve VIR_ERR_INVALID_DOMAIN_SNAPSHOT usage (Eric Blake),
  maint: improve VIR_ERR_INVALID_NWFILTER usage (Eric Blake),
  maint: improve VIR_ERR_INVALID_STREAM usage (Eric Blake),
  maint: improve VIR_ERR_INVALID_SECRET usage (Eric Blake),
  maint: improve VIR_ERR_INVALID_NODE_DEVICE usage (Eric Blake),
  maint: improve VIR_ERR_INVALID_STORAGE_VOL usage (Eric Blake),
  maint: improve VIR_ERR_INVALID_STORAGE_POOL usage (Eric Blake),
  test driver: Add authentication to test driver. (Richard W.M. Jones),
  maint: improve VIR_ERR_INVALID_INTERFACE usage (Eric Blake),
  event: clean up client side RPC code (Eric Blake),
  Make sure AC_ARG_WITH is always executed (Guido Günther),
  maint: improve VIR_ERR_INVALID_NETWORK usage (Eric Blake),
  conf: trivial typo fix (Martin Kletzander),
  maint: inline VIR_IS*_DOMAIN macro (Eric Blake),
  maint: improve VIR_ERR_INVALID_DOMAIN usage (Eric Blake),
  event: make network events easier to use without casts (Eric Blake),
  event: don't turn offline domain into global event (Eric Blake),
  event: don't allow mix of old- and new-style registration (Eric Blake),
  event: properly filter count of remaining events (Eric Blake),
  Read PCI class from sysfs class file instead of config space. (Thadeu Lima de Souza Cascardo),
  event: tighten scope of object_event (Eric Blake),
  event: don't let old-style events clobber per-domain events (Eric Blake),
  event: rename confusing variable in test, remote drivers (Eric Blake),
  event: share state driver between test:///default connections (Eric Blake),
  lxc_controller: Fix error message on missing --handshakefd (Michal Privoznik),
  maint: inline VIR_IS_CONNECT macro (Eric Blake),
  maint: Fix messy include of libvirt_internal.h (Peter Krempa),
  maint: improve VIR_ERR_INVALID_CONN usage (Eric Blake),
  maint: improve VIR_ERR_OPERATION_DENIED usage (Eric Blake),
  qemu: Clean up qemuDomainSetNumaParameters (Peter Krempa),
  storage: Use VIR_DELETE_ELEMENT instead of open coding (Peter Krempa),
  event: use newer array management macros (Eric Blake),
  event: use bool in more places (Eric Blake),
  maint: improve VIR_ERR_NO_SUPPORT usage (Eric Blake),
  event: remove unneeded virObjectEventGetEventID (Eric Blake),
  event: fix doc typos, and doc more public methods (Eric Blake),
  maint: reset error on entrance to public API (Eric Blake),
  maint: improve error condition style in public API (Eric Blake),
  maint: split long lines in invalidArg errors (Eric Blake),
  maint: move debug statements first in public API (Eric Blake),
  maint: improve debug of libvirt-{qemu,lxc} apis (Eric Blake),
  maint: consistent formatting in libvirt.c (Eric Blake),
  event: improve public API docs (Eric Blake),
  tests: virnetsockettest: Print the error if getifaddrs fails. (Richard W.M. Jones),
  maint: update to latest gnulib (Eric Blake),
  maint: fix typo in error message (Eric Blake),
  interface: Introduce netcfInterfaceObjIsActive (Michal Privoznik),
  examples: Resurrect domsuspend example (Michal Privoznik),
  libxl: correctly handle affinity reset in virDomainPinVcpu[Flags] (Dario Faggioli),
  libxl: implement virDomainPinVcpuFlags (Dario Faggioli),
  libxl: implement virDomainGetVcpuPinInfo (Dario Faggioli),
  virt-login-shell: clean up usage (Eric Blake),
  storage: Avoid forward declaration of virStorageVolDelete (Peter Krempa),
  storage: Add gluster pool filter and fix virsh pool listing (Peter Krempa),
  snapshot: schema: Split out snapshot disk driver definition (Peter Krempa),
  Remove redefinition of bool type when --enable-test-locking (Daniel P. Berrange),
  Set the 'container_ttys' env variable for LXC consoles (Daniel P. Berrange),
  storage: resize vol against real allocated size (Michal Privoznik),
  Support transient attribute on vmware disks (Wout Mertens),
  LXC: Change incorrect error report in lxcContainerPivotRoot (Gao feng),
  Add debug output when registering event handlers (Daniel P. Berrange),
  Remove the event namespace concept (Daniel P. Berrange),
  Associate a dispatch function with the event objects (Daniel P. Berrange),
  Introduce abstract virNetworkEvent class (Daniel P. Berrange),
  Add 'detail' arg to network lifecycle event internals (Daniel P. Berrange),
  Update event demo program to support network events too (Daniel P. Berrange),
  Move examples/domain-events/event-c to examples/object-events (Daniel P. Berrange),
  qemu: add support for -device pvpanic (Hu Tao),
  conf: add support for panic device (Hu Tao),
  conf: introduce generic ISA address (Hu Tao),
  Bump version to 1.2.1 for new dev cycle (Daniel P. Berrange),
  rename virBlkioDeviceWeightPtr to virBlkioDevicePtr (Gao feng),
  rename virBlkioDeviceWeightArrayClear to virBlkioDeviceArrayClear (Gao feng),
  rename virDomainBlkioDeviceWeightParseXML to virDomainBlkioDeviceParseXML (Gao feng),
  storage: show gluster option in virsh --version=long (Eric Blake),
  Added default case with error for object event dispatching (Cédric Bosdonnat),
  Fixed indentation in src/conf/*_event* (Cédric Bosdonnat),
  Added network events to the bridged network driver (Cédric Bosdonnat),
  Add network events to the remote driver (Cédric Bosdonnat),
  Add network events unit tests (Cédric Bosdonnat),
  test driver: implemented network events (Cédric Bosdonnat),
  Added Network events API and virNetworkEventLifecycle. (Cédric Bosdonnat),
  storage_backend_rbd: rename "stat" variable (Michael Chapman),
  If we do not specify a readonly mount, we don't need to re-mount it again. (Chen Hanxiao),
  daemon/remote.c: renamed remoteDispatchDomainEventSend (Cédric Bosdonnat),
  test driver: renamed testDomainEventQueue into testObjectEventQueue (Cédric Bosdonnat),
  Extracted common parts of domain_event.[ch] to object_event.[ch] (Cédric Bosdonnat),
  Split the virObjectEvent and virDomainEvent* to separate them after (Cédric Bosdonnat),
  Renamed virDomainEventTimer to virObjectEventTimer (Cédric Bosdonnat),
  Add object event namespaces for the event IDs (Cédric Bosdonnat),
  Use virObjectEventPtr instead of virDomainEventPtr (Cédric Bosdonnat),
  Create virDomainEventDeviceRemoved and remove the huge union (Cédric Bosdonnat),
  Create virDomainEventBalloonChange to get rid of the huge union (Cédric Bosdonnat),
  Create virDomainEventTrayChange to get rid of the huge union (Cédric Bosdonnat),
  Create virDomainEventDiskChange to get rid of the huge union (Cédric Bosdonnat),
  Create virDomainEventBlockJob to get rid of the huge union (Cédric Bosdonnat),
  Create virDomainEventGraphics to get rid of the huge union (Cédric Bosdonnat),
  Create virDomainEventIOError to get rid of the huge union (Cédric Bosdonnat),
  Create virDomainEventWatchdog to get rid of the huge union (Cédric Bosdonnat),
  Create virDomainEventRTCChange to get rid of the huge union (Cédric Bosdonnat),
  Renamed virDomainEventNewInternal to virDomainEventNew (Cédric Bosdonnat),
  Renamed virDomainEventNew* to virDomainEventLifecycleNew* (Cédric Bosdonnat),
  Create virDomainEventLifecycle to start removing the huge union (Cédric Bosdonnat),
  virObject-ified virDomainEvent (Cédric Bosdonnat),
  Created virObjectEventStateRegisterID (Cédric Bosdonnat),
  Renamed virDomainEventCallbackList* to virObjectEventCallbackList* (Cédric Bosdonnat),
  Renamed virDomainEventState to virObjectEventState (Cédric Bosdonnat),
  Renamed virDomainEventQueue to virObjectEventQueue (Cédric Bosdonnat),
  Renamed virDomainMeta to virObjectMeta (Cédric Bosdonnat),
  Rename virDomainEventCallback to virObjectEventCallback (Cédric Bosdonnat),
  Added domain start/stop/define/undefine event unit tests (Cédric Bosdonnat),
  spec: clean up libvirtd and virtlockd service mgmt (Michael Chapman),
  virtlockd: use common exit path when out-of-memory (Michael Chapman),
  virtlockd: improve initscripts (Michael Chapman),
  virtlockd: improve systemd units (Michael Chapman),
  conf: don't format memtune with unlimited values (Martin Kletzander),
  qemu: Fix minor inconsistency in error message (Martin Kletzander),
  qemu: Report VIR_DOMAIN_MEMORY_PARAM_UNLIMITED properly (Martin Kletzander),
  cgroups: Redefine what "unlimited" means wrt memory limits (Martin Kletzander),
  spec: move driver-specific files to driver subpackages (Jim Fehlig),
  spec: Define hypervisor-specific files together (Jim Fehlig),
  spec: Conditionally specify some hypervisor-specific files (Jim Fehlig),
  spec: Fix files list when building without driver modules (Jim Fehlig),
  spec: Only add libvirt-daemon pre install script if building with qemu (Jim Fehlig),
  spec: Fix unconditional references of nwfilter (Jim Fehlig),
  Cgroup: Replace 'newpath' with 'newPath' (Zhou Yimin),
  Add qxl ram size to ABI stability check (Ján Tomko),
  qemu: Improve error when setting invalid count of vcpus via agent (Peter Krempa),
  qemu: hotplug: Mark 2 private functions as static (Cole Robinson),
  qemu: Fix indentation in qemuTranslateDiskSourcePool (Peter Krempa),
  domainsnapshotxml2xmltest: Add test case for empty driver element (Peter Krempa),
  domainsnapshotxml2xmltest: Add existing files as new tests (Peter Krempa),
  domainsnapshotxml2xml: Move files with conflicting names (Peter Krempa),
  domainsnapshotxml2xmltest: Allow for better testing of snapshots (Peter Krempa),
  domainsnapshotxml2xmltest: Clean up labels and use bool instead of int (Peter Krempa),
  maint: Kill usage of atoi() (Peter Krempa),
  src: Align make output (Michal Privoznik),
  tests: add forgotten boot-strict test files (Laine Stump),
  qemu: add "-boot strict" to commandline whenever possible (Laine Stump),
  qemu: snapshots: Declare supported and unsupported snapshot configs (Peter Krempa),
  qemu: Clear old translated pool source (Peter Krempa),
  qemu: Refactor disk source string formatting (Peter Krempa),
  qemu: Unify formatting of RBD sources (Peter Krempa),
  qemu: Split out NBD command generation (Peter Krempa),
  qemu: Migrate sheepdog source generation into common function (Peter Krempa),
  qemu: Use qemuBuildNetworkDriveURI to handle http/ftp and friends (Peter Krempa),
  qemu: Simplify call pattern of qemuBuildDriveURIString (Peter Krempa),
  qemu: Split out formatting of network disk source URI (Peter Krempa),
  qemu: Refactor qemuTranslateDiskSourcePool (Peter Krempa),
  virsh: improve grammar in error message (Eric Blake),
  qemu: snapshot: Add functions similar to disk source pool translation (Peter Krempa),
  qemu: snapshot: Touch up error message (Peter Krempa),
  conf: Add helper do clear disk source authentication struct (Peter Krempa),
  qemu: snapshot: Detect internal snapshots also for sheepdog and RBD (Peter Krempa),
  conf: Add functions to copy and free network disk source definitions (Peter Krempa),
  snapshot: conf: Use common parsing and formatting functions for source (Peter Krempa),
  conf: Export disk source formatter and parser (Peter Krempa),
  conf: Split out seclabel formating code for disk source (Peter Krempa),
  conf: Clean up virDomainDiskSourceDefFormatInternal (Peter Krempa),
  conf: Support disk source formatting without needing a virDomainDiskDefPtr (Peter Krempa),
  tests: Fix comment for fake storage pool driver (Peter Krempa),
  qemuxml2argv: Add test for disk type='volume' with iSCSI pools (Peter Krempa),
  qemuxml2argv: Add test to verify correct usage of disk type="volume" (Peter Krempa),
  test: Implement fake storage pool driver in qemuxml2argv test (Peter Krempa),
  util: Use new array management macros (Osier Yang)
- Cleanups:
  storage: Break long lines and clean up spaces in storage backend header (Peter Krempa),
  event: fix typo in previous patch (Eric Blake),
  Remove stray semicolon after pragma macros (Daniel P. Berrange),
  examples: Remove broken bad example (Peter Krempa)