<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  </head>
  <body>
    <h1>Releases (2016)</h1>
    <p>Here is the list of official releases made during the year 2016.
    A similar list for <a href="news-2015.html">2015</a> is also available.
    </p>
    <p>It is also possible to just use
    the <a href="downloads.html">GIT version or snapshot</a>,
    contact the mailing list and check
    the <a href="http://libvirt.org/git/?p=libvirt.git;a=log">GIT log</a>
    to gauge progress.
    </p>

   <h3>v2.4.0: Nov 1 2016</h3>
    <ul>
      <li>Documentation:<br/>
      docs: remove obsolete library.xen file (Daniel P. Berrange),<br/>
      doc: update virsh domstats documentation for vcpu statistics (Viktor Mihajlovski),<br/>
      doc: Describe the VCPU states returned by virsh vcpuinfo (Viktor Mihajlovski),<br/>
      virsh: Fix typos in manpage (Nitesh Konkar),<br/>
      virsh: Fix commas in manpage to enhance readability. (Nitesh Konkar),<br/>
      docs: Alter descriptions of perf cpu_cycles (John Ferlan),<br/>
      docs: Add PCP as monitoring application (Marko Myllynen),<br/>
      docs: Fix typo in libvirt-domain.h parameter description (John Ferlan)<br/>
      </li>

      <li>Portability:<br/>
      virLogDefineOutputs: Fix build without syslog.h (Michal Privoznik),<br/>
      virt-yajl: Fix detection of yajl requirements (Martin Kletzander)<br/>
      </li>

      <li>Bug Fixes:<br/>
      vsh: Pass correct values for command line completion (John Ferlan),<br/>
      vsh: Using VSH_REQUIRE_OPTION rather than virReportError (Kothapally Madhu Pavan),<br/>
      network: fix endless loop when starting network with multiple IPs and no dhcp (Laine Stump),<br/>
      qemu_driver: unlink new domain cfg file when rollback (Chen Hanxiao),<br/>
      qemu: Fix crash during qemuStateCleanup (Nikolay Shirokovskiy),<br/>
      daemon: Fix crash during daemon cleanup (Nikolay Shirokovskiy),<br/>
      qemu: Forbid pinning vCPUs for TCG domain (Chen Hanxiao),<br/>
      Recreate the USB address cache at reconnect (Ján Tomko),<br/>
      Fix crash on usb-serial hotplug (Ján Tomko),<br/>
      virsh: Fix on_shutdown to on_poweroff (Martin Kletzander),<br/>
      qemu, lxc: Raise error message when resuming running domain (Sławek Kapłoński),<br/>
      qemu: Fix depedency order in qemuRemoveDiskDevice (John Ferlan),<br/>
      qemu: Move TLS object remove from DetachChr to RemoveChr (John Ferlan),<br/>
      libxl: fix leaking of allocated migration ports (Jim Fehlig),<br/>
      domain: fix migration to older libvirt (Pavel Hrdina),<br/>
      domain_conf: fix memory leak in virDomainDefAddConsoleCompat (Pavel Hrdina),<br/>
      bhyve: Need to add parameter to virDomainChrDefNew (John Ferlan),<br/>
      networkValidate: Forbid new-line char in network name (Sławek Kapłoński),<br/>
      qemu: always generate the same alias for tls-creds-x509 object (Pavel Hrdina),<br/>
      qemu_hotplug: fix crash in hot(un)plugging chardev devices (Pavel Hrdina),<br/>
      util: Alter return value of virReadFCHost and fix mem leak (John Ferlan),<br/>
      schema: smbios: allow any strings (Peter Krempa),<br/>
      qemu: command: escape smbios entry strings (Peter Krempa),<br/>
      testNodeGetCellsFreeMemory: Fix off by one error (Michal Privoznik),<br/>
      virsh: vcpuinfo: Report proper vcpu numbers and data for offline VMs (Peter Krempa),<br/>
      virsh: Fix xpath queries for retrieving vcpu count (Peter Krempa),<br/>
      conf: Fix virDomainShmemDefFind (Martin Kletzander),<br/>
      qemu: migration: Disallow migration of read only disk (Corey S. McQuay),<br/>
      tests: Need to initialize data (John Ferlan),<br/>
      vsh: Fix some issues in auto completion code (John Ferlan),<br/>
      util: Resolve memory leaks in virLogParse{Output|Filter} (John Ferlan),<br/>
      tools: Exclude Xen dom0 from libvirt-guests.sh list (Stefan Bader),<br/>
      tools: Ignore newlines in libvirt-guests.sh guest list (Stefan Bader),<br/>
      qemu: fix command line building for iommu devices (Daniel P. Berrange),<br/>
      qemu: monitor: Properly configure backend for UDP chardevs (Peter Krempa),<br/>
      qemu: attach: Close monitor socket on connection failure (Peter Krempa),<br/>
      qemu: Don't strictly require JSON monitor for vCPU detection (Peter Krempa)<br/>
      </li>

      <li>Improvements:<br/>
      qemu: Minimalize global driver accesses (Michal Privoznik),<br/>
      vz: remove Bridged network name and rename Routed (Maxim Nestratov),<br/>
      vz: support type=bridge network interface type correctly (Maxim Nestratov),<br/>
      Do not try to release virtio serial addresses (Ján Tomko),<br/>
      Return directly from qemuDomainAttachChrDeviceAssignAddr (Ján Tomko),<br/>
      Introduce virDomainVirtioSerialAddrAutoAssign again (Ján Tomko),<br/>
      Add 'FromCache' to  virDomainVirtioSerialAddrAutoAssign (Ján Tomko),<br/>
      wireshark: Rename plugindir to ws_plugindir (Andrea Bolognani),<br/>
      wireshark: Inject $(prefix) at the right time (Andrea Bolognani),<br/>
      wireshark: Strip prefix correctly (Andrea Bolognani),<br/>
      wireshark: Hoist $ws_prefix declaration (Andrea Bolognani),<br/>
      wireshark: Introduce $ws_modversion (Andrea Bolognani),<br/>
      qemu: Add support for using AES secret for SCSI hotplug (Gema Gomez),<br/>
      qemu: Add secret object hotplug for TCP chardev TLS (John Ferlan),<br/>
      qemu: Add a secret object to/for a char source dev (John Ferlan),<br/>
      qemu: Need to remove TLS object in RemoveRNGDevice (John Ferlan),<br/>
      virsh: Add _length parameters to virsh output (John Ferlan),<br/>
      virsh: Create macros to add IOTUNE values (John Ferlan),<br/>
      qemu: Add the length options to the iotune command line (John Ferlan),<br/>
      conf: Add support for blkiotune "_length" options (John Ferlan),<br/>
      qemu: Add length for bps/iops throttling parameters to driver (John Ferlan),<br/>
      caps: Add new capability for the bps/iops throttling length (John Ferlan),<br/>
      include: Add new definitions for duration for bps/iops throttling (John Ferlan),<br/>
      qemu: Introduce qemuDomainSetBlockIoTuneDefaults (John Ferlan),<br/>
      qemu: Move setting of conf_disk in qemuDomainSetBlockIoTune (John Ferlan),<br/>
      qemu: Return real error message for block_set_io_throttle (John Ferlan),<br/>
      qemu: Create a macro to handle setting bytes/iops iotune values (John Ferlan),<br/>
      virQEMUCapsReset: also clear out hostCPUModel (Ján Tomko),<br/>
      qemu: add vcpu.n.halted to vcpu domain stats (Viktor Mihajlovski),<br/>
      qemu: Add domain support for VCPU halted state (Viktor Mihajlovski),<br/>
      qemu: Add monitor support for CPU halted state (Viktor Mihajlovski),<br/>
      qemu: replace calls to virDomainPCIAddressReserveNext*() with static function (Laine Stump),<br/>
      conf: make virDomainPCIAddressGetNextSlot() a local static function (Laine Stump),<br/>
      qemu: use virDomainPCIAddressReserveNextAddr in qemuDomainAssignDevicePCISlots (Laine Stump),<br/>
      conf: new function virDomainPCIAddressReserveNextAddr() (Laine Stump),<br/>
      domain: Add optional 'tls' attribute for TCP chardev (Pavel Hrdina),<br/>
      domain_conf: remove union for one member from redirdev struct (Pavel Hrdina),<br/>
      qemu: Add TLS hotplug for qemuDomainAttachRNGDevice (John Ferlan),<br/>
      qemu: Add TLS hotplug for qemuDomainAttachRedirdevDevice (John Ferlan),<br/>
      qemu: Clean up error path in qemuDomainAttachRedirdevDevice (John Ferlan),<br/>
      qemu: Introduce qemuDomainGetChardevTLSObjects for hotplug (John Ferlan),<br/>
      conf: Use virDomainChrSourceDefNew for virDomainRNGDef allocation (John Ferlan),<br/>
      conf: Use virDomainChrSourceDefPtr for _virDomainRedirdevDef 'source.chr' (John Ferlan),<br/>
      conf: Use virDomainChrSourceDefPtr for _virDomainSmartcardDef 'passthru' (John Ferlan),<br/>
      xenFormatXLDisk: Unify commas pattern for arguments (Michal Privoznik),<br/>
      qemu: change first arg of qemuDomainAttachChrDeviceAssignAddr() (Laine Stump),<br/>
      qemu: make error message in qemuDomainPCIAddressSetCreate more clear. (Laine Stump),<br/>
      qemu: remove superfluous setting of addrs-&gt;nbuses (Laine Stump),<br/>
      conf: add typedef for anonymous enum used for memballoon device model (Laine Stump),<br/>
      qemu: replace "def-&gt;nets[i]" with "net" and "def-&gt;sounds[i]" with "sound" (Laine Stump),<br/>
      qemu: replace a lot of "def-&gt;controllers[i]" with equivalent "cont" (Laine Stump),<br/>
      conf: Move the privateData from virDomainChrDef to virDomainChrSourceDef (John Ferlan),<br/>
      Introduce virDomainChrSourceDefNew for virDomainChrDefPtr (John Ferlan),<br/>
      vmx: Use the allocator virDomainChrDefNew (John Ferlan),<br/>
      qemuBuildHostNetStr: remove dead code (Ján Tomko),<br/>
      qemuBuildHostNetStr: do not start options with a comma (Ján Tomko),<br/>
      qemuBuildHostNetStr: use type_sep earlier (Ján Tomko),<br/>
      vz: set something in disk driver name (Nikolay Shirokovskiy),<br/>
      vz: add serial number to disk devices (Nikolay Shirokovskiy),<br/>
      vz: set localhost as vnc address (Mikhail Feoktistov),<br/>
      virt-wireshark.m4: Defer $(prefix) substitution (Michal Privoznik),<br/>
      network: Use new util function to check name (Sławek Kapłoński),<br/>
      virxml: Add function to check if string contains some illegal chars (Sławek Kapłoński),<br/>
      qemu: Introduce qemuDomainChardevPrivatePtr (John Ferlan),<br/>
      conf: Introduce {default|chardev}_tls_x509_secret_uuid (John Ferlan),<br/>
      xl: fix 8126d870 broken test (Cédric Bosdonnat),<br/>
      spec: Drop support for Fedora &lt; 23 (Andrea Bolognani),<br/>
      xl: don't output (null) target in domxml-to-native (Cédric Bosdonnat),<br/>
      qemu_command: create prefixed alias to separate variable (Pavel Hrdina),<br/>
      qemu_alias: introduce qemuAliasChardevFromDevAlias helper (Pavel Hrdina),<br/>
      qemu: Remove unnecessary NULL arg check (John Ferlan),<br/>
      qemu: Add 'verify-peer=yes' test for chardev TCP TLS (John Ferlan),<br/>
      qemu: Remove unnecessary cfg fetch/unref (John Ferlan),<br/>
      conf: Explain some code in more detail (Andrea Bolognani),<br/>
      conf: restrict what type of buses will accept a pci-bridge (Laine Stump),<br/>
      conf: Honour flags in virDomainPanicDefParseXML (Martin Kletzander),<br/>
      schema: Allow alias for panic device (Martin Kletzander),<br/>
      qemu_hotplug: Support interface type of vhost-user hotplug (Michal Privoznik),<br/>
      qemuBuildHostNetStr: Support VIR_DOMAIN_NET_TYPE_VHOSTUSER (Michal Privoznik),<br/>
      qemuBuildVhostuserCommandLine: Unify -netdev creation (Michal Privoznik),<br/>
      qemuBuildVhostuserCommandLine: Reuse qemuBuildChrChardevStr (Michal Privoznik),<br/>
      qemuBuildChrChardevStr: Introduce @nowait argument (Michal Privoznik),<br/>
      qemuBuildHostNetStr: Explicitly enumerate net types (Michal Privoznik),<br/>
      qemuDomainAttachNetDevice: Explicitly list allowed types for hotplug (Michal Privoznik),<br/>
      qemuDomainAttachNetDevice: Move hostdev handling a bit further (Michal Privoznik),<br/>
      qemuBuildInterfaceCommandLine: Move from if-else forest to switch (Michal Privoznik),<br/>
      qemuBuildInterfaceCommandLine: Move vhostuser handling a bit further (Michal Privoznik),<br/>
      qemuBuildInterfaceCommandLine: Move hostdev handling a bit further (Michal Privoznik),<br/>
      virDomainNetGetActualType: Return type is virDomainNetType (Michal Privoznik),<br/>
      virDomainNetDefParseXML: Realign (Michal Privoznik),<br/>
      qemu: command: Don't bother reporting errors in smbios formatters (Peter Krempa),<br/>
      qemu: command: Fix up coding style of smbios commandine formatters (Peter Krempa),<br/>
      src: Treat PID as signed (Michal Privoznik),<br/>
      virsh: Be explicit that vol-resize is an offline operation. (Ivan Baldo),<br/>
      testOpenDefault: Rename loop variable (Michal Privoznik),<br/>
      qemu_command: add support to use virtio as secondary video device (Pavel Hrdina),<br/>
      qemu_command: introduce enum of secondary models for video device (Pavel Hrdina),<br/>
      qemu_command: cleanup qemuBuildVideoCommandLine (Pavel Hrdina),<br/>
      qemu_command: properly detect which model to use for video device (Pavel Hrdina),<br/>
      qemu_capabilities: check for existence of virtio-vga (Pavel Hrdina),<br/>
      qemu_command: pass only video device to qemuBuildVgaVideoCommand (Pavel Hrdina),<br/>
      qemu_command: separate code for video device via -vga attribute (Pavel Hrdina),<br/>
      qemu_process: always check capabilities for video devices (Pavel Hrdina),<br/>
      qemu_process: move video validation out of qemu_command (Pavel Hrdina),<br/>
      qemu_domain: move video validation out of qemu_command (Pavel Hrdina),<br/>
      qemu_capabilities: detect properties for virtio-gpu-device (Pavel Hrdina),<br/>
      qemu_capabilities: rename QEMU_CAPS_VIRTIO_GPU_VIRGL (Pavel Hrdina),<br/>
      qemu_capabilities: mark QEMU_CAPS_VGA_QXL capability as deprecated (Pavel Hrdina),<br/>
      qemu_capabilities: join capabilities for qxl and qxl-vga devices (Pavel Hrdina),<br/>
      tests: fix some QXL capability combinations that don't make sense (Pavel Hrdina),<br/>
      qemu_command: remove xenner leftover from video device code (Pavel Hrdina),<br/>
      qemu_process: move qemuProcessStartValidateGraphics to correct place (Pavel Hrdina),<br/>
      virsh: Extract fallback handling in cmdVcpuinfo (Peter Krempa),<br/>
      virsh: Extract cpumap formatting in cmdVcpuinfo (Peter Krempa),<br/>
      virsh: domain: Fix broken indentation in virshCPUCountCollect (Peter Krempa),<br/>
      util: bitmap: Make bitmaps const in virBitmapNewData and virBitmapDataToString (Peter Krempa),<br/>
      libvirt-guests: Weaken dependency on libvirtd (Andrea Bolognani),<br/>
      qemu: Disable migration with ivshmem (Martin Kletzander),<br/>
      conf: Don't complicate find loop (Martin Kletzander),<br/>
      Clean timer in virObjectEventStateFlush (Martin Kletzander),<br/>
      De-duplicate code into virObjectEventStateCleanupTimer() (Martin Kletzander),<br/>
      Reference state when using it as opaque (Martin Kletzander),<br/>
      Change virDomainEventState to virObjectLockable (Martin Kletzander),<br/>
      qemu: Reuse virDomainDeGetVcpusTopology to calculate total vcpu count (Peter Krempa),<br/>
      conf: Sanitize cpu topology numbers (Peter Krempa),<br/>
      util: Remove need for local 'nelems' (John Ferlan),<br/>
      tests: Prefer virGetLastErrorMessage in testSELinuxLabeling (John Ferlan),<br/>
      conf: Remove incorrect check when encoding shmem audit message (John Ferlan),<br/>
      network: add dnsmasq option 'dhcp-authoritative' (Martin Wilck),<br/>
      Don't update timer if there's none. (Martin Kletzander),<br/>
      examples: Distribute all systemtap scripts. (Luyao Huang),<br/>
      virlog: Split parsing and setting priority (Erik Skultety),<br/>
      virlog: Remove functions that aren't used anywhere anymore (Erik Skultety),<br/>
      daemon: Split filter parsing and filter defining (Erik Skultety),<br/>
      daemon: Split output parsing and output defining (Erik Skultety),<br/>
      virlog: Introduce virLogSetFilters (Erik Skultety),<br/>
      virlog: Introduce virLogSetOutputs (Erik Skultety),<br/>
      virlog: Introduce virLogParseFilters (Erik Skultety),<br/>
      virlog: Introduce virLogParseOutputs (Erik Skultety),<br/>
      virlog: Introduce virLogParseFilter (Erik Skultety),<br/>
      virlog: Introduce virLogParseOutput (Erik Skultety),<br/>
      virlog: Take a special care of syslog when setting new set of log outputs (Erik Skultety),<br/>
      virlog: Introduce virLogNewOutputTo* as a replacement for virLogAddOutputTo* (Erik Skultety),<br/>
      virlog: Introduce virLogDefineFilters (Erik Skultety),<br/>
      virlog: Introduce virLogDefineOutputs (Erik Skultety),<br/>
      virlog: Introduce virLogFindOutput (Erik Skultety),<br/>
      virlog: Introduce virLogFilterNew (Erik Skultety),<br/>
      virlog: Introduce virLogOutputNew (Erik Skultety),<br/>
      virlog: Store the journald fd within the output object (Erik Skultety),<br/>
      virlog: Rename virLogParse* to virLogParseAndDefine* (Erik Skultety),<br/>
      virlog: Remove unused macro IS_SPACE (Erik Skultety),<br/>
      virsh domdisplay: introduce '--all' for showing all possible graphical displays (Chen Hanxiao),<br/>
      util: Check/ignore already disabled event (John Ferlan),<br/>
      util: Clear up some perf error messages (John Ferlan),<br/>
      private_syms: add virLogFilterListFree to libvirt_private.syms (Erik Skultety),<br/>
      m4: Drop PKG_PROG_PKG_CONFIG compatibility code (Andrea Bolognani),<br/>
      docs/Makefile.am: build hvsupport.html earlier (Ján Tomko),<br/>
      docs/Makefile.am: remove redundant variables (Ján Tomko),<br/>
      qemu: monitor: Simplify construction of chardev backends (Peter Krempa),<br/>
      tests: qemumonitorjsontest: Do some actual testing in qemuMonitorJSONTestAttachChardev (Peter Krempa),<br/>
      tests: qemumonitorjson: Don't do multiple tests in one virTestRun (Peter Krempa),<br/>
      tests: qemu: Add support for testing aguments on monitor verbatim (Peter Krempa),<br/>
      conf: Sanitize formatting of UDP chardev source (Peter Krempa),<br/>
      conf: Add a formatting macro for all the blkiotune values (John Ferlan),<br/>
      qemu: Adjust how supportMaxOptions is used. (John Ferlan),<br/>
      qemu: Convert from shorthand to longer throttling names (John Ferlan),<br/>
      tests: Add blkdeviotune-max xml2xmltest (John Ferlan),<br/>
      include: Update description for &lt;iotune&gt; max params (John Ferlan),<br/>
      qemu: allow 32 slots on pcie-expander-bus, not just 1 (Laine Stump),<br/>
      vsh: Fix warnings in command line completer (Jiri Denemark),<br/>
      qemu: Create helper qemuMonitorJSONGetBlockDevDevice (John Ferlan),<br/>
      qemu: Create helper qemuMonitorJSONGetBlockDev (John Ferlan),<br/>
      qemu: Create common code for JSON "query-block" call (John Ferlan),<br/>
      util: Introduce virJSONValueObjectStealArray (John Ferlan),<br/>
      rbd: Move the encryption check in build (John Ferlan),<br/>
      rbd: Change to using heap allocated state contexts (John Ferlan),<br/>
      rbd: Change virStorageBackendRBDCloseRADOSConn to be static void (John Ferlan),<br/>
      qemu: Allow making vcpus hotpluggable with virDomainSetVcpusFlags (Peter Krempa),<br/>
      lib: Introduce VIR_DOMAIN_VCPU_HOTPLUGGABLE for virDomainSetVcpusFlags (Peter Krempa),<br/>
      Don't drop expired lease while reading custom leases file (Nehal J Wani),<br/>
      NSS: Add explicit check to not report expired lease (Nehal J Wani),<br/>
      remote: Increase bound limit for virDomainGetBlockIoTune (John Ferlan),<br/>
      remote: Fix erroneous usage of constant (John Ferlan),<br/>
      </li>

    </ul>
   <h3>v2.3.0: Oct 04 2016</h3>
    <ul>
      <li>Features:<br/>
      Improvements on CPU models (Jiri Denemark),<br/>
      More performance metrics and events (Qiaowei Ren, John Ferlan)<br/>
      </li>

      <li>Documentation:<br/>
      docs: correct version requirements for &lt;kvm&gt;&lt;hidden='on'/&gt;&lt;/kvm&gt; (Laine Stump),<br/>
      doc: fix note about Xen credit scheduler (Jim Fehlig),<br/>
      Fix various code comment typos (Nitesh Konkar),<br/>
      cpu: Document missing parameters for cpuCompare* (Jiri Denemark),<br/>
      libvirt-nodedev.c:fix a typo (Nitesh Konkar),<br/>
      libvirt-admin.c:fix a typo (Nitesh Konkar),<br/>
      driver.c:fix a typo (Nitesh Konkar),<br/>
      domain_conf.c:fix the comment. (Nitesh Konkar),<br/>
      domain_conf.c:fix a typo (Nitesh Konkar),<br/>
      domain_conf.c:fix a typo (Nitesh Konkar),<br/>
      stream.c: fix a typo (Nitesh Konkar),<br/>
      config-post.h:fix a typo (Nitesh Konkar),<br/>
      virsh: man: Do not document our old deprecated nodedev-dettach command (Erik Skultety),<br/>
      qemu_process: fix a typo (Chen Hanxiao),<br/>
      docs: expand docs on user x509 cert locations (Daniel P. Berrange),<br/>
      virt-admin: Fix some English grammar in the manpage (Erik Skultety),<br/>
      virt-admin: Document srv-list command in virt-admin's man page (Erik Skultety),<br/>
      docs: Add libvirt-go Go bindings to binding page (Roman Mohr)<br/>
      </li>

      <li>Portability:<br/>
      mingw: Package cputypes.rng for mingw32 too (Jiri Denemark),<br/>
      mingw: Package cputypes.rng (Jiri Denemark),<br/>
      Add missing 'extern' for VIR_EXPORT_VAR macro (Daniel P. Berrange),<br/>
      Make sure sys/types.h is included after sys/sysmacros.h (Michal Privoznik)<br/>
      </li>

      <li>Bug Fixes:<br/>
      Revert conf: Skip post parse callbacks when creating copy (Michal Privoznik),<br/>
      Revert domain_conf: Introduce VIR_DOMAIN_DEF_PARSE_SKIP_POST_PARSE (Michal Privoznik),<br/>
      qemu: vcpu: Clear vcpu order information rather than making it invalid (Peter Krempa),<br/>
      qemu: Fix coldplug of vcpus (Peter Krempa),<br/>
      qemu: process: Enforce 'vcpu' order range to &lt;1,maxvcpus&gt; (Peter Krempa),<br/>
      qemu: process: Fix off-by-one in vcpu order duplicate error message (Peter Krempa),<br/>
      sanlock: Properly init io_timeout (Michal Privoznik),<br/>
      m4: Check for sanlock_write_lockspace (Michal Privoznik),<br/>
      qemu: Only use memory-backend-file with NUMA if needed (Martin Kletzander),<br/>
      vsh: Write out history on "quit" or "exit" in interactive mode (John Ferlan),<br/>
      libxl: fix param assignment in domainGetSchedulerParameters (Jim Fehlig),<br/>
      qemu: Fix crash in qemucapsprobe (Jiri Denemark),<br/>
      qemuDomainUpdateDeviceConfig: Allow full disk update (Michal Privoznik),<br/>
      libxl: find virDomainObj in libxlDomainShutdownThread (Jim Fehlig),<br/>
      qemu: Update guest CPU def in live XML (Jiri Denemark),<br/>
      cpu: Set nfeatures_max correctly in x86Decode (Jiri Denemark),<br/>
      cpu: Drop false support for ARM cpu-model (Jiri Denemark),<br/>
      migration: Document we don't copy storage during offline migration (Michal Privoznik),<br/>
      qemu: driver: Don't return automatic NUMA emulator pinning data for persistentDef (Peter Krempa),<br/>
      qemu: driver: Don't return automatic NUMA vCPU pinning data for persistentDef (Peter Krempa),<br/>
      qemuDomainOpenGraphics: Start job early (Jiri Denemark),<br/>
      virtlogd: Don't stop or restart along with libvirtd (Andrea Bolognani),<br/>
      tests: fix use of fixedcontent variable (Laine Stump),<br/>
      qemuBuildMemoryBackendStr: Don't crash if no hugetlbfs is mounted (Michal Privoznik),<br/>
      qemu: map "virtio" video model to "virt" machtype correctly (arm/aarch64) (Laszlo Ersek),<br/>
      util: Expose virHostCPUStatsAssign on non-Linux (Martin Kletzander),<br/>
      qemu: domain: Don't infer vcpu state (Peter Krempa),<br/>
      virDomainGetBlockJobInfo: Fix corner case when qemu reports no info (Michal Privoznik),<br/>
      tests: use a fixed chardev TLS path (Daniel P. Berrange),<br/>
      numa: Rename virNumaGetHostNodeset and make it return only nodes with memory (Peter Krempa),<br/>
      configure: Check for major() more strictly (Michal Privoznik),<br/>
      tests: fix incorrect status handling by virsh-self-test (Erik Skultety),<br/>
      conf: allow hotplugging "legacy PCI" device to manually addressed PCIe slot (Laine Stump),<br/>
      qemu: fix improper initialization of cgroupControllers bitmap (Laine Stump),<br/>
      audit: Audit information about shmem devices (Martin Kletzander),<br/>
      storage: Need to properly read the crypt offset value (John Ferlan),<br/>
      log: Fix reporting OOM error incorrectly when defining a logging filter (Nikolay Shirokovskiy),<br/>
      qemu: Don't use query-migrate on destination (Jiri Denemark),<br/>
      util: Quiet the logging if perf file doesn't exist (John Ferlan),<br/>
      qemu: hotplug: Don't wait if cdrom tray is opened forcibly (Peter Krempa),<br/>
      qemu: Remove stale transient def when migration fails (Jiri Denemark),<br/>
      security: Fixing wrong label in virt-aa-helper.c. (Julio Faracco),<br/>
      Avoid segfault in virt-aa-helper when handling read-only filesystems (Rufo Dogav),<br/>
      storage: Delete extra wrap after vol-resize error (Yanqiu Zhang),<br/>
      qemu: process: Fix start with unpluggable vcpus with NUMA pinning (Peter Krempa),<br/>
      virt-admin: Output srv-clients-set data as unsigned int rather than signed (Erik Skultety),<br/>
      util: fix crash in virClassIsDerivedFrom for CloseCallbacks objects (Maxim Nestratov),<br/>
      util: hostcpu: improve CPU freq code for FreeBSD (Roman Bogorodskiy),<br/>
      util: storage: Properly set protocol type when parsing gluster json string (Peter Krempa),<br/>
      conf: Fix initialization value of 'multi' in PCI address (Xian Han Yu)<br/>
      </li>

      <li>Improvements:<br/>
      qemu: process: Don't use shifted indexes for vcpu order verification (Peter Krempa),<br/>
      lock_driver_sanlock: Avoid global driver variable whenever possible (Michal Privoznik),<br/>
      bhyve: chase cpuCompareXML rename (Roman Bogorodskiy),<br/>
      xlconfigtest: add test for channel conversion (Joao Martins),<br/>
      xenconfig: channels conversion support (Joao Martins),<br/>
      libxl: channels support (Joao Martins),<br/>
      conf: add xen type for channels (Joao Martins),<br/>
      spec: Package cputypes.rng (Jiri Denemark),<br/>
      qemu: make qemuGetCompressionProgram return int not an enum (Daniel P. Berrange),<br/>
      Fix coding style issues. (Nitesh Konkar),<br/>
      conf: Skip post parse callbacks when creating copy (Michal Privoznik),<br/>
      domain_conf: Introduce VIR_DOMAIN_DEF_PARSE_SKIP_POST_PARSE (Michal Privoznik),<br/>
      qemuDomainDefAssignAddresses: Fetch caps from domain object (Michal Privoznik),<br/>
      qemuDomainDeviceDefPostParse: Fetch caps from domain object (Michal Privoznik),<br/>
      qemuDomainDefPostParse: Fetch qemuCaps from domain object (Michal Privoznik),<br/>
      conf: Extend virDomainDefAssignAddressesCallback for parseOpaque (Michal Privoznik),<br/>
      conf: Extend virDomainDeviceDefPostParse for parseOpaque (Michal Privoznik),<br/>
      virDomainDefCopy: Introduce @parseOpaque argument (Michal Privoznik),<br/>
      virDomainDefParse{File,String}: Introduce @parseOpaque argument (Michal Privoznik),<br/>
      virDomainDefParseNode: Introduce @parseOpaque argument (Michal Privoznik),<br/>
      virDomainDefPostParse: Introduce @parseOpaque argument (Michal Privoznik),<br/>
      storage_backend_rbd: remove unnessary translated message marker (Chen Hanxiao),<br/>
      qemu: Get/return compressedpath program (John Ferlan),<br/>
      qemu: Remove qemuCompressProgramAvailable (John Ferlan),<br/>
      qemu: Use qemuGetCompressionProgram for error paths (John Ferlan),<br/>
      qemu: Alter qemuGetCompressionProgram warning message (John Ferlan),<br/>
      qemu: Remove getCompressionType (John Ferlan),<br/>
      qemu: Introduce helper qemuGetCompressionProgram (John Ferlan),<br/>
      qemu: Adjust doCoreDump to call getCompressionType (John Ferlan),<br/>
      qemu: Move getCompressionType (John Ferlan),<br/>
      apparmor: move qemu-bridge-helper to libvirtd profile (Cédric Bosdonnat),<br/>
      libxl: increase usbdevice list only when finding such an input device (Cédric Bosdonnat),<br/>
      qemuBuildHostNetStr: Realign (Michal Privoznik),<br/>
      qemuhelptest: regenerate data for qemu-kvm-1.2.0 (Pavel Hrdina),<br/>
      qemuhelptest: regenerate data for qemu-kvm-0.13.0 (Pavel Hrdina),<br/>
      qemuhelptest: regenerate data for qemu-kvm-0.12.3 (Pavel Hrdina),<br/>
      qemuhelptest: regenerate data for qemu-1.2.0 (Pavel Hrdina),<br/>
      qemuhelptest: regenerate data for qemu-1.1.0 (Pavel Hrdina),<br/>
      qemuhelptest: regenerate data for qemu-1.0 (Pavel Hrdina),<br/>
      qemuhelptest: regenerate data for qemu-0.12.1 (Pavel Hrdina),<br/>
      qemuhelptest: remove downstream test data (Pavel Hrdina),<br/>
      qemu: Fix improper indention (John Ferlan),<br/>
      Fix Multiple Typos (Nitesh Konkar),<br/>
      Move CMT feature filtering to QEMU driver (Jiri Denemark),<br/>
      cpu: Rework cpuCompare* APIs (Jiri Denemark),<br/>
      cpu: Introduce virCPUCheckFeature (Jiri Denemark),<br/>
      cpu: Rework virCPUDataCheckFeature (Jiri Denemark),<br/>
      cpu: Rename cpuHasFeature to virCPUDataCheckFeature (Jiri Denemark),<br/>
      cpu: Introduce virCPUTranslate (Jiri Denemark),<br/>
      cpu: Rework cpuUpdate (Jiri Denemark),<br/>
      cpu: Add x86FeatureInData (Jiri Denemark),<br/>
      cpu: Report error for unknown features in x86HasFeature (Jiri Denemark),<br/>
      cpu: Make x86ModelFromCPU a bit smarter (Jiri Denemark),<br/>
      cpu: Make x86ModelFromCPU easier to read (Jiri Denemark),<br/>
      qemu: Introduce virQEMUCapsIsCPUModeSupported (Jiri Denemark),<br/>
      qemu: Introduce virQEMUCapsGetHostModel (Jiri Denemark),<br/>
      Show host model in domain capabilities (Jiri Denemark),<br/>
      qemu: Store host-model CPU in qemu capabilities (Jiri Denemark),<br/>
      conf: Introduce virCPUDefCopyModelFilter (Jiri Denemark),<br/>
      conf: Introduce virCPUDefStealModel (Jiri Denemark),<br/>
      conf: Introduce virCPUDefCopyWithoutModel (Jiri Denemark),<br/>
      qemu: Propagate virCapsPtr to virQEMUCapsNewForBinaryInternal (Jiri Denemark),<br/>
      schema: Separate CPU related definitions into cputypes.rng (Jiri Denemark),<br/>
      domcaps: Add CPU usable flag (Jiri Denemark),<br/>
      domcaps: Show only CPU models supported by libvirt (Jiri Denemark),<br/>
      cpu: Don't overwrite errors in cpuGetModels (Jiri Denemark),<br/>
      cpu: Special case models == NULL in cpuGetModels (Jiri Denemark),<br/>
      qemu: Fill in CPU domain capabilities (Jiri Denemark),<br/>
      qemu: Introduce virQEMUCapsGuestIsNative (Jiri Denemark),<br/>
      qemuxml2argvtest: Reorder CPU features (Jiri Denemark),<br/>
      qemuxml2argvtest: Set correct architecture for KVM guests (Jiri Denemark),<br/>
      qemuxml2argvtest: Properly setup CPU models in qemuCaps (Jiri Denemark),<br/>
      qemu: Separate guest CPU validation from command line creation (Jiri Denemark),<br/>
      testutilsqemu: Add default CPU for PPC64 architectures (Jiri Denemark),<br/>
      testutilsqemu: Helpers for changing host CPU and arch (Jiri Denemark),<br/>
      qemuxml2argvtest: Properly initialize qemuCaps-&gt;arch (Jiri Denemark),<br/>
      qemuxml2argvtest: Update qemuCaps after parsing domain XML (Jiri Denemark),<br/>
      qemuxml2argvtest: Reorder functions (Jiri Denemark),<br/>
      qemuxml2argvtest: Get rid of testCompareXMLToArgvHelper (Jiri Denemark),<br/>
      qemuxml2argvtest: Rename "out" labels as "cleanup" (Jiri Denemark),<br/>
      qemuxml2argvtest: Rename extraFlags as qemuCaps (Jiri Denemark),<br/>
      qemu: Use virDomainCapsCPUModels for cpuDefinitions (Jiri Denemark),<br/>
      domcaps: Add support for listing supported CPU models (Jiri Denemark),<br/>
      cpuGetModels: Switch to virArch (Jiri Denemark),<br/>
      libxl: support VIR_MIGRATE_PERSIST_DEST migration flag (Jim Fehlig),<br/>
      qemu_process: move graphics validation into separate function (Pavel Hrdina),<br/>
      qemu_process: show shutoff reasons when debug log disabled (Chen Hanxiao),<br/>
      qemu: domain: Add macro to simplify access to vm private data (Peter Krempa),<br/>
      conf: Introduce virDomainObjGetOneDefState (Peter Krempa),<br/>
      qemu: Ignore graphics cookie if port == 0 (Jiri Denemark),<br/>
      qemu: agent: give better error messages whe agent monitor is down (Nikolay Shirokovskiy),<br/>
      qemu: agent: reissue sync on garbage sync reply (Nikolay Shirokovskiy),<br/>
      qemu: agent: skip outdated sync replies (Nikolay Shirokovskiy),<br/>
      qemu: agent: ignore garbage while waiting for sync reply (Nikolay Shirokovskiy),<br/>
      qemu: agent: ignore delayed reply when unsynced (Nikolay Shirokovskiy),<br/>
      conf: Add some shmem helpers for future use (Martin Kletzander),<br/>
      qemu: Add qemuAssignDeviceShmemAlias and use it (Martin Kletzander),<br/>
      qemu: Rename qemuBuildShmemBackendStr to qemuBuildShmemBackendChrStr (Martin Kletzander),<br/>
      qemu: Abstract shmem socket path preparation (Martin Kletzander),<br/>
      qemu: Reorder shmem params nicely (Martin Kletzander),<br/>
      qemu: Move common checks outside qemuBuildShmemDevLegacyStr (Martin Kletzander),<br/>
      qemu: Rename qemuBuildShmemDevStr to qemuBuildShmemDevLegacyStr (Martin Kletzander),<br/>
      qemu: Make qemuBuildShmemDevStr static (Martin Kletzander),<br/>
      virt-admin: Add some command aliases to provide syntax sugar over ugly commands (Erik Skultety),<br/>
      virt-admin: Tweak command parsing logic so that aliases point to new commands (Erik Skultety),<br/>
      vsh: discard vshCmddefOptFill and move its body to vshCmddefOptParse (Erik Skultety),<br/>
      vsh: Extract vshCmddefCheckInternals from vshCmddefOptParse (Erik Skultety),<br/>
      vsh: vshCmddefHelp: Drop the unnecessary 'else' branch (Erik Skultety),<br/>
      vsh: vshCmddefHelp: Drop unnecessary variable 'help' (Erik Skultety),<br/>
      vsh: Enforce checking for missing help string (Erik Skultety),<br/>
      test: update capability replies for qemu-2.7.0 (Pavel Hrdina),<br/>
      Revert "configure: Check for major() more strictly" (Eric Blake),<br/>
      build: update to latest gnulib (Eric Blake),<br/>
      qemu: Introduce qemuGetHupageMemPath (Michal Privoznik),<br/>
      qemu_agent|monitor: use different log on hangup event (Chen Hanxiao),<br/>
      conf: Allow copying of shmem defs (Martin Kletzander),<br/>
      schema: Allow shmem to have alias (Martin Kletzander),<br/>
      qemuhotplugtest: Only read result_filename if used (Martin Kletzander),<br/>
      test driver: Implement testNodeGetFreePages. (Tomáš Ryšavý),<br/>
      test driver: added pages sizes into XML into test driver. (Tomáš Ryšavý),<br/>
      test driver: Implement testNodeGetFreeMemory (Tomáš Ryšavý),<br/>
      test driver: Implement testNodeGetCPUStats (Tomáš Ryšavý),<br/>
      test driver: Implement virConnectGetType. (Tomáš Ryšavý),<br/>
      test driver: Implement virConnectGetSysinfo. (Tomáš Ryšavý),<br/>
      test_driver: Replace magic constant (Tomáš Ryšavý),<br/>
      virhostcpu: Expose virHostCPUStatsAssign (Tomáš Ryšavý),<br/>
      virsh: use virConnectGetDomainCapabilities with maxvcpus (Shivaprasad G Bhat),<br/>
      tests: Use fixedcontent variable (Martin Kletzander),<br/>
      hyperv: additional server 2008 wmi classes (Jason Miesionczek),<br/>
      tests: Self test virt-admin (Michal Privoznik),<br/>
      virsh: Move cmdSelfTest to vsh (Michal Privoznik),<br/>
      qemu: monitor: Add vcpu state information to monitor data (Peter Krempa),<br/>
      qemu: monitor: qemuMonitorGetCPUInfoHotplug: Add iterator 'anycpu' (Peter Krempa),<br/>
      qemu: monitor: Use a more obvious iterator name (Peter Krempa),<br/>
      qemuDomainGetBlockJobInfo: Move info translation into separate func (Michal Privoznik),<br/>
      util: numa: Remove impossible error handling (Peter Krempa),<br/>
      qemu: Add missing 'p' to qemuCgrouEmulatorAllNodesRestore (Peter Krempa),<br/>
      virsh: add --keep-nvram option to undefine command (Nikolay Shirokovskiy),<br/>
      qemu: add VIR_DOMAIN_UNDEFINE_KEEP_NVRAM support (Nikolay Shirokovskiy),<br/>
      api: add VIR_DOMAIN_UNDEFINE_KEEP_NVRAM flag (Nikolay Shirokovskiy),<br/>
      qemu: avoid parameter named 'listen' (Daniel P. Berrange),<br/>
      storage: Need to refresh secret for luks volume after volume refresh (John Ferlan),<br/>
      libxl: implement virConnectBaselineCPU (Joao Martins),<br/>
      libxl: implement virConnectCompareCPU (Joao Martins),<br/>
      libxl: describe host cpu features based on hwcaps (Joao Martins),<br/>
      libxl: describe host topology in capabilities (Joao Martins),<br/>
      qemu: domain: Clear startup policy for dropped removable media (Peter Krempa),<br/>
      qemu: Implement virtio-net rx_queue_size (Michal Privoznik),<br/>
      qemu_capabilities: Introduce virtio-net-*.rx_queue_size (Michal Privoznik),<br/>
      conf: Add support for virtio-net.rx_queue_size (Michal Privoznik),<br/>
      conf: Add new secret type "tls" (John Ferlan),<br/>
      qemu: Add the ability to hotplug the TLS X.509 environment (John Ferlan),<br/>
      qemu: Add support for TLS X.509 path to TCP chardev backend (John Ferlan),<br/>
      conf: Introduce chartcp_tls_x509_cert_dir (John Ferlan),<br/>
      conf: Add new default TLS X.509 certificate default directory (John Ferlan),<br/>
      Add helper for removing transient definition (Jiri Denemark),<br/>
      virsh: Fix *-event error string (Christophe Fergeau),<br/>
      qemu: driver: Remove unnecessary condition (Peter Krempa),<br/>
      qemu: cgroup: Extract temporary relaxing of cgroup setting for vcpu hotplug (Peter Krempa),<br/>
      qemu: guest agent: introduce new error code VIR_ERR_AGENT_UNSYNCED (Yuri Pudgorodskiy),<br/>
      tools: Pass opaque data in vshCompleter and introduce autoCompleteOpaque (Nishith Shah),<br/>
      libvirt-guests.service: Add Requires=libvirtd.service (Andrea Bolognani),<br/>
      libvirt-guests.service: Split After= relationship (Andrea Bolognani),<br/>
      libvirt-guests.service: Improve description (Andrea Bolognani),<br/>
      virtlogd.socket: Tie lifecycle to libvirtd.service (Andrea Bolognani),<br/>
      tests: add missing data files for core config (Daniel P. Berrange),<br/>
      qemu: Don't warn about missing device in DEVICE_DELETED event (Jiri Denemark),<br/>
      qemu: allow turning off QEMU guest RAM dump globally (Daniel P. Berrange),<br/>
      qemu: add a max_core setting to qemu.conf for core dump size (Daniel P. Berrange),<br/>
      util: storage: Add json pseudo protocol support for legacy RBD strings (Peter Krempa),<br/>
      virsh: Complete multiple options when any one option requires data (Nishith Shah),<br/>
      virsh: Allow data or argument options to be completed as well (Nishith Shah),<br/>
      virsh: Introduce usage of option completers to auto-complete arguments (Nishith Shah),<br/>
      perf: add more perf events support (Qiaowei Ren),<br/>
      perf: Adjust the perf initialization (Qiaowei Ren),<br/>
      util: Move virPerfNew and virPerfFree (John Ferlan),<br/>
      virsh: Rework the perf event names into a table. (John Ferlan),<br/>
      virsh: Add a forward reference to perf command from domstats --perf (John Ferlan),<br/>
      util: Add some comment details for virPerfEventType (Qiaowei Ren),<br/>
      perf: Remove the switch from qemuDomainGetStatsPerf (Qiaowei Ren),<br/>
      perf: rename qemuDomainGetStatsPerfRdt() (Qiaowei Ren),<br/>
      qemu: Filter cur_balloon ABI check for certain transactions (Nikolay Shirokovskiy),<br/>
      xmconfigdata: drop tests for multi serial (Bob Liu),<br/>
      xlconfigdata: add tests for multi serial (Bob Liu),<br/>
      xenconfig: rm format/parse multi serial for xen-xm (Bob Liu),<br/>
      libxl: support serial list (Bob Liu),<br/>
      virpci: support driver_override sysfs interface (Jim Fehlig),<br/>
      libxl: allow vendor/product addressing for USB hostdevs (Cédric Bosdonnat),<br/>
      Add virHostdevFindUSBDevice to private symbols (Cédric Bosdonnat)<br/>
      </li>

    </ul>
   <h3>v2.2.0: Sep 02 2016</h3>
    <ul>
      <li>Features:<br/>
      Sparse vCPU topologies support and assorted vCPU improvements (Peter Krempa),<br/>
      Various improvements and fixes for vz driver (Olga Krishtal, Nikolay Shirokovskiy, Maxim Nestratov, Pavel Glushchak, Mikhail Feoktistov),<br/>
      Various improvements and fixes for libxl driver (Cédric Bosdonnat, Jim Fehlig, Chunyan Liu, Roman Bogorodskiy)<br/>
      </li>

      <li>Documentation:<br/>
      docs: Add missing / to closing tag (Christophe Fergeau),<br/>
      doc: clarify documentation for vcpu order (Peter Krempa),<br/>
      storage_backend_rbd: fix typos (Chen Hanxiao),<br/>
      qemu_driver: update comments for qemuDomainSaveInternal (Chen Hanxiao),<br/>
      virsh: clarify snapshot --live (Chen Hanxiao)<br/>
      </li>

      <li>Portability:<br/>
      conf: Fix build with picky GCC (Peter Krempa),<br/>
      tests: fix domaincapstest linking for libxl (Roman Bogorodskiy),<br/>
      libxl: fix unused functions (Roman Bogorodskiy),<br/>
      docs: Distribute subsite.xsl (Michal Privoznik),<br/>
      nsslinktest: also build virAtomic.h (Kai Kang),<br/>
      build: centralize use of extra Cygwin LDFLAGS (Eric Blake),<br/>
      build: use XDR_CFLAGS for Cygwin build (Eric Blake)<br/>
      </li>

      <li>Bug Fixes:<br/>
      tests: fix segfault in objecteventtest (Roman Bogorodskiy),<br/>
      bhyve: fix disks address allocation (Roman Bogorodskiy),<br/>
      Check for --live flag for postcopy-after-precopy migration (Kothapally Madhu Pavan),<br/>
      qemu: driver: Validate configuration when setting maximum vcpu count (Peter Krempa),<br/>
      conf: Don't validate vcpu count in XML parser (Peter Krempa),<br/>
      qemu: driver: Fix qemuDomainHelperGetVcpus for sparse vcpu topologies (Peter Krempa),<br/>
      vz: fixed race in vzDomainAttach/DettachDevice (Olga Krishtal),<br/>
      qemu: fix ethernet network type ip/route assign (Vasiliy Tolstov),<br/>
      Fix remote_protocol-structs after recent commit (Peter Krempa),<br/>
      network: Need to free formatted addr in networkDnsmasqConfContents (John Ferlan),<br/>
      remove the dead code this patch is to remove the dead code Signed-off-by: JieWang &lt;wangjie88@huawei.com&gt; (JieWang),<br/>
      qemu: Fix crash hot plugging luks volume (John Ferlan),<br/>
      networkxml2conftest: Don't leak dnsmasq capabilities (Michal Privoznik),<br/>
      vz: fixed race in vzDomainAttach/DettachDevice (Olga Krishtal),<br/>
      qemu: Fix the command line generation for rbd auth using aes secrets (John Ferlan),<br/>
      qemu_process: graphics: setup listen types before ports are reserved/allocated (Pavel Hrdina),<br/>
      conf: Provide error on undefined iothreadsched entry (John Ferlan),<br/>
      utils: storage: Fix JSON field name for uri based storage (Peter Krempa),<br/>
      conf: free the ports array of a USB hub (Ján Tomko),<br/>
      lxc: don't try to reference NULL when mounting filesystems (Daniel P. Berrange),<br/>
      lxc: don't try to resolve a NULL path for filesystems (Daniel P. Berrange),<br/>
      virsh: Fix core for cmdSecretGetValue (John Ferlan),<br/>
      virschematest: Make sure that validator is initialized (Michal Privoznik),<br/>
      cpu_x86: fix libvirtd crash when host cpu vendor is not available (Jim Fehlig),<br/>
      virschematest: Initialize @data (Michal Privoznik),<br/>
      schema: Don't validate paths (Michal Privoznik),<br/>
      virNetDevMacVLanCreateWithVPortProfile: Don't mask virNetDevMacVLanTapOpen error (Michal Privoznik),<br/>
      qemu: fix qemu.conf security_driver (Cole Robinson),<br/>
      conf: restrict expander buses to connect only to a root bus (Laine Stump),<br/>
      conf: restrict where dmi-to-pci-bridge can be connected (Laine Stump),<br/>
      conf: don't allow connecting upstream-port directly to pce-expander-bus (Laine Stump),<br/>
      conf: improve error log when PCI devices don't match requested controller (Laine Stump),<br/>
      virt-admin: Fix the error when an invalid URI has been provided (Erik Skultety),<br/>
      cpu_x86: Fix host-model CPUs on hosts with CMT (Jiri Denemark),<br/>
      virt-admin: Properly fix the default session daemon URI to admin server (Erik Skultety),<br/>
      admin: Fix the default uri for session daemon to libvirtd:///session (Erik Skultety),<br/>
      virsystemd: Fix error check (Marc Hartmayer),<br/>
      lxcDomainCreateXMLWithFiles: Avoid crash (Michal Privoznik),<br/>
      storage: Don't remove the pool for buildPool failure in storagePoolCreate (John Ferlan),<br/>
      storage: Fix a NULL ptr dereference in virStorageBackendCreateQemuImg (Erik Skultety),<br/>
      tests: Fix broken build (John Ferlan),<br/>
      qemu: fix capability counting (Boris Fiuczynski),<br/>
      virObjectEventNew: Use virObjectUnref() to free virObjectEvent (Michal Privoznik),<br/>
      virshConnect: Don't leak polkit agent (Michal Privoznik),<br/>
      conf: events: Fix coverity warning (Cole Robinson),<br/>
      Don't error when attaching security label of model "none" (Daniel P. Berrange),<br/>
      qemu: only report errno in trace message on failure (Daniel P. Berrange),<br/>
      qemu: Set fake reboot flag to false when mode=agent (Nikolay Shirokovskiy),<br/>
      libxl: Fix broken build attach/detach controller device (John Ferlan),<br/>
      libxl: Fix broken build from libxlDomainCleanup (John Ferlan),<br/>
      admin: rpc: virnetserver: Fix updating of the client limits (Erik Skultety),<br/>
      libxl: fix segfault in libxlReconnectDomain (Cédric Bosdonnat),<br/>
      qemu: Fix domain state after reset (Martin Kletzander),<br/>
      virsh: Report error when explicit connection fails (Martin Kletzander),<br/>
      qemu: Fix support for startupPolicy with volume/pool disks (Martin Kletzander)<br/>
      </li>

      <li>Improvements:<br/>
      Make --postcopy flag mandatory with --postcopy-after-precopy (Kothapally Madhu Pavan),<br/>
      tools: Don't list virsh-* under EXTRA_DIST (Michal Privoznik),<br/>
      libxl: advertise support for migration V3 (Jim Fehlig),<br/>
      virsh: vcpuinfo: Report vcpu number from the structure rather than it's position (Peter Krempa),<br/>
      vz: getting bus type for containers (Mikhail Feoktistov),<br/>
      vz: update domain cache after device updates (Nikolay Shirokovskiy),<br/>
      vz: added VIR_MIGRATE_PARAM_BANDWIDTH param handling (Pavel Glushchak),<br/>
      vz: implicitly support additional migration flags (Pavel Glushchak),<br/>
      qemu: set tap device online for type='ethernet' (Laine Stump),<br/>
      qemu: remove unnecessary setting of tap device online state (Laine Stump),<br/>
      qemu: hotplug: Add support for VCPU unplug (Peter Krempa),<br/>
      qemu: hotplug: Allow marking unplugged devices by alias (Peter Krempa),<br/>
      qemu: Use modern vcpu hotplug approach if possible (Peter Krempa),<br/>
      qemu: command: Add support for sparse vcpu topologies (Peter Krempa),<br/>
      qemu: process: Copy final vcpu order information into the vcpu definition (Peter Krempa),<br/>
      qemu: command: Add helper to convert vcpu definition to JSON props (Peter Krempa),<br/>
      qemu: migration: Prepare for non-contiguous vcpu configurations (Peter Krempa),<br/>
      conf: Add XML for individual vCPU hotplug (Peter Krempa),<br/>
      util: Extract and rename qemuDomainDelCgroupForThread to virCgroupDelThread (Peter Krempa),<br/>
      qemu: domain: Prepare for VCPUs vanishing while libvirt is not running (Peter Krempa),<br/>
      qemu: domain: Extract cpu-hotplug related data (Peter Krempa),<br/>
      tests: cpu-hotplug: Add data for ppc64 without threads enabled (Peter Krempa),<br/>
      tests: cpu-hotplug: Add data for ppc64 out-of-order hotplug (Peter Krempa),<br/>
      tests: cpu-hotplug: Add data for ppc64 platform including hotplug (Peter Krempa),<br/>
      tests: cpu-hotplug: Add data for x86 hotplug with 11+ vcpus (Peter Krempa),<br/>
      tests: Add test infrastructure for qemuMonitorGetCPUInfo (Peter Krempa),<br/>
      qemu: monitor: Add algorithm for combining query-(hotpluggable-)-cpus data (Peter Krempa),<br/>
      qemu: monitor: Add support for calling query-hotpluggable-cpus (Peter Krempa),<br/>
      qemu: monitor: Extract QOM path from query-cpus reply (Peter Krempa),<br/>
      qemu: capabilities: Extract availability of new cpu hotplug for machine types (Peter Krempa),<br/>
      qemu: Forbid config when topology based cpu count doesn't match the config (Peter Krempa),<br/>
      qemu: Add capability for query-hotpluggable-cpus command (Peter Krempa),<br/>
      qemu: monitor: Return struct from qemuMonitor(Text|Json)QueryCPUs (Peter Krempa),<br/>
      qemu: monitor: Return structures from qemuMonitorGetCPUInfo (Peter Krempa),<br/>
      virsh: use vshError consistently after virBufferError checks (Pino Toscano),<br/>
      virsh: avoid i18n puzzle (Pino Toscano),<br/>
      virsh: respect -q/--quiet more (Pino Toscano),<br/>
      vz: add ACL checks to API calls (Nikolay Shirokovskiy),<br/>
      remote: rename protocol names for close callbacks (Nikolay Shirokovskiy),<br/>
      vz: prepare migration for ACL checks (Nikolay Shirokovskiy),<br/>
      vz: expand setting memory API calls (Nikolay Shirokovskiy),<br/>
      vz: add missing flagged versions of API functions (Nikolay Shirokovskiy),<br/>
      vz: factor out converting block stats to params (Nikolay Shirokovskiy),<br/>
      vz: factor out block stats impl (Nikolay Shirokovskiy),<br/>
      vz: implement plain create API thru createFlags instead of visa versa (Nikolay Shirokovskiy),<br/>
      vz: expand start/stop/... APIs for ACL checks (Nikolay Shirokovskiy),<br/>
      network: allow limiting a &lt;forwarder&gt; element to certain domains (Laine Stump),<br/>
      network: allow disabling dnsmasq's DNS server (Laine Stump),<br/>
      network: new network forward mode 'open' (Laine Stump),<br/>
      vz: add validation callbacks (Mikhail Feoktistov),<br/>
      vz: specify VIR_DOMAIN_NET_TYPE_NETWORK for routed networks (Maxim Nestratov),<br/>
      vz: reset errors after ignoring return values (Maxim Nestratov),<br/>
      vz: don't fail query domain info in case we don't have valid stats handle (Maxim Nestratov),<br/>
      vz: get additional error information from job correctly (Maxim Nestratov),<br/>
      cfg.mk: join not_streq and not_strneq tests (Ján Tomko),<br/>
      cfg.mk: drop redundant sc_prohibit_gethostby (Ján Tomko),<br/>
      cfg.mk: use subst instead of tr (Ján Tomko),<br/>
      tests: fix the return value of test-wrap-argv (Ján Tomko),<br/>
      maint: update to latest gnulib (Ján Tomko),<br/>
      Introduce QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY (Ján Tomko),<br/>
      conf: Provide error on undefined vcpusched entry (John Ferlan),<br/>
      qemu_process: graphics: reserve port only if listen type is address or network (Pavel Hrdina),<br/>
      qemu_process: graphics: extract for loop out of qemuProcessGraphicsReservePorts (Pavel Hrdina),<br/>
      qemu_process: graphics: extract port allocation into function (Pavel Hrdina),<br/>
      qemu_process: graphics: ref driver config only in function where it is used (Pavel Hrdina),<br/>
      util: Make virStringArrayHasString() const-correct (Andrea Bolognani),<br/>
      qemu: driver: Split out regular vcpu hotplug code into a function (Peter Krempa),<br/>
      qemu: driver: Extract setting of live vcpu count (Peter Krempa),<br/>
      qemu: setvcpus: Extract setting of maximum vcpu count (Peter Krempa),<br/>
      conf: report an error message for non-existing USB hubs (Ján Tomko),<br/>
      qemu: setcpus: Report better errors (Peter Krempa),<br/>
      libxl_driver: Indent LIBXL_VBD_SECTOR_SIZE macro correctly (Michal Privoznik),<br/>
      Introduce node device update event as top level event (Jovanka Gulicoska),<br/>
      qemu_command: don't modify heads for graphics device (Pavel Hrdina),<br/>
      qemu: command: Simplify USB controller model selection (Andrea Bolognani),<br/>
      qemu: domain: Drop piix3-ohci controller for migration (Andrea Bolognani),<br/>
      qemu: domain: Reflect USB controller model in guest XML (Andrea Bolognani),<br/>
      virNetDevMacVLanCreateWithVPortProfile: Drop @ret (Michal Privoznik),<br/>
      virNetDevMacVLanCreateWithVPortProfile: Drop @rc (Michal Privoznik),<br/>
      tests: Add a test for host-model CPU with CMT feature (Jiri Denemark),<br/>
      cpu_x86: Properly drop non-migratable features (Jiri Denemark),<br/>
      cpu_x86: Introduce x86FeatureIsMigratable (Jiri Denemark),<br/>
      virsh: Introduce nodedev-event command (Jovanka Gulicoska),<br/>
      vz: add vzDomainGetJobStats (Nikolay Shirokovskiy),<br/>
      vz: add getting job info for migration (Nikolay Shirokovskiy),<br/>
      Fix indentation (Ján Tomko),<br/>
      qemu: Add tests for virQEMUCapsNewCopy (Jiri Denemark),<br/>
      qemu: Copy missing QEMU caps elements (Jiri Denemark),<br/>
      qemu: Copy QEMU caps elements in order of definition (Jiri Denemark),<br/>
      tests: qemucapabilities: Add data for qemu 2.7.0 (Peter Krempa),<br/>
      internal: Introduce macro for stealing pointers (Peter Krempa),<br/>
      qemu: Advertise OVMF_CODE.secboot.fd (Michal Privoznik),<br/>
      qemu: Enable secure boot (Michal Privoznik),<br/>
      Introduce @secure attribute to os loader element (Michal Privoznik),<br/>
      Introduce SMM feature (Michal Privoznik),<br/>
      qemuBuildMachineCommandLine: Follow our pattern (Michal Privoznik),<br/>
      rpm: set TLS priority to @LIBVIRT,SYSTEM on Fedora &gt;= 25 (Daniel P. Berrange),<br/>
      tests: qemuxml2xml: Add some USB test cases (Andrea Bolognani),<br/>
      tests: qemuxml2xml: Use DO_TEST() for most tests (Andrea Bolognani),<br/>
      tests: qemuxml2xml: Pass capabilities to DO_TEST() (Andrea Bolognani),<br/>
      tests: qemuxml2xml: Use WHEN_BOTH for most tests (Andrea Bolognani),<br/>
      tests: qemuxml2xml: Clean up disk-mirror (Andrea Bolognani),<br/>
      tests: qemuxml2argv: Fix usb-too-long-port-path-invalid (Andrea Bolognani),<br/>
      tests: qemuxml2argv: Remove useless GIC flags (Andrea Bolognani),<br/>
      libxlDoMigrateReceive: Drop useless check for !vm (Michal Privoznik),<br/>
      securityselinuxlabeltest: Prefer virGetLastErrorMessage() over virGetLastError (Michal Privoznik),<br/>
      virqemu: Reflect return type of virJSONValueArraySize() (Michal Privoznik),<br/>
      qemu: domain: Simplify return values of qemuDomainRefreshVcpuInfo (Peter Krempa),<br/>
      qemu: domain: Improve vCPU data checking in qemuDomainRefreshVcpu (Peter Krempa),<br/>
      qemu: monitor: Rename qemuMonitor(JSON|Text)GetCPUInfo (Peter Krempa),<br/>
      qemu: domain: Rename qemuDomainDetectVcpuPids to qemuDomainRefreshVcpuInfo (Peter Krempa),<br/>
      qemu: Improve error message in virDomainGetVcpus (Peter Krempa),<br/>
      qemu: monitor: Add do-while block to QEMU_CHECK_MONITOR_FULL (Peter Krempa),<br/>
      qemu: monitor: Add monitor API for device_add supporting JSON objects (Peter Krempa),<br/>
      libxl: allow libxl to calculate shadow mem requirements (Jim Fehlig),<br/>
      qemu: Add support to get/set IOThread period and quota cgroup values (John Ferlan),<br/>
      conf: Add IOThread quota and period scheduler/cputune defs (John Ferlan),<br/>
      virsh: qemu-monitor-command: Don't print extra newline with --pretty (Peter Krempa),<br/>
      tests: Make schema test fail on XML schema errors (Peter Krempa),<br/>
      remote: Fix indentation of the remote protocol structs check file (Peter Krempa),<br/>
      qemu: Use the hostdev alias in qemuDomainAttachHostSCSIDevice error path (John Ferlan),<br/>
      qemu: Use qemuAliasFromHostdev (John Ferlan),<br/>
      qemu: Introduce qemuAliasFromHostdev (John Ferlan),<br/>
      qemu: Add attempt to call qemuMonitorDriveDel for AttachSCSI failure path (John Ferlan),<br/>
      qemu: Add attempt to call qemuMonitorDriveDel for USB failure path (John Ferlan),<br/>
      qemu: Make QEMU_DRIVE_HOST_PREFIX more private (John Ferlan),<br/>
      qemu: Use qemuAliasFromDisk to generate drive alias (John Ferlan),<br/>
      qemu: Use qemuAliasFromDisk instead of qemuDeviceDriveHostAlias (John Ferlan),<br/>
      qemu: Use qemuAliasFromDisk to generate drive alias (John Ferlan),<br/>
      qemu: Remove generation of drive alias from qcow passphrase backends (John Ferlan),<br/>
      qemu: Reorder qemuDomainAttachUSBMassStorageDevice failure path (John Ferlan),<br/>
      event-test: support node device lifecycle event APIs (Jovanka Gulicoska),<br/>
      node_device: Implement event queue in udev (Jovanka Gulicoska),<br/>
      node_device: implement node device lifecycle event APIs (Jovanka Gulicoska),<br/>
      remote: implement node device lifecycle event APIs (Jovanka Gulicoska),<br/>
      test: implement node device lifecycle event APIs (Jovanka Gulicoska),<br/>
      conf: add node_device_event handling (Jovanka Gulicoska),<br/>
      Introduce node device lifecycle event APIs (Jovanka Gulicoska),<br/>
      qemu: Set fake reboot flag only in acpi mode for shutdown (Nikolay Shirokovskiy),<br/>
      rpc: virnetserver: Remove dead code checking the client limits (Erik Skultety),<br/>
      rpc: virnetserver: Add code to CheckLimits to handle suspending of services (Erik Skultety),<br/>
      rpc: virnetserver: Move virNetServerCheckLimits which is static up in the file (Erik Skultety),<br/>
      rpc: virnetserver: Rename ClientSetProcessingControls to ClientSetLimits (Erik Skultety),<br/>
      libxl: add hooks support (Cédric Bosdonnat),<br/>
      libxl: add a flag to mark guests as tainted by a hook (Cédric Bosdonnat),<br/>
      qemuDomainDeviceDefPostParse: add USB controller model check (Chunyan Liu),<br/>
      xenconfig: add conversion of usb controller config to and from xml (Chunyan Liu),<br/>
      libxl: check available controller and port when hotplugging USB device (Chunyan Liu),<br/>
      libxl: support usb controller hotplug (Chunyan Liu),<br/>
      libxl: support USB controllers in creation time (Chunyan Liu),<br/>
      extend usb controller model to support xen pvusb (Chunyan Liu),<br/>
      virsh: qemu-monitor-command: Simplify control flow (Peter Krempa),<br/>
      virsh: qemu-monitor-command: Use macro for exclusive options (Peter Krempa),<br/>
      qemu: cap: Refactor access to array in virQEMUCapsProbeQMPMachineTypes (Peter Krempa),<br/>
      qemu: caps: Sanitize storage of machine type related data (Peter Krempa),<br/>
      qemu: capabilities: Drop unused function virQEMUCapsGetMachineTypes (Peter Krempa),<br/>
      storage: Clean up volume wiping (Martin Kletzander),<br/>
      storage: Use path instead of volume as an argument (Martin Kletzander),<br/>
      storage: Move functions around (Martin Kletzander),<br/>
      qemu: Remove unnecessary label and its only reference (Martin Kletzander),<br/>
      qemu: Make qemuDomainCheckDiskStartupPolicy self-contained (Martin Kletzander),<br/>
      Post-release version bump to 2.2.0 (Michal Privoznik),<br/>
      Fix unbalanced quotation marks (Yuri Chornoivan)<br/>
      </li>

      <li>Cleanups:<br/>
      </li>
    </ul>
   <h3>v2.1.0: Aug 02 2016</h3>
    <ul>
      <li>Documentation:<br/>
      docs: Add Kimchi as Web Application (Ramon Medeiros),<br/>
      docs: Update docs to reflect LUKS secret changes (John Ferlan),<br/>
      docs: remove outdated suggestion to make patches with "diff -urp"/"git diff" (Laine Stump)<br/>
      </li>

      <li>Portability:<br/>
      Fix RPM spec for wireshark on Fedora &lt; 24 (Daniel P. Berrange),<br/>
      libvirt.spec.in: Adapt to newest wireshark plugindir (Michal Privoznik),<br/>
      virt-wireshark: Properly substract wireshark prefix (Michal Privoznik),<br/>
      virConfGetValueSSizeT: Fix build on 32 bits (Michal Privoznik),<br/>
      tests: command: Fix build on ppc64/aarch64 (Andrea Bolognani),<br/>
      libvirt.spec.in: require systemd-container on &gt;= f24 (Daniel P. Berrange),<br/>
      build: drop hack for old mingw ssize_t (Eric Blake),<br/>
      build: virrandommock.c not needed on mingw (Eric Blake),<br/>
      maint: update to latest gnulib (Martin Kletzander),<br/>
      mingw-libvirt.spec.in: add perl + perl(Getopt::Long) BRs (Daniel P. Berrange),<br/>
      mingw-libvirt.spec.in: fix packaging of admin API and other bugs (Daniel P. Berrange)<br/>
      </li>

      <li>Bug Fixes:<br/>
      storage: Document wiping formatted volume types (Martin Kletzander),<br/>
      qemu: remove panic dev models s390 and pseries when migrating (Boris Fiuczynski),<br/>
      schema: fix resolved interfaces of network type (Nikolay Shirokovskiy),<br/>
      qemu: fix domain id after domainCreateWithFlags() (Sascha Silbe),<br/>
      tests: qemu: Don't leak security manager object (Peter Krempa),<br/>
      qemu: Need to free fileprops in error path (John Ferlan),<br/>
      iscsi: Establish connection to target via static target login (John Ferlan),<br/>
      tools: Make use of the correct environment variables (Erik Skultety),<br/>
      qemu: Adjust the cur_ballon on coldplug/unplug of dimms (Shivaprasad G Bhat),<br/>
      virconf: Fix config file path construction (Erik Skultety),<br/>
      util: qemu: Don't generate any extra commas in virQEMUBuildCommandLineJSON (Peter Krempa),<br/>
      tests: qemuxml2xml: Avoid crash when processing an XML that fails to parse (Peter Krempa),<br/>
      conf: events: handle NULL uuid (Jovanka Gulicoska),<br/>
      lxc: Don't crash by forgetting to ref transient domains (Martin Kletzander),<br/>
      vz: handle gracefully races on undefining domain (Nikolay Shirokovskiy),<br/>
      qemu: Disallow usage of luks encryption if aes secret not possible (John Ferlan),<br/>
      storage: Fix error path (John Ferlan),<br/>
      lxc: errors after the handshake won't be reported (Cédric Bosdonnat),<br/>
      vsh: Properly initialize res (John Ferlan),<br/>
      conf: Need to check for glisten before accessing (John Ferlan),<br/>
      tests: Need to check return of virGetLastError (John Ferlan),<br/>
      tools: Fix comparison in virLoginShellGetShellArgv (John Ferlan),<br/>
      util: Fix incorrect VIR_FREE in virConfGetValueStringList (John Ferlan),<br/>
      fs: Fix '&lt;' comparison of value produced by logical not '!' (Erik Skultety),<br/>
      security: compilation error due to wrong parameter for vah_add_path(). (Julio Faracco),<br/>
      vz: don't fail unregister on sending event error (Nikolay Shirokovskiy),<br/>
      vz: dont remove domain from list on client object error (Nikolay Shirokovskiy),<br/>
      vz: restore accidentally removed locks around close callback calls (Nikolay Shirokovskiy),<br/>
      vz: fixed null-pointer dereference in applying graphic params (Olga Krishtal),<br/>
      vz: fix destination domain synchronization (Nikolay Shirokovskiy),<br/>
      vz: fix memory leaks in prlsdkLoadDomains (Nikolay Shirokovskiy),<br/>
      vz: fix missed defined domain event (Nikolay Shirokovskiy),<br/>
      vz: don't pass empty and unused fields in migration cookie (Nikolay Shirokovskiy),<br/>
      qemu: Fix migration from old libvirt (Jiri Denemark),<br/>
      qemu: Drop default channel path during migration (Jiri Denemark),<br/>
      qemu: Copy complete domain def in qemuDomainDefFormatBuf (Jiri Denemark),<br/>
      conf: Make really sure we don't access non-existing vCPUs again (Martin Kletzander),<br/>
      conf: Make really sure we don't access non-existing vCPUs (Martin Kletzander),<br/>
      qemu: getAutoDumpPath() return value should be dumpfile not domname. (Yan Fu),<br/>
      systemd: fix ready notification on abstract socket (Jim Fehlig),<br/>
      virCommandExec: Report error if execve fails (Michal Privoznik),<br/>
      storage: dir: adapts .wipeVol for ploop volumes (Olga Krishtal),<br/>
      virconf: fix off-by-1 when appending \n to config file (Daniel P. Berrange),<br/>
      qemuxml2argvmock: Don't leak @netdef-&gt;ifname (Michal Privoznik),<br/>
      qemuxml2argvtest: Don't leak dummy monitor (Michal Privoznik),<br/>
      qemuDomainObjPrivateFree: Free @masterKey too (Michal Privoznik),<br/>
      qemuBuildCpuCommandLine: Don't leak @buf (Michal Privoznik),<br/>
      virStorageEncryptionSecretFree: Don't leak secret lookup definition (Michal Privoznik),<br/>
      Fix logic in qemuDomainObjPrivateXMLParseVcpu (Daniel P. Berrange),<br/>
      qemu: Properly reset spiceMigration flag (Jiri Denemark),<br/>
      virDomainHostdevDefFree: Don't leak privateData (Michal Privoznik)<br/>
      </li>

      <li>Improvements:<br/>
      daemon: sasl: Don't forget to save SASL username to client's identity (Erik Skultety),<br/>
      admin: Retrieve the SASL context for both local and remote connection (Erik Skultety),<br/>
      wireshark: Drop glib dependency (Michal Privoznik),<br/>
      schema: add missed alias element to memory device (Nikolay Shirokovskiy),<br/>
      conf: Catch invalid memory model earlier (Michal Privoznik),<br/>
      admin: Fix default uri config option name s/admin_uri_default/uri_default (Erik Skultety),<br/>
      wireshark: Adapt to dissector function header change (Michal Privoznik),<br/>
      util: Introduce virISCSINodeNew (John Ferlan),<br/>
      vsh: Make vshInitDebug return int instead of void (Erik Skultety),<br/>
      Refresh translations from zanata (Daniel P. Berrange),<br/>
      vshReadlineParse: Drop some unused variables (Michal Privoznik),<br/>
      vshCmddefGetOption: Change type of opt_index (Michal Privoznik),<br/>
      libvirt.spec.in: fix indentation in previous commit (Daniel P. Berrange),<br/>
      storage: remove "luks" storage volume type (Daniel P. Berrange),<br/>
      virstoragefile: refactor virStorageFileMatchesNNN methods (Daniel P. Berrange),<br/>
      qemu: return balloon statistics when all domain statistics reported (Derbyshev Dmitry),<br/>
      qemu: split qemuDomainMemoryStats into internal and external functions (Derbyshev Dmitry),<br/>
      qemu: fix domain memory 'last-update' timestamp (Pavel Hrdina),<br/>
      qemu: fix domain memory 'usable' stat (Pavel Hrdina),<br/>
      virsh: Add balloon stats description to .pod (Derbyshev Dmitry),<br/>
      virt-admin.pod: Remove a statement about remote access to the daemon (Erik Skultety),<br/>
      qemu: command: Add support for multi-host gluster disks (Prasanna Kumar Kalever),<br/>
      qemu: command: Add infrastructure for object specified disk sources (Peter Krempa),<br/>
      util: qemu: Add support for numbered array members (Peter Krempa),<br/>
      storage: gluster: Support multiple hosts in backend functions (Peter Krempa),<br/>
      qemu: command: Refactor code extracted to qemuBuildDriveSourceStr (Peter Krempa),<br/>
      qemu: command: Extract drive source command line formatter (Peter Krempa),<br/>
      qemu: command: Split out network disk URI building (Peter Krempa),<br/>
      qemu: command: Rename qemuBuildNetworkDriveURI to qemuBuildNetworkDriveStr (Peter Krempa),<br/>
      util: storage: Add JSON backing volume parser for 'ssh' protocol (Peter Krempa),<br/>
      util: storage: Add 'ssh' network storage protocol (Peter Krempa),<br/>
      util: storage: Add JSON backing store parser for 'sheepdog' protocol (Peter Krempa),<br/>
      util: storage: Add JSON backing volume parser for 'nbd' protocol (Peter Krempa),<br/>
      util: storage: Add json pseudo protocol support for iSCSI volumes (Peter Krempa),<br/>
      util: storage: Add json pseudo protocol support for gluster volumes (Peter Krempa),<br/>
      util: storage: Add support for URI based backing volumes in qemu's JSON pseudo-protocol (Peter Krempa),<br/>
      util: storage: Add support for host device backing specified via JSON (Peter Krempa),<br/>
      util: storage: Add parser for qemu's json backing pseudo-protocol (Peter Krempa),<br/>
      util: json: Make first argument of virJSONValueCopy const (Peter Krempa),<br/>
      util: qemu: Allow for different approaches to format JSON arrays (Peter Krempa),<br/>
      util: qemu: Allow nested objects in JSON -&gt; commandline generator (Peter Krempa),<br/>
      util: qemu: Add support for user-passed strings in JSON-&gt;commandline (Peter Krempa),<br/>
      util: qemu: Add wrapper for JSON -&gt; commandline conversion (Peter Krempa),<br/>
      util: json: Make first argument of virJSONValueObjectForeachKeyValue const (Peter Krempa),<br/>
      tests: Add testing of backing store string parser (Peter Krempa),<br/>
      Remove unnecessary virDomainDefClearDeviceAliases (John Ferlan),<br/>
      conf: Remove CCW,PCI clear address helpers (John Ferlan),<br/>
      libxl: implement virDomainBlockStats (Joao Martins),<br/>
      qemu: rename QEMU_CAPS_MLOCK to QEMU_CAPS_REALTIME_MLOCK (Henning Schild),<br/>
      network: Added hook for network modification event (Anton Khramov),<br/>
      qemu: expand domain memory statistics with 'last-update' timestamp (Derbyshev Dmitry),<br/>
      qemu: expand domain memory statistics with 'usable' (Derbyshev Dmitry),<br/>
      qemu: remove ccwaddrs caching (Tomasz Flendrich),<br/>
      qemu_hotplug: generate ccw address list on demand (Tomasz Flendrich),<br/>
      Add qemuDomainCCWAddrSetCreateFromDomain (Tomasz Flendrich),<br/>
      qemu: remove vioserialaddrs caching (Tomasz Flendrich),<br/>
      qemu_hotplug: generate vioserial address list on demand (Tomasz Flendrich),<br/>
      add virDomainVirtioSerialAddrSetCreateFromDomain (Tomasz Flendrich),<br/>
      cgroup: drop INSERT_ELEMENT usage virCgroupPartitionEscape (Ján Tomko),<br/>
      util: systemd: Define MSG_NOSIGNAL if needed (Andrea Bolognani),<br/>
      qemu_monitor: search memballoon QOM device path using alias (Pavel Hrdina),<br/>
      qemu_monitor_json: add support to search QOM device path by device alias (Pavel Hrdina),<br/>
      Split qemuDomainDetachDeviceFlags in two (Tomasz Flendrich),<br/>
      Narrow down a parameter in qemuDomainDetachDeviceFlags (Tomasz Flendrich),<br/>
      Split qemuDomainAttachDeviceFlags in two (Tomasz Flendrich),<br/>
      qemu: Remove an unnecessary variables (Tomasz Flendrich),<br/>
      Change parameters to qemuDomainAttachDeviceLive (Tomasz Flendrich),<br/>
      qemuhotplugtest: Add tests for ccw devices (Tomasz Flendrich),<br/>
      virt-aa-helper: Make help output match option name (Guido Günther),<br/>
      qemu: hotplug: fix changeable media ejection (Bjoern Walk),<br/>
      lxc: make container's init process session leader (Katerina Koukiou),<br/>
      Auto-add one hub if there are too many USB devices (Ján Tomko),<br/>
      Assign addresses on USB device hotplug (Ján Tomko),<br/>
      Assign addresses to USB devices (Ján Tomko),<br/>
      Add tests for USB address assignment (Ján Tomko),<br/>
      Reserve existing USB addresses (Ján Tomko),<br/>
      Add functions for adding USB hubs to addrs (Ján Tomko),<br/>
      Add functions for adding USB controllers to addrs (Ján Tomko),<br/>
      Introduce virDomainUSBAddressSet (Ján Tomko),<br/>
      vz: make vz driver more responsive (Nikolay Shirokovskiy),<br/>
      vz: keep naming convention for domain objects (Nikolay Shirokovskiy),<br/>
      vz: remove redundant variable in prlsdkHandleVmAddedEvent (Nikolay Shirokovskiy),<br/>
      vz: use state variable sdkdom in prlsdkApplyConfig (Nikolay Shirokovskiy),<br/>
      storage: Add extra failure condition for luks volume creation (John Ferlan),<br/>
      qemu: Move setting of encobjAdded for qemuDomainAttachSCSIDisk (John Ferlan),<br/>
      qemu: Move setting of obj bools for qemuDomainAttachVirtioDiskDevice (John Ferlan),<br/>
      hvsupport: skip non-matching lines early (Ján Tomko),<br/>
      hvsupport: construct the group regex upfront (Ján Tomko),<br/>
      hvsupport: use a regex instead of XML::XPath (Ján Tomko),<br/>
      virt-aa-helper: better write denials handling (Cédric Bosdonnat),<br/>
      qemu: Add luks support for domain disk (John Ferlan),<br/>
      qemu: Alter the qemuDomainGetSecretAESAlias to add new arg (John Ferlan),<br/>
      qemu: Add secinfo for hotplug virtio disk (John Ferlan),<br/>
      storage: Add support to create a luks volume (John Ferlan),<br/>
      virt-admin: Output srv-threadpool-info data as unsigned int rather than signed (Erik Skultety),<br/>
      qemu: Move and rename qemuBufferEscapeComma (John Ferlan),<br/>
      qemu: Alter error path cleanup for qemuDomainAttachMemory (John Ferlan),<br/>
      qemu: Alter error path cleanup for qemuDomainAttachRNGDevice (John Ferlan),<br/>
      qemu: Alter error path cleanup for qemuDomainAttachChrDevice (John Ferlan),<br/>
      qemu: Alter error path cleanup for qemuDomainAttachSCSIDisk (John Ferlan),<br/>
      qemu: Alter error path cleanup for qemuDomainAttachVirtioDiskDevice (John Ferlan),<br/>
      qemu: Alter error path cleanup for qemuDomainAttachHostSCSIDevice (John Ferlan),<br/>
      vz: add tcp and udp serial device support (Nikolay Shirokovskiy),<br/>
      vz: add mode of unix socket serial device to xml dump (Nikolay Shirokovskiy),<br/>
      vz: use single variable for domain (Nikolay Shirokovskiy),<br/>
      vz: cleanup loading domain code (Nikolay Shirokovskiy),<br/>
      vz: use domain list infrastructure to deal with private domain (Nikolay Shirokovskiy),<br/>
      vz: make error handling idiomatic in prlsdkCreateVm (Nikolay Shirokovskiy),<br/>
      vz: fix leaks in prlsdkCreate* functions (Nikolay Shirokovskiy),<br/>
      vz: remove unnecessary labels in simple API calls (Nikolay Shirokovskiy),<br/>
      vz: support filesystem type volume (Olga Krishtal),<br/>
      vz: refactoring of prlsdkCreateCt (Olga Krishtal),<br/>
      devices: filesystems: added volume type (Olga Krishtal),<br/>
      filesystem: adds possibility to use storage pool as fs source (Olga Krishtal),<br/>
      test: Add scsi vport nodedev to test:///default (Cole Robinson),<br/>
      test: Have test:///default open use file parsing helpers (Cole Robinson),<br/>
      test: Move testOpenDefault definition later (Cole Robinson),<br/>
      test: Introduce testOpenParse (Cole Robinson),<br/>
      util: conf: Rename VIR_CONF_{U,}LONG -&gt; VIR_CONF_{U,}LLONG (Andrea Bolognani),<br/>
      util: conf: Clarify choice between VIR_CONF_LONG and VIR_CONF_ULONG (Andrea Bolognani),<br/>
      util: conf: Fix parameters alignment (Andrea Bolognani),<br/>
      util: conf: Fix comment for virConfGetValueULLong() (Andrea Bolognani),<br/>
      util: conf: Claim the proper range for signed numbers (Andrea Bolognani),<br/>
      util: conf: Add integer casts (Andrea Bolognani),<br/>
      util: conf: Improve virConfGet*() logic (Andrea Bolognani),<br/>
      util: conf: Use long long when parsing (Andrea Bolognani),<br/>
      hvsupport: Introduce parseSymsFile (Ján Tomko),<br/>
      Store USB port path as an array of integers (Ján Tomko),<br/>
      Allow omitting USB port (Ján Tomko),<br/>
      virconf: skip some range checks if SSIZE_MAX &gt;= LLONG_MAX (Daniel P. Berrange),<br/>
      virconf: clarify type range checks for integers (Daniel P. Berrange),<br/>
      conf: Revert changes to add new secret type "passphrase" (John Ferlan),<br/>
      tests: Adjust LUKS tests to use 'volume' secret type (John Ferlan),<br/>
      spec: Fix indentation (Andrea Bolognani),<br/>
      qemu: command: Fix awkward formatting (Andrea Bolognani),<br/>
      dnsmasq: disable IPv6 default gateway in RA for isolated networks (Maxim Perevedentsev),<br/>
      Fix message about dnsmasq BINDTODEVICE capability. (Maxim Perevedentsev),<br/>
      esx: Fetch snapshot info directly for filtering (Tomáš Golembiovský),<br/>
      qemu: format intel-iommu on the command line (Ján Tomko),<br/>
      Add QEMU_CAPS_DEVICE_INTEL_IOMMU (Ján Tomko),<br/>
      Introduce &lt;iommu&gt; device (Ján Tomko),<br/>
      test-wrap-argv: set cutoff at 78 characters (Ján Tomko),<br/>
      test-wrap-argv: print diff instead of the incorrectly wrapped file (Ján Tomko),<br/>
      testutils: only rewrap args files (Ján Tomko),<br/>
      testutils: find perl early (Ján Tomko),<br/>
      qemuxml2argvtest: drop empty pseries-vio-address-clash.args (Ján Tomko),<br/>
      tests: add missing directories in EXTRA_DIST (Luyao Huang),<br/>
      remote: convert to typesafe virConf accessors (Daniel P. Berrange),<br/>
      sanlock: convert to typesafe virConf accessors (Daniel P. Berrange),<br/>
      lockd: convert to typesafe virConf accessors (Daniel P. Berrange),<br/>
      selinux: convert to typesafe virConf accessors (Daniel P. Berrange),<br/>
      virt-login-shell: convert to typesafe virConf accessors (Daniel P. Berrange),<br/>
      uri: convert to typesafe virConf accessors (Daniel P. Berrange),<br/>
      libxl: convert to typesafe virConf accessors (Daniel P. Berrange),<br/>
      lxc: convert to typesafe virConf accessors (Daniel P. Berrange),<br/>
      virtlogd: convert to typedef virConf accessors (Daniel P. Berrange),<br/>
      virtlockd: convert to typesafe virConf accessors (Daniel P. Berrange),<br/>
      libvirt: convert to typesafe virConf accessors (Daniel P. Berrange),<br/>
      qemu: convert to typesafe virConf accessors (Daniel P. Berrange),<br/>
      libvirtd: convert to typesafe virConf accessors (Daniel P. Berrange),<br/>
      virconf: add typed value accessor methods (Daniel P. Berrange),<br/>
      tests: remove pointless virconftest.sh wrapper (Daniel P. Berrange),<br/>
      qemuhotplugtest: Move domain and device XMLs to different directories (Tomasz Flendrich),<br/>
      qemuhotplugtest: Move all XMLs to one directory (Tomasz Flendrich),<br/>
      virsh: allow both --uuid and --name at same time (Chen Hanxiao),<br/>
      qemu: Use qemuProcessSetupPid() in qemuProcessSetupVcpu() (Martin Kletzander),<br/>
      qemu: Use qemuProcessSetupPid() in qemuProcessSetupEmulator() (Martin Kletzander),<br/>
      qemu: Add qemuProcessSetupPid() and use it in qemuProcessSetupIOThread() (Martin Kletzander),<br/>
      qemu: capabilities: Make virHostCPUGetKVMMaxVCPUs() errors fatal (Andrea Bolognani),<br/>
      util: hostcpu: Drop obsolete compatibility code (Andrea Bolognani),<br/>
      util: hostcpu: Add virHostCPUGetKVMMaxVCPUs() stub (Andrea Bolognani),<br/>
      qemu: Store vCPU thread ids in vcpu private data objects (Peter Krempa),<br/>
      qemu: Add cpu ID to the vCPU pid list in the status XML (Peter Krempa),<br/>
      qemu: domain: Extract formating and parsing of vCPU thread ids (Peter Krempa),<br/>
      qemu: domain: Add vcpu private data structure (Peter Krempa),<br/>
      conf: Add private data for virDomainVcpuDef (Peter Krempa),<br/>
      conf: convert def-&gt;vcpus to a array of pointers (Peter Krempa),<br/>
      tests: qemuxml2xml: Format status XML header dynamically (Peter Krempa),<br/>
      conf: Don't report errors from virDomainDefGetVcpu (Peter Krempa),<br/>
      conf: Rename virDomainVcpuInfoPtr to virDomainVcpuDefPtr (Peter Krempa),<br/>
      conf: Extract code formatting vCPU info (Peter Krempa),<br/>
      conf: Annotate that private data for objects are not copied (Peter Krempa),<br/>
      virsh: Introduce vshReadlineParse for improved auto-completion (Nishith Shah),<br/>
      virsh: Add option to suppress error in various functions (Nishith Shah),<br/>
      virsh: Fix variable types in readline generators (Nishith Shah),<br/>
      virsh: Break vshCmddefOptParse into helper functions (Nishith Shah),<br/>
      bhyve: implement virConnectGetDomainCapabilities (Fabian Freyer),<br/>
      bhyve: fix bhyveargv2xml custom loader test (Roman Bogorodskiy),<br/>
      bhyve: add tests for bhyveParseCommandLineString (Fabian Freyer),<br/>
      bhyve: implement argument parser for loader (Fabian Freyer),<br/>
      bhyve: implement bhyve argument parser (Fabian Freyer),<br/>
      bhyve: implement virConnectDomainXMLFromNative (Fabian Freyer),<br/>
      gnulib: add getopt module (Fabian Freyer),<br/>
      tests: Add test cases for the empty bitmap (Marc Hartmayer),<br/>
      util: bitmap: Mention the size == 0 handling (Marc Hartmayer),<br/>
      util: bitmap: clarify virBitmapLastSetBit() behavior for empty bitmaps (Marc Hartmayer),<br/>
      tests: env perl shebang for test-wrap-argv.pl (Fabian Freyer),<br/>
      qemu: Drop useless SPICE migration code (Jiri Denemark),<br/>
      virtlogd: increase max file size to 2 MB (Daniel P. Berrange),<br/>
      virtlogd: make max file size &amp; number of backups configurable (Daniel P. Berrange),<br/>
      qemu: caps: Always assume QEMU_CAPS_SMP_TOPOLOGY (Peter Krempa),<br/>
      qemu: generate -display none (Paolo Bonzini),<br/>
      qemu: detect -display (Paolo Bonzini),<br/>
      conf: Isolate virDomainLiveConfigHelperMethod to libxl only (Peter Krempa),<br/>
      conf: Don't use virDomainLiveConfigHelperMethod in virDomainObjGetMetadata (Peter Krempa),<br/>
      conf: Don't use virDomainLiveConfigHelperMethod in virDomainObjSetMetadata (Peter Krempa),<br/>
      openvz: Remove use of virDomainLiveConfigHelperMethod (Peter Krempa),<br/>
      lxc: Synchronize implementation of qemuDomainSetMemoryParameters (Peter Krempa),<br/>
      qemu: driver: Make name of QEMU_SET_MEM_PARAMETER more universal (Peter Krempa),<br/>
      spec: Move virt-admin into its own package (Michal Privoznik),<br/>
      spec: Split libvirt-client (Michal Privoznik),<br/>
      virlog: Introduce virLogFilterListFree (Erik Skultety),<br/>
      virlog: Introduce virLogFilterFree (Erik Skultety),<br/>
      virlog: Introduce virLogOutputListFree (Erik Skultety),<br/>
      virlog: Introduce virLogOutputFree (Erik Skultety),<br/>
      virlog: Convert virLogFilters to a list of pointers to filters (Erik Skultety),<br/>
      virlog: Convert virLogOutputs to a list of pointers to outputs (Erik Skultety),<br/>
      virlog: Return void instead of int in virLogReset&lt;Foo&gt; methods (Erik Skultety),<br/>
      qemu: Memory locking is only required for KVM guests on ppc64 (Andrea Bolognani),<br/>
      qemu: support setting host-side IP addresses/routes (Laine Stump),<br/>
      lxc: support setting host-side IP addresses/routes (Laine Stump),<br/>
      util: support setting peer for virNetDevIPInfo addresses (Laine Stump),<br/>
      conf: support host-side IP/route information in &lt;interface&gt; (Laine Stump),<br/>
      conf: allow setting peer address in &lt;ip&gt; element of &lt;interface&gt; (Vasiliy Tolstov),<br/>
      util: new function virNetDevIPInfoAddToDev (Laine Stump),<br/>
      qemu: Introduce helper qemuDomainSecretDiskCapable (John Ferlan),<br/>
      encryption: Add &lt;cipher&gt; and &lt;ivgen&gt; to encryption (John Ferlan),<br/>
      encryption: Add luks parsing for storageencryption (John Ferlan),<br/>
      util: Add 'usage' for encryption (John Ferlan),<br/>
      conf: Add new secret type "passphrase" (John Ferlan),<br/>
      conf: No need to check for usage fields during Format (John Ferlan),<br/>
      Allow custom metadata in network configuration XML (Brandon Bennett),<br/>
      util: new function virXMLNodeSanitizeNamespaces() (Laine Stump),<br/>
      util: hostcpu: Only define /dev/kvm path once (Andrea Bolognani),<br/>
      examples: check asprintf return value in client_info.c (Ján Tomko),<br/>
      events: Rename argument uuid-&gt;key (Cole Robinson),<br/>
      events: Add explicit lookup 'key' value (Cole Robinson),<br/>
      events: Pass in UUID as a string (Cole Robinson),<br/>
      events: Cleanup callback variable name (Cole Robinson),<br/>
      events: Add virObjectEventCallbackFree (Cole Robinson),<br/>
      events: Privatize virObjectEventCallback (Cole Robinson),<br/>
      Introduce virDomainUSBDeviceDefForeach (Ján Tomko),<br/>
      Add USB addresses to qemuhotplug test cases (Ján Tomko),<br/>
      qemu: Avoid needless copies of static strings (Jiri Denemark),<br/>
      qemu: Drop emitBootindex parameter (Jiri Denemark),<br/>
      qemu: Use bootindex whenever possible (Jiri Denemark),<br/>
      qemu: Remove redundant parameter in virQEMUCapsFillDomainCaps (Jiri Denemark),<br/>
      domaincapstest: Don't read data from host (Jiri Denemark),<br/>
      cpu: Drop NR_DRIVERS macro (Jiri Denemark),<br/>
      cpu: Drop generic driver (Jiri Denemark),<br/>
      Post-release version bump to 2.1.0 (Jiri Denemark)<br/>
      </li>
    </ul>

   <h3>2.0.0: Jul 01 2016</h3>
    <ul>
      <li>Features:<br/>
      Many improvements in Xen support (Jim Fehlig, Philipp Hahn, Chunyan Liu),<br/>
      Many improvements in OpenVZ support (Nikolay Shirokovskiy, mfeoktistov@virtuozzo.com),<br/>
      Guest agent vCPU APIs (Peter Krempa),<br/>
      storage lifecycle event APIs (Jovanka Gulicoska),<br/>
      CPU type detection (Jiri Denemark)<br/>
      </li>

      <li>Documentation:<br/>
      Document to not rely on virConnectGetMaxVcpus API (Shivaprasad G Bhat),<br/>
      add help document relevant to default mapping of credentials to machines (yuelongguang),<br/>
      docs: Fix whitespace in output (John Ferlan),<br/>
      util: fix a typo (Chen Hanxiao),<br/>
      docs: virsh: Added note for the dump command (Jaroslav Suchanek),<br/>
      docs: Add at least some docs and fix schema entry for perf events (Peter Krempa),<br/>
      virsh: Fix help string for net-dumpxml (sannyshao),<br/>
      doc: Fix explanation of S3 and S4 states (Jingjing Shao),<br/>
      docs: Clarify chardev protocol (John Ferlan),<br/>
      docs: Document our event loop (Michal Privoznik)<br/>
      </li>

      <li>Portability:<br/>
      libvirt.spec.in: Use libnl-devel for RHEL-6 (Jean-Marc Liger),<br/>
      qemuDomainDeviceDefValidate: Drop unused qemuCaps (Jiri Denemark),<br/>
      vz: Fix indentation in prlsdkGetNetAddresses() (Andrea Bolognani),<br/>
      Revert "util: new function virNetDevIPInfoAddToDev" (Ján Tomko),<br/>
      Revert "conf: allow setting peer address in &lt;ip&gt; element of &lt;interface&gt;" (Ján Tomko),<br/>
      Revert "conf: support host-side IP/route information in &lt;interface&gt;" (Ján Tomko),<br/>
      Revert "util: support setting peer for virNetDevIPInfo addresses" (Ján Tomko),<br/>
      Revert "lxc: support setting host-side IP addresses/routes" (Ján Tomko),<br/>
      Revert "qemu: support setting host-side IP addresses/routes" (Ján Tomko),<br/>
      Clean up after virNetDevIP creation (Andrea Bolognani),<br/>
      util: netdevip: Include vircommand.h (Andrea Bolognani),<br/>
      qemu: support setting host-side IP addresses/routes (Laine Stump),<br/>
      lxc: support setting host-side IP addresses/routes (Laine Stump),<br/>
      util: support setting peer for virNetDevIPInfo addresses (Laine Stump),<br/>
      conf: support host-side IP/route information in &lt;interface&gt; (Laine Stump),<br/>
      conf: allow setting peer address in &lt;ip&gt; element of &lt;interface&gt; (Vasiliy Tolstov),<br/>
      util: new function virNetDevIPInfoAddToDev (Laine Stump),<br/>
      lxc: move debug/error log when adding IP addresses to virNetDevIPAddrAdd (Laine Stump),<br/>
      conf: clean up after adding calls to virNetDevIPInfo helpers (Laine Stump),<br/>
      qemu: forbid setting guest-side IP address/route info of &lt;interface&gt; (Laine Stump),<br/>
      conf: use virNetDevIPInfo for guest-side &lt;interface&gt; config (Laine Stump),<br/>
      conf: use virNetDevIPInfo in virDomainHostdevCaps (Laine Stump),<br/>
      conf: single object containing list of IP addresses, list of routes (Laine Stump),<br/>
      util: move IP route &amp; address object-related functions to virnetdevip.c (Laine Stump),<br/>
      util: new files virnetdevip.[ch] for IP-related netdev functions (Laine Stump),<br/>
      conf/openvz: eliminate incorrect/undocumented use of &lt;source dev='blah'/&gt; (Laine Stump),<br/>
      qemu: eliminate memory leaks when converting NetDefs to type='ethernet' (Laine Stump),<br/>
      qemu: don't set/clear NetDef IP addresses in qemuConnectDomainXMLToNative() (Laine Stump),<br/>
      conf: new function virDomainNetDefClear (Laine Stump),<br/>
      virHostCPUGetInfo: Fix build on non-Unix like systems (Michal Privoznik),<br/>
      Fix build without xen (Martin Kletzander),<br/>
      bhyve: add missing virhost(cpu|mem).h headers (Roman Bogorodskiy),<br/>
      hostcpu: fix build on FreeBSD (Roman Bogorodskiy),<br/>
      nodeinfo: fix build on non-Linux (Roman Bogorodskiy),<br/>
      domain_conf: silence gcc warnings (Pavel Hrdina),<br/>
      vz: fixed build by including necessary headers (Maxim Nestratov),<br/>
      nodeinfo: remove FreeBSD specific code for getting memory (Daniel P. Berrange),<br/>
      util: Alter virCryptoEncryptData for non GNUTLS builds (John Ferlan)<br/>
      </li>

      <li>Bug Fixes:<br/>
      conf: Don't free the constructed string in virDomainGetBlkioParametersAssignFromDef (Peter Krempa),<br/>
      conf: def: Avoid unnecessary allocation of 'perf' events definition (Peter Krempa),<br/>
      docs: Warn against locked memory limit too high (Jiri Denemark),<br/>
      qemu: SCSI hostdev hot-plug: Fix automatic creation of SCSI controllers (Marc Hartmayer),<br/>
      qemu: hot-plug: Fix broken SCSI disk hot-plug (Marc Hartmayer),<br/>
      qemu: Let empty default VNC password work as documented (Jiri Denemark),<br/>
      admin: fix virt-admin startup crash by calling virAdmInitialize (Erik Skultety),<br/>
      Fix possible invalid read in adminClientGetInfo (Ján Tomko),<br/>
      virStorageTranslateDiskSourcePool: Avoid double free (Michal Privoznik),<br/>
      logging: fixing log level initialization from cmdline (Jaroslav Suchanek),<br/>
      vz: fix build for virNetDev* changes (Olga Krishtal),<br/>
      libvirtd.conf: Fix invalid default of max_anonymous_clients (Michal Privoznik),<br/>
      lxc: eliminate extraneous free of netDef-&gt;ifname_guest (Laine Stump),<br/>
      vz: fix memory leaks in attach/detach functions (Nikolay Shirokovskiy),<br/>
      Fix error detection in virStorageBackendISCSIGetHostNumber (Ján Tomko),<br/>
      virStorageBackendISCSIGetHostNumber: correctly use virDirOpen (Ján Tomko),<br/>
      storage: Fix coverity warning (Cole Robinson),<br/>
      Don't allow raneming domains to empty strings (Martin Kletzander),<br/>
      Revert "virnetsocket: Provide socket address format in a more standard form" (Ján Tomko),<br/>
      Allow configs to start with a dot (Ján Tomko),<br/>
      Do not skip hidden entries when looking for a stable path (Ján Tomko),<br/>
      Do not ignore hidden files in /sys and /proc (Ján Tomko),<br/>
      tests: genericxml2xml: Fix test file name (Peter Krempa),<br/>
      qemu: command: Error on accel2d (Cole Robinson),<br/>
      qemu: command: Error on accel3d with non-virtio (Cole Robinson),<br/>
      Allow virDomain(SG)etGuestVcpus on read-write connection only (Peter Krempa),<br/>
      libxl: use serial device for console when targetType is serial (Jim Fehlig),<br/>
      conf: Remove redundant free in virCPUDefFree (Jiri Denemark),<br/>
      qemu: Fix reference leak in qemuDomainDefPostParse (Jiri Denemark),<br/>
      tests: Adjust tests for encrypted storage (John Ferlan),<br/>
      conf: limit chassisNr, and busNr to a minimum value of 1, not 0 (Laine Stump),<br/>
      virsh migrate: Fix positional parameters (Jiri Denemark),<br/>
      util: Make failure to get supplementary group list for a uid non-fatal (Peter Krempa),<br/>
      tools: virt-login-shell: Fix group list bounds checking (Peter Krempa),<br/>
      conf: Fix memory leak in graphics XML parser (Peter Krempa),<br/>
      qemu: restore non-pci hostdev labels after detach (Ján Tomko),<br/>
      configure: define preprocessor macros for SCSI and MPATH (Ján Tomko),<br/>
      spec: Make driver-qemu require driver-storage (Martin Kletzander),<br/>
      conf: Remove pre-calculation of initial memory size (Peter Krempa),<br/>
      conf: Fix perf event parser (Peter Krempa),<br/>
      qemu: perf: Don't set state of first event for every other event (Peter Krempa),<br/>
      xenconfig: fix conversion of &lt;driver&gt; to backendtype (Jim Fehlig),<br/>
      util: fix missing broadcast address in bridge and tap device IP addresses (Laine Stump),<br/>
      qemu: Shorten domain name for watchdog coredump (Martin Kletzander),<br/>
      util: Fix broken syntax-check (John Ferlan),<br/>
      docs: document rng backend path restrictions of older libvirt (Ján Tomko),<br/>
      docs: Fix syntax-check (John Ferlan),<br/>
      Fix renumbering once again (Martin Kletzander),<br/>
      qemu: Allow ACPI shutdown only for running domains (Martin Kletzander),<br/>
      virt-host-validate: fix build with clang (Roman Bogorodskiy),<br/>
      tests: fix CPUID detection tests compilation failure (Wei Liu),<br/>
      apparmor: Don't scrub environment of virtlogd process (Guido Günther),<br/>
      bhyve: fix bhyvexml2arg test (Roman Bogorodskiy),<br/>
      vz: fix crash when parsing unexpected disk configuration (Maxim Nestratov),<br/>
      vz: return correct result for unimplemented ChangeState actions (Maxim Nestratov),<br/>
      qemuMonitorJSONAttachCharDev: Teach spicevmc (Michal Privoznik),<br/>
      qemu: Yet another check for blkdeviotune values (Martin Kletzander),<br/>
      qemu: Generate channel target paths on hotplug as well (Martin Kletzander),<br/>
      virsh-domain: fix memory leak in cmdDomDisplay (Pavel Hrdina),<br/>
      virsh-network: Avoid possible NULL deref in cmdNetworkDHCPLeases (Michal Privoznik),<br/>
      virsh: domdisplay: if listen is 0.0.0.0 or [::] print address from URI (Pavel Hrdina),<br/>
      qemu_process: don't print empty line if qemu exits without any error (Pavel Hrdina),<br/>
      virschematest: Link with libxml2 (Michal Privoznik),<br/>
      virschematest: Access the right directory containing XMLs (Michal Privoznik),<br/>
      qemu: process: Call disk startup policy check after cloning domain def (Peter Krempa),<br/>
      qemu: driver: Unset log file watcher after restoring a VM save file (Peter Krempa),<br/>
      test: Remove executable permission from Xen xm files (Philipp Hahn),<br/>
      qemu: process: Append the "shutting down" message using the new APIs (Peter Krempa),<br/>
      Do not VIR_STRDUP the string in udevGetDeviceProperty (Ján Tomko),<br/>
      systemd: directly notify systemd instead of using sd_notify (Daniel P. Berrange)<br/>
      </li>

      <li>Improvements:<br/>
      dist: Speed up distribution compression (Martin Kletzander),<br/>
      tests: Add test cases for SCSI disk hot-plug with QEMU (Marc Hartmayer),<br/>
      qemu: Use proper async job to refresh virtio channels (Jiri Denemark),<br/>
      lxc: use correct prefix when setting veth IP address (Laine Stump),<br/>
      util: allow calling virSocketAddrGetIPPrefix with NULL netmask or address (Laine Stump),<br/>
      tests: mock virNetDevSetIPAddress (Laine Stump),<br/>
      conf: clean up virDomainNetIPParseXML() (Laine Stump),<br/>
      global: consistently use IP rather than Ip in identifiers (Laine Stump),<br/>
      util: move virInterface(State|Link)/virNetDevFeature from conf to util (Laine Stump),<br/>
      util: move virNetDevLinkDump to virnetlink.c (Laine Stump),<br/>
      spec: distribute admin API within libvirt-client package (Erik Skultety),<br/>
      examples: admin: Add some examples for the new admin APIs (Erik Skultety),<br/>
      admin: enable both admin API functionality and tarball distribution (Erik Skultety),<br/>
      vz: always pass graphics address to sdk (Nikolay Shirokovskiy),<br/>
      vz: support vnc password (Nikolay Shirokovskiy),<br/>
      vz: remove exlicitly setting zeros in dumping graphics (Nikolay Shirokovskiy),<br/>
      vz: support attach/detach/update/ of graphics device (Nikolay Shirokovskiy),<br/>
      vz: move getting container video devices out from vnc code (Nikolay Shirokovskiy),<br/>
      vz: trustGuestRxFilters fixes (Nikolay Shirokovskiy),<br/>
      vz: fix minor type safey issues with net union usage (Nikolay Shirokovskiy),<br/>
      vz: fix updating to no gateways (Nikolay Shirokovskiy),<br/>
      vz: dump route info in domain xml (Nikolay Shirokovskiy),<br/>
      vz: dump ip addresses to domain xml (Nikolay Shirokovskiy),<br/>
      vz: give nice report if network device not found (Nikolay Shirokovskiy),<br/>
      vz: move disks checks to device post parse (Nikolay Shirokovskiy),<br/>
      vz: leverage disks parameters check on disks updates too (Nikolay Shirokovskiy),<br/>
      vz: add device updates (Nikolay Shirokovskiy),<br/>
      vz: reuse edit config frame in for attach/detach functions (Nikolay Shirokovskiy),<br/>
      vz: make prlsdkGetDisk more generic (Nikolay Shirokovskiy),<br/>
      vz: remove disk cache mode hunk (Nikolay Shirokovskiy),<br/>
      cpu_map.xml: add cmt/mbm feature to x86 (Qiaowei Ren),<br/>
      cpu: Consolidate ARM drivers (Jiri Denemark),<br/>
      util: fix build in virNetDevTapGetRealDeviceName (Roman Bogorodskiy),<br/>
      storage: Introduce virStoragePoolObjBuildTempFilePath (John Ferlan),<br/>
      Promote storage pool refresh lifecycle event to top level event (Daniel P. Berrange),<br/>
      util: Add 'luks' to the FileTypeInfo (John Ferlan),<br/>
      util: Modify the FileTypeInfo to add a version size (John Ferlan),<br/>
      util: Introduce virReadBufInt16LE and virReadBufInt16BE (John Ferlan),<br/>
      qemu: Remove authdef from secret setup (John Ferlan),<br/>
      qemu: Change protocol parameter for secret setup (John Ferlan),<br/>
      qemu: check the kvm host cpu max limits in virConnectGetDomainCapabilities (Shivaprasad G Bhat),<br/>
      qemu: Make qemuBuildSecretInfoProps global (John Ferlan),<br/>
      qemu: Remove type from qemuBuildSecretInfoProps (John Ferlan),<br/>
      Rename kvmGetMaxVCPUs() to virHostCPUGetKVMMaxVCPUs() (Shivaprasad G Bhat),<br/>
      conf: Allow disks with identical WWN or serial (Peter Krempa),<br/>
      build: increase xz compression level (Ján Tomko),<br/>
      openvz: do not open-code STRSKIP (Ján Tomko),<br/>
      Replace some uses STREQLEN with STRPREFIX (Ján Tomko),<br/>
      qemu: Check for VFIO too where legacy passthrough is checked (Shivaprasad G Bhat),<br/>
      Prohibit opendir in syntax-check (Ján Tomko),<br/>
      Use virDirOpenQuiet (Ján Tomko),<br/>
      Introduce virDirOpenQuiet (Ján Tomko),<br/>
      Use virDirOpenIfExists (Ján Tomko),<br/>
      Add virDirOpenIfExists (Ján Tomko),<br/>
      Use virDirOpen (Ján Tomko),<br/>
      Introduce virDirOpen (Ján Tomko),<br/>
      openvz: split single-line if (Ján Tomko),<br/>
      qemu: Use stricter checks in virQEMUCapsFillDomainDeviceDiskCaps() (Andrea Bolognani),<br/>
      qemu: Introduce qemuDomainMachineIsPSeries() (Andrea Bolognani),<br/>
      qemu: Add architecture checks to qemuDomainMachineIsVirt() (Andrea Bolognani),<br/>
      qemu: Remove redundant arguments to qemuBuildSerialChrDeviceStr() (Andrea Bolognani),<br/>
      Add support for VirtualBox 5 (Martin Pietsch),<br/>
      Rename virNetClient*AddrString (Ján Tomko),<br/>
      Rename virNetServerClient*AddrString (Ján Tomko),<br/>
      Add SASL to virNetSocket{Local,Remote}AddrString (Ján Tomko),<br/>
      virNetSocket: rename AddrStr to AddrStrSASL (Ján Tomko),<br/>
      virnetsockettest: fix error messages (Ján Tomko),<br/>
      Introduce virNetServerClientRemoteAddrStringURI (Ján Tomko),<br/>
      Introduce virNetSocketRemoteAddrStringURI (Ján Tomko),<br/>
      Do not skip files starting with a dot in leases directory (Ján Tomko),<br/>
      Fix comment in virStorageBackendFileSystemRefresh (Ján Tomko),<br/>
      Do not check for '.' and '..' after virDirRead (Ján Tomko),<br/>
      Skip '.' and '..' in virDirRead (Ján Tomko),<br/>
      Introduce VIR_DIR_CLOSE (Ján Tomko),<br/>
      Do not check the return value of closedir (Ján Tomko),<br/>
      Do not save errno in virUSBDeviceSearch (Ján Tomko),<br/>
      tests: utils: Fail XML file comparison if input file doesn't exist (Peter Krempa),<br/>
      qemu: Add new secret info type (John Ferlan),<br/>
      util: Introduce virSecretLookupFormatSecret (John Ferlan),<br/>
      util: Move and rename virStorageAuthDefParseSecret (John Ferlan),<br/>
      secret: Move virStorageSecretType and rename (John Ferlan),<br/>
      storage: Remove redundant refreshPool check (Cole Robinson),<br/>
      qemu: make monitor command API available during async jobs (Nikolay Shirokovskiy),<br/>
      prohibit-duplicate-header: print file name and line (Ján Tomko),<br/>
      syntax-check: rewrite prohibit-duplicate-header in perl (Ján Tomko),<br/>
      Do not ignore perl scripts in build-aux (Ján Tomko),<br/>
      Add newDomain parameter to qemuDomainAssignAddresses (Ján Tomko),<br/>
      Add a USB hub to controller order test (Ján Tomko),<br/>
      conf: Remove dead console compat formatting (Cole Robinson),<br/>
      Use for instead of code duplication when parsing USB port (Ján Tomko),<br/>
      Split out USB port parsing (Ján Tomko),<br/>
      Add a test for long USB port paths (Ján Tomko),<br/>
      Report auto convergence throttle rate in migration stats (Jiri Denemark),<br/>
      qemu: Implement auto convergence migration parameters (Jiri Denemark),<br/>
      qemu: Add support for cpu throttling parameters (Jiri Denemark),<br/>
      qemu: Introduce qemuMigrationSetParams (Jiri Denemark),<br/>
      Add auto convergence migration parameters (Jiri Denemark),<br/>
      test: Rework qemuMonitorJSONGetMigrationParams test (Jiri Denemark),<br/>
      qemu: Rework qemuMonitorJSONSetMigrationParams (Jiri Denemark),<br/>
      qemu: Rework qemuMonitorJSONGetMigrationParams (Jiri Denemark),<br/>
      qemu: Rename qemuMonitorMigrationCompression (Jiri Denemark),<br/>
      qemu: Decouple migration parameters from compression settings (Jiri Denemark),<br/>
      qemu: Make qemuMonitorSetMigrationCompression saner (Jiri Denemark),<br/>
      conf: Simplify conditions in CPU parser/formatter (Jiri Denemark),<br/>
      qemucapsprobe: Don't put empty line at EOF (Jiri Denemark),<br/>
      qemu: Hide virQEMUCapsNewForBinary (Jiri Denemark),<br/>
      qemu: Implement virDomainSetGuestVcpus (Peter Krempa),<br/>
      qemu: Implement virDomainGetGuestVcpus (Peter Krempa),<br/>
      qemu: agent: Make setting of vcpus more robust (Peter Krempa),<br/>
      virsh: Add command 'guestvcpus' implementing virDomain(GS)etGuestVcpus (Peter Krempa),<br/>
      lib: Add API to set individual vcpu usage in the guest via guest agent (Peter Krempa),<br/>
      lib: Add API to query guest vcpu info using guest agent (Peter Krempa),<br/>
      rpcgen: Add support for generating funcs returning alloc'd typed params (Peter Krempa),<br/>
      storage: Use virSecretGetSecretString (John Ferlan),<br/>
      storage: Create helper to set options for CreateQemuImg code (John Ferlan),<br/>
      storage: Create helper to set backing for CreateQemuImg code (John Ferlan),<br/>
      storage: Adjust qemu-img switches check (John Ferlan),<br/>
      Do not call postParse with ABI_UPDATE when parsing cmdline (Ján Tomko),<br/>
      Fix USB port in input-usbmouse test (Ján Tomko),<br/>
      test-wrap-argv: add --check parameter (Ján Tomko),<br/>
      test-wrap-argv: add --in-place parameter (Ján Tomko),<br/>
      test-wrap-argv: hold a copy of the original file in an array (Ján Tomko),<br/>
      test-wrap-argv: return a string in rewrap_line (Ján Tomko),<br/>
      test-wrap-argv: use map and join instead of a for cycle (Ján Tomko),<br/>
      test-wrap-argv: return a string in rewrap_arg (Ján Tomko),<br/>
      test-wrap-argv: split out rewrap_arg (Ján Tomko),<br/>
      test-wrap-argv: split out rewrap_line (Ján Tomko),<br/>
      vsh: remove namespace poisoning (Ján Tomko),<br/>
      vbox: remove duplicate macros (Ján Tomko),<br/>
      Remove unused SOL_NETLINK macro (Ján Tomko),<br/>
      qemu: Fix typo pci-extender-bus -&gt; pci-expander-bus (Andrea Bolognani),<br/>
      Mark virsh-optparse as expensive (Ján Tomko),<br/>
      Drop virrandomtest (Ján Tomko),<br/>
      Remove virsh-synopsis (Ján Tomko),<br/>
      Introduce virsh self-test (Ján Tomko),<br/>
      tests: mock gnutls_dh_params_generate2 (Ján Tomko),<br/>
      Remove virsh-all (Ján Tomko),<br/>
      util: Add option not to report errors in virGetUserEnt (Peter Krempa),<br/>
      tools: virt-login-shell: Fix cut'n'paste mistake in error message (Peter Krempa),<br/>
      conf: Fix label name in virDomainGraphicsListensParseXML (Peter Krempa),<br/>
      Allow disjunct ranges in VIR_TEST_RANGE (Ján Tomko),<br/>
      Introduce virBitmapParseUnlimited (Ján Tomko),<br/>
      Remove separator argument from virBitmapParse (Ján Tomko),<br/>
      Introduce virBitmapParseSeparator (Ján Tomko),<br/>
      Do not return number of set bits in virBitmapParse (Ján Tomko),<br/>
      qemu: Don't use legacy USB for aarch64 mach-virt guests (Andrea Bolognani),<br/>
      qemu_hotplug: Use a helper variable consistently (Tomasz Flendrich),<br/>
      virsh: Introduce pool-event command (Jovanka Gulicoska),<br/>
      libxl: add USB to hostdev domcapabilities (Jim Fehlig),<br/>
      Remove stray space in cmdHelp (Ján Tomko),<br/>
      qemu: Permit PCI-free aarch64 mach-virt guests (Andrea Bolognani),<br/>
      qemuDomainDetachDeviceConfig: Allow cold unplug of redirdevs (Michal Privoznik),<br/>
      qemuDomainAttachDeviceConfig: Allow redirdev coldplug (Michal Privoznik),<br/>
      virDomainDeviceInfoIterateInternal: Iterate through redirdevs too (Michal Privoznik),<br/>
      virDomainRedirdevDef: Introduce find &amp; remove routines (Michal Privoznik),<br/>
      domain_conf: Validate redirdev after parsing (Michal Privoznik),<br/>
      configure: remove definition of HAVE_GLIBC_RPCGEN (Ján Tomko),<br/>
      configure: error out when asked for mpath on non-Linux (Ján Tomko),<br/>
      qemu: Fix alignment in virDomainDefAddController() call (Andrea Bolognani),<br/>
      tests: schema: Remove useless perf schema data (Peter Krempa),<br/>
      docs: virsh: Add minimal documentation for 'mbmt' and 'mbml' perf events (Peter Krempa),<br/>
      cpu_x86: Use signature in CPU detection code (Jiri Denemark),<br/>
      cpu: Add Skylake-Client x86 CPU model (Jiri Denemark),<br/>
      conf: Rename virDomainDefGetMemoryActual to virDomainDefGetMemoryTotal (Peter Krempa),<br/>
      qemu: don't add pci-bridge to Q35/arm domains unless it's needed (Laine Stump),<br/>
      qemu: don't be as insistent about adding dmi-to-pci-bridge or pci-bridge (Laine Stump),<br/>
      util: remove redundant comments (Chen Hanxiao),<br/>
      event-test: support storage lifecycle event APIs (Jovanka Gulicoska),<br/>
      storage: implement storage lifecycle event APIs (Jovanka Gulicoska),<br/>
      remote: implement storage lifecycle event APIs (Jovanka Gulicoska),<br/>
      test: implement storage lifecycle event APIs (Jovanka Gulicoska),<br/>
      conf: add storage_event handling (Jovanka Gulicoska),<br/>
      Introduce storage lifecycle event APIs (Jovanka Gulicoska),<br/>
      qemu: Remove useless block in processWatchdogEvent (Martin Kletzander),<br/>
      qemu: Follow coding style convention (Martin Kletzander),<br/>
      qemu: Unify automatic coredump filenames (Martin Kletzander),<br/>
      qemu: Add cfg pointer to various command line helpers (John Ferlan),<br/>
      qemu: Make qemuBuildShmemBackendStr private (John Ferlan),<br/>
      qemu: migration: use consistent error message (Cole Robinson),<br/>
      qemu: More usage of qemuDomainDiskBlockJobIsActive (Cole Robinson),<br/>
      add default mapping of credentials to machine (yuelongguang),<br/>
      syntax-check: drop prohibit_undesirable_word_seq (Ján Tomko),<br/>
      maint: Switch to xz compressed PAX release archives (Andrea Bolognani),<br/>
      vz: get rid of unused home state variable in private domain obj (Nikolay Shirokovskiy),<br/>
      check-spacing: fix error message (Ján Tomko),<br/>
      check-spacing: use non-capturing groups (Ján Tomko),<br/>
      check-spacing: remove virAssertCmpInt exception (Ján Tomko),<br/>
      check-spacing: simplify keyword spacing check (Ján Tomko),<br/>
      check-spacing: rewrite regex for checking the closing parenthesis (Ján Tomko),<br/>
      check-spacing: rewrite whitespace check before (semi)colon (Ján Tomko),<br/>
      Rename bracket-spacing.pl to check-spacing.pl (Ján Tomko),<br/>
      Rename virAssertCmpInt to testAssertEq (Ján Tomko),<br/>
      maint: remove whitespace from closing parentheses (Ján Tomko),<br/>
      vbox: reformat multi-line error reports (Ján Tomko),<br/>
      cfg.mk: use a single regex for all non-reentrant functions (Ján Tomko),<br/>
      xlconfigtest: add test for USB config conversion (Chunyan Liu),<br/>
      Add conversion of domxml USB config to/from xl.cfg (Chunyan Liu),<br/>
      libxl: support hotplug USB host device (Chunyan Liu),<br/>
      libxl: support creating guest with USB hostdev (Chunyan Liu),<br/>
      qemu: Refactor qemuDomainAttachChrDevice error paths (John Ferlan),<br/>
      caps: Add capability for tls-x509-creds (John Ferlan),<br/>
      Change 1.3.6 occurrences to 2.0.0 to follow version bump (Martin Kletzander),<br/>
      qemu: Obtain job before checking if domain is live (Martin Kletzander),<br/>
      Bump release to 2.0.0 and document release schedule &amp; versioning (Daniel P. Berrange),<br/>
      cputest: Get rid of the array of test functions (Jiri Denemark),<br/>
      qemu: Add support for zero-detection writes (Martin Kletzander),<br/>
      conf: Add support of zero-detection for disks (Martin Kletzander),<br/>
      libxl: Add support for ovmf firmware (Jim Fehlig),<br/>
      xenconfig: support bios=ovmf xl.cfg (Jim Fehlig),<br/>
      libxl: implement connectGetDomainCapabilities (Jim Fehlig),<br/>
      libxl: introduce libxl_capabilities.{ch} (Jim Fehlig),<br/>
      libxl: add default firmwares to driver config object (Jim Fehlig),<br/>
      driver config: Introduce virFirmware object (Jim Fehlig),<br/>
      libxl: fix vm lock overwritten bug (Wang Yufei),<br/>
      virt-host-validate: improve tests for arm/aarch64 (Riku Voipio),<br/>
      virt-login-shell: mark as Linux only (Roman Bogorodskiy),<br/>
      vz: implementation of domainSetUserPassword callback (Mikhail Feoktistov),<br/>
      vz: remove unused macro logPrlEventError (Maxim Nestratov),<br/>
      vz: keep subscription to performance events thru domain lifetime (Nikolay Shirokovskiy),<br/>
      vz: use consistent naming for different domain object in vz_driver.c (Nikolay Shirokovskiy),<br/>
      Export virDomainRedirdevDefFree (Michal Privoznik),<br/>
      virt-login-shell: add ability to join the container cgroups (Daniel P. Berrange),<br/>
      virt-login-shell: add ability to auto-detect shell from container (Daniel P. Berrange),<br/>
      virt-login-shell: fully reset container environment (Daniel P. Berrange),<br/>
      virt-login-shell: avoid loosing error during cleanup (Daniel P. Berrange),<br/>
      virt-login-shell: allow shell to be a simple string argument (Daniel P. Berrange),<br/>
      virt-login-shell: change way we request a login shell (Daniel P. Berrange),<br/>
      virt-login-shell: honour the -c option to launch commands (Daniel P. Berrange),<br/>
      virsh: make lxc-enter-namespace also join the cgroups (Daniel P. Berrange),<br/>
      libvirt-lxc: add virDomainLxcEnterCGroup API (Daniel P. Berrange),<br/>
      util: add function for looking up the user shell (Daniel P. Berrange),<br/>
      nodeinfo: move host memory APIs out into virhostmem file (Daniel P. Berrange),<br/>
      nodeinfo: move host CPU APIs out into virhostcpu.c file (Daniel P. Berrange),<br/>
      nodeinfo: rename all CPU APIs to have a virHostCPU prefix (Daniel P. Berrange),<br/>
      nodeinfo: rename all memory APIs to have a virHostMem prefix (Daniel P. Berrange),<br/>
      nodeinfo: split CPU info retrieval out of nodeGetInfo (Daniel P. Berrange),<br/>
      nodeinfo: make nodeGetInfo() call nodeGetMemory for memory size (Daniel P. Berrange),<br/>
      nodeinfo: remove sysfs_prefix from all methods (Daniel P. Berrange),<br/>
      vnc: add support for listen type none (Pavel Hrdina),<br/>
      spice: introduce listen type none (Pavel Hrdina),<br/>
      spice: introduce spice_auto_unix_socket config option (Pavel Hrdina),<br/>
      spice: add support for listen type socket (Pavel Hrdina),<br/>
      qemu_capabilites: add QEMU_CAPS_SPICE_UNIX (Pavel Hrdina),<br/>
      vnc: add support for listen type 'socket' (Pavel Hrdina),<br/>
      graphics: introduce new listen type 'socket' (Pavel Hrdina),<br/>
      vnc: move generation of socket path to qemuProcessGraphicsSetupListen (Pavel Hrdina),<br/>
      vnc: rename socketAutogenerated to socketFromConfig (Pavel Hrdina),<br/>
      qemu_command: move websocket code into else part for address listen (Pavel Hrdina),<br/>
      qemuhotplugtest: Test live data (Martin Kletzander),<br/>
      qemu: Move channel path generation out of command creation (Martin Kletzander),<br/>
      cputest: Rename nehalem-force to penryn-force (Jiri Denemark),<br/>
      cpu: Add ARAT x86 CPU feature (Jiri Denemark),<br/>
      cpu: Add x86 feature flags for CPUID leaf 0xd, sub leaf 1 (Jiri Denemark),<br/>
      cpu: Sort CPU map features on eax_in (Jiri Denemark),<br/>
      cpu: Shorten eax_in values in CPU map (Jiri Denemark),<br/>
      cpu_x86: Add full support for ecx_in CPUID parameter (Jiri Denemark),<br/>
      cpu_x86: Prepare for ecx_in CPUID parameter (Jiri Denemark),<br/>
      qemumonitorjsontest: Add getcpu test data (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Xeon X5460 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Xeon W3520 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Xeon E7-4820 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Xeon E5-2650 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Xeon E5-2630 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Xeon E3-1245 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Xeon 5110 (Jiri Denemark),<br/>
      tests: Add CPU detection test for AMD Phenom II X4 B95 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Pentium P6100 (Jiri Denemark),<br/>
      tests: Add CPU detection test for AMD Opteron 6282 SE (Jiri Denemark),<br/>
      tests: Add CPU detection test for AMD Opteron 6234 (Jiri Denemark),<br/>
      tests: Add CPU detection test for AMD Opteron 2350 (Jiri Denemark),<br/>
      tests: Add CPU detection test for AMD Opteron 1352 (Jiri Denemark),<br/>
      tests: Add CPU detection test for AMD FX 8150 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Core2 Quad Q9500 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Core2 Duo E6850 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Core i7-5600U (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Core i7-4600U (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Core i7-3770 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Core i7-3740QM (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Core i7-3520M (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Core i7-2600 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Core i5-6600 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Core i5-4670T (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Core i5-2540M (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Core i5-2500 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Atom N450 (Jiri Denemark),<br/>
      tests: Add CPU detection test for Intel Atom D510 (Jiri Denemark),<br/>
      tests: Add CPU detection test for AMD A10-5800K (Jiri Denemark),<br/>
      tests: Add CPU detection tests (Jiri Denemark),<br/>
      cpu_x86: Refactor internal KVM features (Jiri Denemark),<br/>
      cpu_ppc64: Avoid unnecessary pointer to virCPUppc64Data (Jiri Denemark),<br/>
      cpu_x86: Avoid unnecessary pointers to virCPUx86Data (Jiri Denemark),<br/>
      tests: Create simple monitor in qemuMonitorTestNewFromFile (Jiri Denemark),<br/>
      tests: Fix "Reponse" typo (Jiri Denemark),<br/>
      tests: Introduce qemuMonitorTestNewFromFile (Jiri Denemark),<br/>
      qemu: Refactor qemuMonitorJSONGetCPUx86Data (Jiri Denemark),<br/>
      cpu_x86: Rename CPUID function to eax_in (Jiri Denemark),<br/>
      cpu: Detect arch when parsing CPU data (Jiri Denemark),<br/>
      cpu_x86: Fix CPU data parser (Jiri Denemark),<br/>
      cpu_x86: Propagate vendor to guest's virCPUData (Jiri Denemark),<br/>
      Fix typo in virNetDevGetEthtoolGFeatures stub (Ján Tomko),<br/>
      tests: Rename virtTestMain to virTestMain. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestErrorFuncQuiet to virTestErrorFuncQuiet. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestCounterNext to virTestCounterNext. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestCaptureProgramOutput to virTestCaptureProgramOutput. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestDifferenceBin to virTestDifferenceBin. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestCaptureProgramExecChild to virTestCaptureProgramExecChild. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestDifferenceFullInternal to virTestDifferenceFullInternal. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestDifferenceFullNoRegenerate. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestQuiesceLibvirtErrors to virTestQuiesceLibvirtErrors. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestUseTerminalColors to virTestUseTerminalColors. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestLogContentAndReset to virTestLogContentAndReset. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestCounterReset to virTestCounterReset. (Tomáš Ryšavý),<br/>
      tests: Rename virtTest00MActive to virTest00MActive. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestClearCommandPath to virTestClearCommandPath. (Tomáš Ryšavý),<br/>
      Rename virtTestDifferenceFull to virTestDifferenceFull. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestCompareToFile to virTestCompareToFile. (Tomáš Ryšavý),<br/>
      Rename virtTestLoadFile to virTestLoadFile. (Tomáš Ryšavý),<br/>
      Rename virtTestDifference to virTestDifference. (Tomáš Ryšavý),<br/>
      tests: Rename virtTestRun to virTestRun. (Tomáš Ryšavý),<br/>
      virschematest: call va_end even on OOM (Ján Tomko),<br/>
      node_device: Replace VIR_ERROR with standard vir*Error in state driver init (Jovanka Gulicoska),<br/>
      lxc: simplify lxcDomainGetBlkioParameters (Ján Tomko),<br/>
      Export virDomainGetBlkioParametersAssignFromDef (Ján Tomko),<br/>
      Use virDomainObjGetDefs in lxcDomainGetBlkioParameters (Ján Tomko),<br/>
      Use virDomainObjGetDefs in lxcDomainSetBlkioParameters (Ján Tomko),<br/>
      Use virDomainObjGetDefs in lxcDomainGetMemoryParameters (Ján Tomko),<br/>
      Use virDomainObjGetDefs in lxcDomainGetSchedulerParametersFlags (Ján Tomko),<br/>
      Use virDomainObjGetDefs in lxcDomainSetSchedulerParametersFlags (Ján Tomko),<br/>
      Use virDomainObjGetDefs in lxcDomainSetMemoryFlags (Ján Tomko),<br/>
      lxc: rename vmdef to persistentDef (Ján Tomko),<br/>
      Use @SYSTEM priority for TLS on Fedora &gt;= 21 (Daniel P. Berrange),<br/>
      remote: allow TLS priority to be customized (Daniel P. Berrange),<br/>
      Pass config file object through to driver open methods (Daniel P. Berrange),<br/>
      remote: allow TLS protocol/cipher priority override in URI (Daniel P. Berrange),<br/>
      libvirtd: add config option for TLS priority (Daniel P. Berrange),<br/>
      rpc: allow priority string to be passed to TLS context (Daniel P. Berrange),<br/>
      configure: allow setting default TLS priority string (Daniel P. Berrange),<br/>
      rpc: set gnutls log function at global init time (Daniel P. Berrange),<br/>
      tls: remove support for gnutls 1.x.x, require 2.2.0 (Daniel P. Berrange),<br/>
      qemu_monitor: rephrase error message if qemu closes monitor (Pavel Hrdina),<br/>
      Introduce virschematest (Ján Tomko),<br/>
      Introduce virXMLValidatorValidate (Ján Tomko),<br/>
      Introduce virXMLValidatorInit (Ján Tomko),<br/>
      Introduce virXMLValidatorFree (Ján Tomko),<br/>
      Introduce virXMLValidator structure (Ján Tomko),<br/>
      qemu: domain: Sanitize return value handling in disk presence checker (Peter Krempa),<br/>
      xen: test for driver=tap2 sub-type in xen-xm (Philipp Hahn),<br/>
      xen: Also add sub-type for driver=tap2 in xen-xm (Philipp Hahn),<br/>
      qemu: Replace VIR_ERROR with standard vir*Error in state driver init (Jovanka Gulicoska),<br/>
      xen: Replace VIR_ERROR with standard vir*Error in state driver init (Jovanka Gulicoska),<br/>
      uml: Replace VIR_ERROR with standard vir*Error in state driver init (Jovanka Gulicoska),<br/>
      qemu: migration: Add VM log entry on start of migration (Peter Krempa),<br/>
      qemu: domain: Implement helper for one-shot log entries to the VM log file (Peter Krempa),<br/>
      log: daemon: Add remote protocol handling for the log appending API (Peter Krempa),<br/>
      log: handler: Add new API to append to logging files (Peter Krempa),<br/>
      util: Perform proper virRandomBytes return value checking (John Ferlan),<br/>
      Reindent virNetDevSendEthtoolIoctl (Ján Tomko),<br/>
      Reuse the socket in virNetDevGetFeatures (Ján Tomko),<br/>
      Return bool in virNetDevFeatureAvailable (Ján Tomko),<br/>
      Split out virNetDevGetEthtoolGFeatures (Ján Tomko),<br/>
      Split out virNetDevGetEthtoolFeatures (Ján Tomko),<br/>
      Move struct elem out of virNetDevGetFeatures (Ján Tomko),<br/>
      Reindent comment of virNetDevFeatureAvailable (Ján Tomko),<br/>
      qemu: process: Allow VIR_QEMU_PROCESS_START_NEW in qemuProcessLaunch (Peter Krempa),<br/>
      Add nomatch filters when enumerating udev devices (Ján Tomko),<br/>
      node_device_udev: rename labels to cleanup (Ján Tomko),<br/>
      node_device_udev: remove unnecessary ret variables (Ján Tomko),<br/>
      qemu: Move check that validates 'min_guarantee' to qemuDomainDefValidate (Peter Krempa),<br/>
      conf: Move validation of disk LUN device to the appropriate place (Peter Krempa),<br/>
      conf: Move disk info validator to the domain conf validator (Peter Krempa),<br/>
      qemu: process: Call the domain config validator when starting a new VM (Peter Krempa),<br/>
      qemu: process: Convert multiple boolean args to a single flag (Peter Krempa),<br/>
      qemu: process: Unexport qemuProcessStartValidate (Peter Krempa),<br/>
      conf: Add device def validation callback (Peter Krempa),<br/>
      conf: drop 'def' from struct virDomainDefPostParseDeviceIteratorData (Peter Krempa),<br/>
      conf: Add infrastructure for adding configuration validation (Peter Krempa),<br/>
      conf: Rename VIR_DOMAIN_DEF_PARSE_VALIDATE to VIR_DOMAIN_DEF_PARSE_VALIDATE_SCHEMA (Peter Krempa),<br/>
      node_device_udev: remove yoda condition (Ján Tomko),<br/>
      udevSetupSystemDev: return if allocation fails (Ján Tomko),<br/>
      Reformat udevProcessRemoveableMedia (Ján Tomko),<br/>
      udevProcessStorage: trim all whitespace from model and vendor (Ján Tomko),<br/>
      node_device_udev: switch to using virReportError (Ján Tomko),<br/>
      Remove PROPERTY_* constants (Ján Tomko),<br/>
      Only return two values in udevGetUintSysfsAttr (Ján Tomko),<br/>
      Only return two values in udevGetIntSysfsAttr (Ján Tomko),<br/>
      Only return two values in udevGetStringSysfsAttr (Ján Tomko),<br/>
      Remove extra allocation in udevGetDeviceSysfsAttr (Ján Tomko),<br/>
      Only return two values in udevGetUintProperty (Ján Tomko),<br/>
      Only return two values in udevGetStringProperty (Ján Tomko),<br/>
      qemu: Add support to QXL's max_outputs parameter (Martin Kletzander),<br/>
      qemu: Check for qxl's max_outputs parameter (Martin Kletzander),<br/>
      Rewrite disk type checking in udevProcessStorage (Ján Tomko),<br/>
      Fix the return value in udevKludgeStorageType (Ján Tomko),<br/>
      udevProcessFloppy; remove unnecessary allocation (Ján Tomko),<br/>
      Move udevHasDeviceProperty earlier (Ján Tomko),<br/>
      Remove udevStrToLong_i (Ján Tomko),<br/>
      Remove udevStrToLong_ui (Ján Tomko),<br/>
      Remove udevStrToLong_ull (Ján Tomko),<br/>
      Rewrite usage of StrToLong_ui in udevProcess{PCI,SCSI} (Ján Tomko),<br/>
      udevProcessSCSIHost: use STRSKIP (Ján Tomko),<br/>
      udevGetDMIData: remove unused variable (Ján Tomko),<br/>
      Assign node device driver private data earlier (Ján Tomko),<br/>
      Do not call nodeStateCleanup on early initialization error (Ján Tomko),<br/>
      Reformat nodeStateCleanup (Ján Tomko),<br/>
      node_device_udev: initialize libpciaccess after the driver lock (Ján Tomko),<br/>
      Split out pciaccess (de)initialization (Ján Tomko),<br/>
      Initialize ret to -1 in nodeStateInitialize (Ján Tomko),<br/>
      qemu: Move and rename qemuBuildObjectCommandlineFromJSON (John Ferlan),<br/>
      storage: Create helper to set input for CreateQemuImg code (John Ferlan),<br/>
      storage: Split out a helper for encryption checks (John Ferlan),<br/>
      storage: Split out setting default secret for encryption (John Ferlan),<br/>
      util: Clean up code formatting in virstorageencryption (John Ferlan),<br/>
      Do not check for domain liveness in virDomainObjSetDefTransient (Ján Tomko),<br/>
      Check if the domain is active in virDomainObjGetPersistentDef (Ján Tomko),<br/>
      Clean up redundant usage of virDomainObjSetDefTransient (Ján Tomko),<br/>
      Post-release version bump to 1.3.6 (Ján Tomko)<br/>
      </li>
    </ul>
   <h3>v1.3.5: Jun 04 2016</h3>
    <ul>
      <li>Features:<br/>
      admin: Introduce virAdmClientGetInfo API (Erik Skultety),<br/>
      Various improvement on bhyve driver (Roman Bogorodskiy, Fabian Freyer),<br/>
      Various improvement on libxl driver (Jim Fehlig, Chunyan Liu)<br/>
      </li>

      <li>Documentation:<br/>
      Refresh po files from zanata (Daniel P. Berrange),<br/>
      cpu: Fix documentation of cpuGetModels (Jiri Denemark),<br/>
      docs: fix &lt;spice&gt;&lt;gl enable&gt; since version (Ján Tomko),<br/>
      docs: formatdomain: document virtio-mmio device addresses (Cole Robinson),<br/>
      schemas: Improve outdated comment (Christophe Fergeau),<br/>
      docs: Fix disk "volume" description (John Ferlan),<br/>
      docs: fix version number in vlan tagging documentation (Laine Stump),<br/>
      tools: virt-host-validate: fix missing translation marker (Bjoern Walk),<br/>
      docs: Reformat the Controllers description (John Ferlan),<br/>
      docs: clarify disk iothread support (John Ferlan),<br/>
      docs: align spelling of S390 (Boris Fiuczynski)<br/>
      </li>

      <li>Portability:<br/>
      virDomainChrGetDomainPtrsInternal: Return an integer (Michal Privoznik),<br/>
      virSocketAddrIsPrivate: Work on 32bits platforms (Michal Privoznik),<br/>
      makefile: fix build on systems where gnutls is not in /usr/include (Pavel Hrdina),<br/>
      util: fix build without GNUTLS (Mikhail Feoktistov),<br/>
      tests: qemu: test &lt;address type='pci'/&gt; with aarch64 (Cole Robinson),<br/>
      tests: Link virtestmock with probes (Michal Privoznik),<br/>
      libvit.spec.in: Add missing BuildRequires against sheepdog (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove client only build option (Daniel P. Berrange),<br/>
      uml: only build on Linux (Roman Bogorodskiy),<br/>
      virNetServerClientNewPostExecRestart: Avoid align problems (Michal Privoznik),<br/>
      build: fix 32-bit build of admin (Eric Blake)<br/>
      </li>

      <li>Bug Fixes:<br/>
      Fix building with -Og (Martin Kletzander),<br/>
      virPerfEventIsEnabled: Don't crash on shut off domains (Michal Privoznik),<br/>
      virDomainFormatSchedDef: Avoid false positive NULL dereference (Michal Privoznik),<br/>
      ppc64Compute: Avoid possible NULL dereference (Michal Privoznik),<br/>
      network: restart dnsmasq after adding/removing txt and srv records (Laine Stump),<br/>
      QXL: fix reloading of vram64 attribute (Pavel Hrdina),<br/>
      esxStorageVolGetXMLDesc: Lookup SCSI lun properly (Michal Privoznik),<br/>
      qemuMonitorTextGetAllBlockStatsInfo: Fix line validation (Michal Privoznik),<br/>
      lxc: Fix virLXCDomainObjBeginJob position in lxcDomainSetMemoryParameters (Katerina Koukiou),<br/>
      esx: do not store escaped password in esxVI_Context. (Dawid Zamirski),<br/>
      qemu: Fix error message when PCI bridge has index &lt;= bus (Andrea Bolognani),<br/>
      daemon: cleanup state drivers in order reverse to init order (Nikolay Shirokovskiy),<br/>
      esx: use newer virtualHW version for 5.1+ hosts (Dawid Zamirski),<br/>
      esx: Add VMCI device for virtualHW &gt;= 7 (Dawid Zamirski),<br/>
      esx: use lsilogic adapter type in vol create. (Dawid Zamirski),<br/>
      libxl: default to qemu driver for network disks (Jim Fehlig),<br/>
      lxc: Fix lxcDomainDestroyFlags endjob processing (John Ferlan),<br/>
      qemu: Remove unused persistentAddrs (John Ferlan),<br/>
      xenconfig: xm: check for driver on disk format (Joao Martins),<br/>
      nwfilter: fix lock order deadlock (Maxim Nestratov),<br/>
      maint: fix syntax-check sc_prohibit_int_ijk exclude rule (Pavel Hrdina),<br/>
      vz: add error code for case if vm is already stopped (Mikhail Feoktistov),<br/>
      storage: do not clear vols before volume upload (Ján Tomko),<br/>
      util: Fix error path for virPCIGetVirtualFunctions (John Ferlan),<br/>
      tests: Add forgotten backslash (Michal Privoznik),<br/>
      qemu: bulk stats: Don't access possibly blocked storage (Peter Krempa),<br/>
      qemu_cgroup: allow access to /dev/dri for virtio-vga (Ján Tomko),<br/>
      Revert "qemu_hotplug: fix checking graphics ports" (Pavel Hrdina),<br/>
      util: Remove disabling of autologin for iscsi-targets (Fritz Elfert),<br/>
      xenFormatNet: correct `type=netfront' to 'type=vif' to match libxl (Chunyan Liu),<br/>
      libxl: Free migration cookie (John Ferlan),<br/>
      qemu: command: Use -name guest= if available (Cole Robinson),<br/>
      qemu: command: escape commas in chardev socket path (Cole Robinson),<br/>
      qemu: command: escape commas in VNC socket path (Cole Robinson),<br/>
      qemu: command: escape commas in secret master path (Cole Robinson),<br/>
      qemu: command: escape commas in VM name (Cole Robinson),<br/>
      admin: Fix passing an incorrect readonly attribute to virNetServerServiceNew (Erik Skultety),<br/>
      cpuGetModels: Fix memory leak on error (Jiri Denemark),<br/>
      libxl: don't attempt to probe a non-existent emulator (Jim Fehlig),<br/>
      network: log error when &lt;bandwidth&gt; is requested for hostdev interfaces (Laine Stump),<br/>
      Call per-device post-parse callback even on implicit video (Ján Tomko),<br/>
      util: Fix virGetLastErrorMessage to return proper error when 'err' is NULL (Erik Skultety),<br/>
      storage: Fix virStorageBackendDiskDeleteVol for device mapper (John Ferlan),<br/>
      storage: Fix algorithm generating path names for devmapper (John Ferlan),<br/>
      storage: Need to clear pool prior to calling the refreshPool (John Ferlan),<br/>
      storage: Fix regression cloning volume into a logical pool (John Ferlan),<br/>
      conf: log error when incorrect PCI root controller is added to domain (Laine Stump),<br/>
      conf: don't redefine virDomainCapsDeviceHostdev (Roman Bogorodskiy),<br/>
      conf: Fix error path in virNodeDevPCICapabilityParseXML (John Ferlan),<br/>
      util: polkit: Fix polkit agent startup (Peter Krempa),<br/>
      qemu: domain: Don't treat unknown storage type as not having backing chain (Peter Krempa),<br/>
      qemu: Reject invalid block copy targets for &lt;disk device='lun'&gt; (Peter Krempa),<br/>
      lxc: Fix wrong error message on disk hotplug (Peter Krempa),<br/>
      domain_conf: fix migration/managedsave with usb keyboard (Pavel Hrdina),<br/>
      qemu: Refresh RTC adjustment on qemuProcessReconnect (Michal Privoznik),<br/>
      qemu: fix error message for default panic device (Boris Fiuczynski),<br/>
      fdstream: don't raise error on SIGPIPE if abort requested (Cole Robinson),<br/>
      daemon: stream: Don't force error when client aborts (Cole Robinson),<br/>
      daemon: stream: set stream-&gt;closed on removal (Cole Robinson),<br/>
      daemon: stream: don't update events if stream-&gt;closed (Cole Robinson),<br/>
      daemon: stream: Close stream on send failure (Cole Robinson),<br/>
      fdstream: Raise explicit error when iohelper gets SIGPIPE (Cole Robinson),<br/>
      nwfilter: Save config to disk if we generated a UUID (Cole Robinson),<br/>
      nwfilter: Fix potential locking problems on ObjLoad failure (Cole Robinson),<br/>
      network: Fix segfault on daemon reload (Cole Robinson),<br/>
      send default USB controller in xml to destination during migration (Shivaprasad G Bhat),<br/>
      conf: storage: pool: reject name containing '/' (Cole Robinson),<br/>
      conf: network: reject name containing '/' (Cole Robinson),<br/>
      conf: domain: reject name containing '/' (Cole Robinson),<br/>
      qemu: hotplug: Fix possible memory leak of props (John Ferlan),<br/>
      qemu: process: Fix failure semantics for perf events (Peter Krempa),<br/>
      qemu: process: Refresh ejectable media tray state on VM start (Peter Krempa),<br/>
      tools: Fix connect command (Martin Kletzander)<br/>
      </li>

      <li>Improvements:<br/>
      Drop virPerfGetEventFd (Michal Privoznik),<br/>
      virNetDevBridgeGet: Don't require users to virNetDevSetupControl (Michal Privoznik),<br/>
      apibuild: Substitute only pure number tokens (Michal Privoznik),<br/>
      build: use gnulib's unsetenv (Michal Privoznik),<br/>
      Turn 1&lt;&lt;31 into 1U&lt;&lt;31 (Michal Privoznik),<br/>
      docs: Teach apibuild to deal with (1U &lt;&lt; 31) too (Michal Privoznik),<br/>
      maint: update to latest gnulib (Eric Blake),<br/>
      spec: Advertise nvram paths of official fedora edk2 builds (Cole Robinson),<br/>
      maint: update to latest gnulib (Eric Blake),<br/>
      esx: add pciBridge devices when SCSI is used (Dawid Zamirski),<br/>
      conf: permit auto-assignment of controller indexes (Laine Stump),<br/>
      conf: make virDomainControllerFindUnusedIndex() more generally usable (Laine Stump),<br/>
      conf/qemu: make IS_USB2_CONTROLLER globally available (Laine Stump),<br/>
      libxl: add .domainInterfaceAddresses (Chunyan Liu),<br/>
      security: label the slic_table (Ján Tomko),<br/>
      qemu: format SLIC ACPI table command line (Ján Tomko),<br/>
      conf: add &lt;acpi&gt;&lt;table&gt; to &lt;os&gt; (Ján Tomko),<br/>
      qemucapstest: replace caps-1.6.50 with updated caps-1.7.0 (Pavel Hrdina),<br/>
      qemu: Remove virDomainLiveConfigHelperMethod from qemuDomainSetSchedulerParametersFlags (Peter Krempa),<br/>
      qemu: Remove virDomainLiveConfigHelperMethod from qemuDomainSetBlockIoTune (Peter Krempa),<br/>
      qemu: Refactor qemuDomainGetSchedulerParametersFlags (Peter Krempa),<br/>
      conf: Change virDomainCputune member 'shares' to unsigned long long (Peter Krempa),<br/>
      qemu: Remove virDomainLiveConfigHelperMethod from qemuDomainGetSchedulerParametersFlags (Peter Krempa),<br/>
      qemu: Refactor qemuDomainGetBlkioParameters (Peter Krempa),<br/>
      qemu: Remove virDomainLiveConfigHelperMethod from qemuDomainGetBlkioParameters (Peter Krempa),<br/>
      qemu: Remove virDomainLiveConfigHelperMethod from qemuDomainSetMemoryParameters (Peter Krempa),<br/>
      qemu: Refactor typed params assignment in qemuDomainGetBlockIoTune (Peter Krempa),<br/>
      qemu: Replace virDomainLiveConfigHelperMethod in qemuDomainGetBlockIoTune (Peter Krempa),<br/>
      qemu: monitor: Remove 'supportMaxOptions' argument from qemuMonitorGetBlockIoThrottle (Peter Krempa),<br/>
      qemu: driver: Allow disk update of startupPolicy/snapshot for all disks (Peter Krempa),<br/>
      qemu: driver: Move around code to avoid need to rollback (Peter Krempa),<br/>
      Call qemuDomainObjEndJob when qemuCaps is null during hotplug (Shivaprasad G Bhat),<br/>
      Unref the cfg in qemuDomainAttachHostPCIDevice() (Shivaprasad G Bhat),<br/>
      qemu: Remove dead code (John Ferlan),<br/>
      conf: nodedev: Set PCI_PHYSICAL_FUNCTION flag more carefully (Andrea Bolognani),<br/>
      pci: Fix virPCIGetPhysicalFunction()'s callers (Andrea Bolognani),<br/>
      pci: Document virPCIGetPhysicalFunction() (Andrea Bolognani),<br/>
      pci: Initialize return location in virPCIGetPhysicalFunction() (Andrea Bolognani),<br/>
      qemu: hotplug: wait for the tray to eject only for drives with a tray (Peter Krempa),<br/>
      qemu: hotplug: Fix error reported when cdrom tray is locked (Peter Krempa),<br/>
      qemu: hotplug: Extract code for waiting for tray eject (Peter Krempa),<br/>
      qemu: process: Fix and improve disk data extraction (Peter Krempa),<br/>
      qemu: Move and rename qemuDomainCheckEjectableMedia to qemuProcessRefreshDisks (Peter Krempa),<br/>
      qemu: Extract more information about qemu drives (Peter Krempa),<br/>
      qemu: Move struct qemuDomainDiskInfo to qemu_domain.h (Peter Krempa),<br/>
      lxc: support &lt;interface type='ethernet'&gt; (Laine Stump),<br/>
      lxc: completely rework reference counting (Katerina Koukiou),<br/>
      lxc: use job functions in lxcDomainLxcOpenNamespace &amp; lxcDomainSendProcessSignal (Katerina Koukiou),<br/>
      qemucapstest: update caps for qemu-2.6.0 (Pavel Hrdina),<br/>
      qemucapstest: update caps for qemu-2.5.0 (Pavel Hrdina),<br/>
      qemucapstest: update caps for qemu-2.4.0 (Pavel Hrdina),<br/>
      qemucapstest: update caps for qemu-2.1.1 (Pavel Hrdina),<br/>
      qemucapstest: update caps for qemu-1.6.0 (Pavel Hrdina),<br/>
      qemucapstest: update caps for qemu-1.5.3 (Pavel Hrdina),<br/>
      qemucapstest: update caps for qemu-1.4.2 (Pavel Hrdina),<br/>
      qemucapstest: update caps for qemu-1.3.1 (Pavel Hrdina),<br/>
      qemucapstest: update caps for qemu-1.2.2 (Pavel Hrdina),<br/>
      qemuxml2argvtest: skip test that depends on gnutls_cipher_encrypt() (Pavel Hrdina),<br/>
      storage: Replace VIR_ERROR with standard vir*Error in state driver init (Jovanka Gulicoska),<br/>
      nwfilter: Replace VIR_ERROR with standard vir*Error in state driver init (Jovanka Gulicoska),<br/>
      libxl: Replace VIR_ERROR with standard vir*Error in state driver init (Jovanka Gulicoska),<br/>
      bhyve: Replace VIR_ERROR with standard vir*Error in state driver init (Jovanka Gulicoska),<br/>
      qemu: simplify addition of USB controller in qemuParseCommandLine (Laine Stump),<br/>
      Deprecate QEMU_CAPS_PCIDEVICE (Ján Tomko),<br/>
      Deprecate QEMU_CAPS_DEVICE (Ján Tomko),<br/>
      Deprecate QEMU_CAPS_DRIVE_READONLY (Ján Tomko),<br/>
      qemu: always assume QEMU_CAPS_DRIVE_READONLY (Ján Tomko),<br/>
      tests: always assume QEMU_CAPS_DRIVE_READONLY (Ján Tomko),<br/>
      tests: remove &lt;readonly/&gt; from IDE disks (Ján Tomko),<br/>
      tests: remove disk-drive-fat test (Ján Tomko),<br/>
      qemu: assume QEMU_CAPS_DEVICE almost everywhere (Ján Tomko),<br/>
      qemu_command: assume QEMU_CAPS_DEVICE (Ján Tomko),<br/>
      qemu: auto-assign addresses when &lt;address type='pci'/&gt; is specified (Laine Stump),<br/>
      bhyve: auto-assign addresses when &lt;address type='pci'/&gt; is specified (Laine Stump),<br/>
      conf: allow type='pci' addresses with no address attributes specified (Laine Stump),<br/>
      conf: new functions to check if PCI address is wanted/present (Laine Stump),<br/>
      conf: move virDomainDeviceInfo definition from domain_conf.h to device_conf.h (Laine Stump),<br/>
      virtestmock: Mock stat() properly (Michal Privoznik),<br/>
      tests: Drop VIR_MOCK_CALL_STAT (Michal Privoznik),<br/>
      qemu: Utilize qemu secret objects for RBD auth/secret (John Ferlan),<br/>
      tests: Allow multiple mock libraries (Peter Krempa),<br/>
      qemu: Introduce qemuDomainSecretSetup (John Ferlan),<br/>
      util: Introduce virCryptoGenerateRandom (John Ferlan),<br/>
      util: Introduce encryption APIs (John Ferlan),<br/>
      tests: Add mock for virRandomBytes (John Ferlan),<br/>
      qemu: parse: Handle suffixes for -m memory (Nishith Shah),<br/>
      qemu: parse: Use qemuParseCommandLineMem for -m memory (Nishith Shah),<br/>
      qemu_command: refactor spice channel code (Pavel Hrdina),<br/>
      qemu_process: separate graphics socket and address generation (Pavel Hrdina),<br/>
      graphics: resolve address for listen type network in qemu_process (Pavel Hrdina),<br/>
      qemu_command: move sasl parameter after port and addr definition (Pavel Hrdina),<br/>
      domain_conf: introduce virDomainGraphicsListenDefFormatAddr (Pavel Hrdina),<br/>
      graphics: rename gListen to glisten (Pavel Hrdina),<br/>
      tests: cleanup vnc auto socket test (Pavel Hrdina),<br/>
      qemu_domain: add a empty listen type address if we remove socket for VNC (Pavel Hrdina),<br/>
      cpu: Rework CPU map loading (Jiri Denemark),<br/>
      cpu_ppc64: Use array of models in CPU map (Jiri Denemark),<br/>
      cpu_ppc64: Use array of vendors in CPU map (Jiri Denemark),<br/>
      cpu_x86: Use array of features in CPU map (Jiri Denemark),<br/>
      cpu_x86: Use array of vendors in CPU map (Jiri Denemark),<br/>
      cpu_x86: Use array of models in CPU map (Jiri Denemark),<br/>
      Do not mask QEMU_CAPS_DEVICE in qemuBuildDriveStr (Ján Tomko),<br/>
      Introduce qemuDiskBusNeedsDeviceArg (Ján Tomko),<br/>
      Assume QEMU_CAPS_DEVICE in qemuBuildDiskDriveCommandLine (Ján Tomko),<br/>
      Remove DISK_BUS_XEN support from qemuBuildDiskDriveCommandLine (Ján Tomko),<br/>
      qemu: always add -nodefaults (Ján Tomko),<br/>
      qemu: process: Drop !QEMU_CAPS_DEVICE code (Cole Robinson),<br/>
      Remove qemuProcessInitPCIAddresses with dependencies (Ján Tomko),<br/>
      qemu: driver: Fix function header alignment of some functions (Peter Krempa),<br/>
      conf: disk: Rename virDomainDiskDefValidate to virDomainDiskDefParseValidate (Peter Krempa),<br/>
      util: Remove need for STATIC_ANALYSIS check (John Ferlan),<br/>
      util: Adjust return for virPCIGetDeviceAddressFromSysfsLink (John Ferlan),<br/>
      util: Remove need for ret in virPCIGetPhysicalFunction (John Ferlan),<br/>
      tests: nodeinfotest: Remove virSaveLastError() usage (Cole Robinson),<br/>
      More usage of virGetLastErrorMessage (Jovanka Gulicoska),<br/>
      tests: More usage of virGetLastErrorMessage() (Jovanka Gulicoska),<br/>
      lxc: use job functions in lxcDomain* functions that perform modify actions. (Katerina Koukiou),<br/>
      lxc: use job functions in lxcDomain* functions that do query operations. (Katerina Koukiou),<br/>
      lxc: add job functions in lxcDomainSetAutostart (Katerina Koukiou),<br/>
      lxc: use job functions in lxcDomain{AttachDeviceFlags, DetachDeviceFlags, UpdateDeviceFlags} (Katerina Koukiou),<br/>
      lxc: use job functions in lxcDomain{Suspend, Resume} (Katerina Koukiou),<br/>
      lxc: use job functions in lxcDomainSetMemoryFlags (Katerina Koukiou),<br/>
      lxc: use job functions in lxcDomain{CreateXMLWithFiles, CreateWithFiles} (Katerina Koukiou),<br/>
      lxc: Add job support to lxc driver (Katerina Koukiou),<br/>
      qemu: driver: Separate bulk stats worker for block devices (Peter Krempa),<br/>
      qemu: driver: Remove unnecessary flag in qemuDomainGetStatsBlock (Peter Krempa),<br/>
      perf: add support to perf event for MBM (Qiaowei Ren),<br/>
      Separate virDomainDefParseBootOptions (Ján Tomko),<br/>
      vz: cleanup: define vz format of uuids (Nikolay Shirokovskiy),<br/>
      vz: implement p2p migration (Nikolay Shirokovskiy),<br/>
      vz: implement managed migration (Nikolay Shirokovskiy),<br/>
      vz: fix const correctness case (Nikolay Shirokovskiy),<br/>
      vz: save session uuid on login (Nikolay Shirokovskiy),<br/>
      virt-admin: Introduce commands srv-clients-info and srv-clients-set (Erik Skultety),<br/>
      admin: Introduce virAdmServerSetClientLimits (Erik Skultety),<br/>
      admin: Introduce virAdmServerGetClientLimits (Erik Skultety),<br/>
      admin: Introduce some public constants related to server's client limits (Erik Skultety),<br/>
      virnetserver: Introduce server's client-related limits getters (Erik Skultety),<br/>
      qemu: address: Remove QEMU_CAPS_DEVICE usage (Cole Robinson),<br/>
      tests: qemuargv2xmltest: Drop disk for s390 aes tests (Cole Robinson),<br/>
      qemu: Call virDomainDefPostParse via CONFIG hotplug (Cole Robinson),<br/>
      qemu: Assign device addresses in PostParse (Cole Robinson),<br/>
      domain: Add virDomainDefAssignAddressesCallback (Cole Robinson),<br/>
      vz: drop prlsdkDomainHasSnapshots (Nikolay Shirokovskiy),<br/>
      vz: add domain snapshots functionality (Nikolay Shirokovskiy),<br/>
      iscsi: Remove initiatoriqn from virISCSIScanTargets (John Ferlan),<br/>
      iscsi: Add exit status checking for virISCSIGetSession (John Ferlan),<br/>
      util: Add exitstatus parameter to virCommandRunRegex (John Ferlan),<br/>
      tests: Try different usable GIC versions (Andrea Bolognani),<br/>
      tests: Prepare to have different usable GIC versions (Andrea Bolognani),<br/>
      qemu: Add virQEMUCapsSetGICCapabilities() (Andrea Bolognani),<br/>
      qemu: Automatically choose usable GIC version (Andrea Bolognani),<br/>
      qemu: Add virQEMUCapsSupportsGICVersion() (Andrea Bolognani),<br/>
      Change return value of VIR_APPEND*INPLACE* to void (Jiri Denemark),<br/>
      Remove virDomainRNGInsert (Jiri Denemark),<br/>
      xlconfigtest: add test case for type=vif in xl format (Chunyan Liu),<br/>
      extract XEN_CONFIG_FORMAT_XM/XL to xen_common.h (Chunyan Liu),<br/>
      bhyve: implement virConnectIsSecure (Fabian Freyer),<br/>
      bhyve: Implement virConnectIsEncrypted (Fabian Freyer),<br/>
      spec: Remove %defattr usage (Cole Robinson),<br/>
      Revert "vz: handle sourceless cdroms" (Maxim Nestratov),<br/>
      qemu: hotplug: Report error if we hit tray status timeout (Cole Robinson),<br/>
      admin: include: Rename argument dmn to conn in virAdmConnectListServers (Erik Skultety),<br/>
      vz: make error path code idiomatic (Nikolay Shirokovskiy),<br/>
      vz: fix template ct creation (Mikhail Feoktistov),<br/>
      vz: fix error message for readonly fs (Nikolay Shirokovskiy),<br/>
      vz: handle sourceless cdroms (Mikhail Feoktistov),<br/>
      vz: fix vzCheckUnsupportedDisks format checks for cdroms (Nikolay Shirokovskiy),<br/>
      vz: remove check for auto file format for disks (Nikolay Shirokovskiy),<br/>
      domain_conf: cleanup virDomainGraphicsListenDefParseXML (Pavel Hrdina),<br/>
      graphics: make address attribute for listen type='address' optional (Pavel Hrdina),<br/>
      domain_conf: parse listen attribute while parsing listen elements (Pavel Hrdina),<br/>
      graphics: don't parse listens if socket attribute is present (Pavel Hrdina),<br/>
      conf: Allow all volume modes for disk type='lun' sources (Peter Krempa),<br/>
      qemu: Drop QEMU_CAPS_VIRTIO_BLK_SG_IO (Andrea Bolognani),<br/>
      qemu: Drop QEMU_CAPS_CPU_HOST (Andrea Bolognani),<br/>
      qemu: Drop QEMU_CAPS_PCI_ROMBAR (Andrea Bolognani),<br/>
      qemu:  More qemu_monitor_json cleanups (John Ferlan),<br/>
      bhyve: implement virConnectIsAlive (Fabian Freyer),<br/>
      qemu: command: Add qemuBufferEscapeComma (Cole Robinson),<br/>
      qemu: alias: Remove QEMU_CAPS_DEVICE (Cole Robinson),<br/>
      cpu: Properly report errors when parsing CPU map XML (Jiri Denemark),<br/>
      cpu_x86: Check vendor early (Jiri Denemark),<br/>
      cpu_x86: Don't ignore parsing errors in x86ModelLoad (Jiri Denemark),<br/>
      cpu_x86: Don't ignore parsing errors in x86FeatureLoad (Jiri Denemark),<br/>
      cpu_x86: Don't ignore parsing errors in x86VendorLoad (Jiri Denemark),<br/>
      cpu_x86: Simplify insertions into a linked list (Jiri Denemark),<br/>
      cpu_x86: Remove comparisons to NULL (Jiri Denemark),<br/>
      cpu_x86: Use for loop in x86Decode (Jiri Denemark),<br/>
      cpu_x86: Rename cleanup labels (Jiri Denemark),<br/>
      cpu_x86: Compare CPU candidates in a separate function (Jiri Denemark),<br/>
      cpu_x86: Rename struct virCPUx86DataIterator (Jiri Denemark),<br/>
      cpu_x86: Rename enum compare_result (Jiri Denemark),<br/>
      cpu_x86: Rename struct x86_map (Jiri Denemark),<br/>
      cpu_x86: Rename struct x86_model (Jiri Denemark),<br/>
      cpu_x86: Rename struct x86_kvm_feature (Jiri Denemark),<br/>
      cpu_x86: Rename struct x86_feature (Jiri Denemark),<br/>
      cpu_x86: Rename struct x86_vendor (Jiri Denemark),<br/>
      qemu: command: Ignore QEMU_CAPS_DEVICE when building drive alias (Cole Robinson),<br/>
      cpu: Add support for clflushopt and tsc_adjust Intel features (Alexander Burluka),<br/>
      secret: Alter virSecretGetSecretString (John Ferlan),<br/>
      qemu: domain: Fix names for functions that clear security info (Peter Krempa),<br/>
      util: string: Introduce helper to determine whether a byte buffer is printable (John Ferlan),<br/>
      util: string: Introduce virStringEncodeBase64 (Peter Krempa),<br/>
      secret: util: Refactor virSecretGetSecretString (Peter Krempa),<br/>
      util: alloc: Introduce freeing helpers that clear the memory before freeing (Peter Krempa),<br/>
      capabilities: Advertise cpuselection if -cpu host is usable (Jiri Denemark),<br/>
      qemuaincapstest: Give better names to test data files (Jiri Denemark),<br/>
      domaincapstest: Give better names to test data files (Jiri Denemark),<br/>
      domaincapstest: Use arch strings (Jiri Denemark),<br/>
      tests: Introduce check-file-access.pl (Michal Privoznik),<br/>
      virtestmock: Print invalid file accesses into a file (Michal Privoznik),<br/>
      tests: Introduce global mock library (Michal Privoznik),<br/>
      virmock.h: Introduce VIR_MOCK_CALL_STAT (Michal Privoznik),<br/>
      securityselinuxhelper: Adapt to virmock.h (Michal Privoznik),<br/>
      nssmock: Adapt to virmock.h (Michal Privoznik),<br/>
      vircgroupmock: Adapt to virmock.h (Michal Privoznik),<br/>
      virpcimock: Adapt to virmock.h (Michal Privoznik),<br/>
      qemu: remove ATTRIBUTE_UNUSED in connectGetType (Fabian Freyer),<br/>
      bhyve: implement virConnectGetType (Fabian Freyer),<br/>
      xlconfigtests: use qemu-xen in all test data files (Jim Fehlig),<br/>
      virt-aa-helper: remove replace_string and use virStringReplace instead (Pavel Hrdina),<br/>
      virfile: Introduce virFileRemoveLastComponent (Michal Privoznik),<br/>
      leave out the default USB controller only on i440fx during migration (Shivaprasad G Bhat),<br/>
      qemu: domain: Fix name of macro defining AES IV length (Peter Krempa),<br/>
      qemu: Change from SecretIV or _IV to SecretAES or _AES (John Ferlan),<br/>
      Fix tests to include video ram size (Ján Tomko),<br/>
      Fill out default vram in DeviceDefPostParse (Ján Tomko),<br/>
      Move virDomainDefPostParseInternal after virDomainDeviceDefPostParse (Ján Tomko),<br/>
      spec: Fix broken indentation reported by syntax-check (Erik Skultety),<br/>
      libvirt.spec.in: remove all changelog entries (Daniel P. Berrange),<br/>
      libvirt.spec.in: use explicit --with-xxx for all features (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove nss plugin conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove libnl conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove macvtap conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove libpcap conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove nwfilter driver conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove nodedev conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove most storage conditionals (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove network driver conditiaonl (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove interface driver conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove selinux conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove yajl conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove polkit conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove sasl conditionals (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove dtrace conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove audit conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove netcf conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove udev conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove capng conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove apparmor conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove hal conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove avahi conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove libvirtd conditional (Daniel P. Berrange),<br/>
      libvirt.spec.in: remove conditional for driver modules (Daniel P. Berrange),<br/>
      libvirt.spec.in: drop Fedora &lt; 20 and RHEL &lt; 6 (Daniel P. Berrange),<br/>
      libvirt.spec.in: explicitly disable xenapi &amp; vz drivers (Daniel P. Berrange),<br/>
      headers: Remove unnecessary keyword extern from function declaration (Erik Skultety),<br/>
      conf: make virDomainDefAddController() public (Laine Stump),<br/>
      libxl: support migration stream V2 in migration (Jim Fehlig),<br/>
      libxl: support Xen migration stream V2 in save/restore (Jim Fehlig),<br/>
      libxl: switch to using libxl_domain_create_restore from v4.4 API (Jim Fehlig),<br/>
      qemu: Add extra checks for secret destroy API's (John Ferlan),<br/>
      util: set vlan tag for macvtap passthrough mode on SRIOV VFs (Laine Stump),<br/>
      seclabeltest: Update to use VIRT_TEST_MAIN (Michal Privoznik),<br/>
      virt-admin: Introduce client-disconnect command (Erik Skultety),<br/>
      admin: Introduce virAdmClientClose API (Erik Skultety),<br/>
      admin: Remove flags checking from virAdmConnectOpen public API (Erik Skultety),<br/>
      admin: Remove flags checking from public API entry points (Erik Skultety),<br/>
      qemu_hotplug: fix checking graphics ports (Pavel Hrdina),<br/>
      qemu_process: merge graphics code into qemuProcessSetupGraphics (Pavel Hrdina),<br/>
      graphics: generate fake ports also for tests (Pavel Hrdina),<br/>
      qemu_process: separate graphics port reservation (Pavel Hrdina),<br/>
      configure: split out UML driver checks (Roman Bogorodskiy),<br/>
      admin: Clean up error path in adminServerListClients (John Ferlan),<br/>
      Use virGetLastErrorMessage to avoid Coverity message (John Ferlan),<br/>
      qemu: command: unconditionally allow accel3d='no' (Cole Robinson),<br/>
      domaincaps: Report video modelType (Cole Robinson),<br/>
      domaincaps: Report graphics type enum (Cole Robinson),<br/>
      qemu: command: Remove unnecessary label in qemuCheckDiskConfig (Peter Krempa),<br/>
      conf: Kill now unused virDomainDiskSourceIsBlockType (Peter Krempa),<br/>
      qemu: command: Use more appropriate checking function for block devices (Peter Krempa),<br/>
      qemu: Support &lt;disk device='lun'&gt; for iSCSI direct mapped volumes (Peter Krempa),<br/>
      util: Replace virDomainDiskSourceIsBlockType with a new helper (Peter Krempa),<br/>
      qemu_monitor_json: Follow refactor (Michal Privoznik),<br/>
      virsh: blkdeviotune: accept human readable values for bytes (Nishith Shah),<br/>
      genericxml2xml: add several graphics tests (Pavel Hrdina),<br/>
      qemu_hotplug: cleanup error messages in qemuDomainChangeGraphics (Pavel Hrdina),<br/>
      qemu_process: handle port allocation for VNC the same way as for Spice (Pavel Hrdina),<br/>
      qemu_process: move listen code out of qemuProcessSetupGraphics (Pavel Hrdina),<br/>
      graphics: use enums instead of int (Pavel Hrdina),<br/>
      virCgroupValidateMachineGroup: Reflect change in CGroup struct naming (Michal Privoznik),<br/>
      domaincapstest: Add tests for QEMU 2.6 (Jiri Denemark),<br/>
      qemucapabilitiestest: Add tests for aarch64 and ppc64le (Jiri Denemark),<br/>
      domaincapstest: Use default machine type (Jiri Denemark),<br/>
      qemucapabilitiestest: Rename *.caps to *.xml (Jiri Denemark),<br/>
      qemucapabilitiestest: Test all capabilities (Jiri Denemark),<br/>
      qemucapabilitiestest: Reorder flags in caps files (Jiri Denemark),<br/>
      qemucapabilitiestest: Reindent *.caps files (Jiri Denemark),<br/>
      qemucapabilitiestest: Uses consistent names (Jiri Denemark),<br/>
      qemu: Export caps cache APIs for tests (Jiri Denemark),<br/>
      qemu: Separate formatting from saving into caps cache (Jiri Denemark),<br/>
      qemucapabilitiestest: Prepare for testing non-x86_64 archs (Jiri Denemark),<br/>
      tests: Refactor domaincapstest (Jiri Denemark),<br/>
      qemu: Introduce qemuDomainSecretIV (John Ferlan),<br/>
      qemu: Separate network URI command building code (John Ferlan),<br/>
      qemu: Move qemuDomainSecretDestroy to qemuProcessLaunch (John Ferlan),<br/>
      qemu: Move qemuDomainSecretPrepare to qemuProcessPrepareDomain (John Ferlan),<br/>
      qemu: Split out the master key create and write (John Ferlan),<br/>
      qemu: Adjust names of qemuDomainSecretInfoType enums (John Ferlan),<br/>
      rpc: use virNetMessageClearPayload in client (Cole Robinson),<br/>
      rpc: Clear more in virNetMessageClearPayload (Cole Robinson),<br/>
      rpc: Add virNetMessageClearPayload (Cole Robinson),<br/>
      virNetServerClientNewPostExecRestart: Drop useless typecasts (Michal Privoznik),<br/>
      Add qemucapsprobe in .gitignore (Jiri Denemark),<br/>
      tests: Add qemucapsprobe helper (Jiri Denemark),<br/>
      virjson: Make pretty format more compact (Jiri Denemark),<br/>
      qemu: Make qemuMonitorJSONIOProcessLine available for tests (Jiri Denemark),<br/>
      qemu: Make virQEMUCapsNewForBinary usable from tests (Jiri Denemark),<br/>
      tests: Decouple preload code from main() (Jiri Denemark),<br/>
      tests: Create a shared library with qemu driver (Jiri Denemark),<br/>
      bhyve: implement domainShutdown (Roman Bogorodskiy),<br/>
      bhyve: drop virProcessKillPainfully() from destroy (Roman Bogorodskiy),<br/>
      virsh: Pass the correct live/config xml to virshDomainDetachInterface. (Nitesh Konkar),<br/>
      virsh: Introduce virshDomainDetachInterface function (Nitesh Konkar),<br/>
      admin: Add a check to reject negative argument for number of typed params (Erik Skultety),<br/>
      tools: virt-host-validate: HW virt support on s390 (Bjoern Walk),<br/>
      tools: virt-host-validate: improve error handling (Bjoern Walk),<br/>
      tools: virt-host-validate: fix CPU flag detection (Bjoern Walk),<br/>
      qemu: Add 'iothread' to command line for supported controller (John Ferlan),<br/>
      qemu: Use switch for qemuCheckIOThreads (John Ferlan),<br/>
      conf: Add support for virtio-scsi iothreads (John Ferlan),<br/>
      Pull latest translations from zanata (Daniel P. Berrange),<br/>
      libvirt.spec: remove duplicate files from -docs package (Daniel P. Berrange),<br/>
      virsh: volume: Add --bytes to 'vol-info' (Peter Krempa),<br/>
      daemon: Add VIR_ERR_NO_SERVER and VIR_ERR_NO_CLIENT to daemonErrorLogFilter (Erik Skultety),<br/>
      conf: Move virDomainControllerModelTypeToString (John Ferlan),<br/>
      qemu: Add capability for virtio-scsi iothreads (John Ferlan),<br/>
      spec: Rename %{init_scripts} -&gt; %{with_init_script} (Andrea Bolognani),<br/>
      spec: Type --with-init-script correctly (Andrea Bolognani),<br/>
      configure: Remove nested conditionals in LIBVIRT_CHECK_INIT_SCRIPT (Andrea Bolognani),<br/>
      configure: Change RHEL default from systemd+redhat to systemd (Andrea Bolognani),<br/>
      maint: Ignore all .init, .service and .socket files (Andrea Bolognani),<br/>
      virt-admin: Introduce command client-info (Erik Skultety),<br/>
      virnetserverclient: Add an internal method to retrieve client's identity (Erik Skultety),<br/>
      virneserverclient: Introduce virNetServerClientHasSASLSession (Erik Skultety),<br/>
      virnetsocket: Provide socket address format in a more standard form (Erik Skultety),<br/>
      admin: include: Introduce some client's identity related typed params macros (Erik Skultety),<br/>
      admin: Introduce virAdmServerLookupClient (Erik Skultety),<br/>
      qemu_monitor_json: Follow our coding style (Michal Privoznik),<br/>
      maint: Don't ignore libvirtd.pod any longer (Andrea Bolognani),<br/>
      gitignore: ignore virt(log|lock)d.(service|socket) (Cole Robinson),<br/>
      daemon: add option to read host uuid from /etc/machine-id (Nikolay Shirokovskiy),<br/>
      util: factor out reading file into preallocated buffer (Nikolay Shirokovskiy),<br/>
      qemu: support configuring usb3 controller port count (Cole Robinson),<br/>
      qemu: caps: introduce QEMU_CAPS_NEC_USB_XHCI_PORTS (Cole Robinson),<br/>
      qemu: parse: Use virControllerDefNew (Cole Robinson),<br/>
      qemu_monitor_json: Drop redundant checks (Michal Privoznik),<br/>
      qemuMonitorJSONQueryRxFilter: Validate qemu reply prior parsing it (Michal Privoznik),<br/>
      Remove useless os.machine NULL check (Ján Tomko),<br/>
      Introduce qemuDomainMachineIsVirt (Ján Tomko),<br/>
      Rewrite the condition in qemuDomainAssignARMVirtioMMIOAddresses (Ján Tomko),<br/>
      Remove useless variable in qemuDomainAssignAddresses (Ján Tomko),<br/>
      Return void in qemuDomainAssignARMVirtioMMIOAddresses (Ján Tomko),<br/>
      Invert condition in qemuDomainDefAddDefaultDevices (Ján Tomko),<br/>
      Use qemuDomainMachineIs helpers when adding default devices (Ján Tomko),<br/>
      qemu: Introduce qemuMonitorGetRTCTime (Michal Privoznik),<br/>
      virt-admin: Introduce srv-clients-list command (Erik Skultety),<br/>
      admin: Introduce listing clients (Erik Skultety),<br/>
      rpc: virnetserverclient: Implement client connection transport retrieval (Erik Skultety),<br/>
      include: admin: export connection transport constants (Erik Skultety),<br/>
      rpc: virnetserver: Support retrieval of a list of clients (Erik Skultety),<br/>
      rpc: gendispatch: Tune it to support client structure (Erik Skultety),<br/>
      admin: Introduce virAdmClient client-side object (Erik Skultety),<br/>
      rpc: virnetserverclient: Introduce new attribute conn_time to client (Erik Skultety),<br/>
      rpc: virnetserverclient: Identify clients by an integer ID (Erik Skultety),<br/>
      configure: Introduce LIBVIRT_{CHECK,RESULT}_INIT_SCRIPT (Andrea Bolognani),<br/>
      configure: Add systemd detection to --with-init-script=check (Andrea Bolognani),<br/>
      configure: Improve --with-init-script=check (Andrea Bolognani),<br/>
      tests: add tests for panic device model s390 (Boris Fiuczynski),<br/>
      qemu: add default panic device to S390 guests (Boris Fiuczynski),<br/>
      qemu: add panic device support for S390 (Boris Fiuczynski),<br/>
      qemu: merge S390 and S390X default device creation (Boris Fiuczynski),<br/>
      rpc: protocol: Clarify VIR_NET_ERROR usage with streams (Cole Robinson),<br/>
      fdstream: Report error with virProcessTranslateStatus (Cole Robinson),<br/>
      fdstream: separate out virCommandPtr cleanup (Cole Robinson),<br/>
      nwfilter: Push configFile building into LoadConfig (Cole Robinson),<br/>
      conf: format runtime DAC seclabel, unless MIGRATABLE (Cole Robinson),<br/>
      conf: Parse more of our nodedev XML (Martin Kletzander),<br/>
      schemas: Update nodedev schema to match reality (Martin Kletzander),<br/>
      Move capability formatting together (Martin Kletzander),<br/>
      Change virDevicePCIAddress to virPCIDeviceAddress (Martin Kletzander),<br/>
      qemu: hotplug: Adjust error path for attach hostdev scsi disk (John Ferlan),<br/>
      qemu: hotplug: Adjust error path for attach virtio disk (John Ferlan),<br/>
      qemu: hotplug: Adjust error path for attach scsi disk (John Ferlan),<br/>
      qemu: Use qemuDomainSecretInfoPtr in qemuBuildNetworkDriveURI (John Ferlan),<br/>
      qemu: Introduce qemuDomainSecretHostdevPrepare and Destroy (John Ferlan),<br/>
      qemu: Introduce qemuDomainHostdevPrivatePtr (John Ferlan),<br/>
      qemu: Introduce qemuDomainSecretPrepare and Destroy (John Ferlan),<br/>
      qemu: Introduce qemuDomainSecretInfo (John Ferlan),<br/>
      Adapt augeas profile to handle negative int values. (Cédric Bosdonnat),<br/>
      qemu: monitor: Kill legacy PCI hotplug code (Peter Krempa),<br/>
      qemu: hotplug: Assume QEMU_CAPS_DEVICE in qemuDomainAttachControllerDevice (Peter Krempa),<br/>
      qemu: hotplug: Assume QEMU_CAPS_DEVICE in qemuDomainDetachNetDevice (Peter Krempa),<br/>
      qemu: hotplug: Assume QEMU_CAPS_DEVICE in qemuDomainDetachHostPCIDevice (Peter Krempa),<br/>
      qemu: hotplug: Assume QEMU_CAPS_DEVICE in qemuDomainDetachControllerDevice (Peter Krempa),<br/>
      qemu: hotplug: Assume QEMU_CAPS_DEVICE in qemuDomainDetachVirtioDiskDevice (Peter Krempa),<br/>
      qemu: hotplug: Assume QEMU_CAPS_DEVICE in qemuDomainAttachHostPCIDevice (Peter Krempa),<br/>
      qemu: hotplug: Assume QEMU_CAPS_DEVICE in qemuDomainAttachNetDevice (Peter Krempa),<br/>
      qemu: hotplug: Assume QEMU_CAPS_DEVICE in qemuDomainAttachVirtioDiskDevice (Peter Krempa),<br/>
      qemu: monitor: Kill legacy USB monitor code (Peter Krempa),<br/>
      qemu: hotplug: Assume QEMU_CAPS_DEVICE in qemuDomainAttachHostUSBDevice (Peter Krempa),<br/>
      qemu: hotplug: Assume QEMU_CAPS_DEVICE in qemuDomainAttachUSBMassStorageDevice (Peter Krempa),<br/>
      qemu: remove default case from few typecasted enums (Peter Krempa),<br/>
      qemu: process: Don't needlesly clear the perf events in qemuDomainPerfRestart (Peter Krempa),<br/>
      util: perf: Adhere to coding style of error checks in qemuDomainSetPerfEvents (Peter Krempa),<br/>
      util: perf: Adhere to coding style of error checks in virPerfEventEnable (Peter Krempa),<br/>
      util: perf: Use 'error' label in virPerfCmtEnable (Peter Krempa),<br/>
      qemu: perf: Don't ignore perf setup if allocation fails (Peter Krempa),<br/>
      qemu: hotplug: Allow update of disk default snapshot location (Peter Krempa),<br/>
      qemu: domain: Check few more fields for when changing disk source (Peter Krempa),<br/>
      qemu: domain: Fix error message in qemuDomainDiskChangeSupported (Peter Krempa),<br/>
      qemu: hotplug: Skip waiting for tray opening if qemu doesn't notify us (Peter Krempa),<br/>
      virStream{Recv,Send}All: Increase client buffer (Michal Privoznik),<br/>
      virnetclientstream: Process stream messages later (Michal Privoznik),<br/>
      Revert "rpc: Fix slow volume download (virsh vol-download)" (Michal Privoznik),<br/>
      Post-release version bump to 1.3.5 (John Ferlan)<br/>
      </li>

      <li>Cleanups:<br/>
      Revert "qemu_cgroup: allow access to /dev/dri for virtio-vga" (Ján Tomko)<br/>
      </li>
    </ul>
   <h3>v1.3.4: May 01 2016</h3>
    <ul>
      <li>Features:<br/>
      Lot of work on documentation (Andrea Bolognani, Cole Robinson),<br/>
      Add support for migration data compression (ShaoHe Feng, Nikolay Shirokovskiy, Eli Qiao)<br/>
      </li>

      <li>Documentation:<br/>
      Fix minor typos in messages (Yuri Chornoivan),<br/>
      docs: Pass relative paths to apibuild.py (Andrea Bolognani),<br/>
      man: Fix links (Andrea Bolognani),<br/>
      man: Fix SYNOPSIS section (Andrea Bolognani),<br/>
      man: Fix NAME section (Andrea Bolognani),<br/>
      build: Standardize on .pod -&gt; .x.in -&gt; .x (Andrea Bolognani),<br/>
      build: Perform post-processing on all man pages (Andrea Bolognani),<br/>
      build: Build man pages in $(builddir) (Andrea Bolognani),<br/>
      build: Extract pod from source files (Andrea Bolognani),<br/>
      build: Ship virt-admin.pod (Andrea Bolognani),<br/>
      docs: Fix some formatting oddities (Andrea Bolognani),<br/>
      syntax-check: Enforce &lt;code&gt; inside &lt;dt&gt; elements (Andrea Bolognani),<br/>
      docs: remove *other* reference to igmp for IPv6 (Laine Stump),<br/>
      docs: Add bold style for &lt;dt&gt;&lt;code&gt; elements (John Ferlan),<br/>
      docs: Use &lt;code&gt; inside &lt;dt&gt; for symbols (Andrea Bolognani),<br/>
      docs: apibuild: Fix for python 2.6 (Peter Krempa),<br/>
      docs: remove reference to non-existent "igmp-ipv6" protocol (Laine Stump),<br/>
      docs: domain: Document network &lt;filterref&gt; (Cole Robinson),<br/>
      docs: Don't leave any documentation behind (Michal Privoznik),<br/>
      docs: Uninstall libvirt logo too (Michal Privoznik),<br/>
      man: Clarify virsh vol-clone works within a single pool (Cole Robinson),<br/>
      docs: Document the new XML elements (Andrea Bolognani),<br/>
      virDomain{Get,Set}PerfEvents: Tweak documentation (Michal Privoznik),<br/>
      spec: Only pull in API docs with -devel package (Cole Robinson),<br/>
      man: virsh: Document lxc-enter-namespace --noseclabel (Cole Robinson),<br/>
      docs: formatdomain: document versions for video acceleration (Cole Robinson),<br/>
      docs: domain: document blkiotune {read, write}_{bytes, iops}_sec (Cole Robinson),<br/>
      docs: rewrite graphics XML documentation (Pavel Hrdina),<br/>
      docs: Remove unused div.body CSS rule (Andrea Bolognani)<br/>
      </li>

      <li>Portability:<br/>
      wireshark: Fix distcheck (Michal Privoznik),<br/>
      tools: Introduce install-nss targets (Michal Privoznik),<br/>
      docs: apibuild: Fix VPATH build (Peter Krempa),<br/>
      build: Fix default network generation on FreeBSD (Andrea Bolognani),<br/>
      dist: ln(1) is not guaranteed to have a '-f' option (Andrea Bolognani),<br/>
      build: Use $(LN_S) safely (Andrea Bolognani),<br/>
      Include sysmacros.h where needed (Martin Kletzander),<br/>
      ploop: Fix build with gluster (Jiri Denemark),<br/>
      Fix various shadowed declarations (Martin Kletzander),<br/>
      build: fix build on RHEL-6 (Pavel Hrdina),<br/>
      build: add GCC 6.0 -Wlogical-op workaround (Pavel Hrdina),<br/>
      build: cleanup GCC &lt; 4.6 -Wlogical-op workaround (Pavel Hrdina),<br/>
      configure: Fix check for --with-login-shell on Windows (Andrea Bolognani),<br/>
      qemu: fix build without gnutls installed (Roman Bogorodskiy),<br/>
      nss: properly include syms files to dist (Roman Bogorodskiy),<br/>
      netdev: Use the correct pointer type for virSocketAddrFormat() (Andrea Bolognani),<br/>
      configure: Move check for &lt;gnutls/crypto.h&gt; (Andrea Bolognani),<br/>
      util: move ENODATA redefine to internal.h (Roman Bogorodskiy),<br/>
      qemu: Explicitly check for gnutls_rnd() (Andrea Bolognani)<br/>
      </li>

      <li>Bug Fixes:<br/>
      rpc: Don't leak fd via CreateXMLWithFiles (Ben Gray),<br/>
      vz: fix disk enumeration (Mikhail Feoktistov),<br/>
      virsh: Fix support for 64 migration options (Nikolay Shirokovskiy),<br/>
      qemu: Regenerate VNC socket paths (Martin Kletzander),<br/>
      qemu: Error out if setting vcpu count would lead to invalid config (Peter Krempa),<br/>
      qemu: conf: Set default logging approach in virQEMUDriverConfigNew (Peter Krempa),<br/>
      Shorten domain name for automatic coredump (Martin Kletzander),<br/>
      qemu: Unref cfg in qemuDomainDefPostParse (Martin Kletzander),<br/>
      conf: Drop restrictions on rng backend path (Cole Robinson),<br/>
      remote: Don't reject remote polkit if client lacks support (Cole Robinson),<br/>
      spec: If installing default network, restart libvirtd (Cole Robinson),<br/>
      schema: Allow space character in disk vendor/product (Cole Robinson),<br/>
      qemu: fix error log in qemuAssignPCIAddresses() (Laine Stump),<br/>
      virsh: host: Use bitmap size in bytes rather than bit count (Peter Krempa),<br/>
      qemu: Fix off-by-one error in block I/O throttle messages (Martin Kletzander),<br/>
      qemu: Limit maximum block device I/O tune values (Martin Kletzander),<br/>
      virconf: Handle conf file without ending newline (Cole Robinson),<br/>
      network: fix DHCPv6 on networks with prefix != 64 (Laine Stump),<br/>
      virsh: Don't clear old connection if 'connect $uri' fails (Cole Robinson),<br/>
      libvirt: Fix crash on URI without scheme (Cole Robinson),<br/>
      virsh: perf: Don't leak domain (Peter Krempa),<br/>
      virsh: don't override connection URI from argv (Roman Bogorodskiy),<br/>
      vz: fix config input device check (Nikolay Shirokovskiy),<br/>
      virt-aa-helper: disallow VNC socket read permissions (Simon Arlott),<br/>
      Revert "daemon: use socket activation with systemd" (Cole Robinson),<br/>
      tests: Fix enumeration value (Andrea Bolognani),<br/>
      vz: fix boot check to use new disk id (Nikolay Shirokovskiy),<br/>
      vz: fix detach disk to use new disk id (Nikolay Shirokovskiy),<br/>
      network: prevent duplicate entries in network device pools (Laine Stump),<br/>
      lxc: explicitly error on interface type=ethernet (Cole Robinson),<br/>
      tests: Fix syntax in iSCSI auth/secret tests (John Ferlan),<br/>
      Libvirt: virTypedParamsValidate: Fix detection of multiple parameters (Jason J. Herne),<br/>
      Resolve a couple of memory leaks (John Ferlan),<br/>
      tools: Fix memory leak (John Ferlan),<br/>
      qemu: Fix qemuBuildCommandLine prototype (John Ferlan),<br/>
      qemu: hotplug: Properly recalculate/reload balloon size after hot(un)plug (Peter Krempa),<br/>
      storage: mpath: Don't error on target_type=NULL (Cole Robinson),<br/>
      qemu: command: don't overwrite watchdog dump action (Cole Robinson),<br/>
      fix build by correcting functions order and src/Makefile.am (Maxim Nestratov),<br/>
      rpc: daemon: Fix virtlog/virtlock daemon reload (Cole Robinson),<br/>
      qemuxml2argvtest: do not mock virCommand (Ján Tomko),<br/>
      vz: fix memory leak (Nikolay Shirokovskiy),<br/>
      conf: also mark the implicit video as primary (Ján Tomko),<br/>
      virtlogd: Fix a couple minor memory leaks (Cole Robinson),<br/>
      qemu: Free priv-&gt;machineName (Martin Kletzander),<br/>
      qemu: agent: Fix incorrect and weird debug/warning log entries (Peter Krempa),<br/>
      util: netdev: Don't crash in virNetDevSetIPAddress if @peer is NULL (Peter Krempa),<br/>
      libxl: libxl_domain_create_restore has an extra argument (Wei Liu),<br/>
      qemu: perf: Fix crash/memory corruption on failed VM start (Peter Krempa),<br/>
      qemu: alias: Fix calculation of memory device aliases (Peter Krempa),<br/>
      qemu: alias: Fix calculation of RNG device aliases (Peter Krempa),<br/>
      Link libvirt_xenconfig instead of libvirt against libxl (Guido Günther),<br/>
      libvirt-admin: do not crash on URI without a scheme (Ján Tomko)<br/>
      </li>

      <li>Improvements:<br/>
      Unify domain name shortening (Martin Kletzander),<br/>
      spec: Use proper indentation (Andrea Bolognani),<br/>
      maint: Ignore all intermediate and generated man pages (Andrea Bolognani),<br/>
      apibuild: Fix method call (Andrea Bolognani),<br/>
      apibuild: Introduce app class (Andrea Bolognani),<br/>
      apibuild: Add index.warning() method (Andrea Bolognani),<br/>
      secret: Change virSecretDef variable names (John Ferlan),<br/>
      secret: Introduce virSecretObjGetValue and virSecretObjGetValueSize (John Ferlan),<br/>
      secret: Introduce virSecretObj{Get|Set}Def (John Ferlan),<br/>
      secret: Introduce virSecretObjSave{Config|Data} (John Ferlan),<br/>
      secret: Introduce virSecretObjDelete{Config|Data} (John Ferlan),<br/>
      secret: Move and rename secretLoadAllConfigs (John Ferlan),<br/>
      secret: Use the hashed virSecretObjList (John Ferlan),<br/>
      secret: Introduce virSecretObjListGetUUIDs (John Ferlan),<br/>
      secret: Introduce virSecretObjListExport (John Ferlan),<br/>
      secret: Introduce virSecretObjListNumOfSecrets (John Ferlan),<br/>
      secret: Introduce virSecretObjListAdd* and virSecretObjListRemove (John Ferlan),<br/>
      secret: Introduce virSecretUsageIDForDef (John Ferlan),<br/>
      secret: Introduce virSecretObjListFindBy{UUID|Usage} support (John Ferlan),<br/>
      secret: Create virsecretobj.c and virsecretconf.h (John Ferlan),<br/>
      Makefile: Enable distuninstallcheck again (Michal Privoznik),<br/>
      qemuProcessCreatePretendCmd: Rework FIPS handling (Michal Privoznik),<br/>
      build: Always ship virt-login-shell.conf (Andrea Bolognani),<br/>
      build: Replace variables in man pages (Andrea Bolognani),<br/>
      build: Ensure intermediate files are cleaned up properly (Andrea Bolognani),<br/>
      build: Group files (Andrea Bolognani),<br/>
      build: Never ship man pages (Andrea Bolognani),<br/>
      tests: consistently source test-lib.sh in scripts (Cole Robinson),<br/>
      vbox: VIR_WARN if we don't support the API version (Cole Robinson),<br/>
      tests: remove 'reconnect' and 'statstest' (Cole Robinson),<br/>
      tests: rename test_conf -&gt; virconftest (Cole Robinson),<br/>
      tests: consistently name virsh tests with 'virsh-' prefix (Cole Robinson),<br/>
      tests: build: Remove duplicate libvirtd test list (Cole Robinson),<br/>
      conf: disk: extract validation of startup policy (Peter Krempa),<br/>
      conf: disk: Extract checking of removable status (Peter Krempa),<br/>
      conf: disk: Move validation of disk bus vs disk type (Peter Krempa),<br/>
      conf: disk: extract sgio/rawio validation (Peter Krempa),<br/>
      conf: disk: Don't bother setting removable state to 0 by default (Peter Krempa),<br/>
      conf: disk: Initialize closed device tray state to 0 (Peter Krempa),<br/>
      conf: disk: Extract disk type and device right away (Peter Krempa),<br/>
      conf: disk: Remove custom single-use temporary variables (Peter Krempa),<br/>
      conf: disk: Mark VIR_DOMAIN_DISK_IO_DEFAULT as 0 and simplify parsing (Peter Krempa),<br/>
      conf: disk: Sanitize parsing of disk format (Peter Krempa),<br/>
      conf: disk: Avoid temporary variable when parsing driver name (Peter Krempa),<br/>
      conf: disk: Split out parsing of disk &lt;driver&gt; element (Peter Krempa),<br/>
      conf: disk: Extract verification of disk config (Peter Krempa),<br/>
      daemonStreamHandleRead: Rework to follow our coding pattern (Michal Privoznik),<br/>
      virNet{Client,Server}*Stream: Update comment (Michal Privoznik),<br/>
      daemon stream: Remove useless empty lines from header file (Michal Privoznik),<br/>
      daemon stream: Convert @tx in daemonClientStream to bool (Michal Privoznik),<br/>
      daemon stream: Prefer bool over unsigned int var:1 (Michal Privoznik),<br/>
      daemonClientStream: Use unsigned int to store stream @serial (Michal Privoznik),<br/>
      include: common: Fix function formatting (Peter Krempa),<br/>
      api: Generate docs for libvirt-common.h (Peter Krempa),<br/>
      apibuild: Allow completely skipping certain macros (Peter Krempa),<br/>
      include: common: Fix file header for apibuild.py (Peter Krempa),<br/>
      qemu: process: split out startup XML validation (Cole Robinson),<br/>
      qemu: process: split out shmem startup warning (Cole Robinson),<br/>
      tests: virnetdaemontest: Enable testing for no-keepalive-required (Erik Skultety),<br/>
      tests: virnetdaemon: Replace tabs with spaces (Erik Skultety),<br/>
      tests: remove virnetservertest data leftovers (Erik Skultety),<br/>
      virsh: re-fix help printing without connection (Roman Bogorodskiy),<br/>
      build: Overwrite existing symbolic links (Andrea Bolognani),<br/>
      build: Add AC_PROG_LN_S to configure (Andrea Bolognani),<br/>
      build: Always use $(LN_S) and $(MKDIR_P) (Andrea Bolognani),<br/>
      virsh: perf: Remove unnecessary 'error' label (Peter Krempa),<br/>
      examples: Try harder to uninstall nwfilter (Michal Privoznik),<br/>
      nss: Try harder to uninstall (Michal Privoznik),<br/>
      vz: add default input devices on post parse (Nikolay Shirokovskiy),<br/>
      storage: drop the plumbing needed for kvm-img/qcow-create (Cole Robinson),<br/>
      storage: remove support for /usr/bin/kvm-img (Cole Robinson),<br/>
      storage: remove support for /usr/bin/qcow-create (Cole Robinson),<br/>
      network: Don't use ERR_NO_SUPPORT for invalid net-update requests (Cole Robinson),<br/>
      libvirt: Use conventional function names (Cole Robinson),<br/>
      qemu: Cache GIC capabilities (Andrea Bolognani),<br/>
      qemu: Fill in GIC capabilities (Andrea Bolognani),<br/>
      conf: Expose GIC capabilities (Andrea Bolognani),<br/>
      schema: Validate GIC capabilities (Andrea Bolognani),<br/>
      qemu: Probe GIC capabilities (Andrea Bolognani),<br/>
      conf: Get rid of virDomainCapsDevice (Andrea Bolognani),<br/>
      Explicitly error on uri=qemu://system (Cole Robinson),<br/>
      vz: handle sourceless cdroms (Mikhail Feoktistov),<br/>
      vz: cleanup: remove trivial function (Nikolay Shirokovskiy),<br/>
      vz: introduce vzsdk disk id function (Nikolay Shirokovskiy),<br/>
      test: enable testing for expected parse errors in network XML (Laine Stump),<br/>
      qemu: command: drop redundant min_guarantee check (Cole Robinson),<br/>
      qemu: Remove redundant DomainObjIsActive calls (Cole Robinson),<br/>
      security: Rename DomainSetDirLabel to DomainSetPathLabel (Martin Kletzander),<br/>
      virt-admin: Introduce srv-threadpool-info and srv-threadpool-set commands (Erik Skultety),<br/>
      admin: Introduce virAdmServerSetThreadPoolParameters (Erik Skultety),<br/>
      admin: Introduce virAdmServerGethreadPoolParameters (Erik Skultety),<br/>
      admin: Prepare admin protocol for future worker related procedures (Erik Skultety),<br/>
      util: Add more getters to threadpool parameters (Erik Skultety),<br/>
      util: Use a mutex when retrieving threadpool data (Erik Skultety),<br/>
      util: Report system error when virThreadCreateFull fails (Erik Skultety),<br/>
      util: Refactor thread creation by introducing virThreadPoolExpand (Erik Skultety),<br/>
      admin: Enable usage of typed parameters (Erik Skultety),<br/>
      libvirt-host: Move virTypedParam* to libvirt-common (Erik Skultety),<br/>
      event-test: Enforce domain event sync (Peter Krempa),<br/>
      event-test: Add VIR_DOMAIN_EVENT_ID_IO_ERROR_REASON (Peter Krempa),<br/>
      event-test: Add VIR_DOMAIN_EVENT_ID_DEVICE_REMOVAL_FAILED (Peter Krempa),<br/>
      event-test: Add VIR_DOMAIN_EVENT_ID_JOB_COMPLETED (Peter Krempa),<br/>
      event-test: Add VIR_DOMAIN_EVENT_ID_MIGRATION_ITERATION callback (Peter Krempa),<br/>
      event-test: Add VIR_DOMAIN_EVENT_ID_BLOCK_JOB and VIR_DOMAIN_EVENT_ID_BLOCK_JOB_2 (Peter Krempa),<br/>
      event-test: make domain event registration declarative (Peter Krempa),<br/>
      event-test: warn on unhandled enum values (Peter Krempa),<br/>
      event-test: make few switch statements future proof (Peter Krempa),<br/>
      event-test: Use switch instead of if/else if chains for lifecycle event translation (Peter Krempa),<br/>
      event-test: Use typecasted enum to convert graphics event phase (Peter Krempa),<br/>
      event-test: Force compiler check in switch for connectClose callback (Peter Krempa),<br/>
      lib: document fields virConnectDomainEventDiskChangeReason (Peter Krempa),<br/>
      event-test: Use functions with typecasted switch to convert enums (Peter Krempa),<br/>
      event-test: touch up coding style (Peter Krempa),<br/>
      event-test: Remove unnecessary 'usage' function (Peter Krempa),<br/>
      event-test: Get rid of useless and ambiguous VIR_DEBUG macro (Peter Krempa),<br/>
      event-test: Remove forward declarations (Peter Krempa),<br/>
      qemu: migration: new migration param for persistent destination XML (Dmitry Andreev),<br/>
      qemuMigrationCookieAddPersistent: move it out and change argument type (Dmitry Andreev),<br/>
      ZFS: Support sparse volumes (Richard Laager),<br/>
      libxl: use LIBXL_API_VERSION 0x040200 (Jim Fehlig),<br/>
      qemu: Label master key file (Martin Kletzander),<br/>
      Add functions for handling exponential backoff loops. (Richard W.M. Jones),<br/>
      storage: dir: adapt .uploadVol .dowloadVol for ploop volume (Olga Krishtal),<br/>
      storage: dir: adapt .refreshVol and .refreshPool for ploop volumes (Olga Krishtal),<br/>
      storage: dir: .wipeVol is left unsupported for ploop volume (Olga Krishtal),<br/>
      storage: dir: .resizeVol callback for ploop volume (Olga Krishtal),<br/>
      storage: dir: .deleteVol callback for ploop volume (Olga Krishtal),<br/>
      storage: dir: .buildVol and .buildVolFrom callbacks for ploop (Olga Krishtal),<br/>
      storage: add ploop volume type (Olga Krishtal),<br/>
      cfg.mk: Get rid of quotation tricks (Andrea Bolognani),<br/>
      Return error when --start &lt;number&gt; in cpu-stats is invalid. (Nitesh Konkar),<br/>
      qemu: process: Simplify condition in qemuProcessRefreshBalloonState (Peter Krempa),<br/>
      qemu: driver: Reuse qemuDomainGetMonitor in qemuDomainMemoryStats (Peter Krempa),<br/>
      domain: Add helper to determine presence of memory baloon (Peter Krempa),<br/>
      qemu: command: Refactor memballoon command line formatting (Peter Krempa),<br/>
      qemu: command: Drop obsolete comment (Peter Krempa),<br/>
      qemu: caps: Deprecate QEMU_CAPS_BALLOON (Peter Krempa),<br/>
      qemu: command: Assume QEMU_CAPS_DEVICE when building memballoon args (Peter Krempa),<br/>
      qemu: migration: Drop dead VNC cookie handling (Cole Robinson),<br/>
      makefile: Move include/Makefile.am to include/libvirt/Makefile.am (Erik Skultety),<br/>
      vz: make it possible to use shared drivers API with vz driver connection (Maxim Nestratov),<br/>
      qemu: support new pci controller model "pcie-expander-bus" (Laine Stump),<br/>
      conf: new pci controller model pcie-expander-bus (Laine Stump),<br/>
      qemu: add capabilities bit for device "pxb-pcie" (Laine Stump),<br/>
      qemu: support new pci controller model "pci-expander-bus" (Laine Stump),<br/>
      conf: new pci controller model pci-expander-bus (Laine Stump),<br/>
      qemu: add capabilities bit for device "pxb" (Laine Stump),<br/>
      qemu: set PCI controller default modelName in a separate function (Laine Stump),<br/>
      conf: utility function to convert PCI controller model into connect type (Laine Stump),<br/>
      conf/qemu: change the way VIR_PCI_CONNECT_TYPE_* flags work (Laine Stump),<br/>
      conf: allow use of slot 0 in a dmi-to-pci-bridge (Laine Stump),<br/>
      conf: use #define instead of literal for highest slot in upstream port (Laine Stump),<br/>
      schema: allow pci address attributes to be in decimal (Laine Stump),<br/>
      schema: new basic type - uint16 (Laine Stump),<br/>
      schema: rename uint8range/uint24range to uint8/uint24 (Laine Stump),<br/>
      schema: make pci slot and function optional (Laine Stump),<br/>
      util: Add virGettextInitialize, convert the code (Cole Robinson),<br/>
      test: genericxml2xml: test graphics listen= compat (Cole Robinson),<br/>
      tests: Enable failure testing with CompareDomXML2XML (Cole Robinson),<br/>
      tests: do not overwrite return value when filling qemuCapsCache (Ján Tomko),<br/>
      virsh: add compression options for migration (ShaoHe Feng),<br/>
      qemu: migration: support setting compession parameters (Nikolay Shirokovskiy),<br/>
      qemumonitorjsontest: add test for getting multithread compress params (Eli Qiao),<br/>
      qemu: monitor: add migration parameters accessors (ShaoHe Feng),<br/>
      migration: qemu: add option to select compression methods (Nikolay Shirokovskiy),<br/>
      virsh: support up to 64 migration options for command (Nikolay Shirokovskiy),<br/>
      libxl: support creating domain with VF assignment from a pool (Chunyan Liu),<br/>
      vz: simplify getting strings from vzsdk (Nikolay Shirokovskiy),<br/>
      vz: minor cleanup (Maxim Nestratov),<br/>
      vz: remove vzDriverLock/Unlock function (Maxim Nestratov),<br/>
      vz: implement connectGetSysinfo hypervisor callback (Maxim Nestratov),<br/>
      vz: fix possible vzDomainDefineXMLFlags and prlsdkNewDomainByHandle race (Maxim Nestratov),<br/>
      vz: introduce new vzDriver lockable structure and use it (Maxim Nestratov),<br/>
      vz: build driver as module and don't register it on client's side (Maxim Nestratov),<br/>
      vz: correct iomode check (Mikhail Feoktistov),<br/>
      qemuExecuteEthernetScript: move to util (Ján Tomko),<br/>
      qemu: process: Wire up ACPI OST events to notify users of failed memory unplug (Peter Krempa),<br/>
      qemu: monitor: Add support for ACPI_DEVICE_OST event handling (Peter Krempa),<br/>
      Add VIR_DOMAIN_EVENT_ID_DEVICE_REMOVAL_FAILED event (Peter Krempa),<br/>
      qemu: hotplug: Add support for signalling device unplug failure (Peter Krempa),<br/>
      qemu: Use domain condition for device removal signaling (Peter Krempa),<br/>
      qemu: hotplug: Refactor semantics of qemuDomainWaitForDeviceRemoval (Peter Krempa),<br/>
      qemu: hotplug: Properly handle errors in qemuDomainWaitForDeviceRemoval (Peter Krempa),<br/>
      qemu: assign addresses before aliases (Ján Tomko),<br/>
      qemuxml2argvtest: drop FLAG_EXPECT_ERROR (Ján Tomko),<br/>
      tests: clean up includes (Ján Tomko),<br/>
      drop qemuBuildCommandLineCallbacks (Ján Tomko),<br/>
      domain_conf: call ...ListensParseXML only for appropriate graphics (Pavel Hrdina),<br/>
      domain_conf: remove unused virDomainGraphicsListenGet* (Pavel Hrdina),<br/>
      use virDomainGraphicsGetListen instead of the other getters (Pavel Hrdina),<br/>
      domain_conf: cleanup virDomainGraphicsGetListen (Pavel Hrdina),<br/>
      domain_conf: remove unused virDomainGraphicsListenSetType (Pavel Hrdina),<br/>
      domain_conf: remove virDomainGraphicsListenSetNetwork (Pavel Hrdina),<br/>
      domain_conf: introduce virDomainGraphicsListenAppendAddress (Pavel Hrdina),<br/>
      configure: Make virt-host-validate optional (Andrea Bolognani),<br/>
      tools: Reorganize conditional bits (Andrea Bolognani),<br/>
      conf: extract disk geometry parsing code (Peter Krempa),<br/>
      conf: Refactor virDomainDiskDefMirrorParse (Peter Krempa),<br/>
      conf: disk: Split out parsing of disk mirror data (Peter Krempa),<br/>
      conf: virDomainDiskDefIotuneParse: Report malformed number errors (Peter Krempa),<br/>
      conf: virDomainDiskDefIotuneParse: simplify parsing (Peter Krempa),<br/>
      conf: disk: Remove error label from virDomainDiskDefIotuneParse (Peter Krempa),<br/>
      conf: disk: Extract iotune parsing into a separate func (Peter Krempa),<br/>
      conf: disk: Remove one unnecessary level of indentation (Peter Krempa),<br/>
      conf: disk: Don't initialize fields allocated by calloc (Peter Krempa),<br/>
      util: Rename and move virStrIsPrint to virStringIsPrintable (Peter Krempa),<br/>
      vz: add Hypervisor prefix to vz and parallels Driver structures (Maxim Nestratov),<br/>
      vz: remove drivername field from vzConn structure (Maxim Nestratov),<br/>
      vz: change the order of capabilities reported (Maxim Nestratov),<br/>
      virsh: report when vz driver is compiled (Maxim Nestratov),<br/>
      tests: fix xen-related tests (Ján Tomko),<br/>
      conf: use VIR_APPEND_ELEMENT in virDomainDefAddImplicitVideo (Ján Tomko),<br/>
      conf: reduce indentation in virDomainDefAddImplicitVideo (Ján Tomko),<br/>
      conf: delete useless primaryVideo variable (Ján Tomko),<br/>
      conf: use insertAt instead of j (Ján Tomko),<br/>
      conf: use the iterator directly when parsing video devices (Ján Tomko),<br/>
      conf: move default video addition after XML parsing (Ján Tomko),<br/>
      cfg.mk: Use single quotes wherever possible (Andrea Bolognani),<br/>
      cfg.mk: Remove spurious whitespace (Andrea Bolognani),<br/>
      util: Fix 'exempt from syntax-check' comment (Andrea Bolognani),<br/>
      vz: implement memory setting functions (Nikolay Shirokovskiy),<br/>
      vz: factor out config update flags checks (Nikolay Shirokovskiy),<br/>
      domain_conf: fix graphics parsing (Pavel Hrdina),<br/>
      host-validate: Be more careful when checking for cgroup support (Andrea Bolognani),<br/>
      po: Really fix po/POTFILES.in ordering (Erik Skultety),<br/>
      po: fix POTFILES.in file ordering (Erik Skultety),<br/>
      nss: fix typo in configure help string (Roman Bogorodskiy),<br/>
      domain_conf: cleanup error paths for graphics parser (Pavel Hrdina),<br/>
      domain_conf: split graphics xml parser into multiple functions (Pavel Hrdina),<br/>
      domain_conf: cleanup virDomainGraphicsListensParseXML (Pavel Hrdina),<br/>
      domain_conf: introduce virDomainGraphicsListensParseXML (Pavel Hrdina),<br/>
      tests: remove unwanted VIR_FREE of spice and vnc default listen (Pavel Hrdina),<br/>
      qemu: support virt-2.6 machine type on arm (Ján Tomko),<br/>
      host-validate: Be more careful when checking for cgroup mounts (Andrea Bolognani),<br/>
      qemu domain allow to set ip address, peer address and route (Vasiliy Tolstov),<br/>
      lxc domain allow to set peer address (Vasiliy Tolstov),<br/>
      libvirt domain xml allow to set peer address (Vasiliy Tolstov),<br/>
      virnetdev allow to set peer address (Vasiliy Tolstov),<br/>
      configure: Always use old_CFLAGS and old_LIBS (Andrea Bolognani),<br/>
      configure: Restore CFLAGS properly after GnuTLS checks (Andrea Bolognani),<br/>
      host-validate: Improve CPU flags processing (Andrea Bolognani),<br/>
      vz: support boot order in domain xml dump (Nikolay Shirokovskiy),<br/>
      vz: fix disk order on load domain (Nikolay Shirokovskiy),<br/>
      vz: support boot order specification on define domain (Nikolay Shirokovskiy),<br/>
      secret: Introduce virSecretGetSecretString (John Ferlan),<br/>
      qemu: Introduce qemuBuildMasterKeyCommandLine (John Ferlan),<br/>
      qemu: Create domain master key (John Ferlan),<br/>
      util: Introduce virRandomBytes (John Ferlan),<br/>
      qemu: Add capability bit for qemu secret object (John Ferlan),<br/>
      qemu: Tear down the cgroup before reattach device to host (John Ferlan),<br/>
      qemu: Restore label before reattach device to host (John Ferlan),<br/>
      virt-admin: get rid of LIBVIRT_DEFAULT_ADMIN_URI env var (Ján Tomko),<br/>
      tools: remove unnecessary defaultConn variable (Ján Tomko),<br/>
      virsh: read default connection uri from env later (Ján Tomko),<br/>
      spec: Include KVM support on RHEL 7 ppc64 and newer (Andrea Bolognani),<br/>
      conf: store bootindex as unsigned int (Peter Krempa),<br/>
      conf: Pass the whole device info struct to virDomainDeviceBootParseXML (Peter Krempa),<br/>
      Post-release version bump to 1.3.4 (Peter Krempa)<br/>
      </li>

      <li>Cleanups:<br/>
      Revert "qemu domain allow to set ip address, peer address and route" (Laine Stump),<br/>
      Revert "lxc domain allow to set peer address" (Laine Stump),<br/>
      Revert "libvirt domain xml allow to set peer address" (Laine Stump)<br/>
      </li>
    </ul>

   <h3>v1.3.3: Apr 06 2016</h3>
    <ul>
      <li>Features:<br/>
      perf events (Qiaowei Ren),<br/>
      post-copy migration support (Cristian Klein, Jiri Denemark),<br/>
      NSS module (Michal Privoznik)<br/>
      </li>

      <li>Documentation:<br/>
      docs: fix logfile paragraph (Boris Fiuczynski),<br/>
      docs: Remove useless p:first-line CSS rule (Andrea Bolognani),<br/>
      docs: Remove unused #sponsor CSS rule (Andrea Bolognani),<br/>
      docs: Make most headers a bit smaller (Andrea Bolognani),<br/>
      docs: Use bold text for all headers (Andrea Bolognani),<br/>
      docs: Don't use bold text for menu entries (Andrea Bolognani),<br/>
      docs: Make menu entries smaller (Andrea Bolognani),<br/>
      docs: Don't use &lt;strong&gt; in headers (Andrea Bolognani),<br/>
      docs: Remove empty CSS rule (Andrea Bolognani),<br/>
      docs: Adjust vertical whitespace in CSS (Andrea Bolognani),<br/>
      docs: fix qemu version for hyperv features (Pavel Hrdina),<br/>
      docs: Document NSS module (Michal Privoznik),<br/>
      docs: website: more header spacing tweaks (Cole Robinson),<br/>
      docs: Update the hyperv feature qemu supported version (John Ferlan),<br/>
      docs: generic.css: Indentation and spacing tweaks (Cole Robinson),<br/>
      docs: generic.css: font size tweaks (Cole Robinson),<br/>
      docs: generic.css: minor cleanups (Cole Robinson),<br/>
      docs: website: Remove the et.redhat.com footer (Cole Robinson),<br/>
      Fix minor typos (Yuri Chornoivan),<br/>
      docs: Clarify interface/target/@dev docs (Jiri Denemark)<br/>
      </li>

      <li>Portability:<br/>
      build: workaround broken SASL header (again) (Fabiano Fidêncio),<br/>
      nss: FreeBSD support (Roman Bogorodskiy),<br/>
      perf: fix build on non-Linux (Roman Bogorodskiy),<br/>
      storage: rbd: Fix build (Peter Krempa),<br/>
      storage/rbd: Use correct printf-modifier for uint64 (Christophe Fergeau),<br/>
      tests: Produce predictable results in nsstest (Michal Privoznik),<br/>
      nss: don't try to build nss plugin when disabled (Roman Bogorodskiy),<br/>
      virlog: Fix build breaker with "comparison between signed and unsigned" (Erik Skultety),<br/>
      _virtualboxCreateMachine: Avoid unbounded stack (Michal Privoznik),<br/>
      datatypes.c: Replace 'close' with 'closeData' (Michal Privoznik),<br/>
      util: Fix build without polkit (Jiri Denemark)<br/>
      </li>

      <li>Bug Fixes:<br/>
      qemu: Fix mis-merge of qemuBuildRedirdevCommandLine (John Ferlan),<br/>
      qemu: Fix mis-merge of qemuBuildConsoleCommandLine (John Ferlan),<br/>
      qemu: Fix mis-merge of qemuBuildChannelsCommandLine (John Ferlan),<br/>
      qemu: Fix mis-merge of qemuBuildParallelsCommandLine (John Ferlan),<br/>
      qemu: Fix mis-merge of qemuBuildSerialCommandLine (John Ferlan),<br/>
      qemu: Fix mis-merge of qemuBuildSmartcardCommandLine (John Ferlan),<br/>
      nodedev: Fix parsing of generated XMLs (Martin Kletzander),<br/>
      qemu: fix alias name for &lt;interface type='hostdev'&gt; (Laine Stump),<br/>
      qemu: Clear generated private paths (Martin Kletzander),<br/>
      apparmor: QEMU monitor socket moved (Guido Günther),<br/>
      Revert "hostdev: Use actual device when reattaching" (Andrea Bolognani),<br/>
      Pass the correct cpu count when calling virDomainGetCPUStats. (Nitesh Konkar),<br/>
      migration: convert speed from MiB/sec to bytes/sec in drive-mirror jobs (Rudy Zhang),<br/>
      libxl: fix net device detach (Jim Fehlig),<br/>
      libxl: fix attaching net device of type hostdev (Jim Fehlig),<br/>
      qemuProcessVerifyGuestCPU: Avoid coverity false positive (Michal Privoznik),<br/>
      virDomain{Get,Set}PerfEvents: support --config --live --current (Michal Privoznik),<br/>
      qemu: command: Pass numad nodeset when formatting memory devices at boot (Peter Krempa),<br/>
      libxl: only disable domain death events in libxlDomainCleanup (Jim Fehlig),<br/>
      libxl: fix resource leaks in libxlDomainStart error paths (Chunyan Liu),<br/>
      conf: decrease iterations complexity when formatting iothreads (Peter Krempa),<br/>
      qemu: Fix /proc/**/stat parsing (Jiri Denemark),<br/>
      bhyve: fix invalid hostsysinfo freeing (Maxim Nestratov),<br/>
      libxl: remove reference to non-existent out label (Jim Fehlig),<br/>
      util: avoid getting stuck on macvtapN name created outside libvirt (Laine Stump),<br/>
      libxl: fix hot add/remove VF from a pool (Chunyan Liu),<br/>
      tests: storagepoolxml2xmltest: Fix pool-rbd test (Anatole Denis),<br/>
      Revert "zfs: Only raw volumes are supported" (Roman Bogorodskiy),<br/>
      Revert "logical: Only raw volumes are supported" (Roman Bogorodskiy),<br/>
      network: differentiate macvtap/bridge from host-bridge based networks (Laine Stump),<br/>
      test: Fix typo in testutils.h header guard (Christophe Fergeau),<br/>
      virTestSetEnvPath: Avoid clearing out PATH (Michal Privoznik),<br/>
      admin_server: Avoid accessing unallocated memory (Michal Privoznik),<br/>
      testutils: Adapt to highly unlikely case (Michal Privoznik),<br/>
      tests: virlogtest: Fix testLogParseOutputs return value (Erik Skultety),<br/>
      admin_server: fix memory leak (Pavel Hrdina),<br/>
      qemu: Don't kill running migrated domain on daemon restart (Jiri Denemark),<br/>
      qemu: Don't add -spice port=0 when no port is specified (Christophe Fergeau),<br/>
      rpc: wait longer for session daemon to start up (Cole Robinson),<br/>
      qemu: Don't access uninitialized memory (Martin Kletzander),<br/>
      vz: fix active domain listing (Maxim Nestratov),<br/>
      qemuBuildVideoCommandLine: Don't access def-&gt;videos without check (Michal Privoznik),<br/>
      virt-admin: Don't leak uri in cmdSrvList (Martin Kletzander),<br/>
      daemon: Properly check for clients (Martin Kletzander),<br/>
      qemuxml2argvtest: Fix monitor path in serial-file-log (Jiri Denemark),<br/>
      qemu: support use of virtlogd with file based chardevs (Daniel P. Berrange),<br/>
      qemu: use virtlogd for character device log files (Daniel P. Berrange),<br/>
      qemu: cpu: Don't remove pinning of cold-unplugged cpu (Peter Krempa),<br/>
      qemu: Fix memory leak in qemuGetSchedInfo (Peter Krempa),<br/>
      conf: Fix off-by-one in virDomainDefGetVcpu (Peter Krempa),<br/>
      qemu: Fix a race when computing migration downtime (Jiri Denemark),<br/>
      qemu: rename: Forbid renaming domains with managed save image (Peter Krempa),<br/>
      virLXCProcessMonitorInitNotify: Initialize @inode (Michal Privoznik),<br/>
      tools: do not leak uri in disconnect handler (Ján Tomko),<br/>
      Initialize couple of variables. (Michal Privoznik),<br/>
      qemu: Check if domain is active in GetControlInfo (Jiri Denemark),<br/>
      daemon: fixup refcounting in close callback handling (Nikolay Shirokovskiy),<br/>
      util: Fix missing initializer for agent (John Ferlan),<br/>
      Libvirt: Add missing default value for config option max_queued_clients (Jason J. Herne),<br/>
      qemu: Don't always wait for SPICE to finish migration (Jiri Denemark),<br/>
      qemu: Don't try to fetch migration stats on destination (Jiri Denemark),<br/>
      close callback: make unregister clean after connect close event (Nikolay Shirokovskiy),<br/>
      virConnectCloseCallbackData: fix connection object refcount (Nikolay Shirokovskiy)<br/>
      </li>

      <li>Improvements:<br/>
      network: Remove extraneous ATTRIBUTE_NONNULL (John Ferlan),<br/>
      qemu: change args to qemuAssignDeviceHostdevAlias() (Laine Stump),<br/>
      network: new function networkGetActualType (Laine Stump),<br/>
      qemu: Simplify calls to qemuDomainSetPrivatePaths (Martin Kletzander),<br/>
      qemu: perf: Tweak flags before using them (Peter Krempa),<br/>
      virPerfReadEvent: Prefer saferead over read (Michal Privoznik),<br/>
      remote: Add flags to remote_protocol-structs (Martin Kletzander),<br/>
      virDomain{Get,Set}PerfEvents: Grab job (Michal Privoznik),<br/>
      virsh: Make perf accept event list separated by commas (Michal Privoznik),<br/>
      virsh: Prefer VIRSH_COMMON_OPT_DOMAIN_FULL over full enumeration (Michal Privoznik),<br/>
      virDomain{Get,Set}PerfEvents: Add @flags argument (Michal Privoznik),<br/>
      remoteDomainGetPerfEvents: Re-indent (Michal Privoznik),<br/>
      qemu: command: Split up formatting of -numa and memory devices (Peter Krempa),<br/>
      qemu_process: add check for hyperv features (Pavel Hrdina),<br/>
      qemu_process: skip only cpu features (Pavel Hrdina),<br/>
      host-validate: Fix suggestion for missing cpu cgroup (Andrea Bolognani),<br/>
      libxl: rename cleanup_dom label (Jim Fehlig),<br/>
      conf: Remove now unused virDomainIOThreadIDMap (Peter Krempa),<br/>
      util: bitmap: Introduce self-expanding bitmap APIs (Peter Krempa),<br/>
      virsh: blockpull: Support --bytes and scaled integers (Peter Krempa),<br/>
      virsh: blockcopy: Support --bytes and scaled integers (Peter Krempa),<br/>
      virsh: blockcommit: Support --bytes and scaled integers (Peter Krempa),<br/>
      virsh: blockjob: Support --bytes and scaled integers as bandwidth (Peter Krempa),<br/>
      vsh: Introduce helper to parse --bandwidth (Peter Krempa),<br/>
      vsh: Refactor vshCommandOptScaledInt (Peter Krempa),<br/>
      vsh: Tweak error message for scaled integers (Peter Krempa),<br/>
      qemu: domain: Move and export qemuDomainDiskChainElement(Prepare|Revoke) (Peter Krempa),<br/>
      qemu: Refactor qemuDomainPrepareDiskChainElement (Peter Krempa),<br/>
      qemu: Split image access revoking from qemuDomainPrepareDiskChainElement (Peter Krempa),<br/>
      qemu: Kill qemuDiskPathToAlias (Peter Krempa),<br/>
      qemu: monitor: Remove JSON impls of drive_add and drive_del (Peter Krempa),<br/>
      qemu: monitor: Drop qemuMonitorAttachDrive and leaves in call tree (Peter Krempa),<br/>
      qemu: hotplug: Assume support for -device in qemuDomainAttachSCSIDisk (Peter Krempa),<br/>
      bhyve: cleanup unnecessary variables (Maxim Nestratov),<br/>
      virsh: extend domstats command (Qiaowei Ren),<br/>
      virsh: implement new command to support perf (Qiaowei Ren),<br/>
      perf: reenable perf events when libvirtd restart (Qiaowei Ren),<br/>
      perf: add new xml element (Qiaowei Ren),<br/>
      qemu_driver: add support to perf event (Qiaowei Ren),<br/>
      perf: implement a set of util functions for perf event (Qiaowei Ren),<br/>
      perf: implement the remote protocol for perf event (Qiaowei Ren),<br/>
      perf: add new public APIs for perf event (Qiaowei Ren),<br/>
      storage: Initialize pool size parameters for refresh thread (Nitesh Konkar),<br/>
      tests: virtnettlscontexttest: Use virGetLastErrorMessage() (Cole Robinson),<br/>
      conf: qemu: Add support for more HyperV Enlightenment features (Maxim Nestratov),<br/>
      conf: refactor hyperv features xml output (Nikolay Shirokovskiy),<br/>
      conf: refactor hyperv features parsing (Nikolay Shirokovskiy),<br/>
      tests: storagepoolxml2xmltest: Enable pool-rbd (Anatole Denis),<br/>
      libxlDomainDetachDeviceLive: handle hostdev parent is network device (Chunyan Liu),<br/>
      libxlDomainDetachNetDevice: cleanup codes (Chunyan Liu),<br/>
      libxlDomainAttachNetDevice: release actual deivce and remove hostdev when fail (Chunyan Liu),<br/>
      network: call proper start/stop functions for macvtap bridge-mode networks (Laine Stump),<br/>
      qemu: Replace some VIR_ERROR with vir*Error (Jovanka Gulicoska),<br/>
      qemu: Don't duplicate virGetLastErrorMessage (Jovanka Gulicoska),<br/>
      nsstest: Drop useless @data check (Michal Privoznik),<br/>
      virlog: Refactor virLogParseFilters (Erik Skultety),<br/>
      tests: Add new testcases to test parsing of log filters in virlogtest (Erik Skultety),<br/>
      gendispatch: Avoid comparing signed and unsigned vars (Michal Privoznik),<br/>
      event-test: Check for virConnectRegisterCloseCallback return value (Michal Privoznik),<br/>
      event-test: Use goto cleanup instead of if else jungle (Michal Privoznik),<br/>
      qemuxml2argvtest: Adapt to ethernet automatic tap creation (Michal Privoznik),<br/>
      remote: Fix error message (Cole Robinson),<br/>
      qemuxml2argv: Mock virSCSIDeviceGetSgName (Michal Privoznik),<br/>
      autocreate tap device for ethernet network type (Vasiliy Tolstov),<br/>
      tests: hostdev: Add more tests (Andrea Bolognani),<br/>
      hostdev: Use actual device when reattaching (Andrea Bolognani),<br/>
      hostdev: Save netdev configuration of actual device (Andrea Bolognani),<br/>
      hostdev: Streamline device ownership tracking (Andrea Bolognani),<br/>
      hostdev: Stop early if unmanaged devices have not been detached (Andrea Bolognani),<br/>
      hostdev: Detect untracked inactive devices (Andrea Bolognani),<br/>
      qemuxml2argvtest: cleanup test (Pavel Hrdina),<br/>
      qemuxml2argvtest: use driver.config and priv for qemuDomainSetPrivatePaths (Pavel Hrdina),<br/>
      qemu_driver: cleanup qemuConnectDomainXMLToNative (Pavel Hrdina),<br/>
      qemu_process: introduce qemuProcessCreatePretendCmd (Pavel Hrdina),<br/>
      qemu_process: move qemuDomainSetPrivatePaths to qemuProcessInit (Pavel Hrdina),<br/>
      qemu_process: move checks to qemuProcessStartValidate (Pavel Hrdina),<br/>
      qemu: update callers of qemuProcessStartValidate to use virDomainObjPtr (Pavel Hrdina),<br/>
      qemu_process: introduce qemuProcessPrepareHost (Pavel Hrdina),<br/>
      qemu_process: introduce qemuProcessPrepareDomain (Pavel Hrdina),<br/>
      tests: cleanup qemuxml2argvtest (Pavel Hrdina),<br/>
      nvram: generate it's path in qemuDomainDefPostParse (Pavel Hrdina),<br/>
      qemu_process: check for correct return value while starting domain (Pavel Hrdina),<br/>
      qemu-hotplug: fix eject media (Pavel Hrdina),<br/>
      nss: Make aligning look nicer (Martin Kletzander),<br/>
      tests: nodedevxml2xml: add test for SCSI target (Bjoern Walk),<br/>
      conf: node_device: fix up SCSI target (Bjoern Walk),<br/>
      libxl: support enabling and disabling &lt;hap&gt; feature (Jim Fehlig),<br/>
      Xen drivers: show hap enabled by default in capabilities (Jim Fehlig),<br/>
      xenconfig: change 'hap' setting to align with Xen behavior (Jim Fehlig),<br/>
      conf: add 'state' attribute to &lt;hap&gt; feature (Jim Fehlig),<br/>
      qemu: Add flags to qemuMigrationWaitForCompletion (Jiri Denemark),<br/>
      qemu: Refuse to abort migration in post-copy mode (Jiri Denemark),<br/>
      qemu: Handle post-copy migration failures (Jiri Denemark),<br/>
      qemu: Refactor qemuProcessRecoverMigration (Jiri Denemark),<br/>
      virsh: Add --postcopy-after-precopy option to migrate (Cristian Klein),<br/>
      virsh: Configurable migrate --timeout action (Jiri Denemark),<br/>
      virsh: Add support for post-copy migration (Cristian Klein),<br/>
      qemu: Implement virDomainMigrateStartPostCopy (Cristian Klein),<br/>
      qemu: Add support for VIR_MIGRATE_POSTCOPY flag (Cristian Klein),<br/>
      qemu: Add QMP functions for post-copy migration (Cristian Klein),<br/>
      qemu: Handle postcopy-active migration state (Jiri Denemark),<br/>
      Add public APIs for post-copy migration (Cristian Klein),<br/>
      Add event and state details for post-copy (Jiri Denemark),<br/>
      util: Add virSocketAddrSetIPv[46]AddrNetOrder and use it (Martin Kletzander),<br/>
      qemu: Omit SPICE address if no port is specified (Christophe Fergeau),<br/>
      qemu: Make all SPICE command-line args optional (Christophe Fergeau),<br/>
      zfs: Only unencrypted volumes are supported (Richard Laager),<br/>
      zfs: Only raw volumes are supported (Richard Laager),<br/>
      logical: Only raw volumes are supported (Richard Laager),<br/>
      storage: Improve code consistency between backends (Richard Laager),<br/>
      sheepdog: Use a consistent error message (Richard Laager),<br/>
      rbd: Use proper error type (Richard Laager),<br/>
      domain: Add virDomainDefAddImplicitDevices (Cole Robinson),<br/>
      bhyve: caps: Log error message when CPU init fails (Cole Robinson),<br/>
      domain: Remove controller/net address whitelists (Cole Robinson),<br/>
      nodedev: Expose PCI header type (Martin Kletzander),<br/>
      nodedev: Indent PCI express for future fix (Martin Kletzander),<br/>
      tests: Introduce nsslinktest (Michal Privoznik),<br/>
      nss: Introduce a test (Michal Privoznik),<br/>
      Implement _nss_libvirt_gethostbyname4_r (Michal Privoznik),<br/>
      nss: Implement _nss_libvirt_gethostbyname3_r (Michal Privoznik),<br/>
      libvirt.spec.in: Introduce libvirt-nss package (Michal Privoznik),<br/>
      Initial support for NSS plugin skeleton (Michal Privoznik),<br/>
      virsocketaddr: Introduce virSocketAddrSetIPv6Addr (Michal Privoznik),<br/>
      virLeaseReadCustomLeaseFile: Allow server_duid to be NULL (Michal Privoznik),<br/>
      Export virLease* functions for leases file handling (Michal Privoznik),<br/>
      tests: add schema test for default cache mode (Jim Fehlig),<br/>
      tests: add xlconfigdata to domainschematests (Jim Fehlig),<br/>
      conf: Format disk pool part_separator attribute for running pool (John Ferlan),<br/>
      qemu: Move last error save/restore to qemuBuildNetCommandLine (John Ferlan),<br/>
      tests: Set PATH in each test (Michal Privoznik),<br/>
      Drop paths.h include (Michal Privoznik),<br/>
      driver: log missing modules as INFO, not WARN (Jovanka Gulicoska),<br/>
      admin: Add virAdmConnectLookupServer (Martin Kletzander),<br/>
      qemu: implement setting target disks migration port (Nikolay Shirokovskiy),<br/>
      migration: add target peer disks port (Nikolay Shirokovskiy),<br/>
      docs: fix libvirt version for vram64 in formatdomain.html.in (Pavel Hrdina),<br/>
      vz: code refactoring (Mikhail Feoktistov),<br/>
      vz: set default SCSI model (Mikhail Feoktistov),<br/>
      vz: check supported controllers (Mikhail Feoktistov),<br/>
      vz: report correct disk format in domainGetXMLDesc (Mikhail Feoktistov),<br/>
      vz: move prlsdkCheckDiskUnsupportedParams to vz_utils.c (Maxim Nestratov),<br/>
      vz: check supported disk format and bus (Mikhail Feoktistov),<br/>
      vz: add vzCapabilities to connection structure (Mikhail Feoktistov),<br/>
      vz: save vz version in connection structure (Mikhail Feoktistov),<br/>
      virlog: Refactor virLogParseOutputs (Erik Skultety),<br/>
      virlog: Introduce Type{To,From}String for virLogDestination (Erik Skultety),<br/>
      tests: Add a new test for logging outputs parser (Erik Skultety),<br/>
      tests: Slightly tweak virlogtest (Erik Skultety),<br/>
      nodedev: Shorten match condition (Martin Kletzander),<br/>
      qemu: Don't overwrite DomainSave errors (Cole Robinson),<br/>
      qemuDomainRevertToSnapshot: save domain configuration (Dmitry Andreev),<br/>
      Introduce new VIR_DOMAIN_EVENT_DEFINED_FROM_SNAPSHOT sub-event (Dmitry Andreev),<br/>
      qemu: Introduce qemuBuildPanicCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildNVRAMCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildRNGCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildMemballoonCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildHostdevCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildRedirdevCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildWatchdogCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildSoundCommandLine (John Ferlan),<br/>
      hostdev: Add more comments (Andrea Bolognani),<br/>
      hostdev: Use consistent variable names (Andrea Bolognani),<br/>
      hostdev: Remove virHostdevGetActivePCIHostDeviceList() (Andrea Bolognani),<br/>
      schema: support 'default' cache mode (Jim Fehlig),<br/>
      hostdev: Rename usesVfio -&gt; usesVFIO (Andrea Bolognani),<br/>
      hostdev: Rename hostdev_mgr -&gt; mgr (Andrea Bolognani),<br/>
      hostdev: Look up devices using IDs when possible (Andrea Bolognani),<br/>
      hostdev: Change argument order for virHostdevReattachPCIDevice() (Andrea Bolognani),<br/>
      hostdev: virHostdevIsPCINetDevice() should return a bool (Andrea Bolognani),<br/>
      hostdev: Rework resetvfnetconfig loop condition (Andrea Bolognani),<br/>
      qemu: Introduce qemuBuildVideoCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildInputCommandLine (John Ferlan),<br/>
      qemu: Modify qemuBuildTPMCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildConsoleCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildChannelsCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildParallelsCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildSerialCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildSmartcardCommandLine (John Ferlan),<br/>
      gendispatch: Use proper error for limit checking (Martin Kletzander),<br/>
      virt-admin: Don't tell everyone needlessly we're connected (Martin Kletzander),<br/>
      remote: Generate what's possible (Martin Kletzander),<br/>
      gendispatch: Support modern listing of more types (Martin Kletzander),<br/>
      gendispatch: Remember the name of snapshot variable name (Martin Kletzander),<br/>
      gendispatch: Accept server as an argument (Martin Kletzander),<br/>
      admin: Generate ConnectListServers dispatch helpers (Martin Kletzander),<br/>
      gendispatch: Be able to generate multi-return values (Martin Kletzander),<br/>
      gendispatch: Cluster, don't capture if not needed (Martin Kletzander),<br/>
      admin: Be consistent when resetting errors (Martin Kletzander),<br/>
      admin: Don't use priority for admin APIs (Martin Kletzander),<br/>
      Change virNetDaemonGetServerNames to virNetDaemonGetServers (Martin Kletzander),<br/>
      admin: Do not work with virAdm on the server side (Martin Kletzander),<br/>
      Expose virNetServerGetName (Martin Kletzander),<br/>
      daemon: Set error for unknown server name (Martin Kletzander),<br/>
      virerror: Introduce new error type NO_SERVER (Martin Kletzander),<br/>
      daemon: Get server name from the server itself (Martin Kletzander),<br/>
      server: Store server name in server object (Martin Kletzander),<br/>
      admin: Check for flags properly (Martin Kletzander),<br/>
      admin: Make virAdmServerFree() handle NULL gracefully (Martin Kletzander),<br/>
      qemu: Introduce qemuBuildNetCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildFSDevCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildDiskDriveCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildHubCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildControllerDevCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildGlobalControllerCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildBootCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildPMCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildClockCommandLine (John Ferlan),<br/>
      qemu: enable debug threads (Marc-André Lureau),<br/>
      qemu: check for debug-threads capability (Marc-André Lureau),<br/>
      libxl_conf: reuse virDomainNetGetActualtype in libxlMakeNicList (Chunyan Liu),<br/>
      logging: support truncation of logfiles when opening (Daniel P. Berrange),<br/>
      qemu: move functions for handling FD passing (Daniel P. Berrange),<br/>
      qemu: don't append -chardev arg until after value is formatted (Daniel P. Berrange),<br/>
      qemu: add support for logging chardev output to a file (Daniel P. Berrange),<br/>
      conf: allow use of a logfile with chardev backends (Daniel P. Berrange),<br/>
      logging: allow inode/offset params to be NULL (Daniel P. Berrange),<br/>
      qemu: Refactor bitmap handling in qemuDomainPinVcpuFlags (Peter Krempa),<br/>
      qemu: vcpupin: Extract live vcpupin setting into a separate function (Peter Krempa),<br/>
      util: virfile: Only setuid for virFileRemove if on NFS (Cole Robinson),<br/>
      util: virfile: Clarify setuid usage for virFileRemove (Cole Robinson),<br/>
      qemu: add support for offline vcpupin (Peter Krempa),<br/>
      conf: extract ignoring of inactive vcpu pinning information (Peter Krempa),<br/>
      conf: refactor checking for unsupported memory devices (Peter Krempa),<br/>
      conf: introduce parser feature flags (Peter Krempa),<br/>
      qemu: Report pinning for all vCPUs in qemuDomainGetVcpuPinInfo (Peter Krempa),<br/>
      conf: Extract code filling data for virDomainGetVcpuPinInfo (Peter Krempa),<br/>
      virsh: vcpupin: Ask for pinning info for all vCPUs (Peter Krempa),<br/>
      qemu: Add support for job completed event (Jiri Denemark),<br/>
      Introduce job completed event (Jiri Denemark),<br/>
      qemu: Do not report completed stats until the job finishes (Jiri Denemark),<br/>
      qemu: Don't explicitly stop CPUs after migration (Jiri Denemark),<br/>
      qemu: Properly update completed migration stats (Jiri Denemark),<br/>
      qemu: Store completed stats at the very end of migration (Jiri Denemark),<br/>
      hostdev: Remove explicit NULL checks (Andrea Bolognani),<br/>
      hostdev: Fix indentation (Andrea Bolognani),<br/>
      hostdev: Remove inaccurate comment (Andrea Bolognani),<br/>
      hostdev: Make comments easier to change later (Andrea Bolognani),<br/>
      tests: hostdev: Group test cases (Andrea Bolognani),<br/>
      tests: hostdev: Add more checks on list size (Andrea Bolognani),<br/>
      tests: hostdev: Use size_t for count variables (Andrea Bolognani),<br/>
      tests: hostdev: Move variable declaration inside CHECK_LIST_COUNT() (Andrea Bolognani),<br/>
      tests: hostdev: Use better variable names (Andrea Bolognani),<br/>
      tests: hostdev: Remove magic numbers (Andrea Bolognani),<br/>
      Add secretObjFromSecret (John Ferlan),<br/>
      locking: Use bit shift for flag values not constant values. (John Ferlan),<br/>
      qemu: improve the error when try to undefine transient network (Shanzhi Yu),<br/>
      libxl: reuse virDomainObjUpdateModificationImpact (Nikolay Shirokovskiy),<br/>
      lxc: reuse virDomainObjUpdateModificationImpact (Nikolay Shirokovskiy),<br/>
      libxl: Use virDomainLiveConfigHelperMethod for libxlDomainSetMemoryFlags (Nikolay Shirokovskiy),<br/>
      Drop inline keyword from some functions. (Michal Privoznik),<br/>
      Use correct LDFLAGS for leaseshelper (Jiri Denemark),<br/>
      util: Cleanup error path for virPolkitAgentCreate (John Ferlan),<br/>
      libxl: Remove extraneous AFFECT_LIVE and not active check. (Nikolay Shirokovskiy),<br/>
      conf: Combine if condition in virDomainObjUpdateModificationImpact (Nikolay Shirokovskiy),<br/>
      qemu: enalbe hotplugging of macvtap device with multiqueue (Shanzhi Yu),<br/>
      Fix formatting in remote_protocol-structs (Jiri Denemark),<br/>
      Implement handling of per-domain bandwidth settings (Alexander Burluka),<br/>
      Implement qemuSetupGlobalCpuCgroup (Alexander Burluka),<br/>
      Add global_period and global_quota XML validation test (Alexander Burluka),<br/>
      Add error checking on global quota and period (Alexander Burluka),<br/>
      Add global quota parameter necessary definitions (Alexander Burluka),<br/>
      Add global period definitions (Alexander Burluka),<br/>
      vz: implement connection close notification (Nikolay Shirokovskiy),<br/>
      daemon: add connection close rpc (Nikolay Shirokovskiy),<br/>
      remote: factor out feature checks on connection open (Nikolay Shirokovskiy),<br/>
      close callback: move it to driver (Nikolay Shirokovskiy),<br/>
      virConnectCloseCallbackDataDispose: remove unnecessary locks (Nikolay Shirokovskiy),<br/>
      close callback API: remove unnecessary locks (Nikolay Shirokovskiy),<br/>
      virConnectCloseCallbackData: factor out callback disarming (Nikolay Shirokovskiy),<br/>
      factor out virConnectCloseCallbackDataPtr methods (Nikolay Shirokovskiy),<br/>
      qemu_cgroup: use virCgroupAddTask instead of virCgroupMoveTask (Henning Schild),<br/>
      qemu_cgroup: put qemu right into emulator sub-cgroup (Henning Schild),<br/>
      qemu: process: Move emulator thread setting code into one function (Peter Krempa),<br/>
      qemu: introduce vram64 attribute for QXL video device (Pavel Hrdina),<br/>
      qemu_capabilities: introduce QEMU_CAPS_QXL(_VGA)_VRAM64 (Pavel Hrdina),<br/>
      docs/formatdomain: rewrite video documentation (Pavel Hrdina),<br/>
      domain_conf: always set primary video device as primary (Pavel Hrdina),<br/>
      virsh: Add support for text based polkit authentication (John Ferlan),<br/>
      util: Introduce API's for Polkit text authentication (John Ferlan),<br/>
      polkit: Adjust message when authentication agent isn't found (John Ferlan),<br/>
      secret: Rename loadSecrets (John Ferlan),<br/>
      secret: Introduce secretAssignDef (John Ferlan),<br/>
      secret: Introduce listUnlinkSecret (John Ferlan),<br/>
      secret: Create a 'base64File' in virSecretObj (John Ferlan),<br/>
      secret: Create a 'configFile' in virSecretObj (John Ferlan),<br/>
      secret: Adjust logic to build file path in secretLoad (John Ferlan),<br/>
      secret: Rename directory to configDir (John Ferlan),<br/>
      secret: Use 'secret' instead of 's' for variable name (John Ferlan),<br/>
      secret: Rename virSecretObjPtr 'entry' to 'secret' (John Ferlan),<br/>
      secret: Remove local virSecretPtr 'secret' (John Ferlan),<br/>
      secret: Rename virSecretEntry (John Ferlan),<br/>
      secret: Use virFileRewrite instead of replaceFile (John Ferlan),<br/>
      secret: Various formatting cleanups (John Ferlan),<br/>
      vircgroup: one central point for adding tasks to cgroups (Henning Schild),<br/>
      qemu: Allow setting pinning of emulator/iohtread with automatic placement (Peter Krempa),<br/>
      qemu: add spice opengl support (Marc-André Lureau),<br/>
      Post-release version bump to 1.3.3 (Michal Privoznik),<br/>
      qemu: Shorten per-domain directory names (Martin Kletzander)<br/>
      </li>

    </ul>
   <h3>v1.3.2: Mar 01 2016</h3>
    <ul>
      <li>Features:<br/>
      Various improvements for the Xen libxl driver (Joao Martins and Jim Fehlig),<br/>
      virt-admin improvement (Erik Skultety),<br/>
      Various improvements for the RDB volumes (Wido den Hollander)<br/>
      </li>

      <li>Documentation:<br/>
      docs: mention ZFS on Linux support (Roman Bogorodskiy),<br/>
      docs: formatdomain: Document "spice" as a valid value for &lt;graphics type=..&gt; (Richard W.M. Jones),<br/>
      docs: Try harder to uninstall (Michal Privoznik),<br/>
      tests: Fix typo oaque -&gt; opaque (Andrea Bolognani),<br/>
      docs: List possible GIC versions (Andrea Bolognani),<br/>
      Spell VMware with a lowercase w (Ján Tomko),<br/>
      leaseshelper: move comment about adding IPv6 leases (Ján Tomko)<br/>
      </li>

      <li>Portability:<br/>
      build: accomodate selinux 2.5 header API change (Eric Blake),<br/>
      rbd: fix 32-bit build (Eric Blake),<br/>
      util: Use virBitmapIsBitSet in freebsd impl of virProcessSetAffinity (Peter Krempa),<br/>
      domsuspend: Fix warning on mingw build (Andrea Bolognani),<br/>
      virportallocatortest: Run on linux only (Michal Privoznik),<br/>
      Revert "tests: Don't link mock libraries against libvirt and gnulib" (Andrea Bolognani),<br/>
      tests: Don't link mock libraries against libvirt and gnulib (Andrea Bolognani),<br/>
      virDomainFormatSchedDef: Initialize @priority (Michal Privoznik),<br/>
      Fix '-pie' build with clang (Martin Kletzander),<br/>
      include: Handle case when builddir == srcdir (Michal Privoznik),<br/>
      tests: avoid realpath in test-lib.sh (Eric Blake),<br/>
      includes: Install libvirt-common.h (Michal Privoznik),<br/>
      docs: fix generation of docs from VPATH build (Daniel P. Berrange),<br/>
      Fix make check with gcc version 5 (Martin Kletzander)<br/>
      </li>

      <li>Bug Fixes:<br/>
      storage: Fix error path in storagePoolDefineXML (John Ferlan),<br/>
      storage: Fix error path in virStoragePoolObjLoad (John Ferlan),<br/>
      qemu: error out on missing machine type in configs (Ján Tomko),<br/>
      Revert "Error out on missing machine type in machine configs" (Ján Tomko),<br/>
      libxl: unref objects in error paths (Jim Fehlig),<br/>
      storage: No need to check ret after VIR_APPEND_ELEMENT (John Ferlan),<br/>
      zfs: Resolve RESOURCE_LEAK (John Ferlan),<br/>
      netdev: Use virNetDevIsVirtualFunction() properly (Andrea Bolognani),<br/>
      Fix bug of attaching redirdev device (Osier Yang),<br/>
      libxl: small fix in parsing network (Chunyan Liu),<br/>
      qemuBuildCommandLine: Change the condition for -nographics (Michal Privoznik),<br/>
      xen: Check return value of virStringReplace (Michal Privoznik),<br/>
      vbox: Avoid signed and unsigned comparison (Michal Privoznik),<br/>
      qemu_process: mark auto-generated spice ports as reserved (Pavel Hrdina),<br/>
      adminDaemonListServers: Don't leak @srv_names array (Michal Privoznik),<br/>
      Check for active domain in virDomainObjWait (Jiri Denemark),<br/>
      qemu: Avoid calling qemuProcessStop without a job (Jiri Denemark),<br/>
      qemu: Process monitor EOF in a job (Jiri Denemark),<br/>
      qemu: qemuDomainGetStatsVcpu: Fix output for possible sparse vCPU settings (Peter Krempa),<br/>
      qemu: vcpupin: Don't overwrite errors from functions setting pinning (Peter Krempa),<br/>
      admin: Fix memory leak in remoteAdminConnectClose (Erik Skultety),<br/>
      esx: Avoid using vSphere SessionIsActive function (Matthias Bolte),<br/>
      Error out on missing machine type in machine configs (Ján Tomko),<br/>
      qemu: cgroup: fix cgroup permission logic (Bjoern Walk),<br/>
      virsh: Remove &lt;backingStore&gt; when changing cdrom media source (Peter Krempa),<br/>
      vircgroup: Update virCgroupDenyDevicePath stub (Michal Privoznik),<br/>
      qemu: cgroup: Avoid reporting errors from inaccessible NFS volumes (Peter Krempa),<br/>
      qemu: fix hot unplug of PCI devices with VFIO (Ludovic Beliveau),<br/>
      vz: fix race condition when adding domain to domains list (Mikhail Feoktistov),<br/>
      vz: fix notification subscription (Mikhail Feoktistov),<br/>
      conf: snapshot: Avoid autogenerating duplicate snapshot names (Peter Krempa),<br/>
      dbus: Don't unref NULL messages (Michal Privoznik),<br/>
      qemu: Connect to guest agent iff needed (Michal Privoznik),<br/>
      xenconfig: Properly check retval of virDomainGraphicsListenSetAddress (Michal Privoznik),<br/>
      leaseshelper: swap two parameters of virLeaseNew (Ján Tomko),<br/>
      vboxDumpDisplay: check return of virDomainGraphicsListenSetAddress (Ján Tomko),<br/>
      Check return value of vboxDumpVideo (Ján Tomko),<br/>
      qemu: vcpu: Reuse qemuProcessSetupVcpu in vcpu hotplug (Peter Krempa),<br/>
      remote: enforce VIR_TYPED_PARAM_STRING_OKAY flag on client side serialization (Joao Martins),<br/>
      vircgroup: Update virCgroupGetPercpuStats stump (Michal Privoznik),<br/>
      conf: Don't store vcpusched orthogonally to other vcpu info (Peter Krempa),<br/>
      qemu: snapshot: Avoid infinite loop if vCPUs can't be resumed (Peter Krempa),<br/>
      qemu: snapshot: Don't overwrite existing errors when thawing filesystems (Peter Krempa),<br/>
      util: Fix virCgroupNewMachine ATTRIBUTE_NONNULL args (John Ferlan),<br/>
      bhyve: Fix the build (Michal Privoznik),<br/>
      virSystemdGetMachineNameByPID: Initialize @reply (Michal Privoznik),<br/>
      virnetdevbandwidth: Compute quantum value (Michal Privoznik),<br/>
      systemd: Modernize machine naming (Martin Kletzander),<br/>
      bhyve: fix build (Roman Bogorodskiy),<br/>
      Fix build after recent patches (Peter Krempa),<br/>
      qemu: qemuDomainRename and virDomainObjListNumOfDomains ABBA deadlock fix (Nikolay Shirokovskiy),<br/>
      Revert "systemd: Escape only needed characters for machined" (Martin Kletzander),<br/>
      qemu: Don't crash when create fails early (Martin Kletzander),<br/>
      virsh: ensure SIGINT action is reset on all errors (Michael Chapman),<br/>
      conf: disallow empty cpusets for vcpu pinning when parsing XML (Peter Krempa),<br/>
      Fix libvirtd free() segfault when migrating guest with deleted open vswitch port (Jason J. Herne),<br/>
      vz: Fix invalid iteration of def-&gt;cputune.vcpupin (Peter Krempa),<br/>
      qemu: process: Disallow VMs with 0 vcpus (Peter Krempa),<br/>
      virt-host-validate: Fix error level for user namespace check (Michal Privoznik),<br/>
      virsh: Correctly detect inserted media in change-media command (Michal Privoznik),<br/>
      vmx: Adapt to emptyBackingString for cdrom-image (Michal Privoznik),<br/>
      qemu: snapshot: Correctly report qemu error on 'savevm' (Peter Krempa),<br/>
      lxc: fuse: Stub out Slab bits in /proc/meminfo (Cole Robinson),<br/>
      lxc: fuse: Fill in MemAvailable for /proc/meminfo (Cole Robinson),<br/>
      qemuDomainReboot: use fakeReboot=true only for acpi mode (Dmitry Andreev),<br/>
      build: predictably generate systemtap tapsets (bz 1173641) (Cole Robinson),<br/>
      leaseshelper: fix crash when no mac is specified (Ján Tomko),<br/>
      virLogManagerDomainReadLogFile: Don't do dummy allocs (Michal Privoznik),<br/>
      qemuProcessReadLog: Fix memmove arguments (Michal Privoznik),<br/>
      rbd: Set r variable so it can be returned should an error occur (Wido den Hollander)<br/>
      </li>

      <li>Improvements:<br/>
      virsh: reject migration with both --live and --offline (Nitesh Konkar),<br/>
      tests: add parseFlags to qemuxml2argvtest (Ján Tomko),<br/>
      tests: add a test for persistent LXC XML parsing (Ján Tomko),<br/>
      testCompareDomXML2XMLFiles: add parseFlags parameter (Ján Tomko),<br/>
      openvz: Use virStringSplitCount instead of strtok_r (John Ferlan),<br/>
      hostdev: Remove temporary variable when checking for VF (Andrea Bolognani),<br/>
      util: Avoid calling closedir(NULL) (Jiri Denemark),<br/>
      vircgroupmock: Mock access("/sys/devices/system/cpu/present") (Michal Privoznik),<br/>
      libxl: implement virDomainInterfaceStats (Joao Martins),<br/>
      libxl: fix bogus indentation from commit fb2bd208 (Jim Fehlig),<br/>
      libxl: add support for rbd qdisk (Jim Fehlig),<br/>
      xenconfig: support xl&lt;-&gt;xml conversion of rbd disk devices (Jim Fehlig),<br/>
      xenconfig: produce key=value disk config syntax in xl formatter (Jim Fehlig),<br/>
      xenconfig: replace text 'xm' with 'xl' in xlconfigtest (Jim Fehlig),<br/>
      hostdev: Minor style adjustments (Andrea Bolognani),<br/>
      cmdSaveImageEdit: Prefer VSH_EXCLUSIVE_OPTIONS over by hand check (Michal Privoznik),<br/>
      cmdNetworkUpdate: Prefer VSH_EXCLUSIVE_OPTIONS over if-else tree (Michal Privoznik),<br/>
      util: TristateBool and TristateSwitch are interchangeable (Marc-André Lureau),<br/>
      Miscellaneous for-loop syntax clean-ups (Martin Kletzander),<br/>
      qemu: add support for LSI SAS1068 (aka MPT Fusion) SCSI controller (Paolo Bonzini),<br/>
      virDomainDefFormatInternal: Drop useless check (Michal Privoznik),<br/>
      gic: Introduce VIR_GIC_VERSION_DEFAULT alias (Andrea Bolognani),<br/>
      security_selinux: Fix typo in error message (Laurent Bigonville),<br/>
      qemu: iothreadpin: Always set affinity when pinning iothread (Peter Krempa),<br/>
      qemu: emulatorpin: Always set affinity when pinning emulator thread (Peter Krempa),<br/>
      qemu: parse: drop redundant AddImplicitControllers (Cole Robinson),<br/>
      qemu: parse: rename qemuCaps-&gt;caps (Cole Robinson),<br/>
      domain: add implicit controllers from post parse (Cole Robinson),<br/>
      qemu: Simplify error handling in qemuProcessReconnect (Jiri Denemark),<br/>
      qemu: Start an async job for processGuestPanicEvent (Jiri Denemark),<br/>
      qemu: Start job in qemuDomainDestroyFlags early (Jiri Denemark),<br/>
      qemu: Introduce qemuProcessBeginStopJob (Jiri Denemark),<br/>
      qemu: Pass async job to qemuProcessInit (Jiri Denemark),<br/>
      qemu: End nested jobs properly (Jiri Denemark),<br/>
      qemu: Export qemuDomainObjBeginNestedJob (Jiri Denemark),<br/>
      virsh: cpupin: Extract getter code into a separate function (Peter Krempa),<br/>
      qemu: vcpupin: Always set affinity even when cgroups are supported (Peter Krempa),<br/>
      virsh: cmdVcpuPin: Simplify handling of API flags (Peter Krempa),<br/>
      test: qemuxml2argv: Drop QEMU_CAPS_DEVICE uses (Andrea Bolognani),<br/>
      vsh: use virBufferTrim in vshOutputLogFile (Ján Tomko),<br/>
      qemu: Introduce qemuBuildMonitorCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildSgaCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildSmbiosCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildNumaCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildIOThreadCommandLine (John Ferlan),<br/>
      qemu: Rename qemuBuildSmpArgStr to qemuBuildSmpCommandLine (John Ferlan),<br/>
      qemu: Introduce qemuBuildMemCommandLine (John Ferlan),<br/>
      qemu: Rename qemuBuildCpuArgStr to qemuBuildCpuCommandLine (John Ferlan),<br/>
      qemu: Rename qemuBuildMachineArgStr (John Ferlan),<br/>
      qemu: Make basic upfront checks before create command (John Ferlan),<br/>
      qemu: Remove local emulator (John Ferlan),<br/>
      qemu: Kill VIR_WRAPPER_SHELL_PREFIX (Peter Krempa),<br/>
      qemu: Move PORT definitions to qemu_conf.c (Cole Robinson),<br/>
      tests: Remove unused virtTestClearLineRegex (Cole Robinson),<br/>
      tests: lxcconf2xml: Drop XML blanking (Cole Robinson),<br/>
      tests: qemuargv2xml: Drop memory XML blanking (Cole Robinson),<br/>
      tests: qemuargv2xml: hardcode disk auth usage (Cole Robinson),<br/>
      tests: qemuargv2xml: Remove UUID randomness (Cole Robinson),<br/>
      tests: qemuargv2xml: Remove unneeded XML blanking (Cole Robinson),<br/>
      qemu: Remove unnecessary calculations in qemuDomainSaveMemory (Peter Krempa),<br/>
      qemu: monitor: Remove unused qemuMonitorMigrateToFile (Peter Krempa),<br/>
      Revert "storageVolCreateXMLFrom: Check if backend knows how to createVol" (Ján Tomko),<br/>
      syms: add forgotten virAdmConnectClass symbol (Erik Skultety),<br/>
      virt-admin: Introduce cmdSrvList (Erik Skultety),<br/>
      admin: Introduce adminDaemonConnectListServers API (Erik Skultety),<br/>
      admin: Introduce virAdmServer structure (Erik Skultety),<br/>
      admin: Move admin_server.{h,c} to admin.{h,c} (Erik Skultety),<br/>
      virnetdaemon: Store servers in a hash table (Erik Skultety),<br/>
      util: Refactor virHashForEach so it returns as soon as an iterator fails (Erik Skultety),<br/>
      util: Add a return value to void hash iterators (Erik Skultety),<br/>
      qemu: cgroup: Setup cgroups for bios/firmware images (Peter Krempa),<br/>
      qemu: cgroup: Extract guts of qemuSetupImageCgroupInternal (Peter Krempa),<br/>
      qemu: cgroup: Split up qemuSetImageCgroupInternal (Peter Krempa),<br/>
      qemu: cgroup: Switch to qemu(Setup|Teardown)ImageCgroup (Peter Krempa),<br/>
      util: cgroup: Allow ignoring EACCES in virCgroup(Allow|Deny)DevicePath (Peter Krempa),<br/>
      util: cgroup: Drop virCgroup(Allow|Deny)DeviceMajor (Peter Krempa),<br/>
      util: cgroup: Instrument virCgroupDenyDevice to handle -1 device number as * (Peter Krempa),<br/>
      qemu: migration: Refactor code now that we assume support for fd migration (Peter Krempa),<br/>
      qemu: cgroup: Remove abandoned function qemuAddToCgroup (Peter Krempa),<br/>
      conf: Use a temporary int variable to store GIC version (Andrea Bolognani),<br/>
      qemu: Move qemuDomainNetVLAN (John Ferlan),<br/>
      qemu: Move qemuAssign*Alias* API's into their own module (John Ferlan),<br/>
      qemu: Move qemuNetworkPrepareDevices (John Ferlan),<br/>
      qemu: Move and rename qemuOpenVhostNet (John Ferlan),<br/>
      qemu: Move qemuDomain*Address* functions (John Ferlan),<br/>
      qemu: Move qemuDomainSupports* functions (John Ferlan),<br/>
      qemu: Move qemuNetworkIfaceConnect to qemu_interface.c and rename (John Ferlan),<br/>
      qemu: Move qemuPhysIfaceConnect to qemu_interface.c and rename (John Ferlan),<br/>
      qemu: Move qemuVirCommandGetDevSet (John Ferlan),<br/>
      qemu: Move qemuBuildTPMDevStr (John Ferlan),<br/>
      qemu: Move qemuVirCommandGetFDSet (John Ferlan),<br/>
      qemu: Move qemuBuildTPMBackendStr (John Ferlan),<br/>
      tests: Add more GIC test cases (Andrea Bolognani),<br/>
      tests: Reorganize and simplify GIC test cases (Andrea Bolognani),<br/>
      qemu: Always enable GIC on ARM virt machines (Andrea Bolognani),<br/>
      qemu: Default to GIC v2 (Andrea Bolognani),<br/>
      conf: Use virGICVersion enumeration in virDomainDef (Andrea Bolognani),<br/>
      schema: List allowed GIC versions (Andrea Bolognani),<br/>
      gic: Introduce virGICVersion enumeration (Andrea Bolognani),<br/>
      vsh: Replace vshPrint macro with function (Peter Krempa),<br/>
      vsh: Simplify bailing out on OOM conditions (Peter Krempa),<br/>
      util: clean up and expand 802.1QbX negotiation logging (Laine Stump),<br/>
      network: consolidated info log for all network allocate/free operations (Laine Stump),<br/>
      network: consolidate connection count updates for device pool (Laine Stump),<br/>
      rbd: Use RBD fast-diff for querying actual volume allocation (Wido den Hollander),<br/>
      rbd: rbd_diff_iterate2() is available in librbd since 266 (Wido den Hollander),<br/>
      rbd: Add volStorageBackendRBDGetFeatures() for internal calls (Wido den Hollander),<br/>
      storageVolCreateXMLFrom: Check if backend knows how to createVol (Michal Privoznik),<br/>
      storageVolCreateXML: Swap order of two operations (Michal Privoznik),<br/>
      virsh: Teach vol-create-as to --print-xml (Michal Privoznik),<br/>
      cmdVolCreateAs: Rework to follow usual func pattern (Michal Privoznik),<br/>
      vz: remove unused struct field (Mikhail Feoktistov),<br/>
      vz: make output arguments in prlsdkGetDomainIds as optional (Mikhail Feoktistov),<br/>
      Change maintainers list (Maxim Nestratov),<br/>
      tests: Rename virmockdbus -&gt; virdbusmock for consistency (Andrea Bolognani),<br/>
      tests: Don't use "lib" prefix for mock libraries (Andrea Bolognani),<br/>
      tests: Allow use of close() in mock libraries (Andrea Bolognani),<br/>
      tests: Split off the mock part of the port allocator test (Andrea Bolognani),<br/>
      conf: snapshot: Refactor virDomainSnapshotDefAssignExternalNames (Peter Krempa),<br/>
      conf: snapshot: Extract code to generate default external file names (Peter Krempa),<br/>
      conf: snapshot: Rename disksorter to virDomainSnapshotCompareDiskIndex (Peter Krempa),<br/>
      tests: Link mock libraries against gnulib and gnulib only (Andrea Bolognani),<br/>
      tests: Use plain close() in mock code (Andrea Bolognani),<br/>
      virhook: do not save the return value of virBuildPath (Ján Tomko),<br/>
      Clean up usage of 'ret' variable (Ján Tomko),<br/>
      Prohibit verbose strcat (Ján Tomko),<br/>
      vbox: remove more extra spaces (Ján Tomko),<br/>
      vbox: remove extra spaces from function headers (Ján Tomko),<br/>
      vbox: remove extra spaces from assignments (Ján Tomko),<br/>
      vbox: remove extra spaces from variable initializations (Ján Tomko),<br/>
      vbox: remove extra spaces from macro definitions (Ján Tomko),<br/>
      qemu: Split the command parsing routines into own module (John Ferlan),<br/>
      qemu: Check return status for virDomainGraphicsListenSetAddress (John Ferlan),<br/>
      qemu: Introduce qemuParseCommandLineVnc (John Ferlan),<br/>
      libxl: keepalive messages support (Joao Martins),<br/>
      libxl: add p2p migration (Joao Martins),<br/>
      tests: qemu: More aarch64 virtio and pci tests (Cole Robinson),<br/>
      tests: qemuxml2xml: assign device addresses (Cole Robinson),<br/>
      tests: utils: Add PreFormat callback for CompareXML2XML helper (Cole Robinson),<br/>
      virStringListLength: Ensure const correctness (Michal Privoznik),<br/>
      tests: qemuxml2xml: specify qemuCaps in test cases (Cole Robinson),<br/>
      tests: Unconditionally enable QEMU_CAPS_DEVICE (Cole Robinson),<br/>
      tests: qemuxml2argv: remove some QEMU_CAPS_DEVICE problem cases (Cole Robinson),<br/>
      util: Get rid of virStringListLen() (Martin Kletzander),<br/>
      tests: qemuxml2xml: Always use different output file (Cole Robinson),<br/>
      vboxDumpDisplay: realign variable initializations (Ján Tomko),<br/>
      vboxDumpDisplay: remove suspicious strlen (Ján Tomko),<br/>
      vboxDumpDisplay: reuse the keyUtf16 variable (Ján Tomko),<br/>
      vboxDumpDisplay: use VIR_APPEND_ELEMENT (Ján Tomko),<br/>
      vboxDumpDisplay: clean up VIR_STRDUP usage (Ján Tomko),<br/>
      vboxDumpDisplay: fill out the graphics structure earlier (Ján Tomko),<br/>
      vboxDumpDisplay: allocate the graphics structure upfront (Ján Tomko),<br/>
      vboxDumpDisplay: split out def-&gt;graphics allocation (Ján Tomko),<br/>
      vboxDumpDisplay: remove extra virReportOOMError (Ján Tomko),<br/>
      vboxDumpDisplay: add addDesktop bool (Ján Tomko),<br/>
      vboxDumpDisplay: more indentation reducing (Ján Tomko),<br/>
      vboxDumpDisplay: reduce indentation level (Ján Tomko),<br/>
      leaseshelper: split out virLeaseNew (Ján Tomko),<br/>
      qemu: iothread: Reuse qemuProcessSetupIOThread in iothread hotplug (Peter Krempa),<br/>
      qemu: iothread: Aggregate code to set IOThread tuning (Peter Krempa),<br/>
      qemu: vcpu: Aggregate code to set vCPU tuning (Peter Krempa),<br/>
      conf: Fix how iothread scheduler info is stored (Peter Krempa),<br/>
      conf: Extract code that formats &lt;cputune&gt; (Peter Krempa),<br/>
      conf: remove unused cpu pinning helpers and data structures (Peter Krempa),<br/>
      conf: Store cpu pinning data in def-&gt;vcpus (Peter Krempa),<br/>
      conf: Don't copy def-&gt;cpumask into cpu pinning info (Peter Krempa),<br/>
      qemu: Reuse qemuDomainDetectVcpuPids in cpu hot(un)plug (Peter Krempa),<br/>
      qemu: Differentiate error codes when VM exits in qemuDomainDetectVcpuPids (Peter Krempa),<br/>
      cgroup: Prepare for sparse vCPU topologies in virCgroupGetPercpuStats (Peter Krempa),<br/>
      conf: Move and optimize disk target duplicity checking (Peter Krempa),<br/>
      tests: Integrate startup checks to qemuxml2argvtest (Peter Krempa),<br/>
      qemu: process: Extract pre-start checks into a function (Peter Krempa),<br/>
      qemu: process: Reorder operations on early VM startup (Peter Krempa),<br/>
      qemu: hotplug: Check duplicate disk serial/wwn on hotplug too (Peter Krempa),<br/>
      conf: Extract code that checks disk serial/wwn conflict (Peter Krempa),<br/>
      qemu: hotplug: Extract common code to qemuDomainAttachDeviceDiskLive (Peter Krempa),<br/>
      qemu: hotplug: Use more common 'cleanup' label in qemuDomainAttachDeviceDiskLive (Peter Krempa),<br/>
      qemu: hotplug: Break up if/else statement into switch (Peter Krempa),<br/>
      qemu: hotplug: Remove unnecessary variable (Peter Krempa),<br/>
      qemu: hotplug: Use typecasted switch (Peter Krempa),<br/>
      nodedev: stub nodeDeviceSysfsGetPCIRelatedDevCaps (Roman Bogorodskiy),<br/>
      bhyve: fix preprocessor indentation (Roman Bogorodskiy),<br/>
      tests: qemuargv2xml: separate from qemuxml2argv data (Cole Robinson),<br/>
      tests: Run test-wrap-argv with REGENERATE_OUTPUT (Cole Robinson),<br/>
      rbd: Use %zu for uint64_t instead of casting to unsigned long long (Wido den Hollander),<br/>
      rbd: Code styling cleanup (Wido den Hollander),<br/>
      conf: Extract code for parsing thread resource scheduler info (Peter Krempa),<br/>
      conf: Add helper to return a bitmap of active iothread ids (Peter Krempa),<br/>
      util: bitmap: Introduce bitmap subtraction (Peter Krempa),<br/>
      conf: add caps to virDomainSnapshotDefFormat (Joao Martins),<br/>
      conf: add caps to virDomainObjFormat/SaveStatus (Daniel P. Berrange),<br/>
      qemu migration: factor out setting migration option (Nikolay Shirokovskiy),<br/>
      logical: Clarify pieces of lvs regex (John Ferlan),<br/>
      libxl: set net device prefix (Joao Martins),<br/>
      conf: add caps to virDomainSaveConfig (Joao Martins),<br/>
      conf: add caps to virDomainDefFormat* (Joao Martins),<br/>
      conf: add prefix in virDomainNetDefParseXML (Joao Martins),<br/>
      conf: add net device prefix to capabilities (Joao Martins),<br/>
      virsh: display if ZFS storage backend is enabled (Roman Bogorodskiy),<br/>
      configure: zfs: enable on Linux (Roman Bogorodskiy),<br/>
      storage: zfs: flexible use of 'volmode' option (Roman Bogorodskiy),<br/>
      util: Export remoteSerializeTypedParameters internally via util (Erik Skultety),<br/>
      util: Export remoteFreeTypedParameters internally via util (Erik Skultety),<br/>
      util: Export remoteDeserializeTypedParameters internally via util (Erik Skultety),<br/>
      util: Introduce virTypedParameterRemote datatype (Erik Skultety),<br/>
      systemd: Add virSystemdGetMachineNameByPID (Martin Kletzander),<br/>
      Simplify virDomainParseMemory (Ján Tomko),<br/>
      conf: Split out logic to determine whether cpupin was provided (Peter Krempa),<br/>
      qemu: domain: Prepare qemuDomainDetectVcpuPids for reuse (Peter Krempa),<br/>
      qemu: Move and rename qemuProcessDetectVcpuPIDs to qemuDomainDetectVcpuPids (Peter Krempa),<br/>
      qemu: cpu hotplug: Set vcpu state directly in the new structure (Peter Krempa),<br/>
      conf: Add helper to retrieve bitmap of active vcpus for a definition (Peter Krempa),<br/>
      cgroup: Clean up virCgroupGetPercpuStats (Peter Krempa),<br/>
      cfg.mk: Adjust sc_prohibit_int_ijk to support 'exempt from syntax-check' (Erik Skultety),<br/>
      qemuDomainResume: allow to resume domain with guest panicked (Dmitry Andreev),<br/>
      qemu: return -1 on error paths in qemuDomainSaveImageStartVM (Nikolay Shirokovskiy),<br/>
      logical: Clean up allocation when building regex on the fly (John Ferlan),<br/>
      logical: Use 'stripes' value for mirror/raid segtype (John Ferlan),<br/>
      logical: Use VIR_APPEND_ELEMENT instead of VIR_REALLOC_N (John Ferlan),<br/>
      virsh: improve waiting for block job readiness (Michael Chapman),<br/>
      virsh: be consistent with style of loop exit (Michael Chapman),<br/>
      virsh: avoid unnecessary progress updates (Michael Chapman),<br/>
      qemu: Mark some functions as static (Cole Robinson),<br/>
      fdstream: Realign (Michal Privoznik),<br/>
      qemu: Align dump options for watchdog and on_crash events (Boris Fiuczynski),<br/>
      logical: Create helper virStorageBackendLogicalParseVolExtents (John Ferlan),<br/>
      rbd: Open in Read-Only mode when refreshing a volume (Wido den Hollander),<br/>
      rbd: Implement buildVolFrom using RBD cloning (Wido den Hollander),<br/>
      rbd: Add support for wiping RBD volumes using TRIM. (Wido den Hollander),<br/>
      storage: Add TRIM algorithm to storage volume API (Wido den Hollander),<br/>
      rbd: Add support for wiping RBD volumes (Wido den Hollander),<br/>
      storage: Adjust fix virStorageBackendVolWipeLocal switch (Wido den Hollander),<br/>
      logical: Fix comment examples for virStorageBackendLogicalFindLVs (John Ferlan),<br/>
      pci: Use bool return type for some virPCIDeviceGet*() functions (Andrea Bolognani),<br/>
      gendispatch: Don't output spaces on empty line (Michal Privoznik),<br/>
      pci: Add debug messages when unbinding from stub driver (Andrea Bolognani),<br/>
      pci: Phase out virPCIDeviceReattachInit() (Andrea Bolognani),<br/>
      qemu: don't iterate vcpus using priv-&gt;nvcpupids in qemuProcessSetSchedParams (Peter Krempa),<br/>
      conf: disallow empty cpuset for emulatorpin (Peter Krempa),<br/>
      qemu: Don't use priv-&gt;ncpus to iterate cgroup setting (Peter Krempa),<br/>
      virnetdevopenvswitch: Don't call strlen() twice on the same string (Andrea Bolognani),<br/>
      virnetdevmacvlan: Provide stubs for build without macvtap (Michal Privoznik),<br/>
      util: keep/use a bitmap of in-use macvtap devices (Laine Stump),<br/>
      util: increase libnl buffer size (Leno Hou),<br/>
      device: cleanup input device code (Pavel Hrdina),<br/>
      tests: add some missing tests to qemuxml2xmltest (Pavel Hrdina),<br/>
      tests: use virtTestDifferenceFull in tests where we have output file (Pavel Hrdina),<br/>
      vircgroup: Finish renaming of virCgroupIsolateMount (Michal Privoznik),<br/>
      lxc: don't try to hide parent cgroups inside container (Daniel P. Berrange),<br/>
      qemu: add reporting of vCPU wait time (Daniel P. Berrange),<br/>
      virsh: fix cpu-stats command output format issue (Luyao Huang),<br/>
      util: buffer: Sanitize comment for virBufferAddBuffer (Peter Krempa),<br/>
      test: Touch up error message when attempting to pin invalid vCPU (Peter Krempa),<br/>
      tests: qemuxml2xml: Order pinning information numerically (Peter Krempa),<br/>
      virsh: cpu-stats: Remove unneeded flags (Peter Krempa),<br/>
      virsh: cpu-stats: Extract common printing code into a function (Peter Krempa),<br/>
      (qemu|lxc)DomainGetCPUStats: Clean up (Peter Krempa),<br/>
      qemu: process: refactor and rename qemuValidateCpuMax to qemuValidateCpuCount (Peter Krempa),<br/>
      virt-host-validate: Check those CGroups that we actually use (Michal Privoznik),<br/>
      qemu: monitor: Refactor error handling for 'savevm' (Peter Krempa),<br/>
      bhyve: bhyveload: respect boot dev and boot order (Roman Bogorodskiy),<br/>
      conf: expose virDomainBootType(From|To)String (Roman Bogorodskiy),<br/>
      util: reset MAC address of macvtap passthrough physdev after disassociate (Laine Stump),<br/>
      lxc: fuse: Fix /proc/meminfo size calculation (Cole Robinson),<br/>
      lxc: fuse: Unindent meminfo logic (Cole Robinson),<br/>
      libxl: Support cmdline= in xl config files (Ian Campbell),<br/>
      libxl: dispose libxl_dominfo after libxl_domain_info() (Joao Martins),<br/>
      Xen: add XENXL to virErrorDomain enum (Jim Fehlig),<br/>
      Xen: VIR_FROM_THIS cleanup (Jim Fehlig),<br/>
      qemu: Add support for migration iteration event (Jiri Denemark),<br/>
      Introduce migration iteration event (Jiri Denemark),<br/>
      virsh: Don't fetch status for all domains in cmdList (Michal Privoznik),<br/>
      docs: fix syntax-check long line error (Cole Robinson),<br/>
      leaseshelper: reduce indentation level in virLeaseReadCustomLeaseFile (Ján Tomko),<br/>
      leaseshelper: remove useless comparison (Ján Tomko),<br/>
      leaseshelper: split out virLeasePrintLeases (Ján Tomko),<br/>
      leaseshelper: split out custom leases file read (Ján Tomko),<br/>
      leaseshelper: store server_duid as an allocated string (Ján Tomko),<br/>
      storage: Add new flag for libvirt_parthelper (John Ferlan),<br/>
      conf: Add storage pool device attribute part_separator (John Ferlan),<br/>
      qemuTestDriverInit: fill driver with zeroes (Michal Privoznik),<br/>
      Post-release version bump to 1.3.2 (Michal Privoznik),<br/>
      NEWS: Don't prefix version numbers with 'v' (Andrea Bolognani),<br/>
      NEWS: Fix whitespace issues (Andrea Bolognani),<br/>
      NEWS: Move 2015 entries to a separate file (Andrea Bolognani)<br/>
      </li>
    </ul>
    <h3>1.3.1: Jan 17 2016</h3>
    <ul>
      <li>Features:<br/>
      Various improvements for the Xen libxl driver (Jim Fehlig),<br/>
      rbd: Add support for wiping and cloning images to storage driver (Wido den Hollander),<br/>
      PCI hostdev improvements and fixes (Andrea Bolognani)<br/>
      </li>

      <li>Security:<br/>
      CVE-2015-5313: storage: don't allow '/' in filesystem volume names (Eric Blake)<br/>
      </li>

      <li>Documentation:<br/>
      virsh: Update description of lxc-enter-namespace (Guido Günther),<br/>
      virsh: Document the --timestamp option (Andrea Bolognani),<br/>
      docs: update to properly reflect meaning of fields in log filter (Laine Stump),<br/>
      virStorageVolWipe: Document that wiping journaled FS is useless (Michal Privoznik),<br/>
      storage: Add comments for backend APIs (John Ferlan)<br/>
      </li>

      <li>Portability:<br/>
      build: fix distdir with wireshark disabled (Cole Robinson),<br/>
      wireshark: Install into DESTDIR (Michal Privoznik),<br/>
      cgroup: don't include sys/mount.h if not needed (Jasper Lievisse Adriaanse),<br/>
      tools: Disable virt-login-shell on mingw (Michal Privoznik),<br/>
      sysconf: Include unistd.h (Michal Privoznik),<br/>
      Allow building lxc without virt-login-shell (Cédric Bosdonnat),<br/>
      build: disable vbox on cygwin (Eric Blake),<br/>
      virNetDevMacVLanTapSetup: Work around older systems (Michal Privoznik)<br/>
      </li>

      <li>Bug Fixes:<br/>
      security: Do not restore labels on device tree binary (Jiri Denemark),<br/>
      security: Do not restore kernel and initrd labels (Jiri Denemark),<br/>
      cgroup: Fix possible bug as a result of code motion for vcpu cgroup setup (John Ferlan),<br/>
      Revert "lxc_cgroup: Add check for NULL cgroup before AddTask call" (John Ferlan),<br/>
      Revert "util: cgroups do not implicitly add task to new machine cgroup" (John Ferlan),<br/>
      Revert "qemu: do not put a task into machine cgroup" (John Ferlan),<br/>
      virt-aa-helper: don't deny writes to readonly mounts (Cédric Bosdonnat),<br/>
      conf: Initialize 'deflate' for balloon parse XML (John Ferlan),<br/>
      wireshark: Drop DESTDIR from install path (Michal Privoznik),<br/>
      qemuProcessCleanupChardevDevice: Don't unlink NULL paths (Michal Privoznik),<br/>
      xenconfig: check return value of regcomp (Jim Fehlig),<br/>
      Xen: use correct domctl version in domaininfolist union (Jim Fehlig),<br/>
      testutils: Fix coverity warning with REGENERATE_OUTPUT (Cole Robinson),<br/>
      rpc: socket: Don't repeatedly attempt to launch daemon (Cole Robinson),<br/>
      rpc: socket: Explicitly error if we exceed retry count (Cole Robinson),<br/>
      rpc: Don't rewrite msg-&gt;fds on every read dispatch (Ben Gray),<br/>
      util: eliminate bogus error log in virNetDevVPortProfileGetStatus (Laine Stump),<br/>
      qemu: Set virtio channel state sooner (Michal Privoznik),<br/>
      virDomainGetTime: Deny on RO connections (Michal Privoznik),<br/>
      virDomainInterfaceAddresses: Allow API on RO connection too (Michal Privoznik),<br/>
      Don't clear libvirt-internal paths when parsing status XML (Martin Kletzander),<br/>
      virDomainMigrateUnmanagedParams: Don't blindly dereference @dconnuri (Michal Privoznik),<br/>
      Fix USB model defaults for ppc64 (Martin Kletzander),<br/>
      Avoid wild securityManager pointer in tests (Martin Kletzander),<br/>
      tests: Fix running schematests directly from topdir (Cole Robinson),<br/>
      qemu: Fix crash when defining XML with bogus emulator (Cole Robinson),<br/>
      tests.nwfilterebiptablestest: swap actual and expected (Pavel Hrdina),<br/>
      qemu: Fix NBD migration with default listenAddress (Jiri Denemark),<br/>
      virLogVMessage: Don't leak rawinitmsg (Michal Privoznik),<br/>
      virLogHostnameString: Don't leak hostname (Michal Privoznik),<br/>
      virsh: Interrupt *event --loop on disconnect (Jiri Denemark),<br/>
      virsh: Pass ctl to virshCatchDisconnect (Jiri Denemark),<br/>
      qemu: Don't bother user with libvirt-internal paths (Martin Kletzander),<br/>
      rbd: Do not append Ceph monitor port number 6789 if not provided (Wido den Hollander),<br/>
      rbd: Do not error out on a single image during pool refresh (Wido den Hollander),<br/>
      rbd: Only close RBD image if it has been opened (Wido den Hollander),<br/>
      fix LSB part of virtlogd runlevel script (Olaf Hering),<br/>
      virtlogd: fix lock file path in initscript (Michael Chapman),<br/>
      spec: chkconfig(8) and service(8) are in /sbin/, not /bin/ (Michael Chapman),<br/>
      spec: dbus-devel is needed as build dependency if polkit support is enabled (Michael Chapman),<br/>
      storage: Clean up error path for create buildPool failure (John Ferlan),<br/>
      libvirt-domain: fix dxml passing in virDomainMigrateToURI2 (Ján Tomko),<br/>
      schema: interleave domain name and uuid with other elements (Ján Tomko),<br/>
      qemu: Fix return value of qemuDomainGetBlockJobInfo (Michal Privoznik),<br/>
      storage: do not leak storage pool XML filename (Michael Chapman),<br/>
      qemu: do not leak NBD disk data in migration cookie (Michael Chapman),<br/>
      qemu: do not copy out non-existent block job info (Michael Chapman),<br/>
      vz: BUG: fix connecting hang in case of init failure (Maxim Nestratov),<br/>
      storage: Fix startup issue for logical pool (John Ferlan),<br/>
      qemu: Fix event generated for qemuDomainRevertToSnapshot (pause-&gt;run) (John Ferlan),<br/>
      storage: Check FS pool source during virStorageBackendFileSystemIsMounted (John Ferlan),<br/>
      qemuMonitorJSONEjectMedia: Don't leak stringified reply (Michal Privoznik),<br/>
      virNetDevMacVLanTapSetup: Drop @multiqueue argument (Michal Privoznik),<br/>
      qemu: Warn when using vhost-user without shared memory (Martin Kletzander),<br/>
      storage: Ignore block devices that fail format detection (John Ferlan),<br/>
      storage: Set ret = -1 on failures in virStorageBackendUpdateVolTargetInfo (John Ferlan),<br/>
      qemu: cgroup: Don't use priv-&gt;ncpupids to iterate domain vCPUs (Peter Krempa),<br/>
      qemu: cpu hotplug: Fix error handling logic (Peter Krempa),<br/>
      qemu: qemuDomainSetVcpusAgent: re-check agent before calling it the again (Peter Krempa),<br/>
      libxl: copy persistent domain definition while starting a guest (Pavel Hrdina),<br/>
      xen: fix timer bug found by updated test (Pavel Hrdina)<br/>
      </li>

      <li>Improvements:<br/>
      qemu: Print better warning in qemuAgentNotifyEvent (Yaniv Kaul),<br/>
      build: Kill tools/wireshark Makefiles (Cole Robinson),<br/>
      Expand $(wildcard) correctly (Michal Privoznik),<br/>
      qemu: add support of optional 'autodeflate' attribute (Dmitry Andreev),<br/>
      qemu: add capability check for memballoon 'deflate-on-oom' feature (Dmitry Andreev),<br/>
      conf: introduce 'autodeflate' attribute for memballoon device (Dmitry Andreev),<br/>
      rpc: socket: Minor cleanups (Cole Robinson),<br/>
      Add missing virxdrdefs.h include to log_protocol (Roman Bogorodskiy),<br/>
      virsh: Fix alignment in VIRSH_COMMON_OPT_CONFIG definition (Andrea Bolognani),<br/>
      virsh: Create macro for common "interface" option (John Ferlan),<br/>
      virsh: Create macro for common "network" option (John Ferlan),<br/>
      virsh: Create macros for common "vol" options (John Ferlan),<br/>
      virsh: Create macro for common "file" option (John Ferlan),<br/>
      virsh: Create macro for common "current" option (John Ferlan),<br/>
      virsh: Create macro for common "live" option (John Ferlan),<br/>
      virsh: Create macro for common "config" option (John Ferlan),<br/>
      virsh: Create macro for common "persistent" option (John Ferlan),<br/>
      virsh: Create macro for common "domain" option (John Ferlan),<br/>
      virsh: Adjustments for the VIRSH_COMMON_OPT_POOL (John Ferlan),<br/>
      virsh: Convert VSH_POOL_ macro to VIRSH_COMMON_OPT_ (John Ferlan),<br/>
      qemu: use enum when setting PCI "multi" value, not 0 or 1 (Laine Stump),<br/>
      qemu: auto-add a USB2 controller set for Q35 machines (Laine Stump),<br/>
      qemu: define virDomainDevAddUSBController() (Laine Stump),<br/>
      conf: add virDomainDefAddController() (Laine Stump),<br/>
      qemu: prefer 00:1D.x and 00:1A.x for USB2 controllers on Q35 (Laine Stump),<br/>
      qemu: don't assume slot 0 is unused/reserved. (Laine Stump),<br/>
      Unify int types handling in protocol files (Jasper Lievisse Adriaanse),<br/>
      Use struct sockpeercred when available (Jasper Lievisse Adriaanse),<br/>
      build: Kill docs/schemas/Makefile.am (Cole Robinson),<br/>
      build: Kill include/libvirt/Makefile.am (Cole Robinson),<br/>
      wireshark: Fix header of get_message_len() (Michal Privoznik),<br/>
      wireshark: Replace WIRESHARK_COMPAT with actual version comparison (Michal Privoznik),<br/>
      wireshark: s/tvb_length/tvb_captured_length/ (Michal Privoznik),<br/>
      wireshark: s/ep_alloc/wmem_alloc/ (Michal Privoznik),<br/>
      wireshark: s/proto_tree_add_text/proto_tree_add_item/ (Michal Privoznik),<br/>
      qemu: Introduce QEMU_CAPS_VSERPORT_CHANGE (Michal Privoznik),<br/>
      qemu: change qemuFindAgentConfig return type (Michal Privoznik),<br/>
      Fix LSB requirements in service script and sync them (Martin Kletzander),<br/>
      virsh: Add timestamps to network events (Andrea Bolognani),<br/>
      virsh: Add timestamps to QEMU monitor events (Andrea Bolognani),<br/>
      Provide parse flags to PostParse functions (Martin Kletzander),<br/>
      qemu: command: wire up usage of q35/ich9 disable s3/s4 (Cole Robinson),<br/>
      qemu: caps: check for q35/ICH9 disable S3/S4 (Cole Robinson),<br/>
      qemu: caps: Rename CAPS_DISABLE_S[34] to CAPS_PIIX_DISABLE_S[34] (Cole Robinson),<br/>
      qemu: capabilities: s/Pixx/Piix/g (Cole Robinson),<br/>
      examples: Use one top level makefile (Cole Robinson),<br/>
      cfg.mk: Drop period after filename for indent failures (Cole Robinson),<br/>
      virt-host-validate-common: Print warning on missing IOMMU (Michal Privoznik),<br/>
      tests: qemuxml2xml: Wire up QEMUCaps usage (Cole Robinson),<br/>
      tests: add genericxml2xmltest (Cole Robinson),<br/>
      tests: qemuxml2xml: drop early file loading (Cole Robinson),<br/>
      tests: Share domain XML2XML compare helper (Cole Robinson),<br/>
      tests: Add newlines with VIR_TEST_REGENERATE_OUTPUT (Cole Robinson),<br/>
      libxl: support vif outgoing bandwidth QoS (Jim Fehlig),<br/>
      xenconfig: support vif bandwidth in xm and xl parser and formatter (Jim Fehlig),<br/>
      xenconfig: support vif bandwidth in sexpr parser and formatter (Jim Fehlig),<br/>
      util: add missing newline (Laine Stump),<br/>
      tests: qemuxml2argv: Add tests for USB controller on q35 (Andrea Bolognani),<br/>
      tests: qemuxml2xml: Convert fprintf to VIR_TEST_DEBUG (Cole Robinson),<br/>
      qemu: Handle SecurityManagerVerify in post parse (Cole Robinson),<br/>
      qemu: Handle CanonicalizeMachine in post parse (Cole Robinson),<br/>
      qemu: domain: split out post parse default device handling (Cole Robinson),<br/>
      domain: separate out function for post parse timer validation (Cole Robinson),<br/>
      domain: separate out function for post parse console compat (Cole Robinson),<br/>
      qemu: Refactor qemuMigrationFinish (Jiri Denemark),<br/>
      qemu: Report more migration statistics (Jiri Denemark),<br/>
      qemu: Create a proper type for migration status enum (Jiri Denemark),<br/>
      qemu: Rename qemuMonitorMigrationStatus struct (Jiri Denemark),<br/>
      qemu: Reorder migration status enum (Jiri Denemark),<br/>
      tests.testutils: use virTestDifferenceFull in virtTestCompareToFile (Pavel Hrdina),<br/>
      tests.testutils: use VIR_TEST_REGENERATE_OUTPUT for virTestDifferenceFull (Pavel Hrdina),<br/>
      tests: add helper for VIR_TEST_REGENERATE_OUTPUT flag (Pavel Hrdina),<br/>
      xen: move virDomainDefPostParse to xenParseSxpr (Pavel Hrdina),<br/>
      Remove non-breaking space in comment (Martin Kletzander),<br/>
      virsh: Add timestamps to events (Jiri Denemark),<br/>
      virsh: Refactor event printing (Jiri Denemark),<br/>
      pci: Log debug messages when manipulating the inactive list (Andrea Bolognani),<br/>
      qemu: Add debug message to spice migration (Jiri Denemark),<br/>
      qemu: snapshot: Skip 'transaction' command when no disks are selected (Peter Krempa),<br/>
      qemu: Specify format= iff disk source is not empty (Michal Privoznik),<br/>
      conf: Rework code around 'append' attribute (Dmitry Mishin),<br/>
      Use tristate constants for new 'append' field (Dmitry Mishin),<br/>
      docs: Describe new 'append' attribute for chardevs source (Dmitry Mishin),<br/>
      Fix formatting for virDomainGetCPUStats docstring (Martin Kletzander),<br/>
      maint: update to latest gnulib (Eric Blake),<br/>
      util: reduce debug log in virPCIGetVirtualFunctions() (Laine Stump),<br/>
      util: improve error reporting in virNetDevVPortProfileGetStatus (Laine Stump),<br/>
      util: report the MAC address that couldn't be set (Laine Stump),<br/>
      rbd: Return VIR_STORAGE_FILE_RAW as format for RBD volumes (Wido den Hollander),<br/>
      tests: Make test-wrap-argv.pl executable (Michal Privoznik),<br/>
      tools: Include PIE_LDFLAGS at the correct place (Michal Privoznik),<br/>
      qemu: Process new 'append' attribute for char dev with output to a file (Dmitry Mishin),<br/>
      conf: Add new 'append' attribute for chardevs with file source (Dmitry Mishin),<br/>
      tests: add qemu 2.6 caps test (Dmitry Mishin),<br/>
      vz: support additional flags in domain undefine (Maxim Nestratov),<br/>
      vz: move prlsdkCleanupBridgedNet after domain deletion (Maxim Nestratov),<br/>
      vz: delete domains when undefine is called (Maxim Nestratov),<br/>
      hostdev: Emit debug messages while handling PCI hostdevs (Andrea Bolognani),<br/>
      hostdev: Only rollback detach of managed devices on error (Andrea Bolognani),<br/>
      hostdev: Mark PCI devices as inactive as they're detached (Andrea Bolognani),<br/>
      pci: Introduce virPCIStubDriver enumeration (Andrea Bolognani),<br/>
      pci: Remove 'reprobe' parameter from virPCIDeviceUnbind() (Andrea Bolognani),<br/>
      pci: Remove redundant parameter from virPCIDeviceBindToStub() (Andrea Bolognani),<br/>
      Revert "admin: Rename virAdmConnect to virAdmDaemon" (Erik Skultety),<br/>
      Xen: support maxvcpus in xm and xl config (Jim Fehlig),<br/>
      virsh: Add --delete-snapshots flag for undefine and vol-delete (John Ferlan),<br/>
      libvirt: Add virStorageVolDeleteFlags to virStorageVolDelete (John Ferlan),<br/>
      storage: Add virCheckFlags to virStorageBackendRBDDeleteVol (John Ferlan),<br/>
      lxc_cgroup: Add check for NULL cgroup before AddTask call (John Ferlan),<br/>
      Xen: remove xendConfigVersion from driver private struct (Jim Fehlig),<br/>
      Xen: xenconfig: remove xendConfigVersion from public sexpr functions (Jim Fehlig),<br/>
      Xen: xend: remove use of XEND_CONFIG_VERSION (Jim Fehlig),<br/>
      Xen: xen_driver: remove use of XEND_CONFIG_VERSION (Jim Fehlig),<br/>
      Xen: xenconfig: remove use of XEND_CONFIG_VERSION in xen_sxpr (Jim Fehlig),<br/>
      Xen: tests: use latest XEND_CONFIG_VERSION in xml2sexpr tests (Jim Fehlig),<br/>
      Xen: xenconfig: remove disks from '(image)' sexpr (Jim Fehlig),<br/>
      Xen: tests: use latest XEND_CONFIG_VERSION in sexpr2xml tests (Jim Fehlig),<br/>
      Xen: xenconfig: remove xendConfigVersion from public functions (Jim Fehlig),<br/>
      Xen: xenconfig: remove use of XEND_CONFIG_VERSION in xen_xm (Jim Fehlig),<br/>
      Xen: xenconfig: remove XEND_CONFIG_VERSION in common code (Jim Fehlig),<br/>
      Xen: tests: use latest XEND_CONFIG_VERSION in xm/xl tests (Jim Fehlig),<br/>
      Xen: tests: remove old xml2sexpr tests (Jim Fehlig),<br/>
      Xen: tests: remove old sexpr2xml tests (Jim Fehlig),<br/>
      Xen: tests: remove net-ioemu xm config test (Jim Fehlig),<br/>
      Xen: tests: remove old xm config tests (Jim Fehlig),<br/>
      virsh: Add build flags to pool-create[-as] and pool-start (John Ferlan),<br/>
      virsh: Create a macro for pool-define-as and pool-create-as options (John Ferlan),<br/>
      virsh: Create macro for "overwrite" and no-overwrite" options (John Ferlan),<br/>
      virsh: Create macro for "file" option (John Ferlan),<br/>
      virsh: Create macro for "pool" option (John Ferlan),<br/>
      storage: Add flags to allow building pool during create processing (John Ferlan),<br/>
      mark virDomainVirtioSerialAddrSetAddController as static. (Ján Tomko),<br/>
      Remove dead code from qemuDomainAttachControllerDevice (Ján Tomko),<br/>
      qemu_hotplug: remove qemuDomainAttachDeviceControllerLive (Ján Tomko),<br/>
      storage: Attempt to refresh volume after successful wipe volume (John Ferlan),<br/>
      virStorageBackendWipeLocal: remove bytes_wiped argument (Ján Tomko),<br/>
      storage: drop 'Extent' from virStorageBackendWipeExtentLocal (Ján Tomko),<br/>
      storage: move buffer allocation inside virStorageBackendWipeExtentLocal (Ján Tomko),<br/>
      storage: fix return values of virStorageBackendWipeExtentLocal (Ján Tomko),<br/>
      qemu: Replace Mlock with MemLock in function names (Andrea Bolognani),<br/>
      qemu: Allow qemuDomainAdjustMaxMemLock() to restore previous value (Andrea Bolognani),<br/>
      qemu: Reduce memlock limit after detaching PCI hostdev (Andrea Bolognani),<br/>
      qemu: Use qemuDomainAdjustMaxMemLock() (Andrea Bolognani),<br/>
      qemu: Add qemuDomainAdjustMaxMemLock() (Andrea Bolognani),<br/>
      process: Add virProcessGetMaxMemLock() (Andrea Bolognani),<br/>
      process: Allow virProcessPrLimit() to get current limit (Andrea Bolognani),<br/>
      qemu: Search all nodes for shared memory access (Martin Kletzander),<br/>
      pci: Use virPCIDeviceAddress in virPCIDevice (Andrea Bolognani),<br/>
      libxl: Use libxentoollog in preference to libxenctrl if available. (Ian Campbell),<br/>
      libxl: implement virDomainGetJobStats (Joao Martins),<br/>
      libxl: implement virDomainGetJobInfo (Joao Martins),<br/>
      storage: Add helper to compare logical pool def against pvs output (John Ferlan),<br/>
      storage: Create helper for virStorageBackendLogicalFindPoolSources (John Ferlan),<br/>
      storage: Refactor virStorageBackendFileSystemGetPoolSource (John Ferlan),<br/>
      storage: Create helper to generate FS pool source value (John Ferlan),<br/>
      qemu: add bootindex option to hostdev network interface commandline (Laine Stump),<br/>
      security_stack: remove extra Security from function names (Ján Tomko),<br/>
      security_selinux: remove extra Security from function names (Ján Tomko),<br/>
      security_dac: remove extra Security from function names (Ján Tomko),<br/>
      qemuMonitorJSONEjectMedia: don't stringify the replay at all (Pavel Hrdina),<br/>
      pci: Use 'addr' instead of 'dev' for virPCIDeviceAddressPtr (Andrea Bolognani),<br/>
      qemu cgroups: move new threads to new cgroup after cpuset is set up (Henning Schild),<br/>
      qemu: do not put a task into machine cgroup (Henning Schild),<br/>
      util: cgroups do not implicitly add task to new machine cgroup (Henning Schild),<br/>
      util: Fixup virnetdevmacvlan.h ATTRIBUTE_NONNULL's (John Ferlan),<br/>
      test: qemuxml2argv: Mock virMemoryMaxValue to remove 32/64 bit difference (Peter Krempa),<br/>
      qemu: Enable multiqueue for macvtaps (Michal Privoznik),<br/>
      virNetDevMacVLanCreateWithVPortProfile: Rework to support multiple FDs (Michal Privoznik),<br/>
      virNetDevMacVLanTapSetup: Allow enabling of IFF_MULTI_QUEUE (Michal Privoznik),<br/>
      virNetDevMacVLanTapSetup: Rework to support multiple FDs (Michal Privoznik),<br/>
      virNetDevMacVLanTapOpen: Rework to support multiple FDs (Michal Privoznik),<br/>
      virNetDevMacVLanTapOpen: Slightly rework (Michal Privoznik),<br/>
      virNetDevMacVLanCreateWithVPortProfile: Turn vnet_hdr into flag (Michal Privoznik),<br/>
      log: include hostname in initial log message (Daniel P. Berrange),<br/>
      storage: Add debug message (John Ferlan),<br/>
      storage: Handle readflags errors (John Ferlan),<br/>
      storage: Add readflags for backend error processing (John Ferlan),<br/>
      tests: scsihost: Use fakerootdir instead of fakesysfsdir (Andrea Bolognani),<br/>
      tests: Use more specific names for variables (Andrea Bolognani),<br/>
      tests: Rename LIBVIRT_FAKE_SYSFS_DIR to LIBVIRT_FAKE_ROOT_DIR (Andrea Bolognani),<br/>
      tests: cgroupmock: Use the temporary directory as fake root (Andrea Bolognani),<br/>
      tests: pcimock: Use the temporary directory as fake root (Andrea Bolognani),<br/>
      tests: pcimock: Remove check for fakesysfsdir (Andrea Bolognani),<br/>
      tests: scsihost: Don't set LIBVIRT_FAKE_SYSFS_DIR (Andrea Bolognani),<br/>
      qemu: driver: Refactor qemuDomainHelperGetVcpus (Peter Krempa),<br/>
      qemu: Add helper to retrieve vCPU pid (Peter Krempa),<br/>
      qemu: Replace checking for vcpu&lt;-&gt;pid mapping availability with a helper (Peter Krempa),<br/>
      qemu: Drop checking vcpu threads in emulator bandwidth getter/setter (Peter Krempa),<br/>
      qemu: cgroup: Remove now unreachable check (Peter Krempa),<br/>
      conf: Add helper to get pointer to a certain vCPU definition (Peter Krempa),<br/>
      conf: ABI: Split up and improve vcpu info ABI checking (Peter Krempa),<br/>
      conf: turn def-&gt;vcpus into a structure (Peter Krempa),<br/>
      qemu: refactor qemuDomainHotunplugVcpus (Peter Krempa),<br/>
      qemu: Refactor qemuDomainHotplugVcpus (Peter Krempa),<br/>
      qemu: cpu hotplug: Move loops to qemuDomainSetVcpusFlags (Peter Krempa),<br/>
      qemu: monitor: Remove weird return values from qemuMonitorSetCPU (Peter Krempa),<br/>
      qemu: Split up vCPU hotplug and hotunplug (Peter Krempa),<br/>
      qemu: Extract vCPU onlining/offlining via agent into a separate function (Peter Krempa),<br/>
      qemu: domain: Add helper to access vm-&gt;privateData-&gt;agent (Peter Krempa),<br/>
      conf: Turn def-&gt;maxvcpus into size_t (Peter Krempa),<br/>
      conf: Replace read accesses to def-&gt;vcpus with accessor (Peter Krempa),<br/>
      conf: Move vcpu count check into helper (Peter Krempa),<br/>
      conf: Replace writes to def-&gt;vcpus with accessor (Peter Krempa),<br/>
      conf: Replace read access to def-&gt;maxvcpus with accessor (Peter Krempa),<br/>
      conf: Add helper to check whether domain has offline vCPUs (Peter Krempa),<br/>
      conf: Extract update of vcpu count if maxvcpus is decreased (Peter Krempa),<br/>
      conf: Use local copy of maxvcpus in virDomainVcpuParse (Peter Krempa),<br/>
      conf: Replace writes to def-&gt;maxvcpus with accessor (Peter Krempa),<br/>
      xen: use virDomainDefPostParse for parsing XM/XL/SEXPR cofings (Pavel Hrdina),<br/>
      lxc: use virDomainDefPostParse for parsing LXC config string (Pavel Hrdina),<br/>
      vmware/vmx: use virDomainDefPostParse after parsing vmx config (Pavel Hrdina),<br/>
      virsh: rename vshCommandOptString to vshCommandOptStringQuiet (Ján Tomko),<br/>
      security_selinux: fix indentation (Ján Tomko),<br/>
      security_dac: check if virSecurityDACGetIds returns negative (Ján Tomko),<br/>
      </li>
    </ul>

  </body>
</html>
