sdks/sandbox/go/v1.0.5
pq-yang/MatAnyone2sdks/sandbox/go/v1.0.5Jul 24, 2026by ninan-nn
AI Summary
Introduces retry policies for pool acquire, metrics reporting, and client IP detection to the Go Sandbox SDK.
Key Highlights
- Retrying pool acquire policies (skip stale idle candidates)
- Sandbox create metrics reporting to lifecycle server
- Client IP header detection for intranet IPv4
New Features
- Retrying pool acquire policies
- Sandbox create metrics
- Attach to isolated sessions by session ID
- UID mode availability checks
- Exact snapshot name filtering
- Isolated session bind mounts and listing
Full Release Notes
## What's New ### ✨ Features - **Retrying pool acquire policies** — Go sandbox pools now support `AcquirePolicyRetryNextIdle` and `AcquirePolicyRetryNextIdleThenCreate`, allowing `Acquire` to skip stale idle candidates before failing or falling back to direct create. Existing policies keep their current behavior; `MaxAcquireRetries` defaults to 3. #1347 - **Sandbox create metrics** — `Sandbox.Create` now reports fire-and-forget `sandbox.create` latency events to the lifecycle server. Reporting ignores old-server version skew and can be disabled with `OPENSANDBOX_DISABLE_METRICS=1`. #1307 - **Client IP header** — the SDK now best-effort detects the host intranet IPv4 and sends it as `OPEN-SANDBOX-CLIENT-IP` on outbound requests. User-provided headers are never overwritten. #1326 - **Attach to isolated sessions** — the SDK can now attach to an existing isolated session by session ID, allowing stateless workers to recover a functional handle while the execd in-memory session remains alive. #1295 - **UID mode availability** — isolated session responses now expose per-mode `setpriv` / `userns` availability, and unavailable requested modes fail with `503 NOT_SUPPORTED`. #1320 - **Exact snapshot name filtering** — snapshot listing now supports an exact `name` filter. #1301 - **Isolated session bind mounts and listing** — isolated sessions can now receive explicit bind mounts, and the SDK exposes isolated session listing so callers can inspect active sessions. #1264 #1269 - **Credential Vault placeholder substitutions** — request matching now supports opt-in placeholders for path, query, header, and body surfaces, including passthrough auth bindings. #1251 ### 🐛 Bug Fixes - **Streaming and stale connection hardening** — long-lived SSE command streams no longer use the normal total request timeout, so command output is not cut off by `RequestTimeout`. Idempotent `GET` / `HEAD` requests retry once on a fresh connection after timeout, reset, or EOF errors. #1316 ### 📦 Misc - Bumped the Go SDK version constant and default User-Agent string for this release. #1384 ### 👥 Contributors - @FAUST-BENCHOU - @Pangjiping - @jianpingpei - @jwx0925 - @ninan-nn - @ruirui6946