# Barn 0.6.0: Ubuntu 24.04 and smoother local labs

> Ubuntu 24.04 defaults, useful plans before setup, clearer status, and reliable expansion and recreation.

---

LLMS index: [llms.txt](/llms.txt)

---

> [!NOTE]
> Historical release record (`0.6.0`). Old release downloads are retired; use the [installation guide](/docs/start/installation/) for the current release.

Barn 0.6.0 makes Ubuntu 24.04 the default guest image and improves planning, startup, scale-out, and node recreation for local Pigsty labs.

## What changed {#what-changed}

- **Ubuntu 24.04 by default.** New inventories and the embedded catalog default to `u24:stable`. Catalog revision `2026090501` also bundles the normalized Debian 12/13 and Rocky Linux 8/9 image updates published in the official repositories.
- **Run `plan` before host setup.** `barn plan` resolves catalog images without requiring QEMU or host networking to be installed first (registered `local-*` images still use `qemu-img` cache inspection). Plans display exact image versions, aggregate CPU/memory/disk totals, pending node starts, modified fields, and disk actions, while preserving custom `-f` inventory paths in suggested next commands.
- **Clearer status and error reporting.** `barn status` includes image, CPU, and memory columns, and a damaged state file on one node no longer hides healthy peers—corrupt state errors name the exact file and cause. Image digest mismatches return exit code `7`, SSH exit code `255` passes through unchanged, and `--no-wait` explicitly notes that readiness checks were skipped.
- **Preflight checks before disruption.** Targeted `recreate` detects conflicting peer changes before deleting any disks, and `reload` validates startup dependencies before stopping running guests. `stop`, `destroy`, and runtime cleanup update deployment state consistently under the deployment lock.
- **Automatic guest `/etc/hosts` and SSH updates.** Starting or removing nodes refreshes Barn-managed `/etc/hosts` blocks and control-node SSH configuration inside running guests, so recreated peers remain reachable without manually pruning guest `known_hosts`. User-authored SSH config entries and global option scopes remain intact.
- **Cleaner CLI parsing.** Custom `init` output paths print matching follow-up commands, output flags no longer swallow adjacent option values, malformed integer sizes and multi-document YAML files are rejected rather than truncated, and `ALL_PROXY`/`all_proxy` acts as a fallback behind scheme-specific proxy variables and `NO_PROXY`.

## Upgrade notes {#upgrade-notes}

Upgrading Barn leaves existing VM disks and explicit `vm_image` settings untouched. If an older inventory relied on the implicit Debian 13 default, add `vm_image: d13` under `all.vars` before running `barn up` with 0.6.0. Always inspect `barn plan` before applying changes.

Applying CPU or memory changes requires `barn recreate`, which replaces root and non-persistent data disks while retaining persistent data disks. Passing `--no-wait` skips both readiness checks and guest `/etc/hosts` updates until the next `barn up`. Automation should consume `--json` or `--yaml` output; partial status results return healthy nodes alongside a `failures` array and exit code `5`.

## Install or upgrade {#install-or-upgrade}

```bash
curl -fLO https://github.com/pgsty/barn/releases/download/v0.6.0/install.sh
chmod +x install.sh
BARN_VERSION=0.6.0 ./install.sh
barn version
barn doctor
```

The release also provides four platform archives, `amd64`/`arm64` DEB and RPM packages, and a Homebrew formula. See the [Linux tutorial](/docs/start/tutorial/) to get started.

## Validation {#validation}

The lifecycle and UX changes passed code review and the full local `make check` suite. An isolated macOS `arm64`/HVF lab verified Ubuntu 24.04 boot, scale-out, control-to-peer SSH, `stop`/`start`, `reload`, `recreate`, partial status failure handling, and scale-in, and the guest SSH option-scoping fix was verified against `sshd`/`ssh -G` configuration evaluation.

The tag workflow repeated all source checks and verified the release archives, Linux packages, SBOMs, installer script, Homebrew formula, release metadata, and SHA-256 checksums.
