Skip to content

Releases: cocoonstack/sandbox

v0.1.4

Choose a tag to compare

@CMGS CMGS released this 27 Jul 06:12

Changelog

  • 5fcd70d build: drop stale linux/amd64 pins from local image targets; Dockerfiles are arch-aware
  • ce85c8b clean up, asl force to format whole repo
  • 646e770 lint: pin golangci-lint v2.12.2 via the shared LOCALBIN pattern; settle new goconst findings
  • 9661c50 perf: stop spurious mesh epoch churn; drop per-chunk zero-fill in silkd bulk path (#53)
  • 1e929d6 release: v0.1.4 version bumps
  • a1e2cad sandboxd: cross-node snapshot placement — operator-token lifecycle, gossip redirect, peer heal (#52)

SDKs

  • Go: go get github.com/cocoonstack/sandbox/sdk/go@v0.1.4
  • Python: pip install cocoonstack-sandbox (adapters: cocoonstack-sandbox-openai, cocoonstack-sandbox-langchain)

v0.1.3

Choose a tag to compare

@CMGS CMGS released this 23 Jul 15:07

Changelog

  • 627df00 config: default pool keys at load so claims can find configured pools

SDKs

  • Go: go get github.com/cocoonstack/sandbox/sdk/go@v0.1.3
  • Python: pip install cocoonstack-sandbox (adapters: cocoonstack-sandbox-openai, cocoonstack-sandbox-langchain)

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 18 Jul 04:40

Changelog

  • bfbca8e ci: keep silkd arm64 release intermediates out of the worktree

SDKs

  • Go: go get github.com/cocoonstack/sandbox/sdk/go@v0.1.2
  • Python: pip install cocoonstack-sandbox (adapters: cocoonstack-sandbox-openai, cocoonstack-sandbox-langchain)

v0.1.1

Choose a tag to compare

@CMGS CMGS released this 17 Jul 02:55

Changelog

  • cfd9fab bench: record the 2026-07-14 round on the rust-review silkd images
  • 6e59f95 engine: require cocoon v0.5.2 — startup version probe + deploy prerequisite (#42)
  • 8d1717f release: bump the Python SDK packages to 0.1.1
  • 205d3f3 review(rs): full /code-rs pass over silkd and boot/init

SDKs

  • Go: go get github.com/cocoonstack/sandbox/sdk/go@v0.1.1
  • Python: pip install cocoonstack-sandbox (adapters: cocoonstack-sandbox-openai, cocoonstack-sandbox-langchain)

v0.1.0

Choose a tag to compare

@CMGS CMGS released this 13 Jul 07:38

Changelog

  • 6615de0 bench: burst + refill-recovery stages, record the post-#33 round
  • a18a469 bench: fail the burst stage when any claim fails
  • 1ecc744 chore: review-round hygiene (unsafe SAFETY notes, Python resource/exit) (#3)
  • ec4d80f docs(bench): 2026-07-10 bare-metal run (fs_pull 2.6x post-#13)
  • 33cfca3 docs(bench): bare-metal headline row (2026-07-08 run)
  • 4ca033a docs(egress): multi-node CA provisioning walkthrough, drop the status table
  • cce59bf docs(perf): bench entry at 2c8f5c6 (.79, locally built image chain)
  • 482c926 docs(perf): correct the 2c8f5c6 bench entry
  • 5bdf8c7 docs(perf): hibernate numbers at cocoon 32bcbc6 (direct capture)
  • 28c194d docs(perf): python:3.12 true-cold row at 2c8f5c6 (.79, ghcr pull)
  • 2b1ff72 feat(bench): make bench — reproducible claim-tier and data-plane benchmarks (M6-0)
  • 88fda81 feat(config): state-ownership model — persist API pools, cluster fan-out, config-drift detection (#33)
  • ee9efa0 feat(egress): HTTPS interception via cluster-root + per-node CA (#32)
  • ff25bd5 feat(egress): guarded-egress policy + secrets config schema (M6-6) (#18)
  • e3c78ba feat(egress): host-side guarded-egress proxy (policy + forward proxy) (#2)
  • 8ac4752 feat(egress): lock the egress-lane NIC via nftables (#25)
  • 03a9796 feat(egress): none-lane guarded egress — credentialed egress without a NIC (#24)
  • badb31d feat(os-image): browser flavor — headless Chrome for Testing with CDP on loopback (#19)
  • 43734a7 feat(os-image): wire the android flavor into the images matrix
  • e8f016f feat(pool): lifecycle auto-archive for idle sandboxes (#1)
  • 18044b7 feat(sandboxd): multi-tenant tokens, quotas, attribution (M5-5)
  • d813ea8 feat: node cordon/drain (#39)
  • 74b29f8 feat: xlarge tier and android flavor groundwork
  • b386081 fix(bench): skip the cold tier when COLD_TEMPLATE is the pooled template
  • 8a533b9 fix(egress): close egress hardening gaps found by the completeness audit + review (#26)
  • 27a7772 fix(engine): clone with --pull so cross-node checkpoint claims resolve base images
  • 88cfa5b fix(os-image): rebase the android flavor onto the official cocoon redroid image
  • 9d0ff73 fix(pool): archive commit re-validates the exported snapshot identity
  • fb82b49 fix(pool): probeReady waits out cocoon's created→running window
  • 527c33a fix(pool): restore comment em-dashes corrupted by a scripted edit (#5)
  • c12c943 fix(pool): warn when archive is enabled with checkpoint TTL off (#4)
  • dc29271 fix(sdk/python): bulk fast path rejects non-alphabet base64 bytes
  • d6065f7 fix(silkd): validate argv ahead of the session split, sanitize session env
  • 358a399 fix: close the persist-failure and store re-publish durability gaps (#21)
  • 10c1339 fix: prefer the guest's verdict over a racing pipe error; review-round polish
  • 1a24036 harden(silkd): cap the session exit-code tail scan (#9)
  • 6086c0a license: Apache-2.0 for the client SDKs, AGPL-3.0 for the server stack
  • 5952f4c perf(engine): Remove drops the redundant vm stop --force pre-call
  • 4eb363a perf(pool): HasGolden answers from the template set before touching the store
  • b0f7505 perf(pool): bound engine batches on the refill budget (H-1)
  • 4916857 perf(pool): drop the consumed hibernate snapshot off the wake-return path (#15)
  • 52bb159 perf(pool): fold archived count into Info's single locked pass (F7) (#10)
  • 2049cd2 perf(pool): make warm-pool refill reactive instead of tick-gated (#12)
  • 5026c12 perf(pool): marshal the claims journal off the manager mutex (F1 part 2) (#14)
  • a6e1a44 perf(pool): move the claims-journal write off the manager mutex (F1) (#6)
  • 984b0b6 perf(pool): read vsock from lifecycle -o json, skip the vm list poll (#8)
  • 5b9ba71 perf(pool): recLock skips the mutex allocation on the warm path
  • 15aef39 perf(sdk): fast-path bulk frame decode, skipping json.Unmarshal (#13)
  • 2c3df8a perf(sdk): hand-encode upload data/stdin frames, 256KiB chunks (2.3x) (#20)
  • 226d466 perf(sdk): unify redirect follow and lookup scatter (H-3)
  • 74e83df perf(silkd): hand-render bulk chunk frames to skip per-chunk allocations
  • 7e4b5e6 perf(silkd): memchr the session sentinel scan (#16)
  • 0f4f417 perf: measure H-4 connection reuse and decline it with data
  • d69e69c perf: sandbox-side hotspot round — fork snapshot clones, codec fast path, async journal (#28)
  • 0955521 release: goreleaser pipeline — silkd artifact, archives, generated changelog
  • f6ef221 release: version flag, tagged binary releases, systemd unit (#38)
  • 273ca22 review(sdk-py): annotate public return types (#11)
  • 49347fc test(e2e): androidsmoke accepts adb instead of VNC
  • ac1b6fc test(e2e): androidsmoke waits for the framework, not just init
  • 41c205d test(e2e): androidsmoke — the M6-1 hardware acceptance driver
  • 37f4fdc test(e2e): crossnode — two-node shared-store checkpoint acceptance
  • a443468 test(e2e): pullbench throughput driver for the chunk-frame A/B
  • e65ce88 test(smoke): widen the positive port probe to 10s

SDKs

  • Go: go get github.com/cocoonstack/sandbox/sdk/go@v0.1.0
  • Python: pip install cocoonstack-sandbox (adapters: cocoonstack-sandbox-openai, cocoonstack-sandbox-langchain)