# Releases (2008)

Here is the list of official releases made during the year 2008. A similar list for 2007 is also available.

It is also possible to just use the GIT version or snapshot, contact the mailing list and check the GIT log to gauge progress.

### 0.5.1: Dec 04 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

- 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 08 2008

- 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 convenience 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 enumerations (Daniel P. Berrange)

### 0.4.3: Jun 12 2008

- 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)
- 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 08 2008

- 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)
- Cleanups:
  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 03 2008

- 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)
- 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)