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