# Release notes for vmadm

vmadm is a tool to create and destroy virtual machines running under a
local libvirt. This file documents important or user-visible changes
from release to release.

## Version 0.5.0, released 2026-03-14

Five years of occasional tinkering.

* There's too many changes to list individually. It's like a whole new
  first-ever release. Sorry.

## Version 0.4.0, released 2021-04-01

When operating on multiple virtual machines at once, vmadm now does
them more in parallel. When creating them, all are created once before
vmadm waits for them to be ready for SSH. Previously, each virtual
machine was created, then waited on. The new way allows all machines
to boot up concurrently, meaning the process as a whole goes faster.
Similarly for the other operations.

The configuration and specification files now allow filenames to use
the tilde syntax for referring to the user's home directory. For
example:

~~~yaml
default_base_image: ~/tmp/debian-10-openstack-amd64.qcow2
~~~

vmadm is now more resilient against minor problems, such as when
staring a virtual machine that is already running. Such benign
problems are now handled quietly.

Error messages are now more specific and useful. If vmadm fails to
open a file, it says what file it is.

## Version 0.3.0, released 2021-03-23

This release adds the ability to mark a new VM to be automatically
started when the host starts.

There are also some bug fixes to build-dependencies, but not visible
to those using the software.

## Version 0.2.1, released 2021-03-14

This is a bug fix release. Previously, a VM created by vmadm had the
cloud-init configuration ISO attached, but since it was a temporary
file, it didn't exist. This prevented a VM from being turned off and
back on again. This is now fixed: the ISO file is detached after the
VM has booted the first time.

## Version 0.2.0, released 2021-03-13

This is the first release. It can create and destroy virtual machines
listed in a specification file, and list all virtual machines running
under libvirt. It's just barely usable.
