SecondBox v0.11.0
Added one command per Sandbox intent (friendly verbs, size presets, golden Snapshots, and a guided install that runs a hello-world microVM) and one-command qualification and release tooling.
The Firecracker bundle shipped with this release still predates the guest-side port-credit fixes below; they reach Firecracker guests with the v0.12.0 bundle. Release notes were written after the fact: see the v0.11.0 release notes.
Added
- Added friendly Sandbox lifecycle, file, port-forwarding, and Snapshot commands.
runandcreatenow accept size presets, explicit CPU/memory/Workspace requests bounded by optional Profile ceilings, quota, and Runner admission, and--from sandbox/snapshot-nameor Snapshot identifiers. Memory and disk requests, Profile defaults, and finite ceilings require whole MiB. Requested disk capacity rounds up to a power of two, capped at a finite ceiling when the request fits; resume Profiles require their fixed size. An operator flexible-size Profile example removes CPU and memory ceilings while bounding disk at 256 GiB. Resolved resources appear in human Sandbox views, and an operator Profile example documents preparing dependencies with registry HTTPS access for golden Snapshots (#126). - Added
just qualifyfor concurrent PR and release gates andjust release VERSIONfor local qualification, artifact building, memory-capped parallel installer guests, and final staging, with per-stage logs and timings. Releases retain commit-exact evidence and require explicit publication (#131).
Changed
- Required removal of duplicate ready Snapshot names per Sandbox before upgrading across migration
0024_snapshot_name_index.sql. On the source release, list Snapshots withsnapshots list --path sandboxId=...and delete unwanted duplicates by Snapshot identifier; duplicates block control-plane startup. See the deployment and guided-update procedures (#126). - Simplified deployment settings: removed the seven unused deployment-level Subject quota defaults and the unenforced RunnerPool
capacityPolicyfrom the public API, SDKs, resource documents, the CLI--capacityoption, and deployment pool declarations (max_sandboxes,max_vcpu_count,max_memory_bytes); a forward migration drops its column. Packaged listeners, catalog location, same-host Runner paths, and the jail policy are derived; polling intervals become optional[overrides]. Retired fields are rejected (#130).
Fixed
- Fixed port forwarding to bound every session by its granted Lease lifetime and keep individual connection failures from stopping other connections. Guided-install smoke runs now wait for Sandbox deletion to release capacity before starting the next run (#126).
- Guest port forwarding now returns unused byte credit after short socket reads, bounds Runner adapter credit and read sizes, and keeps granting credit to guests that discard short-read remainders, preventing forwarding stalls (#127, #128, #129).
Full release notes · Full changelog
Install
Guided Linux amd64 install:
curl -fsSL https://github.com/SecondStack-AI/SecondBox/releases/download/v0.11.0/install.sh | shSDKs: npm install @secondstack-ai/secondbox@0.11.0 and go get github.com/SecondStack-AI/SecondBox@v0.11.0