# Barn 0.9.3: safer resizing, selected nodes, and recovery

> Resource-only VM resize, independent node selection, flexible paths and shares, recoverable lifecycle operations, and image catalog revision 2026102802.

---

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

---

**Released on 2026-10-31.** Barn 0.x releases use GitHub's pre-release channel. For the latest release, see **[Barn 1.1.0](../1.1.0/)**.

Barn 0.9.3 focuses on safer changes to local labs. It adds resource-only VM resize, lets selected nodes converge independently, accepts ordinary user path forms for inventories and shares, and recovers interrupted lifecycle operations.

[Install Barn](/docs/start/installation/) · [Download 0.9.3](https://github.com/pgsty/barn/releases/tag/v0.9.3) · [Source release notes](https://github.com/pgsty/barn/blob/v0.9.3/.github/releases/0.9.3.md)

## Changes {#changes}

- Edit `vm_cpu` or `vm_mem` and run `barn resize [node...]`. Supported increases are hot-plugged when QEMU has reserved capacity; decreases and unsupported cases use an automatic stop/start while preserving the VM identity, disks, and SSH keys. Use `barn recreate` for image, disk, network, or share changes.
- `plan`, `up`, `reload`, `recreate`, and `resize` with selectors retain the applied definitions of unselected peers. Conflicts in addresses, aliases, control-node roles, and deployment-wide settings are checked before a node stops or is deleted.
- `barn init [template] --image` and `barn setup [template] --image` select an image alias, channel, or version in generated templates without downloading it or rewriting an existing inventory.
- Relative paths, `~/`, and directory symlinks work for `BARN_HOME`, local repositories, catalog export, inventories, imported images, and share sources where applicable. Inventory-relative shares resolve beside the inventory's real file; spaces, Unicode, overlapping sources, and readable directories owned by another user are supported.
- Provisioning accepts any positive `--parallel` and `--timeout`. Local images and catalog artifacts with declared sizes can exceed 8 GiB; digest-indexed imports, bounded reads, registry size checks, and cache verification protect the image store. `barn mac logs --lines` accepts any positive line count.
- The embedded signed catalog is revision `2026102802`, with 9 distribution families and 17 architecture-specific artifacts. The default remains `u24:stable` on the host architecture.
- Interrupted Linux and macOS lifecycle, persistent-disk, and replacement operations leave journaled state for safe recovery. Signals produce the structured `cancelled` result. `barn mac up --no-wait` returns when the VM process starts; run `barn mac up NAME` again before using SSH or exec on a machine whose first boot is still provisioning.

## Upgrade {#upgrade}

Select **0.9.3** explicitly with the download installer, or upgrade the Homebrew formula / Linux package. Existing VM disks and configuration remain under `~/.barn`; no VM recreation is required.

```bash
curl -fLO https://github.com/pgsty/barn/releases/download/v0.9.3/install.sh
BARN_VERSION=0.9.3 bash install.sh
```

Run `barn update` when you want to activate the current signed catalog from a repository. Pin `vm_image: family@version` when a pipeline must remain on one exact image across catalog updates. Stop macOS VMs before replacing the native component. See the [Linux quick start](/docs/start/tutorial/) and [Mac guide](/docs/start/macos/).
