As planned and after most of the clang detected problems got fixed (thanks Eric !) the new release is available at: ftp://libvirt.org/libvirt/ It's a mixed release, it includes a number of improvements as well as many bug fixes and a few new features: Features: - support various persistent domain updates (KAMEZAWA Hiroyuki) - improvements on memory APIs (Taku Izumi) - Add virDomainEventRebootNew (Matthias Bolte) - various improvements to libxl driver (Markus Groß) - Spice: support audio, images and stream compression (Michal Privoznik) Documentation: - fix missing VLAN id for Qbg example (Gerhard Stenzel) - docs: Document filesystem tag device (Cole Robinson) - maint: fix comment typos (Eric Blake) - Fix two out-of-date comments in LVM backend (Richard Laager) - docs: Serial and parallel device target ports actually start from 0 (Matthias Bolte) - maint: fix grammar errors (Eric Blake) - docs: document freecell --all (Eric Blake) - docs: remove "returns" word from beginning of lines (Jean-Baptiste Rouault) - docs: add an IPv6 address to network XML examples (Laine Stump) Portability: - build: fix getcwd portability problems (Eric Blake) - build: avoid test warnings on mingw (Eric Blake) - virsh: avoid compiler warning on mingw (Eric Blake) - build: Use pkg-config for libssh2 check (Jiri Denemark) - build: Ignore old audit library (Jiri Denemark) - build: fix 32-bit test failure (Eric Blake) - build: Fix problem of building Python bindings (Osier Yang) - build: fix 32-bit test failure (Eric Blake) - ppc: Enable starting of Qemu VMs on ppc host (Stefan Berger) - Migrate VMs between different-endianess hosts (Stefan Berger) - build: really fix mingw startup (Eric Blake) - build: fix mingw build (Eric Blake) - do not build libvirt_iohelper when building without libvirtd (Wen Congyang) - virsh: fix mingw startup (Eric Blake) - build: avoid compiler warning on cygwin (Eric Blake) - Fix build for older gcc (Jim Fehlig) - Don't try to enable stack protector on Win32 (Daniel P. Berrange) Bug Fixes: - storage: avoid null deref and leak on failure (Eric Blake) - esx: Avoid null dereference on error in esxDomainGetInfo (Matthias Bolte) - remote: avoid null dereference on error (Eric Blake) - cgroup: avoid leaking a file (Eric Blake) - virsh: avoid null pointer dereference (Eric Blake) - pci: fix null pointer dereference (Eric Blake) - qemu: avoid null pointer dereference (Eric Blake) - tests: avoid null pointer dereference (Eric Blake) - Fix disability to run on systems with no PCI bus (Michal Privoznik) - virsh: fix regression in log to file (Supriya Kannery) - nwfilter: Fix memory leak in the ebtables subdriver (Matthias Bolte) - qemu: Fix qemuDomainModifyDeviceFlags leaking the caps bitmap (Matthias Bolte) - Fix memory leak in __virExec (Matthias Bolte) - hash: fix memory leak regression (Eric Blake) - Xen: Do not generate net ifname if domain is inactive (Jim Fehlig) - xen: check if device is assigned to guest before reattaching (Yufang Zhang) - util: Initialize hooks at daemon shutdown if no hooks defined (Osier Yang) - fix virsh's regression (Wen Congyang) - release PCI address only when we have ensured it successfully (Wen Congyang) - free memory properly in cleanup patch (Hu Tao) - free buf content when vsnprintf() failed (Wen Congyang) - esx: Fix dynamic dispatch for CastFromAnyType functions (Matthias Bolte) - Make crash and live flags mutually exclusive in virDomainCoreDump (Mark Wu) - Fix small memory leaks in config parsing related functions (Matthias Bolte) - daemon: Don't try to free an unsigned int in error paths (Matthias Bolte) - Fix QEMU tunnelled migration FD handling (Daniel P. Berrange) - Remove artificial minimum limit for guest memory (Jiri Denemark) - fix tunnelled migration's regression (Wen Congyang) - qemu: fix the check of virDomainObjUnref()'s return value (Wen Congyang) - Fix checking of return codes in dispatcher (Daniel P. Berrange) - qemu: avoid qemu_driver being unlocked twice when virThreadPoolNew() failed (Wen Congyang) - virsh: fix regression in parsing optional integer (Eric Blake) - phyp: avoid memory leaks in command values (Eric Blake) - phyp: avoid memory leak on failure (Eric Blake) - phyp: avoid a logic bug (Eric Blake) - free cpumask of vcpupinDef (Hu Tao) - network: Fix NULL dereference during error recovery (Michal Privoznik) - Add missing checks for QEMU domain state in tunables APIs (Daniel P. Berrange) - phyp: Fix too small buffer allocation in phypAttachDevice (Matthias Bolte) - phyp: Don't overwrite error from virDomainDeviceDefParse by OOM error (Matthias Bolte) - phyp: Don't try to use a string from a failed virAsprintf (Matthias Bolte) - phyp: Remove stack allocating a 4kb volume key and fix related memory leaks (Matthias Bolte) - qemu: fix a dead-lock problem (Hu Tao) - util: Fix crash when removing entries during hash iteration (Jiri Denemark) - Fix possible infinite loop in remote driver (Michal Privoznik) - qemu: Remove the managed state file only if restoring succeeded (Osier Yang) - reattach pci devices when qemuPrepareHostdevPCIDevices() failed (Wen Congyang) - reattach pci device when pciBindDeviceToStub() failed (Wen Congyang) - remove devices from driver activePciHostdevs when qemuPrepareHostdevPCIDevices() failed (Wen Congyang) - pci: avoid invalid free, init path to NULL (Wen Congyang) - qemu: Support for overriding NPROC limit (Jiri Denemark) - qemu: Always reserves slot 0x02 for primary VGA. (Osier Yang) - Fix typo in systemtap tapset directory name (Daniel P. Berrange) - qemu: Ignore unusable binaries (Jiri Denemark) Improvements: - maint: detect clang 2.9 (Eric Blake) - qemu: update qemuCgroupControllerActive signature (Eric Blake) - lxc: report correct error (Eric Blake) - libxl: avoid compiler warning (Eric Blake) - storage: use virCommand to avoid compiler warning (Eric Blake) - tests: Lower stack usage below 4096 bytes (Matthias Bolte) - tests: Update valgrind suppressions file (Matthias Bolte) - tests: simplify common setup (Eric Blake) - network: fix return value of hostsFileWrite (Laine Stump) - libvirt/qemu - support persistent attach/detach disks (KAMEZAWA Hiroyuki) - libvirt/qemu - support persistent modification of devices (KAMEZAWA Hiroyuki) - util: Simplify hash implementation (Jiri Denemark) - tests: More unit tests for internal hash APIs (Jiri Denemark) - Move call to virReportOOMError into virFileBuildPath (Matthias Bolte) - build: use gnulib passfd for simpler SCM_RIGHTS code (Eric Blake) - qemu: Add flags checking in DomainCoreDump (Jiri Denemark) - Make sure DNSMASQ_STATE_DIR exists (Guido Günther) - build: make VIR_FREE do some type checking (Eric Blake) - threads: add one-time initialization support (Eric Blake) - esx: Add a wrapper for shared CURL handles (Matthias Bolte) - esx: Move CURL handling code to it's own type (Matthias Bolte) - daemon: Honor error variable name change in the generator (Matthias Bolte) - libvirt/qemu - clean up UpdateDevice for consolidation. (KAMEZAWA Hiroyuki) - libvirt/qemu - clean up At(De)tachDeviceFlags() for consolidation. (KAMEZAWA Hiroyuki) - libvirt/qemu - Centralize device modification in the more flexible APIs (KAMEZAWA Hiroyuki) - Add support for s390(x) cpu options parsing (Michal Privoznik) - PHYP: Adding reboot domain function (Eduardo Otubo) - nwfilter: no support for direct type of interface (Stefan Berger) - Add cputune support to libxl driver (Markus Groß) - Update and sort msg_gen_function list and mark unmarked messages (Matthias Bolte) - Write error check conditionals in more compact form for dispatcher (Daniel P. Berrange) - Merge all returns paths from dispatcher into single path (Daniel P. Berrange) - Experimental libvirtd upstart job (Alan Pevec) - enhance processWatchdogEvent() (Wen Congyang) - xen: Replace statsErrorFunc with a macro (Matthias Bolte) - tests: Unit tests for internal hash APIs (Jiri Denemark) - build: include esx_vi.generated.* into dist file (Wen Congyang) - tests: test recent virsh option parsing changes (Eric Blake) - virsh: list required options first (Eric Blake) - phyp: use consistent return string handling (Eric Blake) - maint: use lighter-weight function for straight appends (Eric Blake) - libvirt-guests: implement START_DELAY (Alexander Todorov) - network: truncate bridges' dummy tap device names to IFNAMSIZ (15) chars (Laine Stump) - Introduce virDomainChrDefNew() (Michal Novotny) - esx: Make the parsed URI part of the private connection data (Matthias Bolte) - esx: Mark error message in macros for translation (Matthias Bolte) - esx: Extend VI generator to cover managed object types (Matthias Bolte) - esx: Cleanup and refactor CastFromAnyType macros (Matthias Bolte) - esx: Cleanup VI generator code (Matthias Bolte) - phyp: Reduce code duplication in error and success paths (Matthias Bolte) - Replace REMOTE_DEBUG with VIR_DEBUG in daemon dispatcher (Daniel P. Berrange) - Add missing checks for whether the connection is open in dispatcher (Daniel P. Berrange) - PHYP: Adding network interface (Eduardo Otubo) - xen: Remove PATH_MAX sized stack allocation from block stats code (Matthias Bolte) - setmaxmem: add the new options to "virsh setmaxmem" command (Taku Izumi) - maxmem: implement virDomainSetMaxMemory API of the qemu driver (Taku Izumi) - maxmem: introduces VIR_DOMAIN_MEM_MAXIMUM flag (Taku Izumi) - nwfilters: support for TCP flags evaluation (Stefan Berger) - setmem: add --current option to virsh setmem command (Taku Izumi) - setmem: add VIR_DOMAIN_MEM_CURRENT support to qemu (Taku Izumi) - setmem: introduce VIR_DOMAIN_MEM_CURRENT flag (Taku Izumi) - build: Install libxenlight log dir (Jim Fehlig) - Add domainSet/GetSchedulerParameters to libxl driver (Markus Groß) - rename pciUnBindDeviceFromStub() to pciUnbindDeviceFromStub() and float it up (Wen Congyang) - Add domainIsUpdated to libxl driver (Markus Groß) - Change locking for udev monitor and callbacks (Serge Hallyn) - Improve SCSI volume key generation (Daniel P. Berrange) - qemu: Rewrite LOOKUP_PTYS macro into a function (Jiri Denemark) - Enable use of -Wold-style-definition compiler flag (Daniel P. Berrange) - Enable use of -Wmissing-noreturn (Daniel P. Berrange) - Enable -Wmissing-format-attribute warning (Daniel P. Berrange) - Use gnulib's manywarnings and warnings modules (Daniel P. Berrange) - Use virBufferPtr for sexpr2string instead of manual buffer handling (Matthias Bolte) - xend: Remove 4kb stack allocation (Matthias Bolte) - uml: Remove PATH_MAX sized stack allocation from /proc parsing code (Matthias Bolte) - storage: Remove PATH_MAX sized stack allocation from iSCSI backend (Matthias Bolte) - qemu: Remove PATH_MAX sized stack allocation used in commandline building (Matthias Bolte) - Remove PATH_MAX sized stack allocation from virFileOpenTtyAt (Matthias Bolte) - openvz: Remove several larger stack allocations (Matthias Bolte) - daemon: Remove 4kb stack allocation of security label (Matthias Bolte) - virsh: Remove two 4kb stack allocations (Matthias Bolte) - Use virFileAbsPath instead of manually creating the absolute path (Matthias Bolte) - xenxs: Remove PATH_MAX sized stack allocation in XM script parsing (Matthias Bolte) - sasl: Remove stack allocated 8kb temporary buffers (Matthias Bolte) - qemu: Use heap allocated memory to read the monitor greeting (Matthias Bolte) - phyp: Remove 16kb stack allocation (Matthias Bolte) - virt-aa-helper: Remove PATH_MAX sized stack allocations (Matthias Bolte) - ebtables: Remove PATH_MAX sized stack allocation (Matthias Bolte) - pci: Remove PATH_MAX sized stack allocations (Matthias Bolte) - Remove PATH_MAX sized stack allocations related to virFileBuildPath (Matthias Bolte) - vmx: Use case-insensitive compare functions for all content (Matthias Bolte) - vmx: Support persistent CPU shares (Matthias Bolte) - Add autostart support to libxl driver (Markus Groß) - Allow relative path for qemu backing file (Jesse Cook) - build: detect potentential uninitialized variables (Eric Blake) Cleanups: - esx: Disable performance counter queries in esxDomainGetInfo (Matthias Bolte) - esx: Remove dead store in esxUtil_ParseDatastorePath (Matthias Bolte) - util: remove dead assignment (Eric Blake) - qemu: remove dead assignment (Eric Blake) - qemu: silence clang false positives (Eric Blake) - tests: suppress more valgrind situations (Eric Blake) - tests: avoid compiler warning (Eric Blake) - qemu: fix uninitialized variable warning (Christophe Fergeau) - build: fix syntax-check failure (Eric Blake) - virsh: nuke use of TRUE and FALSE (Eric Blake) - phyp: another simplification (Eric Blake) - maint: ignore built file (Eric Blake) - Change some variable names to follow standard in daemon dispatcher (Daniel P. Berrange) - Remove curly braces on all single-line conditional jumps in dispatcher (Daniel P. Berrange) - Remove virConnectPtr from virRaiseErrorFull (Matthias Bolte) - phyp: prefer memcpy over memmove when legal (Eric Blake) - phyp: use consistent style for labels (Eric Blake) - phyp: more return handling cleanup (Eric Blake) - esx: Fix gcc 4.6 warning about initialized but unused variables (Matthias Bolte) - maint: silence cppi warnings (Eric Blake) - Fix gcc 4.6 warnings in vbox_tmpl.c (Christophe Fergeau) - Fix gcc 4.6 warnings (Christophe Fergeau) - Remove C99 variable declare in PHYP network driver (Daniel P. Berrange) - Standard on error variable name in libvirtd dispatcher (Daniel P. Berrange) - Remove all whitespace before function brackets in daemon dispatcher (Daniel P. Berrange) - docs: tweak virsh restore warning (Eric Blake) - setmaxmem: remove the code to invoke virDomainSetMemory in cmdSetmaxmem (Taku Izumi) - build: fix gitignore sorting (Eric Blake) - tests: fix recent test failures (Eric Blake) - libxl: avoid compiler warning (Eric Blake) - Avoid compiler warnings about int to void * casts (Daniel P. Berrange) - Remove acinclude.m4 file (Daniel P. Berrange) - Remove possible uninitialized variable in openvz driver (Daniel P. Berrange) Thanks to everybody who helped with this release in any way, bug reports, documentation, patches or features ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/