Repository navigation
v1.2.0
Added
startservices are supervised. A service that exits non-zero is restarted after 1 s, then 2, 4
and up to 30 s. After five quick crashes in a row, boxer stops and the start log says so.
restart = "never"turns it off. Each restart is a line in/tmp/boxer-start.log.boxer restartstops thestartservices and launches them again without recreating the
sandbox.volumes = ["name:/guest/path"]: named directories kept on the host per scope and mounted
read-write. They surviverm,--recreateand idle reclaim, and are deleted with their worktree
bygc, or byboxer rm --volumes. Tested with Postgres on smolvm, including crash recovery
after akill -9.idle_action = "stop" | "delete"chooses what idle reclaim does to a sandbox whose worktree still
exists.build = "Dockerfile"andbuild_context. boxer builds the Dockerfile on the host and boots the
result. docker, podman and Applecontainerbuild into their own store. smolvm boots a
docker savearchive built by the host's docker. devcontainerbuild.dockerfileanddockerFile
now map to it instead of being refused.[network] allow_presetsexpands npm, yarn, pypi, crates, rust, go, rubygems, maven, gradle,
debian, alpine and github into the hosts each one needs.intercept_alsoadds programs to the defaultinterceptlist without restating it.boxer doctorsuggests it for Ruby and JVM projects.boxer uninstall <harness>|all|git|conductor [--user]removes whatboxer installwrote. Files
boxer merged into keep everything else.pkg/boxer:ListAlllists sandboxes on every installed backend, with the new
Machine.Backendfield.PortsandURLsread a machine's forwarded ports and their URLs.- Smoke cells for supervision,
boxer restart, volumes,build, presets and file watching. File
watching was measured on each backend. On Applecontainerand on podman on a Mac, host edits do
not reach inotify, and the troubleshooting guide gives the polling fix.
Changed
- Idle reclaim now stops a sandbox whose worktree still exists, instead of deleting it. Set
idle_action = "delete"for the 1.1 behaviour.
Fixed
- The test suite's fake smolvm isolates boxer's state directory itself. A test that used the fake
without a repository wrote a fake pack into the developer's real pack cache. - A local image archive on smolvm no longer tries to build a pack at every create. smolvm refuses
to pack an archive, so each create printed the refusal and paid for the attempt.
Full changelog: https://github.com/BarakChamo/boxer/blob/main/CHANGELOG.md