After heroic efforts in the last couple of weeks it is out ! That's by large the release packed with most new features ever, and the changelog is simply huge. I hope we didn't introduce too many bugs, but we certainly fixed a very large amount in the first place ! Tarball is available as usual from ftp://libvirt.org/libvirt/ And I won't try to sumarize the following ! Features: - esx: Add domain snapshot support (Matthias Bolte) - Snapshot API framework. (Chris Lalancette) - Add managed save API entry points (Daniel Veillard) - timer subselection for domain clock (Laine Stump) - Add hook utilities (Daniel Veillard) - cpuUpdate() for updating guest CPU according to host CPU (Jiri Denemark) - Network filtering API (Stefan Berger) - Introduce a new virDomainUpdateDeviceFlags public API (Daniel P. Berrange) - Introduce a new public API for domain events (Daniel P. Berrange) - Public virDomainMigrateSetMaxDowntime API (Jiri Denemark) - Add public API for volume wiping (David Allan) - xenapi: Initial commit of the new driver (Sharadha Prabhakar) Documentation: - Add documentation for synchronous hooks (Daniel Veillard) - Small fixes to virsh man page (Luiz Capitulino) - Avoid using multicast addresses for Ethernet MAC examples (redshift) - Fix unterminated B<...> in virsh man page (Jiri Denemark) - Document all options of virsh dumpxml (Jiri Denemark) - virsh: improve documentation (Eric Blake) - Document snapshot virsh commands in the man page. (Chris Lalancette) - Website documentation for the snapshot XML. (Chris Lalancette) - website: Add archive link for libvirt-users list (Matthias Bolte) - virsh: improve man page (Eric Blake) - Mention direct device support since 0.7.7 in docs (Stefan Berger) - esx: Improve documentation about remote URIs (Matthias Bolte) - doc: fix typos in hacking.html.in; mark HACKING as read-only (Jim Meyering) - doc: fix more typos in HACKING (Jim Meyering) - hacking: add a section on preprocessor conventions (Eric Blake) - hacking: fix typos (Eric Blake) - Update hacking.html.in (David Allan) Portability: - Fix Win32 portability problems (Daniel P. Berrange) - This patch fixes some compilation issues for the RHEL5 build (Stefan Berger) - util: Add stubs for some functions on Windows (Matthias Bolte) - Add HAVE_PTHREAD_H guard for pthread_sigmask (Matthias Bolte) - bootstrap: Enable copy-mode for MinGW builds (Matthias Bolte) - util: Handle lack of (f)chmod and (f)chown on Windows (Matthias Bolte) - bootstrap: Remove rsync from buildreq list (Matthias Bolte) - Make sure virtTestCaptureProgramOutput has a body on Windows (Matthias Bolte) - Fix export of virConnectAuthPtrDefault for MinGW builds (Matthias Bolte) - Make sure uid_t and gid_t are available (Matthias Bolte) Bug Fixes: - nwfilter: Fix memory leak on daemon init and shutdown (Stefan Berger) - More event callback fixes (Daniel P. Berrange) - Fix error in nwfilter test driver (Stefan Berger) - qemu: catch cdrom change error (Ryan Harper) - nwfilter: fix for directionality of ICMP traffic (Stefan Berger) - Fix CPU comparison for x86 arch (Jiri Denemark) - Don't ignore guest CPU selection when unsupported by HV (Jiri Denemark) - domain_event.c: don't deref NULL on an OOM error path (Jim Meyering) - nwfiler: fix due to non-symmetric src mac address match in iptables (Stefan Berger) - qemu_driver.c: don't close an arbitrary file descriptor (Jim Meyering) - Add VIR_DOMAIN_XML_INACTIVE flag when parsing domain XML (Jamie Strandboge) - virt-aa-helper should not fail if profile was removed (Jamie Strandboge) - Do nor clear caps when invoking virt-aa-helper (Jamie Strandboge) - virterror.c: avoid erroneous case "fall-through" (Jim Meyering) - Increase the number of available VNC ports. (Chris Lalancette) - Only assign newDef when we have a new def. (Chris Lalancette) - nwfilter: Fix random index in virNWFilterRuleDefDetailsFormat (Matthias Bolte) - xenapi: Fix uninitialized variable warning (Matthias Bolte) - Add a missing break statement to nwfilter errors. (Chris Lalancette) - VBox: Fix use of uninitialized value (Jiri Denemark) - Allow domain disk images on root-squash NFS to coexist with security driver. (Laine Stump) - Don't use virFileReadLimFD in qemuDomainRestore. (Chris Lalancette) - nwfilter's XML parser bug fixes (Stefan Berger) - ESX test case needs '/' in interface name (Stefan Berger) - Fix linker errors in proxy (Matthias Bolte) - virConnectGetLibVersion: Avoid error message on success. (Paolo Smiraglia) - Fix daemon hook script initialization (Daniel Veillard) - Fix QEMU cpu affinity at startup to include all threads (Daniel P. Berrange) - Fix "make check" run requesting authentication (Stefan Berger) - Don't replace persistent domain config with migrated config (Jiri Denemark) - Fix build break (David Allan) - esx: Make the conf parser compare names case insensitive in VMX mode (Matthias Bolte) - vbox: Fix segfault on empty device source (Matthias Bolte) - python example: poll(-0.001) does not sleep forever (Philipp Hahn) - Fix error reporting when parsing CPU XML strings (Jiri Denemark) - virDiskNameToIndex: ignore trailing digits (Jim Meyering) - esx: Fix potential memory leak in esxVI_BuildFullTraversalSpecItem (Matthias Bolte) - Avoid libvirtd crash when cgroups is not configured on host (Jim Fehlig) - security: selinux: Fix crash when releasing non-existent label (Cole Robinson) - Don't crash without a security driver (Guido Günther) - qemu: Fix FD leak in qemudStartVMDaemon (Matthias Bolte) - util: ensure virMutexInit is not recursive (Eric Blake) - Fix logroate rpm build breakage (Daniel Veillard) - Fix LSB compliance of init script (Daniel Veillard) - python: Fix networkLookupByUUID (Philip Hahn) - Fix make dist with XenAPI changes (Cole Robinson) - xenapi: Don't leak url and caps in case of error (Matthias Bolte) - xenapi: Check for NULL before accessing the scheme (Matthias Bolte) - xenapi: Request a username if there is non in the URI (Matthias Bolte) - xenapi: Check for valid private data in xenapiSessionErrorHandle (Matthias Bolte) - Use fsync() at the end of file allocation instead of O_DSYNC (Jiri Denemark) - security: Set permissions for kernel/initrd (Cole Robinson) - qemu: Fix USB by product with security enabled (Cole Robinson) - Make nodeGetInfo report the correct number of NUMA nodes. (Chris Lalancette) - Fix crash in virsh after bogus command (Chris Lalancette) - Fix virsh command 'cd' (Chris Lalancette) - Fix hang in qemudDomainCoreDump. (Chris Lalancette) - Make sure qemudDomainSetVcpus doesn't hang. (Chris Lalancette) - Fix a JSON CPU information bug. (Chris Lalancette) - Free resources on error in udev startup (David Allan) - Fix up nodeinfo parsing code. (Chris Lalancette) - Wipe nodeinfo structure before filling it (Jiri Denemark) - macvtap build detection fix (Stefan Berger) - Fix virDomainGetXMLDesc cache settings output (Soren Hansen) - Fix locking in qemudDomainMemoryStats (Adam Litke) - qemu restore: don't let corrupt input provoke unwarranted OOM (Jim Meyering) - virFileReadLimFD: diagnose maxlen <= 0, rather than passing it on... (Jim Meyering) - xen: don't let bogus packets trigger over-allocation and segfault (Jim Meyering) Improvements: - Rename virsh "revert-to-snapshot" to "snapshot-revert" (Chris Lalancette) - nwfilter: Process DHCP option to determine whether packet is a DHCP_OFFER (Stefan Berger) - Add enospace option to qemu disk error policy (David Allan) - nwfilter: More XML parser test cases (Stefan Berger) - remote: Replace some virRaiseError with remoteError (Matthias Bolte) - Generate libvirt.def from libvirt.syms (Matthias Bolte) - Fix up python bindings for new event callbacks (Daniel P. Berrange) - esx: Allow 'lsisas1068' as SCSI controller type (Matthias Bolte) - esx: Report an error for invalid arguments in esxList(Defined)Domains (Matthias Bolte) - nwfilter: Support for learning a VM's IP address (Stefan Berger) - Properly advertise cpuselection guest capability (Jiri Denemark) - Update of the apparmor regression tests (Jamie Strandboge) - Improve the apparmor example (Jamie Strandboge) - Improve virt-aa-helper to handle SDL graphics and cleanups (Jamie Strandboge) - Adjust virt-aa-helper to handle pci devices (Jamie Strandboge) - Add backingstore support to apparmor (Jamie Strandboge) - build: avoid autogen on 'make clean' (Eric Blake) - Add filter schema for nwfilter XML, extend domain XML schema (Stefan Berger) - Add filter schema for nwfilter XML, extend domain XML schema (Stefan Berger) - nwfilter: Fix instantiated layer 2 rules for 'inout' direction (Stefan Berger) - Better error reporting in virsh. (Chris Lalancette) - Snapshot virsh implementation. (Chris Lalancette) - Snapshots for VBox (Jiri Denemark) - Snapshot QEMU driver. (Chris Lalancette) - Snapshot internal methods. (Chris Lalancette) - xenapi: Add managedsave entries to the driver struct (Matthias Bolte) - Add a managedsave command to virsh (Daniel Veillard) - Implement managed save operations for qemu driver (Daniel Veillard) - Implement remote protocol for managed save (Daniel Veillard) - build: improve check for out-of-date .gnulib submodule (Eric Blake) - optimizes the validation of the name of an interface (Stefan Berger) - adds a couple of test cases for the XML parsing test suite (Stefan Berger) - build: import latest gnulib (Eric Blake) - Changes to clock timer XML to match final design. (Laine Stump) - Keep build quiet for generated file (Daniel P. Berrange) - Keep track of guest paused state after disk IO / watchdog events (Daniel P. Berrange) - virsh: add 'exit' as an alias for 'quit' (Eric Blake) - maint: mark xenapiSessionErrorHandler messages for translation (Jim Meyering) - Blank out invalid interface names with escaped letters etc. (Stefan Berger) - esx: Generate most SOAP mapping and improve inheritance handling (Matthias Bolte) - Distribute nwfilter xml files and add them to rpm (Daniel Veillard) - Make sure nwfilter headers are part of distribution (Daniel Veillard) - maint: show which compiler warning triggered (Eric Blake) - build: automate the rerun of autogen.sh (Eric Blake) - makes the entries in the int-2-string maps more readable (Stefan Berger) - Add ip6tables support for IPv6 filtering (Stefan Berger) - Add support for so-far missing protocols for iptables filtering (Stefan Berger) - Implement the qemu-kvm backend of clock timer elements (Laine Stump) - Add flags to indicate presence of timekeeping-related qemu options (Laine Stump) - Add timer element to domain schema (Laine Stump) - virsh: support VISUAL, and allow metacharacters in EDITOR (Eric Blake) - Add dummy nwfilter driver to test driver (Stefan Berger) - Add script hook support to the LXC driver (Daniel Veillard) - Add script hook support to the QEmu driver (Daniel Veillard) - Add the script hook support to the libvirt daemon (Daniel Veillard) - Add an error module and message for the hooks subsystem (Daniel Veillard) - Export virPipeReadUntilEOF internally (Daniel Veillard) - Introduce UPDATE_CPU flag for virDomainGetXMLDesc (Jiri Denemark) - Helper function for making a copy of virCPUDefPtr (Jiri Denemark) - filter new files through cppi, so syntax-check passes once again (Jim Meyering) - Add disk error policy to domain XML (David Allan) - build: don't lose prior configure args on autogen.sh (Eric Blake) - build: update gnulib (Eric Blake) - Add some examples filters (Stefan Berger) - Extensions for iptables rules (Stefan Berger) - Add IPv6 support for the ebtables layer (Stefan Berger) - Add qemu support (Stefan Berger) - Core driver implementation with ebtables support (Stefan Berger) - Add XML parser extensions for network filtering (Stefan Berger) - Add virsh support for new CLI commands (Stefan Berger) - Definition of the wire format, RPC client & server (Stefan Berger) - Add Network filtering internal API (Stefan Berger) - Add Network filtering public API (Stefan Berger) - Add recursive locks (Stefan Berger) - Implement VNC password change in QEMU (Daniel P. Berrange) - Allow parsing <graphics> in device XML (Daniel P. Berrange) - Introduce a update-device command in virsh (Daniel P. Berrange) - Implement virDomainUpdateDeviceFlags API in all drivers with media change (Daniel P. Berrange) - Remote protocol impl for virDomainUpdateDeviceFlags (Daniel P. Berrange) - Add domain events for graphics network clients (Daniel P. Berrange) - Add support for an explicit IO error event (Daniel P. Berrange) - Add support for an explicit watchdog event (Daniel P. Berrange) - Add support for an explicit RTC change event (Daniel P. Berrange) - Add support for an explicit guest reboot event (Daniel P. Berrange) - Rename domain lifecycle event message (Daniel P. Berrange) - Convert domain events example to new API (Daniel P. Berrange) - Remote driver & daemon impl of new event API (Daniel P. Berrange) - Support new event register/deregister APis in all drivers except remote (Daniel P. Berrange) - Add new internal domain events APIs for handling other event types (Daniel P. Berrange) - Refactor domain events to handle multiple event types (Daniel P. Berrange) - Make internal domain events struct definitions private (Daniel P. Berrange) - tests: teach syntax-check that virDomainDefFree has free-like semantics (Jim Meyering) - Add entry point logging for cpu functions (Jiri Denemark) - build: suppress distracting build output (Jim Meyering) - maint: add syntax-check rule to prohibit use of test's -a operator (Jim Meyering) - tests: shell script portability and clean-up (Jim Meyering) - tests: Don't add extra padding if counter mod 40 is 0 (Matthias Bolte) - Use common XML parsing functions (Jiri Denemark) - Introduce XML parsing utility functions (Jiri Denemark) - virDomainDiskDefAssignAddress: return int, not void (Jim Meyering) - tests: do not use the ":disk" suffix in sample xml input (Jim Meyering) - util: Make some conditional symbols unconditional (Matthias Bolte) - Export conditional state driver symbols only when they are defined (Matthias Bolte) - esx: Add esxVI_LookupVirtualMachineByName (Matthias Bolte) - esx: Generate method mappings via macros (Matthias Bolte) - Add migrate-setmaxdowntime command to virsh (Jiri Denemark) - Implement virDomainMigrateSetMaxDowntime in qemu driver (Jiri Denemark) - Implement virDomainMigrateSetMaxDowntime in remote driver (Jiri Denemark) - Wire protocol and dispatcher for virDomainMigrateSetMaxDowntime (Jiri Denemark) - Internal driver API for virDomainMigrateSetMaxDowntime (Jiri Denemark) - Virsh support for vol wiping (David Allan) - Simplified version of volume wiping based on feedback from the list. (David Allan) - Implement remote bits for vol wiping (David Allan) - Implement the public API for vol wiping (David Allan) - Define the internal driver API for vol wiping (David Allan) - Support vhost-net mode at qemu startup for virtio network devices (Laine Stump) - maint: enforce recent N_ usage (Eric Blake) - Allow suspend during live migration (Jiri Denemark) - do not require two ./autogen.sh runs to permit "make" (Jim Meyering) - esx: Move username and password helper functions to authhelper.c (Matthias Bolte) - Use WARN_CFLAGS when compiling virsh.c (Jiri Denemark) - qemu: Add some debugging at domain startup (Cole Robinson) - qemu: pass the information when disks are read-only (Daniel Veillard) - macvtap: Only export symbols if support is enabled (Matthias Bolte) - Only use the numa functions when they are available. (Chris Lalancette) - Allow devices without a parent (Ed Swierk) - build: change to gnulib module list should rerun bootstrap (Eric Blake) - build: enforce preprocessor indentation (Eric Blake) - build: update gnulib submodule to newer (but not latest) (Jim Meyering) - Make virsh reconnect when losing connection (Daniel Veillard) - Change logrotate to be per-hypervisor logs (Daniel Veillard) - build: consistently indent preprocessor directives (Eric Blake) - virsh: use N_ rather than gettext_noop (Eric Blake) - virsh: fix existing N_ uses (Eric Blake) - Get thread and socket information in virsh nodeinfo. (Chris Lalancette) - Eliminate large stack buffer in doTunnelSendAll (Laine Stump) - build: consistently use C99 varargs macros (Eric Blake) Cleanups: - Fix some cppi prepocessor indentation issues (Daniel Veillard) - Cleanup the msg_gen_function list in cfg.mk (Matthias Bolte) - remote: Remove virConnectPtr from error/errorf (Matthias Bolte) - Remove undefined symbols from symbols file (Matthias Bolte) - Add missing nwfilter_learnipaddr.c to POTFILES.in (Daniel P. Berrange) - Avoid searching for windres when not building for Windows (Diego Elio Pettenò) - Executable does not belong into repository. (Stefan Berger) - xenXMDomainDefineXML: remove dead store and useless/leaky virGetDomain (Jim Meyering) - createRawFileOpHook: avoid dead stores (Jim Meyering) - qemudDomainGetSecurityLabel: avoid dead store to "type" (Jim Meyering) - Cleanup x86Compute() (Jiri Denemark) - qemuDomainSnapshotLoad: avoid dead store (Jim Meyering) - maint: s/initialis/initializ/ (Eric Blake) - Fix 'avialable' typo (Matthias Bolte) - macvtap: Remove virConnectPtr from ReportError (Matthias Bolte) - phyp: Remove virConnectPtr from PHYP_ERROR (Matthias Bolte) - esx: Mark error messages for translation (Matthias Bolte) - vbox: Mark all error messages for translation (Matthias Bolte) - Clarify an error message in setmem. (Chris Lalancette) - Fix up comments for isEncrypted, isSecure, domainIsActive, and domainIsPersistent. (Chris Lalancette) - Fix compiler warning about unused conn parameter (Matthias Bolte) - openvz: Remove virConnectPtr from openvzError (Matthias Bolte) - one: Remove virConnectPtr from oneError (Matthias Bolte) - uml: Remove virConnectPtr from umlReportError (Matthias Bolte) - Remove virConnectPtr from eventReportError (Matthias Bolte) - Remove virConnectPtr from virLibConnError (Matthias Bolte) - xen: Remove virConnectPtr from xenUnifiedError (Matthias Bolte) - Remove virConnectPtr from nodeReportError (Matthias Bolte) - netcf: Remove virConnectPtr from interfaceReportError (Matthias Bolte) - xen: Remove virConnectPtr from virXenInotifyError (Matthias Bolte) - xen: Remove virConnectPtr from virXenStoreError (Matthias Bolte) - xen: Remove virConnectPtr from virXenError/virXenErrorFunc (Matthias Bolte) - xen: Remove virConnectPtr from virXMError (Matthias Bolte) - xen: Remove virConnectPtr from virXendError (Matthias Bolte) - proxy: Remove virConnectPtr from virProxyError (Matthias Bolte) - vbox: Remove virConnectPtr from vboxError (Matthias Bolte) - test: Remove virConnectPtr from testError (Matthias Bolte) - Remove unnecessary trailing \n in log messages (Matthias Bolte) - Fix compiler warning about non-literal format string (Matthias Bolte) - removes the virConnectPtr parameter where not necessary (Stefan Berger) - Clarified error message (David Allan) - Eliminate compiler warning about non-const format string (Laine Stump) - Get rid of the regular expressions (Stefan Berger) - Use the virStrToLong_ui() function rather than virStrToLong_i() (Stefan Berger) - Make virDomainLoadConfig static. (Chris Lalancette) - Eliminate compile warnings in nwfilter error log calls (Laine Stump) - Only parse 'CPU XML' in virCPUDefParseXML() (Jim Fehlig) - Replace sscanf in PCI device address parsing (Matthias Bolte) - xen: Use virStrToLong_i instead of sscanf for XenD port parsing (Matthias Bolte) - xenapi: Use virStrToLong_i instead of sscanf for CPU map parsing (Matthias Bolte) - openvz: Use strtok_r instead of sscanf for VPS UUID parsing (Matthias Bolte) - xen: Use virParseMacAddr instead of sscanf (Matthias Bolte) - vbox: Replace atoi with virStrToLong_i (Matthias Bolte) - cgroup: Replace sscanf with virStrToLong_ll (Matthias Bolte) - Refactor major.minor.micro version parsing into a function (Matthias Bolte) - Replace sscanf in nwfilter rule parsing (Matthias Bolte) - Replace sscanf in legacy device address parsing (Matthias Bolte) - build: more fallout from test -a (Eric Blake) - Fix apibuild.py warning about virNWFilterLookupByUUIDString (Matthias Bolte) - maint: remove redundant tests after virStrToLong (Eric Blake) - maint: update AUTHORS (Eric Blake) - maint: fix cpp indentation syntax-check failure (Jim Meyering) - Add virt-aa-helper and secaatest to .gitignore (Matthias Bolte) - esx: Remove redundant semicolons (Matthias Bolte) - Use libvirt's existing ipv6/ipv4 parser/printer (Stefan Berger) - Remove driver dependency from nwfilter_conf.c (Stefan Berger) - Fix a merge error leftover (Daniel Veillard) - Use enum of virDomainNetType (Stefan Berger) - Silence cppi syntax-check warning (Daniel Veillard) - maint: update syntax-check rule to also catch test's -o operator (Eric Blake) - build: don't use "test cond1 -o cond2": it's not portable (Eric Blake) - build: don't use "test cond1 -a cond2" in configure: it's not portable (Jim Meyering) - Remove interfaceRegister from libvirt_private.syms (Matthias Bolte) - esx: Cleanup file header comments (Matthias Bolte) - maint: enforce recent copyright style (Eric Blake) - maint: make Red Hat copyright notices consistent (Eric Blake) - maint: fix typo (Eric Blake) - docs: <pre> cannot be nested in <p> (Matthias Bolte) - .gitignore: Ignore generated daemon/libvirtd.logrotate (Cole Robinson) - phyp: Use virRequestUsername and virRequestPassword (Matthias Bolte) - fix two "make syntax check" failures (Jim Meyering) - Fix syntax-check errors (Jiri Denemark) - Fix error messages in qemu text monitor (Jiri Denemark) - Fix compiler warnings in virsh.c (Laine Stump) - Silence compiler complaints about non-literal format strings (Laine Stump) - Remove qemudDomainSetMaxMemory. (Chris Lalancette) - Fix copy&paste typos in virProcessInfoGetAffinity (Jiri Denemark) - AUTHORS: add recent contributors (Eric Blake) - Fix format string warnings (Laine Stump) - ebtablesAddRemoveRule: avoid dead store (Jim Meyering) - virInterfaceDefParseBond: avoid dead stores (Jim Meyering) - xenXMDomainConfigParse: avoid dead store (Jim Meyering) - qemuMonitorTextGetMemoryStats: decrease risk of false positive in parsing (Jim Meyering) A lot of people helped for this release, including a number of new contributors, so let's all enjoy before the bugs start to pop up :-) ! 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/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list