Sandboxes get recognizable hostnames, the deletion and prune verbs stop
touching content that isn't yoloai's, and failures explain themselves
instead of hiding behind a bare exit code.
Breaking changes (see docs/BREAKING-CHANGES.md):
- A sandbox's container/VM hostname is now the sandbox name (previously
the backend default, e.g. an opaque short container id).
Highlights:
destroy --alland wildcards resolve each sandbox's own recorded
backend, so a multi-backend fleet is destroyed completely instead of
orphaning sandboxes on other backends; destroying an already-gone
sandbox counts as success.system pruneis scoped to yoloai's own content on a shared daemon:
stopped containers and unused networks by label, and--imagesnow
removes only yoloai's images (the com.yoloai.managed label, plus the
yoloai- name for images built before the label existed). Unrelated
projects' images survive.wait --for exitpropagates the agent's own exit code, and
--timeoutexits 124, so scripts can gate on agent success.- A failed image build or subprocess carries its actual cause (the tail
of its own output) on the returned error, visible under--jsonand
to library embedders instead of only "exited with code 1". doctoraudits ownership of the Docker config dir and the yoloai data
dir, catching root-owned leftovers (which block builds and prunes)
with a concrete chown remedy.--network-isolatedno longer aborts when the host resolver lists an
IPv6 nameserver.
Install: download the archive for your platform below and extract the yoloai binary,
brew install kstenerud/tap/yoloai, or go install github.com/kstenerud/yoloai/cmd/yoloai@latest.
Verify with checksums.txt (+ the cosign signature / build provenance).