As scheduled, I made the new release of libvirt-0.9.3 today, it is available at ftp://libvirt.org/libvirt/ , the rpms are still being pushed as I write. This is a fairly large release again, with over 330 commits incorporated, including a number of new APIs, large refactoring of the client server code, LXC containers improvements and many improvements and various bug fixes. Features: - vcpupin: introduce the new libvirt API (virDomainGetVcpupinInfo) (Taku Izumi) - Add TXT record support for virtual DNS service (Michal Novotny) - Support reboots with the QEMU driver (Daniel P. Berrange) - Introduce virDomainGetControlInfo API (Jiri Denemark) - virNodeGetMemoryStats: Expose new API (Minoru Usui) - virNodeGetCPUTime: Implement public API (Minoru Usui) - send-key: Defining the public API (Lai Jiangshan) - vcpupin: introduce a new libvirt API (virDomainPinVcpuFlags) (Taku Izumi) - support multifunction PCI device (Wen Congyang) - lxc: various improvements Documentation: - Add documentation for configuration lock managers (Daniel P. Berrange) - fix indentation of sub-elements of <ip> in network XML (Laine Stump) - document correct flag name (Eric Blake) - documenting the 802.1Qbh parameters of a 'direct' interface (David S. Wang) - Make virConnectClose comply to apibuild.py expectations (Matthias Bolte) - fix docs to match behavior of virConnectClose (Eric Blake) - numatune: Add doc for new numatune XML (Osier Yang) - Fix documentation of virStreamRecv (Matthias Bolte) - updated list of applications using libvirt. (Ohad Levy) - improve VIR_DOMAIN_AFFECT_CURRENT description (Eric Blake) - Add doc for video element (Osier Yang) - Make hvsupport.pl pick up the host device drivers (Matthias Bolte) Portability: - Explicitely invoke python for API doc generator (Daniel Veillard) - fix virParseVersionString with linux 3.0 (Scott Moser) - Add conditionals to allow build without SASL (Daniel P. Berrange) - Add missing include of signal.h in virnetsocket.c (Daniel P. Berrange) - Fix compilation with systemtap 1.3 (Matthias Bolte) - build: fix mingw build (Eric Blake) - daemon: Fix build without polkit (Jiri Denemark) - build: fix 'make check' when pdwtags is available (Eric Blake) - build: sanlock-devel is not in F15 yet (Eric Blake) - Only include parthelper if built with storage_disk (Ruben Kerkhof) - build: fix VPATH builds (Eric Blake) - python: Don't declare Py_ssize_t for Python 2.6 (Matthias Bolte) - build: avoid python 2.4 build failure (Eric Blake) - build: fix NUMA build on RHEL 5 (Eric Blake) - build: avoid python 2.4 build failure (Eric Blake) - build: avoid compiler failure (Eric Blake) - build: fix compilation on systems missing libnl and new includes (Stefan Berger) - configure: Make libnl optional unless macvtap is required (Matthias Bolte) - build: require newer netcf when it is available (Eric Blake) - build: fix building error when building without libvirtd (Wen Congyang) - Skip nodeinfo test on non intel architectures (Guido Günther) - Fix dlopen dependency (Matthias Bolte) - virt-aa-helper: add missing include (Eric Blake) Bug Fixes: - initialize pointer to NULL (Wen Congyang) - storage: avoid crash on parse error (Eric Blake) - vmware: avoid null deref on failed lookup (Eric Blake) - qemu: avoid null deref on low memory (Eric Blake) - rpc: avoid memory leak on error (Eric Blake) - rpc: fix logic bug (Eric Blake) - pci: avoid memory leak on error (Eric Blake) - interface: avoid memory leak on parse error (Eric Blake) - libvirtd: avoid memory leak on OOM (Eric Blake) - build: avoid double-close bug with pipe2 (Eric Blake) - rpc: avoid freeing uninitialized variable (Eric Blake) - virsh: avoid uninitialized variable (Eric Blake) - virsh: avoid integer overflow (Eric Blake) - Fix stream procedure number for virDomainMigratePrepareTunnel3 (Daniel P. Berrange) - Fix release of virNetMessagePtr instances in streams processing (Daniel P. Berrange) - Fix potential crash when saving guests (Daniel P. Berrange) - Fix uninitialized value in QEMU monitor FD sending code (Daniel P. Berrange) - Fix leak of JSON object for events (Daniel P. Berrange) - Fix use of uninitialized memory when releasing PCI slots (Daniel P. Berrange) - Fix leak of virStreamPtr object with callback added in fdstream impl (Daniel P. Berrange) - Fix leak of mdnsGroupName in virNetServer object (Daniel P. Berrange) - Fix release of filtered stream messages (Daniel P. Berrange) - save domain status after modifing vcpupin (Wen Congyang) - Fix memory leak in virDomainVcpuPinDel() (Wen Congyang) - sysinfo: fix illegal NULL return (Minoru Usui) - Fix locking wrt virNetClientStreamPtr object (Daniel P. Berrange) - Avoid referencing NULL pointer when copying stream error (Daniel P. Berrange) - Avoid free'ing a filtered RPC message in the server (Daniel P. Berrange) - Ensure empty payload is written upon stream completion (Daniel P. Berrange) - Fix propagation of RPC errors from streams (Daniel P. Berrange) - Fix crash when aborting a stream from a I/O callback (Daniel P. Berrange) - dnsmasq: Fix errno handling and don't unlink non-existing files (Matthias Bolte) - tests: Fix memory leak in virnetmessagetest (Osier Yang) - conf: Fix memory leak in virNetworkDNSDefFormat (Osier Yang) - sysinfo: fix parsing regression (Eric Blake) - remote: fix uninitialized variable (Eric Blake) - build: avoid uninitialized variable (Eric Blake) - buf: protect against integer overflow (Eric Blake) - remote: protect against integer overflow (Eric Blake) - Fix typo in libvirt_private.syms (Matthias Bolte) - Fix some bugs in RPC protocol make rules (Daniel P. Berrange) - Fix job type set in qemuMigrationPrepareDirect/PrepareTunnel (Daniel P. Berrange) - Avoid high privileges taint warning for QEMU session driver (Daniel P. Berrange) - util: Fix memory leak in virJSONParserHandleStartMap (Osier Yang) - qemu: Fix memory leak in qemuProcessWaitForMonitor (Osier Yang) - storage: fix volDelete return when volume still being allocated (Matthew Booth) - Fix use-after-free in handling domain taint flags (Daniel P. Berrange) - qemu: Fix one memory leak (Osier Yang) - virsh: avoid bogus description (Eric Blake) - set and restore MAC address of a NIC when using PASSTHROUGH mode (Dirk Herrendoerfer) - conf: Fix one memory leak (Osier Yang) - Add missing checks for NULL in domain lock manager (Daniel P. Berrange) - Fix errno return in safezero() (Daniel P. Berrange) - Fix allocation of veth's to not skip an index (Daniel P. Berrange) - command: avoid double close (Eric Blake) - qemu: Fix parsing 'info chardev' (Cole Robinson) - vcpupin: Fix cpu affinity setting bug of qemu driver (Taku Izumi) - daemon: plug memory leak (Eric Blake) - qemu: add missing break statement (Eric Blake) - storage: avoid mishandling backing store > 2GB (Eric Blake) Improvements: - tests: Add a general util test (Matthias Bolte) - util: choose whether to require micro in version strings (Eric Blake) - build: consistently use CFLAGS (Eric Blake) - build: simplify sanlock distribution (Eric Blake) - build: allow 'make syntax-check' on fresh checkout (Eric Blake) - Send back an error if we get unexpected stream control message (Daniel P. Berrange) - Add test case for parsing JSON docs (Daniel P. Berrange) - Remove bogus warning message in JSON code (Daniel P. Berrange) - Ensure RPC message is cleared before being reused (Daniel P. Berrange) - Fix hardcoded limit on client requests in RPC code (Daniel P. Berrange) - tests: Add valgrind.supp into EXTRA_DIST (Osier Yang) - virsh: Fix a problem of buildPoolXML (Osier Yang) - lock qemu_driver early in qemuGetSchedulerParametersFlags() (Wen Congyang) - build: avoid pod2man on tarball (Eric Blake) - Ensure that EOF is dispatched to the stream callback (Daniel P. Berrange) - Improve two log messages in virNetMessage (Daniel P. Berrange) - Lower logging level when failing to register socket watch (Daniel P. Berrange) - screenshot: Set access rights to temporary file (Michal Privoznik) - maint: improve makefile whitespace (Eric Blake) - network: Don't ignore errors in dnsmasq config file creation (Matthias Bolte) - network: Fix dnsmasq hostsfile creation logic and related tests (Matthias Bolte) - build: update translated files (Eric Blake) - Support automatic creation of leases for disks in sanlock (Daniel P. Berrange) - Support loading a configuration file for sanlock plugin (Daniel P. Berrange) - Allow per-driver config file for lock manager plugins (Daniel P. Berrange) - network: add domain to unqualified names defined with <host> (Laine Stump) - Convert libvirtd over to the new RPC handling APIs (Daniel P. Berrange) - Convert the remote driver to new RPC client APIs (Daniel P. Berrange) - Add XDR_CFLAGS to libvirt-net-rpc.la library (Daniel P. Berrange) - Ensure sanlock socket is labelled with the VM process label (Daniel P. Berrange) - Add a virSecurityManagerSetProcessFDLabel (Daniel P. Berrange) - Rename virSecurityManagerSetFDLabel method (Daniel P. Berrange) - Add node prefix to virNodeGet(CPU|Memory)Stats structs and defines (Matthias Bolte) - qemu: Fix update device for CURRENT + FORCE flags (Jiri Denemark) - nwfilter: Return error message about unresolvable variables (Stefan Berger) - build: rename Vcpupin to VcpuPin (Eric Blake) - sysinfo: cleanup function/struct names. (Minoru Usui) - sysinfo: fix lack of error check in virSysinfoFormat(). (Minoru Usui) - tests: Partly fix networkxml2argvtest being configure result dependent (Matthias Bolte) - qemu: Remove bogus error codes for NUMA memory tuning (Osier Yang) - network: fix indentation in networkBuildDnsmasqArgv (Laine Stump) - vcpupin: add query option to virsh vcpupin command (Taku Izumi) - vcpuinfo: add the code to fallback to try new API (Taku Izumi) - vcpupin: implement the remote protocol to address the new API (Taku Izumi) - vcpupin: implement the code to support new API for the qemu driver (Taku Izumi) - build: update gnulib for intprops (Eric Blake) - Rename iface(G|S)etMacaddr to iface(G|S)etMacAddress for consistency (Matthias Bolte) - Network: Add support for DNS hosts definition to the network XML (Michal Novotny) - Network: Add additional hosts internal infrastructure (Michal Novotny) - Network: Add regression tests for the command-line arguments (Michal Novotny) - Network: modify dnsmasq commandline build function to allow testing (Michal Novotny) - tests: Improve IPv6 detection for virNetSocket tests (Matthias Bolte) - Move load of AppArmor profile to GenLabel() (Jamie Strandboge) - Add Memory Device Information to virSysinfoRead() from dmidecode type 17 (Minoru Usui) - Add Processor Information to virSysinfoRead() from dmidecode type 4 (Minoru Usui) - Cleanup virSysinfoRead() (Minoru Usui) - Make sure virnetprotocol.[ch] are in BUILT_SOURCES (Daniel P. Berrange) - maint: typo fixes (Eric Blake) - Add missing translation of error message from QEMU reboot patch (Daniel P. Berrange) - Allow automatic kill of guests when a connection is closed (Daniel P. Berrange) - Automatically kill target QEMU if migration aborts abnormally (Daniel P. Berrange) - Add infrastructure to automatically destroy guests when a connection closes (Daniel P. Berrange) - Move the RPC generator scripts into src/rpc (Daniel P. Berrange) - Introduce generic RPC client objects (Daniel P. Berrange) - Introduce generic RPC module for advertising via MDNS (Daniel P. Berrange) - Introduce generic RPC server objects (Daniel P. Berrange) - Integrate TLS/SASL directly into the socket APIs (Daniel P. Berrange) - Generic module for handling SASL authentication & encryption (Daniel P. Berrange) - Generic module for handling TLS encryption and x509 certs (Daniel P. Berrange) - Introduce a generic object for using network sockets (Daniel P. Berrange) - Provide a simple object for encoding/decoding RPC messages (Daniel P. Berrange) - Defines the basics of a generic RPC protocol in XDR (Daniel P. Berrange) - build: update to latest gnulib (Eric Blake) - python: Generate virStreamFree but don't expose in bindings (Cole Robinson) - maint: avoid future setgid problems (Eric Blake) - qemu: Only check for NUMA availability if required (Jiri Denemark) - util: avoid PATH_MAX-sized array (Eric Blake) - xen: avoid PATH_MAX-sized array (Eric Blake) - tests: avoid PATH_MAX-sized array (Eric Blake) - virStorageVol: avoid PATH_MAX-sized array (Eric Blake) - cleanup: make several interface functions commonly available (Stefan Berger) - cleanup: make nlComm commonly available (Stefan Berger) - maint: remove syntax-check exception (Eric Blake) - Remove macvtap dependency on domain configuration (Daniel P. Berrange) - util: Correct the error prompt string (Osier Yang) - Fix to python API extractor and API doc generation (Daniel Veillard) - qemu: domain I/O asynchronous handling (Michal Privoznik) - python: Mark event callback wrappers as private (Cole Robinson) - python: events: Fix C->Python handle callback prototype (Cole Robinson) - python: Add bindings for virEvent*Handle/Timeout (Cole Robinson) - events: Correct virEventAddTimeout docs (Cole Robinson) - Promote virEvent*Handle/Timeout to public API (Cole Robinson) - python: Implement virStreamSend/RecvAll helpers (Cole Robinson) - python: Implement virStreamSend/Recv (Cole Robinson) - conf: Make full use of goto label (Osier Yang) - python: Implement bindings for virStreamEventAddCallback (Cole Robinson) - python: generator: Don't print warning if nothing to warn about (Cole Robinson) - python: libvirt-override: use simpler debug (Cole Robinson) - virsh: enhance snapshot-create-as (Eric Blake) - virsh: add snapshot-create-as command (Eric Blake) - virsh: clarify snapshot vs. save (Eric Blake) - Fix compile warnings in virsh vcpupin (Daniel P. Berrange) - remote generator: Allow to annotate arrays with typecasts (Matthias Bolte) - remote: Handle functions that return optional strings (Matthias Bolte) - remote: Generate virDomainGetBlockPullInfo (Matthias Bolte) - vcpupin: add vcpupin resetting feature to qemu driver (Taku Izumi) - vcpupin: add virDomainVcpupinDel function (Taku Izumi) - vcpupin: add reset option to virsh vcpupin command (Taku Izumi) - vcpupin: improve vcpupin definition of virsh vcpupin (Taku Izumi) - Fix preprocessor indentation in nodeinfo.c (Matthias Bolte) - Move XenAPI driver to correct spec file section (Matthias Bolte) - numatune: Add tests for numatune XML (Osier Yang) - numatune: Support NUMA memory tuning in qemu driver (Osier Yang) - numatune: Support persistent XML for numatune (Osier Yang) - numatune: Define XML schema (Osier Yang) - Update qemuDomainSetBlkioParameters to use flags (Hu Tao) - update qemuDomainGetBlkioParameters to use flags (Hu Tao) - Add new parameters for blkiotune (Hu Tao) - apparmor: implement AppArmorSetFDLabel() (Jamie Strandboge) - Add missing error reporting when loading mac filter config for QEMU (Daniel P. Berrange) - virsh: Add support for virDomainGetControlInfo (Jiri Denemark) - qemu: Implement virDomainGetControlInfo (Jiri Denemark) - Wire protocol and remote driver for virDomainGetControlInfo (Jiri Denemark) - sendkey: use consistent API convention (Eric Blake) - build: export correct function names (Eric Blake) - build: avoid compiler warning on non-Linux (Eric Blake) - remote generator: Handle struct returning functions better (part 2) (Matthias Bolte) - Fix apibuild.py warnings about missing comment headers (Matthias Bolte) - remote generator: Handle struct returning functions better (Matthias Bolte) - support for Xen HVM Viridian (Hyper-V) enlightenment interface (Daniel Gollub) - virsh: reduce complexity in argv iteration (Eric Blake) - Add support for network filter code in LXC driver (Daniel P. Berrange) - qemu: Translate boot config into bootindex if possible (Jiri Denemark) - spice: add <clipboard copypaste='yes|no'> option (Marc-André Lureau) - virNodeGetMemoryStats: Implement linux support (Minoru Usui) - virNodeGetMemoryStats: Implement virsh support (Minoru Usui) - virNodeGetMemoryStats: Implement remote protocol (Minoru Usui) - virNodeGetMemoryStats: Implement public API (Minoru Usui) - virNodeGetMemoryStats: Define internal driver API (Minoru Usui) - virNodeGetCPUStats: Implement linux support (Minoru Usui) - virNodeGetCPUStats: Implement virsh support (Minoru Usui) - virNodeGetCPUStats: Implement remote protocol (Minoru Usui) - virNodeGetCPUStats: Define internal driver API (Minoru Usui) - virNodeGetCPUStats: Expose new API (Minoru Usui) - Fix autostart flag when loading running domains (Michael Chapman) - send-key: Implementing the remote protocol (Lai Jiangshan) - send-key: Implementing the public API (Lai Jiangshan) - send-key: Defining the internal API (Lai Jiangshan) - remote generator: Handle (unsigned) int arrays (Lai Jiangshan) - add VSH_OFLAG_REQ_OPT options (Lai Jiangshan) - allow name for VSH_OT_ARGV options (Lai Jiangshan) - storage: avoid an intermediate malloc (Eric Blake) - command: reduce duplicated debug messages (Eric Blake) - qemu: Scrape stdout for virtio console pty (Cole Robinson) - virsh: Add daemon version reporting (Michal Privoznik) - nodeinfo: remove superflous braces (Guido Günther) - util: Cleanup indention problem in virterror.c (Osier Yang) - qemu: Parse current balloon value returned by query_balloon (Osier Yang) - Deprecate several CURRENT/LIVE/CONFIG enums (Hu Tao) - qemu: Faster response time to qemu startup errors (Stefan Berger) - build: update to latest gnulib (Eric Blake) - vcpupin: add the new option to "virsh vcpupin" command (Taku Izumi) - vcpupin: implement the remote protocol to address the new API (Taku Izumi) - vcpupin: implement the code to address the new API in the qemu driver (Taku Izumi) - Use virTimeMs when appropriate (Jiri Denemark) - Introduce virTimeMs for getting current time in ms (Jiri Denemark) - test: Remove unused timeval (Jiri Denemark) - tests: add a test for multi function PCI device (Wen Congyang) - the hotplugged PCI device should use the whole slot (Wen Congyang) - assign the whole slot to the PCI device that has no address (Wen Congyang) - Reimplement qemuDomainPCIAddressReserveSlot(): reserve all functions in the slot (Wen Congyang) - the key of hash table should include the function value (Wen Congyang) - prevent hot unplugging multi function PCI device (Wen Congyang) - check whether qemu supports multi function PCI device (Wen Congyang) - xenapi: Improve error message on session failure (Matthew Booth) - qemu: Fix one type in the error prompt string (Osier Yang) - Move VMware Workstation/Player driver to correct spec file section (Matthias Bolte) - esx: avoid dead code (Eric Blake) - qemu: reorder checks for safety (Eric Blake) - uuid: annotate non-null requirements (Eric Blake) - debug: avoid null dereference on uuid lookup api (Eric Blake) - python: avoid unlikely sign extension bug (Eric Blake) - build: detect Coverity 5.3.0 (Eric Blake) - build: Fix typos in configure.ac (Osier Yang) - virsh: Expose virDomainMigrateSetMaxSpeed API to virsh (Osier Yang) - lxc: Ensure container <init> actually exists (Cole Robinson) - lxc: Verify root fs exists before mounting (Cole Robinson) - lxc: controller: Improve container error reporting (Cole Robinson) - lxc: Improve guest startup error reporting (Cole Robinson) - lxc: Refactor controller command building (Cole Robinson) - lxc: Don't report error in Wait/SendContinue (Cole Robinson) - lxc: Drop container stdio as late as possible (Cole Robinson) - util: Implement virRun as a wrapper around virCommand (Cole Robinson) - qemu: Convert virExec usage to virCommand (Cole Robinson) - Use VIR_USE_CPU instead of new wheel (Osier Yang) - Avoid virGetVersion failure on specific driver support configurations (Matthias Bolte) Cleanups - cgroup: silence coverity warning (Eric Blake) - rpc: silence coverity warning (Eric Blake) - qemu: silence coverity warnings (Eric Blake) - build: avoid 'make syntax-check' failure (Eric Blake) - build: remove dead variables (Eric Blake) - Remove bogus jsondata.h file reference which does not exist (Daniel P. Berrange) - build: ignore generated file (Eric Blake) - build: Don't expect translatable strings in a dead file (Jiri Denemark) - Cleanup remote protocol definitions (Daniel P. Berrange) - Remove obsolete libvirtd mdns code (Daniel P. Berrange) - build: avoid long line tests (Eric Blake) - maint: add omitted copyright header (Eric Blake) - build: break some long lines (Eric Blake) - build: silence coverity false positives (Eric Blake) - secret: drop dead code (Eric Blake) - build: silence coverity false positive (Eric Blake) - Move virRun, virExec*, virFork to util/command (Cole Robinson) - util: Remove unused virExec wrapper (Cole Robinson) - esx: Remove duplicated invalid-argument checks (Matthias Bolte) Thanks everybody for your help with this release, be it by submitting documentations, ideas, patches, etc ... ! 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