# Barn 1.1.0: image selection and live progress

> Select Linux images and guest architectures from the CLI, follow live progress, and recover interrupted resource resizing.

---

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

---

**Released on 2026-11-09.** Barn 1.1.0 adds image and guest-architecture overrides, live progress tables, and more reliable CPU/memory resizing. It embeds signed image catalog revision `2026110502`, with 9 distribution releases and 17 architecture-specific artifacts. The default remains Ubuntu 24.04 on the host's native architecture.

## Image and architecture selection {#image-and-architecture}

Use `--image/-I` and `--arch/-A` with `plan`, `up`, `reload`, `recreate`, and `resize` to override the inventory for one command. Image overrides apply to selected nodes, and suggested follow-up commands retain the selections, overrides, and repository. Existing VMs require `recreate` to change their image or architecture.

```bash
barn plan -I u24 -A amd64
barn up -I u24 -A amd64
```

`init` and generated `setup` templates save the choices into the new inventory; `validate` accepts the same overrides without changing the file. Image info, pull, and named imports accept `-A`. Architecture names include `amd64` (`x86_64`, `x64`), `arm64` (`aarch64`, `a64`), and `native`; `image info` and `image pull` retain the earlier `-a` spelling.

Matching guests use HVF or KVM. Foreign guests use QEMU TCG for compatibility testing, with a stable ARM CPU model for UEFI boot. On Linux, install the target QEMU system emulator and matching firmware separately; `barn setup` prepares native host dependencies. All nodes in a deployment share one guest architecture.

## Progress and results {#progress-and-results}

Linux and macOS lifecycle commands, setup, network operations, image transfers, and repository maintenance now share live progress tables and consistent completion summaries. Terminal redraws stop before a prompt or error, and redirected output uses ordinary lines. Validation lists the checks it performed. Status tables and labels use plain ASCII, including `[DONE]`, `[FAILED]`, and `[CANCELLED]`, and `barn purge` deletes the deployment immediately by default (pass `--ask` for an interactive confirmation prompt). Use `--json` or `--yaml` for structured results.

## Recovery fixes {#recovery-fixes}

- Offline resize holds the deployment lock across inspection, shutdown, and commit, preserving QEMU process identity when another command tries to start the same node.
- Interrupted online resize retains a recovery marker before hotplugging. `status` reports that live CPU or memory may differ from the applied configuration (`stage: "resize"`, `reason: "resize_incomplete"`); retry `resize` or run `up` / `start` to recover.
- Plans for deployment-wide changes include new nodes in the recreation scope and avoid suggesting an `up` command before recreation is complete.
- Lifecycle retry commands preserve an explicit official `--repo`, even when `BARN_REPO` points elsewhere. Missing native QEMU programs trigger host preparation; missing foreign Linux emulators name the required dependencies.

YAML parsing uses `go.yaml.in/yaml/v4` 4.0.0, and flag parsing uses `pflag` 1.1.0. Existing YAML input/output settings are retained, and unfinished YAML documents report the parser's EOF line. Packaged licenses and SPDX documents cover the updated dependencies.

## Upgrade and downloads {#upgrade-and-downloads}

Stop running macOS guests before replacing `Barn.app`, then upgrade:

```bash
brew update
brew upgrade pgsty/infra/barn
```

Or download and run this release's installer:

```bash
curl -fLO https://github.com/pgsty/barn/releases/download/v1.1.0/install.sh
BARN_VERSION=1.1.0 bash install.sh
barn version
```

The installer verifies the selected archive against `checksums.txt`. The Darwin arm64 archive includes the signed, notarized CLI, hosts helper, and `Barn.app`; the other archives and Linux DEB/RPM packages provide the CLI and matching helper. VM disks, keys, and state remain under `BARN_HOME`.

See the [documentation](/docs/), [full changelog](https://github.com/pgsty/barn/blob/v1.1.0/CHANGELOG.md), and [changes since 1.0.0](https://github.com/pgsty/barn/compare/v1.0.0...v1.1.0).
