Skip to content

SecondBox v0.11.0

Choose a tag to compare

@melonamin melonamin released this 13 Sep 12:56
· 40 commits to main since this release
deffcca

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. run and create now accept size presets, explicit CPU/memory/Workspace requests bounded by optional Profile ceilings, quota, and Runner admission, and --from sandbox/snapshot-name or 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 qualify for concurrent PR and release gates and just release VERSION for 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 with snapshots 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 capacityPolicy from the public API, SDKs, resource documents, the CLI --capacity option, 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 | sh

SDKs: npm install @secondstack-ai/secondbox@0.11.0 and go get github.com/SecondStack-AI/SecondBox@v0.11.0