Releases: lorica-labs/volant
Release list
0.1.0-alpha.5 - 2026-09-16
Release Notes
Added
- (controller) run_once and delegate_to on the delegate's own link (#115)
- (controller) include tasks, roles and vars at run time (#109)
- (controller) run plays in serial batches and stop when one fails (#108)
- (controller) retry with until, censor no_log, pass environment (#107)
- (controller) run notified handlers at every flush point (#105)
- (controller) run rescue and always, set ansible_failed_* (#104)
- (controller) select tasks by tag and list them like the reference (#103)
- (controller) load roles from the standard paths and import tasks (#102)
- (controller) compile plays into flat steps with block spans (#101)
- (controller) load the whole grammar, refuse before connecting (#98)
Fixed
- (controller) elect run_once in the coordinator and free the permit (#118)
Other
- describe play compilation, roles, blocks, handlers and tags (#117)
- (controller) share hostvars and keep the fork permit (#116)
volant 0.1.0-alpha.5
Install volant 0.1.0-alpha.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/lorica-labs/volant/releases/download/v0.1.0-alpha.5/volant-installer.sh | shDownload volant 0.1.0-alpha.5
| File | Platform | Checksum |
|---|---|---|
| volant-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| volant-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| volant-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| volant-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo lorica-labs/volantYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>volant-agent 0.1.0-alpha.5
Install volant-agent 0.1.0-alpha.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/lorica-labs/volant/releases/download/v0.1.0-alpha.5/volant-agent-installer.sh | shDownload volant-agent 0.1.0-alpha.5
| File | Platform | Checksum |
|---|---|---|
| volant-agent-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| volant-agent-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| volant-agent-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| volant-agent-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo lorica-labs/volantYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>0.1.0-alpha.4 - 2026-09-09
Release Notes
Added
- (controller) wait for the other hosts before reading hostvars (#85)
- (controller) escalate with sudo via become keywords and variables (#83)
- (controller) keep agent connections across plays and honour forks (#82)
- (controller) reach hosts over ssh and cache the agent remotely (#79)
- (controller) add wildcards, negation and intersection to patterns (#78)
Fixed
- (controller) escalate to any user, bound links, match exit codes (#90)
- (controller) key order, nested omit and yaml 1.1 integers (#87)
- (controller) loop failures, empty loops, per-playbook recaps (#86)
Other
- describe connections, the agent cache and privilege escalation (#89)
- run the ssh end-to-end tests against a local sshd (#81)
- let release-plz own the repository changelog (#75)
Added
volant playbookandvolant-playbook: run playbooks made ofcommand,shellandrawtasks, with ansible-playbook's output, recap and exit codes.- Static INI inventories with groups, children and group variables; implicit
localhost. - The agent binary, running task batches with fail-fast and cancellation.
- Variables from inventories,
group_vars/andhost_vars/directories, playvarsandvars_files, taskvars,--extra-vars,registerandset_fact, with Ansible's precedence. - Jinja2 templating in strict mode, with the common Ansible filters, tests and lookups, checked against ansible-core.
- Task keywords
when,loop,with_items,loop_control,register,changed_when,failed_when,timeout; controller-sideset_factanddebug. --limit,ansible.cfginventory and timeout,ansible_versionandvolant_versionvariables.- The
sshconnection: the agent is uploaded once per host, cached underremote_tmpper version, and reused by every later run. Space is checked before the write and the upload is atomic. becomethroughsudo, as a play or task keyword and asansible_become*host variables, with the escalation password read from-Kor from a variable and never written anywhere. The agent an escalated task runs is cached under the target user's own home, so escalating to an account other thanrootworks on a host whose home directories are private.forks, bounding how many hosts a play works on at once, readable asansible_forks.- One agent link per host and target user. The host's own link is held for the whole run across plays, with a single reconnect when a link dies between plays; an escalated link lasts as long as the batch that needs it, so
forksbounds the connections open as well as the hosts working. - The full host-pattern grammar: wildcards inside names,
!exclusions,&intersections and[N],[N:M],[N-M]subscripts. - New flags
-u,--private-key,-f,-b,--become-user,--become-methodand-K, and theansible.cfgkeysremote_user,private_key_file,host_key_checking,remote_tmp,forksand the[privilege_escalation]section. - Run-level refusals exit with the code the reference gives them: 4 for a playbook that does not parse and for a
vars_filesvalue of the wrong type, 1 for a playbook file that is not there and for a pattern that leaves no hosts, 2 for a setting that is refused. - A
--limitpattern that matches no host warns and narrows the run to what it did match, instead of narrowing it silently. - A configuration file that is there and cannot be read stops the run instead of falling back to the defaults.
Changed
rawno longer reportscmd,start,endordelta, matching Ansible.- A host whose connection type is unknown is reported unreachable; the run continues.
- Hosts that fail or become unreachable are left out of the following plays.
- A host reading another host's variables now waits for the others to reach the same task, so
hostvarsholds what the reference would show there. ansible_play_hostsand its aliases shrink as hosts fail during a play, instead of listing the play's original hosts.- Each playbook on the command line prints its own recap.
- Mapping keys keep the order the playbook wrote them, in results and in rendered output.
Fixed
- Interrupting a run now cancels running tasks on every host and kills their whole process group;
SIGTERMis handled like Ctrl-C. - A program killed by a signal reports the negative signal number as its return code.
- Banner widths count characters, not bytes.
- A failing loop item now reports its own message and the recap counts it as failed, not as changed; an empty loop skips with
skipped_reasonand an emptyresultslist. omitis removed from lists as well as from dictionaries, at any depth.- Integers are typed as YAML 1.1 does, so
0o755,0x1fand1_000read the way the reference reads them, and theboolfilter accepts only the spellings Ansible accepts. - An inventory name that is both a host and a group resolves to the host and warns once per run, as the reference does.
- A group listed as its own descendant no longer drops hosts from
all, which had made!web,&weband an empty pattern select the wrong set.
volant 0.1.0-alpha.4
Install volant 0.1.0-alpha.4
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/lorica-labs/volant/releases/download/v0.1.0-alpha.4/volant-installer.sh | shDownload volant 0.1.0-alpha.4
| File | Platform | Checksum |
|---|---|---|
| volant-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| volant-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| volant-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| volant-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo lorica-labs/volantYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>volant-agent 0.1.0-alpha.4
Install volant-agent 0.1.0-alpha.4
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/lorica-labs/volant/releases/download/v0.1.0-alpha.4/volant-agent-installer.sh | shDownload volant-agent 0.1.0-alpha.4
| File | Platform | Checksum |
|---|---|---|
| volant-agent-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| volant-agent-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| volant-agent-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| volant-agent-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo lorica-labs/volantYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded ...Version 0.1.0-alpha.3
Release Notes
Added
volant playbookandvolant-playbook: run playbooks made ofcommand,shellandrawtasks on hosts withansible_connection=local, with ansible-playbook's output, recap and exit codes.- Static INI inventories with groups, children and group variables; implicit
localhost. - The agent binary, uploaded to hosts in later releases, running task batches with fail-fast and cancellation.
- Variables from inventories,
group_vars/andhost_vars/directories, playvarsandvars_files, taskvars,--extra-vars,registerandset_fact, with Ansible's precedence. - Jinja2 templating in strict mode, with the common Ansible filters, tests and lookups, checked against ansible-core.
- Task keywords
when,loop,with_items,loop_control,register,changed_when,failed_when,timeout; controller-sideset_factanddebug. --limit,ansible.cfginventory and timeout,ansible_versionandvolant_versionvariables.
Changed
rawno longer reportscmd,start,endordelta, matching Ansible.- A host whose connection type is unknown is reported unreachable; the run continues.
- Hosts that fail or become unreachable are left out of the following plays.
Fixed
- Interrupting a run now cancels running tasks on every host and kills their whole process group;
SIGTERMis handled like Ctrl-C. - A program killed by a signal reports the negative signal number as its return code.
- Banner widths count characters, not bytes.
volant 0.1.0-alpha.3
Install volant 0.1.0-alpha.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/lorica-labs/volant/releases/download/v0.1.0-alpha.3/volant-installer.sh | shDownload volant 0.1.0-alpha.3
| File | Platform | Checksum |
|---|---|---|
| volant-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| volant-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| volant-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| volant-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo lorica-labs/volantYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>volant-agent 0.1.0-alpha.3
Install volant-agent 0.1.0-alpha.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/lorica-labs/volant/releases/download/v0.1.0-alpha.3/volant-agent-installer.sh | shDownload volant-agent 0.1.0-alpha.3
| File | Platform | Checksum |
|---|---|---|
| volant-agent-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| volant-agent-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| volant-agent-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| volant-agent-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo lorica-labs/volantYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Version 0.1.0-alpha.2
Release Notes
Added
volant playbookandvolant-playbook: run playbooks made ofcommand,shellandrawtasks on hosts withansible_connection=local, with ansible-playbook's output, recap and exit codes.- Static INI inventories with groups, children and group variables; implicit
localhost. - The agent binary, uploaded to hosts in later releases, running task batches with fail-fast and cancellation.
volant 0.1.0-alpha.2
Install volant 0.1.0-alpha.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/lorica-labs/volant/releases/download/v0.1.0-alpha.2/volant-installer.sh | shDownload volant 0.1.0-alpha.2
| File | Platform | Checksum |
|---|---|---|
| volant-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| volant-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| volant-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| volant-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo lorica-labs/volantYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>volant-agent 0.1.0-alpha.2
Install volant-agent 0.1.0-alpha.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/lorica-labs/volant/releases/download/v0.1.0-alpha.2/volant-agent-installer.sh | shDownload volant-agent 0.1.0-alpha.2
| File | Platform | Checksum |
|---|---|---|
| volant-agent-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| volant-agent-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| volant-agent-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| volant-agent-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo lorica-labs/volantYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>