Skip to content

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.

Released on 2026-10-31. Barn 0.x releases use GitHub’s pre-release channel. For the latest release, see Barn 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 · Download 0.9.3 · Source release notes

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

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.

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 and Mac guide.