# Releases

Here is the list of official releases, however since it is early on in the development of libvirt, it is preferable when possible to just use the CVS version or snapshot, contact the mailing list and check the ChangeLog to gauge progress.

### 0.6.5: Jul 3 2009

- New features: create storage columes on disk backend (Henrik Persson), drop of capabilities based on libcap-ng when possible (Daniel Berrange)
- Portability: fix build on non-Linux targets (Daniel Berrange)
- Documentation: typo and english fixes (Runa Bhattacharjee and Garry Dolley), Docs on extending APIs (Dave Allan), cleanup of debug and logging documentation (Amy Griffis), add HACKING doc to the website (Daniel Berrange), documentation for OpenNebula driver (Abel Miguez Rodriguez)
- Bug fixes: forbid autostart on transcient networks, xen device removal crash (Daniel Berrange), re-detection of transient VMs after libvirtd restart(Daniel Berrange), bug in virFindFileInPath (Daniel Berrange), handle new availheap sysctl in Xen (Daniel Berrange), allow USB hostdev product 0 (Cole Robinson), cleanup when creating a storage pool fails (Henrik Persson), domain id fix on redefinition in test driver (Cole Robinson), fix raw storage allocation (Cole Robinson), memory reporting for inactive qemu drivers (Cole Robinson), segfault if storage pool has no type attribute (Cole Robinson), OpenNebula compilation issues (Javier Fontan), dominfo command without security driver (Daniel Berrange), domain state problems after migration or destroy (Federico Simoncelli), leak in node device parsing (Dave Allan), storage pool definitions reading at startup (Cole Robinson), bogus WWN in NPIV support (David Allan), avoid a segfault with recent Xen (Sascha), cope with libnuma failures on weird topologies (Dan Berrange), crash in QEMU driver with bad capabilities data (Dan Berrange), trying to re-create a pool should not destroy it (Dave Allan), endless loop in node device XML dump (Cole Robinson), Re-label shared and readonly images (Dan Berrange)
- Improvements: create and destroy NPIV support (David Allan), networking in UML driver (Daniel Berrange), HAL driver restart thread safety (Daniel Berrange), capabilities and nodeinfo APIs for LXC (Daniel Berrange), iNUMA API for VBox (Daniel Berrange), dynamically search and use kvm-img qemu-img or qcow-create (Doug Goldstein), fix qemu and kvm version parsing (Mark McLoughlin), serial number for HAL storage (Dave Allan), improve error reporting for virConnectOpen URIs (Daniel Berrange), include OS driver name in device XML (Daniel Berrange), fix qemu command flags fetching (Cole Robinson), check that qemu support -drive format= (Cole Robinson), improve emulator detection (Cole Robinson), changes to config parser to accomodate VMX syntax (Matthias Bolte), update network schemas and driver for missing elements (Satoru SATOH), avoid changing file context if not needed (Tim Waugh), skip labelling if no src path (Cole Robinson), add arm emulation if qemu-system-arm is present (C.J. Adams-Collier)
- Cleanups: daemon check logging env variables (Daniel Berrange), User Mode Linux start and stop cleanups (Daniel Berrange), share the NUMA api implementations (Daniel Berrange), storage module dependancies (Dave Allan), refactor storage XML parsing (Cole Robinson), big cleanup of logging code (Amy Griffis), superfluous % on format (Matthias Bolte), cleanups and updates on OpenNebula driver (Daniel Berrange and Abel Miguez Rodriguez)

### 0.6.4: May 29 2009

- New features: new API virStorageVolCreateXMLFrom (Cole Robinson), full VBox graphic capabilities (Pritesh Kothari), Interface config APIs (Laine Stump), APIs for domain XML conversions (Daniel Berrange), initial version of OpenNebula driver (Abel Miguez Rodriguez)
- Portability: better compiler warning selection (Daniel Berrange), Win32 portability fixes (Daniel Berrange)
- Documentation: documentation for <sound> device XML format (Cole Robinson), storage format documentation fixes (Ryota Ozaki), docs for XML conversion APIs (Daniel Berrange), inconsistencies in storage volume docs and schemas (Ryota Ozaki)
- Bug fixes: fix hostdev managed handling (Mark McLoughlin), lxc_controller should not cash without args (Guido Gunther), bug fixes in I/O routines (Guido Gunther), fix migrationsave/restore for QEmu 0.10.0 (Daniel Berrange), avoid crash on VBox init (Guido Gunther), fix dev and cgroup init in LXC (Ryota Ozaki), QEmu startup fix (Cole Robinson), block node reboots from LXCs (Ryota Ozaki), QEmu argv detection fix for recent kvm (Daniel Berrange), fix watch/timer event deletion (Daniel Berrange), fix XML escaping bug, various locking bugs (Daniel Berrange), avoid a deadlock in HAL nodedev driver (Cole Robinson), detection of node device media insert/eject (Cole Robinson), broken networking with new QEMU/KVM >= 86 (Daniel Berrange), various fixes in domain and network startup error report (Cole Robinson), double free on unexpected client disconnect (Daniel Berrange)
- Improvements: cleanups and doc on virExec (Cole Robinson), error reporting in QEmu migrations (Cole Robinson), better path and driver detection in VBox (Pritesh Kothari), avoid caching QEMU driver capabilities(Cole Robinson), multiple graphics elements definitions (Pritesh Kothari), LSB init header init.d improvements (Frederik Himpe), special erro code for invalid operations (Daniel Berrange), dlopen error logging (Daniel Berrange), fix UUID and name uniqueness (Daniel Berrange), improvement on VBox initialization (Pritesh Kothari and Dan Berrange), "Host only" and "Internal" network in VBox (Pritesh Kothari), add utility virExecDaemonize (Cole Robinson), enable bridges without IP (Ludwig Nussel), 'make -s' silencing (Daniel Berrange), test case for exercising the event loop (Daniel Berrange), virsh commands vol-clone and vol-create-from (Cole Robinson), new xend don't use [] around cpumaps (Tatsuro Enokura), add the CIL mutex lock checker (Daniel Berrange), fix some LXC error code (Amy Griffis), virInterface python bindings (Daniel Berrange), fix to the example code for event handling (Pritesh Kothari), always add location informations to logging (Daniel Berrange), python domain events example and binding (Daniel Berrange), PPC Qemu Machine Type update (Thomas Baker)
- Cleanups: strings bug in virsh (Daniel Berrange), various cleanups in storage code (Cole Robinson), rpm spec cleanups, destructors data cleanups (Laine Stump), some QEmu code refactoring (Daniel Berrange), avoid dependancy on libcap (Daniel Berrange), python import cleanup (Cole Robinson), virAsprintf based cleanups in storage code (Cole Robinson), fix some direct stderr logging, OpenNebula driver cleanups (Daniel Berrange)

### 0.6.3: Apr 24 2009

- New features: VirtualBox driver support (Pritesh Kothari), virt-xml-validate new command (Daniel Berrange)
- Portability: patch to build on Centos (Joseph Shraibman), build breakage (Anton Protopopov),
- Documentation: Linux Containers documentation (Serge Hallyn), improvement and updates of architecture pages, fix virNodeGetFreeMemory documentation to reflect reality, man page cleanups (Daniel Berrange), man page typo (Robert P. J. Day), VirtualBox Documentation (Pritesh Kothari),
- Bug fixes: veth off-by-one error (Dan Smith), vcpupin to inactive Xen crash (Takahashi Tomohiro), virsh ttyconsole return value, use format= not fmt= on QEmu commandline (Mark McLoughlin), use UUID for internal domain lookups (Daniel Berrange), remote domain ID related bugs (Daniel Berrange), QEmu pidfile handling bugs (Daniel Berrange), network config handling on old Xen (Daniel Berrange)
- Improvements: add SCSI storage rescan (David Allan), rootless LXC containers support improvements (Serge Hallyn), getHostname support for LXC (Dan Smith), cleanup and logging output of some domain functions (Guido Günther), drop pool lock when allocating volumes (Cole Robinson), LXC handle kernel without CLONE_NEWUSER support (Serge Hallyn), cpu pinning on defined Xen domains (Takahashi Tomohiro), dynamic bridge names support (Soren Hansen), LXC use of private /dev/pts when available (Daniel Berrange), virNodeDeviceCreateXML and virNodeDeviceDestroy entry points (Dave Allan)
- Cleanups: don't hardcode getgrnam_r buffer to 1024 bytes (Guido Günther), qemudBuildCommandLine API cleanup (Daniel Berrange),

### 0.6.2: Apr 3 2009

- New features: support SASL auth for VNC server (Daniel Berrange), memory ballooning in QEMU (Daniel Berrange), SCSI HBA storage pool support (Dave Allan), PCI passthrough in Xen driver (Daniel Berrange)
- Portability: be more flexible in QEmu binaries paths (Daniel Berrange), Mingw portability fixes (Daniel Berrange),
- Documentation: add security attributes in RNG schemas, cleanup of architecture docs, missing disk bus values in RNG schemas,
- Bug fixes: tap vs vbd type on block detach (Cole Robinson and Takahashi Tomohiro), bad free on storage volume error (Daniel Berrange), maplenght computations in remote driver (Daniel Berrange), event dispatching in the daemon (Daniel Berrange), virDomainSetVcpus deadlock (Daniel Berrange), save deadlock in test driver (Cole Robinson), fix timing of security driver init (Cole Robinson), forbid readonly connections from dumping the XML safe info (Cole Robinson), file descriptor leak on remote access, fix labelling of shared/readonly devices (Dan Walsh), virsh missing auth on shell commands (Matthias Bolte), avoid zombie on exec pipe errors (Ryota Ozaki), memory leak in virNodeDeviceGetParent (Daniel Berrange), URI check in migration (Daniel Berrange), various memory bug fixes (Daniel Berrange), python bindings generator fix (Daniel Berrange), NUMA memory fixes (Daniel Berrange), various svirt fixes (Daniel Berrange), fix sparse volume allocation reporting (Cole Robinson), test driver domain restore return value (Cole Robinson), do not lose file format info on volume refresh (Cole Robinson)
- Improvements: get CPU usage info for LXC (Ryota Ozaki), fix domain RNG to add ac97 and tests (Pritesh Kothari), OpenVZ support for non-template filesystem root (Florian Vichot), improve arch capabilities generation (Daniel Berrange), modularization of spec file (Ryota Ozaki), better error reports in SEXPR generation (Daniel Berrange), support for vifname parameter in VIF config (Daniel Berrange), localtime handling for new xen (Daniel Berrange), error reporting/ verification of security labels (Dan Walsh), add --console arg for create and start virsh commands (Daniel Berrange), refresh volume alloc/capacity when dumping XML (Cole Robinson)
- Cleanups: FILE * leaks removal, unused parameters flagging (Maximilian Wilhelm), switch to pre-C99 struct initialization for drivers (Chris Lalancette), symlinks resolving cleanup (Daniel Berrange)

### 0.6.1: Mar 3 2009

- New features: new APIs for Node device detach reattach and reset (Mark McLoughlin), sVirt mandatory access control support (James Morris and Dan Walsh)
- Portability: non gcc toolchain (John Levon), gcc-4.4 warnings fixes (Mark McLoughlin), fix build without LXC and QEmu (Jim Meyering)
- Documentation: man page bugzilla URL (Mark McLoughlin), typo in domain format (Jesse Farinacci), clock offset fix (Mark McLoughlin), hostdev description typo (Mark McLoughlin), static host IP (Charles Duffy), new example program (David Allan)
- Bug fixes: NULL dereference in LXC (Jim Meyering), fix domain error reporting (John Levon), fix loop of libvirtd --timeout (Daniel Berrange), limit history to 500 to restrict virsh memory (Daniel Berrange), wrong lvm volume format check (Cole Robinson), I/O error in daemon and associated remote acces crash (Daniel Berrange), fix autostart of session daemon (Daniel Berrange), restart guest on qemu migration failures (Chris Lalancette), config parsing leaks (Ryota Ozaki), DBus multithreading activation to avoid crashes (Daniel Berrange), mark defined network descriptions as persistent (Cole Robinson), qemu+tls handshake negotiation hang (Chris Lalancette)
- Improvements: don't hardcode ssh port (Guido Günther), new test cases and testing infrastructure (Jim Meyering), improve the SExpr parser (John Levon), proper error reporting on xend shutdown command (John Levon), proper handling of errors when saving QEmu domains state (Guido Günther), revamp of the internal error memory APIs (John Levon), better virsh error reporting (John Levon), more daemon options to allow running multiple daemons (Jim Meyering), error handling when creating a QEmu domain (Guido Günther), fix timeouts in QEmu log reading (Guido Günther), migration with xend 3.3 fixes (John Levon), virsh XML dump flags cleanup (Cole Robinson), fix build with loadable drivers (Maximilian Wilhelm), internal XML APIs to read long long and hexa values (Mark McLoughlin), function to parse node device XML descriptions and associated test (Mark McLoughlin), generate network bridge names if not provided (Cole Robinson), recognize ejectable media in hostdev hal driver (Cole Robinson), integration of sVirt (Daniel Berrange)
- Cleanups: printf NULL string checks (John Levon), remove uses of strerror and use virStrerror (Jim Meyering), remove redundant NULL assignments (Jim Meyering), QEmu driver logging and exec cleanups (Jim Meyering), many error handling cleanups (Jim Meyering), XML module cleanups (Mark McLoughlin), compiler warning (Maximilian Wilhelm), daemon TCP listen cleanup (Cole Robinson), size_t type cleanup (Guido Günther), parallel make fix (Michael Marineau), storage error diagnostic fix (Ryota Ozaki), remove redundant monitor watch variable (Cole Robinson), qemu AttachDevice error report improvement (Cole Robinson), virsh output cleanup (Jim Meyering), various tests cleanups and improvements (Jim Meyering), fix the internal export list with new APIs (Daniel Berrange), cleanups on new APIs for Node device (Daniel Berrange)

### 0.6.0: Jan 31 2009

- New features: thread safety of the API and event handling (Daniel Berrange), allow QEmu domains to survive daemon restart (Guido Günther), extended logging capabilities, support copy-on-write storage volumes (Daniel Berrange), support of storage cache control options for QEmu/KVM (Daniel Berrange)
- Portability: fix old DBus API problem, Debian portability fix (Daniel Berrange), fix distcheck (Jim Meyering), build in debug mode (Jim Meyering), libnuma API portability (Jim Meyering), many portability fixes pointed by Solaris (John Levon), non-gcc portability fixes (John Levon), various include fixes (Jim Meyering), various Windows and Mingw portability fixes (Daniel Berrange), solaris Xen fixes (John Levon), RPC portability to Solaris (Daniel Berrange)
- Documentation: typo fixes (Richard Jones), logging support, vnc keymap attributes (Guido Günther), HACKING file updates (Jim Meyering), new PCI passthrough format, libvirt-qpid and UML driver documentation (Daniel Berrange), provide RNG schemas for all XML formats used in libvirt APIs (Daniel Berrange),
- Bug fixes: segfault on virtual network without bridge name (Cole Robinson), various locking fixes (Cole Robinson), fix serial and parallel devices on tcp/unix/telnet (Guido Günther), leak in daemon (Jim Meyering), storage driver segfault (Miloslav TrmaC), missing check in read-only connections (Daniel Berrange), OpenVZ crash and mutex fixes (Anton Protopopov), couple of daemon bug fixes (John Levon), OpenVZ MAC addresses generation (Evgeniy Sokolov), poll call initialization fix (Daniel Berrange), various Xen driver fixes (John Levon), segfault on device back compat (Cole Robinson), couple Xen bug fixes coming from RHEL (Markus Armbruster), buffer overflow in libvirt proxy (rasputin@email.ru), vnc port report (John Levon), repair save and restore on recent KVM versions (Daniel Berrange), Xen cpu pinning XML fix (John Levon), various xen driver fixes (Daniel Berrange), some memory leak fixes (Daniel Berrange)
- Improvements: driver infrastructure and locking (Daniel Berrange), Test driver infrastructure (Daniel Berrange), parallelism in the daemon and associated config (Daniel Berrange), virsh help cleanups (Jim Meyering), logrotate daemon logs (Guido Günther), more regression tests (Jim Meyering), QEmu SDL graphics (Itamar Heim), add --version flag to daemon (Dave Allan), memory consumption cleanup (Dave Allan), QEmu pid file and XML states for daemon restart (Guido Günther), gnulib updates (Jim Meyering and Dan Berrange), PCI passthrough for KVM (Jason Krieg), generic internal thread API (Daniel Berrange), RHEL-5 specific Xen configure option and code (Markus Armbruster), save domain state as string in status file (Guido Günther), add locking to all API entry points (Daniel Berrange), new ref counting APIs (Daniel Berrange), IP address for Xen bridges (John Levon), driver format for disk file types (Daniel Berrange), improve QEmu/KVM tun/tap performances (Mark McLoughlin), enable floppies for Xen fully virt (John Levon), support VNC password settings for QEmu/KVM (Daniel Berrange), qemu driver version reporting (Daniel Berrange)
- Cleanups: converting linked lists to arrays (Daniel Berrange), daemon RPC handling refactoring (Daniel Berrange), strings cleanups (Jim Meyering), gethostby* cleanup and test (Jim Meyering), some code fixes (Dave Allan), various code cleanup (Jim Meyering), virsh argument handling cleanup (Jim Meyering), virAsprintf cleanup replacement (Guido Günther), QEmu monitor reads (Cole Robinson), Makefile cleanups (Guido Günther), Xen code cleanups (John Levon), revamp of ELF export scripts (John Levon), domain event callback args (John Levon), enforce use of pid_t (John Levon), virsh pool-*-as XML code merge (Cole Robinson), xgettext warnings (Jim Meyering), add virKillProcess (Guido Günther), add virGetHostname (David Lutterkort), add flags argument to the full XML parsing stack (Guido Günther), various daemon code cleanups (Guido Günther), handling of daemon missing config file (Jim Meyering), rpcgen invocation cleanup (Richard Jones), devhelp builkd makefile cleanups (John Levon), update error handling for threading (Daniel Berrange), remove all non-rentrant POSIX calls usage (Daniel Berrange), many small cleanups (Jim Meyering and Daniel Berrange), examples Makefile generator (John Levon), mis-use of PF_UNIX as a protocol (John Levon), cleanup OOM error paths (Jim Meyering), temporary fix fro valgrind on lxc (Daniel Berrange), QEmu driver init cleanups (Daniel Berrange)

### 0.5.1: Dec 4 2008

- Portability: fix missing dep in spec file, fix compilation with new NUMA libraries (Daniel Berrange), udev compatibility for RHEL (Chris Lalancette),
- Documentation: documentation copy and paste errors and typo (Cole Robinson)
- Bug fixes: add a delay in storage backend for disks to show up (Chris Lalancette), fix parsing for CDRom device with no source (Daniel Berrange), use xenstore to list domains to avoid some bugs (Guido Günther), remove a leak in xen inotify code (Daniel Berrange), UML driver freeing of uninitialialized variable (Ron Yorston), fix UML inotify code (Daniel Berrange), crash when adding storage without a format (Cole Robinson)
- Improvements: use xend preferably to hypervisor call to set Xen max memory (Jim Fehlig), allow remote://hostname/ URI for automatic probe of hypervisors (Daniel Berrange), fix daemon configuration regression testing (Jim Meyering ), check /usr/bin/kvm for QEmu driver init (Guido Günther), proper active vs. inactive differentiation (Guido Günther), improve MTU setting on tap interfaces (Eduardo Habkost), increase timeout for initial QEmu monitor poll (Cole Robinson)
- Cleanups:fix improper initialisations (Jim Meyering)

### 0.5.0: Nov 25 2008

- New features: CPU and scheduler support for LXC (Dan Smith), SDL display configuration (Daniel Berrange), domain lifecycle event support for QEmu and Xen with python bindings (Ben Guthro and Daniel Berrange), KVM/QEmu migration support (Rich Jones and Chris Lalancette), User Mode Linux driver (Daniel Berrange), API for node device enumeration using HAL and DeviceKit with python bindings (David Lively),
- Portability: RHEL build fixes, VPATH build (Guido Gunther), many MinGW related cleanups and fixes (Richard Jones), compilation without libvirtd (Richard Jones), Add a Windows icon (Richard Jones), sys/poll.h portability fixes (Daniel Berrange), gnulib and mingw cleanups (Jim Meyering),
- Documentation: virsh man page cleanups (Mark McLoughlin), doc for NIC model selection (Richard Jones), monitoring section, link to AMQP bindings, inew APIs, UML driver docs (Daniel Berrange),
- Bug fixes: Xen interfaces ordering (Jim Fehlig), startup timeout with multiple pty (Cole Robinson), segfault if QEmu without active virtual network (Cole Robinson), qemu small leak (Eduardo Habkost), index creation for more than 26 disks (Sanjay Rao and Chris Wright), virRealloc handling of 0 (Daniel Berrange), missing pointer initialization (Chris Lalancette), bus device index bug (Guido Günther), avoid crash in some error patch (Chris Lalancette), fix a problem in storage back-end (Chris Lalancette), minimum domain memory size check for Xen (Shigeki Sakamoto), switch off QEmu cache if device is shared (Charles Duffy), logical volume definition before scan bug (Chris Lalancette), a couple of memory leaks on QEmu vnc (Jim Meyering), lvs parsing fixes (Cole Robinson),
- Improvements: LXC resources control and internal cgroup API (Dan Smith), virDomainCreateLinux renamed virDomainDefineXML, network driver modularization (Daniel Berrange), change the way domain and net are reported in errors (Jim Meyering), partition table scan on iSCSI (Chris Lalancette), qemudDiskDeviceName to handle normal disks (Guido Günther), qemudDomainBlockStats improvement (Guido Günther), scsi/virtio hotplug support for KVM (Guido Günther), USB hot addition in QEmu (Guido Günther), logical pool and storage backend XML dump improvement (Chris Lalancette), MAC addresses prefix per driver (Daniel Berrange), OpenVZ getVersion support (Daniel Berrange), hot removal of scsi/virtio disks for KVM (Guido Günther), test storage driver (Cole Robinson), iSCSI and disk storage driver improvement on path handling (Chris Lalancette), UUID and ID support for Xenner (Daniel Berrange), better logging when when executing commands (Cole Robinson), bridged network for OpenVZ (Daniel Berrange), OpenVZ config file params (Evgeniy Sokolov), allow to build drivers as libtool convenience libs (Daniel Berrange), fully versioned linker script for exported ABI (Daniel Berrange), Push URI probing down into drivers open (Daniel Berrange), move all stateful drivers into the daemon binary (Daniel Berrange), improve domain event with a detail field (Daniel Berrange), domain events for QEMU driver (Daniel Berrange), event unregister callback crash (David Lively), plug a few leaks (Daniel Berrange), internal APIs for handling node device XML config (David Lively), tweaks to node device implementation (Daniel Berrange), OpenVZ vCPUs values init (Evgeniy Sokolov)
- Cleanups: C99 initializers (Guido Gunther), test output (Cole Robinson), debug macro centralization (Cole Robinson), various error handling (Guido Günther), safewrite use cleanup (Jim Meyering), centralize error reporting logic (Cole Robinson), avoid printf warnings (Daniel Berrange), use arrays instead of list for internal APIs (Daniel Berrange), remove many format string warnings Jim Meyering), avoid syntax check warnings (Chris Lalancette), improve po-check and list generation (Jim Meyering), .gitignore generation and handling (Jim Meyering), use ARRAY_CARDINALITY (Jim Meyering), gnulib updates and switch to use netdb.h (Jim Meyering), drop usage of socket_errno (Jim Meyering), remove socketcompat.h (Jim Meyering), more tests (Jim Meyering), drop virStringList (Daniel Berrange), reformatting and isolation of the error APIs (Daniel Berrange), cleanup internal.h and move internal APIs in specific headers (Daniel Berrange), move domain events helpers into domain_events.c (Daniel Berrange), cleanup the way optional modules are compiled (Daniel Berrange), add new logging module, optional dlopen of drivers (Daniel Berrange), various new tests (Jim Meyering), cleanups when Xen is not configured in (Daniel Berrange), add some missing functions comments (Jim Meyering),

### 0.4.6: Sep 23 2008

- Documentation: fix some comments in API (Anton Protopopov), cleanup and extension of bindings and windows pages (Richard Jones)
- Portability: missing include file (Richard Jones)
- Bug fixes: avoid a segfault if missing qemu emulator (Cole Robinson), reading vncdisplay from xend domain (Cole Robinson), segfault in OpenVZ (Evgeniy Sokolov), fix parsing of pool without a source (Chris Lalancette and Daniel Berrange)
- Improvements: add storage disk volume delete (Cole Robinson), KVM dynamic max CPU detection (Guido Günther), spec file improvement for minimal builds (Ben Guthro), improved error message in XM configuration module (Richard Jones), network config in OpenVZ support (Evgeniy Sokolov), enable stopping a pool in logical storage backend and cleanup deletion of pool (Chris Lalancette)
- Cleanups: deadcode removal (Nguyen Anh Quynh), fix one test case (Daniel Berrange), various strings and space cleanups (Daniel Berrange), structure initialization cleanup (Chris Lalancette)

### 0.4.5: Sep 8 2008

- New features: NETNS support for Linux containers (Dan Smith), unified XML domain and network parsing for all drivers (Daniel Berrange), OpenVZ features improvements (Evgeniy Sokolov), OpenVZ and Linux containers support now default, USB device passthrough for QEmu/KVM (Guido Günther), storage pool source discovery (David Lively)
- Portability: fixes for MinGW (Atsushi SAKAI and Daniel Berrange), detection of xen lib improvement (David Lively), storage backend portability for SLES (David Lively), fix make distclean and distcheck (Jim Meyering), fix build failures on RHEL4, lot of MinGW portability fixes (Atsushi SAKAI and Daniel Berrange), HTML generation fix, -lpthread explicit linking when needed (Jim Meyering)
- Documentation: various typo fixes (Anton Protopopov, Toth István, Atsushi SAKAI, Nguyen Anh Quynh), Java bindings docs, remove Xen centric comments (Guido Günther), various typo in comments (Chris Lalancette), docs and API comments fixes (Charles Duffy), how to contribute to open source link (Richard Jones), memory unit fixups (matthew chan)
- Bug fixes: memory leaks and testing for OOM (Daniel Berrange), do_open driver bug(Evgeniy Sokolov), don't use polkit auth when running as non-root (Daniel Berrange), boot of CDRom devices in QEmu/KVM (Daniel Berrange), fix OpenVZ probe function (Evgeniy Sokolov), ID related lookup fixes in OpenVZ (Evgeniy Sokolov), pool cration for netfs (Cole Robinson), check for migrate support with QEmu (Guido Günther), check against double create with QEmu (Guido Günther), broken open failure detection in QEmu (Guido Günther), UUID string conversions in QEmu (Guido Günther), various small cleanup and bug fixes (Daniel Berrange), ID related fixes in the test driver (Daniel Berrange), better error reporting on XML parsing (Daniel Berrange), empty CD-ROM source device section (Chris Lalancette), avoid crashes for interface without a name in QEmu (Guido Günther), provide the real vncport (Charles Duffy), fix forward delay (Daniel Berrange), new VM state is initialized to be SHUTOFF (Daniel Berrange), virsh attach-disk bug fixes (Chris Lalancette), veth clash of device names (Dan Smith), connection lookup fixes on storage creation (Cole Robinson), parted call fix (Cole Robinson), use "server" option when using serial/telnet with QEmu (Mark McLoughlin), duplicate virInitialize calls (Nguyen Anh Quynh), many fixes to virExec and related functions (Daniel Berrange), size of disk without partitions (Cole Robinson), creating and cleaning up logical volumes with target path (Cole Robinson), fix reporting of virConnectOpen problems (Daniel Berrange), veth cleanup at shutdown (Dan Smith), lookup of Xen VMs after define (Cole Robinson), fix emulator reported capabilities (Cole Robinson), avoid segfault on KVM CD eject (Cole Robinson), fix disk ordering and avoid duplicate in QEmu XML parsing (Cole Robinson), update domain XML after device hotplug (Cole Robinson), use poweroff instead of halt when shutting down a Xen domain (John Levon), don't dump core of Xen domain live by default (John Levon), vgcreate command line size bug (Jim Fehlig), signed/unsigned issue in probing file (Cole Robinson), Fix Xen domains without PVFB console (Daniel Berrange), OpenVZ config read bug fix (Evgeniy Sokolov).
- Improvements: improved failure diagnostic for TAP (Jim Meyering), better exec and error diagnostic for OpenVZ commands (Evgeniy Sokolov), OpenVZ auto start and stop of domains (Evgeniy Sokolov), OpenVZ domain cpu time consumption (Evgeniy Sokolov), virsh shutdown improvements and test (Jim Meyering), better report of XML well formedness errors (Richard Jones), new XML elements (Daniel Berrange), virsh "edit" command (Richard Jones), save UUID of OpenVZ domains (Evgeniy Sokolov), improve xen blocks statistics (Chris Lalancette), gnulib updates (Jim Meyering), allow to add disk as USB devices (Guido Günther), LXC container process should survive libvirtd restarts (Daniel Berrange), allow to define static host domain configs, number of CPU used by OpenVZ domains (Evgeniy Sokolov), private root fs for LXC (Daniel Berrange), storage source information in storage pools (David Lively), virsh reports attach and detach success (Cole Robinson), detect failure in QEmu eject command (Cole Robinson), add support for eect on floppy and SCSI cdroms for QEmu (Cole Robinson), LXC hypervisor version extraction (Dan Smith), Augeas config file support (Daniel Berrange), support for a domain name in network config (JJ Reynolds).
- Cleanups: Python verbosity cleanup (Ryan Scott), space and tabs cleanups (Atsushi SAKAI), OpenVZ and LXC drivers cleanup and unification of XML handling (Daniel Berrange), updates to Relax-NG XML schemas (John Levon and Daniel Berrange), more printf format checkings (Jim Meyering), VIR_FREE related cleanups (Jim Meyering), integer string parsing cleanup (Evgeniy Sokolov), initial OpenVZ xml refactoring (Evgeniy Sokolov), better error message on domain redefine (Charles Duffy), check XML files against the RNG Schemas (Daniel Berrange), const-correctness in virsh (Richard Jones and Jim Meyering), const-correctness and cleanups in LXC and OpenVZ drivers (Daniel Berrange), virFileLinkPointsTo rewrite (Jim Meyering), cleanup of the conditional compilation of C files (Daniel Berrange), shell quoting fixes (Jim Meyering), parallel build support (James Morris and Jim Meyering), new convenenience virFileReadLimFD function (Jim Meyering).

### 0.4.4: Jun 25 2008

- Bug fixes: QEmu network serialization (Kaitlin Rupert), internal memory allocation fixes (Chris Lalancette Jim Meyering), virsh large file config problem (Jim Meyering), xen list APIs when max is zero, string escape problems in the xm driver
- Improvements: add autogen to tarballs, improve iSCSI support (Chris Lalancette), localization updates
- Cleanups: const-ness fixed (Daniel P. Berrange), string helpers for enumeations (Daniel P. Berrange)

### 0.4.3: Jun 12 2008

- New features: Linux Container start and stop (Dave Leskovec), Network interface model settings (Daniel Berrange),serial and parallel device support for QEmu and Xen (Daniel Berrange), Sound support for QEmu and Xen (Cole Robinson), vCPU settings for QEmu (Cole Robinson), support for NUMA and vCPU pinning in QEmu (Daniel Berrange), new virDomainBlockPeek API (Richard Jones)
- Documentation: coding guidelines (Jim Meyering and Richard Jones), small man page missing entries and cleanup, Web site revamp (Daniel Berrange), typo fixes (Atsushi SAKAI), more docs on network XML format (Daniel Berrange), libvirt Wiki (Daniel Berrange), policykit config docs (Cole Robinson), XML domain docs revamp (Daniel Berrange), docs for remote listen-tls/tcp fixes (Kenneth Nagin),
- Bug fixes: save change to config file for Xen (Ryan Scott), fix /var/run/libvirt/ group ownership (Anton Protopopov), ancient libparted workaround (Soren Hansen), out of bount array access (Daniel Berrange), remote check bug (Dave Leskovec), LXC signal and daemon restart problems (Dave Leskovec), bus selection logic fix in the daemon config (Daniel Berrange), 2 memory leaks in the daemon (Jim Meyering), daemon pid file logic bug fix (Daniel Berrange), python generator fixes (Daniel Berrange), ivarious leaks and memory problem pointed by valgrind (Daniel Berrange), iptables forwarding cleanup (Daniel Berrange), Xen cpuset value checking (Hiroyuki Kaguchi), container process checks for LXC (Dave Leskovec), let xend check block device syntax (Hiroyuki Kaguchi), UUIDString for python fixes (Cole Robinson)
- Improvements: fixes for MinGW compilation (Richard Jones), autostart for running Xen domains (Cole Robinson), control of listening IP for daemon (Stefan de Konink), various Xenner related fixes and improvements (Daniel Berrange) autostart status printed in virsh domainfo (Shigeki Sakamoto), better error messages for xend driver (Richard Jones)
- Code cleanups: OpenVZ compilation (Richard Jones), conn dom and net fields deprecation in error structures (Richard Jones), Xen-ism on UUID (Richard Jones), add missing .pod to dist (Richard Jones), tab cleanup from sources (Jim Meyering), remove unused field in virsh control structure (Richard Jones), compilation without pthread.h (Jim Meyering), cleanup of tests (Daniel Berrange), syntax-check improvements (Jim Meyering), python cleanup, remove dependancy on libc is_* character tests (Jim Meyering), format related cleanups (Jim Meyering), cleanup of the buffer internal APIs (Daniel Berrange), conversion to the new memory allocation API (Daniel Berrange), lcov coverage testing (Daniel Berrange), gnulib updates (Jim Meyering), compatibility fix with RHEL 5 (Daniel Berrange), SuSE compatibility fix (Jim Fehlig), const'ification of a number of structures (Jim Meyering), string comparison macro cleanups (Daniel Berrange), character range testing cleanups and assorted bug fixes (Jim Meyering), QEmu test fixes (Daniel Berrange), configure macro cleanup (Daniel Berrange), refactor QEmu command line building code (Daniel Berrange), type punning warning in remote code (Richard Jones), refactoring of internal headers (Richard Jones), generic out of memory testing and associated bug fixes (Daniel Berrange), don't raise internal error for unsupported features (Kaitlin Rupert), missing driver entry points (Daniel Berrange)

### 0.4.2: Apr 8 2008

- New features: memory operation for QEmu/KVM driver (Cole Robinson), new routed networking schemas (Mads Olesen)
- Documentation: storage documentation fixes (Atsushi Sakai), many typo cleanups (Atsushi Sakai), string fixes (Francesco Tombolini)
- Bug fixes: pointer errors in qemu (Jim Meyering), iSCSI login fix (Chris Lalancette), well formedness error in test driver capabilities (Cole Robinson), fixes cleanup code when daemon exits (Daniel Berrange), CD Rom change on live QEmu/KVM domains (Cole Robinson), setting scheduler parameter is forbidden for read-only (Saori Fukuta)i, fixes for TAP devices (Daniel Berrange), assorted storage driver fixes (Daniel Berrange), Makefile fixes (Jim Meyering), Xen-3.2 hypercall fix, fix iptables rules to avoid blocking traffic within virtual network (Daniel Berrange), XML output fix for directory pools (Daniel Berrange), remove dandling domain/net/conn pointers from error data, do not ask polkit auth when root (Daniel Berrange), handling of fork and pipe errors when starting the daemon (Richard Jones)
- Improvements: better validation of MAC addresses (Jim Meyering and Hiroyuki Kaguchi), virsh vcpupin error report (Shigeki Sakamoto), keep boot tag on HVM domains (Cole Robinson), virsh non-root should not be limited to read only anymore (Daniel Berrange), switch to polkit-auth from polkit-grant (Daniel Berrange), better handling of missing SElinux data (Daniel Berrange and Jim Meyering), cleanup of the connection opening logic (Daniel Berrange), first bits of Linux Containers support (Dave Leskovec), scheduler API support via xend (Saori Fukuta), improvement of the testing framework and first tests (Jim Meyering), missing error messages from virsh parameters validation (Shigeki Sakamoto), improve support of older iscsiadm command (Chris Lalancette), move linux container support in the daemon (Dan Berrange), older awk implementation support (Mike Gerdts), NUMA support in test driver (Cole Robinson), xen and hvm added to test driver capabilities (Cole Robinson)
- Code cleanup: remove unused getopt header (Jim Meyering), mark more strings as translatable (Guido Günther and Jim Meyering), convert error strings to something meaningful and translatable (Jim Meyering), Linux Containers code cleanup, last error initializer (Guido Günther)

### 0.4.1: Mar 3 2008

- New features: build on MacOSX (Richard Jones), storage management (Daniel Berrange), Xenner - Xen on KVM - support (Daniel Berrange)
- Documentation: Fix of various typos (Atsushi SAKAI), memory and vcpu settings details (Richard Jones), ethernet bridging typo (Maxwell Bottiger), add storage APIs documentation (Daniel Berrange)
- Bug fixes: OpenVZ code compilation (Mikhail Pokidko), crash in policykit auth handling (Daniel Berrange), large config files (Daniel Berrange), cpumap hypercall size (Saori Fukuta), crash in remote auth (Daniel Berrange), ssh args error (Daniel Berrange), preserve vif order from config files (Hiroyuki Kaguchi), invalid pointer access (Jim Meyering), virDomainGetXMLDesc flag handling, device name conversion on stats (Daniel Berrange), double mutex lock (Daniel Berrange), config file reading crashes (Guido Guenther), xenUnifiedDomainSuspend bug (Marcus Meissner), do not crash if /sys/hypervisor/capabilities is missing (Mark McLoughlin), virHashRemoveSet bug (Hiroyuki Kaguchi), close-on-exec flag for qemud signal pipe (Daniel Berrange), double free in OpenVZ (Anton Protopopov), handle mac without addresses (Shigeki Sakamoto), MAC addresses checks (Shigeki Sakamoto and Richard Jones), allow to read non-seekable files (Jim Meyering)
- Improvements: Windows build (Richard Jones), KVM/QEmu shutdown (Guido Guenther), catch virExec output on debug (Mark McLoughlin), integration of iptables and lokkit (Mark McLoughlin), keymap parameter for VNC servers (Daniel Hokka Zakrisson), enable debug by default using VIR_DEBUG (Daniel Berrange), xen 3.2 fixes (Daniel Berrange), Python bindings for VCPU and scheduling (Daniel Berrange), framework for automatic code syntax checks (Jim Meyering), allow kernel+initrd setup in Xen PV (Daniel Berrange), allow change of Disk/NIC of an inactive domains (Shigeki Sakamoto), virsh commands to manipulate and create storage(Daniel Berrange), update use of PolicyKit APIs, better detection of fedault hypervisor, block device statistics for QEmu/KVM (Richard Jones), various improvements for Xenner (Daniel Berrange)
- Code cleanups: avoid warnings (Daniel Berrange), virRun helper function (Dan Berrange), iptable code fixes (Mark McLoughlin), static and const cleanups (Jim Meyering), malloc and python cleanups (Jim Meyering), xstrtol_ull and xstrtol_ll functions (Daniel Berrange), remove no-op networking from OpenVZ (Daniel Berrange), python generator cleanups (Daniel Berrange), cleanup ref counting (Daniel Berrange), remove uninitialized warnings (Jim Meyering), cleanup configure for RHEL4 (Daniel Berrange), CR/LF cleanups (Richard Jones), various automatic code check and associated cleanups (Jim Meyering), various memory leaks (Jim Meyering), fix compilation when building without Xen (Guido Guenther), mark translatables strings (Jim Meyering), use virBufferAddLit for constant strings (Jim Meyering), fix make distcheck (Jim Meyering), return values for python bindings (Cole Robinson), trailing blanks fixes (Jim Meyering), gcc-4.3.0 fixes (Mark McLoughlin), use safe read and write routines (Jim Meyering), refactoring of code dealing with hypervisor capabilities (Daniel Berrange), qemudReportError to use virErrorMsg (Cole Robinson), intemediate library and Makefiles for compiling static and coverage rule support (Jim Meyering), cleanup of various leaks (Jim Meyering)

### 0.4.0: Dec 18 2007

- New features: Compilation on Windows cygwin/mingw (Richard Jones), Ruby bindings (David Lutterkort), SASL based authentication for libvirt remote support (Daniel Berrange), PolicyKit authentication (Daniel Berrange)
- Documentation: example files for QEMU and libvirtd configuations (Daniel Berrange), english cleanups (Jim Paris), CIM and OpenVZ references, document <shareable/>, daemon startup when using QEMU/KVM, document HV support for new NUMA calls (Richard Jones), various english fixes (Bruce Montague), OCaml docs links (Richard Jones), describe the various bindings add Ruby link, Windows support page (Richard Jones), authentication documentation updates (Daniel Berrange)
- Bug fixes: NUMA topology error handling (Beth Kon), NUMA topology cells without CPU (Beth Kon), XML to/from XM bridge config (Daniel Berrange), XM processing of vnc parameters (Daniel Berrange), Reset migration source after failure (Jim Paris), negative integer in config (Tatsuro Enokura), zero terminating string buffer, detect integer overflow (Jim Meyering), QEmu command line ending fixes (Daniel Berrange), recursion problem in the daemon (Daniel Berrange), HVM domain with CDRom (Masayuki Sunou), off by one error in NUMA cpu count (Beth Kon), avoid xend errors when adding disks (Masayuki Sunou), compile error (Chris Lalancette), transposed fwrite args (Jim Meyering), compile without xen and on solaris (Jim Paris), parsing of interface names (Richard Jones), overflow for starts on 32bits (Daniel Berrange), fix problems in error reporting (Saori Fukuta), wrong call to brSetForwardDelay changed to brSetEnableSTP (Richard Jones), allow shareable disk in old Xen, fix wrong certificate file (Jim Meyering), avoid some startup error when non-root, off-by-1 buffer NULL termination (Daniel Berrange), various string allocation fixes (Daniel Berrange), avoid problems with vnetXXX interfaces in domain dumps (Daniel Berrange), build fixes for RHEL (Daniel Berrange), virsh prompt should not depend on uid (Richard Jones), fix scaping of '<' (Richard Jones), fix detach-disk on Xen tap devices (Saori Fukuta), CPU parameter setting in XM config (Saori Fukuta), credential handling fixes (Daniel Berrange), fix compatibility with Xen 3.2.0 (Daniel Berrange)
- Improvements: /etc/libvirt/qemu.conf configuration for QEMU driver (Daniel Berrange), NUMA cpu pinning in config files (DV and Saori Fukuta), CDRom media change in KVM/QEMU (Daniel Berrange), tests for <shareable/> in configs, pinning inactive domains for Xen 3.0.3 (Saori Fukuta), use gnulib for portability enhancement (Jim Meyering), --without-libvirtd config option (Richard Jones), Python bindings for NUMA, add extra utility functions to buffer (Richard Jones), separate qparams module for handling query parameters (Richard Jones)
- Code cleanups: remove virDomainRestart from API as it was never used (Richard Jones), constify params for attach/detach APIs (Daniel Berrange), gcc printf attribute checkings (Jim Meyering), refactoring of device parsing code and shell escaping (Daniel Berrange), virsh schedinfo parameters validation (Masayuki Sunou), Avoid risk of format string abuse (Jim Meyering), integer parsing cleanups (Jim Meyering), build out of the source tree (Jim Meyering), URI parsing refactoring (Richard Jones), failed strdup/malloc handling (Jim Meyering), Make "make distcheck" work (Jim Meyering), improve xen internall error reports (Richard Jones), cleanup of the daemon remote code (Daniel Berrange), rename error VIR_FROM_LINUX to VIR_FROM_STATS_LINUX (Richard Jones), don't compile the proxy if without Xen (Richard Jones), fix paths when configuring for /usr prefix, improve error reporting code (Jim Meyering), detect heap allocation failure (Jim Meyering), disable xen sexpr parsing code if Xen is disabled (Daniel Berrange), cleanup of the GetType entry point for Xen drivers, move some QEmu path handling to generic module (Daniel Berrange), many code cleanups related to the Windows port (Richard Jones), disable the proxy if using PolicyKit, readline availability detection, test libvirtd's config-processing code (Jim Meyering), use a variable name as sizeof argument (Jim Meyering)

### 0.3.3: Sep 30 2007

- New features: Avahi mDNS daemon export (Daniel Berrange), NUMA support (Beth Kan)
- Documentation: cleanups (Toth Istvan), typos (Eduardo Pereira),
- Bug fixes: memory corruption on large dumps (Masayuki Sunou), fix virsh vncdisplay command exit (Masayuki Sunou), Fix network stats TX/RX result (Richard Jones), warning on Xen 3.0.3 (Richard Jones), missing buffer check in virDomainXMLDevID (Hugh Brock), avoid zombies when using remote (Daniel Berrange), xend connection error message (Richard Jones), avoid ssh tty prompt (Daniel Berrange), username handling for remote URIs (Fabian Deutsch), fix potential crash on multiple input XML tags (Daniel Berrange), Solaris Xen hypercalls fixup (Mark Johnson)
- Improvements: OpenVZ support (Shuveb Hussain and Anoop Cyriac), CD-Rom reload on XEn (Hugh Brock), PXE boot got QEmu/KVM (Daniel Berrange), QEmu socket permissions customization (Daniel Berrange), more QEmu support (Richard Jones), better path detection for qemu and dnsmasq (Richard Jones), QEmu flags are per-Domain (Daniel Berrange), virsh freecell command, Solaris portability fixes (Mark Johnson), default bootloader support (Daniel Berrange), new virNodeGetFreeMemory API, vncpasswd extraction in configuration files if secure (Mark Johnson and Daniel Berrange), Python bindings for block and interface statistics
- Code cleanups: virDrvOpenRemoteFlags definition (Richard Jones), configure tests and output (Daniel Berrange)

### 0.3.2: Aug 21 2007

- New features: KVM migration and save/restore (Jim Paris), added API for migration (Richard Jones), added APIs for block device and interface statistic (Richard Jones).
- Documentation: examples for XML network APIs, fix typo and schedinfo synopsis in man page (Atsushi SAKAI), hypervisor support page update (Richard Jones).
- Bug fixes: remove a couple of leaks in QEmu/KVM backend(Daniel berrange), fix GnuTLS 1.0 compatibility (Richard Jones), --config/-f option mistake for libvirtd (Richard Jones), remove leak in QEmu backend (Jim Paris), fix some QEmu communication bugs (Jim Paris), UUID lookup though proxy fix, setvcpus checking bugs (with Atsushi SAKAI), int checking in virsh parameters (with Masayuki Sunou), deny devices attach/detach for < Xen 3.0.4 (Masayuki Sunou), XenStore query memory leak (Masayuki Sunou), virsh schedinfo cleanup (Saori Fukuta).
- Improvement: virsh new ttyconsole command, networking API implementation for test driver (Daniel berrange), qemu/kvm feature reporting of ACPI/APIC (David Lutterkort), checking of QEmu architectures (Daniel berrange), improve devices XML errors reporting (Masayuki Sunou), speedup of domain queries on Xen (Daniel berrange), augment XML dumps with interface devices names (Richard Jones), internal API to query drivers for features (Richard Jones).
- Cleanups: Improve virNodeGetInfo implentation (Daniel berrange), general UUID code cleanup (Daniel berrange), fix API generator file selection.

### 0.3.1: Jul 24 2007

- Documentation: index to remote page, script to test certificates, IPv6 remote support docs (Daniel Berrange), document VIRSH_DEFAULT_CONNECT_URI in virsh man page (David Lutterkort), Relax-NG early grammar for the network XML (David Lutterkort)
- Bug fixes: leaks in disk XML parsing (Masayuki Sunou), hypervisor alignment call problems on PPC64 (Christian Ehrhardt), dead client registration in daemon event loop (Daniel Berrange), double free in error handling (Daniel Berrange), close on exec for log file descriptors in the daemon (Daniel Berrange), avoid caching problem in remote daemon (Daniel Berrange), avoid crash after QEmu domain failure (Daniel Berrange)
- Improvements: checks of x509 certificates and keys (Daniel Berrange), error reports in the daemon (Daniel Berrange), checking of Ethernet MAC addresses in XML configs (Masayuki Sunou), support for a new clock switch between UTC and localtime (Daniel Berrange), early version of OpenVZ support (Shuveb Hussain), support for input devices on PS/2 and USB buses (Daniel Berrange), more tests especially the QEmu support (Daniel Berrange), range check in credit scheduler (with Saori Fukuta and Atsushi Sakai), add support for listen VNC parameter un QEmu and fix command line arg (Daniel Berrange)
- Cleanups: debug tracing (Richard Jones), removal of --with-qemud-pid-file (Richard Jones), remove unused virDeviceMode, new util module for code shared between drivers (Shuveb Hussain), xen header location detection (Richard Jones)

### 0.3.0: Jul 9 2007

- Secure Remote support (Richard Jones). See the remote page of the documentation
- Documentation: remote support (Richard Jones), description of the URI connection strings (Richard Jones), update of virsh man page, matrix of libvirt API/hypervisor support with version information (Richard Jones)
- Bug fixes: examples Makefile.am generation (Richard Jones), SetMem fix (Mark Johnson), URI handling and ordering of drivers (Daniel Berrange), fix virsh help without hypervisor (Richard Jones), id marshalling fix (Daniel Berrange), fix virConnectGetMaxVcpus on remote (Richard Jones), avoid a realloc leak (Jim Meyering), scheduler parameters handling for Xen (Richard Jones), various early remote bug fixes (Richard Jones), remove virsh leaks of domains references (Masayuki Sunou), configCache refill bug (Richard Jones), fix XML serialization bugs
- Improvements: QEmu switch to XDR-based protocol (Dan Berrange), device attach/detach commands (Masayuki Sunou), OCaml bindings (Richard Jones), new entry points virDomainGetConnect and virNetworkGetConnect useful for bindings (Richard Jones), reunitifaction of remote and qemu daemon under a single libvirtd with a config file (Daniel Berrange)
- Cleanups: parsing of connection URIs (Richard Jones), messages from virsh (Saori Fukuta), Coverage files (Daniel Berrange), Solaris fixes (Mark Johnson), avoid [r]index calls (Richard Jones), release information in Xen backend, virsh cpupin command cleanups (Masayuki Sunou), xen:/// suppport as standard Xen URI (Richard Jones and Daniel Berrange), improve driver selection/decline mechanism (Richard Jones), error reporting on XML dump (Richard Jones), Remove unused virDomainKernel structure (Richard Jones), daemon event loop event handling (Daniel Berrange), various unifications cleanup in the daemon merging (Daniel Berrange), internal file and timer monitoring API (Daniel Berrange), remove libsysfs dependancy, call brctl program directly (Daniel Berrange), virBuffer functions cleanups (Richard Jones), make init script LSB compliant, error handling on lookup functions (Richard Jones), remove internal virGetDomainByID (Richard Jones), revamp of xen subdrivers interfaces (Richard Jones)
- Localization updates

### 0.2.3: Jun 8 2007

- Documentation: documentation for upcoming remote access (Richard Jones), virConnectNumOfDefinedDomains doc (Jan Michael), virsh help messages for dumpxml and net-dumpxml (Chris Wright),
- Bug fixes: RelaxNG schemas regexp fix (Robin Green), RelaxNG arch bug (Mark McLoughlin), large buffers bug fixes (Shigeki Sakamoto), error on out of memory condition (Shigeki Sakamoto), virshStrdup fix, non-root driver when using Xen bug (Richard Jones), use --strict-order when running dnsmasq (Daniel Berrange), virbr0 weirdness on restart (Mark McLoughlin), keep connection error messages (Richard Jones), increase QEmu read buffer on help (Daniel Berrange), rpm dependance on dnsmasq (Daniel Berrange), fix XML boot device syntax (Daniel Berrange), QEmu memory bug (Daniel Berrange), memory leak fix (Masayuki Sunou), fix compiler flags (Richard Jones), remove type ioemu on recent Xen HVM for paravirt drivers (Saori Fukuta), uninitialized string bug (Masayuki Sunou), allow init even if the daemon is not running, XML to config fix (Daniel Berrange)
- Improvements: add a special error class for the test module (Richard Jones), virConnectGetCapabilities on proxy (Richard Jones), allow network driver to decline usage (Richard Jones), extend error messages for upcoming remote access (Richard Jones), on_reboot support for QEmu (Daniel Berrange), save daemon output in a log file (Daniel Berrange), xenXMDomainDefineXML can override guest config (Hugh Brock), add attach-device and detach-device commands to virsh (Masayuki Sunou and Mark McLoughlin and Richard Jones), make virGetVersion case insensitive and Python bindings (Richard Jones), new scheduler API (Atsushi SAKAI), localizations updates, add logging option for virsh (Nobuhiro Itou), allow arguments to be passed to bootloader (Hugh Brock), increase the test suite (Daniel Berrange and Hugh Brock)
- Cleanups: Remove VIR_DRV_OPEN_QUIET (Richard Jones), disable xm_internal.c for Xen > 3.0.3 (Daniel Berrange), unused fields in _virDomain (Richard Jones), export __virGetDomain and __virGetNetwork for libvirtd only (Richard Jones), ignore old VNC config for HVM on recent Xen (Daniel Berrange), various code cleanups, -Werror cleanup (Hugh Brock)

### 0.2.2: Apr 17 2007

- Documentation: fix errors due to Amaya (with Simon Hernandez), virsh uses kB not bytes (Atsushi SAKAI), add command line help to qemud (Richard Jones), xenUnifiedRegister docs (Atsushi SAKAI), strings typos (Nikolay Sivov), ilocalization probalem raised by Thomas Canniot
- Bug fixes: virsh memory values test (Masayuki Sunou), operations without libvirt_qemud (Atsushi SAKAI), fix spec file (Florian La Roche, Jeremy Katz, Michael Schwendt), direct hypervisor call (Atsushi SAKAI), buffer overflow on qemu networking command (Daniel Berrange), buffer overflow in quemud (Daniel Berrange), virsh vcpupin bug (Masayuki Sunou), host PAE detections and strcuctures size (Richard Jones), Xen PAE flag handling (Daniel Berrange), bridged config configuration (Daniel Berrange), erroneous XEN_V2_OP_SETMAXMEM value (Masayuki Sunou), memory free error (Mark McLoughlin), set VIR_CONNECT_RO on read-only connections (S.Sakamoto), avoid memory explosion bug (Daniel Berrange), integer overflow for qemu CPU time (Daniel Berrange), QEMU binary path check (Daniel Berrange)
- Cleanups: remove some global variables (Jim Meyering), printf-style functions checks (Jim Meyering), better virsh error messages, increase compiler checkings and security (Daniel Berrange), virBufferGrow usage and docs, use calloc instead of malloc/memset, replace all sprintf by snprintf, avoid configure clobbering user's CTAGS (Jim Meyering), signal handler error cleanup (Richard Jones), iptables internal code claenup (Mark McLoughlin), unified Xen driver (Richard Jones), cleanup XPath libxml2 calls, IPTables rules tightening (Daniel Berrange),
- Improvements: more regression tests on XML (Daniel Berrange), Python bindings now generate exception in error cases (Richard Jones), Python bindings for vir*GetAutoStart (Daniel Berrange), handling of CD-Rom device without device name (Nobuhiro Itou), fix hypervisor call to work with Xen 3.0.5 (Daniel Berrange), DomainGetOSType for inactive domains (Daniel Berrange), multiple boot devices for HVM (Daniel Berrange),

### 0.2.1: Mar 16 2007

- Various internal cleanups (Richard Jones,Daniel Berrange,Mark McLoughlin)
- Bug fixes: libvirt_qemud daemon path (Daniel Berrange), libvirt config directory (Daniel Berrange and Mark McLoughlin), memory leak in qemud (Mark), various fixes on network support (Mark), avoid Xen domain zombies on device hotplug errors (Daniel Berrange), various fixes on qemud (Mark), args parsing (Richard Jones), virsh -t argument (Saori Fukuta), avoid virsh crash on TAB key (Daniel Berrange), detect xend operation failures (Kazuki Mizushima), don't listen on null socket (Rich Jones), read-only socket cleanup (Rich Jones), use of vnc port 5900 (Nobuhiro Itou), assorted networking fixes (Daniel Berrange), shutoff and shutdown mismatches (Kazuki Mizushima), unlimited memory handling (Atsushi SAKAI), python binding fixes (Tatsuro Enokura)
- Build and portability fixes: IA64 fixes (Atsushi SAKAI), dependancies and build (Daniel Berrange), fix xend port detection (Daniel Berrange), icompile time warnings (Mark), avoid const related compiler warnings (Daniel Berrange), automated builds (Daniel Berrange), pointer/int mismatch (Richard Jones), configure time selection of drivers, libvirt spec hacking (Daniel Berrange)
- Add support for network autostart and init scripts (Mark McLoughlin)
- New API virConnectGetCapabilities() to detect the virtualization capabilities of a host (Richard Jones)
- Minor improvements: qemud signal handling (Mark), don't shutdown or reboot domain0 (Kazuki Mizushima), QEmu version autodetection (Daniel Berrange), network UUIDs (Mark), speed up UUID domain lookups (Tatsuro Enokura and Daniel Berrange), support for paused QEmu CPU (Daniel Berrange), keymap VNC attribute support (Takahashi Tomohiro and Daniel Berrange), maximum number of virtual CPU (Masayuki Sunou), virtsh --readonly option (Rich Jones), python bindings for new functions (Daniel Berrange)
- Documentation updates especially on the XML formats

### 0.2.0: Feb 14 2007

- Various internal cleanups (Mark McLoughlin, Richard Jones, Daniel Berrange, Karel Zak)
- Bug fixes: avoid a crash in connect (Daniel Berrange), virsh args parsing (Richard Jones)
- Add support for QEmu and KVM virtualization (Daniel Berrange)
- Add support for network configuration (Mark McLoughlin)
- Minor improvements: regression testing (Daniel Berrange), localization string updates

### 0.1.11: Jan 22 2007

- Finish XML <-> XM config files support
- Remove memory leak when freeing virConf objects
- Finishing inactive domain support (Daniel Berrange)
- Added a Relax-NG schemas to check XML instances

### 0.1.10: Dec 20 2006

- more localizations
- bug fixes: VCPU info breakages on xen 3.0.3, xenDaemonListDomains buffer overflow (Daniel Berrange), reference count bug when creating Xen domains (Daniel Berrange).
- improvements: support graphic framebuffer for Xen paravirt (Daniel Berrange), VNC listen IP range support (Daniel Berrange), support for default Xen config files and inactive domains of 3.0.4 (Daniel Berrange).

### 0.1.9: Nov 29 2006

- python bindings: release interpeter lock when calling C (Daniel Berrange)
- don't raise HTTP error when looking information for a domain
- some refactoring to use the driver for all entry points
- better error reporting (Daniel Berrange)
- fix OS reporting when running as non-root
- provide XML parsing errors
- extension of the test framework (Daniel Berrange)
- fix the reconnect regression test
- python bindings: Domain instances now link to the Connect to avoid garbage collection and disconnect
- separate the notion of maximum memory and current use at the XML level
- Fix a memory leak (Daniel Berrange)
- add support for shareable drives
- add support for non-bridge style networking configs for guests(Daniel Berrange)
- python bindings: fix unsigned long marshalling (Daniel Berrange)
- new config APIs virConfNew() and virConfSetValue() to build configs from scratch
- hot plug device support based on Michel Ponceau patch
- added support for inactive domains, new APIs, various associated cleanup (Daniel Berrange)
- special device model for HVM guests (Daniel Berrange)
- add API to dump core of domains (but requires a patched xend)
- pygrub bootloader information take over <os> information
- updated the localization strings

### 0.1.8: Oct 16 2006

- Bug for system with page size != 4k
- vcpu number initialization (Philippe Berthault)
- don't label crashed domains as shut off (Peter Vetere)
- fix virsh man page (Noriko Mizumoto)
- blktapdd support for alternate drivers like blktap (Daniel Berrange)
- memory leak fixes (xend interface and XML parsing) (Daniel Berrange)
- compile fix
- mlock/munlock size fixes (Daniel Berrange)
- improve error reporting

### 0.1.7: Sep 29 2006

- fix a memory bug on getting vcpu information from xend (Daniel Berrange)
- fix another problem in the hypercalls change in Xen changeset 86d26e6ec89b when getting domain information (Daniel Berrange)

### 0.1.6: Sep 22 2006

- Support for localization of strings using gettext (Daniel Berrange)
- Support for new Xen-3.0.3 cdrom and disk configuration (Daniel Berrange)
- Support for setting VNC port when creating domains with new xend config files (Daniel Berrange)
- Fix bug when running against xen-3.0.2 hypercalls (Jim Fehlig)
- Fix reconnection problem when talking directly to http xend

### 0.1.5: Sep 5 2006

- Support for new hypercalls change in Xen changeset 86d26e6ec89b
- bug fixes: virParseUUID() was wrong, netwoking for paravirt guestsi (Daniel Berrange), virsh on non-existent domains (Daniel Berrange), string cast bug when handling error in python (Pete Vetere), HTTP 500 xend error code handling (Pete Vetere and Daniel Berrange)
- improvements: test suite for SEXPR <-> XML format conversions (Daniel Berrange), virsh output regression suite (Daniel Berrange), new environ variable VIRSH_DEFAULT_CONNECT_URI for the default URI when connecting (Daniel Berrange), graphical console support for paravirt guests (Jeremy Katz), parsing of simple Xen config files (with Daniel Berrange), early work on defined (not running) domains (Daniel Berrange), virsh output improvement (Daniel Berrange

### 0.1.4: Aug 16 2006

- bug fixes: spec file fix (Mark McLoughlin), error report problem (with Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML generation bug for CDRom (Daniel Berrange), bug whem using number() XPath function (Mark McLoughlin), fix python detection code, remove duplicate initialization errors (Daniel Berrange)
- improvements: UUID in XML description (Peter Vetere), proxy code cleanup, virtual CPU and affinity support + virsh support (Michel Ponceau, Philippe Berthault, Daniel Berrange), port and tty information for console in XML (Daniel Berrange), added XML dump to driver and proxy support (Daniel Berrange), extention of boot options with support for floppy and cdrom (Daniel Berrange), features block in XML to report/ask PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect operations when using read-only connection, large improvements to test driver (Daniel Berrange)
- documentation: spelling (Daniel Berrange), test driver examples.

### 0.1.3: Jul 11 2006

- bugfixes: build as non-root, fix xend access when root, handling of empty XML elements (Mark McLoughlin), XML serialization and parsing fixes (Mark McLoughlin), allow to create domains without disk (Mark McLoughlin),
- improvement: xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange), support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)
- documentation: augmented to cover hvm domains

### 0.1.2: Jul 3 2006

- headers include paths fixup
- proxy mechanism for unprivileged read-only access by httpu

### 0.1.1: Jun 21 2006

- building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P. Berrange)
- driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P. Berrange)
- Cope with API change introduced in Xen changeset 10277
- new test driver for regression checks (Daniel P. Berrange)
- improvements: added UUID to XML serialization, buffer usage (Karel Zak), --connect argument to virsh (Daniel P. Berrange),
- bug fixes: uninitialized memory access in error reporting, S-Expr parsing (Jim Fehlig, Jeremy Katz), virConnectOpen bug, remove a TODO in xs_internal.c
- documentation: Python examples (David Lutterkort), new Perl binding URL, man page update (Karel Zak)

### 0.1.0: Apr 10 2006

- building fixes: --with-xen-distdir option (Ronald Aigner), out of tree build and pkginfo cflag fix (Daniel Berrange)
- enhancement and fixes of the XML description format (David Lutterkort and Jim Fehlig)
- new APIs: for Node information and Reboot
- internal code cleanup: refactoring internals into a driver model, more error handling, structure sharing, thread safety and ref counting
- bug fixes: error message (Jim Meyering), error allocation in virsh (Jim Meyering), virDomainLookupByID (Jim Fehlig),
- documentation: updates on architecture, and format, typo fix (Jim Meyering)
- bindings: exception handling in examples (Jim Meyering), perl ones out of tree (Daniel Berrange)
- virsh: more options, create, nodeinfo (Karel Zak), renaming of some options (Karel Zak), use stderr only for errors (Karel Zak), man page (Andrew Puch)

### 0.0.6: Feb 28 2006

- add UUID lookup and extract API
- add error handling APIs both synchronous and asynchronous
- added minimal hook for error handling at the python level, improved the python bindings
- augment the documentation and tests to cover error handling

### 0.0.5: Feb 23 2006

- Added XML description parsing, dependance to libxml2, implemented the creation API virDomainCreateLinux()
- new APIs to lookup and name domain by UUID
- fixed the XML dump when using the Xend access
- Fixed a few more problem related to the name change
- Adding regression tests in python and examples in C
- web site improvement, extended the documentation to cover the XML format and Python API
- Added devhelp help for Gnome/Gtk programmers

### 0.0.4: Feb 10 2006

- Fix various bugs introduced in the name change

### 0.0.3: Feb 9 2006

- Switch name from from 'libvir' to libvirt
- Starting infrastructure to add code examples
- Update of python bindings for completeness

### 0.0.2: Jan 29 2006

- Update of the documentation, web site redesign (Diana Fong)
- integration of HTTP xend RPC based on libxend by Anthony Liquori for most operations
- Adding Save and Restore APIs
- extended the virsh command line tool (Karel Zak)
- remove xenstore transactions (Anthony Liguori)
- fix the Python bindings bug when domain and connections where freed

### 0.0.1: Dec 19 2005

- First release
- Basic management of existing Xen domains
- Minimal autogenerated Python bindings