Releases: kwmx/virmill
Release list
Virmill 1.0.0-beta.6 (owner-test pre-release)
Owner-test pre-release. This is not a certified Virmill 1.0. 2 of the 71
acceptance scenarios are accepted, and the project's release gate still blocks
1.0. The packages are unsigned. Install it only on a disposable host, with images
you're allowed to use, and never run the CLI or TUI as root.
Built from 3e24ce8f41a3674e48e3ca9b835c167002fd0d34 with the pinned Go 1.27.1
toolchain and vendored dependencies, offline.
What's new since beta.5
This release is about the most important thing: getting from an image to a VM
you can use.
- New VM. Press
n(or choose New VM) and pick an ISO, a disk image or
an OVA. Virmill reads it and shows one page: name, CPU, memory, the
installer's disk size, and Start it and open its display, which is on.
Press Enter on Create VM, read one confirmation, press Enter again. That's
it. Everything else is under Advanced settings, and Esc asks before it
throws your settings away. - No more "no storage pool" dead end. If there's no usable pool, the same
confirmation sets up libvirt's standard pool first, or starts a stopped one.
On a host with several pools, the one that starts with the host (or the one
with the most free space) is picked and shown. - Progress on the same screen, one line per step, until the VM is running.
- The display opens by itself when the VM starts, in its own window, and
Virmill stays usable while it's open. To open it again, pressvon a
running VM, or choose Display. If the viewer can't attach, it says why. - One plain confirmation for every change. No more checkbox per item or
raw identifiers: it lists what you agree to in plain words.dshows the
technical plan. - Your own VMs start without a manual libvirt step. The packages ship a
per-user libvirt socket that starts with Virmill's coordinator. - The installer disk defaults to a size that fits your free space, and a
refused preview is shown on the page instead of disappearing.
From a host with nothing set up, a disk image took 72 keypresses and two
reviews in beta.5. It now takes three keypresses after choosing the file.
See CHANGELOG.md.
Install
Check the downloads first:
sha256sum -c SHA256SUMSFedora:
sudo dnf install ./virmill-1.0.0-0.beta.6.x86_64.rpmDebian/Ubuntu:
sudo apt install ./virmill_1.0.0.beta.6_amd64.debIf you already run beta.4 or beta.5, virmill update installs this one for you.
After upgrading, restart the coordinator once so it picks up the new libvirt
socket: systemctl --user restart virmilld.service.
GitHub doesn't allow ~ in download names, so the DEB files here use . instead.
The package version inside is still 1.0.0~beta.6.
What is tested, and what is not
On a disposable Fedora 44 test VM, through the installed packages:
- New VM from a disk image, an ISO and an OVA, each reaching a running VM with
its viewer open in three keypresses and one confirmation: on your own session
connection starting with no storage pool, and on the system connection with
several pools and the default network. Screenshots showed each viewer window
drawing the VM's screen. - VMs starting on the session connection after libvirt's own idle exit, with no
manual step. - An RPM upgrade from beta.5, and DEB installation in Debian 13 and Ubuntu 24.04
containers.
Not yet tested: the system connection with no storage pool, a real desktop (the
viewer ran on a virtual display), and appliances whose network adapters need a
network on a host that has none.
Known problem: removing a VM together with its disks no longer refuses just
because other VMs use disk files outside storage pools. But on a system
connection where pool images are readable only by root or qemu (common), it
still refuses, now with "permission denied". Removing the VM while keeping its
disks works. No guest operating system, physical hardware or real
Debian/Ubuntu host is qualified by these results.
Virmill 1.0.0-beta.5 (owner-test pre-release)
Owner-test pre-release. This is not a certified Virmill 1.0. 2 of the 71
acceptance scenarios are accepted, and the project's release gate still blocks
1.0. The packages are unsigned. Install it only on a disposable host, with images
you're allowed to use, and never run the CLI or TUI as root.
Built from cdcd0958f5f3a92ce395f680a70f4580a3068187 with the pinned Go 1.27.1
toolchain and vendored dependencies, offline.
What's new since beta.4
This is the everyday VM lifecycle release: the things you do to a VM after it
exists.
- Power actions you can rely on. Start, graceful stop, force off, restart,
pause, resume, save and restore, on both your own session and the system
connection. Force off is in the TUI, and it works on a paused VM too.
When a guest ignores a shutdown request — because it has no operating system,
or just ignores the power button — the job now says so after 60 seconds and
leaves the VM free, instead of holding it while nothing happens. - Change CPU and memory while a VM runs. The change is saved for the next
boot; the running VM keeps what it has until you shut it down. Unknown parts
of a VM's definition are preserved. - Grow a disk. Make a stopped VM's disk larger, on a file or a pool volume.
Partitions inside the guest keep their size — extend them there. - Add a disk. Give a stopped VM one more empty disk in its own pool, at the
next free target on the bus its disks already use. If an addition stops part
way, Close disk addition finishes it: keep the new disk, or delete the
unused volume. Nothing is left holding the VM. - Move a disk to another pool. The disk is copied, checked against the
original byte for byte, and only then does the VM start using the copy; the
original is deleted unless you keep it. The guest sees the same disk in the
same place. - Remove a VM Virmill made, or a UEFI VM. The definition goes and the disks
stay, together with a UEFI VM's firmware settings file and an emulated TPM's
state.
Two ways a VM could get stuck, now fixed
- A boot that never reached the guest used to leave the VM locked by a job that
could not be resolved — so you could not even force it off. A boot that
provably did nothing now fails plainly and frees the VM. - On a host where nothing has started libvirt for your own user, the coordinator
would start it itself, and that copy can never launch QEMU, so every start
failed with a bare permission error. Virmill now says so before making a plan,
with the one command that fixes it, andvirmill doctorreports the same
thing.
See CHANGELOG.md.
Install
Check the downloads first:
sha256sum -c SHA256SUMSFedora:
sudo dnf install ./virmill-1.0.0-0.beta.5.x86_64.rpmDebian/Ubuntu:
sudo apt install ./virmill_1.0.0.beta.5_amd64.debIf you already run beta.4, virmill update installs this one for you.
GitHub doesn't allow ~ in download names, so the DEB files here use . instead.
The package version inside is still 1.0.0~beta.5.
What is tested, and what is not
Everything above was run on a disposable Fedora 44 test VM through the installed
packages, and each run is recorded in docs/evidence. Disk add and move are
qualified on your own session connection only, not yet on the system
connection, and moving a booted guest's own boot disk is untested. Full clones,
live CPU and memory changes, console access and autostart across a host restart
are not done yet. No guest operating system, physical hardware or real
Debian/Ubuntu host is qualified by these results.
Virmill 1.0.0-beta.4 (owner-test pre-release)
Owner-test pre-release. This is not a certified Virmill 1.0. 2 of the 71
acceptance scenarios are accepted, and the project's release gate still blocks
1.0. The packages are unsigned. Install it only on a disposable host, with images
you're allowed to use, and never run the CLI or TUI as root.
Built from f6a2c9a98bfcc272765ca93f99fd4f40ffc1607b with the pinned Go 1.27.1
toolchain and vendored dependencies, offline.
What's new since beta.3
virmill update. Virmill checks GitHub for a newer release at most once a
day and tells you in the TUI and after interactive commands.virmill update
downloads the RPM or DEB packages you use, checks them against the release's
SHA256SUMSand their own package name and version, installs them with dnf or
apt (which asks for your password) and restarts your coordinator. It refuses
while jobs are running. Turn the daily check off withvirmill update checks off.
This is the first beta with the updater: install it by hand once, and later
betas can be installed withvirmill update.- A simpler TUI.
- The header shows the page, running or failed jobs and the connection.
- One line lists the keys for the current page, and buttons wrap instead of
hiding. - The Overview is a home screen: VMs, storage, whether the host is ready, jobs
and the last job. - Lists show CPU and RAM for VMs, network type and address, pool size and
free space, and jobs by task and VM instead of an ID. - Network and storage details are written in plain language, and
xshows
libvirt XML as XML. - Settings shows the host check with install commands.
- Menus offer only the power actions the VM's state allows, and Help is
grouped by task. - Unfinished sections are labeled.
- A readable
virmill doctorthat lists what is missing and gives the exact
dnforaptcommand to install it. - Stripped binaries, about a third smaller.
See CHANGELOG.md.
Install
Check the downloads first:
sha256sum -c SHA256SUMSFedora:
sudo dnf install ./virmill-1.0.0-0.beta.4.x86_64.rpmDebian/Ubuntu:
sudo apt install ./virmill_1.0.0.beta.4_amd64.debGitHub doesn't allow ~ in download names, so the DEB files here use . instead.
The package version inside is still 1.0.0~beta.4.
The virmill-host-helper packages hold the privileged helper. Install one only when
a workflow needs it. Installing it grants no permissions; an administrator has to
set up its policy separately.
Then, as your normal user:
systemctl --user daemon-reload
systemctl --user start virmilld.service
virmill doctor
virmillIf you're upgrading from beta.3, stop virmilld.service before installing and start
it again afterwards. The beta guide
walks through a test sequence, and updates
explains the updater.
Tested for this release
- Fedora 44 test VM, upgraded in place from beta.3: the installed binaries match
this build, CLI inventory commands work, and the TUI starts and exits at 80×24.
Existing guests, networks, source media and helper policy were unchanged. - TUI walkthroughs on that VM: VM filtering, details and task menus at 80×24 and
120×36, network creation forms (each matched its CLI plan), Jobs → Activity,
and source detection for qcow2, raw, VMDK, VDI, VHD, VHDX, ISO and folder
sources. The installed beta.4 checked GitHub and found no newer release.
CPU/RAM edits, automatic startup and disk removal through the redesigned menus
passed on a pre-release build of the same TUI. - The updater, on the same VM: a test build labelled 1.0.0-beta.2 ran
virmill update, which downloaded the published beta.3 RPMs from GitHub,
verified them, installed them through dnf and restarted the coordinator. - Debian 13 and Ubuntu 24.04 containers: both DEBs pass dpkg's archive checks,
install with apt, verify, runvirmill versionas a normal user, and purge
without leaving files behind. lintian reports no errors. - Full Go test suite, vet and package integration tests. Two clean builds of this
commit produced byte-identical binaries and packages, matching the files
attached here.
These checks used generated test images and containers. They don't certify any
guest operating system, physical hardware, or a real Debian/Ubuntu host.
Known limitations
- Not available yet: UEFI/TPM restore, restores that keep the original VM identity,
and snapshot revert. - Not available yet: lab apply/teardown, physical bridges, Wi-Fi bridging, port
forwards, USB/PCI device attachment, and IPv6 networking. - Backups can't be scheduled and have no retention yet. Local captures are not
encrypted; use the encrypted backup repository workflow instead. - Packages are unsigned, and no guest OS family is certified. The DEBs were tested
in containers only. - The updater checks downloads against the release's
SHA256SUMS. That catches
damaged files but not a tampered release, because the checksums come from the
same place. Its apt path is covered by tests but has not updated a real
Debian or Ubuntu host yet.
Full list: beta guide, incomplete workflows
and the requirements tracker.
SHA-256
| File | SHA-256 |
|---|---|
virmill-1.0.0-0.beta.4.x86_64.rpm |
1081f117391876d8e659433fd584ad4b984024cab59b31baea5318d162799838 |
virmill-host-helper-1.0.0-0.beta.4.x86_64.rpm |
057e9a59d52f40c397023b9525c53f3a8d1630d2c0e8921e394d4f7d4f9cca83 |
virmill_1.0.0.beta.4_amd64.deb |
b07d74af941433977c2f5c9af26398d1f7b10a8a665f41caa42ed0bbd481d052 |
virmill-host-helper_1.0.0.beta.4_amd64.deb |
003b70716a3f0d2912dc5eb536c2e70f0f79c8065512dc987a526c8a78d7b385 |
virmill-1.0.0-beta.4-source.tar.gz |
86d06bc20b878ae257ac516a0faa7e19187b7c6bfc3583ec9badd52aa1717fb3 |
Virmill 1.0.0-beta.3 (owner-test pre-release)
Owner-test pre-release. This is not a certified Virmill 1.0. 2 of the 71
acceptance scenarios are accepted, and the project's release gate still blocks
1.0. The packages are unsigned. Install it only on a disposable host, with images
you're allowed to use, and never run the CLI or TUI as root.
Built from 0627800b70d6e04e826df72d7dc0e257c1c0d7df with the pinned Go 1.27.1
toolchain and vendored dependencies, offline.
What's new since beta.2
- The DEBs now install on Debian and Ubuntu. The beta.2 DEBs could not be
installed: dpkg stopped because the packages didn't list their directories.
The new DEBs also include a copyright file, a changelog, file checksums, a
maintainer address and a full description. - Pressing Esc on an unused Import started from the VM list (
i) now takes you
back to the list instead of leaving the VM's More tasks menu open.
See CHANGELOG.md.
Install
Check the downloads first:
sha256sum -c SHA256SUMSFedora:
sudo dnf install ./virmill-1.0.0-0.beta.3.x86_64.rpmDebian/Ubuntu:
sudo apt install ./virmill_1.0.0.beta.3_amd64.debGitHub doesn't allow ~ in download names, so the DEB files here use . instead.
The package version inside is still 1.0.0~beta.3.
The virmill-host-helper packages hold the privileged helper. Install one only when
a workflow needs it. Installing it grants no permissions; an administrator has to
set up its policy separately.
Then, as your normal user:
systemctl --user daemon-reload
systemctl --user start virmilld.service
virmill doctor
virmillIf you're upgrading from beta.2, stop virmilld.service before installing and start
it again afterwards. The beta guide
walks through a test sequence.
Tested for this release
- Fedora 44 test VM, upgraded in place from beta.2: the installed binaries match
this build, CLI inventory commands work, and the TUI starts and exits at 80×24.
Existing guests, networks, source media and helper policy were unchanged. - TUI walkthroughs on that VM: VM filtering and details, the CPU/RAM screen, a
start review (not applied), task menus, the Import file browser and the new Esc
behavior, network creation forms (each matched its CLI plan), Jobs → Activity, and
source detection for qcow2, raw, VMDK, VDI, VHD, VHDX, ISO and folder sources. - Debian 13 and Ubuntu 24.04 containers: both DEBs pass dpkg's archive checks,
install with apt, verify, runvirmill versionas a normal user, and purge
without leaving files behind. - Full Go test suite, vet and package integration tests. Two clean builds of this
commit produced byte-identical binaries and packages, matching the files
attached here.
These checks used generated test images and containers. They don't certify any
guest operating system, physical hardware, or a real Debian/Ubuntu host.
Known limitations
- Not available yet: UEFI/TPM restore, restores that keep the original VM identity,
and snapshot revert. - Not available yet: lab apply/teardown, physical bridges, Wi-Fi bridging, port
forwards, USB/PCI device attachment, and IPv6 networking. - Backups can't be scheduled and have no retention yet. Local captures are not
encrypted; use the encrypted backup repository workflow instead. - Packages are unsigned, and no guest OS family is certified. The DEBs were tested
in containers only. The programs keep their debug symbols, which Debian's lintian
reports as an error.
Full list: beta guide, incomplete workflows
and the requirements tracker.
SHA-256
| File | SHA-256 |
|---|---|
virmill-1.0.0-0.beta.3.x86_64.rpm |
fa75f7658731b3087aab1762833dec644204d8039d8a4003929982e55b9ecfae |
virmill-host-helper-1.0.0-0.beta.3.x86_64.rpm |
fe3a154d8b50cd31db47876de1c51c854b988bc3457fb73e7f7e802295c41986 |
virmill_1.0.0.beta.3_amd64.deb |
8c0d005b6eddef4dda9e6ace1305edb3aa648835d19e09025faff8de355e32ea |
virmill-host-helper_1.0.0.beta.3_amd64.deb |
0707956630e810902968aa2a71a3d51b2051f00c6c6104e3d5b2f36b3f14eae0 |
virmill-1.0.0-beta.3-source.tar.gz |
e8fff234771fd97ff2f3973ea3702cc36b9698d7653da0441690f3e5b93453af |
Virmill 1.0.0-beta.2 (owner-test pre-release)
Owner-test pre-release. This is not a certified Virmill 1.0. 2 of the 71
acceptance scenarios are accepted, and the project's release gate still blocks
1.0. The packages are unsigned. Install it only on a disposable host, with images
you're allowed to use, and never run the CLI or TUI as root.
Built from b327d7bdef5e3c159fcfea1df1cc346e603837d9 with the pinned Go 1.27.1
toolchain and vendored dependencies, offline.
What's new since beta.1
- The TUI is now a resource workspace, with visible action buttons, grouped task
menus, keyboard action search and a local file browser. - Import: settings export, a review of appliance metadata before preparation,
cancellable checks for large images, and setup drafts you can resume later. - Guided VM setup covers CPU/RAM, firmware, disks, boot order and networks. You can
create or refresh a network without leaving setup. - New graphical guests use a private local SPICE display when the host supports it.
Serial console access works from a plain terminal. - Guest tools setup, guest integration channel edits and backup receipt recovery,
each behind a review step. - Guided network creation for NAT, isolated lab and guest-only networks.
- VM management: current CPU/RAM values are shown before you edit them, autostart
can be toggled, and removing a VM keeps its disks unless you pick specific disks
to delete (vm remove --delete-disk, or the per-disk choices in the TUI). - Jobs → Activity shows full event messages with paging. Completed jobs can open
their VM.
See CHANGELOG.md.
Install
Check the downloads first:
sha256sum -c SHA256SUMSFedora:
sudo dnf install ./virmill-1.0.0-0.beta.2.x86_64.rpmDebian/Ubuntu (built on Fedora; not yet tested on Debian or Ubuntu):
sudo apt install ./virmill_1.0.0.beta.2_amd64.debGitHub doesn't allow ~ in download names, so the DEB files here use . instead.
The package version inside is still 1.0.0~beta.2.
The virmill-host-helper packages hold the privileged helper. Install one only when
a workflow needs it. Installing it grants no permissions; an administrator has to
set up its policy separately.
Then, as your normal user:
systemctl --user daemon-reload
systemctl --user start virmilld.service
virmill doctor
virmillEvery change is planned first, and nothing happens until you review and apply that
plan. The beta guide
walks through a test sequence.
Tested for this release
Tested on one Fedora 44 test VM (libvirt 12.0.0, QEMU 10.2.2), upgraded in place
from beta.1:
- Package upgrade of core and helper: the installed binaries match this build,
CLI inventory commands work, and the TUI starts and exits at 80×24. Existing
guests, networks, source media and helper policy were unchanged afterwards. - Network creation forms (NAT, lab, guest-only): each TUI preview matched the
equivalent CLI plan, and nothing was applied. - Jobs → Activity: opening, refreshing and returning to a job.
- End to end: a generated ISO was prepared, a VM was created from it and started,
and the check read its boot marker over the serial console. The VM was found
from the TUI's console view, and a SPICE viewer connected to it on a virtual
desktop. - TUI walkthroughs at 80×24 and 120×36: VM filtering and details, the CPU/RAM
screen, a start review and its confirmation (not applied), task menus, and the
Import file browser. - Source detection for qcow2, raw, VMDK, VDI, VHD, VHDX, ISO and folder sources,
including the review screen and the guest tools form. - Full Go test suite, vet and package integration tests. Two clean builds of this
commit produced byte-identical binaries and packages, matching the files
attached here.
These checks used generated test images. They don't certify any guest operating
system, physical hardware, or Linux distribution besides this Fedora setup.
Known limitations
- Not available yet: UEFI/TPM restore, restores that keep the original VM identity,
and snapshot revert. - Not available yet: lab apply/teardown, physical bridges, Wi-Fi bridging, port
forwards, USB/PCI device attachment, and IPv6 networking. - Backups can't be scheduled and have no retention yet. Local captures are not
encrypted; use the encrypted backup repository workflow instead. - Packages are unsigned, the DEBs are untested on Debian/Ubuntu, and no guest OS
family is certified.
Full list: beta guide, incomplete workflows
and the requirements tracker.
SHA-256
| File | SHA-256 |
|---|---|
virmill-1.0.0-0.beta.2.x86_64.rpm |
752dd92f7967e17e45a780516713d4de4cb859b0e86e1e9b655e4c36ab84b7ae |
virmill-host-helper-1.0.0-0.beta.2.x86_64.rpm |
d549501656ed422a4d3e453f059fe6dbc728fdfbf4100db25c5108acd1c2f030 |
virmill_1.0.0.beta.2_amd64.deb |
e898a5603d4b7bdbc7459b5ebd7e90648ff789ea1085c830182cf139ddaeffbf |
virmill-host-helper_1.0.0.beta.2_amd64.deb |
439afc1d9e03ff9efddbe8efda205d2a1dd0d9427901ded01d1c25d05f03b1e5 |
virmill-1.0.0-beta.2-source.tar.gz |
a5d774303ab07539ca5c64a58dc969398dc098d78eb21a4848a6c5c82a46a55c |