# Releases (2016)

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

### v1.3.1: Jan 17 2016

- Features:
  Various improvements for the Xen libxl driver (Jim Fehlig),
  rbd: Add support for wiping and cloning images to storage driver (Wido den Hollander),
  PCI hostdev improvements and fixes (Andrea Bolognani)
- Security:
  CVE-2015-5313: storage: don't allow '/' in filesystem volume names (Eric Blake)
- Documentation:
  virsh: Update description of lxc-enter-namespace (Guido Günther),
  virsh: Document the --timestamp option (Andrea Bolognani),
  docs: update to properly reflect meaning of fields in log filter (Laine Stump),
  virStorageVolWipe: Document that wiping journaled FS is useless (Michal Privoznik),
  storage: Add comments for backend APIs (John Ferlan)
- Portability:
  build: fix distdir with wireshark disabled (Cole Robinson),
  wireshark: Install into DESTDIR (Michal Privoznik),
  cgroup: don't include sys/mount.h if not needed (Jasper Lievisse Adriaanse),
  tools: Disable virt-login-shell on mingw (Michal Privoznik),
  sysconf: Include unistd.h (Michal Privoznik),
  Allow building lxc without virt-login-shell (Cédric Bosdonnat),
  build: disable vbox on cygwin (Eric Blake),
  virNetDevMacVLanTapSetup: Work around older systems (Michal Privoznik)
- Bug Fixes:
  security: Do not restore labels on device tree binary (Jiri Denemark),
  security: Do not restore kernel and initrd labels (Jiri Denemark),
  cgroup: Fix possible bug as a result of code motion for vcpu cgroup setup (John Ferlan),
  Revert "lxc_cgroup: Add check for NULL cgroup before AddTask call" (John Ferlan),
  Revert "util: cgroups do not implicitly add task to new machine cgroup" (John Ferlan),
  Revert "qemu: do not put a task into machine cgroup" (John Ferlan),
  virt-aa-helper: don't deny writes to readonly mounts (Cédric Bosdonnat),
  conf: Initialize 'deflate' for balloon parse XML (John Ferlan),
  wireshark: Drop DESTDIR from install path (Michal Privoznik),
  qemuProcessCleanupChardevDevice: Don't unlink NULL paths (Michal Privoznik),
  xenconfig: check return value of regcomp (Jim Fehlig),
  Xen: use correct domctl version in domaininfolist union (Jim Fehlig),
  testutils: Fix coverity warning with REGENERATE_OUTPUT (Cole Robinson),
  rpc: socket: Don't repeatedly attempt to launch daemon (Cole Robinson),
  rpc: socket: Explicitly error if we exceed retry count (Cole Robinson),
  rpc: Don't rewrite msg->fds on every read dispatch (Ben Gray),
  util: eliminate bogus error log in virNetDevVPortProfileGetStatus (Laine Stump),
  qemu: Set virtio channel state sooner (Michal Privoznik),
  virDomainGetTime: Deny on RO connections (Michal Privoznik),
  virDomainInterfaceAddresses: Allow API on RO connection too (Michal Privoznik),
  Don't clear libvirt-internal paths when parsing status XML (Martin Kletzander),
  virDomainMigrateUnmanagedParams: Don't blindly dereference @dconnuri (Michal Privoznik),
  Fix USB model defaults for ppc64 (Martin Kletzander),
  Avoid wild securityManager pointer in tests (Martin Kletzander),
  tests: Fix running schematests directly from topdir (Cole Robinson),
  qemu: Fix crash when defining XML with bogus emulator (Cole Robinson),
  tests.nwfilterebiptablestest: swap actual and expected (Pavel Hrdina),
  qemu: Fix NBD migration with default listenAddress (Jiri Denemark),
  virLogVMessage: Don't leak rawinitmsg (Michal Privoznik),
  virLogHostnameString: Don't leak hostname (Michal Privoznik),
  virsh: Interrupt *event --loop on disconnect (Jiri Denemark),
  virsh: Pass ctl to virshCatchDisconnect (Jiri Denemark),
  qemu: Don't bother user with libvirt-internal paths (Martin Kletzander),
  rbd: Do not append Ceph monitor port number 6789 if not provided (Wido den Hollander),
  rbd: Do not error out on a single image during pool refresh (Wido den Hollander),
  rbd: Only close RBD image if it has been opened (Wido den Hollander),
  fix LSB part of virtlogd runlevel script (Olaf Hering),
  virtlogd: fix lock file path in initscript (Michael Chapman),
  spec: chkconfig(8) and service(8) are in /sbin/, not /bin/ (Michael Chapman),
  spec: dbus-devel is needed as build dependency if polkit support is enabled (Michael Chapman),
  storage: Clean up error path for create buildPool failure (John Ferlan),
  libvirt-domain: fix dxml passing in virDomainMigrateToURI2 (Ján Tomko),
  schema: interleave domain name and uuid with other elements (Ján Tomko),
  qemu: Fix return value of qemuDomainGetBlockJobInfo (Michal Privoznik),
  storage: do not leak storage pool XML filename (Michael Chapman),
  qemu: do not leak NBD disk data in migration cookie (Michael Chapman),
  qemu: do not copy out non-existent block job info (Michael Chapman),
  vz: BUG: fix connecting hang in case of init failure (Maxim Nestratov),
  storage: Fix startup issue for logical pool (John Ferlan),
  qemu: Fix event generated for qemuDomainRevertToSnapshot (pause->run) (John Ferlan),
  storage: Check FS pool source during virStorageBackendFileSystemIsMounted (John Ferlan),
  qemuMonitorJSONEjectMedia: Don't leak stringified reply (Michal Privoznik),
  virNetDevMacVLanTapSetup: Drop @multiqueue argument (Michal Privoznik),
  qemu: Warn when using vhost-user without shared memory (Martin Kletzander),
  storage: Ignore block devices that fail format detection (John Ferlan),
  storage: Set ret = -1 on failures in virStorageBackendUpdateVolTargetInfo (John Ferlan),
  qemu: cgroup: Don't use priv->ncpupids to iterate domain vCPUs (Peter Krempa),
  qemu: cpu hotplug: Fix error handling logic (Peter Krempa),
  qemu: qemuDomainSetVcpusAgent: re-check agent before calling it the again (Peter Krempa),
  libxl: copy persistent domain definition while starting a guest (Pavel Hrdina),
  xen: fix timer bug found by updated test (Pavel Hrdina)
- Improvements:
  qemu: Print better warning in qemuAgentNotifyEvent (Yaniv Kaul),
  build: Kill tools/wireshark Makefiles (Cole Robinson),
  Expand $(wildcard) correctly (Michal Privoznik),
  qemu: add support of optional 'autodeflate' attribute (Dmitry Andreev),
  qemu: add capability check for memballoon 'deflate-on-oom' feature (Dmitry Andreev),
  conf: introduce 'autodeflate' attribute for memballoon device (Dmitry Andreev),
  rpc: socket: Minor cleanups (Cole Robinson),
  Add missing virxdrdefs.h include to log_protocol (Roman Bogorodskiy),
  virsh: Fix alignment in VIRSH_COMMON_OPT_CONFIG definition (Andrea Bolognani),
  virsh: Create macro for common "interface" option (John Ferlan),
  virsh: Create macro for common "network" option (John Ferlan),
  virsh: Create macros for common "vol" options (John Ferlan),
  virsh: Create macro for common "file" option (John Ferlan),
  virsh: Create macro for common "current" option (John Ferlan),
  virsh: Create macro for common "live" option (John Ferlan),
  virsh: Create macro for common "config" option (John Ferlan),
  virsh: Create macro for common "persistent" option (John Ferlan),
  virsh: Create macro for common "domain" option (John Ferlan),
  virsh: Adjustments for the VIRSH_COMMON_OPT_POOL (John Ferlan),
  virsh: Convert VSH_POOL_ macro to VIRSH_COMMON_OPT_ (John Ferlan),
  qemu: use enum when setting PCI "multi" value, not 0 or 1 (Laine Stump),
  qemu: auto-add a USB2 controller set for Q35 machines (Laine Stump),
  qemu: define virDomainDevAddUSBController() (Laine Stump),
  conf: add virDomainDefAddController() (Laine Stump),
  qemu: prefer 00:1D.x and 00:1A.x for USB2 controllers on Q35 (Laine Stump),
  qemu: don't assume slot 0 is unused/reserved. (Laine Stump),
  Unify int types handling in protocol files (Jasper Lievisse Adriaanse),
  Use struct sockpeercred when available (Jasper Lievisse Adriaanse),
  build: Kill docs/schemas/Makefile.am (Cole Robinson),
  build: Kill include/libvirt/Makefile.am (Cole Robinson),
  wireshark: Fix header of get_message_len() (Michal Privoznik),
  wireshark: Replace WIRESHARK_COMPAT with actual version comparison (Michal Privoznik),
  wireshark: s/tvb_length/tvb_captured_length/ (Michal Privoznik),
  wireshark: s/ep_alloc/wmem_alloc/ (Michal Privoznik),
  wireshark: s/proto_tree_add_text/proto_tree_add_item/ (Michal Privoznik),
  qemu: Introduce QEMU_CAPS_VSERPORT_CHANGE (Michal Privoznik),
  qemu: change qemuFindAgentConfig return type (Michal Privoznik),
  Fix LSB requirements in service script and sync them (Martin Kletzander),
  virsh: Add timestamps to network events (Andrea Bolognani),
  virsh: Add timestamps to QEMU monitor events (Andrea Bolognani),
  Provide parse flags to PostParse functions (Martin Kletzander),
  qemu: command: wire up usage of q35/ich9 disable s3/s4 (Cole Robinson),
  qemu: caps: check for q35/ICH9 disable S3/S4 (Cole Robinson),
  qemu: caps: Rename CAPS_DISABLE_S[34] to CAPS_PIIX_DISABLE_S[34] (Cole Robinson),
  qemu: capabilities: s/Pixx/Piix/g (Cole Robinson),
  examples: Use one top level makefile (Cole Robinson),
  cfg.mk: Drop period after filename for indent failures (Cole Robinson),
  virt-host-validate-common: Print warning on missing IOMMU (Michal Privoznik),
  tests: qemuxml2xml: Wire up QEMUCaps usage (Cole Robinson),
  tests: add genericxml2xmltest (Cole Robinson),
  tests: qemuxml2xml: drop early file loading (Cole Robinson),
  tests: Share domain XML2XML compare helper (Cole Robinson),
  tests: Add newlines with VIR_TEST_REGENERATE_OUTPUT (Cole Robinson),
  libxl: support vif outgoing bandwidth QoS (Jim Fehlig),
  xenconfig: support vif bandwidth in xm and xl parser and formatter (Jim Fehlig),
  xenconfig: support vif bandwidth in sexpr parser and formatter (Jim Fehlig),
  util: add missing newline (Laine Stump),
  tests: qemuxml2argv: Add tests for USB controller on q35 (Andrea Bolognani),
  tests: qemuxml2xml: Convert fprintf to VIR_TEST_DEBUG (Cole Robinson),
  qemu: Handle SecurityManagerVerify in post parse (Cole Robinson),
  qemu: Handle CanonicalizeMachine in post parse (Cole Robinson),
  qemu: domain: split out post parse default device handling (Cole Robinson),
  domain: separate out function for post parse timer validation (Cole Robinson),
  domain: separate out function for post parse console compat (Cole Robinson),
  qemu: Refactor qemuMigrationFinish (Jiri Denemark),
  qemu: Report more migration statistics (Jiri Denemark),
  qemu: Create a proper type for migration status enum (Jiri Denemark),
  qemu: Rename qemuMonitorMigrationStatus struct (Jiri Denemark),
  qemu: Reorder migration status enum (Jiri Denemark),
  tests.testutils: use virTestDifferenceFull in virtTestCompareToFile (Pavel Hrdina),
  tests.testutils: use VIR_TEST_REGENERATE_OUTPUT for virTestDifferenceFull (Pavel Hrdina),
  tests: add helper for VIR_TEST_REGENERATE_OUTPUT flag (Pavel Hrdina),
  xen: move virDomainDefPostParse to xenParseSxpr (Pavel Hrdina),
  Remove non-breaking space in comment (Martin Kletzander),
  virsh: Add timestamps to events (Jiri Denemark),
  virsh: Refactor event printing (Jiri Denemark),
  pci: Log debug messages when manipulating the inactive list (Andrea Bolognani),
  qemu: Add debug message to spice migration (Jiri Denemark),
  qemu: snapshot: Skip 'transaction' command when no disks are selected (Peter Krempa),
  qemu: Specify format= iff disk source is not empty (Michal Privoznik),
  conf: Rework code around 'append' attribute (Dmitry Mishin),
  Use tristate constants for new 'append' field (Dmitry Mishin),
  docs: Describe new 'append' attribute for chardevs source (Dmitry Mishin),
  Fix formatting for virDomainGetCPUStats docstring (Martin Kletzander),
  maint: update to latest gnulib (Eric Blake),
  util: reduce debug log in virPCIGetVirtualFunctions() (Laine Stump),
  util: improve error reporting in virNetDevVPortProfileGetStatus (Laine Stump),
  util: report the MAC address that couldn't be set (Laine Stump),
  rbd: Return VIR_STORAGE_FILE_RAW as format for RBD volumes (Wido den Hollander),
  tests: Make test-wrap-argv.pl executable (Michal Privoznik),
  tools: Include PIE_LDFLAGS at the correct place (Michal Privoznik),
  qemu: Process new 'append' attribute for char dev with output to a file (Dmitry Mishin),
  conf: Add new 'append' attribute for chardevs with file source (Dmitry Mishin),
  tests: add qemu 2.6 caps test (Dmitry Mishin),
  vz: support additional flags in domain undefine (Maxim Nestratov),
  vz: move prlsdkCleanupBridgedNet after domain deletion (Maxim Nestratov),
  vz: delete domains when undefine is called (Maxim Nestratov),
  hostdev: Emit debug messages while handling PCI hostdevs (Andrea Bolognani),
  hostdev: Only rollback detach of managed devices on error (Andrea Bolognani),
  hostdev: Mark PCI devices as inactive as they're detached (Andrea Bolognani),
  pci: Introduce virPCIStubDriver enumeration (Andrea Bolognani),
  pci: Remove 'reprobe' parameter from virPCIDeviceUnbind() (Andrea Bolognani),
  pci: Remove redundant parameter from virPCIDeviceBindToStub() (Andrea Bolognani),
  Revert "admin: Rename virAdmConnect to virAdmDaemon" (Erik Skultety),
  Xen: support maxvcpus in xm and xl config (Jim Fehlig),
  virsh: Add --delete-snapshots flag for undefine and vol-delete (John Ferlan),
  libvirt: Add virStorageVolDeleteFlags to virStorageVolDelete (John Ferlan),
  storage: Add virCheckFlags to virStorageBackendRBDDeleteVol (John Ferlan),
  lxc_cgroup: Add check for NULL cgroup before AddTask call (John Ferlan),
  Xen: remove xendConfigVersion from driver private struct (Jim Fehlig),
  Xen: xenconfig: remove xendConfigVersion from public sexpr functions (Jim Fehlig),
  Xen: xend: remove use of XEND_CONFIG_VERSION (Jim Fehlig),
  Xen: xen_driver: remove use of XEND_CONFIG_VERSION (Jim Fehlig),
  Xen: xenconfig: remove use of XEND_CONFIG_VERSION in xen_sxpr (Jim Fehlig),
  Xen: tests: use latest XEND_CONFIG_VERSION in xml2sexpr tests (Jim Fehlig),
  Xen: xenconfig: remove disks from '(image)' sexpr (Jim Fehlig),
  Xen: tests: use latest XEND_CONFIG_VERSION in sexpr2xml tests (Jim Fehlig),
  Xen: xenconfig: remove xendConfigVersion from public functions (Jim Fehlig),
  Xen: xenconfig: remove use of XEND_CONFIG_VERSION in xen_xm (Jim Fehlig),
  Xen: xenconfig: remove XEND_CONFIG_VERSION in common code (Jim Fehlig),
  Xen: tests: use latest XEND_CONFIG_VERSION in xm/xl tests (Jim Fehlig),
  Xen: tests: remove old xml2sexpr tests (Jim Fehlig),
  Xen: tests: remove old sexpr2xml tests (Jim Fehlig),
  Xen: tests: remove net-ioemu xm config test (Jim Fehlig),
  Xen: tests: remove old xm config tests (Jim Fehlig),
  virsh: Add build flags to pool-create[-as] and pool-start (John Ferlan),
  virsh: Create a macro for pool-define-as and pool-create-as options (John Ferlan),
  virsh: Create macro for "overwrite" and no-overwrite" options (John Ferlan),
  virsh: Create macro for "file" option (John Ferlan),
  virsh: Create macro for "pool" option (John Ferlan),
  storage: Add flags to allow building pool during create processing (John Ferlan),
  mark virDomainVirtioSerialAddrSetAddController as static. (Ján Tomko),
  Remove dead code from qemuDomainAttachControllerDevice (Ján Tomko),
  qemu_hotplug: remove qemuDomainAttachDeviceControllerLive (Ján Tomko),
  storage: Attempt to refresh volume after successful wipe volume (John Ferlan),
  virStorageBackendWipeLocal: remove bytes_wiped argument (Ján Tomko),
  storage: drop 'Extent' from virStorageBackendWipeExtentLocal (Ján Tomko),
  storage: move buffer allocation inside virStorageBackendWipeExtentLocal (Ján Tomko),
  storage: fix return values of virStorageBackendWipeExtentLocal (Ján Tomko),
  qemu: Replace Mlock with MemLock in function names (Andrea Bolognani),
  qemu: Allow qemuDomainAdjustMaxMemLock() to restore previous value (Andrea Bolognani),
  qemu: Reduce memlock limit after detaching PCI hostdev (Andrea Bolognani),
  qemu: Use qemuDomainAdjustMaxMemLock() (Andrea Bolognani),
  qemu: Add qemuDomainAdjustMaxMemLock() (Andrea Bolognani),
  process: Add virProcessGetMaxMemLock() (Andrea Bolognani),
  process: Allow virProcessPrLimit() to get current limit (Andrea Bolognani),
  qemu: Search all nodes for shared memory access (Martin Kletzander),
  pci: Use virPCIDeviceAddress in virPCIDevice (Andrea Bolognani),
  libxl: Use libxentoollog in preference to libxenctrl if available. (Ian Campbell),
  libxl: implement virDomainGetJobStats (Joao Martins),
  libxl: implement virDomainGetJobInfo (Joao Martins),
  storage: Add helper to compare logical pool def against pvs output (John Ferlan),
  storage: Create helper for virStorageBackendLogicalFindPoolSources (John Ferlan),
  storage: Refactor virStorageBackendFileSystemGetPoolSource (John Ferlan),
  storage: Create helper to generate FS pool source value (John Ferlan),
  qemu: add bootindex option to hostdev network interface commandline (Laine Stump),
  security_stack: remove extra Security from function names (Ján Tomko),
  security_selinux: remove extra Security from function names (Ján Tomko),
  security_dac: remove extra Security from function names (Ján Tomko),
  qemuMonitorJSONEjectMedia: don't stringify the replay at all (Pavel Hrdina),
  pci: Use 'addr' instead of 'dev' for virPCIDeviceAddressPtr (Andrea Bolognani),
  qemu cgroups: move new threads to new cgroup after cpuset is set up (Henning Schild),
  qemu: do not put a task into machine cgroup (Henning Schild),
  util: cgroups do not implicitly add task to new machine cgroup (Henning Schild),
  util: Fixup virnetdevmacvlan.h ATTRIBUTE_NONNULL's (John Ferlan),
  test: qemuxml2argv: Mock virMemoryMaxValue to remove 32/64 bit difference (Peter Krempa),
  qemu: Enable multiqueue for macvtaps (Michal Privoznik),
  virNetDevMacVLanCreateWithVPortProfile: Rework to support multiple FDs (Michal Privoznik),
  virNetDevMacVLanTapSetup: Allow enabling of IFF_MULTI_QUEUE (Michal Privoznik),
  virNetDevMacVLanTapSetup: Rework to support multiple FDs (Michal Privoznik),
  virNetDevMacVLanTapOpen: Rework to support multiple FDs (Michal Privoznik),
  virNetDevMacVLanTapOpen: Slightly rework (Michal Privoznik),
  virNetDevMacVLanCreateWithVPortProfile: Turn vnet_hdr into flag (Michal Privoznik),
  log: include hostname in initial log message (Daniel P. Berrange),
  storage: Add debug message (John Ferlan),
  storage: Handle readflags errors (John Ferlan),
  storage: Add readflags for backend error processing (John Ferlan),
  tests: scsihost: Use fakerootdir instead of fakesysfsdir (Andrea Bolognani),
  tests: Use more specific names for variables (Andrea Bolognani),
  tests: Rename LIBVIRT_FAKE_SYSFS_DIR to LIBVIRT_FAKE_ROOT_DIR (Andrea Bolognani),
  tests: cgroupmock: Use the temporary directory as fake root (Andrea Bolognani),
  tests: pcimock: Use the temporary directory as fake root (Andrea Bolognani),
  tests: pcimock: Remove check for fakesysfsdir (Andrea Bolognani),
  tests: scsihost: Don't set LIBVIRT_FAKE_SYSFS_DIR (Andrea Bolognani),
  qemu: driver: Refactor qemuDomainHelperGetVcpus (Peter Krempa),
  qemu: Add helper to retrieve vCPU pid (Peter Krempa),
  qemu: Replace checking for vcpu<->pid mapping availability with a helper (Peter Krempa),
  qemu: Drop checking vcpu threads in emulator bandwidth getter/setter (Peter Krempa),
  qemu: cgroup: Remove now unreachable check (Peter Krempa),
  conf: Add helper to get pointer to a certain vCPU definition (Peter Krempa),
  conf: ABI: Split up and improve vcpu info ABI checking (Peter Krempa),
  conf: turn def->vcpus into a structure (Peter Krempa),
  qemu: refactor qemuDomainHotunplugVcpus (Peter Krempa),
  qemu: Refactor qemuDomainHotplugVcpus (Peter Krempa),
  qemu: cpu hotplug: Move loops to qemuDomainSetVcpusFlags (Peter Krempa),
  qemu: monitor: Remove weird return values from qemuMonitorSetCPU (Peter Krempa),
  qemu: Split up vCPU hotplug and hotunplug (Peter Krempa),
  qemu: Extract vCPU onlining/offlining via agent into a separate function (Peter Krempa),
  qemu: domain: Add helper to access vm->privateData->agent (Peter Krempa),
  conf: Turn def->maxvcpus into size_t (Peter Krempa),
  conf: Replace read accesses to def->vcpus with accessor (Peter Krempa),
  conf: Move vcpu count check into helper (Peter Krempa),
  conf: Replace writes to def->vcpus with accessor (Peter Krempa),
  conf: Replace read access to def->maxvcpus with accessor (Peter Krempa),
  conf: Add helper to check whether domain has offline vCPUs (Peter Krempa),
  conf: Extract update of vcpu count if maxvcpus is decreased (Peter Krempa),
  conf: Use local copy of maxvcpus in virDomainVcpuParse (Peter Krempa),
  conf: Replace writes to def->maxvcpus with accessor (Peter Krempa),
  xen: use virDomainDefPostParse for parsing XM/XL/SEXPR cofings (Pavel Hrdina),
  lxc: use virDomainDefPostParse for parsing LXC config string (Pavel Hrdina),
  vmware/vmx: use virDomainDefPostParse after parsing vmx config (Pavel Hrdina),
  virsh: rename vshCommandOptString to vshCommandOptStringQuiet (Ján Tomko),
  security_selinux: fix indentation (Ján Tomko),
  security_dac: check if virSecurityDACGetIds returns negative (Ján Tomko),

# Releases (2015)

Here is the list of official releases made during the year 2015.

### 1.3.0: Dec 09 2015

- Features:
  virt-admin and administration API (Erik Skultety, Martin Kletzander),
  various improvements in virtio devices support (Ján Tomko, Marc-André Lureau),
  log daemon, logging improvements and protocol (Daniel P. Berrange)
- Documentation:
  libvirt: Update virDomainSetMemory description (Nikolay Shirokovskiy),
  virt-admin: Provide a man page for virt-admin (Erik Skultety),
  Enhance documentation of virDomainDetachDevice (Jiri Denemark),
  qemu: monitor: Explain logic of qemuMonitorGetCPUInfo (Peter Krempa),
  document virCommandRunRegex function (Christian Loehle),
  libvirt-domain: Fix typo in debug message (Cole Robinson),
  qemu: Explain mlock limit size more in detail (Peter Krempa),
  virsh.pod: improve attach-interface section (Pavel Hrdina),
  virnetdev: Fix function comments for virNetDevGetFeatures (John Ferlan),
  virnetdev: Document reasons for ignoring some SIOCETHTOOL errno values (John Ferlan)
- Portability:
  network: selectively disable -Wcast-align in virNetDevParseDadStatus (Ian Campbell),
  log_manager: Include configmake.h last (Michal Privoznik),
  virtlogd: Fix build without DBus (Martin Kletzander),
  virtlogd: use %llu to print 64bit types (Guido Günther)
- Bug Fixes:
  qemu: fix memory leak in opening log file (Daniel P. Berrange),
  qemu: Automatic SCSI controller creation in SCSI disk hotplug broken (Boris Fiuczynski),
  qemu: domain: Prevent overflows in memory alignment code (Peter Krempa),
  conf: Revert some code to resolve issues for hostdev hotplug (Boris Fiuczynski),
  virsh: report errors for empty strings (Ján Tomko),
  bridge: check for invalid MAC in networkGetDHCPLeases (Ján Tomko),
  qemu_agent: fix deadlock in qemuProcessHandleAgentEOF (Wang Yufei),
  include: Install libvirt-common.h (Martin Kletzander),
  tools: fix output of list with state-shutoff (Wei Jiangang),
  virlogd: fix crash if log file exists and it's larger the maxlen (Pavel Hrdina),
  systemd: Escape only needed characters for machined (Martin Kletzander),
  logging: remove reference to non-existent augeas files (Daniel P. Berrange),
  virtlockd: fix misc memory leaks and other bugs (Daniel P. Berrange),
  systemd: Escape machine name for machined (Martin Kletzander),
  schema: use a better regex for listen addresses (Ján Tomko),
  apparmor: add missing qemu binaries (Guido Günther),
  storage: Change virStorageBackendVolOpen to use virFileOpenAs (John Ferlan),
  storage: Really fix setting mode for backend exec in NFS root-squash env (John Ferlan),
  qemu: Add ppc64-specific math to qemuDomainGetMlockLimitBytes() (Andrea Bolognani),
  libxl: don't unlock virDomainObj if refcnt is 0 (Jim Fehlig),
  libxl: unref libxlDriverConfig object (Jim Fehlig),
  qemu: Fix build error in Coverity environment (John Ferlan),
  virSetUIDGID: Don't leak supplementary groups (Richard Weinberger),
  locking: Add io_timeout to sanlock (Michal Privoznik),
  libvirt-guests: Disable shutdown timeout (Guido Günther),
  tpm: adapt sysfs cancel path for new TPM driver (Stefan Berger),
  bhyve: monitor: do not override domain's privateData (Roman Bogorodskiy),
  storage: Don't assume storage pool exists for FC/SCSI refresh thread (John Ferlan),
  domain-conf: reorder usb controllers so the master is first (Pavel Hrdina),
  qemu: fix parsing of -sdl arg (Daniel P. Berrange),
  qemu: handle floppy disk bus when parsing command line argv (Daniel P. Berrange),
  qemu: hotplug: Fix mlock limit handling on memory hotplug (Peter Krempa),
  Revert "utils: Remove the logging of errors from virNetDevSendEthtoolIoctl" (Daniel P. Berrange),
  qemu: migration: Actually error out on unsupported migration flag (Peter Krempa),
  qemu: migration: Properly parse memory hotplug migration flag (Peter Krempa),
  network: Remove extraneous ATTRIBUTE_NONNULL for virNetDevWaitDadFinish (John Ferlan),
  virnetdev: Check correct return value for virNetDevFeatureAvailable (John Ferlan),
  storage: On 'buildVol' failure don't delete the volume (John Ferlan),
  Revert "storage: Prior to creating a volume, refresh the pool" (John Ferlan),
  qemu: Fix memory leak in qemuProcessStart (Jiri Denemark),
  qemu: Use correct type when calling qemuPrepareNVRAM (Jiri Denemark)
- Improvements:
  Revert "libxl: implement virDomainInterfaceStats" (Jim Fehlig),
  rpm: explicitly enable & start virtlogd on install (Daniel P. Berrange),
  libvirtd: enable virtlockd/virtlogd socket activation on install (Daniel P. Berrange),
  logging: validate flags passed from client in virtlogd (Daniel P. Berrange),
  logging: change log protocol to be more reusable (Daniel P. Berrange),
  logging: preserve driver, dom name & uuid against log file (Daniel P. Berrange),
  qemu: include hostname in QEMU log files (Daniel P. Berrange),
  rotatingfile: mark log files as close-on-exec (Daniel P. Berrange),
  libvirtd: require virtlogd to start before libvirtd (Guido Günther),
  schema: Allow > UINT_MAX KiB of memory for NUMA nodes (Peter Krempa),
  virsh: remove custom error for cpulist from cmdIOThreadPin (Ján Tomko),
  libxl: implement virDomainInterfaceStats (Joao Martins),
  tests: Run virnetdaemontest iff WITH_YAJL (Michal Privoznik),
  admin: Distribute libvirt-admin.conf (Martin Kletzander),
  admin: Rename virAdmConnect to virAdmDaemon (Martin Kletzander),
  spec: Temporarily disable new admin-related files (Martin Kletzander),
  admin: Include admin_remote.c in the dist package (Martin Kletzander),
  build: Create needed folders without dependency tracking (Martin Kletzander),
  util: Avoid variable named 'truncate' shadowing global declaration (Martin Kletzander),
  conf: Split virDomainObjList into a separate file (Michal Privoznik),
  qemu: build command line for virtio-input-host device (Ján Tomko),
  qemu: add passed-through input devs to cgroup ACL (Ján Tomko),
  security: label the evdev for input device passthrough (Ján Tomko),
  conf: add XML for input device passthrough (Ján Tomko),
  qemu: add capability for virtio-input-host-device (Ján Tomko),
  qemu: build command line for virtio input devices (Ján Tomko),
  conf: parse and format virtio input bus in domain XML (Ján Tomko),
  qemu: add capabilities for virtio input devices (Ján Tomko),
  admin: Introduce virAdmConnectGetLibVersion (Erik Skultety),
  admin: Add support for connection close callbacks (Erik Skultety),
  admin: Add support for URI aliases (Erik Skultety),
  livirt: Move URI alias matching to util (Erik Skultety),
  admin: Add URI support and introduce virAdmGetDefaultURI (Erik Skultety),
  admin: Do not generate remoteAdminConnect{Open,Close} (Erik Skultety),
  admin: Move remote admin API version to a separate module (Erik Skultety),
  admin: Introduce virAdmConnectIsAlive (Erik Skultety),
  virt-admin: Introduce first working skeleton (Erik Skultety),
  admin: introduce virAdmGetVersion (Erik Skultety),
  libvirt: Move config getters to util (Erik Skultety),
  admin: Introduce libvirt-admin.conf (Erik Skultety),
  libvirt: introduce libvirt/libvirt-common.h.in (Erik Skultety),
  qemu: add virtio-gpu virgl support (Marc-André Lureau),
  qemu: add virtio video device (Marc-André Lureau),
  domain: replace bool accel{2d, 3d} with a tristate (Marc-André Lureau),
  Replace support{2d,3d} with accel{2d,3d} (Marc-André Lureau),
  logging: avoid variables called 'daemon' due to function clash (Daniel P. Berrange),
  logging: inhibit virtlogd shutdown while log files are open (Daniel P. Berrange),
  qemu: add support for sending QEMU stdout/stderr to virtlogd (Daniel P. Berrange),
  qemu: convert monitor to use qemuDomainLogContextPtr indirectly (Daniel P. Berrange),
  qemu: convert process stop/attach to use qemuDomainLogContextPtr (Daniel P. Berrange),
  qemu: convert qemuLogOperation to take a qemuDomainLogContextPtr (Daniel P. Berrange),
  qemu: change qemuDomainTaint APIs to accept qemuDomainLogContextPtr (Daniel P. Berrange),
  qemu: convert log file creation to use qemuDomainLogContextPtr (Daniel P. Berrange),
  qemu: introduce a qemuDomainLogContext object (Daniel P. Berrange),
  qemu: unify code for reporting errors from QEMU log files (Daniel P. Berrange),
  qemu: remove writing to QEMU log file for rename operation (Daniel P. Berrange),
  logging: add client for virtlogd daemon (Daniel P. Berrange),
  logging: introduce log handling protocol (Daniel P. Berrange),
  Import stripped down virtlockd code as basis of virtlogd (Daniel P. Berrange),
  util: add APIs for reading/writing from/to rotating files (Daniel P. Berrange),
  virsh: Try to keep printed XML pretty with change-media (Martin Kletzander),
  qemu: Use qemuProcessLaunch in migration Prepare phase (Jiri Denemark),
  qemu: Skip starting NBD servers for offline migration (Jiri Denemark),
  qemu: Kill QEMU process if Prepare phase fails (Jiri Denemark),
  qemu: Separate incoming URI generation from qemuMigrationPrepareAny (Jiri Denemark),
  qemu: Introduce qemuProcessFinishStartup (Jiri Denemark),
  qemu: Introduce qemuProcessLaunch (Jiri Denemark),
  qemu: Introduce qemuProcessInit (Jiri Denemark),
  conf: reject multiple panic devices of same model (Dmitry Andreev),
  Allow multiple panic devices (Dmitry Andreev),
  qemu: add support for hv_crash feature as a panic device (Dmitry Andreev),
  tests: add tests for the new panic device attribute - 'model' (Dmitry Andreev),
  conf: add 'model' attribute for panic device with values isa, pseries, hyperv (Dmitry Andreev),
  conf: refactor code for checking ABI stability of panic device (Dmitry Andreev),
  nodedev: report maxCount for virtual_functions capability (Laine Stump),
  conf: support reporting maxCount attribute for virtual_functions cap (Laine Stump),
  Post-release version bump to 1.3.0 (Pavel Hrdina),
  conf: Drop useless check when parsing cpu scheduler info (Peter Krempa),
  qemu: pass the asyncJob to qemuProcessStartCPUs (Ján Tomko),
  xenapi: Refactor extraction of vcpu count (Peter Krempa),
  phyp: Refactor extraction of vcpu count (Peter Krempa),
  openvz: Refactor extraction of vcpu count (Peter Krempa),
  hyperv: Allocate 'def' via virDomainDefNew (Peter Krempa),
  qemuSetupChrSourceCgroup: rename dev to source (Ján Tomko),
  Simplify qemuSetupChrSourceCgroup and its callers (Ján Tomko),
  rename qemuSetupHostdevCGroup to qemuSetupHostdevCgroup (Ján Tomko),
  qemu: handle more machines with a single builtin IDE controller (Guido Günther),
  qemu: Always set locked memory limit for ppc64 domains (Andrea Bolognani),
  qemu: Use qemuDomainRequiresMlock() when attaching PCI hostdev (Andrea Bolognani),
  qemu: Use qemuDomainRequiresMlock() in qemuBuildCommandLine() (Andrea Bolognani),
  process: Log when limiting the amount of locked memory (Andrea Bolognani),
  vz: implementation of domainReboot callback (Mikhail Feoktistov),
  vz: allow only en-us keymap for VNC (Mikhail Feoktistov),
  qemu: Close logfd when closing monitor (Jiri Denemark),
  qemu: Do not infer flags from other qemuProcessStart arguments (Jiri Denemark),
  qemu: Introduce qemuProcessMakeDir (Jiri Denemark),
  qemu: Separate balloon code from qemuProcessStart (Jiri Denemark),
  qemu: Enter monitor within qemuProcessSetLinkStates (Jiri Denemark),
  qemu: Separate raw IO code from qemuProcessStart (Jiri Denemark),
  qemu: Separate graphics handling code from qemuProcessStart (Jiri Denemark),
  qemu: Separate hook handling code from qemuProcessStart (Jiri Denemark),
  qemu: Rename stdin_{fd,path} in qemuProcessStart (Jiri Denemark),
  qemu: Use -incoming defer for migrations (Jiri Denemark),
  qemu: Add APIs for migrate-incoming QMP command (Jiri Denemark),
  qemu: Always set async job when starting a domain (Jiri Denemark),
  qemu: Introduce qemuProcessIncomingDef (Jiri Denemark),
  qemu: Move incoming URI code to qemu_migration (Jiri Denemark),
  qemu: Don't generate migration URI in qemuBuildCommandLine (Jiri Denemark),
  qemu: Refactor the code to build -incoming command line (Jiri Denemark),
  qemu: Refactor waiting for completed migration on destination (Jiri Denemark),
  util: add virDiskNameParse to handle disk and partition idx (Joao Martins),
  libxl: implement virDomainMemorystats (Joao Martins),
  lxc: Bind mount container TTYs (Richard Weinberger),
  lxc: Don't make container's TTY a controlling TTY (Richard Weinberger),
  qemu: ppc64: Support memory hotplug without NUMA enabled (Peter Krempa),
  qemu: command: Prepare memory device def formatter for missing target node (Peter Krempa),
  conf: Prepare making memory device target node optional (Peter Krempa),
  qemu: command: Move dimm device checks from formatter to checker (Peter Krempa),
  qemu: domain: Add common function to perform memory hotplug checks (Peter Krempa),
  qemu: command: Always execute memory device formatter (Peter Krempa),
  qemu: command: Make qemuBuildMemoryBackendStr usable without NUMA (Peter Krempa),
  libxl: implement virDomainGetCPUStats (Joao Martins),
  syntax-check: Add prohibit_space_in_label rule (Andrea Bolognani),
  util: remove unnecessary needSize (Chen Hanxiao),
  storage: Introduce virStoragePoolObjFindPoolByUUID (John Ferlan),
  storage: Change cbdata scsi refresh thread field name (John Ferlan),
  storage: Make active boolean (John Ferlan),
  qemu: domain: Restructurate control flow in qemuDomainGetMlockLimitBytes (Peter Krempa),
  qemu: Fix job entry debug message (Jiri Denemark),
  tests: Add QEMU 2.4.0 capabilities (Jiri Denemark),
  tests: Remove qemuxmlnstest (Jiri Denemark),
  qemu: Fix style in qemuProcessStart (Jiri Denemark),
  security: Cleanup DAC driver (Jiri Denemark),
  domain-conf: cleanup controller insert function (Pavel Hrdina),
  virsh-domain: update attach-interface to support type=hostdev (Pavel Hrdina),
  vz: support cpu time in driver's domainGetInfo (Nikolay Shirokovskiy),
  qemu: assume various QEMU 0.10 features are always available (Daniel P. Berrange),
  qemu: assume -vga is always available (Daniel P. Berrange),
  qemu: assume -drive format is always available (Daniel P. Berrange),
  qemu: assume -drive cache always uses v2 option names (Daniel P. Berrange),
  qemu: assume support for all migration protocols except rdma (Daniel P. Berrange),
  qemu: assume vnet-hdr feature is always available (Daniel P. Berrange),
  qemu: really remove last traces of Xenner support (Daniel P. Berrange),
  qemu: assume -uuid is always available (Daniel P. Berrange),
  qemu: assume -name is always available (Daniel P. Berrange),
  qemu: assume -drive argument is always available (Daniel P. Berrange),
  qemu: handle USB bus in qemuAssignDeviceDiskAliasFixed() (Daniel P. Berrange),
  qemu: assume -no-reboot is always available (Daniel P. Berrange),
  qemu: assume 'info chardev' is always available (Daniel P. Berrange),
  qemu: assume -vnc arg always takes a ':' (Daniel P. Berrange),
  qemu: remove all support for kQEMU (Daniel P. Berrange),
  qemu: mandate QEMU version 0.12.0 or newer (Daniel P. Berrange),
  qemu: hotplug: Reject VFIO hotplug if setting RLIMIT_MEMLOCK fails (Peter Krempa),
  qemu: Extract logic to determine the mlock limit size for VFIO (Peter Krempa),
  conf: Make @def const in virDomainDefGetMemoryInitial (Peter Krempa),
  tests: redo test argv file line wrapping (Daniel P. Berrange),
  virnetdev: Use virNetDevSetupControl in virNetDevSendEthtoolIoctl (John Ferlan),
  virnetdev: Check for root in virNetDevGetFeatures (John Ferlan),
  qemu: add /usr/lib to AC_PATH_PROG for qemu-bridge-helper (Michel Normand),
  storage: Pull volume removal from pool in storageVolDeleteInternal (John Ferlan),
  storage: Cleanup failures in virStorageBackendCreateRaw (John Ferlan),
  storage: Cleanup failures virStorageBackendCreateExecCommand (John Ferlan),
  storage: Fix setting mode in virStorageBackendCreateExecCommand (John Ferlan),
  Remove new lines from log messages (Jiri Denemark),
  qemu: Introduce cleanup label in qemuProcessStart (Jiri Denemark),
  qemu: Rename ret variable in qemuProcessStart (Jiri Denemark),
  qemu: Rename cleanup label in qemuProcessStart (Jiri Denemark),
  Post-release version bump to 1.2.22 (Jiri Denemark)

### v1.2.21: Nov 04 2015

- Documentation:
  docs: event impl. registration before hypervisor connection (Dominik Perpeet),
  libvirt-secret: Fix typo (Wei Jiangang),
  NEWS: Fix XSLT stylesheet (Andrea Bolognani),
  NEWS: Split releases by year (Andrea Bolognani),
  NEWS: Unify date format (Andrea Bolognani),
  NEWS: Unify section titles (Andrea Bolognani),
  NEWS: Add empty lines (Andrea Bolognani),
  NEWS: Fix indentation (Andrea Bolognani),
  NEWS: Fix newlines (Andrea Bolognani),
  NEWS: Fix whitespace (Andrea Bolognani),
  NEWS: Organize old entries (Andrea Bolognani),
  NEWS: Split old entries (2009) (Andrea Bolognani),
  NEWS: Split old entries (2008) (Andrea Bolognani),
  NEWS: Split old entries (2006-2007) (Andrea Bolognani),
  NEWS: Properly escape > in HTML (Andrea Bolognani),
  NEWS: Split off merged sections (Andrea Bolognani),
  NEWS: Remove empty sections (Andrea Bolognani),
  NEWS: Include description for release 0.7.3 (Andrea Bolognani),
  docs: domain: Show canonical pvspinlock XML (Cole Robinson),
  docs: Add Cuckoo Sandbox into apps.html (Martin Kletzander)
- Portability:
  Fix virNetDevWaitDadFinish stub (Roman Bogorodskiy),
  util: implement virProcessGetStartTime on GNU/kFreeBSD (Pino Toscano),
  build: include xdr cflags for libvirt-admin (Eric Blake),
  virt-host-validate: disable mntent code on Win32 (Daniel P. Berrange),
  src: Remove $(builddir) usage (Andrea Bolognani)
- Bug Fixes:
  wireshark: Install to generic plugin directory (Michal Privoznik),
  network: wait for DAD to finish for bridge IPv6 addresses (Maxim Perevedentsev),
  qemu: Use live autoNodeset when numatune placement is auto (Luyao Huang),
  virsh-domain: use correct base for virStrToLong_ui (Pavel Hrdina),
  libvirt-domain: fix the error reporting when use the localhost as target uri (Luyao Huang),
  qemu: fix migration flags undefinesource cannot work (Luyao Huang),
  virsh: Display an error when passing count <= 0 to setvcpus (Luyao Huang),
  virtlockd: Don't SIGSEGV on SIGUSR1 (Michal Privoznik),
  Close the source fd if the destination qemu exits during tunnelled migration (Shivaprasad G Bhat),
  qemu: Fix qemu startup check for QEMU_CAPS_OBJECT_IOTHREAD (John Ferlan),
  virsh: Use 'format' argument only when specified (Peter Krempa),
  storage: Track successful creation of LV for removal (John Ferlan),
  storage: Fix a resource leak in storageVolCreateXML (John Ferlan),
  storage: Fix incorrect format for <disk> <auth> XML (John Ferlan),
  migration: check dconnuri in p2p mode (Nikolay Shirokovskiy),
  qemu: Resolve Coverity FORWARD_NULL (John Ferlan),
  libxl: Resolve Coverity FORWARD_NULL (John Ferlan),
  tests: eventtest: Fix coverity warning (Cole Robinson),
  qemu: migration: Skip few checks while doing offline migration (Peter Krempa),
  qemu: Wait until destination QEMU consumes all migration data (Jiri Denemark),
  conf: Remove <metadata> elements with no namespace (Peter Krempa),
  storage: Adjust calculation of alloc/capacity for disk (John Ferlan),
  storage: Prior to creating a volume, refresh the pool (John Ferlan),
  virfile: Fix error path for forked virFileRemove (John Ferlan),
  rpc: libssh2: Fix regression in ssh host key verification (Peter Krempa),
  interface: fail on OOM from virGetInterface() (Laine Stump),
  libvirt.spec: fix accidental conditional inclusion of polkit docs (Daniel P. Berrange),
  qemu: Use memory-backing-file only when needed (Martin Kletzander)
- Improvements:
  util: set max wait for IPv6 DAD to 20 seconds (Laine Stump),
  util: set error if DAD is not finished (Luyao Huang),
  netlink: add support for multi-part netlink messages. (Maxim Perevedentsev),
  rbd: Remove snapshots if the DELETE_WITH_SNAPSHOTS flag has been provided (Wido den Hollander),
  bhyve: implement domainGetOSType (Roman Bogorodskiy),
  libvirt-domain: fix no error report when p2p migrate fail (Luyao Huang),
  conf: Add serial target type to ABI stability check (Luyao Huang),
  lock_daemon: Switch to wrapper locking functions (Michal Privoznik),
  qemu: hostdev: Introduce qemuHostdevUpdateActiveDomainDevices() (Andrea Bolognani),
  qemu: hostdev: Unify naming for qemuHostdevUpdateActive*Devices() (Andrea Bolognani),
  qemu: hostdev: Unify naming for qemuHostdevReAttach*Devices() (Andrea Bolognani),
  qemu: hostdev: Unify naming for qemuHostdevPrepare*Devices() (Andrea Bolognani),
  hostdev: Rename virHostdevUpdateDomainActiveDevices() (Andrea Bolognani),
  conf: Fix error message to use correct parameter (John Ferlan),
  util: Produce friendlier error message to user (Luyao Huang),
  util: Adjust error paths for virNumaSetPagePoolSize (Luyao Huang),
  util: split the virNumaGetHugePageInfoPath into separate function (Luyao Huang),
  Avoid using !STREQ and !STRNEQ (Ishmanpreet Kaur Khera),
  vz: implement some domain API calls (Maxim Nestratov),
  vz: implement API calls of nodeGetxxx family (Maxim Nestratov),
  vz: implement connectGetMaxVcpus API calls (Maxim Nestratov),
  security_dac: Introduce remember/recall APIs (Michal Privoznik),
  security_dac: Limit usage of virSecurityDACSetOwnershipInternal (Michal Privoznik),
  virSecurityDACRestoreSecurityFileLabel: Pass virSecurityDACDataPtr (Michal Privoznik),
  virSecurityDACSetOwnership: Pass virSecurityDACDataPtr (Michal Privoznik),
  virSecurityDACSetOwnershipInternal: Don't chown so often (Michal Privoznik),
  security_dac: Fix TODO marks (Michal Privoznik),
  conf: Optimize the iothreadid initialization (John Ferlan),
  qemu: Check for niothreads == 0 in qemuSetupCgroupForIOThreads (John Ferlan),
  qemu: Use 'niothreadids' instead of 'iothreads' (John Ferlan),
  Fix conficts with HACKING doc (Wei Jiangang),
  conf: Refactor the iothreadid initialization (John Ferlan),
  tests: make redirects happen in correct order (Wei Jiangang),
  storage: Rework error paths for virStorageBackendCreateExecCommand (John Ferlan),
  storage: On error rmdir created directory in virDirCreate[NoFork] (John Ferlan),
  storage: On error unlink created file in virFileOpen{As|Forked} (John Ferlan),
  storage: Remove duplicitous refreshVol in Sheepdog buildVol (John Ferlan),
  storage: Remove duplicitous refreshVol in RBD buildVol (John Ferlan),
  virt-host-validate: check for IOMMU support (Daniel P. Berrange),
  libvirt-domain: Drop virDomainMigrateCheckNotLocal attribute (Michal Privoznik),
  virt-host-validate: check for required cgroups (Daniel P. Berrange),
  virt-host-validate: distinguish exists vs accessible for devices (Daniel P. Berrange),
  virt-host-validate.c: check for kernel namespaces (Daniel P. Berrange),
  migration: refactor: introduce parameter checking function (Nikolay Shirokovskiy),
  migration: merge all proto branches into single function (Nikolay Shirokovskiy),
  migration: refactor: refactor parameter compatibility checks (Nikolay Shirokovskiy),
  migration: refactor: extract parameter adaption functions (Nikolay Shirokovskiy),
  migration: refactor: introduce params version of unmanaged (Nikolay Shirokovskiy),
  migration: refactor: merge direct and p2p into unmanaged (Nikolay Shirokovskiy),
  migration: refactor: rename uri parameter to miguri (Nikolay Shirokovskiy),
  migration: remove direct migration dependency on version1 of driver (Michal Privoznik),
  migration: move implementation check to branches in p2p (Nikolay Shirokovskiy),
  migration: refactor: reuse p2p url check (Nikolay Shirokovskiy),
  migration: refactor: get rid of use_params p2p_full (Nikolay Shirokovskiy),
  virJSONValueArraySize: return ssize_t (Michal Privoznik),
  src: Include $(builddir)/util in the header search path (Andrea Bolognani),
  storage: Perform some cleanup of calls (John Ferlan),
  AUTHORS: Add myself to the list of committers (Andrea Bolognani),
  virSecurityManagerNew: Turn array of booleans into flags (Michal Privoznik),
  qemu: Fix indentation issue (Andrea Bolognani),
  qemu: Remove explicit values from virQEMUCapsFlags (Andrea Bolognani),
  qemu: migration: Use migration flags in qemuMigrationIsAllowed (Peter Krempa),
  qemu: migration: Drop @def from qemuMigrationIsAllowed (Peter Krempa),
  qemu: migration: Split source and destination migration checks (Peter Krempa),
  spec: Delete .git after applying patches (Cole Robinson),
  tests: qemu: Add aarch64 virtio pci tests (Cole Robinson),
  qemu: Make updating stats in qemuMigrationCheckJobStatus optional (Jiri Denemark),
  qemu: Introduce flags in qemuMigrationCompleted (Jiri Denemark),
  qemu: Copy completed migration stats only on success (Jiri Denemark),
  qemu: Always update migration times on destination (Jiri Denemark),
  tests: Check GIC-related XMLs in qemuxml2xmltest (Martin Kletzander),
  Do not distribute generated virkeymaps.h (Martin Kletzander),
  apparmor: differentiate between error and unconfined profiles (Cédric Bosdonnat),
  testutils: Drop virtTestResult (Cole Robinson),
  tests: eventtest: Open code virtTestResult (Cole Robinson),
  tests: sheepdog: Drop use of virtTestResult (Cole Robinson),
  testutils: Add coloring to verbose PASS/FAILED output (Cole Robinson),
  storage: Introduce virStorageBackendDiskStartPool (John Ferlan),
  storage: Add additional errors/checks for disk label (John Ferlan),
  storage: Add param to check whether we can write a disk label (John Ferlan),
  storage: Refactor disk label checking (John Ferlan),
  virfile: Add extra check for direct delete in virFileRemove (John Ferlan),
  qemu: Add conditions for qemu-kvm use on ppc64 (Andrea Bolognani),
  rpc: libssh2: Add more debugging info (Peter Krempa),
  conf: Reuse virDomainDefCheckDuplicateDiskWWN to check disk serial too (Peter Krempa),
  qemu: Perform the disk WWN check only on fresh starts (Peter Krempa),
  interface: let netcf pre-filter for active vs. inactive (Laine Stump),
  interface: re-use name and mac address rather than re-retrieving (Laine Stump),
  interface: report correct interface count when not returning list (Laine Stump),
  qemu: Add -mem-path even with numa (Martin Kletzander),
  qemu: Extract -mem-path building into its own function (Martin Kletzander),
  qemu: Move memory size detection to the top of the function (Martin Kletzander),
  qemu: Move simplification variable to begining of the function (Martin Kletzander),
  qemu: Add test cases for gic-version option (Pavel Fedin),
  qemu: Add support for gic-version machine option (Pavel Fedin),
  qemu: Introduce QEMU_CAPS_MACH_VIRT_GIC_VERSION capability (Pavel Fedin),
  Post-release version bump to 1.2.21 (Martin Kletzander)
- Cleanups:
  tests: Remove unused nodeinfo test data (Andrea Bolognani),
  vz: cleanup (Maxim Nestratov),
  vz: remove storage driver as never used (Maxim Nestratov),
  vz: remove network driver as never used (Maxim Nestratov)

### 1.2.20: Oct 02 2015

- Security:
  storage: Handle failure from refreshVol (John Ferlan),
  storage: Correct the 'mode' check (John Ferlan),
  virfile: Introduce virFileUnlink (John Ferlan)
- Documentation:
  docs: Add yet another libvirt based app (Michal Privoznik),
  conf: Document all VIR_DOMAIN_DEF_PARSE_* flags (Peter Krempa),
  Minor typo fixes in documentation (Christian Loehle),
  util: Add space before comment end marker (Andrea Bolognani),
  docs: Update devguide.html to point to the new Python dev guide (Daniel P. Berrange),
  docs: Remove last use of double semicolon in Makefile (Martin Kletzander)
- Portability:
  tools: Link libvirt.la and readline to libvirt_shell.a (Michal Privoznik),
  util: Add win32 version of virFileUnlink (Martin Kletzander)
- Bug Fixes:
  qemu: Fix dynamic_ownership qemu.conf setting (Cole Robinson),
  virsh: Preserve startupPolicy in change-media command (Michal Privoznik),
  Create a shallow copy for volume building only if supported (Ján Tomko),
  Update pool allocation with new values on volume creation (Ján Tomko),
  conf: Fix virtType check (John Ferlan),
  qemu: Make virtType of type virDomainVirtType (Shivangi Dhir),
  Use daemon log facility for journald (Guido Günther),
  domain: Fix migratable XML with graphics/@listen (Jiri Denemark),
  qemu: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  qemu: Clean up ret in qemuDomainSaveMemory and qemuDomainSaveInternal (John Ferlan),
  qemu: Resolve Coverity CHECKED_RETURN (John Ferlan),
  virsh: Resolve Coverity DEADCODE (John Ferlan),
  tests: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  tests: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  virDomainRestore: Don't keep transient domains around (Michal Privoznik),
  virDomainCreateXML: Make domain definition transient (Michal Privoznik),
  virDomainCreateXML: Don't remove persistent domains on error (Michal Privoznik),
  virsh: Fix job status indicator for 0 length block jobs (Peter Krempa),
  qemu: Refresh memory size only on fresh starts (Peter Krempa),
  client rpc: Process pending data on error (Jiri Denemark),
  conf: escape string for disk driver name attribute (Luyao Huang),
  Makefile: fix build fail when make rpm (Luyao Huang),
  tests: Avoid use of virQEMUDriverCreateXMLConf(NULL) (Michal Privoznik),
  qemuTestDriverInit: init the driver lock too (Michal Privoznik),
  Revert "qemu: Fix integer/boolean logic in qemuSetUnprivSGIO" (John Ferlan),
  qemu: ppc64: Align memory sizes to 256MiB blocks (Peter Krempa),
  qemu: command: Align memory sizes only on fresh starts (Peter Krempa),
  test driver: don't unlock pool after freeing it (David Mansfield),
  qemuDomainChangeDiskLive: Allow startupPolicy change (Michal Privoznik),
  qemu: Fix some corner cases in persistent migration (Jiri Denemark),
  qemu: Don't report false errors in migration protocol v2 (Jiri Denemark),
  qemu: Kill domain when migration finish fails (Jiri Denemark),
  libxl: fix AttachDeviceConfig on hostdev type (Chunyan Liu),
  qemu: Fix using guest architecture as lookup key (Andrea Bolognani),
  libxl: fix compiler error introduced by commit ba25c214 (Jim Fehlig),
  Ignore virtio-mmio disks in qemuAssignDevicePCISlots() (Pavel Fedin),
  security_selinux: Take @privileged into account (Michal Privoznik),
  qemu: Allow others to browse /var/lib/libvirt/qemu (Martin Kletzander),
  qemu: hotplug: Properly clean up drive backend if frontend hotplug fails (Peter Krempa),
  xen: fix race in refresh of config cache (Daniel P. Berrange),
  libxl: don't end job for ephemeal domain on start failure (Ian Campbell),
  qemu: Report error if per-VM directory cannot be created (Martin Kletzander),
  Revert "docs: Drop unused rule for internals/%.html.tmp target" (Martin Kletzander),
  conf: fix crash when parsing a unordered NUMA <cell/> (Luyao Huang),
  admin: Resolve leaked reference to private data (Erik Skultety),
  util: Avoid Coverity FORWARD_NULL (John Ferlan),
  virfile: Avoid Coverity IDENTICAL_BRANCHES error (John Ferlan),
  lxc: Avoid Coverity SIZEOF_MISMATCH (John Ferlan),
  qemu: Check virGetLastError return value for migration finish failure (John Ferlan),
  qemu: Need to check for machine.os when using ADDRESS_TYPE_CCW (John Ferlan),
  libxl: don't overwrite error from virNetSocketNewConnectTCP() (Jim Fehlig),
  util: don't use netlink to save/set mac for macvtap+passthrough+802.1Qbh (Laine Stump),
  remoteClientCloseFunc: Don't mangle connection object refcount (Michal Privoznik),
  vshInit: Don't leak @histsize_env (Michal Privoznik)
- Improvements:
  conf: Add new VIR_DOMAIN_VIRT_NONE enum (Shivangi Dhir),
  vsh: create a noinstall libvirt_shell library (Erik Skultety),
  qemu: Move vm->persistent check into qemuDomainRemoveInactive (Michal Privoznik),
  Remove redundand assignment (Martin Kletzander),
  qemuDomainDeviceDefPostParse: Drop useless checks (Michal Privoznik),
  qemu: Align memory module sizes to 2MiB (Peter Krempa),
  virsh: Notify users about disconnects (Jiri Denemark),
  client rpc: Report proper error for keepalive disconnections (Jiri Denemark),
  Use VIR_DIV_UP macro where possible (Martin Kletzander),
  spec: Fix some warnings with latest rpmbuild (Cole Robinson),
  test: Add test to validate that memory sizes don't get updated on migration (Peter Krempa),
  conf: Don't always recalculate initial memory size from NUMA size totals (Peter Krempa),
  conf: Pre-calculate initial memory size instead of always calculating it (Peter Krempa),
  conf: Rename max_balloon to total_memory (Peter Krempa),
  conf: Split memory related post parse stuff into separate function (Peter Krempa),
  conf: Add XML parser flag that will allow us to do incompatible updates (Peter Krempa),
  conf: Drop VIR_DOMAIN_DEF_PARSE_CLOCK_ADJUST flag (Peter Krempa),
  qemu: Make memory alignment helper more universal (Peter Krempa),
  conf: Add helper to determine whether memory hotplug is enabled for a vm (Peter Krempa),
  libxl: vz: Use accessor instead of direct access for max_balloon (Peter Krempa),
  Removed unneeded check (Pavel Fedin),
  tests: use mockup cache (Pavel Fedin),
  Implement infrastracture for mocking up QEMU capabilities cache (Pavel Fedin),
  tests: split out common qemu driver initialization (Pavel Fedin),
  virfile: Use virProcessWait in virDirCreate (John Ferlan),
  virfile: Use virProcessWait in virFileUnlink (John Ferlan),
  virfile: Use virProcessWait in virFileOpenForked (John Ferlan),
  virfile: Rename virFileUnlink to virFileRemove (John Ferlan),
  vz: remove error logging from prlsdkUUIDParse (Maxim Nestratov),
  qemuDomainDiskChangeSupported: Fill in missing checks (Michal Privoznik),
  qemu: s/virDomainDiskDiffersSourceOnly/qemuDomainDiskChangeSupported/ (Michal Privoznik),
  qemuDomainChangeDiskLive: rework slightly (Michal Privoznik),
  qemu_domain: Introduce qemuDomainDiskSourceDiffers (Michal Privoznik),
  qemu: s/qemuDomainChangeDiskMediaLive/qemuDomainChangeDiskLive/ (Michal Privoznik),
  qemuDomainUpdateDeviceConfig: Allow startupPolicy update, yet again (Michal Privoznik),
  qemu: Queue events in migration Finish phase ASAP (Jiri Denemark),
  qemuDomainEventQueue: Check if event is non-NULL (Jiri Denemark),
  qemu: Don't fail migration on save status failure (Jiri Denemark),
  qemu: Simplify qemuMigrationFinish (Jiri Denemark),
  qemu: Split qemuMigrationFinish (Jiri Denemark),
  vmx: Expose datacenter path in domain XML (Matthias Bolte),
  virfile: Check for existence of dir in virFileDeleteTree (John Ferlan),
  virsh: Teach attach-interface to --print-xml (Michal Privoznik),
  libxl: open libxl log stream with libvirtd log_level (Jim Fehlig),
  virSecurityManager: Track if running as privileged (Michal Privoznik),
  security_selinux: Replace SELinuxSCSICallbackData with proper struct (Michal Privoznik),
  virSecuritySELinuxSetSecurityAllLabel: drop useless virFileIsSharedFSType (Michal Privoznik),
  qemu: Do not allow others into per-VM subdirectories (Martin Kletzander),
  qemu: command: Report stderr from qemu-bridge-helper (Cole Robinson),
  tests: Don't use testutils in mock libraries (Martin Kletzander),
  qemu: Try several network devices when looking for a default (Andrea Bolognani),
  qemu: Introduce QEMU_CAPS_DEVICE_VIRTIO_NET (Andrea Bolognani),
  qemu: Introduce QEMU_CAPS_DEVICE_E1000 (Andrea Bolognani),
  qemu: Introduce QEMU_CAPS_DEVICE_RTL8139 (Andrea Bolognani),
  qemu: migration: Relax enforcement of memory hotplug support (Peter Krempa),
  vmx: Add handling for CDROM devices with SCSI passthru (Matthias Bolte),
  vmx: The virVMXParseDisk deviceType can be NULL, add some missing checks (Matthias Bolte),
  cpu: Introduce IvyBridge CPU model (Jiri Denemark),
  virsh: Slightly rework cmdDomblklist (Michal Privoznik),
  .gitignore: Ignore the correct rename example binary (Michal Privoznik),
  examples: Add missing build data for 'rename' (Martin Kletzander),
  conf: Remove need for a couple of sa_asserts (John Ferlan),
  Change name of the domain upon successful rename (Martin Kletzander),
  Add example that renames domain there and back (Martin Kletzander),
  examples: Add example polkit ACL rules (Jiri Denemark),
  qemu: Introduce qemuDomainMachineIsS390CCW (John Ferlan),
  vsh: Make vshInitDebug static (Erik Skultety),
  virsh: Do not make interactive mode default (Erik Skultety),
  vsh: Introduce vshInitReload (Erik Skultety),
  vsh: adjust vshInit signature and remove redundant error label (Erik Skultety),
  domain-conf: escape string for socket attribute (Pavel Hrdina),
  util: make virNetDev(Replace|Restore)MacAddress public functions (Laine Stump),
  virfile: Add error for root squash change mode failure (John Ferlan),
  qemu: add udp interface support (Jonathan Toppins),
  Post release version bump to 1.2.20 (Ján Tomko)
- Cleanups:
  maint: Remove control characters from LGPL license file (Andrea Bolognani),
  vmx: Some whitespace cleanup (Matthias Bolte)

### 1.2.19: Sep 02 2015

- Features:
  Big improvements on ppc64 support (Andrea Bolognani),
  New virDomainRename API (Tomas Meszaros),
  Support for QEMU new pci emulations (Laine Stump)
- Documentation:
  Rename page about vz driver (Sergey Bronnikov),
  docs: Rename 'parallels' to 'vz' (Sergey Bronnikov),
  virDomainRename: Extend API documentation (Tomas Meszaros),
  virt-aa-helper: document --probing and --dry-run (Guido Günther),
  docs: Drop unused rule for internals/%.html.tmp target (Guido Günther),
  api: Adjust comment for virDomainAddIOThread (John Ferlan),
  fix typo in comments (Cao jin),
  virDomainCoreDumpWithFormat: Mention enum for @dumpformat (Michal Privoznik)
- Portability:
  lxc: ensure setns() syscall is defined (Daniel P. Berrange),
  selinux: fix compile errors (Guido Günther),
  util: fix build without cgroup (Roman Bogorodskiy),
  build: fix mingw build (Eric Blake),
  protocol: Don't use rename as a variable name (Martin Kletzander),
  Remove static keyword from vshReadline when readline does not exist (Moshe Levi),
  Detect location of qemu-bridge-helper (Guido Günther),
  Check if qemu-bridge-helper exists and is executable (Guido Günther),
  nodeinfo: Fix build failure when KVM headers are not available (Andrea Bolognani)
- Bug Fixes:
  apparmor: Adjust path to domain monitor socket (Guido Günther),
  util: fallback to ioctl(SIOCBRDELBR) if netlink RTM_DELLINK fails (Laine Stump),
  util: fallback to ioctl(SIOCBRADDBR) if netlink RTM_NEWLINK fails (Laine Stump),
  Revert "LXC: show used memory as 0 when domain is not active" (Jim Fehlig),
  libxl: acquire a job when receiving a migrating domain (Jim Fehlig),
  libxl: don't attempt to resume domain when suspend fails (Jim Fehlig),
  libxl: fix ref counting of libxlMigrationDstArgs (Jim Fehlig),
  libvirt_lxc: Claim success for --help (Michal Privoznik),
  util: Allow virProcessSetNamespaces() to have sparse FD list (Michal Privoznik),
  virt-aa-helper: Improve valid_path (Michal Privoznik),
  lxc: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  qemu: Emit correct audit message for memory hot unplug (Luyao Huang),
  qemu: Emit correct audit message for memory hot plug (Luyao Huang),
  hostdev: skip ACS check when using VFIO for device assignment (Laine Stump),
  qemu: Label correct per-VM path when starting (Martin Kletzander),
  qemu: Update blkio.weight value after successful set (Luyao Huang),
  Eliminate incorrect and unnecessary check for changed IP address (Vasiliy Tolstov),
  storage: only run safezero if allocation is > 0 (Guido Günther),
  virt-aa-helper: allow access to /usr/share/ovmf/ (intrigeri),
  qemu: Fix access to auto-generated socket paths (Martin Kletzander),
  cpu: Move check for NULL CPU model inside the driver (Andrea Bolognani),
  qemu: Sync BlkioDevice values when setting them in cgroups (Martin Kletzander),
  lxc: Sync BlkioDevice values when setting them in cgroups (Martin Kletzander),
  qemuDomainRename: Don't leave a domain locked uppon fail (Michal Privoznik),
  qemu: Add check for invalid iothread_id in qemuDomainChgIOThread (John Ferlan),
  virsh: Reset global error after successfull domain lookup (Luyao Huang),
  libvirt-domain: forbid use virDomainRename in readonly connection (Luyao Huang),
  virsh: fix always return false in domrename (Luyao Huang),
  qemu: Resolve Coverity UNINIT (John Ferlan),
  qemu: Fix segfault when parsing private domain data (Martin Kletzander),
  conf: Check for hostdev conflicts when assign default disk address (John Ferlan),
  conf: Add SCSI hostdev check for disk drive address already in use (John Ferlan),
  Revert "qemu: Allow to plug virtio-net-pci into PCIe slot" (Laine Stump),
  domain: Fix crash if trying to live update disk <serial> (Cole Robinson),
  util: don't overwrite stack when getting ethtool gfeatures (Laine Stump),
  cpu: Fix segfault in the ppc64 driver (Andrea Bolognani),
  conf: Don't try formating non-existing addresses (Martin Kletzander),
  qemu: fail on attempts to use <filterref> for non-tap network connections (Laine Stump),
  network: validate network NAT range (Laine Stump),
  qemu: Enable ioeventfd usage for virtio-scsi controllers (Martin Kletzander),
  virNetDevBandwidthParseRate: Reject negative values (Michal Privoznik),
  network: verify proper address family in updates to <host> and <range> (Laine Stump),
  virDomainDefParseXML: Check for malicious cpu ids in <numa/> (Michal Privoznik),
  qemu: Fix reporting of physical capacity for block devices (Peter Krempa),
  qemu: Build correct command line for PCI NICs on ARM (Pavel Fedin),
  qemu: Forbid image pre-creation for non-shared storage migration (Peter Krempa),
  conf: Resolve Coverity FORWARD_NULL (John Ferlan),
  virsh: fix domfsinfo output in quiet mode (Luyao Huang),
  Avoid starting a PowerPC VM with floppy disk (Kothapally Madhu Pavan),
  Caps: Disable floppy disk for PowerPC VM (Kothapally Madhu Pavan),
  qemu: fix some api cannot work when disable cpuset in conf (Luyao Huang)
- Improvements:
  src: Check for symbols ordering in ADMIN_SYM_FILES (Michal Privoznik),
  src: Cleanup libvirt_admin.syms (Michal Privoznik),
  src: Check libvirt_admin.syms for exported symbols (Michal Privoznik),
  lxc_container: Turn lxcAttachNS into calling virProcessSetNamespaces (Michal Privoznik),
  utils: Remove the logging of errors from virNetDevSendEthtoolIoctl (Moshe Levi),
  Start daemon only after filesystems are mounted (Martin Kletzander),
  virt-aa-helper: add NVRAM store file for read/write (Peter Kieser),
  Fix link to page for Virtuozzo driver (Sergey Bronnikov),
  lxc: Inherit namespace feature (ik.nitk),
  qemu: add a check for nodeset in qemuDomainSetNumaParamsLive (Luyao Huang),
  virt-aa-helper: Simplify restriction logic (Guido Günther),
  tests: Use qemuProcessPrepareMonitorChr in qemuxmlnstest (Martin Kletzander),
  security_dac: Add SetDirLabel support (Martin Kletzander),
  security_selinux: Add SetDirLabel support (Martin Kletzander),
  security_stack: Add SetDirLabel support (Martin Kletzander),
  security: Add virSecurityDomainSetDirLabel (Martin Kletzander),
  security_dac: Label non-listening sockets (Martin Kletzander),
  security_selinux: Use proper structure to access socket data (Martin Kletzander),
  locking: Remove redundant 'srv' element from virLockDaemon (Erik Skultety),
  tests: Add some compatibility-related cases to the CPU tests (Andrea Bolognani),
  cpu: Better support for ppc64 compatibility modes (Andrea Bolognani),
  cpu: Don't update host-model guest CPUs on ppc64 (Andrea Bolognani),
  Add generated libvirt_admin.syms into .gitignore (Martin Kletzander),
  conf: Check for attach disk usage of iothread=0 (John Ferlan),
  libvirt-admin: Generate symbols file (Guido Günther),
  daemon: Use $(NULL) for libvird_admin's flags (Guido Günther),
  virconf: correct code formatting (Cao jin),
  virConfWalk: fix the inconsistent name (Cao jin),
  qemu: Report better error message when renaming to existing domain name (Martin Kletzander),
  util: Add getters for cgroup block device I/O throttling (Martin Kletzander),
  util: Add virCgroupGetBlockDevString (Martin Kletzander),
  util: Add virStringGetFirstWithPrefix (Martin Kletzander),
  api: Remove check on iothread_id arg in virDomainPinIOThread (John Ferlan),
  qemuDomainAddCgroupForThread: Don't overwrite the error (Luyao Huang),
  virconf: fix the inconsistent name (Cao jin),
  qemuDomainRename: Explicitly check if domain is renaming to itself (Michal Privoznik),
  virHashAddEntry: Report error on duplicate key (Michal Privoznik),
  virHashAddOrUpdateEntry: Turn @new_name into void * (Michal Privoznik),
  tools: Introduce new client generic module vsh (Erik Skultety),
  qemu: Implement virDomainRename (Tomas Meszaros),
  Introduce new VIR_DOMAIN_EVENT_DEFINED_RENAMED event (Tomas Meszaros),
  domain_conf: Introducde virDomainObjListRenameAddNew() & virDomainObjListRenameRemove() (Tomas Meszaros),
  virsh: Implement "domrename" command (Tomas Meszaros),
  Introduce virDomainRename API (Tomas Meszaros),
  conf: Remove 'vmdef' from virDomainHostdevDefParseXML (John Ferlan),
  qemu: Use numad information when getting pin information (Martin Kletzander),
  qemu: Keep numad hint after daemon restart (Martin Kletzander),
  conf: Pass private data to Parse function of XML options (Martin Kletzander),
  conf: Create locals for virDomainDiskDefAssignAddress (John Ferlan),
  Drive hot-unplug: reliable parsing of HMP results (Frank Schreuder),
  cmdAttachInterface: Fully implement @floor support (Michal Privoznik),
  networkBandwidthGenericChecks: Drop useless check (Michal Privoznik),
  networkBandwidthUpdate: Don't blindly dereference pointers (Michal Privoznik),
  virsh: Refactor parseRateStr to avoid false-positive uninitialized variable (Peter Krempa),
  qemu: fix qemuDomainSupportsPCI() for ARM machines of "virt" machinetype (Laine Stump),
  virNetSocketCheckProtocols: handle EAI_NONAME as IPv6 unavailable (Guido Günther),
  qemu: Implement VIR_DOMAIN_BANDWIDTH_IN_FLOOR (Michal Privoznik),
  virsh: Implement VIR_DOMAIN_BANDWIDTH_IN_FLOOR (Michal Privoznik),
  Introduce VIR_DOMAIN_BANDWIDTH_IN_FLOOR (Michal Privoznik),
  virsh: Rework parseRateStr (Michal Privoznik),
  qemuDomainSetInterfaceParameters: Use new functions to update bandwidth (Michal Privoznik),
  bridge_driver: Introduce networkBandwidthUpdate (Michal Privoznik),
  bridge_driver: Introduce networkBandwidthChangeAllowed (Michal Privoznik),
  virNetDevBandwidthUpdateRate: turn class_id into integer (Michal Privoznik),
  virNetDevParseMcast: Avoid magic constant (Michal Privoznik),
  tests: Add a bunch of cpu test case for ppc64 (Andrea Bolognani),
  tests: Re-enable ppc64 cpu tests (Andrea Bolognani),
  cpu: Forbid model fallback in the ppc64 driver (Andrea Bolognani),
  cpu: Implement backwards compatibility in the ppc64 driver (Andrea Bolognani),
  cpu: Add POWER8NVL information to CPU map XML (Andrea Bolognani),
  cpu: Parse and use PVR masks in the ppc64 driver (Andrea Bolognani),
  cpu: Simplify ppc64 part of CPU map XML (Andrea Bolognani),
  cpu: Support multiple PVRs in the ppc64 driver (Andrea Bolognani),
  cpu: Align ppc64 CPU data with x86 (Andrea Bolognani),
  tests: Temporarily disable ppc64 cpu tests (Andrea Bolognani),
  cpu: Use ppc64Compute() to implement ppc64DriverCompare() (Andrea Bolognani),
  cpu: CPU model names have to match on ppc64 (Andrea Bolognani),
  cpu: Never skip CPU model name check in ppc64 driver (Andrea Bolognani),
  tests: Improve result handling in cpuTestGuestData() (Andrea Bolognani),
  cpu: Reorder functions in the ppc64 driver (Andrea Bolognani),
  cpu: Simplify ppc64ModelFromCPU() (Andrea Bolognani),
  cpu: Simplify NULL handling in ppc64 driver (Andrea Bolognani),
  cpu: Mark driver functions in ppc64 driver (Andrea Bolognani),
  admin: Drop 'internal.h' include from libvirt-admin.h (Erik Skultety),
  conf: Add ioeventfd option for controllers (Martin Kletzander),
  qemuMonitorOpenInternal: remove redundant code (Cao jin),
  rpc: Remove keepalive_required option (Martin Kletzander),
  qemu: support new pci controller model "pcie-switch-downstream-port" (Laine Stump),
  conf: new pcie-controller model "pcie-switch-downstream-port" (Laine Stump),
  qemu: add capabilities bit for device xio3130-downstream (Laine Stump),
  qemu: support new pci controller model "pcie-switch-upstream-port" (Laine Stump),
  conf: new pci controller model "pcie-switch-upstream-port" (Laine Stump),
  qemu: add capabilities bit for device x3130-upstream (Laine Stump),
  qemu: support new pci controller model "pcie-root-port" (Laine Stump),
  conf: new pci controller model "pcie-root-port" (Laine Stump),
  qemu: add capabilities bit for device ioh3420 (Laine Stump),
  qemu: implement <target chassisNr='n'/> subelement/attribute of <controller> (Laine Stump),
  conf: add new <target> subelement with chassisNr attribute to <controller> (Laine Stump),
  qemu: implement <model> subelement to <controller> (Laine Stump),
  conf: add new <model> subelement with name attribute to <controller> (Laine Stump),
  conf: more useful error message when pci function is out of range (Laine Stump),
  numa_conf: Introduce virDomainNumaGetMaxCPUID (Michal Privoznik),
  Allow vfio hotplug of a device to the domain which owns the iommu (Shivaprasad G Bhat),
  qemuDomainDefPostParse: Adjust indent (Michal Privoznik),
  bootstrap: Don't require python-config (Michal Privoznik),
  qemu: Allow to plug virtio-net-pci into PCIe slot (Pavel Fedin),
  qemu: Add PCI-Express root to ARM virt machine (Pavel Fedin),
  qemu: Introduce QEMU_CAPS_OBJECT_GPEX (Pavel Fedin),
  cpu: Indentation changes in the ppc64 driver (Andrea Bolognani),
  cpu: Rename {powerpc,ppc} => ppc64 (internal symbols) (Andrea Bolognani),
  cpu: Rename {powerpc,ppc} => ppc64 (exported symbols) (Andrea Bolognani),
  cpu: Rename {powerpc,ppc} => ppc64 (filesystem) (Andrea Bolognani),
  tests: extend workaround for gnutls private key loading failure (Daniel P. Berrange),
  conf: Allow error reporting in virDomainDiskSourceIsBlockType (John Ferlan),
  docs: Add Fibre Channel NPIV supported option for volume lun config (John Ferlan),
  conf: Change when virDomainDiskDefAssignAddress is called (John Ferlan),
  conf: Remove unused param from virDomainHostdevDefParseXML (John Ferlan),
  conf: Change when virDomainHostdevAssignAddress is called (John Ferlan),
  conf: Try controller add when searching hostdev bus for unit (John Ferlan),
  conf: Add check for host address type while checking in use (John Ferlan),
  conf: Add xmlopt to virDomainDeviceDefPostParseInternal (John Ferlan),
  conf: Move hostdev and disk address validations (John Ferlan),
  conf: Add 'bus' and 'target' to SCSI address conflict checks (John Ferlan),
  conf: Remove extraneous check in virDomainHostdevAssignAddress (John Ferlan),
  qemu: Remove double unlock for domains (Martin Kletzander),
  tests: Add subcores3 nodeinfo test (Andrea Bolognani),
  tests: Add subcores2 nodeinfo test (Andrea Bolognani),
  tests: Add subcores1 nodeinfo test (Andrea Bolognani),
  tests: Prepare for subcore tests (Shivaprasad G Bhat),
  nodeinfo: Fix output on PPC64 KVM hosts (Shivaprasad G Bhat),
  rpc: Fix slow volume download (virsh vol-download) (Ossi Herrala),
  There is no virDomainFindBy{ID, Name, UUID} anymore (Cao jin),
  Post-release version bump to 1.2.19 (Martin Kletzander),
  Fix a trailing space in spec file (Daniel Veillard)
- Cleanups:
  Revert "lxc: ensure setns() syscall is defined" (Michal Privoznik),
  test: Replace tabs with spaces in virnetdaemondata json files (Erik Skultety),
  tests: Remove unused file (Andrea Bolognani),
  cpu: Remove ISA information from CPU map XML (Andrea Bolognani)

### 1.2.18: Aug 03 2015

- Features:
  libxl: support dom0 (Jim Fehlig),
- Documentation:
  fix typo in qemu_monitor (Cao jin),
  docs: bhyve: document clock configuration (Roman Bogorodskiy),
  viraccessperm.h: Fix some typos (Michal Privoznik),
  docs: Document how libvirt handles companion controllers (Martin Kletzander),
  daemonRunStateInit: Fix a typo on a comment (Michal Privoznik)
- Portability:
  netdev: fix build on FreeBSD (Roman Bogorodskiy),
  spec: Fix polkit dep on F23 (Cole Robinson),
  nodeinfo: fix build on FreeBSD (Roman Bogorodskiy),
  Escape left brace as new perl suggests (Martin Kletzander)
- Bug Fixes:
  qemu: Do not reset labels when migration fails (Jiri Denemark),
  qemu: Reject migration with memory-hotplug if destination doesn't support it (Peter Krempa),
  Load nbd module before running qemu-nbd (Cédric Bosdonnat),
  lxc: Don't accidentaly reset autostart flag in virLXCProcessCleanup (Peter Krempa),
  remote: fix typo in remoteDomainOpenGraphicsFD (Daniel P. Berrange),
  qemu: Check for iotune_max support properly (Martin Kletzander),
  Renamed deconfigured-cpus to allow make dist (Daniel Veillard),
  storage: allow zero capacity with non-backing file to be created (Chris J Arges),
  nodeinfo: Check for SYSFS_INFINIBAND_DIR before open (John Ferlan),
  qemu: fix the error cover issue in SetMemoryParameters (Luyao Huang),
  nodeinfo: Fix nodeGetCPUBitmap()'s fallback code path (Andrea Bolognani),
  tests: Restore links in deconfigured-cpus nodeinfo test (Andrea Bolognani),
  cgroup: Drop resource partition from virSystemdMakeScopeName (Peter Krempa),
  qemu: Reject updating unsupported disk information (Martin Kletzander),
  storage: Fix pool building when directory already exists (Christophe Fergeau),
  rpc: ensure daemon is spawn even if dead socket exists (Daniel P. Berrange),
  rbd: Return error from rbd_create for message processing (John Ferlan),
  qemuMigrationRun: Don't leak @fd (Michal Privoznik),
  Fix qemu-nbd cleanup crashes (Cédric Bosdonnat),
  network: Add another collision check into networkCheckRouteCollision (Martin Kletzander),
  nodeinfo: fix to parse present cpus rather than possible cpus (Kothapally Madhu Pavan),
  libxl: set dom0 state to running (Jim Fehlig),
  rpc: Rework timerActive logic in daemon (Martin Kletzander),
  qemu: Check duplicate WWNs also for hotplugged disks (Peter Krempa),
  Fix cloning of raw, sparse volumes (Prerna Saxena),
  qemu: don't use initialized ret in qemuRemoveSharedDevice (Guido Günther),
  qemu: report error for non-existing disk in blockjobinfo (Luyao Huang),
  conf: Don't allow duplicated target names regardless of bus (John Ferlan),
  storage: Revert volume obj list updating after volume creation (4749d82a) (Erik Skultety),
  qemu: Fix integer/boolean logic in qemuSetUnprivSGIO (John Ferlan),
  qemu: report error when shmem has an invalid address (Luyao Huang),
  qemu: Auto assign pci addresses for shared memory devices (Luyao Huang),
  vz: use PRL_USE_VNET_NAME_FOR_BRIDGE_NAME (Maxim Nestratov),
  Explicitly format the isa-fdc controller for newer q35 machines (Ján Tomko),
  virt-aa-helper: add unix channels for nserials as well (Serge Hallyn),
  storage: Fix regression in storagePoolUpdateAllState (Erik Skultety),
  better patch for the XSS search issue (Daniel Veillard),
  Avoid XSS vulnerability on the search engine (Daniel Veillard),
  vz: fix SDK event dispatching (Nikolay Shirokovskiy),
  util: Avoid Coverity FORWARD_NULL (John Ferlan),
  virsh: report error if vcpu number exceed the guest maxvcpu number (Luyao Huang),
  virt-aa-helper: Fix permissions for vhost-user socket files (Michal Dubiel)
- Improvements:
  qemu: Properly check for incoming migration job (Jiri Denemark),
  Fix syntax-check: missing "%s" (Cédric Bosdonnat),
  qemu: Adjust VM id allocation (Erik Skultety),
  admin: Tiny cleanups (Martin Kletzander),
  tests: Finish rename of the long nodeinfo test case (Martin Kletzander),
  conf: add virDomainControllerDefNew() (Laine Stump),
  qemu: reorganize loop in qemuDomainAssignPCIAddresses (Laine Stump),
  conf: pay attention to bus minSlot/maxSlot when autoassigning PCI addresses (Laine Stump),
  tests: add vol-qcow2-zerocapacity test to storagevolxml2argvtest (Chris J Arges),
  Revert "qemu: Use heads parameter for QXL driver" (Martin Kletzander),
  test: introduce a function in test driver to check get vcpupin info (Luyao Huang),
  conf: reorganize virNetworkDHCPDefParseXML (Laine Stump),
  nodeinfo: Check for errors when reading core_id (Andrea Bolognani),
  bhyve: add UTC clock support (Roman Bogorodskiy),
  configure: clarify rationale for checking pkcheck (Daniel P. Berrange),
  nodeinfo: Calculate present and online CPUs only once (Andrea Bolognani),
  nodeinfo: Use a bitmap to keep track of node CPUs (Andrea Bolognani),
  nodeinfo: Use nodeGetOnlineCPUBitmap() when parsing node (Andrea Bolognani),
  nodeinfo: Phase out cpu_set_t usage (Andrea Bolognani),
  nodeinfo: Rename nodeGetCPUBitmap() to nodeGetOnlineCPUBitmap() (Andrea Bolognani),
  nodeinfo: Remove out parameter from nodeGetCPUBitmap() (Andrea Bolognani),
  nodeinfo: Add old kernel compatibility to nodeGetPresentCPUBitmap() (Andrea Bolognani),
  nodeinfo: Rename linuxParseCPUmax() to linuxParseCPUCount() (Andrea Bolognani),
  nodeinfo: Introduce linuxGetCPUOnlinePath() (Andrea Bolognani),
  nodeinfo: Introduce linuxGetCPUGlobalPath() (Andrea Bolognani),
  nodeinfo: Add nodeGetPresentCPUBitmap() to libvirt_private.syms (Andrea Bolognani),
  virsh: Refactor block job waiting in cmdBlockCopy (Peter Krempa),
  virsh: Refactor block job waiting in cmdBlockCommit (Peter Krempa),
  virsh: Refactor block job waiting in cmdBlockPull (Peter Krempa),
  qemu: Update state of block job to READY only if it actually is ready (Peter Krempa),
  virsh: Refactor argument handling in cmdBlockPull (Peter Krempa),
  virsh: Refactor argument handling in cmdBlockCopy (Peter Krempa),
  virsh: Refactor argument checking in cmdBlockCommit (Peter Krempa),
  virsh: Kill blockJobImpl by moving the final impl into cmdBlockCommit (Peter Krempa),
  virsh: Split out block pull implementation from blockJobImpl (Peter Krempa),
  virsh: block job: separate abort from blockJobImpl (Peter Krempa),
  virsh: blockjob: Split out vshBlockJobSetSpeed from blockJobImpl (Peter Krempa),
  virsh: cmdBlockJob: Switch to declarative flag interlocking (Peter Krempa),
  virsh: blockjob: Extract block job info code into a separate function (Peter Krempa),
  nodedev: add RDMA and tx-udp_tnl-segmentation NIC capabilities (Moshe Levi),
  qemu: Use heads parameter for QXL driver (Frediano Ziglio),
  rbd: Use RBD format 2 by default when creating images. (Wido den Hollander),
  virsh: Don't output node frequency if unknown (Martin Kletzander),
  qemu: Test for virtio-9p-ccw support (Boris Fiuczynski),
  qemu: Make virtio-9p-ccw the default for s390-ccw-virtio machines (Boris Fiuczynski),
  qemu: Support for virtio-9p-ccw (Boris Fiuczynski),
  virsh: Teach cmdFreepages to work with lxc driver (Michal Privoznik),
  cmdVcpuPin: Remove dead code (Michal Privoznik),
  lxc: wait for nbd device to be up to get its PIDs (Cédric Bosdonnat),
  nodeinfo: Formatting changes (Andrea Bolognani),
  nodeinfo: Make sysfs_prefix usage more consistent (Andrea Bolognani),
  qemu: process: Improve update of maximum balloon state at startup (Peter Krempa),
  qemuDomainSetNumaParamsLive: Check for NUMA mode more wisely (Michal Privoznik),
  conf: Add getter for network routes (Martin Kletzander),
  tests: Add nodeinfo test for non-present CPUs (Andrea Bolognani),
  nodeinfo: Add sysfs_prefix to nodeGetMemoryStats (John Ferlan),
  nodeinfo: Add sysfs_prefix to nodeCapsInitNUMA (John Ferlan),
  nodeinfo: Add sysfs_prefix to nodeGetInfo (John Ferlan),
  nodeinfo: Add sysfs_prefix to nodeGetCPUMap (John Ferlan),
  nodeinfo: Add sysfs_prefix to nodeGetCPUBitmap (John Ferlan),
  nodeinfo: Add sysfs_prefix to nodeGetPresentCPUBitmap (John Ferlan),
  nodeinfo: Add sysfs_prefix to nodeGetCPUCount (John Ferlan),
  nodeinfo: Introduce local linuxGetCPUPresentPath (John Ferlan),
  virt-driver-vz: Require parallels-7.0.22 at least (Michal Privoznik),
  configure: Move Virtuozzo checks to a specific module (Michal Privoznik),
  qemuProcessHandleMigrationStatus: Update migration status more frequently (Michal Privoznik),
  vz: fix cleanup of nets of bridged type (Dmitry Guryanov),
  qemu: Use error from Finish instead of "unexpectedly failed" (Jiri Denemark),
  qemu: Don't report false error from MigrateFinish (Jiri Denemark),
  qemu: Remember incoming migration errors (Jiri Denemark),
  Introduce virErrorCopyNew (Jiri Denemark),
  Introduce virHashAtomic (Jiri Denemark),
  cpu: Add support for MPX and AVX512 Intel features (Jiri Denemark),
  virt-aa-helper: add DomainGuest to mockup caps (Cédric Bosdonnat),
  virt-aa-helper: rename ctl->hvm to ctl->os (Cédric Bosdonnat),
  Get more libvirt errors from virt-aa-helper (Cédric Bosdonnat),
  virt-aa-helper: fix rules for paths with trailing slash (Cédric Bosdonnat),
  rpc: Add virNetDaemonHasClients (Martin Kletzander),
  Rewrite allocation tracking when cloning volumes (Ján Tomko),
  qemu: Drop LFs at the end of error from QEMU log (Jiri Denemark),
  qemu: Log all arguments of qemuProcessStart (Jiri Denemark),
  qemu: Wait for migration events on domain condition (Jiri Denemark),
  qemu: Update migration state according to MIGRATION event (Jiri Denemark),
  qemuDomainGetJobStatsInternal: Support migration events (Jiri Denemark),
  qemu: Enable migration events on QMP monitor (Jiri Denemark),
  qemu_monitor: Wire up MIGRATION event (Jiri Denemark),
  qemu_hotplug: try harder to eject media (Pavel Hrdina),
  monitor: detect that eject fails because the tray is locked (Pavel Hrdina),
  virDomainObjSignal: drop this function (Pavel Hrdina),
  virCondWaitUntil: add another return value (Pavel Hrdina),
  qemu: Refactor qemuSetUnprivSGIO return values (John Ferlan),
  qemu: Inline qemuGetHostdevPath (John Ferlan),
  qemu: Refactor qemuCheckSharedDisk to create qemuCheckUnprivSGIO (John Ferlan),
  libxl: rework setting the state of virDomainObj (Jim Fehlig),
  libxl: support dom0 (Jim Fehlig),
  qemu: Introduce qemuGetHostdevPath (John Ferlan),
  qemu: Introduce qemuIsSharedHostdev (John Ferlan),
  docs: Clarify unprivileged sgio feature (John Ferlan),
  conf: use virDomainChrSourceDef to save server path (Luyao Huang),
  qemu: Refactor creation of shared memory device commandline (Luyao Huang),
  qemu: Assign IDs for shared memory devices (Luyao Huang),
  Separate isa-fdc options generation (Ján Tomko),
  Add support for portable-rpcgen from portablexdr library (Pavel Fedin),
  Remove explicit enum from protocol structures (Pavel Fedin),
  util: bitmap: Don't alloc overly large binary bitmaps (Peter Krempa),
  vz: Use virBitmapToDataBuf instead of virBitmapToData in vzDomainGetVcpus (Peter Krempa),
  vz: Remove dead code from vzDomainGetVcpus (Peter Krempa),
  qemu: move the guest status check before agent config and status check (Luyao Huang),
  qemu: remove deadcode in qemuDomain{HelperGetVcpus|GetIOThreadsLive} (Luyao Huang),
  vz: assign static IPs and default gateways for network adapter (Mikhail Feoktistov),
  vz: fix building capabilities (Dmitry Guryanov),
  qemu_driver: live/config checks cleanup (Pavel Hrdina),
  Post-release version bump to 1.2.18 (Michal Privoznik),
  cpu_map.xml: Expand Opteron_G4 CPU model (Jiri Denemark),
  cpu_map.xml: Expand Opteron_G2 CPU model (Jiri Denemark),
  cpu_map.xml: Expand Opteron_G1 CPU model (Jiri Denemark),
  cpu_map.xml: Expand Broadwell-noTSX CPU model (Jiri Denemark),
  cpu_map.xml: Expand Haswell-noTSX CPU model (Jiri Denemark),
  cpu_map.xml: Expand SandyBridge CPU model (Jiri Denemark),
  cpu_map.xml: Expand Westmere CPU model (Jiri Denemark),
  cpu_map.xml: Expand Nehalem CPU model (Jiri Denemark),
  cpu_map.xml: Expand Penryn CPU model (Jiri Denemark),
  cpu_map.xml: Expand Conroe CPU model (Jiri Denemark),
  cpu_map.xml: Expand kvm64 CPU model (Jiri Denemark),
  cpu_map.xml: Expand cpu64-rhel5 CPU model (Jiri Denemark),
  cpu_map.xml: Expand kvm32 CPU model (Jiri Denemark),
  cpu_map.xml: Expand qemu32 CPU model (Jiri Denemark),
  cpu_map.xml: Expand n270 CPU model (Jiri Denemark),
  cpu_map.xml: Expand coreduo CPU model (Jiri Denemark),
  cpu_map.xml: Expand pentiumpro CPU model (Jiri Denemark),
  cpu_map.xml: Expand pentium2 CPU model (Jiri Denemark),
  cpu_map.xml: Expand pentium CPU model (Jiri Denemark),
  cpu_map.xml: Expand 486 CPU model (Jiri Denemark),
  cpu_map.xml: Sort features in x86 CPU models (Jiri Denemark)

### 1.2.17: Jul 02 2015

- Features:
  numerous improvements and refactoring of the parallels driver (Maxim Nestratov),
  hardening of vcpu code (Peter Krempa),
  hardening of migration code (Jiri Denemark)
- Documentation:
  Fix typo incomaptible -> incompatible (Andrea Bolognani),
  docs: Clarification for when allowed to use 'lun' for "volume" (John Ferlan),
  docs: document when pcie-root/dmi-to-pci-bridge support was added (Laine Stump),
  docs: Fix trivial copy-paste error (Martin Kletzander),
  docs: Properly mark acl.html dependencies (Michal Privoznik),
  docs: Correct typos in scsi hostdev and address elements (Eric Farman),
  docs: Fix XML schema handling of LUN address in hostdev tag (Eric Farman),
  virNetSocketRemoveIOCallback: Be explicit about unref (Michal Privoznik),
  man: clarify usage of virsh blockcopy with --xml (Ján Tomko),
  docs: Clarify that attribute name is not used for vhostuser (Maxime Leroy),
  maint: document use of zanata for translations (Eric Blake),
  qemu: Capitalize "storage" in qemuDomainAttachUSBMassStorageDevice() (Andrea Bolognani),
  docs: php: remove reference to Red Hat (Ján Tomko),
  monitor: Move documentation for qemuMonitorGetBalloonInfo (Peter Krempa)
- Portability:
  admin: Fix mingw build by reordering includes (Martin Kletzander),
  util: process: fix build on FreeBSD (Roman Bogorodskiy),
  util: Properly return error from virGetUserID and virGetGroupID stubs (Peter Krempa),
  build: silence ar warnings on rawhide (Eric Blake),
  util: process: @pid in virProcessSetAffinity's BSD impl is not unused (Peter Krempa),
  libxl: load on FreeBSD (Roman Bogorodskiy)
- Bug Fixes:
  phyp: Resolve Coverity FORWARD_NULL (John Ferlan),
  util: Resolve Coverity FORWARD_NULL (John Ferlan),
  util: Resolve Coverity FORWARD_NULL (John Ferlan),
  util: Resolve Coverity FORWARD_NULL (John Ferlan),
  lxc: Don't pass a local variable address randomly (Michal Privoznik),
  qemu: Resolve Coverity DEADCODE (John Ferlan),
  qemu: Audit memory size with memory hotplug operations (Peter Krempa),
  qemu: Avoid using ".(null)" in UNIX socket path (Jiri Denemark),
  qemu: agent: Don't automatically disable CPU0 via guest agent (Peter Krempa),
  qemu: End job even if exiting monitor after OpenGraphics(FD) fails (Luyao Huang),
  qemu: properly free addresses on non-serial chardev unplug (Ján Tomko),
  qemu: fix address allocation on chardev attach (Luyao Huang),
  libxl: Set def->vcpus after successfully modifying live vcpu count (Jim Fehlig),
  libxl: don't remove persistent domain on start failure (Jim Fehlig),
  libxl: don't overwrite domain state from statedir config (Jim Fehlig),
  qemu: Add missing on_crash lifecycle type (John Ferlan),
  Use the correct symbol for 'onCrash' (John Ferlan),
  mpath: Don't allow more than one mpath pool at a time (John Ferlan),
  mpath: Update path in CheckPool function (John Ferlan),
  conf: Validate disk lun using correct types (John Ferlan),
  Storage: Introduce shadow vol for refresh while the main vol builds. (Prerna Saxena),
  conf: storage: Fix duplicate check for gluster pools (Peter Krempa),
  qemu: event: Properly handle spice events (Peter Krempa),
  Revert "Introduce QEMU_CAPS_ARM_VIRT_PCI" (Peter Krempa),
  qemu: Close the agent connection only on agent channel events (Peter Krempa),
  storage: Set correct vol->type at VolCreate (John Ferlan),
  qemu: Fix assignment of the default spicevmc channel name (Jiri Denemark),
  qemu: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  test: qemu: Make sure that wr_highest_offset_valid gets set properly (Peter Krempa),
  vz: Fix build after recent commit (Peter Krempa),
  qemuBuildMemoryBackendStr: Honour passed @pagesize (Michal Privoznik),
  qemuBuildMemoryBackendStr: Fix hugepages lookup process (Michal Privoznik),
  conf: Format scheduler priority when it is zero (Luyao Huang),
  qemu: Avoid removing persistent config if migration fails (Luyao Huang),
  scsi: Force error for SCSI pools on virStorageBackendSCSIFindLUs failure (John Ferlan),
  conf: Enforce scheduler name when parsing XML (Peter Krempa),
  qemu: caps: Fix syntax-check failure in version based capabilities (Peter Krempa),
  libxl: avoid freeing an uninitialised bitmap (Ian Campbell),
  virNetServerServiceClose: Don't leak sockets (Michal Privoznik),
  virNetSocket: Fix @watch corner case (Michal Privoznik),
  daemonSetupNetworking: Don't leak services (Michal Privoznik),
  scsi: Adjust return status from getBlockDevice (John Ferlan),
  qemuMigrationDriveMirror: Force raw format for NBD (Michal Privoznik),
  qemu: Jump to correct label in qemuDomainPinIOThread (Peter Krempa),
  conf: Fix virDomainObjGetDefs when getting persistent config on a live vm (Peter Krempa),
  rpc: Actually increase reference count on @srv in virNetDaemonAddServer (Peter Krempa),
  parallels: Fix false error messages in libvirt log (Mikhail Feoktistov),
  parallels: Fix initialization of buflen variable in each loop iteration (Mikhail Feoktistov),
  nodedev: update netdev feature bits before each dumpxml (Laine Stump),
  tests: Follow virnetserver to virnetdaemon transition (Michal Privoznik),
  daemon: Distribute admin_server.h (Michal Privoznik),
  daemon/Makefile: Add forgotten dependency (Michal Privoznik),
  util: virfile: Fix 'unknown cause' error if NFS mount point creation fails (Erik Skultety),
  util: Fix Coverity RESOURCE_LEAK (John Ferlan),
  storage: Generate correct parameters for CIFS (John Ferlan),
  rpc: Fix possible crash when MDNSAddEntry fails (Martin Kletzander),
  qemu: emulatorpin: Don't reset pinning when pinning to all cpus (Peter Krempa),
  storage: Disallow wiping an extended disk partition (John Ferlan),
  storage: Need to set secrettype for direct iscsi disk volume (John Ferlan),
  scsi: Need to translate disk source pool in config attach path (John Ferlan),
  network: escape quotes for dsmasq conf contents (Shivaprasad G Bhat),
  virsh: change-media: Fix behavior with --update without a source (Peter Krempa),
  rpc: Fix reference counting around virNetSocketAddIOCallback (Daniel P. Berrange),
  rpc: Don't use unrelated value as privateData of client (Daniel P. Berrange),
  mdns: Set error when failing due to missing avahi (Martin Kletzander),
  qemu: Update balloon info only if job is allowed (Peter Krempa),
  conf: Fix mistakes in pointer usage in virDomainObjGetDefs (Peter Krempa),
  check if console/channel PTY is null before attempting to open (Shivaprasad G Bhat),
  virnetdev: fix moving of 802.11 phys (Lubomir Rintel),
  util: process: Refactor and fix virProcessSetAffinity (Peter Krempa),
  util: Clear output broadcast address before filling it in (Martin Kletzander),
  virsh: Fix Ctrl-C behavior when watching a job (Jiri Denemark),
  libxl: Unbreak vcpu pinning (Peter Krempa),
  qemu: Fix possible crash in qemuProcessSetVcpuAffinities (Peter Krempa),
  qemu: Do not release device address on successful RNG attach (Luyao Huang),
  qemu: Need to return status of RNG device removal (Luyao Huang),
  test: fix IP address range failure test (Laine Stump),
  storage: RBD: do not return error when deleting non-existent volume (Erik Skultety),
  storage: Don't update volume objs list before we successfully create one (Erik Skultety),
  nwfilter: Fix sscanf off-by-one error in virNWFilterSnoopLeaseFileLoad (Erik Skultety),
  virsh: Fix printing of XML for pool-create-as (John Ferlan)
- Improvements:
  conf: qemu: Taint VMs using custom device tree blob (Peter Krempa),
  conf: audit: Audit physical memory size rather than balloon request (Peter Krempa),
  libxl: honor domainGetXMLDesc() --inactive flag (Jim Fehlig),
  qemu: event: Clean up VNC monitor handling (Peter Krempa),
  qemuxml2argv: Remove Haswell CPU from unrelated tests (Jiri Denemark),
  Revert "Change livbirt version to 1.3.0 for the next release" (Martin Kletzander),
  Temporarily disable admin API (Martin Kletzander),
  spec: Remove admin package specification (Martin Kletzander),
  qemu: ignore assumptions about hotplug requirement when address is from config (Laine Stump),
  qemu: always permit PCI devices to be manually assigned to a PCIe bus (Laine Stump),
  qemu: refactor qemuBuildControllerDevStr to eliminate future duplicate code (Laine Stump),
  qemu: monitor: Remove qemuMonitorGetBlockExtent (Peter Krempa),
  qemu: Refactor qemuDomainGetBlockInfo (Peter Krempa),
  qemu: monitor: Open-code retrieval of wr_highest_offset (Peter Krempa),
  internal: Introduce virCheckNonEmptyStringArgGoto and reuse it (Peter Krempa),
  vz: add memory statistics (Nikolay Shirokovskiy),
  vz: add vcpu statistics (Nikolay Shirokovskiy),
  vz: cleanup, make in par net device lookup functions (Nikolay Shirokovskiy),
  vz: add net dev statistiscs (Nikolay Shirokovskiy),
  docs: Don't keep temporary files around (Michal Privoznik),
  test: Refactor testNodeGetCPUMap (Peter Krempa),
  test: Refactor vcpu pinning and vcpu info retrieval (Peter Krempa),
  test: Refactor testDomainSetVcpusFlags (Peter Krempa),
  test: Refactor test driver domain object retrieval (Peter Krempa),
  test: Drop locked access to testDriver->domains (Peter Krempa),
  test: Finalize removal of locking from driver->eventState (Peter Krempa),
  test: Refactor test driver event sending (Peter Krempa),
  test: Use atomic access to @nextDomID in struct virTestDriver (Peter Krempa),
  test: Annotate few fields of testDriver structure (Peter Krempa),
  test: Extract common parts of test driver data allocation (Peter Krempa),
  test: Extract code to free testDriver into testDriverFree (Peter Krempa),
  test: turn 'defaultConn' into a pointer (Peter Krempa),
  test: Rename testConn to testDriver (Peter Krempa),
  vz: Adapt to driver rename (Michal Privoznik),
  json: enhance parser test (Eric Blake),
  json: even stricter trailing garbage detection (Eric Blake),
  json: reject trailing garbage (Eric Blake),
  json: reject javascript comments (Eric Blake),
  json: cope with older yajl semantics (Eric Blake),
  vz: implementation of attach/detach network devices (Mikhail Feoktistov),
  Test for the new watchdog model diag288 (Boris Fiuczynski),
  Support for the new watchdog model diag288 (Boris Fiuczynski),
  Test for the new watchdog action inject-nmi (Boris Fiuczynski),
  Support for a new watchdog action inject-nmi (Boris Fiuczynski),
  vircapstest: Properly report error for failed tests (Michal Privoznik),
  conf: Adjust invalid secrettype setting during parse (John Ferlan),
  conf: improve the way we format blkiotune and cputune (Luyao Huang),
  Improve some errors for openconsole/channel (Luyao Huang),
  storage: Force setting of disk format type (John Ferlan),
  docs: Adjust Disk storage rng (John Ferlan),
  Convert SCSI logical unit from unsigned int to unsigned long long (Eric Farman),
  Print SCSI address attributes bus, target, unit as unsigned integer (Eric Farman),
  Read SCSI address attributes bus, target, unit as positive integer (Eric Farman),
  qemu: simplify json parsing (Eric Blake),
  json: make it easier to type-check when getting from object (Eric Blake),
  json: fully parse input string (Eric Blake),
  test: Switch to reference counting with testDomObjFromDomain (Peter Krempa),
  test: Reuse virDomainObjGetOneDef in testDomainGetVcpusFlags (Peter Krempa),
  virsh: blockcopy: Report error if the copy job fails (Peter Krempa),
  Introduce QEMU_CAPS_ARM_VIRT_PCI (Pavel Fedin),
  update sheepdog client] update sheepdog client path (Vasiliy Tolstov),
  qemu: cancel drive mirrors when p2p connection breaks (Jiri Denemark),
  qemu: Refactor qemuMigrationWaitForCompletion (Jiri Denemark),
  qemu: Don't pass redundant job name around (Jiri Denemark),
  qemu: Refactor qemuMigrationUpdateJobStatus (Jiri Denemark),
  qemu: Refactor qemuDomainGetJob{Info,Stats} (Jiri Denemark),
  qemu: Do not poll for spice migration status (Jiri Denemark),
  qemu_monitor: Wire up SPICE_MIGRATE_COMPLETED event (Jiri Denemark),
  qemu: Use domain condition for asyncAbort (Jiri Denemark),
  qemu: Cancel disk mirrors after libvirtd restart (Jiri Denemark),
  qemu: Refactor qemuMonitorBlockJobInfo (Jiri Denemark),
  qemu: Make qemuMigrationCancelDriveMirror usable without async job (Jiri Denemark),
  Pass domain object to private data formatter/parser (Jiri Denemark),
  qemu: Don't mess with disk->mirrorState (Jiri Denemark),
  qemu: Abort migration early if disk mirror failed (Jiri Denemark),
  qemu: Cancel storage migration in parallel (Jiri Denemark),
  qemu: Use domain condition for synchronous block jobs (Jiri Denemark),
  qemu: Properly report failed migration (Jiri Denemark),
  qemu: Introduce qemuBlockJobUpdate (Jiri Denemark),
  conf: Introduce per-domain condition variable (Jiri Denemark),
  lib: setvcpus: Remove bogus flag check (Peter Krempa),
  virsh: selective block device migration (Pavel Boldin),
  qemu: migration: selective block device migration (Pavel Boldin),
  util: add virTypedParamsAddStringList (Pavel Boldin),
  util: virTypedParams{Filter,GetStringList} (Pavel Boldin),
  util: multi-value parameters in virTypedParamsAdd* (Pavel Boldin),
  util: multi-value virTypedParameter (Pavel Boldin),
  virDomainDiskGetSource: Mark passed disk as 'const' (Michal Privoznik),
  conf: Move vcpu info parsing code into a separate function (Peter Krempa),
  qemu: 'privileged' flag is not really configuration (Peter Krempa),
  qemu: Reuse virDomainObjGetDefs in qemuDomainGetMemoryParameters (Peter Krempa),
  qemu: Refactor qemuDomainGetMemoryParameters (Peter Krempa),
  qemu: Refactor qemuDomainSetNumaParameters (Peter Krempa),
  qemu: Simplify qemuDomainSetInterfaceParameters by using virDomainObjGetDefs (Peter Krempa),
  qemu: Simplify qemuDomainGetVcpusFlags by using virDomainObjGetOneDef (Peter Krempa),
  qemu: Simplify qemuDomainGetEmulatorPinInfo by using virDomainObjGetOneDef (Peter Krempa),
  qemu: Simplify qemuDomainGetVcpuPinInfo by using virDomainObjGetOneDef (Peter Krempa),
  qemu: Simplify qemuDomainGetNumaParameters by using virDomainObjGetOneDef (Peter Krempa),
  qemu: Simplify qemuDomainGetInterfaceParameters by using virDomainObjGetOneDef (Peter Krempa),
  conf: Introduce helper to help getting correct def for getter functions (Peter Krempa),
  qemu: implement address for isa-serial (James Cowgill),
  qemu: Add a check for slot and base dimm address conflicts (Luyao Huang),
  daemon: Add the admin service to the admin server only if it was allocated (Peter Krempa),
  remove redundant condition (Ján Tomko),
  virSysinfo: Introduce SMBIOS type 2 support (Michal Privoznik),
  qemu: Report all supported machine types in capabilities (Jiri Denemark),
  tests: Sort EXTRA_DIST in the Makefile (Michal Privoznik),
  daemon: Don't just include admin RPC (Michal Privoznik),
  parallels: substitute parallels with vz spec file and Makefile (Maxim Nestratov),
  parallels: rename all parallels files and driver directory to vz (Maxim Nestratov),
  parallels: substitute parallels with vz in strings (Maxim Nestratov),
  parallels: change parallels prefixes to vz (Maxim Nestratov),
  virfile: virDirCreate: Insert blank lines to assure slightly better readability (Erik Skultety),
  util: virDirCreate: Child now exits with positive errno-code (Erik Skultety),
  lxc: set nosuid+nodev+noexec flags on /proc/sys mount (Eric W. Biederman),
  lxc: Rename daemon to dmn (Martin Kletzander),
  Revert "rpc: Add virNetServerGetNClients" (Martin Kletzander),
  Revert "admin: Add virAdmHello function" (Martin Kletzander),
  Change livbirt version to 1.3.0 for the next release (Martin Kletzander),
  Example virt-admin (Martin Kletzander),
  admin: Add virAdmHello function (Martin Kletzander),
  rpc: Add virNetServerGetNClients (Martin Kletzander),
  Add support for admin API in libvirt daemon (Martin Kletzander),
  Add configuration options for permissions on daemon's admin socket (Martin Kletzander),
  Add XML files with admin API specification (Martin Kletzander),
  Add libvirt-admin library (Martin Kletzander),
  Add admin error domain (Martin Kletzander),
  Build client headers for admin protocol (Martin Kletzander),
  Add admin protocol (Martin Kletzander),
  Teach gendispatch how to handle admin dispatching files (Martin Kletzander),
  tests: Adapt virnetservertest to daemon refactor (Martin Kletzander),
  Move daemon-related parts of virNetServer to virNetDaemon (Martin Kletzander),
  lxc: properly clean up qemu-nbd (Cédric Bosdonnat),
  Add virProcessGetPids to get all tasks of a process (Cédric Bosdonnat),
  storage: Adjust command arglist for gluster (John Ferlan),
  storage: Fix the schema and add tests for cifs pool (John Ferlan),
  configure: Remove check for pkcheck_supports_uid (Guido Günther),
  tests: Use libvirt properly with initialization and error dispatching (Martin Kletzander),
  Generate JSON with mDNS entries only when built --with-avahi (Martin Kletzander),
  build: Remove unnecessarily repeated rules for syms -> def (Martin Kletzander),
  qemu: monitor: Add memory balloon support for virtio-ccw (Boris Fiuczynski),
  getOldStyleBlockDevice: Adjust formatting (Michal Privoznik),
  getNewStyleBlockDevice: Adjust formatting (Michal Privoznik),
  qemu caps: spell queue (Ján Tomko),
  qemu: Do not support 'serial' scsi-block 'lun' devices (John Ferlan),
  virCapabilitiesDomainDataLookup: Produce saner error message (Michal Privoznik),
  libxl: Add timestamp to the libxl driver log. (Anthony PERARD),
  qemu: update netdevs of the same mac addrs correctly (zhang bo),
  virsysinfo: s/system/sysdef/ (Michal Privoznik),
  cmdNetworkList: Introduce --name, --uuid, --table (Michal Privoznik),
  cmdNetworkList: switch to FILTER (Michal Privoznik),
  qemuBuildDriveStr: s/virBufferEscapeString/virBufferAsprintf/ (Michal Privoznik),
  virQEMUCapsArch: openrisc vs or32 (Michal Privoznik),
  virSysinfoDef: Exempt SYSTEM variables (Michal Privoznik),
  virSysinfoDef: Exempt BIOS variables (Michal Privoznik),
  tests: Distribute virnetserverdata (Michal Privoznik),
  schema: use arch list from basictypes for os arch attribute (James Cowgill),
  util: add virJSONValueCopy (Martin Kletzander),
  qemu: add multiqueue vhost-user support (Maxime Leroy),
  qemu: Add capability for vhost-user multiqueue (Martin Kletzander),
  conf: Ignore multiqueue with one queue. (Martin Kletzander),
  util: Make virProcessGetAffinity more readable and fix coverity warning (Peter Krempa),
  apibuild: Generate macro/@string attribute (Jiri Denemark),
  rpc: add testing of RPC JSON (de)serialization (Daniel P. Berrange),
  rpc: add API for checking IPv4/6 availability (Daniel P. Berrange),
  rpc: allow selection of TCP address family (Daniel P. Berrange),
  virNumaSetPagePoolSize: Produce friendlier error message (Michal Privoznik),
  logical: Fix typo in error message (John Ferlan),
  conf: fix domaincommon.rng to accept network name with quotes (Shivaprasad G Bhat),
  parallels: treat block devices as disks for containers (Maxim Nestratov),
  parallels: report SATA bus type for container block devices disks (Maxim Nestratov),
  parallels: process '/' mount point correctly for containers (Maxim Nestratov),
  parallels: add isCt parameter to prlsdkGetDiskInfo and prlsdkAddDisk (Maxim Nestratov),
  parallels: add block device statistics to driver (Nikolay Shirokovskiy),
  qemu: caps: Advertise arm 32-on-64 KVM option (Cole Robinson),
  qemu: caps: qemu-system-aarch64 supports armv7l (Cole Robinson),
  qemu: command: Support arm 32-on-64 KVM with -cpu aarch64=off (Cole Robinson),
  parallels: return only success from PCS event handler (Nikolay Shirokovskiy),
  parallels: simplify event types discrimination (Nikolay Shirokovskiy),
  utiltest: Use int8_t instead of char. (Michal Privoznik),
  Turn qemuMonitorFindBalloonObjectPath into a void function (Ján Tomko),
  Do not access the domain definition in qemuMonitorFindBalloonObjectPath (Ján Tomko),
  Only call SetMemoryStatsPeriod for virtio memballoon (Ján Tomko),
  Check for balloon model in qemuDomainSetMemoryStatsPeriod (Ján Tomko),
  Only call qemuMonitorGetMemoryStats for virtio memballoon (Ján Tomko),
  Invert the condition in qemuDomainMemoryStats (Ján Tomko),
  Add endjob label to qemuDomainMemoryStats (Ján Tomko),
  Remove path argument from qemuMonitorJSONFindLinkPath (Ján Tomko),
  Introduce qemuMonitorJSONFindLinkPath (Ján Tomko),
  Move qemuMonitorFindObjectPath to qemu_monitor_json (Ján Tomko),
  rpc: Make virNetServerAddClient function dynamic (Daniel P. Berrange),
  storage: Add check for valid FS types in checkPool callback (John Ferlan),
  storage: FS backend adjust error message on error path (John Ferlan),
  storage: Refactor storage pool type checks (John Ferlan),
  qemu: Check for qemu capability when calling virDomainGetBlockIoTune() (Martin Kletzander),
  qemu: Refactor qemuDomainSetVcpusFlags by reusing virDomainObjGetDefs (Peter Krempa),
  qemu: Refactor qemuDomainGetEmulatorPinInfo by reusing virDomainObjGetDefs (Peter Krempa),
  qemu: Refactor qemuDomainPinEmulator by reusing virDomainObjGetDefs (Peter Krempa),
  qemu: Refactor qemuDomainGetVcpuPinInfo by reusing virDomainObjGetDefs (Peter Krempa),
  qemu: Refactor qemuDomainPinVcpuFlags by reusing virDomainObjGetDefs (Peter Krempa),
  qemu: Refactor qemuDomainSetBlkioParameters by reusing virDomainObjGetDefs (Peter Krempa),
  qemu: Refactor qemuDomainChgIOThread by reusing virDomainObjGetDefs (Peter Krempa),
  qemu: Refactor qemuDomainPinIOThread by reusing virDomainObjGetDefs (Peter Krempa),
  qemu: Refactor qemuDomainGetIOThreadInfo by reusing virDomainObjGetDefs (Peter Krempa),
  qemu: Refactor qemuDomainGetVcpusFlags by reusing virDomainObjGetDefs (Peter Krempa),
  qemu: Refactor qemuDomainSetMemoryStatsPeriod by reusing virDomainObjGetDefs (Peter Krempa),
  qemu: Refactor qemuDomainSetMemoryFlags by reusing virDomainObjGetDefs (Peter Krempa),
  conf: Add new helpers to resolve virDomainModificationImpact to domain defs (Peter Krempa),
  libxl: Don't remove vcpu pin definition in libxlDomainCleanup (Peter Krempa),
  Revert "cputune: Support cputune for xend driver" (Peter Krempa),
  qemu: libxl: vcpupin: Don't reset pinning when pinning to all pcpus (Peter Krempa),
  lib: virDomainPinIOThread: Remove spurious overflow check (Peter Krempa),
  conf: Store cpu count as unsigned int (Peter Krempa),
  qemu: Refactor qemuDomainGetInfo (Peter Krempa),
  qemu: Add helper to update domain balloon size and refactor usage places (Peter Krempa),
  qemu: process: Update current balloon state to maximum on vm startup (Peter Krempa),
  Always add 'console' matching the 'serial' device (Ján Tomko),
  qemu: process: Refactor setup of memory ballooning (Peter Krempa),
  qemu: monitor: Make qemuMonitorSetBalloon operate on unsinged long long (Peter Krempa),
  util: Add macro to overflow check integer assignments (Peter Krempa),
  libxl: Refactor libxlDomainGetVcpuPinInfo (Peter Krempa),
  libxl: Reuse virBitmapToData in libxlDomainSetVcpuAffinities (Peter Krempa),
  qemu: Refactor qemuDomainHelperGetVcpus by reusing virBitmapToDataBuf (Peter Krempa),
  qemu: Reuse virBitmapToDataBuf in qemuDomainGetEmulatorPinInfo (Peter Krempa),
  qemu: Use virBitmapToDataBuf in qemuDomainGetVcpuPinInfo (Peter Krempa),
  util: bitmap: Add virBitmapToDataBuf that does not allocate the buffer (Peter Krempa),
  conf: Move pinning information definition closer to the usage place (Peter Krempa),
  conf: Refactor emulatorpin handling (Peter Krempa),
  parallels: set virtType depending on driver name (Maxim Nestratov),
  parallels: recommend to connect to vz:///system when connection fails (Maxim Nestratov),
  parallels: increment the number of connection drivers (Maxim Nestratov),
  parallels: add a new vz connection driver and hypervisor structures (Maxim Nestratov),
  parallels: accept vz as a driver uri and name (Maxim Nestratov),
  parallels: add new guest capabilities assigned to vz driver (Maxim Nestratov),
  parallels: use newly introduced VIR_DOMAIN_VIRT_VZ (Maxim Nestratov),
  parallels: introduce vz driver constant and string (Maxim Nestratov),
  audit: Audit number of iothreads at domain startup (Luyao Huang),
  util: report all address range errors in virSocketAddrGetRange() (Laine Stump),
  network: cleanup range loop in networkDnsmasqConfContents (Laine Stump),
  network: validate DHCP ranges are completely within defined network (Laine Stump),
  Simplify virNodeCountThreadSiblings (Ján Tomko),
  Report errors in virNodeCountThreadSiblings (Ján Tomko),
  virsh: Move error messages inside vshCommandOpt*() functions (Andrea Bolognani),
  virsh: Pass vshControl to all vshCommandOpt*() calls (Andrea Bolognani),
  virsh: Make vshCommandOptScaledInt() use vshCommandOpt() (Andrea Bolognani),
  virsh: Improve vshCommandOptTimeoutToMs() (Andrea Bolognani),
  virsh: Use standard error messages in vshCommandOptTimeoutToMs() (Andrea Bolognani),
  tests: Add a bunch of new tests to virsh-optparse (Andrea Bolognani),
  maint: update to latest gnulib (Eric Blake),
  spec: fixes for recently introduced libxl conf files (Jim Fehlig),
  virsh: make negative values with vol-resize more convenient (Ján Tomko),
  qemu: Automatically add <panic> element for pSeries guests. (Andrea Bolognani),
  qemu: Allow panic device for pSeries guests (Andrea Bolognani),
  qemu: Improve error message for missing QEMU_CAPS_DEVICE_PANIC. (Andrea Bolognani),
  Post-release version bump to 1.2.17 (Daniel P. Berrange)
- Cleanups:
  qemu: monitor: Fix indentation in qemuMonitorJSONGetOneBlockStatsInfo (Peter Krempa),
  vz_utils: Reformat (Michal Privoznik),
  vz_storage: Reformat (Michal Privoznik),
  vz_sdk: Reformat (Michal Privoznik),
  vz_network: Reformat (Michal Privoznik),
  vz_driver: Reformat (Michal Privoznik),
  test: Drop unused attribute @path from testDriver struct (Peter Krempa),
  test: Drop useless forward declaration (Peter Krempa),
  vz: fix syntax-check errors (Dmitry Guryanov),
  virQEMUCapsComputeCmdFlags: Indent correctly (Michal Privoznik),
  qemuMigrationBeginPhase: Fix function header indentation (Michal Privoznik),
  qemu: Fix double space in error message in qemuDomainGetVcpusFlags (Peter Krempa),
  libvirt.spec: Don't expect virt-admin in libvirt-admin yet (Michal Privoznik),
  netserver: Remove duplicate forward declaration (Martin Kletzander),
  Revert "Example virt-admin" (Martin Kletzander),
  apibuild: Fix indentation (Jiri Denemark),
  parallels: fix formatting errors in parallels driver (Dmitry Guryanov),
  storage: Remove extraneous @conn from function comments (John Ferlan),
  remote: fix odd comma operator (Eric Blake),
  maint: remove incorrect apostrophes from 'its' (Ján Tomko)

### 1.2.16: Jun 01 2015

- Features:
  Introduce pci-serial (Michal Privoznik),
  Introduce virDomainSetUserPassword API (Ján Tomko),
  libvirt: Introduce protected key mgmt ops (Tony Krowiak),
  add domain vmport feature (Marc-André Lureau)
- Documentation:
  update github project name (Daniel P. Berrange),
  formatstorage: Update <permissions> docs (Cole Robinson),
  Document new RO repo mirrors (Michal Privoznik),
  Document that virNodeGetInfo can return mhz == 0. (Richard W.M. Jones),
  fix a small xml error in docs (Luyao Huang),
  tests: Fix grammar in comments. (Andrea Bolognani),
  add domain vmport feature (Marc-André Lureau)
- Portability:
  qemu: Fix compilation error when enum variable size differs from 'int' (Peter Krempa),
  bhyve: fix build with gcc48 (Roman Bogorodskiy),
  Add missing XDR_FLAGS (Pavel Fedin),
  node_device: fix libvirt build if WITH_HAL is defined (Maxim Nestratov),
  util: Avoid shadow of 'ulong' in virMemoryMaxValue (Peter Krempa),
  Fix build --without-network (Martin Kletzander),
  maint: extend PIE support check (Roman Bogorodskiy),
  bhyve: fix bhyvexml2argvtest build with gcc (Roman Bogorodskiy)
- Bug Fixes:
  Allocate priv->vioserialaddrs unconditionally (Ján Tomko),
  Properly free the xmlDocPtr when loading pool state (Ján Tomko),
  storage: Fix problem with disk backend pool allocation calculation (John Ferlan),
  storage: Don't adjust pool alloc/avail values for disk backend (John Ferlan),
  virsh: Fix to list online cpus using virsh capabilities (Kothapally Madhu Pavan),
  Fix the event name in vshEventTrayChangePrint (Ján Tomko),
  Fix shrinking volumes with the delta flag (Ján Tomko),
  interface: don't error out if a bond has no interfaces (Lubomir Rintel),
  qemu: Limit rtc-reset-reinjection requirement to x86 only. (Andrea Bolognani),
  storage_fs: Create directory with UID if needed (Martin Kletzander),
  zfs: fix storagepoolxml2xml test (Roman Bogorodskiy),
  qemu: Force capabilities cache refresh if libvirtd date is different (John Ferlan),
  qemu: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  conf: Resolve Coverity NEGATIVE_RETURNS (John Ferlan),
  storage: fs: Only force directory permissions if required (Cole Robinson),
  parallels: fix possible crash in case of errors in prlsdkLoadDomain (Maxim Nestratov),
  virsh: reject negative values for scaled integer (Pavel Hrdina),
  network: Resolve Coverity FORWARD_NULL (John Ferlan),
  conf: Resolve Coverity FORWARD_NULL (John Ferlan),
  storage: Resolve Coverity FORWARD_NULL (John Ferlan),
  netdev: fail when setting up an SRIOV VF if PF is offline (Laine Stump),
  qemuDomainDetachChrDevice: Fix chardev hot-unplug (Michal Privoznik),
  qemuDomainAttachChrDevice: Fix chardev hotplug (Michal Privoznik),
  qemu: Log error if domain uses security driver which is not loaded (Erik Skultety),
  conf: Restore the XML parser context in virDomainMemoryDefParseXML (Luyao Huang),
  conf: Catch memory size overflow earlier (Peter Krempa),
  virfile: virDirCreate: Fix ALLOW_EXIST conditional (Cole Robinson),
  qemu: Fix numatune nodeset reporting (Martin Kletzander),
  xenconfig: fix spice mousemode and copypaste (Jim Fehlig),
  xenconfig: fix spicepasswd handling (Jim Fehlig),
  node_device: update sriov/iommu info before dumpxml of a device (Laine Stump),
  virsh: Fix dommemstat --period option type. (Andrea Bolognani),
  qemu: fix exceptions in qemuAssignDeviceControllerAlias (Laine Stump),
  qemu: Don't give up on first error in qemuMigrationCancelDriverMirror (Jiri Denemark),
  reject out of range memory in SetMemory APIs (Ján Tomko),
  qemu: Clear autofil fill flag when pinning iothread (John Ferlan),
  virsh: Report an error when cpulist parsing fails (Luyao Huang),
  Assign virtio-serial addresses after coldplugging a device (Ján Tomko),
  qemu: vnc: error out for invalid port number (Pavel Hrdina),
  conf: Remove source host name check for iSCSI (John Ferlan),
  qemu: fix double free when RNG cold-plug fails (Luyao Huang),
  libvirt-guests: Initialize SYNC_TIME (Michal Privoznik),
  conf: Report error for unknown shmem ioeventfd value (Luyao Huang),
  qemu: Fix balloon size handling with memory hot(un)plug (Peter Krempa),
  conf: Fix up balloon size after removing a memory device from def (Peter Krempa),
  caps: Fix regression defaulting to host arch (Cole Robinson),
  processSerialChangedEvent: Close agent monitor early (Michal Privoznik),
  qemuDomainShutdownFlags: check for domain activeness prior to guest presence (Michal Privoznik),
  lxc: don't up the veth interfaces unless explicitly asked to (Lubomir Rintel),
  qemu: Resolve Coverity FORWARD_NULL (John Ferlan),
  qemu: Resolve Coverity FORWARD_NULL (John Ferlan),
  qemu: Resolve Coverity FORWARD_NULL (John Ferlan),
  xen: Resolve Coverity FORWARD_NULL (John Ferlan),
  qemu: Resolve Coverity FORWARD_NULL (John Ferlan),
  qemu: Resolve Coverity IDENTICAL_BRANCHES (John Ferlan),
  vbox: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  libxl: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  conf: Add the cpu duplicate use check for vm numa settings (Luyao Huang),
  qemu: Properly rename persistent def after migration (Jiri Denemark),
  storage: fs: Don't try to chown directory unless user requested (Cole Robinson),
  storage: fs: Don't attempt directory creation if it already exists (Cole Robinson),
  storage: fs: Don't overwrite virDirCreate error (Cole Robinson),
  virsh: Don't check migrate parameters (Jiri Denemark),
  qemu: Forbid unsupported parameters for tunnelled migration (Jiri Denemark),
  qemu: fix the vm deadlock when deleting a nonexistent iothread (Luyao Huang),
  tools: fix the wrong check when use virsh setvcpus --maximum (Luyao Huang)
- Improvements:
  libxl: support QXL video device (Jim Fehlig),
  libxl: support SPICE graphics for HVM domains (Jim Fehlig),
  libxl: change reservedVNCPorts to reservedGraphicsPorts (Jim Fehlig),
  libxl: populate build_info vfb in separate function (Jim Fehlig),
  debug: assure NULLSTR() around all %s args in debug at top of public APIs (Laine Stump),
  node_device: more informative error log when device isn't found (Laine Stump),
  Simplify allocation check in storageVolResize (Ján Tomko),
  parallels: suppress console output from parallels SDK (Maxim Nestratov),
  util: make it more robust to calculate timeout value (Zhang Bo),
  util: improve the sysinfo element XML format (Luyao Huang),
  conf: Avoid formatting empty redirfilter element (Luyao Huang),
  maint: update to latest gnulib (Eric Blake),
  qemu: Add libvirt version check to refresh capabilities algorithm (John Ferlan),
  conf: storage: Don't emit empty <permissions> block (Cole Robinson),
  storage: conf: Don't set any default <mode> in the XML (Cole Robinson),
  parallels: move up updating parameter in prlsdkLoadDomain (Maxim Nestratov),
  zfs: fix storagepoolxml2xml test (Roman Bogorodskiy),
  util: better error message after failure to initialize firewall backend (Laine Stump),
  interface: allow multiple IPv4 addresses + dhcp on a single interface (Laine Stump),
  storage: conf: Don't output owner/group -1 (Cole Robinson),
  sysinfo: Fix reports on ARM (Michal Privoznik),
  qemu: Implement pci-serial (Michal Privoznik),
  qemu: wire up virDomainSetUserPassword (Ján Tomko),
  virsh: add set-user-password command (Ján Tomko),
  threadpool: Switch to detached threads (Jiri Denemark),
  Use virDomainDiskByName where appropriate (Jiri Denemark),
  Add wrappers for virDomainDiskIndexBy* (Jiri Denemark),
  virDomainNumatuneGetMode: Report if numatune was defined (Michal Privoznik),
  Taint domains using cdrom-passthrough (John Ferlan),
  virfile: virDirCreate: Drop redundant FORCE_PERMS flag (Cole Robinson),
  xenconfig: format spice listenAddr when formating ports (Jim Fehlig),
  xenconfig: use local variable for graphics def (Jim Fehlig),
  node_device: replace duplicated code in hal and udev backends (Laine Stump),
  node_device: new functions to get sriov/iommu info from sysfs (Laine Stump),
  node device: prepare node_device_linux_sysfs.c to add more functions (Laine Stump),
  nodedev: change if-else if in update_caps to switch (Laine Stump),
  conf: make virNodeDevCapData an official type (Laine Stump),
  virsh: Improve handling of send-process-signal --pid. (Andrea Bolognani),
  virsh: Improve error message on integer value parsing failure. (Andrea Bolognani),
  libvirt: tests: test protected key mgmt ops support (Tony Krowiak),
  libvirt: qemu: enable/disable protected key management ops (Tony Krowiak),
  libxl: provide impl for nodeGetSecurityModel (Jim Fehlig),
  qemu: log error when domain has an unsupported IDE controller (Laine Stump),
  qemu: clean up qemuBuildCommandline loop that builds controller args (Laine Stump),
  qemu: remove test for allowing ide controller in s390, rename usb tests (Laine Stump),
  qemu: use controller alias when constructing device/controller args (Laine Stump),
  conf: utility to return alias of a controller based on type/index (Laine Stump),
  qemu: Keep track of what disks are being migrated (Jiri Denemark),
  Move QEMU-only fields from virDomainDiskDef into privateData (Jiri Denemark),
  Rename virDomainHasBlockjob as qemuDomainHasBlockjob (Jiri Denemark),
  Add privateData to virDomainDiskDef (Jiri Denemark),
  Some alignment fixes in lxc_controller and jsontest (Martin Kletzander),
  gendispatch: Don't generate long lines (Martin Kletzander),
  virnetserver: Remove unnecessary double space (Martin Kletzander),
  rpc: Don't mix max_clients and max_workers in PostExecRestart (Martin Kletzander),
  conf: Expose iothreadids when delete non sequential iothreadids (John Ferlan),
  parallels: remove connection wide wait timeout (Nikolay Shirokovskiy),
  qemuMigrationPrepareAny: Drop useless variable @now (zhang bo),
  maint: Ignore Vim swap files (Andrea Bolognani),
  virSysinfoParseProcessor: Drop useless check for NULL (Michal Privoznik),
  libxl: support VNC passwd (Jim Fehlig),
  conf: Adjust duplicate source host port check (John Ferlan),
  daemon: Suppress logging of VIR_ERR_NO_DOMAIN_METADATA (Peter Krempa),
  conf_capabilities: fix wrong indentation (Pavel Hrdina),
  XML: escape strings where we should do it (Pavel Hrdina),
  qemu: eliminate duplicated code in qemuBuildDriveDevStr() (Laine Stump),
  qemu: use qemuDomainMachineIsI440FX() in appropriate place (Laine Stump),
  Ignore bridge template names with multiple printf conversions (Ján Tomko),
  conf: Always truncate balloon size to maximum memory size (Peter Krempa),
  qemu: Convert qemuConnectGetAllDomainStats to use new helpers (Peter Krempa),
  conf: Add helper to convert list of virDomains to a list of virDomainObjs (Peter Krempa),
  conf: Refactor domain list collection critical section (Peter Krempa),
  conf: Rename virDomainObjListFilter type to virDomainObjListACLFilter (Peter Krempa),
  conf: Extract code to filter domain list into a separate function (Peter Krempa),
  util: Make the virDomainListFree helper more universal (Peter Krempa),
  tests: Remove redundant aarch64 tests (Cole Robinson),
  qemu: multiqueue for ccw devices (Boris Fiuczynski),
  libxl: support soundhw for hvm domains (Jim Fehlig),
  libxl: add logrotate config file (Jim Fehlig),
  qemu: Implement GIC (Michal Privoznik),
  Introduce GIC feature (Michal Privoznik),
  polkit: Allow password-less access for 'libvirt' group (Cole Robinson),
  storage: fs: Fill in permissions on pool refresh (Cole Robinson),
  tests: add machine vmport qemu test (Marc-André Lureau),
  qemu: add machine vmport argument (Marc-André Lureau),
  qemu: add virQEMUCapsSupportsVmport (Marc-André Lureau),
  qemu: move qemuDomainMachineIs{I440FX,Q35} (Marc-André Lureau),
  qemu: add QEMU_CAPS_MACHINE_VMPORT_OPT (Marc-André Lureau),
  domain/conf: add VIR_DOMAIN_FEATURE_VMPORT (Marc-André Lureau),
  virsh: introduce new macros to help check flag requirements (Pavel Hrdina),
  qemu: use new macros for setvcpus to check flags and cleanup the code (Pavel Hrdina),
  use new macro helpers to check flag requirements (Pavel Hrdina),
  use new macro helpers to check exclusive flags (Pavel Hrdina),
  internal: introduce macro helpers to check flag requirements (Pavel Hrdina),
  internal: introduce macro helpers to reject exclusive flags (Pavel Hrdina)

### 1.2.15: May 04 2015

- Features:
  Implement virDomainAddIOThread and virDomainDelIOThread (John Ferlan),
  libxl: Introduce configuration file for libxl driver (Jim Fehlig),
  Add VIR_DOMAIN_EVENT_ID_DEVICE_ADDED event (Ján Tomko),
  various improvements to parallels driver (Maxim Nestratov, Dmitry Guryanov)
- Documentation:
  qemu: Fix comment for timeDelta (Jiri Denemark),
  Fix typo in comment about memory binding (zhang bo),
  virhostdev: Fix comments for virHostdevReAttachPCIDevices (John Ferlan),
  Add articles to virDomainDeviceDetachFlags docs (Ján Tomko),
  lib: snapshot: Explain that only one layer of images is inserted (Peter Krempa),
  Visually separate snapshot disk subelements (Ján Tomko),
  Add info (where necessary) that paths should be specified as absolute (Erik Skultety),
  Typos: Get rid of dependan(t|cies) (Martin Kletzander),
  Add Host sFlow into monitoring apps (Martin Kletzander)
- Portability:
  Fix building virnetserverclientmock with MinGW (Martin Kletzander),
  Cleanup parameters for mock libraries (Martin Kletzander),
  Cleanup srcdir usage (Michal Privoznik),
  Add missing linker flags for MinGW build (Pavel Fedin),
  build: add pragma directive to fix build on some gcc (Pavel Hrdina),
  build: avoid obsolete index() (Eric Blake),
  util: fix build on non-Linux (Roman Bogorodskiy),
  vircapstest: fix build without LXC, QEMU or XEN (Roman Bogorodskiy),
  virbuffer: fix build on rhel-6 (Pavel Hrdina),
  tests: fix build on old 32-bit platforms (Eric Blake),
  build: provide virNetDevSysfsFile on non-Linux (Eric Blake),
  build: include correct header for time() (Eric Blake),
  xen: fix build error on rhel-5 (Pavel Hrdina),
  qemu: Avoid shadow of 'sync' symbol (Peter Krempa)
- Bug Fixes:
  qemu: Fix bus and lun checks when scsi-disk.channel not present (John Ferlan),
  rpm-build: update %files section for libxl (Pavel Hrdina),
  qemu: blockjob: Call qemuDomainSupportsBlockJobs only on online VMs (Peter Krempa),
  qemu: Check address type for USB disks (Jiri Denemark),
  cpu: Honor vendor_id override in host-model (Jiri Denemark),
  iscsi: do not fail to stop a stopped pool (Ján Tomko),
  qemu: conf: Reject memory device if it would exceed configured max size (Peter Krempa),
  qemu: blockCopy: Allow reuse of raw image for shallow block copy (Peter Krempa),
  tests: free ChardevInfo correctly in qemumonitorjsontest (Zhang Bo),
  storage: fs: Ignore volumes that fail to open with EACCESS/EPERM (Cole Robinson),
  storage: If driver startup state syncing fails, delete statefile (Cole Robinson),
  storage: Don't leave stale state file if pool startup fails (Cole Robinson),
  storage: Fix autostart dir for qemu:///session (Cole Robinson),
  qemu: qemuProcessDetectIOThreadPIDs invert checks (John Ferlan),
  conf: Resolve some Coverity errors (John Ferlan),
  network: check newDef for used bridge names in addition to def (Laine Stump),
  network: check for bridge name conflict with existing devices (Laine Stump),
  network: move auto-assign of bridge name from XML parser to net driver (Laine Stump),
  test: Fix actual vs. expected in virtTestCompareFiles (Laine Stump),
  qemu: Resolve Coverity DEADCODE (John Ferlan),
  util: fix memleak in virStorageSourceClear (zhang bo),
  storage: Resolve Coverity UNINIT (John Ferlan),
  Fix check for return value of qemuDomainAgentAvailable() (Martin Kletzander),
  conf: fix memleak in virDomainHostdevDefClear (Zhang Bo),
  conf: fix memleak in virDomainNetIpParseXML (Zhang Bo),
  qemu: fix memleak in virCapabilitiesDomainDataLookup (Zhang Bo),
  qemu: fix memleaks in qemuBuildCommandLine (Zhang Bo),
  util: fix memleak in virFindSCSIHostByPCI (Zhang Bo),
  tests: fix some memleaks in tests (Zhang Bo),
  qemu: Fix domain object leak in qemuDomainInterfaceAddresses (Peter Krempa),
  libxl: initialize sdl.opengl defbool in libxlMakeVfb (Jim Fehlig),
  libxl: initialize vfb defbools in libxlMakeVfb (Olaf Hering),
  parallels: fix crash in prlsdkAddNet in case of CT definition (Maxim Nestratov),
  bhyve: fix build in tests (Roman Bogorodskiy),
  Fix memory leak in virNetSocketNewConnectUNIX (Jiri Denemark),
  parallels: fix IS_CT macro (Maxim Nestratov),
  rng: fix port number range validation (Daniel P. Berrange),
  qemu: Don't fail to reboot domains with unresponsive agent (zhang bo),
  bhyve: fix build in tests (Roman Bogorodskiy),
  spec: Fix libxl build with driver modules (Cole Robinson),
  configure: Fix --loader-nvram typo (Cole Robinson),
  parallels: don't forget to unlock domain after successful virDomainObjListFindByUUID call (Maxim Nestratov),
  vircommand: fix polling in virCommandProcessIO (Roman Bogorodskiy),
  util: storage: Fix possible crash when source path is NULL (Peter Krempa),
  qemu: Fix issues with maxMemory in qemuDomainSetMemoryFlags() (Luyao Huang),
  qemu: set macvtap physdevs online when macvtap is set online (Laine Stump),
  util: set MAC address for VF via netlink message to PF+VF# when possible (Laine Stump),
  qemu: Always refresh capabilities if no <guests> found (Cole Robinson),
  scsi: Adjust return values from processLU (John Ferlan),
  storage: Fix check for stable path check (John Ferlan),
  domtop: Properly free cpu status (Michal Privoznik),
  parallels: fix return status for parallelsConnectOpen (Nikolay Shirokovskiy),
  lxc: fix starting a domain with non-strict numa memory mode (Luyao Huang),
  lxc: fix starting a domain with a cpuset but no numatune (Luyao Huang),
  rng: Forbid to validate mismatched <disk> 'device' and 'type' attributes (Erik Skultety),
  domcaps: Check for architecture more wisely (Michal Privoznik),
  virNetSocketNewConnectUNIX: Don't unlink(NULL) (Michal Privoznik),
  libxl: drop virDomainObj lock when destroying a domain (Jim Fehlig),
  libxl: acquire a job when destroying a domain (Jim Fehlig),
  virCondWaitUntil: calculate timespec correctly (Michael Chapman),
  qemu: bulk stats: Ignore errors from missing/inaccessible disks (Peter Krempa),
  Strip control codes in virBufferEscapeString (Ján Tomko),
  Ignore storage volumes with control codes in their names (Ján Tomko),
  Strip control characters from sysfs attributes (Ján Tomko),
  tests: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  virsh: fix regression in 'virsh event' by domain (Eric Blake),
  qemu: monitor: Fix qemuMonitorGetAllBlockStatsInfo with HMP (Peter Krempa),
  qemu: monitor: Ensure that qemuMonitorSetLink is called with non-null name (Peter Krempa),
  virNetSocketNewConnectUNIX: Use flocks when spawning a daemon (Michal Privoznik),
  sanlock: Use VIR_ERR_RESOURCE_BUSY if sanlock_acquire fails (Jiri Denemark),
  hostdev: fix loop index error when resetvfnetconfig (Huanle Han),
  qemu: fix index error when clean up vport profile (Huanle Han),
  virt-aa-helper: add unix channels (esp for qemu-guest-agent) (Serge Hallyn),
  qemu: save domain status after set memory parameters (Shanzhi Yu),
  virsh: improve the error for wrong memtune parameters (Shanzhi Yu),
  qemu: drivePivot: Fix assumption when 'block-job-complete' fails (Peter Krempa),
  qemu: Fix condition for checking vcpu when pinning vcpus (Peter Krempa),
  qemu: Enforce WWN to be unique among VM's disks (Peter Krempa),
  virBitmap: Place virBitmapIsAllClear check after virBitmapParse calls (Erik Skultety),
  Fix usb device version parsing issues (Ján Tomko),
  Support IPv6 in networkGetNetworkAddress (Ján Tomko),
  util: Update virNetDevGetIPAddress to get IPv6 addresses (Luyao Huang),
  parallels: fix virDomainDefineXML for domain in saved state (Dmitry Guryanov),
  conf: fix virDomainDefFormatInternal for parallels (Dmitry Guryanov),
  conf: fix virDomainDefParseXML for parallels (Dmitry Guryanov),
  storage: Don't duplicate efforts of backend driver (John Ferlan),
  storage: Need to update freeExtent at delete primary partition (John Ferlan),
  storage: Fix issues in storageVolResize (John Ferlan),
  Open /proc/PID/ns/* read-only to avoid getting permission denied (Cédric Bosdonnat),
  lxc: create the required directories upon driver start (Lubomir Rintel),
  util: file: Don't carelessly sanitize URIs (Peter Krempa),
  fix memleak in qemuRestoreCgroupState (Luyao Huang),
  qemuProcessHook: Call virNuma*() only when needed (Michal Privoznik),
  parallels: delete old networks in prlsdkDoApplyConfig before adding new ones (Maxim Nestratov),
  util: fix removal of callbacks in virCloseCallbacksRun (Michael Chapman),
  qemu: fix race between disk mirror fail and cancel (Michael Chapman),
  qemu: fix error propagation in qemuMigrationBegin (Michael Chapman),
  qemu: fix crash in qemuProcessAutoDestroy (Michael Chapman),
  virQEMUDriverGetConfig: Fix memleak (Michal Privoznik),
  virDomainVirtioSerialAddrSetFree: Fix memleak (Michal Privoznik),
  qemuSetupCgroupForVcpu: Fix memleak (Michal Privoznik),
  libvirt: virsh: Kill all uses of __FUNCTION__ in error messages (Noella Ashu),
  virsh: Fix domifaddr output in quiet mode (Luyao Huang),
  libxl: fix dom0 balloon logic (Jim Fehlig),
  hostdev: Fix index error in loop after remove an element (Huanle Han),
  Fix xlconfigtest with older libxl (Ján Tomko),
  iscsi: Fix exit path for virStorageBackendISCSIFindLUs failure (John Ferlan),
  qemuDomainBlockCopy: Check @granularity to be a power of two (Luyao Huang),
  nodeinfodata: Remove broken symlinks and uneeded files (Michal Privoznik),
  qemu: lifecycle: make agent-mode shutdown and reboot timeout (zhang bo)
- Improvements:
  main: add new generated files to .gitignore (Pavel Hrdina),
  libxl: provide integration with lock manager (Jim Fehlig),
  domain: conf: Drop unused OSTYPE_AIX (Cole Robinson),
  qemu: migration: use sync block job helpers (Michael Chapman),
  qemuDomainBlockJobAbort: use sync block job helpers (Michael Chapman),
  qemuProcessStop: wake up pending sync block jobs (Michael Chapman),
  qemuBlockJobSync*: introduce sync block job helpers (Michael Chapman),
  qemuBlockJobEventProcess: move to new source file (Michael Chapman),
  qemu: Validate available slot count for memory devices (Peter Krempa),
  qemu: command: Validate that memory devices slot ID is in range (Peter Krempa),
  parallels: implement domainDetachDevice and domainDetachDeviceFlags (Maxim Nestratov),
  parallels: add prlsdkDelDisk and prlsdkGetDiskIndex functions (Maxim Nestratov),
  qemu: make qemuMonitorChardevInfoFree non-static (Zhang Bo),
  storage: Break out storageDriverLoadPoolState (Cole Robinson),
  qemu: Remove need for qemuMonitorIOThreadInfoFree (John Ferlan),
  qemu: Remove need for qemuDomainParseIOThreadAlias (John Ferlan),
  conf: explicitly initialize 'cpumask' variable (Roman Bogorodskiy),
  virsh: Add iothreadadd and iothreaddel commands (John Ferlan),
  qemu: Add support to Add/Delete IOThreads (John Ferlan),
  domain: Introduce virDomainIOThreadSchedDelId (John Ferlan),
  remote: Add support for AddIOThread and DelIOThread (John Ferlan),
  conf: Adjust the iothreadsched expectations (John Ferlan),
  Move iothreadspin information into iothreadids (John Ferlan),
  conf: Move virDomainPinIsDuplicate and make static (John Ferlan),
  qemu: Use domain iothreadids to IOThread's 'thread_id' (John Ferlan),
  conf: Add new domain XML element 'iothreadids' (John Ferlan),
  openvz: Drop useless domain lookup (Michal Privoznik),
  qemu: Connect to guest agent after channel hotplug (Peter Krempa),
  qemu: agent: Differentiate errors when the agent channel was hotplugged (Peter Krempa),
  qemu: Reuse qemuDomainAgentAvailable in qemuDomainInterfaceAddresses (Peter Krempa),
  qemu: agent: Reuse virJSONValueObjectCreateVArgs in qemuAgentMakeCommand (Peter Krempa),
  libxl: remove duplicate check for pci subsystem type (Olaf Hering),
  libxl: use pci init and dispose functions (Olaf Hering),
  hostdev: fix net config restore error (Huanle Han),
  hostdev: Create virHostdevIsPCINetDevice (Huanle Han),
  qemu: Build nvram directory at driver startup (Cole Robinson),
  qemu: Build channel autosocket directory at driver startup (Cole Robinson),
  qemu: chown autoDumpPath on driver startup (Cole Robinson),
  qemu: conf: Clarify paths that are relative to libDir (Cole Robinson),
  tests: qemu: Couple aarch64 CPU tests (Cole Robinson),
  migration: Usable time statistics without requiring NTP (Jiri Denemark),
  uml: s/virDomainObjListFindByID/virDomainObjListFindByUUID/ (Michal Privoznik),
  virDomainObjList: Introduce yet another hash table (Michal Privoznik),
  virDomainObjListFindByName: Return referenced object (Michal Privoznik),
  Introduce virDomainObjEndAPI (Michal Privoznik),
  virDomainObjListNew: Use virObjectFreeHashData (Michal Privoznik),
  virDomainObjListAddLocked: s/false/NULL/ for @oldDef (Michal Privoznik),
  parallels: implement .domainGetMaxMemory (Dmitry Guryanov),
  Apparmor: allow reading block-rbd.so (Cédric Bosdonnat),
  Allow access to vendor and device file for PCI device passthrough (Cédric Bosdonnat),
  qemu: cgroup: Fix priorities when setting emulatorpin (Peter Krempa),
  tests: Add VIR_TEST_REGENERATE_OUTPUT (Cole Robinson),
  tests: Add virtTestCompareToFile (Cole Robinson),
  tests: Use *DefParseFile more (Cole Robinson),
  tests: Add VIR_TEST_DEBUG and VIR_TEST_VERBOSE (Cole Robinson),
  parallels_sdk: Utilize parallelsDomObjFromDomain() (Michal Privoznik),
  parallels_driver: Utilize parallelsDomObjFromDomain() (Michal Privoznik),
  parallels: Introduce parallelsDomObjFromDomain() (Michal Privoznik),
  struct _parallelsConn: Mark @domains as immutable pointer (Michal Privoznik),
  spec: Point fedora --with-loader-nvram at nightly firmware repo (Cole Robinson),
  configure: Report --with-loader-nvram value in summary (Cole Robinson),
  locking: relax PID requirement (Jim Fehlig),
  util: storage: Improve error message when requesting image above 'start' (Peter Krempa),
  util: storage: Add hint to error message that indexed access was used (Peter Krempa),
  util: command: Deduplicate code in virCommandNewArgList (Peter Krempa),
  qemu: migration: Refactor hostdev validation in migration check (Peter Krempa),
  processNicRxFilterChangedEvent: Take appropriate actions for NET_TYPE_NETWORK too (Michal Privoznik),
  virDomainActualNetDefContentsFormat: Format class_id only for status XML (Michal Privoznik),
  scsi: Change return values for virStorageBackendSCSIFindLUs (John Ferlan),
  scsi: Adjust return value for virStorageBackendSCSINewLun (John Ferlan),
  storage: Split out the stable path check (John Ferlan),
  xend: Remove a couple of unused function prototypes. (Richard W.M. Jones),
  domain: conf: Drop expectedVirtTypes (Cole Robinson),
  caps: Use DomainDataLookup to replace GuestDefault* (Cole Robinson),
  domain: conf: Use CapabilitiesDomainDataLookup for caps validation (Cole Robinson),
  domain: conf: Do ostype/arch/machine parsing earlier (Cole Robinson),
  caps: Add virCapabilitiesDomainDataLookup (Cole Robinson),
  caps: Convert to use VIR_DOMAIN_VIRT internally (Cole Robinson),
  domain: Convert os.type to VIR_DOMAIN_OSTYPE enum (Cole Robinson),
  caps: Switch AddGuest to take VIR_DOMAIN_OSTYPE value (Cole Robinson),
  caps: Use an enum internally for ostype value (Cole Robinson),
  domain: conf: Don't validate VM ostype/arch at daemon startup (Cole Robinson),
  domain: conf: Better errors on bad os <type> values (Cole Robinson),
  parallels: make device addressing consistent (Nikolay Shirokovskiy),
  rng: Move sgio attr definition to a separate block (Erik Skultety),
  Apparmor: removed duplicate nscd rules (Cédric Bosdonnat),
  schema: Allow multiple machines for VMs and unite architectures (Martin Kletzander),
  qemuDomainShutdownFlags: Set fakeReboot more frequently (zhang bo),
  Introduce virNetDevBandwidthUpdateFilter (Michal Privoznik),
  virnetdevbandwidth.c: Separate tc filter creation to a function (Michal Privoznik),
  virNetDevBandwidthSet: Add priority to filter (Michal Privoznik),
  virDomainActualNetDefContentsFormat: Format class_id more frequently (Michal Privoznik),
  nwfilter: Partly initialize driver even for non-privileged users (Michal Privoznik),
  lxc: move wireless PHYs to a network namespace (Lubomir Rintel),
  libxl: Move job acquisition in libxlDomainStart to callers (Jim Fehlig),
  libxl: support HVM direct kernel boot (Jim Fehlig),
  xenconfig: don't use "kernel" for hvmloader (Jim Fehlig),
  xenconfig: move <os> parsing/formating to config-specific files (Jim Fehlig),
  xenconfig: remove redunant parsing of device_model (Jim Fehlig),
  xenconfig: export xenConfigCopyString (Jim Fehlig),
  storage: Refactor virStorageBackendSCSINewLun (John Ferlan),
  qemu: monitor: Refactor and fix monitor checking (Peter Krempa),
  daemon: Prefix sysctl configuration filename with a number (Jiri Denemark),
  RNG schema: allow plain @floor to <bandwidth/> (Michal Privoznik),
  virNetDevBandwidthPlug: Update function description (Michal Privoznik),
  Add functions dealing with control characters in strings (Ján Tomko),
  tests: rename testStripIPv6BracketsData to testStripData (Ján Tomko),
  Add an example for EVENT_ID_DEVICE_ADDED (Ján Tomko),
  Emit VIR_DOMAIN_EVENT_ID_DEVICE_ADDED in the QEMU driver (Ján Tomko),
  Cleanup "/sys/class/net" usage (Michal Privoznik),
  tests: Add virnetdevtestdata to EXTRA_DIST (Michal Privoznik),
  node: udev: Remove some redundant error reports (Peter Krempa),
  virPidFileConstructPath: Drop useless VIR_FREE() (Michal Privoznik),
  qemu: monitor: @running in qemuMonitorGetStatus is always non-NULL (Peter Krempa),
  qemu: monitor: Don't use 'ret' variable where not necessary (Peter Krempa),
  qemu: monitor: Sanitize control flow in qemuMonitorSetCapabilities (Peter Krempa),
  qemu: monitor: Clean up coding style (Peter Krempa),
  json: export non-static functions (Martin Kletzander),
  Change virConnectPtr into virObjectLocklable (Martin Kletzander),
  closeCallback is already lockable, initialize it as such (Martin Kletzander),
  configure: Align messages (Martin Kletzander),
  storage: Add duplicate devices check for zfs pool def (John Ferlan),
  storage: Add duplicate source pool for Gluster pool def (John Ferlan),
  storage: Add duplicate host check for Sheepdog pool def (John Ferlan),
  storage: Remove default from switch in virStoragePoolSourceFindDuplicate (John Ferlan),
  storage: Use virStoragePoolSourceMatchSingleHost for NETFS (John Ferlan),
  storage: Add check for different ports for host duplicate matching (John Ferlan),
  storage: Create virStoragePoolSourceMatchSingleHost (John Ferlan),
  storage: Refactor iSCSI Source matching (John Ferlan),
  Introduce virnetdevtest (Michal Privoznik),
  cfg: Disallow usage of 'index' as variable name (John Ferlan),
  nwfilter: Change 'index' to 'idx' (John Ferlan),
  snapshot: Change 'index' to 'idx' (John Ferlan),
  util: Use 'idx' instead of 'index' (John Ferlan),
  qemu: Adjust the prototype to match the function (John Ferlan),
  sparc: Add default PCI root controller (Martin Kletzander),
  qemu: Use 'idx' instead of 'index' for variable name (John Ferlan),
  qemu: Refactor qemuDomainBlockJobAbort() (Peter Krempa),
  qemu: blockPull: Refactor the rest of qemuDomainBlockJobImpl (Peter Krempa),
  qemu: blockjob: Separate qemuDomainBlockJobAbort from qemuDomainBlockJobImpl (Peter Krempa),
  qemu: blockjob: Split qemuDomainBlockJobSetSpeed from qemuDomainBlockJobImpl (Peter Krempa),
  qemu: monitor: Extract handling of JSON block job error codes (Peter Krempa),
  qemu: monitor: json: Refactor error code class checker (Peter Krempa),
  conf: Refactor virDomainVcpuPinDefParseXML (Peter Krempa),
  conf: Error out if iothread id is missing in iothreadpin (Peter Krempa),
  onf: Split up virDomainVcpuPinDefParseXML (Peter Krempa),
  conf: Split out parsing of emulatorpin (Peter Krempa),
  conf: ABI: Check WWN in disk abi stability check (Peter Krempa),
  Convert virDomainPinIsDuplicate into bool return (John Ferlan),
  Rename qemuCheckIothreads to qemuCheckIOThreads (John Ferlan),
  Rewrite vshParseCPUList (Ján Tomko),
  Rewrite vshPrintPinInfo (Ján Tomko),
  Parallels: implemented domainAttachDevice (Alexander Burluka),
  Parallels: implement domainAttachDeviceFlags (Alexander Burluka),
  Parallels: remove disk serial number check (Alexander Burluka),
  Remove overengineered loop (Ján Tomko),
  Introduce struct _virStorageBackendQemuImgInfo (Ján Tomko),
  Rename virStorageBackendCreateQemuImgCmd (Ján Tomko),
  Use XPath when parsing snapshot disk definition (Ján Tomko),
  Split out storage format 'compat' attribute sanity check (Ján Tomko),
  Remove feature formating funcs from pool-specific options (Ján Tomko),
  Rewrite usb device version parsing (Ján Tomko),
  Do xml->xml test for usb-redir-filter (Ján Tomko),
  Do not require virtio-pci devices when using virtio-mmio (Ján Tomko),
  qemuMigrationPrecreateStorage: Fix debug message (Michal Privoznik),
  qemu_migration.c: sleep first before checking for migration status. (Xing Lin),
  conf: Don't output <cpu> tag if it contains no information. (Andrea Bolognani),
  qemu: qemuDomainHotplugVcpus - separate out pin adjustment code (John Ferlan),
  AUTHORS: Add my email address to AUTHORS.in (Dmitry Guryanov),
  util: Replace virNetDevGetIPv4Address with virNetDevGetIPAddress (John Ferlan),
  parallels: add implicit input devices (Dmitry Guryanov),
  conf: add input device type for parallels containers (Dmitry Guryanov),
  conf: return proper default video type for parallels (Dmitry Guryanov),
  conf: add VIR_DOMAIN_VIDEO_TYPE_PARALLELS video type (Dmitry Guryanov),
  parallels: don't fill net adapter model for containers (Dmitry Guryanov),
  parallels: fill adapter model in virDomainNetDef (Dmitry Guryanov),
  parallels: add controllers in prlsdkLoadDomain (Dmitry Guryanov),
  parallels: report, that cdroms are readonly (Dmitry Guryanov),
  parallels: implement virDomainManagedSave (Dmitry Guryanov),
  parallels: split prlsdkDomainChangeState function (Dmitry Guryanov),
  parallels: fix headers in parallels_sdk.h (Dmitry Guryanov),
  qemu: qemuDomainHotplugVcpus - separate out the del cgroup and pin (John Ferlan),
  qemu: qemuDomainHotplugVcpus - separate out the add cgroup (John Ferlan),
  cgroup: Use virCgroupNewThread (John Ferlan),
  cgroup: Introduce virCgroupNewThread (John Ferlan),
  qemu: blockPivot: Don't pause the VM any more since we don't use drive-reopen (Peter Krempa),
  qemu: Clean up old leftovers in qemuMonitorDrivePivot (Peter Krempa),
  qemu: blockjob: Use the new helpers in qemuDomainGetBlockJobInfo (Peter Krempa),
  qemu: domain: Add helper to check block job support (Peter Krempa),
  qemu: domain: Introduce helper to retrieve domain monitor object (Peter Krempa),
  Apparmor qemu abstraction fixes for SLES (Cédric Bosdonnat),
  test: Add tests for virFileSanitizePath (Peter Krempa),
  virLXCControllerSetupResourceLimits: Call virNuma*() iff needed (Michal Privoznik),
  vbox: Implement virDomainSendKey (Dawid Zamirski),
  vbox: Register IKeyboard with the unified API. (Dawid Zamirski),
  vircgroup: Introduce virCgroupControllerAvailable (Michal Privoznik),
  qemu_driver: check caps after starting block job (Michael Chapman),
  qemu_migrate: use nested job when adding NBD to cookie (Michael Chapman),
  storage: Introduce storagePoolUpdateAllState function (Erik Skultety),
  conf: Introduce virStoragePoolLoadAllState && virStoragePoolLoadState (Erik Skultety),
  storage: Add support for storage pool state XML (Erik Skultety),
  hostdev: Report the domain name for used hostdevs during nodedev-detach (Shivaprasad G Bhat),
  virsh: Improve change-media success message (Cole Robinson),
  interface: allow multiple IPv4 addresses in interface XML (Laine Stump),
  virsh.pod: Remove redundant --config from attach-interface (Jiri Denemark),
  esx: esxNodeGetFreeMemory return info from host. (Dawid Zamirski),
  esx: add esxVI_GetInt (Dawid Zamirski),
  conf: Change virStoragePoolSaveConfig prototype s/configDir/configFile (Erik Skultety),
  conf: Introduce virStoragePoolSaveState (Erik Skultety),
  conf: Introduce virStoragePoolDefFormatBuf (Erik Skultety),
  Auto add virtio-serial controllers (Ján Tomko),
  Assign an address when hotplugging a virtio-serial device (Ján Tomko),
  Expand the address set when attaching a virtio-serial controller (Ján Tomko),
  Allocate virtio-serial addresses when starting a domain (Ján Tomko),
  Add functions to track virtio-serial addresses (Ján Tomko),
  Add test for virtio serial port assignment (Ján Tomko),
  scsi: Remove unused 'type_path' in processLU (John Ferlan),
  iscsi: Use error message from virStorageBackendSCSIFindLUs (John Ferlan),
  conf: Introduce virStoragePoolSaveXML (Erik Skultety),
  storage: Remove unused attribute conn from 'checkPool' callback (Erik Skultety),
  Fix indentation in cmdVcpuPin (Ján Tomko),
  virsh: remove stale comment (Ján Tomko),
  conf: Rename virDomainHasDiskMirror and detect block jobs properly (Shanzhi Yu),
  qemu: snapshot: Check for block jobs individually (Peter Krempa),
  Remove unnecessary includes from virsh.h (Ján Tomko),
  Remove unused includes from virsh (Ján Tomko),
  Clean up headers in src/util/virutil.h (Ján Tomko),
  Do not include cpu_map.h in libvirtd.c (Ján Tomko),
  Use the DEFAULT_DRIVER_DIR macro (Ján Tomko),
  Remove unused macros (Ján Tomko),
  qemu: Copy bitmap in a sane way (Peter Krempa),
  qemu: cgroup: Kill qemuSetupCgroupVcpuPin() (Peter Krempa),
  qemu: cgroup: Kill qemuSetupCgroupIOThreadsPin() (Peter Krempa),
  qemu: cgroup: Rename qemuSetupCgroupEmulatorPin to qemuSetupCgroupCpusetCpus (Peter Krempa),
  qemu: cgroup: Use priv->autoCpuset instead of using qemuPrepareCpumap() (Peter Krempa),
  qemu: cgroup: Properly set up vcpu pinning (Peter Krempa),
  qemu: cgroup: Refactor setup for IOThread cgroups (Peter Krempa),
  qemu: cgroup: Store auto cpuset instead of re-creating it on demand (Peter Krempa)

### 1.2.14: Apr 02 2015

- Features:
  qemu: Implement memory device hotplug (Peter Krempa),
  Implement public API for virDomainPinIOThread (John Ferlan),
  Implement public API for virDomainGetIOThreadsInfo (John Ferlan),
  SRIOV NIC offload feature discovery (James Chapman)
- Documentation:
  virCgroupNewPartition: Fix comment (Michal Privoznik),
  route element must specify network address (Chen Fan),
  no 'via' attribute in route element (Chen Fan),
  Document that USB hostdevs do not need nodeDettach (Ján Tomko),
  Document behavior of compat when creating qcow2 volumes (Ján Tomko),
  Fix typo in error message (Ján Tomko),
  Fix common misspellings (Martin Kletzander),
  Fix doc for backingStore (Deepak Shetty),
  schema and docs for the midonet virtualport type (Antoni Segura Puimedon),
  add a note that spice channel is usable only with spice graphics (Pavel Hrdina),
  net-define: update or unify documentation (Pavel Hrdina),
  pool-define: update and unify documentation (Pavel Hrdina),
  iface-define: update and unify documentation (Pavel Hrdina),
  Fix syntax for vcpupin description (John Ferlan),
  virsh.pod: Add information regarding LXC for setmem, memtune, and dominfo (John Ferlan),
  add a note that attr 'managed' is only used by PCI devices (Erik Skultety)
- Portability:
  build: avoid variable named 'interface', for mingw (Eric Blake),
  vircgroup: Fix build issue mingw cross compile (John Ferlan),
  vircgroup: Fix build issue on mingw cross compile (John Ferlan),
  virnetdev: fix build with old kernel (Pavel Hrdina),
  Fix build on mingw (Ján Tomko)
- Bug Fixes:
  qemu: blockjob: Synchronously update backing chain in XML on ABORT/PIVOT (Peter Krempa),
  qemu: processBlockJob: Don't unlock @vm twice (Peter Krempa),
  qemu: blockCopy: Pass adjusted bandwidth when called via blockRebase (Peter Krempa),
  virsh: blockCopy: Add missing jump on error path (Luyao Huang),
  qemuDomainGetNumaParameters: Check for the correct CGroup controller (Michal Privoznik),
  virCgroupController: Check the enum fits into 'int' (Michal Privoznik),
  virnetlink: fix build error (Pavel Hrdina),
  qemu: end the job when try to blockcopy to non-file destination (Shanzhi Yu),
  relaxng: allow : in /dev/disk/by-path names (Eric Blake),
  libxl: Fix memory leak if pthread_create fails. (Konrad Rzeszutek Wilk),
  util: use netlink to delete bridge devices (Laine Stump),
  qemu: command: Fix property name for start address of a pc-dimm module (Luyao Huang),
  qemu: command: Check for empty network source when formatting drive cmd (Peter Krempa),
  qemu: command: Report error when formatting network source with protocol _NONE (Peter Krempa),
  build: fix race when creating the cpu_map.xml symlink (Amy Fong),
  Don't validata filesystem target type (Guido Günther),
  rpc: Don't unref identity object while callbacks still can be executed (Peter Krempa),
  util: identity: Harden virIdentitySetCurrent() (Peter Krempa),
  qemu: domain: Don't leak device alias list (Peter Krempa),
  rpc: serverclient: Clear pointer with NULL instead of 0 (Peter Krempa),
  qemu: fix set vcpus on host without NUMA (Pavel Hrdina),
  qemu: monitor: Don't leak @props with non-JSON in qemuMonitorAddObject (Peter Krempa),
  qemu: Don't return memory device config on error in qemuBuildMemoryBackendStr (Peter Krempa),
  Fix underlinking of libvirt_driver_interface.so (Natanael Copa),
  networkStateInitialize: Don't lock network driver (Michal Privoznik),
  qemu: Migrate memory on numatune change (Martin Kletzander),
  parallels: fix libvirt crash if parallelsNetworkOpen fails (Maxim Nestratov),
  qemu: do not overwrite the error in qemuDomainObjExitMonitor (Luyao Huang),
  libxl: Don't overwrite errors from xenconfig (Jim Fehlig),
  qemu: Fix two issues in qemuDomainSetVcpus error handling (John Ferlan),
  qemu: track 'cancelling' migration state (Eric Blake),
  parallels: don't prevent domain define if VIR_DOMAIN_NET_TYPE_BRIDGE (Maxim Nestratov),
  parallels: switch off offline management feature (Maxim Nestratov),
  parallels: set correct network adapter link state (Maxim Nestratov),
  parallels: fix parallelsLoadNetworks (Maxim Nestratov),
  network: Resolve Coverity FORWARD_NULL (John Ferlan),
  qemuGetDHCPInterfaces: Don't leak @network (Michal Privoznik),
  cmdDomIfAddr: Free @ip_addr_str (Michal Privoznik),
  qemu: read backing chain names from qemu (Eric Blake),
  qemu: driver: Fix cold-update of removable storage devices (Peter Krempa),
  parallels: fix home directory for VMs (Maxim Nestratov),
  parallels: don't forget to unlock domain if unregister fails (Maxim Nestratov),
  parallels: set cpu mode when applying xml configuration (Mikhail Feoktistov),
  conf: Use correct type for balloon stats period (Martin Kletzander),
  qemu: Don't duplicate errors when settings stats period (Martin Kletzander),
  libxl: fix regression introduced by commit 4ab8cd77 (Jim Fehlig),
  qemu: block-commit: Mark disk in block jobs only on successful command (Peter Krempa),
  daemon: avoid memleak when ListAll returns nothing (Eric Blake),
  qemu: Fix possible memory leak in qemuDomainPinVcpuFlags (John Ferlan),
  qemu: Disallow concurrent block jobs on a single disk (Peter Krempa),
  qemu: event: Don't fiddle with disk backing trees without a job (Peter Krempa),
  qemu: Check for negative port values in network drive configuration (Erik Skultety),
  network: avoid memory leak of dnsmasq capabilities (Eric Blake),
  virsh: fix report of non-active commit completion (Eric Blake),
  util: don't fail if no PortData is found while getting migrateData (zhang bo),
  libxl: prevent attaching multiple netdevs with the same MAC (Marek Marczykowski-Górecki),
  parallels: fix prlsdkCheckUnsupportedParams checks (Maxim Nestratov),
  Error out on an address for isa-serial in QEMU driver. (Ján Tomko),
  xenapi: Resolve Coverity REVERSE_INULL (John Ferlan),
  xenapi: Resolve Coverity REVERSE_INULL (John Ferlan),
  xenapi: Resolve Coverity NULL_RETURNS (John Ferlan),
  xenapi: Resolve Coverity NO_EFFECT (John Ferlan),
  xenapi: Resolve Coverity FORWARD_NULL (John Ferlan),
  conf: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  parallels: prevent domain define only if vcpupin is specified (Maxim Nestratov),
  parallels: prevent domain define only if NUMA is really specified (Maxim Nestratov),
  parallels: don't forget to unlock domain in parallelsDomainHasManagedSaveImage (Maxim Nestratov),
  domain_conf: fix crash in virDomainObjListFindByUUIDInternal (Michael Chapman),
  {domain, network}_conf: disable autostart when deleting config (Michael Chapman),
  virQEMUCapsInitQMP: Don't dispose locked @vm (Michal Privoznik),
  qemu: fix memory leak in qemuAgentGetFSInfo (Chen Fan),
  qemu: don't fill in nicindexes for session mode libvirtd (Laine Stump),
  virnet*: Don't unlock object in dispose (Michal Privoznik),
  sanlock: Don't spam logs with "target pid not found" (Jiri Denemark),
  qemu: Resolve Coverity CHECKED_RETURN issue (John Ferlan),
  conf: Remove duplicate entries in <metadata> by namespace (Peter Krempa),
  qemu: Allow spaces in disk serial (Michal Privoznik),
  parallels: Cleanup partly opened drivers on connect open failure (Michal Privoznik),
  qemu: snapshot: Don't skip check for qcow2 format with network disks (Shanzhi Yu),
  testNetworkUpdate: Unlock network at the end (Michal Privoznik),
  qemuProcessReconnect: Fill in pid file path (Michal Privoznik),
  qemu: check defaultMode for spice graphics independently (Pavel Hrdina),
  schema: Fix interface link state schema (Peter Krempa),
  qemu: Don't crash in qemuDomainOpenChannel() (Martin Kletzander),
  disk: Provide a default storage source format type. (John Ferlan),
  disk: Disallow duplicated target 'dev' values (John Ferlan),
  phyp: Fix error messages mentioning memory (Peter Krempa),
  storage: sheepdog: Avoid skipping variable initialization (Peter Krempa),
  Check if domain is running in qemuDomainAgentIsAvailable (Ján Tomko),
  Revert "Restore skipping of setting capacity" (Ján Tomko)
- Improvements:
  tests: nodeinfo: Add test for RHELSA on APM mustang (Cole Robinson),
  tests: nodeinfo: Test F21 aarch64 on APM mustang (Cole Robinson),
  qemu: Extract internals of processBlockJobEvent into a helper (Peter Krempa),
  virCgroupNew: Enhance debug message (Michal Privoznik),
  tests: introduce qemucaps2xmlmock (Pavel Hrdina),
  nodeinfo: Increase the num of CPU thread siblings to a larger value (Wei Huang),
  util: use netlink to create bridge devices (Laine Stump),
  util: replace body of virNetDevMacVLanDelete() with virNetlinkDelLink() (Laine Stump),
  util: netlink function to delete any network device (Laine Stump),
  maint: update to latest gnulib (Eric Blake),
  Rename DomainGetIOThreadsInfo to DomainGetIOThreadInfo (Ján Tomko),
  Rename qemuMonitorIOThreadsInfo* to qemuMonitorIOThreadInfo* (Ján Tomko),
  Rename virDomainIOThreadsInfoFree to virDomainIOThreadInfoFree (Ján Tomko),
  virsh: rename iothreadsinfo to iothreadinfo (Ján Tomko),
  qemu: Give hint about -noTSX CPU model (Jiri Denemark),
  cpu: Add {Haswell,Broadwell}-noTSX CPU models (Jiri Denemark),
  tests: qemuxml2xml: Test status XML formatting and parsing (Peter Krempa),
  util: buffer: Add support for adding text blocks with indentation (Peter Krempa),
  daemon: Clear fake domain def object that is used to check ACL prior to use (Peter Krempa),
  tests: qemuxml2xml: Refactor the qemuxml2xml test (Peter Krempa),
  qemu: Report better error when memory device source has wrong NUMA node (Luyao Huang),
  util: NUMA: Change error code in virNumaNodesetIsAvailable() (Peter Krempa),
  conf: Add missing apostrophe to error message (Luyao Huang),
  Makefile: fix typo (Pavel Hrdina),
  qemu: Add timing to domain jobs (Jiri Denemark),
  qemu: Track the API which started the current job (Jiri Denemark),
  Set thread job for every RPC call (Jiri Denemark),
  virThreadPool: Set thread worker name (Jiri Denemark),
  virThread: Set thread job (Jiri Denemark),
  Force usage of virThreadCreate (Jiri Denemark),
  Add support for tracking thread jobs (Jiri Denemark),
  POTFILES.in: Sort (Jiri Denemark),
  libxl: remove per-domain libxl_ctx (Jim Fehlig),
  libxl: make libxlDomainFreeMem static (Jim Fehlig),
  libxl: remove unnecessary libxlDomainEventsRegister (Jim Fehlig),
  libxl: use global libxl_ctx in event handler (Jim Fehlig),
  libxl: move event registration to driver initialization (Jim Fehlig),
  libxl: Move setup of child processing code to driver initialization (Jim Fehlig),
  libxl: use driver-wide ctx in fd and timer event handling (Jim Fehlig),
  qemu: cleanup setvcpus (Pavel Hrdina),
  qemu: move virDomainLiveConfigHelperMethod right after BeginJob (Pavel Hrdina),
  qemu: change accidental VIR_WARNING back to VIR_DEBUG (Laine Stump),
  qemucaps2xmltest: fix the test to correspond to new domain formatting (Pavel Hrdina),
  conf: fix parsing of NUMA settings in VM status XML (Luyao Huang),
  qemu: Implement memory device hotunplug (Peter Krempa),
  qemu: conf: Add support for memory device cold(un)plug (Peter Krempa),
  qemu: add support for memory devices (Peter Krempa),
  qemu: migration: Forbid migration with memory modules lacking info (Peter Krempa),
  qemu: memdev: Add infrastructure to load memory device information (Peter Krempa),
  conf: Add interface to parse and format memory device information (Peter Krempa),
  conf: Add device address type for dimm devices (Peter Krempa),
  qemu: Implement setup of memory hotplug parameters (Peter Krempa),
  conf: Add support for parsing and formatting max memory and slot count (Peter Krempa),
  libxl: Refactor logic in domain post parse callback (Peter Krempa),
  qemu: Set default SCSI controller model for S390 arch (Boris Fiuczynski),
  qemu: skip precreation of network disks (Michael Chapman),
  network_conf: Drop virNetworkObjIsDuplicate (Michal Privoznik),
  objecteventtest: Check for virNetwork* return values (Michal Privoznik),
  cgroup: Add accessors for cpuset.memory_migrate (Martin Kletzander),
  maint: update .mailmap for recent contributions (Eric Blake),
  libxl: use xenlight pkgconfig file if present (Jim Fehlig),
  util: more verbose error when failing to create macvtap device (Laine Stump),
  util: clean up #includes of virnetdevopenvswitch.h (Laine Stump),
  util: vhost user: support for bootindex (zhang bo),
  parallels: make E1000 network adapter model default (Maxim Nestratov),
  parallels: better bridge network interface support (Maxim Nestratov),
  parallels: introduce and use string constants for network types and names (Maxim Nestratov),
  maint: Distribute tests/vircgroupdata (Jiri Denemark),
  Use PAUSED state for domains that are starting up (Jiri Denemark),
  tests: Add tests for virCgroupDetectMounts (Jiri Denemark),
  qemuAgentGetInterfaces: Don't error out on missing HW address (Michal Privoznik),
  virsh: Adapt to new HW address scenario (Michal Privoznik),
  RPC: Allow HW address in remote_domain_interface struct to be NULL (Michal Privoznik),
  network: Add midonet virtual port type support to qemu (Antoni Segura Puimedon),
  util: functions to support binding/unbinding midonet virtualports (Antoni Segura Puimedon),
  conf: disk: Simplify checking if source definition was parsed (Peter Krempa),
  util: storage: Fix check for empty storage device (Peter Krempa),
  qemu: hotplug: Use checker function to check if disk is empty (Peter Krempa),
  virsh: domain: Fix the change-media command (Peter Krempa),
  virsh: domain: Add --print-xml flag for command change-media (Peter Krempa),
  virsh: domain: Don't use vshPrepareDiskXML for creating XML to detach disk (Peter Krempa),
  parallels_sdk.c: minor cleanup (Maxim Nestratov),
  domifaddr: Add virsh support (Nehal J Wani),
  domifaddr: Implement the API for qemu (Nehal J Wani),
  domifaddr: Implement the remote protocol (Nehal J Wani),
  domifaddr: Implement the public APIs (Nehal J Wani),
  conf: Reorder elements inside memballoon (Martin Kletzander),
  util: Make sure the comment about virBufferAddBuffer is true (Martin Kletzander),
  wireshark: fix VPATH build (Pavel Hrdina),
  qemu_command: Fix some indentation and a typo (Luyao Huang),
  rpm-build: use pkg-config to detect wireshark presence (Pavel Hrdina),
  Remove virDomainIOThreadsPinDel (John Ferlan),
  Replace virDomainVcpuPinDel with virDomainPinDel (John Ferlan),
  Replace virDomainIOThreadsPinAdd with virDomainPinAdd (John Ferlan),
  Replace virDomainVcpuPinAdd with virDomainPinAdd (John Ferlan),
  Convert virDomainVcpuPinFindByVcpu into virDomainPinFindByVcpu (John Ferlan),
  Convert virDomainVcpuPinIsDuplicate into virDomainPinIsDuplicate (John Ferlan),
  Convert virDomainVcpuPinDefCopy into virDomainPinDefCopy (John Ferlan),
  Convert virDomainVcpuPinDefArrayFree to virDomainPinDefArrayFree (John Ferlan),
  Convert virDomainVcpuPinDefFree to virDomainPinDefFree (John Ferlan),
  Convert virDomainPinDefPtr->vcpuid to virDomainPinDefPtr->id (John Ferlan),
  Convert virDomainVcpuPinDefPtr to virDomainPinDefPtr (John Ferlan),
  conf: Make specifying <memory> optional (Peter Krempa),
  conf: Automatically use NUMA memory size in case NUMA is enabled (Peter Krempa),
  qemu: command: Add helper to align memory sizes (Peter Krempa),
  conf: Replace access to def->mem.max_balloon with accessor functions (Peter Krempa),
  qemu: process: Export qemuProcessFindDomainDiskByAlias (Peter Krempa),
  AUTHORS: add myself to commiters list (Erik Skultety),
  netdev: silence valgrind warning about ioctl use (Eric Blake),
  conf: add virDomainHasNet (Marek Marczykowski-Górecki),
  tests: xenconfig: test for multiple USB devices and other HVM options (Marek Marczykowski-Górecki),
  xenconfig: add support for multiple USB devices syntax (Marek Marczykowski-Górecki),
  libxl: add tablet/mouse input device support (Marek Marczykowski),
  bridge_driver: Use more of networkObjFromNetwork (Michal Privoznik),
  parallels_network: Drop parallelsDriverLock() from everywhere. (Michal Privoznik),
  test_driver: Drop testDriverLock() from almost everywhere (Michal Privoznik),
  bridge_driver: Drop networkDriverLock() from almost everywhere (Michal Privoznik),
  struct _virNetworkDriverState: Annotate items (Michal Privoznik),
  network_driver: Use accessor for dnsmasqCaps (Michal Privoznik),
  bridge_driver: Don't access global driver randomly (Michal Privoznik),
  Introduce virBitmapIsBitSet (Ján Tomko),
  Clarify the meaning of version in redirdev filters (Ján Tomko),
  vmx: add e1000e to supported NIC models. (Dawid Zamirski),
  vbox: use user cache dir when screenshotting. (Dawid Zamirski),
  parallels: add VIR_ARCH_I686 capability to parallels driver (Maxim Nestratov),
  virsh: Add iothreadpin command (John Ferlan),
  qemu: Add support to pin IOThreads to specific CPU (John Ferlan),
  domain: Introduce virDomainIOThreadsPin{Add|Del} (John Ferlan),
  remote: Implement the plumbing for virDomainPinIOThread (John Ferlan),
  virNetworkObjFindBy*: Return an reference to found object (Michal Privoznik),
  virNetworkObjListPtr: Make APIs self-locking (Michal Privoznik),
  network_conf: Introduce locked versions of lookup functions (Michal Privoznik),
  virNetworkObjList: Derive from virObjectLockableClass (Michal Privoznik),
  parallels_network: Use virNetworkObjEndAPI (Michal Privoznik),
  test_driver: Use virNetworkObjEndAPI (Michal Privoznik),
  bridge_driver: Use virNetworkObjEndAPI (Michal Privoznik),
  network_conf: Introduce virNetworkObjEndAPI (Michal Privoznik),
  network_conf: Make virNetworkObj actually virObject (Michal Privoznik),
  virNetworkObjListPtr: Turn list into a hash table (Michal Privoznik),
  qemu: monitor: Kill qemuMonitorGetBlockStats(Info,ParamsNumber) (Peter Krempa),
  test: qemu: json: Avoid using the now obsolete functions (Peter Krempa),
  qemu: blockstats: Refactor qemuDomainBlockStatsFlags (Peter Krempa),
  qemu: blockstats: Add support for totalled block statistics (Peter Krempa),
  qemu: Split out working code qemuDomainBlockStats (Peter Krempa),
  qemu: monitor: Count block stats fields in qemuMonitorGetAllBlockStatsInfo (Peter Krempa),
  qemu: monitor: Convert common code to a macro (Peter Krempa),
  qemu: monitor: Implement HMP version for listing all block device stats (Peter Krempa),
  test: qemu: Fix qemu monitor test utils to allow testing HMP (Peter Krempa),
  qemu: blockstats: Switch to caller allocated hash table (Peter Krempa),
  qemu: monitor: Drop parsing of 'errs' from block info (Peter Krempa),
  qemu: Use macro to set block stats typed parameters (Peter Krempa),
  RNG: Allow multiple parameters to be passed to an interface filter (Michal Privoznik),
  parallels: cpumask support (Maxim Nestratov),
  qemu: Remove unnecessary virReportError on networkGetNetworkAddress return (Luyao Huang),
  Reverse the logic in virbitmaptest (Ján Tomko),
  Use virBitmapNextClearBit in networkNextClassID (Ján Tomko),
  network_conf: Turn struct _virNetworkObjList private (Michal Privoznik),
  network_conf: Turn virNetworkObjList into virObject (Michal Privoznik),
  parallels_network: Adapt to new virNetworkObjList accessors (Michal Privoznik),
  test_driver: Adapt to new virNetworkObjList accessors (Michal Privoznik),
  bridge_driver: Adapt to new virNetworkObjList accessors (Michal Privoznik),
  network_conf: Introduce virNetworkObjListPrune (Michal Privoznik),
  network_conf: Introduce virNetworkObjListNumOfNetworks (Michal Privoznik),
  network_conf: Introduce virNetworkObjListGetNames (Michal Privoznik),
  network_conf: Introduce virNetworkObjListForEach (Michal Privoznik),
  locking: Fix flags in virLockManagerLockDaemonNew (Jiri Denemark),
  tests: fix qemuxml2argvtest to be arch independent (Pavel Hrdina),
  qemu: Change qemuDomainGetEmulatorPinInfo bitmap manipulation (John Ferlan),
  qemu: Change qemuDomainGetVcpuPinInfo bitmap manipulation (John Ferlan),
  qemu: Change/Fix IOThread CPU affinity bitmap manipulation (John Ferlan),
  Remove ReadOnly check for GetIOThreadsInfo (John Ferlan),
  tests: Add test for os interleaving (Martin Kletzander),
  tests: Add test for virtio-mmio address type (Martin Kletzander),
  domain_conf: Format <pvpanic/> without address correctly (Michal Privoznik),
  Refresh translations from Zanata (Daniel P. Berrange),
  virsh: Add 'iothreadsinfo' command (John Ferlan),
  qemu: Implement the qemu driver fetch for IOThreads (John Ferlan),
  remote: Implement the remote plumbing for virDomainGetIOThreadsInfo (John Ferlan),
  memtune: change the way how we store unlimited value (Pavel Hrdina),
  virutil: introduce helper functions for memory limits (Pavel Hrdina),
  virsh: fix memtune to also accept 0 as valid value (Pavel Hrdina),
  qemu: Pass file descriptor when using TPM passthrough (Stefan Berger),
  qemu: Move TPM command line build code into own function (Stefan Berger),
  utils: Implement virCommandPassFDGetFDIndex (Stefan Berger),
  libxl: remove unneeded cleanup_unlock label (Jim Fehlig),
  libxl: use libxl_ctx passed to libxlConsoleCallback (Jim Fehlig),
  libxl: remove redundant calls to libxl_evdisable_domain_death (Jim Fehlig),
  spec: Enable RBD storage driver in RHEL-7 (Peter Krempa),
  storage: tweak condition to properly test lseek (Erik Skultety),
  virsh: tweak domif-getlink link state reporting message (Erik Skultety),
  qemu: Allow inactive domains in qemuDomainGetControlInfo() (Peter Krempa),
  qemu: Properly report error state in qemuDomainGetControlInfo() (Peter Krempa),
  conf: s/virNetworkFindByName/virNetworkObjFindByName/ (Michal Privoznik),
  conf: s/virNetworkFindByUUID/virNetworkObjFindByUUID/ (Michal Privoznik),
  bridge_driver: s/virNetworkObjList/virNetworkObjListPtr/ (Michal Privoznik),
  parallels: s/virNetworkObjList/virNetworkObjListPtr/ (Michal Privoznik),
  test_driver: s/virNetworkObjList/virNetworkObjListPtr/ (Michal Privoznik),
  virNetworkObjListExport: Pass virNetworkObjListPtr (Michal Privoznik),
  virNetworkObjListFree: Accept NULL (Michal Privoznik),
  virNetworkObjIsDuplicate: s/@doms/@nets/ (Michal Privoznik),
  networkGetNetworkAddress: Drop empty 'error' label (Michal Privoznik),
  bridge_driver: Don't check network active unlocked (Michal Privoznik),
  networkLookupByUUID: Improve error message (Michal Privoznik),
  qemu: remove duplicated code for allocating spice ports (Pavel Hrdina),
  tests : Add test for 'ppc64le' architecture. (Prerna Saxena),
  RNG: Add 'ppc64le' arch and newer pseries-2.* machine types (Prerna Saxena),
  conf: De-duplicate scheduling policy enums (Martin Kletzander),
  virsh.pod: Update find-storage-pool-sources[-as] man page (John Ferlan),
  iscsi: Adjust error message for findStorageSources backend (John Ferlan),
  virsh: Adjust domblklist to understand disk volume syntax (John Ferlan),
  conf: numa: Add helper to count total memory size configured in NUMA (Peter Krempa),
  qemu: Forbid setting maximum memory size with the API with NUMA enabled (Peter Krempa),
  Pass virDomainObjPtr to qemuDomainAgentAvailable (Ján Tomko),
  Check for qemu guest agent availability after getting the job (Ján Tomko),
  Allow creating volumes with a backing store but no capacity (Ján Tomko),
  Allow omitting volume capacity when backing store is specified (Ján Tomko),
  Probe for capacity in virStorageBackendUpdateVolTargetInfo (Ján Tomko),
  Allow cloning volumes with no capacity specified (Ján Tomko),
  Allow parsing volumes without specifying the capacity (Ján Tomko),
  Parse backingStore before capacity in volume XML (Ján Tomko),
  Add flags argument to virStorageVolDefParse* (Ján Tomko),
  Add --migratable support to virsh cpu-baseline (Ján Tomko),
  Trivially implement VIR_CONNECT_BASELINE_CPU_MIGRATABLE for non-x86 cpus (Ján Tomko),
  Implement VIR_CONNECT_BASELINE_CPU_MIGRATABLE in the x86 cpu driver (Ján Tomko),
  Add VIR_CONNECT_BASELINE_CPU_MIGRATABLE flag (Ján Tomko),
  Use virBufferTrim when generating boot options (Ján Tomko),
  Make -boot arg generation more readable (Ján Tomko),
  Remove code handling the QEMU_CAPS_DOMID capability (Ján Tomko),
  Remove bootloader option from QEMU (Ján Tomko)

### 1.2.13: Mar 02 2015

- Features:
  a lot of NUMA updates and improvments (Peter Krempa)
- Documentation:
  Add mist.io as libvirt-based application (Michal Privoznik),
  Fix typos in messages (Yuri Chornoivan),
  Clarify behavior or virDomainDetachDevice (Ján Tomko),
  virsh: Add missing parenthesis into man page (Martin Kletzander),
  man: moved virsh command cpu-models (Daniel Hansel),
  clarify nat range behavior (Ján Tomko),
  add page about virtlockd setup (Daniel P. Berrange),
  split out sanlock setup docs (Daniel P. Berrange),
  Fix version reference in vcpu/iothread scheduling (Martin Kletzander),
  S390: Documentation for ccw address type (Stefan Zimmermann),
  conf: fix a minor typo (Erik Skultety),
  virsh: man: Document behavior of some blkdeviotune's flags when querying (Peter Krempa)
- Portability:
  virprocess: fix MinGW build and RHEL-5 build (Pavel Hrdina),
  virutil: fix MinGW build (Pavel Hrdina),
  Make tests independant of system page size (Daniel P. Berrange)
- Bug Fixes:
  Really fix XML formatting flags in SaveImageUpdateDef (Ján Tomko),
  Ignore listen attribute of <graphics> for type network listens (Ján Tomko),
  util: storage: Fix error type in virStorageSourceParseBackingURI (Peter Krempa),
  util: storagefile: Don't crash on gluster URIs without path (Peter Krempa),
  conf: error out on invalid host id (Luyao Huang),
  qemu: fix ifindex array reported to systemd (Laine Stump),
  util: check for null ifname inside virNetDevBandwidthSet() (Laine Stump),
  network: only clear bandwidth if it has been set (Laine Stump),
  Fix error messages in virStorageFileGetMetadataFromFD (Ján Tomko),
  Assign default SCSI controller model before checking attribute validity (Ján Tomko),
  qemu: Use correct flags for ABI stability check in SaveImageUpdateDef (Michal Privoznik),
  qemu: fix memory leak while starting a guest (Pavel Hrdina),
  network_conf: Forbid commas in DNS TXT (Michal Privoznik),
  qemuMigrationDriveMirror: Listen to events (Michal Privoznik),
  qemu: Exit job on error path of qemuDomainSetVcpusFlags() (Peter Krempa),
  daemon: Fix segfault by reloading daemon right after start (Pavel Hrdina),
  qemu_cgroup: initialize mem_mask to NULL (Pavel Hrdina),
  PowerPC : Forbid NULL CPU model with 'host-model' mode. (Prerna Saxena),
  qemu: fix vm deadlock when try to use numatune in session mode (Luyao Huang),
  virsh: fix IP address in vncdisplay for listen type='network' (Luyao Huang),
  libxl: Resolve Coverity CHECKED_RETURN (John Ferlan),
  security: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  lxc: Fix container cleanup for LXCProcessStart (Luyao Huang),
  lxc: Move console checks in LXCProcessStart (Luyao Huang),
  security: Refactor virSecurityManagerGenLabel (Erik Skultety),
  security: introduce virSecurityManagerCheckAllLabel function (Erik Skultety),
  Fix a syntax error in the description text of libvirtd.conf (Zhang Bo),
  Allow shrinking of file based volumes (Daniel P. Berrange),
  qemu: do upfront check for vcpupids being null when querying pinning (Daniel P. Berrange),
  qemu: fix setting of VM CPU affinity with TCG (Daniel P. Berrange),
  libxl: disable VNC and SDL until explicitly enabled (Marek Marczykowski-Górecki),
  libxl: pass ipaddr to libxl toolstack (Marek Marczykowski-Górecki),
  domain: avoid potential memory leak in virDomainGraphicsListenSet*() (Laine Stump),
  domain: backfill listen address to parent <graphics> listen attribute (Laine Stump),
  virsh: fix IP address in domdisplay for listen type='network' (Luyao Huang),
  bhyvexml2argvmock: change int to size_t for tapfdSize (Pavel Hrdina),
  qemu: fix crash when migrateuri has no scheme (Luyao Huang),
  conf: Fix libvirtd crash and memory leak caused by virDomainVcpuPinDel() (Zhang Bo),
  conf: forbid seclabel duplicates for domain devices (Erik Skultety),
  Fix qemu job handling in SetSchedulerParameters (Ján Tomko),
  conf: disallow invalid values for video attributes (Martin Kletzander),
  Clear dynamic seclabels on LXCProcessStart failure (Cédric Bosdonnat),
  network: don't allow multiple portgroups with the same name in a network (Laine Stump),
  Error out when custom tap device path makes no sense (Ján Tomko),
  Only parse custom vhost path for virtio interfaces (Ján Tomko),
  Trivially support DomainHasManagedSaveImage (Ján Tomko),
  libxl: update dom->id in libxlDomainCreateWithFlags (Marek Marczykowski-Górecki),
  qemu: Properly report error on uuid mismatch in the migration cookie (Luyao Huang),
  lxc: fix double close handshakefds[1] (Luyao Huang),
  util: storage: Fix parsing of nbd:// URI without path (Peter Krempa),
  conf: Properly report error of unsupported input bus type (Luyao Huang),
  conf: Properly report error when an unsupported chr device name is passed (Luyao Huang),
  virnetdev: fix some issues found by coverity and mingw builds (Pavel Hrdina),
  storage: Need to clear pool prior to refreshPool during Autostart (John Ferlan),
  qemu: command: Don't combine old and modern NUMA node creation (Peter Krempa),
  xend: Don't crash in virDomainXMLDevID (Michal Privoznik),
  conf: Don't mangle vcpu placement randomly (Michal Privoznik),
  qemu: Don't unconditionally delete file in qemuOpenFileAs (John Ferlan),
  virfile: Need to check for ENOTCONN from recvfd failure (John Ferlan),
  Remove flag checking in MacVLanCreate helper stub (Ján Tomko),
  storage: Check the partition name against provided name (John Ferlan),
  storage: Fix check for partition type for disk backing volumes (John Ferlan),
  qemu: fix cannot set graphic passwd via qemuDomainSaveImageDefineXML (Luyao Huang),
  hotplug: only add a chardev to vmdef after monitor call (Ján Tomko),
  systemd: don't report an error if the guest is already terminated (Daniel P. Berrange)
- Improvements:
  conf: error out on missing dhcp host attributes (Ján Tomko),
  schema: Allow interleaving the /domain/os/type element (Peter Krempa),
  schema: Add virtio-mmio address type into RNG (Martin Kletzander),
  cpu: Format <cpu/> properly (Michal Privoznik),
  virCPUDefFormatBufFull: Use our general error handling pattern (Michal Privoznik),
  util: Introduce virBufferAddBuffer (Michal Privoznik),
  Rework s390 architecture checking (Stefan Zimmermann),
  Prevent default creation of usb controller on s390 and s390x (Stefan Zimmermann),
  po: Add config file for zanata (Daniel P. Berrange),
  libvirt-guests: Allow time sync on guests resume (Michal Privoznik),
  qemu: Fix AAVMF/OVMF #define names (Cole Robinson),
  libxl: support backend domain setting for disk and net devices (Marek Marczykowski),
  conf: support backend domain name in disk and network devices (Marek Marczykowski),
  network: allow <pf> together with <interface>lt;address> in network status (Laine Stump),
  qemu: caps: Add capability bit for the "pc-dimm" device (Peter Krempa),
  conf: Hoist validation of memory size into the post parse callback (Peter Krempa),
  conf: numa: Check ABI stability of NUMA configuration (Peter Krempa),
  conf: ABI: Hugepage backing definition is not guest ABI (Peter Krempa),
  conf: Move all NUMA configuration to virDomainNuma (Peter Krempa),
  conf: numa: Add setter/getter for NUMA node memory size (Peter Krempa),
  conf: numa: Add accessor to NUMA node's memory access mode (Peter Krempa),
  conf: numa: Add accessor for the NUMA node cpu mask (Peter Krempa),
  conf: numa: Add helper to get guest NUMA node count and refactor users (Peter Krempa),
  qemu: command: Unify retrieval of NUMA cell count in qemuBuildNumaArgStr (Peter Krempa),
  conf: numa: Don't pass double pointer to virDomainNumatuneParseXML (Peter Krempa),
  numa: conf: Tweak parameters of virDomainNumatuneSet (Peter Krempa),
  conf: numa: Always allocate the NUMA config (Peter Krempa),
  conf: Allocate domain definition with the new helper (Peter Krempa),
  conf: Separate helper for creating domain objects (Peter Krempa),
  conf: numa: Format <numatune> XML only if necessary (Peter Krempa),
  conf: numa: Refactor logic in virDomainNumatuneParseXML (Peter Krempa),
  conf: numa: Reformat virDomainNumatuneParseXML (Peter Krempa),
  conf: numa: Improve error message in case a numa node doesn't have cpus (Peter Krempa),
  conf: numa: Recalculate rather than remember total NUMA cpu count (Peter Krempa),
  conf: Move enum virMemAccess to the NUMA code and rename it (Peter Krempa),
  conf: numa: Rename virDomainNumatune to virDomainNuma (Peter Krempa),
  conf: Move NUMA cell formatter to numa_conf (Peter Krempa),
  conf: numa: Don't duplicate NUMA cell cpumask (Peter Krempa),
  conf: Refactor virDomainNumaDefCPUParseXML (Peter Krempa),
  conf: Move NUMA cell parsing code from cpu conf to numa conf (Peter Krempa),
  conf: Move numatune_conf to numa_conf (Peter Krempa),
  virsh: fix vcpupin info (Pavel Hrdina),
  virQEMUCapsCacheLookupCopy: Filter qemuCaps based on machineType (Michal Privoznik),
  virQEMUCapsCacheLookupCopy: Pass machine type (Michal Privoznik),
  virsh-edit: Make force editing usable (Martin Kletzander),
  parallels: Set the first HDD from XML as bootable (Mikhail Feoktistov),
  parallels: Use IS_CT() macro instead of STREQ("exe") (Mikhail Feoktistov),
  parallels: code aligment (Mikhail Feoktistov),
  Search for schemas and cpu_map.xml in source tree (Jiri Denemark),
  qemuProcessHandleBlockJob: Take status into account (Michal Privoznik),
  qemuProcessHandleBlockJob: Set disk->mirrorState more often (Michal Privoznik),
  PowerPC : Make 'qemu-system-ppc64' the default emulator on ppc64[le]. (Prerna Saxena),
  qemuBuildMemoryBackendStr: Report backend requirement more appropriately (Michal Privoznik),
  qemuxml2argvtest: Fake response from numad (Michal Privoznik),
  numatune_conf: Expose virDomainNumatuneNodeSpecified (Michal Privoznik),
  lxc: Modify/add some debug messages (John Ferlan),
  Wire up mrg_rxbuf option for qemu (Ján Tomko),
  Add mrg_rxbuf option to virtio interfaces (Ján Tomko),
  virsh attach-interface: Allow macvtap hotplug (Michal Privoznik),
  virsh attach-interface: Use virDomainNetType{From,To}String() (Michal Privoznik),
  virsh attach-interface: Use enum instead of arbitrary integers (Michal Privoznik),
  libvirt_private.syms: Expose virDomainNetTypeFromString (Michal Privoznik),
  qemu: Add support for setting vCPU and I/O thread scheduler setting (Martin Kletzander),
  docs, schema, conf: Add support for setting scheduler parameters of guest threads (Martin Kletzander),
  util: Add virProcessSetScheduler() function for scheduler settings (Martin Kletzander),
  domain: include portgroup in interface status xml (Laine Stump),
  qemu: qemuOpenFileAs - set flag VIR_FILE_OPEN_FORCE_MODE (John Ferlan),
  virfile: Adjust error path for virFileOpenForked (John Ferlan),
  schema: allow multiple seclabel for devices in domaincommon.rng (Erik Skultety),
  qemu: Implement random number generator hotunplug (Luyao Huang),
  qemu: Implement random number generator hotplug (Luyao Huang),
  qemu: Implement random number generator cold (un)plug (Peter Krempa),
  conf: Add helpers to insert/remove/find RNG devices in domain def (Luyao Huang),
  audit: export virDomainAuditRNG (Luyao Huang),
  qemu: command: Refactor creation of RNG device commandline (Peter Krempa),
  qemu: command: Break some very long lines in qemuBuildRNGDevStr() (Peter Krempa),
  qemu: command: Shuffle around formatting of alias for RNG device backend (Peter Krempa),
  qemu: command: Make RNG backend device IDs unique (Luyao Huang),
  qemu: refactor qemuBuildRNGDeviceArgs to allow reuse in RNG hotplug (Luyao Huang),
  qemu: Add helper to assign RNG device aliases (Luyao Huang),
  conf: Introduce helper to find duplicate device address (Peter Krempa),
  S390: ccw support for virsh attach-disk address parameter (Stefan Zimmermann),
  maint: improve usage of autogen's --no-git (Stefan Zimmermann),
  qemu: include libvirt & QEMU versions in QEMU log files (Daniel P. Berrange),
  nodedev: check/add for scsi_host caps for NumOfCaps and ListCaps (John Ferlan),
  nodedev: check/add for scsi_host caps for ListDevices (Shivaprasad G Bhat),
  cpu: add Freescale ppc64 CPU models (Olivia Yin),
  tests: virstoragetest: Switch backing chain test to use automatic numbering (Peter Krempa),
  virsh-volume: add support for --reflink (Chen Hanxiao),
  util: make virNetDev(Get|Set)IFFlags() static (Laine Stump),
  qemu: command: Refactor NUMA backend object formatting to use JSON objs (Peter Krempa),
  qemu: command: Switch to bytes when formatting size for memory backends (Peter Krempa),
  qemu: command: Unify values for boolean values when formating memory backends (Peter Krempa),
  qemu: command: Shuffle around formating of alias for memory backend objs (Peter Krempa),
  qemu: Extract code to setup memory backing objects (Peter Krempa),
  qemu: command: Add helper to format -object strings from JSON representation (Peter Krempa),
  util: json: add helper to iterate JSON object key=value pairs (Peter Krempa),
  util: json: Add functions to convert JSON arrays from/to virBitmaps (Peter Krempa),
  util: bitmap: Add option to allocate bitmap without reporting error (Peter Krempa),
  util: json: make value object creator universal by supporting adding (Peter Krempa),
  test: utils: Add helpers for automatic numbering of test cases (Peter Krempa),
  conf: numatune: Extract code for requesting memory nodeset from formatting (Peter Krempa),
  qemu: change macvtap device options in response to NIC_RX_FILTER_CHANGED (Tony Krowiak),
  util: Functions for getting/setting device options (Tony Krowiak),
  qemu: Adjust EndAsyncJob for qemuDomainSaveInternal error path (John Ferlan),
  schemas: Allow all generic elements and attributes for all interfaces (Michal Privoznik),
  qemu: Add AAVMF to the list of known UEFIs (Michal Privoznik),
  qemu: Allow UEFI paths to be specified at compile time (Michal Privoznik),
  Fix syntax-check (Ján Tomko),
  util: bitmap: Tolerate NULL bitmaps in virBitmapEqual (Peter Krempa),
  storage: When delete extended partition, need to refresh pool (John Ferlan),
  storage: Adjust how to refresh extended partition disk data (John Ferlan),
  storage: Attempt error recovery in virStorageBackendDiskCreateVol (John Ferlan),
  storage: Move virStorageBackendDiskDeleteVol (John Ferlan),
  libvirt.spec: remove vbox storage and network .so files (Pavel Hrdina),
  Split qemuDomainChrInsert into two parts (Ján Tomko),
  lxc: report veth device indexes to systemd (Daniel P. Berrange),
  lxc: more logging during startup paths (Daniel P. Berrange),
  lxc: delay setup of cgroup until we have the init pid (Daniel P. Berrange),
  lxc: only write XML once for lxc controller (Daniel P. Berrange),
  lxc: re-arrange startup synchronization sequence with controller (Daniel P. Berrange),
  lxc: don't build pidfile string multiple times (Daniel P. Berrange),
  qemu: report TAP device indexes to systemd (Daniel P. Berrange),
  Fix shadowed variable warning (Ján Tomko),
  storage: add a flag to clone files on btrfs (Chen Hanxiao),
  storage: introduce btrfsCloneFile() for COW copy (Chen Hanxiao),
  Removing probing of secondary drivers (Daniel P. Berrange),
  don't disable state driver when libvirtd is not built (Daniel P. Berrange),
  Remove all secondary driver private data fields (Daniel P. Berrange),
  Remove use of interfacePrivateData from udev driver (Daniel P. Berrange),
  Remove use of nodeDevicePrivateData from nodeDev driver (Daniel P. Berrange),
  Remove use of storagePrivateData/networkPrivateData from vbox (Daniel P. Berrange),
  Remove use of nwfilterPrivateData from nwfilter driver (Daniel P. Berrange),
  Remove use of secretPrivateData from secret driver (Daniel P. Berrange),
  qemu: Fix job handling in qemuDomainSetMetadata (Peter Krempa),
  qemu: Fix job type in qemuDomainGetBlockIoTune (Peter Krempa),
  qemu: Fix job handling in qemuDomainSetSchedulerParametersFlags (Peter Krempa),
  qemu: Fix job handling in qemuDomainSetMemoryParameters (Peter Krempa),
  qemu: Fix job handling in qemuDomainSetAutostart (Peter Krempa),
  qemu: Fix job handling in qemuDomainPinEmulator (Peter Krempa),
  qemu: Fix job handling in qemuDomainPinVcpuFlags (Peter Krempa)

### 1.2.12: Jan 27 2015

- Security:
  CVE-2015-0236: qemu: Check ACLs when dumping security info from snapshots (Peter Krempa),
  CVE-2015-0236: qemu: Check ACLs when dumping security info from save image (Peter Krempa)
- Documentation:
  Fix docs about python bindings package (Martin Kletzander),
  Document some -boot option limitations on UEFI (Michal Privoznik),
  virsh.pod: Update description (John Ferlan),
  Fix typo s/interpetation/interpretation/ (Claudio Bley),
  split typedef and struct definition for apibuild.py (Claudio Bley)
- Portability:
  Fix build with older gcc (Ján Tomko),
  Fix virCgroupNewMachine prototype on non-Linux (Ján Tomko),
  Conditionalize use of -Wno-suggest-attribute=format pragma (Daniel P. Berrange),
  virnetlink: fix build on non-Linux (Eric Blake),
  util: Fix fallocate stubs for mingw build (Martin Kletzander),
  avoid using deprecated udev logging functions (Daniel P. Berrange)
- Bug Fixes:
  Fix a memory leak in virCgroupGetPercpuStats (Ján Tomko),
  Use correct location for qcow1 encryption header (Ján Tomko),
  systemd: fix build without dbus (Daniel P. Berrange),
  Fix apparmor issues for tck (Mike Latimer),
  Fix apparmor issues for Xen (Mike Latimer),
  esx_vi: fix possible segfault (Pavel Hrdina),
  xenapi_driver: fix copy-paste typo (Pavel Hrdina),
  Fix virCgroupGetPercpuStats with non-continuous present CPUs (Ján Tomko),
  qemu: output error when try to hotplug unsupported console type (Luyao Huang),
  qemu: format server interface without a listen address (Ján Tomko),
  tests: fix xlconfigtest build failure (Jim Fehlig),
  qemu_conf: check for duplicate security drivers (Ján Tomko),
  Always check return value of qemuDomainObjExitMonitor (Ján Tomko),
  Fix vmdef usage after domain crash in monitor on device attach (Ján Tomko),
  Fix vmdef usage after domain crash in monitor on device detach (Ján Tomko),
  libxl: Set path to console on domain startup. (Anthony PERARD),
  Coverity fix: properly check for 0 ipv6 address. (Cédric Bosdonnat),
  network: Resolve Coverity FORWARD_NULL (John Ferlan),
  qemu: Tweak auto adding PCI bridge controller when extending default PCI bus (Erik Skultety),
  domain_conf: Check errors from virSocketAddrFormat (John Ferlan),
  domain_conf: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  Fix ipv6 regex in RNG schemas to match '::' (Cédric Bosdonnat),
  virNetworkDefUpdateIPDHCPHost: Don't crash when updating network (Michal Privoznik),
  qemu: free priv->origname when qemuMigrationPrepareAny fails (Luyao Huang),
  Fix vmdef usage while in monitor in qemu process (Ján Tomko),
  Fix vmdef usage while in monitor in BlockStat* APIs (Ján Tomko),
  Fix vmdef usage while in monitor in qemuDomainHotplugVcpus (Ján Tomko),
  qemu_driver: fix setting vcpus for offline domain (Pavel Hrdina),
  qemu: snapshot: inactive external snapshot can't work after libvirtd restart (Shanzhi Yu),
  qemu: forbid second blockcommit during active commit (Eric Blake),
  parallels: don't override error message when XML parsing fails (Daniel P. Berrange),
  Don't use VIR_DOMAIN_XML_SECURE when parsing XML (Daniel P. Berrange),
  conf: fix crash when hotplug a channel chr device with no target (Luyao Huang),
  qemuxml2argvtest: Fix test after change of qxl vgamem_mb default (Michal Privoznik),
  cpu: Bugfix for s390 CPU driver to return a host CPU model (Daniel Hansel),
  virconf: Resolve a possible memory leak in virConfSetValue (John Ferlan),
  openvz: Resolve Coverity RESOURCE_LEAK (John Ferlan),
  lxc: Don't crash on NULL ifname_guest_actual (Guido Günther),
  conf: Correctly format controller's driver (Luyao Huang),
  vmx: Fix a VMX parsing problem (Geoff Hickey),
  qemu: Fix system pages handling in <memoryBacking/> (Michal Privoznik),
  qemu: Don't unref domain after exit from nested async job (Peter Krempa),
  conf: Don't format actual network definition in migratable XML (Luyao Huang),
  qemu: Restore old bandwidth rules when setting new fails (Luyao Huang),
  Fix error when starting a container after an error (Cédric Bosdonnat),
  qemu: Fix coverity issues after refcount refactoring (Martin Kletzander),
  util: Fix possible NULL dereference (Martin Kletzander),
  disable vCPU pinning with TCG mode (Daniel P. Berrange),
  Don't setup fake CPU pids for old QEMU (Daniel P. Berrange),
  Fix hotplugging of block device-backed usb disks (Ján Tomko),
  Buffer size too small when reading sysinfo (Boris Fiuczynski),
  qemu: fix memory leak in blockinfo (Eric Blake),
  conf: fix cannot start a guest have a shareable network iscsi hostdev (Luyao Huang),
  qemu: fix bugs in blockstats (Eric Blake),
  qemu: Free saved error in qemuDomainSetVcpusFlags (Martin Kletzander),
  qemu: Add missing goto error in qemuRestoreCgroupState (Martin Kletzander),
  conf: Fix invalid condition when parsing storage owner (Martin Kletzander),
  qemu: Fix hotplugging cpus with strict memory pinning (Martin Kletzander),
  parallels: fix usage of disk->info.addr.drive structure (Dmitry Guryanov),
  qemu: Auto generate a controller when attach hostdev and chr device (Luyao Huang),
  xenconfig: fix boot device parsing (Wei Liu),
  conf: fix virDomainLeaseIndex logic (Luyao Huang),
  conf: Fix libvirtd crash matching hostdev XML (Luyao Huang),
  fix typo in sanlock driver s/VIR_CONF_UONG/VIR_CONF_ULONG/ (Daniel P. Berrange),
  qemu: avoid rare race when undefining domain (Martin Kletzander)
- Improvements:
  tests: Check for virQEMUDriverConfigNew return value (Michal Privoznik),
  systemd: avoid string comparisons on dbus error messages (Daniel P. Berrange),
  aarch64: Support versioned machine types. (Richard W.M. Jones),
  qemu: Add check for PCI bridge placement if there are too many PCI devices (Erik Skultety),
  qemu: Fix auto-adding PCI bridge when all slots are reserved (Erik Skultety),
  qemu: move PCI slot assignment for PIIX3, Q35 into a separate function (Erik Skultety),
  qemu: reorder PCI slot assignment functions (Erik Skultety),
  schemas: Move definition of 'hexuint' to basictypes (Peter Krempa),
  util: json: Make argument of virJSONValueArraySize const (Peter Krempa),
  qemu: command: Honor const-correctnes in qemuBuildNumaArgStr (Peter Krempa),
  conf: Fix comment mentioning actual type of @multi member of virDevicePCIAddress (Peter Krempa),
  Grant access to helpers (Mike Latimer),
  conf: virDomainDefMaybeAddController tweak return code (Erik Skultety),
  qemu: Remove dead code in qemuDomainAssignPCIAddresses revert patch (Erik Skultety),
  network: Let domains be restricted to local DNS (Josh Stone),
  Make ZFS storage pool XML tests optional (Gary R Hook),
  Simplify condition for formatting CPU features (Ján Tomko),
  Add an XML test for host-model CPU with features (Ján Tomko),
  parallels: create container from existing image (Dmitry Guryanov),
  parallels: allow to add filesystems to container (Dmitry Guryanov),
  parallels: commit with PVCF_DETACH_HDD_BUNDLE flag (Dmitry Guryanov),
  parallels: dump info about container filesystems (Dmitry Guryanov),
  add ploop fs driver type (Dmitry Guryanov),
  qemu: Add support for enabling/disabling PMU (Martin Kletzander),
  docs, schema, conf: Add support for PMU feature (Martin Kletzander),
  virsh: add support for domain XML validation (Daniel P. Berrange),
  Add XML test for too many PCI devices on default PCI bus (Erik Skultety),
  Remove dead code in qemuDomainAssignPCIAddresses (Erik Skultety),
  virSocketAddrGetIpPrefix 0.0.0.0 and :: special cases (Cédric Bosdonnat),
  Use the network route definitions for domains (Cédric Bosdonnat),
  Move code related to network routes to networkcommon_conf.[ch] (Cédric Bosdonnat),
  Move network route definition to networkcommon.rng (Cédric Bosdonnat),
  Add support for schema validation when passing in XML (Daniel P. Berrange),
  Add virXMLValidateAgainstSchema helper method (Daniel P. Berrange),
  Change int to size_t in size var for tap/vhost FDs (Daniel P. Berrange),
  Log dtrace/systemd probes at INFO level instead of DEBUG (Daniel P. Berrange),
  Add systemd/dtrace probes for DBus APIs (Daniel P. Berrange),
  Add support for systemd-machined CreateMachineWithNetwork (Daniel P. Berrange),
  Mark the domain as active in qemuhotplugtest (Ján Tomko),
  Check for domain liveness in qemuDomainObjExitMonitor (Ján Tomko),
  check IOMMU group devices usage when preparing device for vfio passthrough (Shivaprasad G Bhat),
  virpci: Implement virPCIDeviceGetAddress function (Shivaprasad G Bhat),
  libxl: Add support for parsing/formating Xen XL config (Kiarie Kahurani),
  tests: Tests for the xen-xl parser (Kiarie Kahurani),
  Introduce support for parsing/formatting Xen xl config format (Jim Fehlig),
  qemu_process: detect updated video ram size values from QEMU (Pavel Hrdina),
  qemu_monitor: introduce new function to get QOM path (Pavel Hrdina),
  qemu, lxc: Warn if setting QoS on unsupported vNIC types (Michal Privoznik),
  conf: Increase virNetDevBandwidthParse intelligence (Michal Privoznik),
  Give virDomainDef parser & formatter their own flags (Daniel P. Berrange),
  Decouple CPU XML formatting from domain XML public API flags (Daniel P. Berrange),
  formatdomaincaps: Correctly format API reference (Michal Privoznik),
  Fix flags passed to virDomainDefParseString by XenAPI driver (Daniel P. Berrange),
  Add stub virDomainDefineXMLFlags impls (Daniel P. Berrange),
  Add new virDomainDefineXMLFlags public API (Daniel P. Berrange),
  qemu: Allow enabling/disabling features with host-passthrough (Martin Kletzander),
  lxc: Move setting ifname_guest_actual to virLXCSetupInterfaces (Guido Günther),
  openvz: Check errors from virSocketAddrFormat (John Ferlan),
  qxl: change the default value for vgamem_mb to 16 MiB (Pavel Hrdina),
  virsh: Emit error for VSH_OT_DATA without VSH_OFLAG_REQ (Hao Liu),
  safezero: fall back to writing zeroes even when resizing (Ján Tomko),
  maint: in src/Makefile.am, $(top_srcdir)/src is verbose (Eric Blake),
  nwfilter: Add support for icmpv6 filtering (Stefan Berger),
  Parallels: Add VNC hostname setup (Alexander Burluka),
  qemu: fix miss goto cleanup in qemuDomainAttachNetDevice (Luyao Huang),
  networkGetDHCPLeases: Remove unnecessary error reporting (Nehal J Wani),
  qemu: use a wrong name for guest panic status (Luyao Huang),
  maint: update to latest gnulib (Eric Blake),
  Report error if a driver can't handle multiple IP addresses (Cédric Bosdonnat),
  Openvz --ipadd can be provided multiple times (Cédric Bosdonnat),
  LXC: honour network devices link state (Cédric Bosdonnat),
  LXC: use the new net devices routes definition (Cédric Bosdonnat),
  lxc conf2xml: convert lxc.network.ipv[46].gateway (Cédric Bosdonnat),
  Domain network devices can now have a <route> element (Cédric Bosdonnat),
  lxc conf2xml: convert ip addresses for hostdev NICs (Cédric Bosdonnat),
  Allow network capabilities hostdev to configure IP addresses (Cédric Bosdonnat),
  lxc conf2xml: convert IP addresses (Cédric Bosdonnat),
  LXC: set IP addresses to veth devices in the container (Cédric Bosdonnat),
  Domain conf: allow more than one IP address for net devices (Cédric Bosdonnat),
  Renamed virNetDevClearIPv4Address to virNetDevClearIPAddress (Cédric Bosdonnat),
  virNetDevClearIPv4Address: netlink implementation (Cédric Bosdonnat),
  virNetDevAddRoute: implementation using netlink (Cédric Bosdonnat),
  Renamed virNetDevSetIPv4Address to virNetDevSetIPAddress (Cédric Bosdonnat),
  virNetDevSetIPv4Address: libnl implementation (Cédric Bosdonnat),
  Forgot to cleanup ifname_guest* in domain network def parsing (Cédric Bosdonnat),
  maint: fix date in local gnulib patch (Daniel P. Berrange),
  maint: update to latest gnulib (Daniel P. Berrange),
  Teach AppArmor, that /usr/lib64 may exist. (Cedric Bosdonnat),
  Add tests to xmconfigtest (Chunyan Liu),
  xenconfig: set HVM pae/apic/acpi/ default to 1 (Chunyan Liu),
  src/xenconfig: Export helper functions (Kiarie Kahurani),
  capabilities: Format <domain/> properly (Michal Privoznik),
  parallels: report, that cdrom image is raw (Dmitry Guryanov),
  tests: Set up two more overrides for root builders (Martin Kletzander),
  test: fix nwfilter tests following changes in virfirewall.c (Stefan Berger),
  qemu: completely rework reference counting (Martin Kletzander),
  maint: update .mailmap (Claudio Bley),
  qemu: Create memory-backend-{ram,file} iff needed (Michal Privoznik),
  Remove redundant cleanup in qemuDomainAttachVirtioDiskDevice (Ján Tomko),
  Fix error message on redirdev caps detection (Ján Tomko),
  logical: Add "--type snapshot" to lvcreate command (John Ferlan),
  getstats: crawl backing chain for qemu (Eric Blake),
  getstats: split block stats reporting for easier recursion (Eric Blake),
  getstats: add new flag for block backing chain (Eric Blake),
  getstats: prepare for dynamic block.count stat (Eric Blake),
  getstats: report block sizes for offline domains (Eric Blake),
  qemu: refactor blockinfo data gathering (Eric Blake),
  getstats: rearrange blockinfo gathering (Eric Blake),
  getstats: perform recursion in monitor collection (Eric Blake),
  getstats: prepare monitor collection for recursion (Eric Blake),
  qemu: let blockinfo reuse virStorageSource (Eric Blake),
  qemu: refactor blockinfo job handling (Eric Blake),
  build: fix typo in previous patch (Eric Blake),
  virstoragefile: Have virStorageFileResize use safezero (John Ferlan),
  virfile: Refactor safezero (John Ferlan),
  conf: Rework virDomainObjListFindByUUID to allow more concurrent APIs (Martin Kletzander),
  storage: unify permission formatting (Martin Kletzander),
  qemu: Leave cpuset.mems in parent cgroup alone (Martin Kletzander),
  qemu: Save numad advice into qemuDomainObjPrivate (Martin Kletzander),
  qemu: Remove unnecessary qemuSetupCgroupPostInit function (Martin Kletzander),
  util: Add virNumaGetHostNodeset (Martin Kletzander),
  util: Add function virCgroupHasEmptyTasks (Martin Kletzander),
  spec: Fix syntax (Jiri Denemark),
  spec: Disable -Werror in Fedora RPM builds (Daniel P. Berrange),
  parallels: set format for real disk devices (Dmitry Guryanov),
  parallels: support NULL virDomainVideoAccelDefPtr (Dmitry Guryanov),
  qemu: add/remove bridge fdb entries as guest CPUs are started/stopped (Laine Stump),
  qemu: make persistent update of graphics device supported (Wang Rui),
  qemu: fix alignment of qemuDomainFindGraphics (Wang Rui),
  qemu: report properer error number when change graphics failed (Wang Rui),
  qemu: Allow system pages to <memoryBacking/> (Michal Privoznik),
  virconf: Introduce VIR_CONF_ULONG (Michal Privoznik),
  virConfType: switch to VIR_ENUM_{DECL,IMPL} (Michal Privoznik),
  virConfSetValue: Simplify condition (Michal Privoznik),
  conf: move the check for secondary consoles of targetType serial (Erik Skultety),
  qemu: add a qemuInterfaceStopDevices(), called when guest CPUs stop (Laine Stump),
  qemu: always call qemuInterfaceStartDevices() when starting CPUs (Laine Stump),
  conf: Ignore device address for model=none usb controller and memballon (Luyao Huang)
- Cleanups:
  Indentation (Ján Tomko)