Skip to content

v0.16.1

Latest

Choose a tag to compare

@github-actions github-actions released this 17 May 20:19
728cc2e

0.16.1 (2026-05-17)

Added

  • add build features for linux ubuntu hosts (911ed61)
  • add oci registry support (9615e78)
  • add windows builds an vms for linux hosts (eb7f440)
  • added linux create vm command (931cae0)
  • added windows build on windows to go wrapper (6d87a37)
  • ansible role source configurable (79c6cd7)
  • ansible: add configurable Debian Spotify install with apt/snap fallback (c5ae866)
  • build: add --no-cache to force rebuilding existing VM artifacts (13c1783)
  • build: add Hyper-V Ubuntu support on Windows and restructure cloud-init configs (eaef86d)
  • build: add Hyper-V Ubuntu support on Windows and restructure cloud-init configs (f99f622)
  • build: add Linux QEMU support for Windows 11 guests (36097fc)
  • build: add Linux-host QEMU builds for Ubuntu server and desktop (364d308)
  • build: add list command for available VM build combinations (023d67f)
  • build: add verbose flag for packer builds (c4a8c63)
  • build: enable VNC video capture for Linux host builds (3d65997)
  • build: select fastest virtio-win download source (3d0d40f)
  • build: show artifact status in build list (64bb53a)
  • build: stream VNC snapshots directly to mp4 (0cc1a7d)
  • ci: add FTPS build cache backend (2d0884b)
  • ci: add Hetzner S3 build cache backend (d13c57b)
  • ci: add in-repo Hetzner self-hosted runner workflow for Linux builds (fc88683)
  • cli: add destroy command for managed VMs (490901b)
  • cli: add install command for host dependencies (0ffd087)
  • cli: add optional Go install flag and Linux host installer (44bebc0)
  • create: add create list command and artifact readiness checks (1fc0bed)
  • create: detect existing VM targets before deploy (5ab8087)
  • deploy: add libvirt workflow for Ubuntu QEMU VMs on Linux (44fcda8)
  • deploy: add Windows Hyper-V create flow and unify deploy command execution (8e2836c)
  • deploy: add Windows Hyper-V vagrant deploy and unify deploy command runner (0a3f7be)
  • destroy: add VM destroy readiness listing and tart state fixes (05e3175)
  • embed runtime assets for standalone CLI builds and release binaries (b8d7506)
  • embed runtime assets for standalone CLI builds and release binaries (af5d159)
  • enhaned debugging for hyperv runner (90ce346)
  • gh actions cache - add hetzner s3 and ftp (7080cc0)
  • hyperv: parameterize Vagrant VM resources from build config (ec52f11)
  • oci: add push and pull list commands (49ddd64)
  • oci: add registry push and pull for build artifacts (3c061f2)
  • oci: add TLS options for registry transfers (e087def)
  • oci: allow confirmed darwin/linux foreign artifact pulls (a4786a1)
  • oci: show transfer progress for push and pull (2e649a0)
  • provision local windows ssh provisioning (5115d6a)
  • provision: add generic ansible arg passthrough and inventory override (0d2f284)
  • provision: add local host provision target (833e077)
  • provision: add local host provisioning with Windows WinRM bootstrap (521aa46)
  • provision: add local Windows SSH provisioning with force uninstall cleanup (f11ad4b)
  • provision: add supported target listing and filter unsupported VMs (f378c06)
  • provision: add Ubuntu UTM provisioning support on macOS (33dace4)
  • provision: add Ubuntu UTM provisioning support on macOS (cc83f38)
  • provision: add unified VM provision command for Hyper-V Windows (f1063ba)
  • provision: add unified VM provision command with Hyper-V Windows flow via Cygwin (177c979)
  • provision: add UTM Windows 11 provisioning support (556ce74)
  • provision: add UTM Windows 11 provisioning support (baacca3)
  • provision: allow overriding ansible playbook path (71f74a3)
  • provision: allow role source config to set playbook (f92d1ef)
  • provision: secure local Windows WinRM provisioning (ba8f592)
  • provision: support configurable ansible role sources (5482f80)
  • provision: support configurable playbook sources (23ce7fc)
  • provision: support Ubuntu provisioning on Linux libvirt (9f21d04)
  • restructure docs (585b871)
  • tart: add macOS Tart target for create and provision (e721799)
  • tart: add macOS Tart target for create and provision (e0203c9)
  • vm: add lifecycle commands for starting, stopping, and destroying managed VMs (529adfa)
  • vm: add start command and fail-fast provision preflight (1cb7a7a)
  • vm: add stop command with graceful UTM shutdown (79b5689)
  • windows: unify runner dependency setup behind self-setup script (e5aaa4a)
  • windows: unify runner dependency setup behind self-setup script (8b151a5)

Fixed

  • actions: simplify Hyper-V queue watcher job parsing (4bbaff8)
  • address multiple gosec findings (b3a2cf1)
  • ansible: make installer roles check-mode safe (f0b1f37)
  • ansible: resolve macOS Java homes on target before jenv add (a408ef2)
  • build: add engine selection and mark virtualbox unstable (8434021)
  • build: clean failed artifacts and repair arm64 UEFI extraction (7da46f8)
  • build: clean up incomplete artifacts after failed builds (34988e7)
  • build: dependency download bar speed calculation (1cd7da5)
  • build: ensure Windows 11 amd64 QEMU downloads virtio ISO (a3b3dc5)
  • build: exclude unstable virtualbox target from build all by default (0876478)
  • build: extend Linux QEMU build timeouts to five hours (9ba19ce)
  • build: extract Windows ARM64 ISO with UDF-capable tools (447ce84)
  • build: handle dependency downloads without progress bars (d11a8e9)
  • build: harden embedded project extraction against gosec findings (b850868)
  • build: harden unix tty fd handling for gosec compliance (5cfa18c)
  • build: improve interrupt cleanup and preserve ffmpeg on graceful cancel (57b254f)
  • build: install QXL driver during Windows QEMU builds (799e130)
  • build: keep Ubuntu ISO checksums in sync (02a86e3)
  • build: preserve cached artifacts during no-cache builds (dff2459)
  • build: preserve successful artifacts after build cleanup (26a1ec9)
  • build: preserve sudo prompts while restoring helper process logs (82155e9)
  • build: quote Ubuntu QCOW2 export paths in packer templates (46fe595)
  • build: removed de keymap from qemu args to avoid wrong inputs in boot_command (00b924f)
  • build: resolve Python executable for Windows ISO bootstrap (eba7c09)
  • build: restrict managed app directory permissions to 0700 (2bc4f7d)
  • build: retry virtio-win download from fallback sources (37c70e9)
  • build: shorten macOS Packer start-only temp paths (40ec4d1)
  • build: shorten macos qemu output paths and stop noisy vnc retries (20354ec)
  • build: skip unchanged embedded project sync and prune stale assets (c8ddc24)
  • build: stop external process retries immediately on interrupt (24bf8da)
  • build: tune QEMU CPU and memory settings for Ubuntu VMs (bd3913c)
  • build: verify virtio-win ISO checksum (d4acd37)
  • build: write Windows release zip to dist for artifact upload (ca05356)
  • cache: use portable symlink resolution for uploads (b5ae57a)
  • ci: accept Homebrew formula revisions (56a94f5)
  • ci: accept newer Homebrew dependency versions (cf41138)
  • ci: align macOS workflow cache paths with managed app data (0e08270)
  • ci: align Windows workflow cache paths with managed app data (c0e419a)
  • ci: capture sanitized Hyper-V diagnostics for Windows build failures (bfb7246)
  • ci: harden Playwright Windows ISO fetch and upload diagnostics (99b0cf3)
  • ci: keep Ubuntu ISO cache references in sync (80444ec)
  • ci: pass repository to self-hosted renovate action (7e60475)
  • ci: restore artifact directory access after gosec hardening (2855f00)
  • ci: restore cache ownership after sudo macos builds (fc9e4e2)
  • ci: restrict GHCR publish permissions (2a6f990)
  • ci: retry HyperV runner cleanup before canceling queued builds (a4a710c)
  • ci: run Windows winrm role test via provision local (3585a69)
  • ci: show progress during FTPS build cache downloads (80ae228)
  • ci: specify repository for gh release upload (f693ae1)
  • ci: trigger PR workflows on cmd/main.go changes (459c297)
  • cli: mark cross-arch VM targets unstable (4ee93ea)
  • cli: remove duplicated root help sections (22fd4f1)
  • deploy: address gosec findings in tart deploy helpers (b564d3f)
  • deploy: configure QXL video memory for Windows 11 libvirt guests (d60a591)
  • deploy: fail fast when Cygwin bash is missing on Windows provisioning (c34f0cc)
  • deploy: handle existing running Tart macOS VMs explicitly (6ee6e8c)
  • deploy: harden Hyper-V Vagrant stop with forced halt fallback (fb75cdb)
  • deploy: harden libvirt image directory access (8aa0033)
  • deploy: infer canonical UTM targets for macOS deploy configs (893d616)
  • deploy: inspect Hyper-V VM state via PowerShell (21bd7da)
  • deploy: keep libvirt ACL hints POSIX on Windows (075404c)
  • deploy: make emulated arm64 libvirt domains portable (cb34c74)
  • deploy: make Hyper-V stop timeout boundary deterministic (36f9499)
  • deploy: normalize Hyper-V Vagrant dotfile env paths on Windows (0aec0d9)
  • deploy: parse tart list output by columns for local VM lookup (715b704)
  • deploy: preflight libvirt named networks (f886bf7)
  • deploy: prevent truncated streamed logs and surface scanner errors (7724f4a)
  • deploy: re-prime UTM ARP cache while waiting for guest IPv4 (47206e9)
  • deploy: remove windows build constraints from hyperv deploy file (5c86ebe)
  • deploy: retry UTM IP discovery and warm ARP cache (1f40162)
  • deploy: return command execution errors instead of panicking (9d881bf)
  • deps: upgrade google.golang.org/grpc to v1.79.3 for GO-2026-4762 (9942bd7)
  • devcontainer: verify PowerShell tarball checksum (a5deb63)
  • gha: restore native go and python in Windows Azure runner images (1a08df0)
  • github-action: enable IPv6 and disable IPv4 by default for Hetzner runner (de96703)
  • handle empty cookies.json by catching JSONDecodeError (477fe1d)
  • hyperv: isolate vagrant state per vm and prevent false create detection (eabb917)
  • kubectl: avoid Windows Chocolatey failure when newer kubernetes-cli is already installed (174b1fd)
  • kubectl: clean up apt key temp dir on setup failure (1a58b5e)
  • kubectl: make Debian apt key setup resilient (1efa8cc)
  • kubelogin: authenticate GitHub release lookup in CI (e2cd924)
  • libvirt: install QXL driver for Windows auto-resize (271a76d)
  • linux: stabilize Ubuntu desktop QEMU/libvirt networking and desktop image setup (f3de076)
  • listener bar null check (25a688a)
  • macos: detect latest installed Homebrew version (1ab1fff)
  • macos: pin Homebrew tooling installs (de21704)
  • macos: warn on unavailable pinned brew versions (9701275)
  • make vncsnapshot retry loop interruptible by SIGINT/SIGTERM (a18eb8d)
  • make: remove brittle pkill cleanup after build tests (9c5c0da)
  • oci: reject duplicate manifest layer titles (8f389b9)
  • oci: suppress gosec G402 on insecure TLS field (c5d970d)
  • packer: move qemu ubuntu package installs out of cloud-init (66ee86b)
  • packer: persist ARM64 Windows EFI boot state (b56c04a)
  • packer: refresh PATH after Windows setup provisioning (1144bc7)
  • packer: restore ARM64 Windows CI boot order (708ca62)
  • packer: restore persistent DHCP config for QEMU Ubuntu images (072a676)
  • packer: simplify QEMU autoinstall networking (261d1da)
  • packer: simplify ubuntu desktop qemu provisioning (cfbd97c)
  • packer: stabilize ARM64 Ubuntu QEMU installs (f592a10)
  • packer: use valid validation messages for cache_dir (aa924f4)
  • prevent deadlock in stopVncScreenCaptureOnMacosDarwin when vncsnapshot exits cleanly (784183b)
  • prevent deadlock in stopVncScreenCaptureOnMacosDarwin when vncsnapshot exits cleanly (9c2ca4f)
  • provision: avoid reboot-only local Windows SSH cleanup and log OpenSSH install progress (b480986)
  • provision: bind local Windows WinRM bootstrap to loopback (768eeed)
  • provision: detect Hyper-V Ubuntu guest IP without key-based vagrant ssh (0cba4c3)
  • provision: elevate and confirm local Windows WinRM bootstrap (dc0adaa)
  • provision: enforce documented ansible verbosity range (5d1dd8a)
  • provision: guard SSH wire length encoding against uint32 overflow (ec9ef74)
  • provision: harden local Windows SSH bootstrap state handling (e2e187e)
  • provision: harden local Windows SSH port selection and cleanup (725b827)
  • provision: harden local Windows WinRM bootstrap cleanup (310d4f1)
  • provision: harden role source runtime handling (027aa53)
  • provision: ignore IPv6 hostnames in linux vagrant IP discovery (836fc02)
  • provision: improve local Windows SSH auth setup, cleanup, and preflight diagnostics (f2572a2)
  • provisioning: install ansible in devcontainer and fix kubelogin header templating (4786109)
  • provision: log local Windows PowerShell bootstrap and cleanup progress (146a8f1)
  • provision: preflight sshpass for password SSH auth (0409721)
  • provision: skip Windows RunAs hop in elevated shells (42ce281)
  • provision: use a dedicated local Windows SSH port and detect wrong SSH listeners (db65e64)
  • provision: use HTTPS-only local WinRM bootstrap on Windows (a1fe0e7)
  • provision: use VM-specific Hyper-V Vagrant settings (5c78d8d)
  • qemu: tune cross-arch emulation CPU settings (618b13c)
  • renovate: resolve packer plugin lookups and set git author (626671c)
  • runners: cancel active macos tart jobs before shutdown (fd8f296)
  • runners: cancel active macos tart jobs before shutdown (1466ec9)
  • runners: normalize shutdown poll interval (a8a98c8)
  • runners: preserve busy macos tart VMs during shutdown (089be7b)
  • runners: preserve unknown GitHub API state during cleanup (75d9fa7)
  • runners: report force-cancel failures during shutdown (81a131c)
  • runners: wait for tart runner deregistration on shutdown (8c94361)
  • security: harden VNC recording file and process handling (069461e)
  • security: triage and suppress provision gosec findings (a528c99)
  • stop re-rendering completed progress bars (d5d4ee8)
  • stop: use Hyper-V graceful shutdown for Ubuntu VMs before force halt (89f99b9)
  • test: normalize workflow line endings for Windows CI (43f77a0)
  • update downloadWebFileDependency call in test to pass progress argument (c6a8cfc)
  • utm: set arm64 cpu type to default to fix issues with vm boot (0773b0f)
  • windows11: fix arm64 QEMU boot hang and headless mode handling (a9bb0ad)
  • windows: fall back to alternate cygwin install root (4de65ac)
  • windows: install the correct Chocolatey Python package (fde8260)
  • windows: keep WinRM reachable across network profile changes (00d0dcf)
  • windows: make Go setup opt-in for dependency installs (ccdb8f2)
  • windows: preserve existing ssh provision user on force uninstall (e7a643c)
  • windows: reinstall cygwin cleanly on version mismatch (1f13700)
  • windows: validate Cygwin root before cleanup (5b7c61c)
  • windows: verify selected cygwin root before package setup (6f01d82)

Changed

  • build: extract VNC recording logic into dedicated file (49dadec)
  • build: removed windows isos az storage container (5b7843b)
  • deduplicate build/create/provision VM list rendering (75af05e)
  • deploy: extract shared SSH wait helper (35d32cd)
  • deploy: replace static winrm inventory with env-var-driven ansible config (c87bf2b)
  • move VM state into managed app data (9697909)
  • move VM state into managed app data (1077820)
  • oci: split artifact handling into focused modules (850ef4f)
  • packer: split linux and macos ubuntu qemu build paths (6dbfc44)
  • packer: unify Ubuntu QEMU templates (ff189e1)
  • provision: deduplicate local windows session runner flow (786e286)
  • provision: extract local Windows WinRM scripts into ps1 assets (60971c8)
  • provision: move VM provisioning logic out of pkg/deploy (f6cc593)
  • provision: move windows local logic into dedicated file (80c6895)
  • provision: reject "all" target with explicit error (d94c306)
  • provision: share managed Windows user lifecycle across ssh and winrm (3a685d7)
  • rename shared SSH provision arg builder (f1b0629)
  • resolve VirtualMachineConfig from available list instead of constructing manually (f9730b4)

CI

  • actions: add workflow concurrency to prevent push/pr parallel runs (f5498b1)
  • actions: add workflow concurrency to prevent push/pr parallel runs (b875e69)
  • add cold-cache dependency bootstrap coverage to Linux workflow (9511385)
  • add deploy smoke tests to macOS and Windows build workflows (93951cf)
  • add Go security scanning workflow (govulncheck + gosec) (c786bd5)
  • add Makefile target and GitHub Actions workflow for build-runner tests (4d7d305)
  • add native Linux QEMU smoke builds for amd64 and arm64 (fe056bb)
  • add PR coverage for deploy and provision tests (33dd2a3)
  • add shellcheck workflow (05eb93c)
  • align Windows and macOS build job timeouts with packer timeouts (2d72d46)
  • broaden build workflow path filters for shared build inputs (f6bf616)
  • cancel Windows Hyper-V test runs when the runner stays queued (30c9852)
  • configure release-please for automated releases (95e3fd7)
  • default macOS build tests to GitHub-hosted runners (23adc30)
  • deps: schedule Renovate in GitHub Actions (86f5734)
  • exercise Windows local provision flows in ansible role tests (95588e9)
  • extend cmd unit-test workflow to cover provision and deploy tests (95a4e50)
  • fix unit-test workflow path filters to self-reference current file (0849419)
  • include role source fixtures in test filters (27891c6)
  • publish ubuntu build artifacts to GHCR (b0ed47d)
  • refresh Azure auth before HyperV queue cleanup (9189f40)
  • remove Windows WinRM setup from ansible role test workflow (0aef486)
  • renovate: use branch config for workflow-dispatch runs (11e6af7)
  • restrict GHCR artifact publishing to main (c74a1e2)
  • reuse install scripts in build workflows and make oscdimg setup idempotent (6c9f033)
  • reuse install scripts in build workflows and make oscdimg setup idempotent (b10300c)
  • run cmd and pkg/build unit tests in GitHub Actions (630b74e)
  • run deploy and provision unit tests on main pushes (23dc24f)
  • run full cmd package tests in deploy unit workflow (c8f1880)
  • run gitleaks and cmd unit tests on main pushes (4db3625)
  • run Linux Windows QEMU builds as start-only probes (83acc0e)
  • run OCI package unit tests (ca1490f)
  • run OCI registry integration test (23e8781)
  • run release binary build dry-runs in pull requests (4a0a132)
  • run Windows 11 QEMU builds in Linux workflow (ef832e1)
  • scope Windows workflow actions write permission to queue watcher job (4d3c23e)
  • security-scan: don't checkout the code a second time (b65153b)
  • security: prevent gosec from failing workflow and gitignore sarif results (e8e24e1)
  • set up Go before macOS build dependencies (d02e9fe)
  • shorten macOS Ubuntu packer build checks (ad680c0)
  • store Hyper-V diagnostics in private Azure cach (9e4d904)
  • trigger linux build on deploy runtime changes (876cd00)
  • trigger macOS VM workflow for provision code changes (907cc21)
  • validate build cache actions on changes (b6849cf)
  • windows: set test-hyperv-build job timeout to 60 minutes (d1086c3)

Miscellaneous