Farrow 0.6.0: Ubuntu 24.04 and smoother local labs
Farrow 0.6.0 defaults to Ubuntu 24.04 and improves the everyday loop of planning, starting, expanding, and rebuilding a local Pigsty lab.
What changed
- Ubuntu 24.04 by default. New inventories and the embedded catalog use
u24:stable. Catalog revision2026090501also includes the Debian 12/13 and Rocky Linux 8/9 updates already available in the official repositories. - Useful plans before setup.
planfor Catalog images works without QEMU or host networking installed (registeredlocal-*images still needqemu-imgcache validation) and shows exact image versions, resource totals, pending starts, changed fields, disk effects, and commands that retain custom-fpaths. - Readable status and errors. Status shows images, CPU, and memory; one
damaged node no longer hides healthy peers. Corrupt state names the actual
file and cause. Image digest failures return exit 7; SSH exit 255 passes
through unchanged.
--no-waitclearly reports that readiness was skipped. - Checks before disruption. Selected
recreatedetects conflicting peer changes before deleting disks.reloadchecks startup dependencies before stopping guests. Stop, destroy, and runtime cleanup handle deployment state consistently under the existing lock. - Guest names stay current. Starting commands and node removal refresh
Farrow-managed guest hosts entries and control-node SSH configuration.
Recreated peers remain reachable without clearing guest
known_hosts. User SSH text and global option scope are preserved. - Fewer CLI surprises. Custom
initpaths produce usable next commands; presentation flags respect option values; malformed integer sizes and extra YAML documents are rejected without truncation.ALL_PROXY/all_proxyprovides a fallback while respecting scheme-specific proxies andNO_PROXY.
Upgrade notes
Upgrading Farrow does not replace existing disks or change an explicitly
selected image. If an old inventory relied on the implicit Debian 13 default,
add vm_image: d13 under all.vars before applying it with 0.6.0. Review
farrow plan before applying changes; farrow start uses the applied state.
CPU and memory changes still use recreate: root and non-persistent data disks
are replaced, while persistent data disks are retained. --no-wait skips both
readiness and guest metadata refresh; a later farrow up completes them.
Scripts should use --json or --yaml instead of parsing status columns;
partial status results include healthy nodes and a failures array, with exit 5.
Install or upgrade
The release also includes four platform archives, amd64/arm64 DEB and RPM packages, and a Homebrew formula. As a pre-1.0 release it keeps the GitHub pre-release flag, so the installer needs the explicit version above. See the Quick Start.
Validation
The lifecycle and UX changes passed two adversarial Claude Code Fable 5.1
reviews at xhigh effort, plus the complete local make check gate. An isolated
macOS arm64/HVF lab exercised Ubuntu 24.04 boot, scale-out, control-to-peer SSH,
stop/start, reload, recreate, partial status failures, and scale-in. The final
guest SSH scope correction also passed effective OpenSSH configuration tests.
The tag workflow repeats source checks and verifies archives, packages, SBOMs, installer, formula, release metadata, and checksums. These checks do not imply a new Linux-host VM replay, host-reboot test, or complete Pigsty installation.