Skip to content

0.6.0

Choose a tag to compare

@danmt danmt released this 18 Jul 13:40
· 472 commits to main since this release

What's Changed

  • Import claudebox: creds-free, trust-less Claude Code VMs by @dan-claude-bot in #1
  • fix: install from the public canonical repo by @dan-claude-bot in #2
  • feat: drop the claude- instance-name prefix by @dan-claude-bot in #4
  • fix: preinstall the GitHub CLI in boxes by @dan-claude-bot in #5
  • feat: add claudebox list, with snapshot labels by @dan-claude-bot in #9
  • fix: standard help, honest flags, and an rm that asks first by @dan-claude-bot in #10
  • feat: make the command surface a table, add rename and an escape hatch by @dan-claude-bot in #13
  • test: add an end-to-end drill against a real Incus by @dan-claude-bot in #18
  • fix: first-run drill defects — pipefail false FAILs, exec-pty hang, DHCP race by @dan-claude-bot in #19
  • fix: run-2 cascade (per-name cleanup), and claude on exec's PATH by @dan-claude-bot in #20
  • fix(drill): read eth0 from inside the box; settle the flaky dns.mode verdict by @dan-claude-bot in #21
  • fix(drill): no in-box probe can hang the run again by @dan-claude-bot in #22
  • fix(drill): delete every listener — refused-vs-dropped already answers it by @dan-claude-bot in #23
  • fix(drill): stop going silent through host setup, and keep the run log in the repo by @dan-claude-bot in #24
  • fix(drill): clean the host before setup-host, and bound it by @dan-claude-bot in #25
  • fix: a clone must not inherit its source's identity (two boxes, one IP) by @dan-claude-bot in #27
  • fix(drill): the NIC inside a VM is enp5s0, not eth0 — read the address by subnet by @dan-claude-bot in #28
  • fix: the clone identity reset could never reboot, so it never took effect by @dan-claude-bot in #30
  • fix(drill): refuse to judge #16 on a broken baseline by @dan-claude-bot in #31
  • fix(drill): stop poisoning the host, and add a doctor to prove it by @dan-claude-bot in #32
  • fix: a failed cold mint must say why; doctor gains DNS diagnosis and --pin-dns by @dan-claude-bot in #34
  • fix(doctor): check that something is actually serving the network by @dan-claude-bot in #35
  • fix: boxes could reach each other — isolate them at the bridge by @dan-claude-bot in #37
  • fix: isolate boxes with the bridge's port-isolation flag by @dan-claude-bot in #38
  • fix(doctor): read the isolation off the bridge, not off the config by @dan-claude-bot in #39
  • docs(drill): the audit is complete — boxes are not isolated from each other by @dan-claude-bot in #36
  • fix(doctor): four checks that lied, and none of them about a real fault by @dan-claude-bot in #40
  • fix(drill): read curl's message — the exit code cannot tell you what happened by @dan-claude-bot in #41
  • fix(doctor): pin the probes' stdin — an interactive exec cannot be timed out by @dan-claude-bot in #42
  • fix(doctor): the gateway does not answer ping — by design, so stop asking by @dan-claude-bot in #43
  • fix(drill): stop demanding an empty host — assert OUR boxes, not NO boxes by @dan-claude-bot in #44
  • fix: pin claudenet's resolver — a box's DNS is not a function of the host's VPN by @dan-claude-bot in #45
  • docs(readme): the isolation contract as it ships — and measured, not claimed by @dan-claude-bot in #47
  • docs(drill): record runs 11–13 — the contract measured at zero, from a bare host by @dan-claude-bot in #48
  • feat: 'claudebox tmux [session]' — a shell that survives you by @dan-claude-bot in #49
  • feat: 'claudebox doctor' — the host-health checks as a first-class verb by @dan-claude-bot in #50
  • fix: create the storage pool deliberately — btrfs, because cloning is the whole point by @dan-claude-bot in #51
  • feat!: claudebox becomes box — the Claude box is one template among several by @dan-claude-bot in #52
  • release: box 0.5.0 — codex+grok templates, migrate-host, box expose by @dan-claude-bot in #56
  • feat(new): inline resource overrides — --cpu, --memory, --disk by @dan-claude-bot in #59
  • docs: make the box narrative agent-agnostic, not Claude-specific by @dan-claude-bot in #58
  • docs(readme): how to run the drill against the latest version by @dan-claude-bot in #60
  • fix(install): the rename broke every install — stop guessing the tarball's top dir by @dan-claude-bot in #61
  • fix(doctor): a fresh host is not a dirty one by @dan-claude-bot in #62
  • feat: global install (#71), tmux (#65), CI + tests; folds #66 by @dan-claude-bot in #73
  • Make host setup complete in one run, and let the installer run it by @claude-bot-andresmgsl in #66
  • Restricted incus tier: per-user projects converged onto hardened boxnet (#74) by @dan-claude-bot in #75

New Contributors

Full Changelog: https://github.com/heavy-duty/box/commits/0.6.0