So as stated last week I made the release today. It is available
from the ftp:
ftp://libvirt.org/libvirt/libvirt-0.9.11.tar.gz
along with Fedora 16 rpms I signed. And the release is tagged in the
tree so normal development can resume :-)
The release is rather big, which is not surprizing since in includes 6
weeks of developments instead of the 4 as usual. BTW considering the
rate of the push I still think we should keep a monthly release
schedule, this is way higher than most other projects but as long as
the people doing the packaging and pushes downstream think it's okay
I guess everyone benefits from a shorter cycle (well as long as
we don't break API/features !)
It is sometime difficult to separate from what to label as an
improvement and what to label really as a new feature, in any case there
was plenty of both in this release, along with a copious dose of bug
fixes:
Features:
- Add support for the suspend event (Osier Yang)
- Add support for event tray moved of removable disks (Osier Yang)
- qemu: Support numad (Osier Yang)
- cpustats: API, improvements and qemu support (KAMEZAWA Hiroyuki and Eric Blake)
- qemu: support type='hostdev' network devices at domain start (Laine Stump)
- Introduce virDomainPMWakeup API (Michal Privoznik)
- network: support Open vSwitch (Ansis Atteka)
- a number of snapshot improvements (Eric Blake)
Portability:
- build: fix build on cygwin (Eric Blake)
- build: fix mingw ssize_t, syntax check (Eric Blake)
- Disable build of commandhelper & ssh on Win32 (Daniel P. Berrange)
- build: avoid 'devname' for BSD (Eric Blake)
- build: avoid frame size error when building without -O2 (Laine Stump)
- spec: Add missed dependancy for numad (Osier Yang)
- util: fix build mingw (and all non-linux) build failure (Laine Stump)
- Build error on OSX in src/util/virnetlink.c (Duncan Rance)
- Fix build after commit e3ba4025 (Jim Fehlig)
- build: Fix build with dtrace + apparmor (Jiri Denemark)
- build: fix output of pid values (Eric Blake)
- avoid global variable shadowed (Hu Tao)
- lxc: Cleaner fix for compilation without SELinux (Martin Kletzander)
- Fix compilation on MacOS X (Lincoln Myers)
Documentation:
- snapshot: fix virsh docs (Eric Blake)
- Expand docs for timer tick policy (Daniel P. Berrange)
- Add documentation for new attribute tray of disk target (Osier Yang)
- Clarify virsh freecell manpage entry (Dave Allan)
- fix typo (Zhou Peng)
- Clarify what documentation is being referenced (Dave Allan)
- Minor docs fix (Martin Kletzander)
- libvirt: fix comment typo (Alex Jia)
- fix usage example on setting log levels (Eric Blake)
- use correct terminology for 1024 bytes (Eric Blake)
- Fix typo (Osier Yang)
- Fix typo in domain XML documentation (Christophe Fergeau)
- storage: fix typo (Michal Privoznik)
- comments wiping supported algorithms (Alex Jia)
- Fix libvirt name in qemu commandline namespace URL (Michal Privoznik)
- virsh: Break long lines in virsh.pod (Osier Yang)
- Update bug reporting page (Dave Allan)
- lib: Fix function documentation for virConnectListDomains (Peter Krempa)
- virsh: Fix docs for list command (Peter Krempa)
Bug fixes:
- qemu: Start nested job in qemuDomainCheckEjectableMedia (Jiri Denemark)
- qemu: fix memory leak in virDomainGetVcpus (Laine Stump)
- conf: allow fuzz in XML with cur balloon > max (Eric Blake)
- qemu: reflect any memory rounding back to xml (Eric Blake)
- qemu: support live change of the bridge used by a guest network device (Hendrik
Schwartke)
- qemu_agent: Issue guest-sync prior to every command (Michal Privoznik)
- conf: Prevent crash of libvirtd without channel target name (Alex Jia)
- fix a deadlock when qemu cannot start (Wen Congyang)
- qemu: Make migration fail when port profile association fails on the dst host (Christian
Benvenuti)
- virsh: plug memory leaks on failure path (Alex Jia)
- snapshot: don't pass NULL to QMP command creation (Eric Blake)
- qemu: Avoid entering monitor with locked driver (Jiri Denemark)
- Leave all child processes running when stopping systemd service (Daniel P. Berrange)
- python: Avoid memory leaks on libvirt_virNodeGetCPUStats (Alex Jia)
- qemu: Avoid dangling migration-out job when client dies (Jiri Denemark)
- qemu: Avoid dangling migration-in job on shutoff domains (Jiri Denemark)
- qemu: Use unlimited speed when migrating to file (Jiri Denemark)
- python: Avoid memory leaks on libvirt_virNodeGetMemoryStats (Alex Jia)
- conf: forbid use of multicast mac addresses (Laine Stump)
- conf: return immediately on error in dhcp host element (Laine Stump)
- util: fail attempts to use same mac address for guest and tap (Laine Stump)
- snapshot: make quiesce a bit safer (Eric Blake)
- virConfGetValue: Fixed NULL pointer check (Martin Kletzander)
- Fix handling of blkio deviceWeight empty string (Daniel P. Berrange)
- remote: Fix migration leaks (Osier Yang)
- lib: Don't access configuration if none is present (Peter Krempa)
- qemuDomainDetachPciDiskDevice: Free allocated cgroup (Michal Privoznik)
- virsh: fix invalid free (Alex Jia)
- qemu: Reverse condition in qemuDomainCheckDiskPresence (Michal Privoznik)
- qemu: fix segfault when detaching non-existent network device (Guannan Ren)
- qemu: Fix (managed)save and snapshots with host mode CPU (Jiri Denemark)
- qemu: support disk filenames with comma (Eric Blake)
- Fix a few typo in translated strings (Daniel Veillard)
- qemuBuildCommandLine: Don't add tlsPort if none set (Michal Privoznik)
- qemu: eliminate memory leak in qemuDomainUpdateDeviceConfig (Laine Stump)
- util: eliminate device object leaks related to virDomain*Remove*() (Laine Stump)
- qemu: don't 'remove' hostdev objects from domain if operation fails (Laine
Stump)
- util: Don't overflow on errno in virFileAccessibleAs (Michal Privoznik)
- sanlock: Use STREQ_NULLABLE instead of STREQ on strings that may be null (Peter Krempa)
- qemu: Fix startupPolicy for snapshot-revert (Michal Privoznik)
- rpc: allow truncated return for virDomainGetCPUStats (Eric Blake)
- conf: fix error log with "address address" (Laine Stump)
- Ensure max_id is initialized in linuxParseCPUmap() (Daniel P. Berrange)
- util: eliminate crash in virNetDevMacVLanCreateWithVPortProfile (Laine Stump)
- rpc: Fix client crash on connection close (Jiri Denemark)
- Correct a check for capacity arg of storageVolumeResize() (Zeeshan Ali (Khattak))
- qemu: Don't emit tls-port spice option if port is -1 (Jiri Denemark)
- libxl: eliminate memory leak in libxmlDomainModifyDeviceFlags (Laine Stump)
- qemu: fix cleanup of bridge during failure of qemuDomainAttachNetDevice (Laine Stump)
- qemu: unescape HMP commands before converting them to json (Josh Durgin)
- virsh: fix informational message in iface-bridge command (Laine Stump)
- virterror: Misleading error message when name is missing (Benjamin Cama)
- util: Fix virFileAccessibleAs return path from parent (Michal Privoznik)
- qemu: Prevent crash of libvirtd without guest agent (Alex Jia)
- qemu: Unlock monitor when connecting to dest qemu fails (Jiri Denemark)
- qemu: Fix segfault when host CPU is empty (Jiri Denemark)
- Fix polkit0 authentication (Jim Fehlig)
- snapshot: fix snapshot deletion use-after-free (Eric Blake)
- daemon: fix logic bug with virAsprintf (Eric Blake)
- daemon: plug memory leak (Eric Blake)
- Fix typos in API XML file paths (Daniel P. Berrange)
Improvements:
- Xen: Fix <clock> handling (Philipp Hahn)
- Support clock=variable relative to localtime (Philipp Hahn)
- python: improve conversion validation (Eric Blake)
- Fix client only RPM build & other misc RPM problems (Daniel P. Berrange)
- virnetdevtap: Don't check for flags in virNetDevTapCreateFlags (Michal Privoznik)
- Consistent style for usage of sizeof operator (Daniel P. Berrange)
- Don't redefine the CPU comparison constants in CPU test (Daniel P. Berrange)
- Fix some format specifiers for size_t vs ssize_t (Daniel P. Berrange)
- build: silence recent syntax check violations (Eric Blake)
- private.syms: Add virNetDevMacVLanRestartWithVPortProfile (Zhou Peng)
- Set default name for SPICE agent channel (Christophe Fergeau)
- python: make python APIs use these helper functions (Guannan Ren)
- python: Add new helper functions for python to C integral conversion (Guannan Ren)
- Enable all warnings permanently & default to -Werror for GIT builds (Daniel P.
Berrange)
- Enable build of test suite programs by default for GIT checkouts (Daniel P. Berrange)
- Change the default of mdns_adv to false (Stef Walter)
- Add LXC XML files to schema test & fix problems this uncovers (Daniel P. Berrange)
- Add support for setting init argv for LXC (Daniel P. Berrange)
- Detect location fo selinux mount point (Daniel P. Berrange)
- qemu,util: on restart of libvirt restart vepa callbacks (D. Herrendoerfer)
- build: fix "missing initializer" error in qemu_process.c (Laine Stump)
- build: fix "missing initializer" errors in virsh.c (Laine Stump)
- Added syntax-check rule for return with parentheses (Martin Kletzander)
- Cleanup for a return statement in source files (Martin Kletzander)
- Fix and test round-trip of query parameters (Eric Blake)
- snapshot: improve qemu handling of reused snapshot targets (Eric Blake)
- snapshot: wire up qemu transaction command (Eric Blake)
- snapshot: add support for qemu transaction command (Eric Blake)
- snapshot: rudimentary qemu support for atomic disk snapshot (Eric Blake)
- snapshot: make offline qemu snapshots atomic (Eric Blake)
- snapshot: add atomic create flag (Eric Blake)
- snapshot: add qemu capability for 'transaction' command (Eric Blake)
- build: fix incorrect enum declaration (Eric Blake)
- Add qemu support for ppc64 on FC16 or above for rpm packaging (Li Zhang)
- Fix typo s/virURIFormatQuery/virURIFormatParams/ (Daniel P. Berrange)
- qemu: Update domain status to running while wakeup event is emitted (Osier Yang)
- qemu: Update domain state to pmsuspended while suspend event occurs (Osier Yang)
- New domain state pmsuspended (Osier Yang)
- Add support for the wakeup event (Osier Yang)
- qemu: Update tray status while tray moved event is emitted (Osier Yang)
- qemu: Prohibit setting tray status as open for block type disk (Osier Yang)
- qemu: Do not start with source for removable disks if tray is open (Osier Yang)
- conf: Parse and for the tray attribute (Osier Yang)
- Implement sysinfo on PowerPC. (Prerna Saxena)
- Lookup auth credentials in config file before prompting (Daniel P. Berrange)
- Refactor code prompting for SASL credentials (Daniel P. Berrange)
- Add helper API for finding auth file path (Daniel P. Berrange)
- Rename virRequest{Username,Password} to virAuthGet{Username,Password} (Daniel P.
Berrange)
- Rename src/util/authhelper.[ch] to src/util/virauth.[ch] (Daniel P. Berrange)
- Add a virKeyfilePtr object for parsing '.ini' files (Daniel P. Berrange)
- Convert drivers over to use virURIPtr for query params (Daniel P. Berrange)
- Store parsed query parameters directly in the virURIPtr struct (Daniel P. Berrange)
- Use a libvirt custom struct for virURIPtr (Daniel P. Berrange)
- Centralize error reporting for URI parsing/formatting problems (Daniel P. Berrange)
- s/xmlURIPtr/virURIPtr/ in virURIFormat impl (Daniel P. Berrange)
- Use virURIFree instead of xmlFreeURI (Daniel P. Berrange)
- Add test case for virURIPtr classs (Daniel P. Berrange)
- python: add virDomainGetCPUStats python binding API (Guannan Ren)
- qemu: Make autodestroy utilize connection close callbacks (Jiri Denemark)
- qemu: Add connection close callbacks (Jiri Denemark)
- qemu: Add support for domain cleanup callbacks (Jiri Denemark)
- python: always include config.h first (Eric Blake)
- Cpu mapping cleanup (Martin Kletzander)
- virsh: trim aliases from -h output (Eric Blake)
- Add support for forcing a private network namespace for LXC guests (Daniel P. Berrange)
- Emit graphics events when a SPICE client connects/disconnects (Laine Stump)
- numad: Fix typo and warning (Osier Yang)
- Add container_uuid env variable to LXC guests (Daniel P. Berrange)
- Allow overriding default URI in config file (Daniel P. Berrange)
- virsh: A bit smarter attach-disk (Osier Yang)
- qemu: Use scsi-block for lun passthrough instead of scsi-disk (Osier Yang)
- cpu: Add cpu definition for Intel Sandy Bridge cpu type (Peter Krempa)
- Added support for AMD Bulldozer CPU (Martin Kletzander)
- graphics: Cleanup port policy (Michal Privoznik)
- cpustats: report user and sys times (Eric Blake)
- qemuxml2argvtest: Pass some additional flags to graphics-spice-agentmouse (Michal
Privoznik)
- qemu: spice agent-mouse support (Peng Zhou)
- virsh: Use option alias for outmoded "--persistent" (Osier Yang)
- util: consolidate duplicated error messages in pci.c (Laine Stump)
- qemu: support persistent hotplug of <hostdev> devices (Laine Stump)
- util: standardize return from functions calling virNetlinkCommand (Laine Stump)
- util: make virDomainLeaseDefFree global (Laine Stump)
- util: consolidate duplicated error messages in virnetlink.c (Laine Stump)
- util: log error on OOM in virNetDevOpenvswitchAddPort (Laine Stump)
- Attach vm-id to Open vSwitch interfaces. (Ansis Atteka)
- util: whitespace change to virNetDevOpenvswitchAddPort (Laine Stump)
- util: add stub pciConfigAddressToSysfsFile for non-linux platforms (Laine Stump)
- rpc: generalize solution for VPATH builds (Eric Blake)
- xml: Clean up schemas to use shared data types instead of local (Peter Krempa)
- qemu: Don't parse device twice in attach/detach (Michal Privoznik)
- virsh: improve memory unit parsing (Eric Blake)
- virsh: improve storage unit parsing (Eric Blake)
- virsh: add command aliases, and rename nodedev-detach (Eric Blake)
- virsh: use option aliases (Eric Blake)
- virsh: add option aliases (Eric Blake)
- xml: allow scaled memory on input (Eric Blake)
- xml: use better types for memory values (Eric Blake)
- xml: use long long internally, to centralize overflow checks (Eric Blake)
- xml: drop unenforced minimum memory limit from RNG (Eric Blake)
- storage: support more scaling suffixes (Eric Blake)
- xml: output memory unit for clarity (Eric Blake)
- xml: share 'unit' in RNG (Eric Blake)
- util: new function for scaling numbers (Eric Blake)
- api: add overflow error (Eric Blake)
- cpu-stats command shows cpu statistics information of a domain. (KAMEZAWA Hiroyuki)
- qemu driver for virDomainGetCPUstats using cpuacct cgroup. (KAMEZAWA Hiroyuki)
- add nodeGetCPUmap() for getting available CPU IDs in a cpumap. (KAMEZAWA Hiroyuki)
- qemu: install port profile and mac address on netdev hostdevs (Roopa Prabhu)
- util: Changes to support portprofiles for hostdevs (Roopa Prabhu)
- util: support functions for mac/portprofile associations on hostdev (Roopa Prabhu)
- util: two new pci util functions (Roopa Prabhu)
- qemu: support type=hostdev network device live hotplug attach/detach (Laine Stump)
- qemu: use virDomainNetRemove instead of inline code (Laine Stump)
- conf: change virDomainNetRemove from static to global (Laine Stump)
- conf: parse/format type='hostdev' network interfaces (Laine Stump)
- qemu: refactor hotplug detach of hostdevs (Laine Stump)
- qemu: re-order functions in qemu_hotplug.c (Laine Stump)
- conf: hostdev utility functions (Laine Stump)
- conf: put subsys part of virDomainHostdevDef into its own struct (Laine Stump)
- conf: give each hostdevdef a parent pointer (Laine Stump)
- conf: HostdevDef parse/format helper functions (Laine Stump)
- conf: make hostdev info a separate object (Laine Stump)
- conf: add device pointer to args of virDomainDeviceInfoIterate callback (Laine Stump)
- qemu: rename virDomainDeviceInfoPtr variables to avoid confusion (Laine Stump)
- conf: reorder static functions in domain_conf.c (Laine Stump)
- conf: relocate virDomainDeviceDef and virDomainHostdevDef (Laine Stump)
- conf: add missing device types to virDomainDevice(Type|Def) (Laine Stump)
- blockResize: add flag for bytes (Eric Blake)
- qemu: Shared or readonly disks are always safe wrt migration (Jiri Denemark)
- libvirt-guests: Add parallel startup and shutdown of guests (Peter Krempa)
- Fix type and add missed comment for diskChange callback (Osier Yang)
- cpu: Add new flag supported by qemu to the cpu definition (Peter Krempa)
- util: combine bools in virNetDevTapCreateInBridgePort into flags (Laine Stump)
- util: centralize tap device MAC address 1st byte "0xFE" modification (Ansis
Atteka)
- build: use correct type for pid and similar types (Eric Blake)
- build: prohibit cross-inclusion (Eric Blake)
- virsh: expose partial pull (Eric Blake)
- qemu: pass block pull backing file to monitor (Eric Blake)
- qemu: require json for block jobs (Eric Blake)
- fix alphabetical order of virNetlink functions in symbol file (Laine Stump)
- build: update to latest gnulib (Eric Blake)
- Add de-association handling to macvlan code (D. Herrendoerfer)
- util: Add netlink event handling to virnetlink.c (D. Herrendoerfer)
- Support for cpu64-rhel* qemu cpu models (Martin Kletzander)
- libvirt-guests: Check if URI is reachable before launching commands (Peter Krempa)
- libvirt-guests: Don't try to do a managed-save of transient guests (Peter Krempa)
- libvirt-guests: Add documentation and clean up to use virsh's improved list (Peter
Krempa)
- qemu: Add pre-migration hook (Jiri Denemark)
- hooks: Add support for capturing hook output (Jiri Denemark)
- util: fix a typo (Alex Jia)
- storage: fix a typo (Alex Jia)
- Do not include binaries in EXTRA_DIST (Daniel Veillard)
- virsh: New command cmdChangeMedia (Osier Yang)
- virsh: Use vshFindDisk and vshPrepareDiskXML in cmdDetachDisk (Osier Yang)
- virsh: Two new helper functions for disk device changes (Osier Yang)
- tests: Add tests for virtio-scsi and ibmvscsi controllers (Osier Yang)
- qemu: Build command line for the new address format (Osier Yang)
- qemu: New cap flag to indicate if channel is supported by scsi-disk (Osier Yang)
- conf: Introduce new attribute for device address format (Osier Yang)
- conf: Add helper function to look up disk controller model (Osier Yang)
- qemu: add virtio-scsi controller model (Paolo Bonzini)
- qemu: add ibmvscsi controller model (Paolo Bonzini)
- qemu: Add ability to abort existing console while creating new one (Peter Krempa)
- util: Add helpers for safe domain console operations (Peter Krempa)
- fdstream: Add internal callback on stream close (Peter Krempa)
- fdstream: Emit stream abort callback even if poll() doesnt. (Peter Krempa)
- virsh: add support for VIR_DOMAIN_CONSOLE_* flags (Peter Krempa)
- Add flags for virDomainOpenConsole (Peter Krempa)
- pidfile: Make checking binary path in virPidFileRead optional (Peter Krempa)
- qemu: Implement virDomainPMWakeup API (Michal Privoznik)
- virsh: Expose virDomainPMWakeup (Michal Privoznik)
- Fixed URI parsing (Martin Kletzander)
- Workaround python header file insanity (Daniel P. Berrange)
- Improve error reporting when virsh console is run without a TTY (Daniel P. Berrange)
- Error out when using SPICE TLS with spice_tls=0 (Christophe Fergeau)
- vmx: Better Workstation vmx handling (Jean-Baptiste Rouault)
- qemu: nicer error message on failed graceful destroy (Eric Blake)
- qemu: Forbid migration with cache != none (Jiri Denemark)
- Introduce virStorageFileIsClusterFS (Jiri Denemark)
- virsh: Add --unsafe option to migrate command (Jiri Denemark)
- Add support for unsafe migration (Jiri Denemark)
- configure: Define program name if not found (Michal Privoznik)
- virsh: Enhance list command to ease creation of shell scripts (Peter Krempa)
- vmware: implement domainXMLFromNative (Jean-Baptiste Rouault)
- esx: Correctly disable HTTP Expect header usage of libcurl (Matthias Bolte)
- caps: Improve error if passed an unknown arch (Cole Robinson)
- spec: use ix86 macros (Peter Robinson)
- nwfilter: improved logging during driver initialization (Stefan Berger)
- storage: Allow runtime detection of scrub (Michal Privoznik)
- Fix build with polkit0 (Jim Fehlig)
- python: Expose virDomain{G,S}etInterfaceParameters APIs in python binding (Alex Jia)
- conf: rename virDomainNetGetActualDirectVirtPortProfile (Laine Stump)
- qemu: increase the timeout before sending SIGKILL to qemu process (Laine Stump)
- qemu: drop driver lock while trying to terminate qemu process (Laine Stump)
- qemu: Implement DomainPMSuspendForDuration (Michal Privoznik)
- qemu: Set capabilities based on supported monitor commands (Michal Privoznik)
- Install API XML desc to a standard location (Daniel P. Berrange)
- qemu: make block io tuning smarter (Eric Blake)
Cleanups:
- Fix typos and spacing in messages. (Yuri Chornoivan)
- qemu: eliminate nested switch, simplify code (Laine Stump)
- Fix typo in previous patch (Daniel P. Berrange)
- build: drop obsolete qparams test (Eric Blake)
- build: drop a painfully long gnulib test (Eric Blake)
- Removed more AMD-specific features from cpu64-rhel* models (Martin Kletzander)
- conf: eliminate redundant VIR_ALLOC of 1st element of network DNS hosts. (Laine Stump)
- remove daemon/probes.h from .gitignore (Laine Stump)
- sanlock: Fix condition left crippled while debugging (Peter Krempa)
- qemu: Fix indention (Osier Yang)
- daemon: Remove deprecated HAL from init script dependencies (Peter Krempa)
- util: remove unneeded #include in virrandom.c (Laine Stump)
- util: wrap virnetlink.c to 80 columns (Laine Stump)
- Fixed service handling in specfile (Martin Kletzander)
So thanks everybody for this massive amount of work, be it bug
reports, patches, documentation, portability, everybody should enjoy
that release now !
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/