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(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/