Skip to content

v0.12.0

Choose a tag to compare

@ggoodman ggoodman released this 23 Jun 12:41
b881595

This release adds persistent VM root filesystems for agents that need package installs, language caches, tools, and other machine changes to survive across boots.

const sandbox = defineSandbox({
  rootfs: rootfs.persistent({
    base: rootfs.builtIn("alpine:3.23"),
    path: "/absolute/project/.sandbox/rootfs.qcow2",
  }),
});

Sandbox creates the state file the first time the VM boots and reuses it on later boots. The built-in VM image stays read-only and shareable across many VMs, while each persistent state file is locked while its VM is running.

The file at path is a QCOW2 overlay: a sparse VM disk image containing only the saved changes layered on top of the read-only built-in image. Sandbox records which built-in image the file belongs to and rejects reuse with a different base, so durable VM state fails closed instead of silently mixing incompatible images.

The README now explains persistent VM state, QCOW2 overlays, and host-owned state in terms of the outcome they provide rather than the storage plumbing behind them.