OpenSandbox is an open-source sandbox platform that gives AI applications an isolated runtime to execute code, run coding and GUIGUIA graphical user interface, controls such as windows, buttons and menus. It lets people use software visually rather than entering commands. agents, and support RL training and agent evaluation. It runs as a self-hosted system via Docker or Kubernetes, with SDKs in Python, Go, JS, Kotlin, and Java, and sits in the CNCF landscape under orchestration and scheduling. It is aimed at engineers building or operating AI agent infrastructure rather than at end users. Its design leans on runtime-security mechanics more than developer convenience: a supervisor process manages egress and crashloop recovery, a credential vault injects secrets into sandboxes without exposing raw values, and signed images and seccomp fallbacks harden the execution path. First committed in 2025, it already has 165 contributors and a release twelve days ago, a fast-moving, actively maintained project.
OpenSandbox gives AI applications isolated environments to execute code, run commands, manage files, and operate browsers or desktops.
What happens to a long-running agent job if I can't hold the connection open until it finishes?
submitting it in the background returns a run handle immediately, and status and logs are retrieved later by polling that handle rather than blocking the caller
Can I get back into a session after the worker process behind it restarts?
rebuilding a session handle from just the session ID reconstructs a fully functional handle, with the session's original creation parameters echoed back for confirmation
If network isolation can't actually be set up for a session, will it silently run unprotected instead?
a private-network session that cannot bind-pin its network and user namespace at startup fails closed with a retryable error rather than allowing the sandbox to start without isolation
What isolation is actually available on this host before I request it?
the sandbox daemon probes namespace and privilege-dropping support directly and reports unsupported modes as a distinct unavailable status instead of failing every isolation request the same way
Will my own team or CI ever land in a sandbox pool that's already exhausted?
exhausted pool capacity surfaces as a distinct, machine-identifiable condition with a retry-after hint rather than a generic timeout, so callers can tell exhaustion apart from other failures
Can I keep OTLP metrics flowing out of a sandbox whose network policy defaults to deny-all?
the egress sidecar auto-detects its own metrics endpoint at startup and injects that destination into the allow list, so telemetry export survives policy updates without a manually written rule
Chinese (Simplified)
Documentation: Chinese (Simplified)
Features
70 capabilities
across 4 capability groups
Built from OpenSandbox's releases, docs, README and our own runs.
“Seen” marks the month we first spotted a release the vendor didn't date.
Group names and tags are our labels.
OpenSandbox covers 3 of the 11 endpoint investigation and controls capabilities we track.
OpenSandbox covers 1 of the 2 secrets and credential hygiene capabilities we track.
What OpenSandbox offers you
REST API9
Client SDKs6
Python scripting support3
Scripting language support3
Command-line interface2
Administrative audit log1
JavaScript scripting support1
JSON data export1
Kubernetes-native deployment1
Multi-tenant management1
Plugin system1
No capabilities match.
+Security baseline enforcement2 featuresEndpoint investigation and controlssince 2026▸
+Sandbox Launch HardeningshippedEnforces strict security constraints during sandbox launch, including environment stripping, capability bounding set trimming, privilege dropping, and seccomp application via a native launcher helper.3 releases · 2 other sources · first seen Aug 2026▸
Shared capability: Security baseline enforcement
release
Adds [docker] publish_host config key to bind bridge-mode sandbox ports to a specific host address (default 0.0.0.0), preventing the tokenless execd port from appearing on public interfaces when set to 127.0.0.1 or the Docker bridge gateway.
release-1.1.1 · Oct 2026
· source
· release history
Native opensandbox-launcher helper enforces env strip, KEEPCAPS, bounding-set trim, no_new_privs, identity drop, seccomp, and execve.
docker/execd/1.1.0 · Aug 2026
· source
· release history
Adds [landlock] filesystem allowlist support in the hardening floor (requires kernel ≥5.13).
docker/execd/1.1.0 · Aug 2026
· source
· release history
example
Lock sandbox port exposure to localhost so the tokenless execd port never reaches public interfaces on a Docker host.$ [docker] publish_host = "127.0.0.1"
release-1.1.1 · Oct 2026
· source
Lock down the tokenless execd port so it is never reachable on public interfaces in a Docker deployment.$ [docker] publish_host = "127.0.0.1"
release-1.1.1-rc.1 · Sep 2026
· source
+Server-Side Sandbox ID InjectionshippedInjects a server-controlled sandbox identifier into the environment and blocks user-provided values for this variable to prevent egress sidecar telemetry spoofing.1 release · first seen Aug 2026▸
Shared capability: Security baseline enforcement
release
The OPENSANDBOX_EGRESS_SANDBOX_ID variable is now server-injected and removed from the env allowlist; passing it in request env returns HTTP 400.
server/v0.2.3 · Aug 2026
· source
· release history
+Secrets management2 featuresSecrets and credential hygienesince 2026▸
+Credential Vault InjectionshippedAllows sandboxes to consume secrets (API keys, OAuth tokens, HTTP headers) without exposing raw values to user code.9 releases · first seen Jun 2026▸
Shared capability: Secrets management
release
9 total
Adds POST|GET|PATCH|DELETE /v1/sandboxes/{id}/credential-vault API for the Credential Vault (OSEP-0022) — credential values never appear on public reads, PATCH uses expectedRevision as the cross-replica backstop, and non-fsb backends proxy the sidecar's /credential-vault surface — along with a Credential Vault…
release-1.2.0 · Oct 2026
· source
· release history
Adds Credential Vault support for fast sandboxes: a POST|GET|PATCH|DELETE /v1/sandboxes/{id}/credential-vault API with credential values sanitized on every public read and expectedRevision as the cross-replica PATCH backstop, plus a Credential Vault client contract added to all five SDKs that routes vault calls…
release-1.2.0 · Oct 2026
· source
· release history
Adds an experimental opt-in egress sidecar with live credential-bound Vault admission, HTTP/2 support with bounded drain, atomic policy-file persistence, and runtime fault containment (OSEP-0023).
release-1.2.0-rc.1 · Oct 2026
· source
· release history
Credential vault request matching now supports opt-in placeholders for path, query, header, and body surfaces including passthrough auth bindings.
js/sandbox/v0.1.11 · Jul 2026
· source
· release history
Credential Vault placeholder substitutions for path, query, header, and body request surfaces
python/sandbox/v0.1.14 · Jul 2026
· source
· release history
Opt-in credential vault placeholder substitutions for path, query, header, and body (including passthrough bindings)
java/sandbox/v1.0.16 · Jul 2026
· source
· release history
+Credential Vault Placeholder SubstitutionshippedAllows the use of placeholder variables within credential vault configurations, enabling dynamic matching and substitution across request paths, query parameters, headers, and bodies.3 releases · 1 other source · first seen Jul 2026▸
Shared capability: Secrets management
release
Adds POST|GET|PATCH|DELETE /v1/sandboxes/{id}/credential-vault API for the Credential Vault (OSEP-0022) — credential values never appear on public reads, PATCH uses expectedRevision as the cross-replica backstop, and non-fsb backends proxy the sidecar's /credential-vault surface — along with a Credential Vault…
release-1.2.0 · Oct 2026
· source
· release history
Adds credential vault placeholder substitutions for path, query, header, and body surfaces
csharp/sandbox/v0.1.5 · Jul 2026
· source
· release history
Placeholder substitution opt-in for request matching across path, query, header, and body surfaces in credential vault config
sdks/sandbox/go/v1.0.5 · Jul 2026
· source
· release history
example
Use credential vault placeholders in request matching to substitute dynamic auth data.$ // Request matching with placeholders const match = await vault.match({ body: '{"token": "{{VAULT_AUTH_TOKEN}}"}' });
js/sandbox/v0.1.11 · Jul 2026
· source
+Process telemetry1 featureEndpoint investigation and controlssince 2026▸
+Sandbox Audit LoggingshippedEmits rotating JSONL audit logs for exec, connect, and privilege events by hooking into the execution lifecycle using eBPF on supported kernels.1 release · first seen Aug 2026▸
Shared capability: Process telemetry
Also counts toward: Administrative audit log, JSON data export
release
execd-ebpf variant hooks exec/connect/privilege with CO-RE and emits rotating JSONL audit (requires kernel ≥5.10 with BTF).
docker/execd/1.1.0 · Aug 2026
· source
· release history
+Host network isolation1 featureEndpoint investigation and controlssince 2026▸
+Session Isolation Capability InspectionshippedReports the availability and readiness of specific isolation modes (such as setpriv or user namespaces) during isolated session creation, failing with an error if the underlying host does not support the requested mode.2 releases · first seen Aug 2026▸
Shared capability: Host network isolation
release
execd probes setpriv/userns availability independently and returns 503 NOT_SUPPORTED for unavailable modes instead of failing all isolation
docker/execd/v1.0.22 · Aug 2026
· source
· release history
Explicit share_net: false sessions now require execd to bind-pin the workload NetNS/UserNS; failure returns a retryable 503 error
docker/execd/v1.0.22 · Aug 2026
· source
· release history
+Other / not yet classified64 featuresFeatures we have not matched to a capability yet. A suggested match is marked.▸
+Isolated Session ManagementshippedSupports ephemeral, auto-cleanup isolated execution sessions for single or multiple runs within a secure context.28 releases · 9 other sources · first seen Jul 2026▸
release
28 total
Retains a BatchSandbox in the lifecycle API (reporting Stopping) until foreground cascading deletion and cleanup finalizers complete, preventing a replacement sandbox from writing the same persistent directory before the old writer exits.
release-1.2.0-rc.1 · Oct 2026
· source
· release history
Exposes CreateIsolatedSessionRequest.overlays ({path, mode, persist}) across the API and all five SDKs, enabling multiple independent overlay mounts per isolated session with separate host-tracked or ephemeral tmpfs uppers; workspace is retained as sugar and SessionState echoes the canonical list.
release-1.1.1 · Oct 2026
· source
· release history
Adds detached runs in isolated sessions for background work, accessible via Kotlin SDK polling and incremental log reads.
java/sandbox/v1.0.19 · Aug 2026
· source
· release history
Exposes per-mode setpriv / userns availability in isolated session responses with 503 error for unavailable modes
csharp/sandbox/v0.1.5 · Jul 2026
· source
· release history
Isolated session responses now expose per-mode setpriv / userns availability; unavailable modes fail with 503 NOT_SUPPORTED.
js/sandbox/v0.1.11 · Jul 2026
· source
· release history
Isolated sessions accept explicit bind mounts and the SDK exposes a new session listing capability for active sessions.
js/sandbox/v0.1.11 · Jul 2026
· source
· release history
example
9 total
Enable the server-side idle sweeper so paused fast sandboxes are reclaimed automatically, with Redis tracking activity.$ [automation.idle_pause] enabled = true [redis] dsn = "redis://localhost:6379/0" [kubernetes] template_mitm_ca_secret = "pool-mitm-ca"
release-1.2.0 · Oct 2026
· source
Reattach to a running isolated session using its ID for stateless worker resilience$ var handle = await client.AttachAsync(existingSessionId);
csharp/sandbox/v0.1.5 · Jul 2026
· source
Attach to an existing isolated session using its session ID.$ sandbox.isolation.attach('existing-session-id')
js/sandbox/v0.1.11 · Jul 2026
· source
Rebuild a handle for an in-memory isolated session from a stateless worker.$ python -c " import asyncio from sandbox import Sandbox async def main(): session_id = 'sess-abc' handle = await Sandbox.isolation.attach(session_id) print(handle.state) " "
python/sandbox/v0.1.15 · Jul 2026
· source
List currently active isolated sessions in the sandbox pool.$ from opensandbox.isolation import list sessions = list()
python/sandbox/v0.1.14 · Jul 2026
· source
Run code in an isolated sandbox and automatically clean up resources afterward.$ from opensandbox.isolation import run_once run_once(code="print('hello')", workspace='/tmp/output')
python/sandbox/v0.1.14 · Jul 2026
· source
+Code Execution Context ManagementshippedAllows creating, listing, retrieving, and deleting persistent code execution contexts with language-specific defaults.25 releases · 5 other sources · first seen Jan 2026▸
Also counts toward: Client SDKs
release
25 total
The informer_enabled flag is removed; the informer-backed cache is now the only Kubernetes read path.
release-1.1.0 · Sep 2026
· source
· release history
Makes the informer-backed cache the only Kubernetes read path by removing informer_enabled flag.
release-1.1.0 · Sep 2026
· source
· release history
Adds background: true to the run API, returning a JSON handle; new runs/{runId} and runs/{runId}/logs endpoints enable status polling for long-running sessions without blocking the caller.
docker/execd/v1.0.22 · Aug 2026
· source
· release history
session_id parameter on Attach to recover an existing isolated session handle in stateless workers
sdks/sandbox/go/v1.0.5 · Jul 2026
· source
· release history
CreateSandboxResponse, getSandbox, and listSandboxes now return opensandbox.extensions.* values.
server/v0.2.2 · Jul 2026
· source
· release history
Migrates osb devops logs and osb devops events to deprecated compatibility wrappers while preserving existing --tail, --since, and --limit flag behaviors
cli/v0.1.1 · May 2026
· source
· release history
example
Enable Redis-backed distributed sandbox pools in a Python client by installing the optional dependency.$ pip install opensandbox[pool-redis]
python/sandbox/v0.1.8 · May 2026
· source
Create a sandbox using a previously saved snapshot ID instead of booting from scratch.$ val sandbox = Sandbox.create(client, SnapshotRequest("snapshotId-abc123"))
java/sandbox/v1.0.10 · May 2026
· source
Pass environment variables when executing a command via the API.$ curl -X POST https://<host>/api/run \ -H 'Content-Type: application/json' \ -d '{ "cmd": "printenv MY_VAR", "env": { "MY_VAR": "hello" } }'
docker/execd/v1.0.7 · Mar 2026
· source
Execute a command as a specific non-root user by specifying uid and gid.$ curl -X POST https://<host>/api/run \ -H 'Content-Type: application/json' \ -d '{ "cmd": "whoami", "uid": 1000, "gid": 1000 }'
docker/execd/v1.0.7 · Mar 2026
· source
Manage code contexts programmatically via the SDK$ ctx = interpreter.create_context(language="python") contexts = interpreter.list_contexts() interpreter.delete_contexts(language="java")
python/code-interpreter/v0.1.1 · Jan 2026
· source
+Egress Filtering and ControlshippedAllows configuring network egress modes (DNS, DoT/DoH) and blocking traffic via IP/CIDR rules or hostnames.18 releases · 3 other sources · first seen Jan 2026▸
release
18 total
Adds port-scoped egress rules end to end in the classic sandbox profile.
release-1.2.0 · Oct 2026
· source
· release history
Treats pasta, slirp4netns, and none as valid container-runtime network modes, passing them through to podman kernel-level networking; rejects networkPolicy for these modes since no bridge is available for the egress sidecar.
release-1.2.0-rc.1 · Oct 2026
· source
· release history
Adds [egress.upstream_proxy] config section (URL + optional authorization) that injects a chained upstream CONNECT proxy for both Docker and Kubernetes backends, with ca_cert_path (Docker) and ca_secret_name (Kubernetes) to trust private-CA https:// proxies without replacing the system trust store.
release-1.1.1 · Oct 2026
· source
· release history
Adds OPENSANDBOX_EGRESS_UPSTREAM_PROXY / _AUTH environment variables to route transparent-proxy egress through an upstream CONNECT proxy with SNI/Host-consistent authority and fail-closed startup validation.
release-1.1.1-rc.1 · Sep 2026
· source
· release history
Egress rules derived from OTLP env vars survive policy updates and reloads, bypassing the default deny-all policy while respecting deny.always precedence
docker/egress/v1.1.7 · Aug 2026
· source
· release history
Configure the egress sidecar to use DNS-bound credential enforcement instead of direct IP.$ [egress] mode = "dns+nft"
docker/egress/v1.1.4 · Jul 2026
· source
Generate a temporary, signed token for internal route access within a sandbox.$ curl "https://<opensandbox-host>/sandboxes/{sandboxId}/endpoints/{port}?expires=1709251200"
server/v0.1.13 · May 2026
· source
Request a time-limited route token using the new signed endpoint API.$ val token = client.getSignedEndpoint(tokenRequest)
java/sandbox/v1.0.10 · May 2026
· source
+Sandbox SnapshottingshippedAllows capturing and restoring sandbox state via snapshots to create new instances or resume paused ones.15 releases · 2 other sources · first seen May 2026▸
Also counts toward: REST API, Client SDKs
release
15 total
Adds preflight rejection of gVisor snapshots unless effective args include --overlay2=none, preventing silent write-drop on docker commit under gVisor's default --overlay2=root:self.
release-1.2.0 · Oct 2026
· source
· release history
Supports publishing Fast Sandbox snapshots and template builds to — and booting from — OCI registries via the OverlayBD OCI lifecycle.
release-1.2.0 · Oct 2026
· source
· release history
Supports publishing Fast Sandbox snapshots and template builds to, and booting from, OCI registries via OverlayBD OCI lifecycle.
release-1.2.0 · Oct 2026
· source
· release history
Adds opt-in PostgreSQL snapshot store with migrate-snapshots CLI command.
release-1.1.0 · Sep 2026
· source
· release history
Rejects unsupported gVisor (runsc) snapshots with 409 SNAPSHOT::UNSUPPORTED_RUNTIME.
release-1.1.0 · Sep 2026
· source
· release history
QEMU VMState pause/resume captures guest memory/vCPU/device state via QMP migration for runc-based sandboxes; rootfs and VMState stored as separate OCI images keyed by SHA-256 digests.
server/v0.2.3 · Aug 2026
· source
· release history
example
Filter snapshot listing by a specific name using the new exact filter$ GET /rest/snapshots?name='<snapshot_name>'
java/sandbox/v1.0.17 · Jul 2026
· source
Filter snapshots by exact name using the API query parameter.$ curl 'https://<server>/v1/snapshots?name=my-snapshot-01'
server/v0.2.2 · Jul 2026
· source
+Egress MITM Proxy SupportshippedEnables man-in-the-middle interception of sandbox egress traffic to inspect or modify HTTPS requests.13 releases · 3 other sources · first seen Apr 2026▸
release
13 total
Adds [kubernetes] template_mitm_ca_secret server config (default off) to bake a pinned MITM CA into server-created SandboxTemplates via spec.egressMitmCertificate, so an egress restart no longer rotates the trust anchor under live sandboxes.
release-1.2.0 · Oct 2026
· source
· release history
Adds [kubernetes] template_mitm_ca_secret server config (default off) that pins the MITM CA per pool by emitting spec.egressMitmCertificate on every SandboxTemplate, so an egress restart no longer rotates the trust anchor under live sandboxes.
release-1.2.0 · Oct 2026
· source
· release history
Adds OPENSANDBOX_EGRESS_MITMPROXY_EXTRA_PORTS env var (comma-separated) to append extra destination ports to the transparent-mitm REDIRECT rule, with fail-closed validation — ports are decrypted and logged, though not yet matched against credential bindings (experimental).
docker/egress/v1.1.5 · Jul 2026
· source
· release history
bootstrap.sh now discovers every JDK and imports the egress MITM CA into each cacerts via keytool.
server/v0.2.2 · Jul 2026
· source
· release history
isolation.runOnce(code, workspace, ...) and isolation.withSession(req) { ... } for one-shot and scoped sessions with guaranteed cleanup
java/sandbox/v1.0.16 · Jul 2026
· source
· release history
bootstrap.sh imports the MITM CA into every JDK's cacerts for non-OS-store environments.
docker/execd/v1.0.21 · Jul 2026
· source
· release history
example
Enable the MITM CA pinning feature so that egress sidecar restarts never rotate the trust anchor under live sandboxes in a Kubernetes deployment.$ [kubernetes] template_mitm_ca_secret = "mitm-ca-secret" [automation.idle_pause] enabled = true [redis] dsn = "redis://localhost:6379/0"
release-1.2.0 · Oct 2026
· source
Route all sandbox egress through a corporate CONNECT proxy signed by an internal CA, without replacing the sidecar system trust store.$ [egress.upstream_proxy] url = "https://proxy.corp.example.com:3128" # Docker deployments ca_cert_path = "/etc/pki/corp-ca.pem" # Kubernetes deployments # ca_secret_name = "corp-ca-secret"
release-1.1.1 · Oct 2026
· source
Configure the egress service to write combined mitmproxy logs to a file via rotation.$ export OPENSANDBOX_LOG_OUTPUT=file
docker/egress/v1.1.6 · Aug 2026
· source
+Ingress Proxy ModeshippedIntercepts traffic to sandboxes via URI or header-based routing without requiring target pod service creation.12 releases · 3 other sources · first seen Jan 2026▸
release
12 total
Adds the OpenSandbox-Skip-Activity: skip request header sentinel to suppress ingress activity observation for a single request (stripped at both gateway and server-proxy hops).
release-1.2.0-rc.1 · Oct 2026
· source
· release history
Makes reverse proxy internal resolution configurable via [proxy] resolve_internal.
release-1.1.0 · Sep 2026
· source
· release history
Imports mitmproxy CA into NSS DB and sets NODE_EXTRA_CA_CERTS for TLS trust behind interception
docker/execd/v1.0.14 · Apr 2026
· source
· release history
Trust the MITM proxy when OPENSANDBOX_EGRESS_MITMPROXY_TRANSPARENT environment variable is set
docker/execd/v1.0.12 · Apr 2026
· source
· release history
multi ingress gateway mode support
server/v0.1.3 · Feb 2026
· source
· release history
example
Probe an auto-paused sandbox from a health-check script without recording the request as user activity, keeping the idle timer accurate.$ curl -H 'OpenSandbox-Skip-Activity: skip' https://<sandbox-host>/healthz
release-1.2.0-rc.1 · Oct 2026
· source
Ensure Chrome and Node.js trust intercepted TLS certificates in transparent egress mode.$ export NODE_EXTRA_CA_CERTS=/path/to/mitmproxy-ca.pem
docker/execd/v1.0.14 · Apr 2026
· source
Force the egress proxy to use specific external DNS servers like Google's or Cloudflare's.$ docker run -e OPENSANDBOX_EGRESS_DNS_UPSTREAM=8.8.8.8,1.1.1.1 opensandbox/egress:v1.0.6
docker/egress/v1.0.6 · Apr 2026
· source
+Persistent Volume MountingshippedSupports mounting host and PVC volumes into sandbox environments.13 releases · 2 other sources · first seen Feb 2026▸
Also counts toward: REST API
release
13 total
Adds [egress.resources] config key for independent resource requests/limits on the Kubernetes egress sidecar.
release-1.1.0 · Sep 2026
· source
· release history
CreateIsolatedSessionRequest.binds accepts BindMount(source, dest, readonly) for arbitrary host-to-namespace mappings; also exposes uidMode
java/sandbox/v1.0.16 · Jul 2026
· source
· release history
CreateIsolatedSessionRequest.binds accepting BindMount(source, dest, readonly) for host→namespace path mappings and uid_mode support
python/sandbox/v0.1.14 · Jul 2026
· source
· release history
CreateIsolatedSessionRequest accepts binds: [{source, dest, readonly}] for explicit bind mounts.
docker/execd/v1.0.21 · Jul 2026
· source
· release history
Adds gVisor and Kata RuntimeClass support via the new secure-container feature for enhanced isolation
k8s/task-executor/v0.2.0 · May 2026
· source
· release history
Supports GVisor and Kata Containers as secure-container RuntimeClass options
k8s/controller/v0.2.0 · May 2026
· source
· release history
example
Mount host directories into an isolated session with read-write access.$ from opensandbox.isolation import CreateIsolatedSessionRequest, BindMount req = CreateIsolatedSessionRequest( binds=[BindMount(source='/host/data', dest='/container/data', readonly=False)] )
python/sandbox/v0.1.14 · Jul 2026
· source
Create a session with explicit bind mounts using the new binds field.$ { "session_name": "my-sandbox", "binds": [ {"source": "/host/data", "dest": "/data", "readonly": true}, {"source": "/host/code", "dest": "/workspace/src", "readonly": false} ] }
docker/execd/v1.0.21 · Jul 2026
· source
+Resource Concurrency and Scaling ControlshippedProvides configuration options for pool scaling strategies, worker limits, memory accumulation controls, and expiration thresholds to manage resource usage.15 releases · first seen May 2026▸
release
15 total
Supports pool-only sandbox creation using poolRef without an entrypoint (previously rejected with HTTP 400), and surfaces pool back-pressure as HTTP 429 KUBERNETES::POOL_CAPACITY_EXHAUSTED with a Retry-After header.
release-1.1.0 · Sep 2026
· source
· release history
Adds [egress] otlp_endpoint config key so the egress sidecar exports metrics to an OpenTelemetry collector on both runtimes.
release-1.1.0 · Sep 2026
· source
· release history
Bounded concurrency for idle sandbox pool cleanup cuts 100-sandbox release time from approximately 8.3 seconds to 0.8 seconds.
python/sandbox/v0.1.16 · Aug 2026
· source
· release history
Enables rolling pool warmups via warmupConcurrency to prevent single slow creation from stalling the rest of the refill wave.
java/sandbox/v1.0.18 · Aug 2026
· source
· release history
Adds RetryPolicy configuration with bounded exponential backoff, jitter modes, and per-attempt timeouts for non-streaming calls.
java/sandbox/v1.0.18 · Aug 2026
· source
· release history
RETRY_NEXT_IDLE and RETRY_NEXT_IDLE_THEN_CREATE policies for pool acquire allow skipping stale idle candidates before falling back or failing; max_acquire_retries defaults to 3.
python/sandbox/v0.1.15 · Jul 2026
· source
· release history
+Sandbox Lifecycle HooksshippedEnables configuring preStart initialization and periodic health check logic via internal environment variables at sandbox creation.14 releases · first seen Aug 2026▸
release
14 total
Adds OpenSandbox-Skip-Activity sentinel header to suppress one activity observation on the idle sweeper, stripped on both gateway and proxy hops.
release-1.2.0 · Oct 2026
· source
· release history
Accepts env on template create, baking it into the fast-sandbox golden image at /etc/sandbox-init.env (inheriting the source image's OCI Config.Env), supported across all five SDKs.
release-1.1.1 · Oct 2026
· source
· release history
Adds preStart and periodic sandbox lifecycle hooks via create request environment variables.
release-1.1.0 · Sep 2026
· source
· release history
Adds default strict health check to CodeInterpreter creation in all SDKs.
release-1.1.0 · Sep 2026
· source
· release history
Adds preStart and periodic lifecycle hooks to sandbox create requests (OSEP-0020), validated server-side and serialized into a reserved environment variable for Kubernetes workloads; preStart.timeoutSeconds limit raised to 10800 seconds.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
release-1.1.0 · Sep 2026
· source
· release history
Adds sandbox lifecycle hook models (OSEP-0020) to the API spec and every SDK with consistent validation aligned to server ranges.
release-1.1.0 · Sep 2026
· source
· release history
+Server-Side Egress TelemetryshippedExports HTTP request metrics (rate, error, latency) and egress sidecar metrics to OpenTelemetry for observability.10 releases · 3 other sources · first seen Jul 2026▸
Also counts toward: REST API
release
10 total
Exports server HTTP metrics (request rate, error rate, latency) over OTLP.
release-1.1.0 · Sep 2026
· source
· release history
Exports generic HTTP request metrics (request rate, error rate, latency) from the server over OTLP, complementing the SDK-reported create-duration histogram.
release-1.1.0 · Sep 2026
· source
· release history
Supports independent [egress.resources] and [egress] otlp_endpoint for egress sidecars.
release-1.1.0 · Sep 2026
· source
· release history
New OTLP metric server.http.request.duration exported via ASGI middleware with http_method, http_route, and http_status_code attributes; enabled via [otel] config.
server/v0.2.3 · Aug 2026
· source
· release history
egress.nftables.updates.failed_total{operation} Prometheus counter for nftables dynamic allow-set update failures
docker/egress/v1.1.6 · Aug 2026
· source
· release history
Changes automatic retry behavior: idempotent methods now retry 429, 502, and 503 by default; use .retryPolicy(RetryPolicy.disabled()) to revert.
java/sandbox/v1.0.18 · Aug 2026
· source
· release history
example
Export egress sidecar metrics to your OpenTelemetry collector and cap its resource footprint independently of the sandbox container.$ [egress] otlp_endpoint = "http://otel-collector:4317" timeout_seconds = 30 [egress.resources] requests = { cpu = "50m", memory = "64Mi" } limits = { cpu = "200m", memory = "128Mi" }
release-1.1.0 · Sep 2026
· source
Configure the egress sidecar to export metrics to an external collector without manual firewall rules or policy edits.$ OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=http://collector:4317 docker run opensandbox/egress:v1.1.7
docker/egress/v1.1.7 · Aug 2026
· source
Record sandbox creation latency as an OTEL histogram via the new metrics endpoint.$ curl -X POST 'https://<server>/v1/metrics/events' \ -H 'Content-Type: application/json' \ -d '{"event": "MetricsEvent", "payload": {"type": "opensandbox.sandbox.create.duration", "value": 120}}'
server/v0.2.2 · Jul 2026
· source
+Sandbox Lifecycle Management (Pause/Resume)shippedAllows pausing a running sandbox to preserve its root filesystem state for later inspection and resuming it, backed by snapshot technology.8 releases · 4 other sources · first seen May 2026▸
release
8 total
Adds lifecycle.idlePolicy create field (idleTimeoutSeconds 30–86400, onIdle: pause, wakeOnAccess, optional activeProbe) enabling auto-pause and wake-on-access for fast sandboxes, with config moving under [automation.idle_pause] and redis.dsn validated at load when the sweeper is enabled, plus a typed…
release-1.2.0 · Oct 2026
· source
· release history
Adds lifecycle.idlePolicy create field (with idleTimeoutSeconds 30–86400, onIdle: pause, wakeOnAccess, and optional activeProbe) to opt fast sandboxes into server-side auto-pause and wake-on-access (OSEP-0024); the policy persists as the sandbox.opensandbox.io/idle-policy Sandbox CR annotation and is off…
release-1.2.0-rc.1 · Oct 2026
· source
· release history
Implements pause/resume for the agent-sandbox provider by bridging to spec.operatingMode (Running/Suspended) on agents.x-k8s.io/v1beta1, with state derivation (Paused/Pausing/Resuming/Terminated) and 409 on invalid transitions.
release-1.1.1 · Oct 2026
· source
· release history
Adds QEMU VMState pause/resume for runc-based sandboxes: opt-in capture of guest memory, vCPU, and device state via QMP migration, stored as separate OCI images keyed by immutable SHA-256 digests; supports pooled BatchSandbox pause, detachment, and standalone restoration.
server/v0.2.3 · Aug 2026
· source
· release history
Implements pause/resume functionality with underlying rootfs snapshot support
helm/opensandbox/0.2.0 · May 2026
· source
· release history
Implements pause and resume operations for batchsandbox instances backed by rootfs snapshots
k8s/controller/v0.2.0 · May 2026
· source
· release history
example
Create a fast sandbox that automatically pauses after 5 minutes of inactivity and wakes transparently on the next request.$ import asyncio from opensandbox import Sandbox from opensandbox.models import IdlePolicy, RenewalPolicy async def main() -> None: sandbox = await Sandbox.create( "python:3.12", lifecycle={…
release-1.2.0 · Oct 2026
· source
Create a fast sandbox that auto-pauses after 5 minutes of idle and wakes transparently on the next access, keeping costs low for infrequently used environments.$ curl -X POST https://api.opensandbox.example/v1/sandboxes \ -H 'Content-Type: application/json' \ -d '{ "template": "my-template", "lifecycle": { "idlePolicy": { "idleTimeoutSeconds": 300, "onIdle":…
release-1.2.0 · Oct 2026
· source
Create a fast sandbox that auto-pauses after 5 minutes of inactivity and wakes transparently when the next request arrives.$ { "lifecycle": { "idlePolicy": { "idleTimeoutSeconds": 300, "onIdle": "pause", "wakeOnAccess": true } } }
release-1.2.0-rc.1 · Oct 2026
· source
Pause a running sandbox to preserve its root filesystem state for later inspection.$ opensandbox pause <sandbox_id>
helm/opensandbox/0.2.0 · May 2026
· source
+Sandbox Hardening InspectionshippedsuggestedExposes runtime metadata reporting the active state of per-layer security hardening such as seccomp, no_new_privs, and Landlock.10 releases · 1 other source · first seen Jun 2026▸
Suggested capability: Security baseline assessment. This is our guess, not confirmed.
release
10 total
Adds sandbox-scoped CPU/memory metrics in execd: when the sandbox cgroup carries configured limits, execd.system.cpu.usage and execd.system.memory.usage_bytes now read from the sandbox's own cgroup (cpu.stat/cpu.max, memory.current/memory.max, with v1 fallback) instead of the host-wide /proc view via…
release-1.2.0-rc.1 · Oct 2026
· source
· release history
Adds OOM kill reporting in execd via cgroupfs polling: polls the sandbox cgroup every 5 s, diffs memory.events (cgroup v2; best-effort v1), and exports the execd.system.oom.kills metric with a local/descendant level attribute plus structured warn logs with best-effort victim attribution.
release-1.2.0-rc.1 · Oct 2026
· source
· release history
GET /v1/isolated/capabilities returns a hardening object with per-layer hardening state.
docker/execd/1.1.0 · Aug 2026
· source
· release history
Exposes confirmed Pool allocation summaries in sandbox responses and adds execd init mode and hardening-layer state fields to isolated capabilities; fields are absent when the server cannot confirm the state.
python/sandbox/v0.1.16 · Aug 2026
· source
· release history
Models execd hardening capability results as part of richer runtime metadata exposed in the SDK.
java/sandbox/v1.0.19 · Aug 2026
· source
· release history
Sandbox pods no longer mount a service-account token (kubernetes.service_account config removed and automountServiceAccountToken: false set).
server/v0.2.2 · Jul 2026
· source
· release history
example
Inspect the hardening state of an isolated environment programmatically.$ curl -s http://localhost:8080/v1/isolated/capabilities | jq '.hardening'
docker/execd/1.1.0 · Aug 2026
· source
+Session Persistence and ExecutionshippedEnables creating persistent, pipe-based bash sessions for interactive command execution within sandboxes.9 releases · 1 other source · first seen Mar 2026▸
Also counts toward: Client SDKs
release
9 total
Adds attach(sessionId) to all five SDKs, rebuilding a fully functional session handle from a bare session ID (e.g. after a worker restart); SessionState now echoes creation parameters.
docker/execd/v1.0.22 · Aug 2026
· source
· release history
WebSocket proxy now forwards all headers except hop-by-hop and handshake-specific headers (replacing hardcoded whitelist)
docker/ingress/v1.0.8 · Jun 2026
· source
· release history
Adds optional command field to POST /pty for one-shot terminal I/O
docker/execd/v1.0.19 · Jun 2026
· source
· release history
Adds ?takeover=1 query parameter to GET /pty/:sessionId/ws for live PTY session handoff
docker/execd/v1.0.19 · Jun 2026
· source
· release history
Adds the runInSession method to execute code within an existing session context.
java/sandbox/v1.0.6 · Apr 2026
· source
· release history
Adds run_in_session subcommand in the Python SDK for persistent shell workflows
python/sandbox/v0.1.6 · Mar 2026
· source
· release history
example
Reconnect to an existing session from SDK code after a worker restart, without needing the original session object.$ session = client.attach(sessionId)
docker/execd/v1.0.22 · Aug 2026
· source
+Secure Access Key VerificationshippedEnforces cryptographic verification of access keys for sandboxes marked as secure.9 releases · 1 other source · first seen May 2026▸
release
9 total
OPENSANDBOX_EGRESS_CREDENTIAL_VAULT_TRUSTED_PROXY_CIDRS env var added for trusted proxy addresses; X-Forwarded-Proto no longer trusted by default by the server proxy.
server/v0.2.2 · Jul 2026
· source
· release history
X-Forwarded-Proto header is no longer trusted unless the client IP is listed in OPENSANDBOX_EGRESS_CREDENTIAL_VAULT_TRUSTED_PROXY_CIDRS; otherwise requests are rejected as non-HTTPS
docker/egress/v1.1.4 · Jul 2026
· source
· release history
Adds OPENSANDBOX_EGRESS_CREDENTIAL_VAULT_TRUSTED_PROXY_CIDRS environment variable to define trusted IPs/CIDRs for X-Forwarded-Proto validation
docker/egress/v1.1.4 · Jul 2026
· source
· release history
Adds secureAccess option for sandbox creation and endpoint access headers in Kubernetes ingress gateway mode
js/sandbox/v0.1.8 · Jun 2026
· source
· release history
Adds secure_access support for sandbox creation and endpoint access headers in Kubernetes ingress gateway mode
python/sandbox/v0.1.10 · Jun 2026
· source
· release history
Adds opt-in SecureAccess support for sandbox creation and endpoint access headers in Kubernetes ingress gateway mode
csharp/sandbox/v0.1.2 · Jun 2026
· source
· release history
example
Request secure access for a new sandbox to get signed, short-lived endpoint URLs.$ sandbox = await client.sandboxes.create( ..., secureAccess=True )
python/sandbox/v0.1.8 · May 2026
· source
+Diagnostics API ScopingshippedSupports filtering diagnostics output by specific scopes such as logs and events.7 releases · 2 other sources · first seen Aug 2026▸
Also counts toward: REST API
release
7 total
Adds GET /v1/sandboxes/{sandboxId}/diagnostics/context endpoint returning sandbox ID, lifecycle state, backend type, and backend-defined identifiers for Docker, Kubernetes, and Fast Sandbox without requiring an execd connection.
release-1.2.0 · Oct 2026
· source
· release history
Adds GET /v1/sandboxes/{sandboxId}/diagnostics/context endpoint returning sandbox ID, lifecycle state, backend type, and backend-defined identifiers for Docker, Kubernetes, and Fast Sandbox without connecting to execd; unsupported extension backends return 501.
release-1.2.0 · Oct 2026
· source
· release history
Maps proxied backend failures to typed HTTP statuses: read/write timeouts return 504 BACKEND_TIMEOUT, mid-response resets and protocol errors return 502 BACKEND_RESPONSE_FAILED, and connect failures return 502 BACKEND_CONNECTION_FAILED.
release-1.1.1 · Oct 2026
· source
· release history
Adds a stable, scoped diagnostics API with logs:container|all and events:runtime|lifecycle|all scopes, returning 400 DIAGNOSTICS_SCOPE_UNSUPPORTED for unknown scopes and backward-compatible plain-text responses.
release-1.1.0 · Sep 2026
· source
· release history
Adds scoped diagnostics API with logs:container|all and events:runtime|lifecycle|all scopes.
release-1.1.0 · Sep 2026
· source
· release history
Diagnostics API supports scopes: logs: container|all and events: runtime|lifecycle|all; returns 400 for unsupported scopes.
server/v0.2.3 · Aug 2026
· source
· release history
example
Inspect a sandbox's lifecycle state and backend identifiers without an active execd connection — useful for triage when a pod has not yet been allocated.$ curl -s -H 'Authorization: Bearer <your-api-key>' \ https://<server>/v1/sandboxes/<sandboxId>/diagnostics/context | jq .
release-1.2.0 · Oct 2026
· source
Scope diagnostics queries to only runtime events for a sandbox, using the new events:runtime scope to cut noise during incident triage.$ curl -H 'OPEN-SANDBOX-API-KEY: <key>' 'https://<server>/diagnostics?scope=events:runtime'
release-1.1.0 · Sep 2026
· source
+Sandbox Renewal ResponseshippedReturns structured expiration metadata for renewed sandbox instances.8 releases · 1 other source · first seen Jan 2026▸
release
8 total
The extensions['access.renew.extend.seconds'] key is deprecated and fast sandboxes now reject it with 400 instead of silently accepting a no-op; migrate to lifecycle.renewalPolicy.extendSeconds before upgrading to 2.0, where the legacy key is removed.
release-1.2.0 · Oct 2026
· source
· release history
Adds lifecycle.renewalPolicy.extendSeconds (300–86400) structured field (OSEP-0009), replacing the opaque extensions['access.renew.extend.seconds'] key; the legacy key is deprecated through 1.x and removed in 2.0.
release-1.2.0 · Oct 2026
· source
· release history
Adds lifecycle.renewalPolicy.extendSeconds (300–86400) as the structured replacement for the opaque extensions['access.renew.extend.seconds'] key (deprecated, supported through 1.x, removed in 2.0); fast sandbox now rejects the legacy key with 400.
release-1.2.0 · Oct 2026
· source
· release history
The extensions['access.renew.extend.seconds'] key is deprecated and fast sandbox now rejects it with 400 instead of silently accepting a no-op; migrate to lifecycle.renewalPolicy.extendSeconds (supported throughout 1.x; the legacy key is removed in 2.0).
release-1.2.0 · Oct 2026
· source
· release history
Adds OpenSandbox-Access-Renew: skip request header to opt individual requests out of access renew intents, for health probes and heartbeat-style traffic.
release-1.1.1-rc.1 · Sep 2026
· source
· release history
Sandbox lifecycle responses now expose opensandbox.extensions.* data
js/sandbox/v0.1.10 · Jul 2026
· source
· release history
example
Check when an renewed sandbox expires using the new response object.$ response = sandbox.renew() print(response.expires_at)
python/sandbox/v0.1.1 · Jan 2026
· source
+Automated PVC and Volume Lifecycle ManagementshippedAutomatically provisions, attaches, and deletes Persistent Volume Claims (PVCs) and Docker volumes for sandboxes using declarative API fields.8 releases · first seen May 2026▸
release
8 total
Adds PVC auto-provisioning fields to the SDK model
python/sandbox/v0.1.10 · Jun 2026
· source
· release history
Adds SDK model support for Persistent Volume Claim (PVC) auto-provisioning fields
js/sandbox/v0.1.8 · Jun 2026
· source
· release history
Adds SDK model support for PVC auto-provisioning fields
sdks/sandbox/go/v1.0.2 · Jun 2026
· source
· release history
Adds SDK model support for PVC auto-provisioning fields
csharp/sandbox/v0.1.2 · Jun 2026
· source
· release history
SDK model support for PVC auto-provisioning fields enables automatic volume claims in sandbox builders
java/sandbox/v1.0.12 · Jun 2026
· source
· release history
Enables automatic PVC and Docker volume lifecycle management through per-volume API fields
k8s/task-executor/v0.2.0 · May 2026
· source
· release history
+Pool Capacity DiagnosticsshippedProvides machine-identifiable signals for pool capacity exhaustion via HTTP 429 responses and Retry-After headers.7 releases · first seen Jul 2026▸
release
7 total
Surfaces pool back-pressure as HTTP 429 KUBERNETES::POOL_CAPACITY_EXHAUSTED with Retry-After.
release-1.1.0 · Sep 2026
· source
· release history
Pool capacity exhaustion is now machine-identifiable: controller publishes a PoolAllocationPending / PoolCapacityExhausted condition.
server/v0.2.3 · Aug 2026
· source
· release history
Pool capacity exhaustion returns HTTP 429 with Retry-After: 5 and KUBERNETES::POOL_CAPACITY_EXHAUSTED header; new kubernetes.pool_acquisition_timeout_seconds config (default 30s).
server/v0.2.3 · Aug 2026
· source
· release history
Exhausted Kubernetes Pool capacity returns HTTP 429 with KUBERNETES::POOL_CAPACITY_EXHAUSTED header for immediate client handling
python/sandbox/v0.1.16 · Aug 2026
· source
· release history
Surfaces exhausted Kubernetes Pool capacity as HTTP 429 with error code KUBERNETES::POOL_CAPACITY_EXHAUSTED and a Retry-After header instead of a generic readiness timeout; sandbox creation is not automatically replayed on this status.
python/sandbox/v0.1.16 · Aug 2026
· source
· release history
Sandbox pool FORCE-destroy via DESTROYING fence and DESTROYED tombstone in SandboxPoolManager
python/sandbox/v0.1.14 · Jul 2026
· source
· release history
+Docker Fleet ConfigshippedEnables applying fleet-wide environment variables and host bind mounts to all Docker-based sandbox containers.5 releases · 1 other source · first seen Aug 2026▸
release
Adds Docker-runtime-wide sandbox_env and sandbox_binds configuration.
release-1.1.0 · Sep 2026
· source
· release history
Adds sandbox_env and sandbox_binds Docker-runtime-wide configuration keys, giving Docker parity with the Kubernetes pod template for fleet-wide CA bundles, proxies, and mounts.
release-1.1.0 · Sep 2026
· source
· release history
Honors image.auth in create requests for agent-sandbox provider with per-sandbox pull secrets.
release-1.1.0 · Sep 2026
· source
· release history
New [docker] config fields sandbox_env and sandbox_binds apply fleet-wide environment variables and host bind mounts to every Docker sandbox container (request env wins over sandbox_env; config binds precede request-derived binds).
server/v0.2.3 · Aug 2026
· source
· release history
[docker] sandbox_env and sandbox_binds fields apply fleet-wide environment variables and host bind mounts to every sandbox container.
server/v0.2.3 · Aug 2026
· source
· release history
example
Apply fleet-wide environment variables and a host bind mount to every Docker sandbox so operators can inject shared config without touching each request.$ [docker] sandbox_env = { "LOG_LEVEL" = "info", "REGION" = "us-east-1" } sandbox_binds = ["/etc/ssl/certs:/etc/ssl/certs:ro"]
server/v0.2.3 · Aug 2026
· source
+FastPath Fleet Lifecycle ManagementshippedProvides a dedicated lifecycle backend for creating, renewing, deleting, and pausing/resuming sandboxes with high-speed semantics.5 releases · first seen Mar 2026▸
Also counts toward: REST API
release
Adds lifecycle.idlePolicy create field (with idleTimeoutSeconds 30–86400, onIdle: pause, wakeOnAccess, and optional activeProbe) to enable auto-pause and wake-on-access for fast sandboxes, with server config moving under [automation.idle_pause] (requiring redis.dsn when the sweeper is enabled), and typed…
release-1.2.0 · Oct 2026
· source
· release history
Adds FastPath fleets lifecycle backend with pause/resume for Firecracker microVMs.
release-1.1.0 · Sep 2026
· source
· release history
Adds the FastPath fleets lifecycle backend: create, renew, delete, and status mapping via FastPath v2, plus end-to-end fast-sandbox pause/resume with async 202 semantics and UID fencing.
release-1.1.0 · Sep 2026
· source
· release history
Supports pool-only sandbox creation using poolRef without an entrypoint.
release-1.1.0 · Sep 2026
· source
· release history
[UNSTABLE] Adds Pool CRUD API and Kubernetes CRD service for automated pool management.
server/v0.1.9 · Mar 2026
· source
· release history
+Distributed Pool State PersistenceshippedProvides backend options for sandbox pool state management, including an in-memory default and a Redis-backed distributed store.4 releases · 1 other source · first seen Jul 2026▸
release
Moves idle-pause configuration from [idle_pause] to [automation.idle_pause], removes the redundant redis.enabled gate, and requires redis.dsn (validated at load) when enabled = true.
release-1.2.0-rc.1 · Oct 2026
· source
· release history
The [idle_pause] config section is renamed to [automation.idle_pause]; the redis.enabled gate is removed and redis.dsn is now required (validated at load) when enabled = true — a previously silent non-start now fails loudly.
release-1.2.0-rc.1 · Oct 2026
· source
· release history
Adds optional poolredis sub-module providing RedisPoolStateStore via go-redis v9 for distributed pool state
sdks/sandbox/go/v1.0.4 · Jul 2026
· source
· release history
Adds InMemoryPoolStateStore for single-process deployments when using the new sandbox pool
sdks/sandbox/go/v1.0.4 · Jul 2026
· source
· release history
example
Migrate the server config to the new idle-pause section layout and enforce a valid Redis DSN so the sweeper starts loudly rather than silently skipping.$ [automation.idle_pause] enabled = true redis.dsn = "redis://localhost:6379/0"
release-1.2.0-rc.1 · Oct 2026
· source
+Egress Rule Auto-ReloadingshippedAutomatically detects and applies updates to egress allow/deny rules without requiring a service restart.5 releases · first seen Apr 2026▸
release
Adds sandbox.IsolationWithSession(ctx, req, fn) helper for multi-run isolated workflows with auto-delete on exit
sdks/sandbox/go/v1.0.4 · Jul 2026
· source
· release history
Adds RunOnceAsync(code, workspace, ...) and WithSessionAsync(req, fn) extension methods on IIsolatedSessions to simplify isolated session lifecycle management.
csharp/sandbox/v0.1.4 · Jul 2026
· source
· release history
Egress participates in the credential vault injection pipeline, enabling sandboxes to receive injected credentials (API keys, tokens, OAuth) for outbound requests
docker/egress/v1.1.0 · Jun 2026
· source
· release history
The environment variable OPENSANDBOX_EGRESS_MITMPROXY_CONFDIR is removed and will break config.yaml discovery if set
docker/egress/v1.1.0 · Jun 2026
· source
· release history
Automatically reloads deny.always and allow.always rules every minute using mtime/size checks
docker/egress/v1.0.8 · Apr 2026
· source
· release history
+Resource Request ConfigurationshippedAllows setting Kubernetes resource requests independently from limits when creating sandboxes.4 releases · 1 other source · first seen Jun 2026▸
release
Adds optional resourceRequests field to sandbox creation for Burstable QoS on Kubernetes-backed sandboxes
js/sandbox/v0.1.10 · Jul 2026
· source
· release history
Adds optional resourceRequests field to sandbox creation for setting resource requests separately from limits on Kubernetes-backed sandboxes.
csharp/sandbox/v0.1.4 · Jul 2026
· source
· release history
Adds resourceRequests field to CreateSandboxRequest API to set Kubernetes resource requests separately from limits, enabling Burstable QoS class sandboxes
server/v0.2.1 · Jun 2026
· source
· release history
Adds resourceRequests to sandbox creation so Kubernetes-backed sandboxes can set resource requests separately from limits.
csharp/sandbox/v0.1.3 · Jun 2026
· source
· release history
example
Configure Burstable QoS by specifying distinct resource requests in the API payload.$ { "metadata": { "name": "test-sandbox" }, "container": { "image": "alpine", "command": ["sleep", "infinity"] }, "resourceRequests": { "cpu": "50m", "memory": "64Mi" } }
server/v0.2.1 · Jun 2026
· source
+Egress Sidecar TuningshippedAllows configuring the timeout duration for egress sidecar health checks in Docker deployments.3 releases · 1 other source · first seen Aug 2026▸
release
Adds [egress] timeout_seconds config key to make egress sidecar readiness wait configurable.
release-1.1.0 · Sep 2026
· source
· release history
New [egress] timeout_seconds config key (default 30s; non-positive values rejected) lets Docker deployments tune how long the server waits for the sidecar health endpoint.
server/v0.2.3 · Aug 2026
· source
· release history
[egress] timeout_seconds configures the egress sidecar readiness timeout (default 30s).
server/v0.2.3 · Aug 2026
· source
· release history
example
Tune how long the server waits for pool allocation before returning a machine-identifiable 429, and increase the egress sidecar readiness window for slower Docker hosts.$ [kubernetes] pool_acquisition_timeout_seconds = 60 [egress] timeout_seconds = 60
server/v0.2.3 · Aug 2026
· source
+Execd Init ModeshippedRuns the sandbox init daemon as PID 1 to enable proper signal forwarding and exit-code propagation.2 releases · 2 other sources · first seen Aug 2026▸
release
Adds EXECD_INIT=1 environment variable to run execd as PID 1 with signal forwarding (TERM/HUP/USR1/USR2/WINCH), entrypoint-owned exit-code propagation, and a subreaper fallback for the Pool path; opt-in via server's runtime.execd_run_as_init for Docker/K8s Batch/Agent/Pool — classic topology unchanged and off by…
docker/execd/v1.1.0 · Aug 2026
· source
· release history
Enables execd to run as PID 1 via EXECD_INIT=1 (or server-side runtime.execd_run_as_init), providing a single reaper with signal forwarding (TERM/HUP/USR1/USR2/WINCH), entrypoint-owned exit-code propagation, and a subreaper fallback for the Pool path; classic topology unchanged and off by default.
docker/execd/1.1.0 · Aug 2026
· source
· release history
example
Enable init-mode to get proper PID-1 signal forwarding and exit-code propagation in a Docker sandbox container.$ docker run -e EXECD_INIT=1 opensandbox/execd:v1.1.0
docker/execd/v1.1.0 · Aug 2026
· source
Run execd as PID 1 in a Docker container to get proper signal forwarding and exit-code propagation for sandboxed workloads.$ docker run -e EXECD_INIT=1 opensandbox/execd:v1.1.0
docker/execd/1.1.0 · Aug 2026
· source
+Egress Patch ConfigurationshippedAllows updating network egress rules for existing sandbox instances via patch operations.4 releases · first seen Mar 2026▸
Also counts toward: REST API
release
Adds automatic always-allow egress rule for the sidecar's own OTLP metric export: reads OTEL_EXPORTER_OTLP_METRICS_ENDPOINT (preferred) or OTEL_EXPORTER_OTLP_ENDPOINT at startup and injects the destination into the deny-all policy — domains via the DNS proxy, IPs into the static nft allow sets — surviving policy…
docker/egress/v1.1.7 · Aug 2026
· source
· release history
Adds background: true to the run API, returning a JSON handle; new runs/{runId} and runs/{runId}/logs endpoints enable status polling for long-running sessions without blocking the caller.
docker/execd/v1.0.22 · Aug 2026
· source
· release history
Adds file_logger configuration to write both server logs and access logs to files
server/v0.1.10 · Apr 2026
· source
· release history
Adds egress patch support for sandbox network configuration allowing traffic rule updates
java/sandbox/v1.0.5 · Mar 2026
· source
· release history
+Command Output TailingshippedEnables real-time tailing of background command outputs.4 releases · first seen Jan 2026▸
release
Automatic log rotation for file outputs using lumberjack (100MB, 30d retention, 10 backups default)
docker/ingress/v1.0.7 · May 2026
· source
· release history
Adds lumberjack log rotation for file-based log outputs in OpenSandbox Egress, auto-enabled with 100 MB max size, 30-day retention, and 10 backups when the log path is a file
docker/egress/v1.0.10 · Apr 2026
· source
· release history
Adds lumberjack-backed log rotation to file outputs (auto-enabled; 100MB max size, 30-day retention, 10 backups, no compression)
docker/execd/v1.0.14 · Apr 2026
· source
· release history
Adds the ability to tail background command outputs in real-time
docker/execd/v1.0.2 · Jan 2026
· source
· release history
+Sandbox File Upload CapabilityshippedAllows uploading files into a sandbox environment via multipart upload endpoints.3 releases · first seen May 2026▸
release
Removes whole-call timeouts from SDK file transfers in all five languages, eliminating the 30 s default cap that caused large or slow transfers to fail mid-flight.
release-1.2.0 · Oct 2026
· source
· release history
Removes whole-call timeouts from SDK file uploads and downloads in all five languages, eliminating mid-flight failures on large or slow transfers.
release-1.2.0 · Oct 2026
· source
· release history
Adds UploadFiles method on the Sandbox type to perform multipart uploads against /files/upload
sdks/sandbox/go/v1.0.1 · May 2026
· source
· release history
+Multi-Tenancy IsolationshippedEnables isolation of sandbox resources per tenant using file or HTTP-based backends mapped to Kubernetes namespaces.3 releases · first seen Jul 2026▸
Also counts toward: Kubernetes-native deployment, Multi-tenant management
release
Isolates tenants sharing one Kubernetes namespace via a new opensandbox.io/tenant stamp label — list/get/delete/pause/resume/proxy hide other tenants' labeled sandboxes as 404 while unlabeled legacy sandboxes remain visible until expiry.
release-1.1.1 · Oct 2026
· source
· release history
Tenant namespaces validated at startup with fatal error if any are missing or inaccessible.
server/v0.2.3 · Aug 2026
· source
· release history
New multi-tenancy provider with file and HTTP backends isolates sandboxes per tenant via K8s namespaces.
server/v0.2.2 · Jul 2026
· source
· release history
+Secure Access Key ManagementshippedsuggestedSources secure access signing keys from environment variables or Kubernetes Secrets rather than plaintext configuration.3 releases · first seen Aug 2026▸
Suggested capability: Security baseline enforcement. This is our guess, not confirmed.
release
Sources OSEP-0011 secure-access signing keys from the OPENSANDBOX_SECURE_ACCESS_KEYS environment variable or a Kubernetes Secret instead of plaintext chart values.
release-1.1.0 · Sep 2026
· source
· release history
Sources secure-access signing keys from OPENSANDBOX_SECURE_ACCESS_KEYS env var or K8s Secret.
release-1.1.0 · Sep 2026
· source
· release history
OPENSANDBOX_SECURE_ACCESS_KEYS / OPENSANDBOX_SECURE_ACCESS_ACTIVE_KEY env overrides and Helm chart key server.gateway.secureAccess.existingSecret allow secure-access signing keys from a Kubernetes Secret.
server/v0.2.3 · Aug 2026
· source
· release history
+Background Session ExecutionshippedAllows starting detached workloads within isolated sessions that return immediately with a handle, enabling non-blocking status polling and log retrieval.2 releases · 1 other source · first seen Aug 2026▸
release
Isolated sessions can start detached work via background runs to poll status and incremental output without blocking
python/sandbox/v0.1.16 · Aug 2026
· source
· release history
run endpoint accepts background: true to return a handle immediately; use runs/{runId} for status and .../logs for output polling
docker/execd/v1.0.22 · Aug 2026
· source
· release history
example
Start a non-blocking sandbox run and poll for its status$ curl -X POST https://opensandbox/api/run -d '{"background": true, "share_net": false}' | jq .runId curl https://opensandbox/api/runs/<runId>
docker/execd/v1.0.22 · Aug 2026
· source
+Egress OTLP Auto-AllowshippedAutomatically configures egress allow rules for OpenTelemetry metric endpoints to prevent blocking sidecar traffic.3 releases · first seen Aug 2026▸
release
OTLP egress auto-allow now honors OTEL_EXPORTER_OTLP_METRICS_ENDPOINT and OTEL_EXPORTER_OTLP_ENDPOINT environment variables in shared components.
docker/execd/1.1.0 · Aug 2026
· source
· release history
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT or OTEL_EXPORTER_OTLP_ENDPOINT is parsed at startup and injected as an always-allow rule for the sidecar's own metric egress
docker/egress/v1.1.7 · Aug 2026
· source
· release history
Adds automatic always-allow egress rule for the sidecar's own OTLP metric export: reads OTEL_EXPORTER_OTLP_METRICS_ENDPOINT (preferred) or OTEL_EXPORTER_OTLP_ENDPOINT at startup and injects the destination into the deny-all policy — domains via the DNS proxy, IPs into the static nft allow sets — surviving policy…
docker/egress/v1.1.7 · Aug 2026
· source
· release history
+Host Client IP PropagationshippedAutomatically detects and injects the host's intranet IPv4 address into sandbox session requests via a standard header, preserving any user-provided values.3 releases · first seen Jul 2026▸
release
Adds OPEN-SANDBOX-CLIENT-IP HTTP header injection for host intranet IPv4 addresses
csharp/sandbox/v0.1.5 · Jul 2026
· source
· release history
SDK detects host intranet IPv4 and sends it as OPEN-SANDBOX-CLIENT-IP header, preserving user-provided values.
js/sandbox/v0.1.11 · Jul 2026
· source
· release history
SDK detects host intranet IPv4 and sends it in the OPEN-SANDBOX-CLIENT-IP header for session requests.
java/sandbox/v1.0.17 · Jul 2026
· source
· release history
+Sandbox Pool Acquisition PoliciesshippedProvides configurable acquisition policies with retry logic, allowing the cyber tool to intelligently handle pool contention by waiting for idle resources or creating new ones.1 release · 2 other sources · first seen Jul 2026▸
release
AcquirePolicyRetryNextIdle and AcquirePolicyRetryNextIdleThenCreate sandbox pool acquire policies with a configurable MaxAcquireRetries defaulting to 3
sdks/sandbox/go/v1.0.5 · Jul 2026
· source
· release history
example
Configure sandbox pool acquisition to retry on stale connections before creating a new session.$ AcquirePolicyRetryNextIdle MaxAcquireRetries: 3
sdks/sandbox/go/v1.0.5 · Jul 2026
· source
Skip stale idle pool members before falling back to direct create for lower latency.$ python -c " from opensandbox.pool import Pool pool = Pool(acquire_policy='RETRY_NEXT_IDLE') session = await pool.acquire() "
python/sandbox/v0.1.15 · Jul 2026
· source
+Endpoint Request CachingshippedImplements LRU and TTL-based caching for sandbox endpoint connections with in-flight request deduplication.3 releases · first seen Jul 2026▸
release
Endpoint cache with inflight dedup, TTL 600s, MaxSize 1024, configurable via ConnectionConfig
python/sandbox/v0.1.14 · Jul 2026
· source
· release history
Enables LRU + TTL endpoint cache with in-flight request deduplication by default (TTL 600s, max size 1024), tunable via ConnectionConfig
sdks/sandbox/go/v1.0.4 · Jul 2026
· source
· release history
Adds LRU + TTL endpoint caching (ConnectionConfig) with in-flight request deduplication for sandbox endpoints (enabled by default, TTL 600s, max size 1024).
csharp/sandbox/v0.1.4 · Jul 2026
· source
· release history
+Line-Based File ReadingshippedEnables reading specific ranges of lines from large files without downloading entire contents.2 releases · 1 other source · first seen Jun 2026▸
Also counts toward: REST API
release
Adds offset and limit query parameters to GET /files/download for line-based file reads
js/sandbox/v0.1.10 · Jul 2026
· source
· release history
Adds offset and limit query parameters to GET /files/download for line-based file reads via the REST API.
java/sandbox/v1.0.13 · Jun 2026
· source
· release history
example
Read lines 10-20 of a large log file from a sandbox.$ curl 'http://localhost:8080/files/download?path=/var/log/app.log&offset=10&limit=11'
js/sandbox/v0.1.10 · Jul 2026
· source
+Sandbox Snapshot State ManagementshippedProvides blocking calls and typed constants to check snapshot readiness and state without magic strings.2 releases · 1 other source · first seen Jun 2026▸
release
SandboxManager.waitForSnapshotReady(snapshotId, timeout, pollingInterval) now allows blocking calls until a snapshot reaches the Ready state, replacing manual polling logic.
java/code-interpreter/v1.0.14 · Jun 2026
· source
· release history
Adds SnapshotState constants (Creating, Ready, Failed, Deleting, Unknown) for state comparison without magic strings
java/sandbox/v1.0.14 · Jun 2026
· source
· release history
example
Block execution until a snapshot is ready before proceeding with sandbox operations.$ SandboxManager.waitForSnapshotReady(snapshotId, 15, TimeUnit.MINUTES, 2, TimeUnit.SECONDS)
java/sandbox/v1.0.14 · Jun 2026
· source
+Multi-Platform ExecutionshippedEnables provisioning sandboxes on specific operating systems and architectures, such as Windows, via platform selection arguments.2 releases · 1 other source · first seen May 2026▸
release
Adds CreateSandboxRequest.Platform, SandboxInfo.Platform, and SandboxCreateOptions.Platform fields for specifying OS/architecture targets like Windows
sdks/sandbox/go/v1.0.2 · Jun 2026
· source
· release history
Sandbox.create() now accepts a platform argument to constrain the runtime OS/architecture
js/sandbox/v0.1.7 · May 2026
· source
· release history
example
Request a sandbox running on a specific platform, such as Windows, with auto-provisioned storage.$ const sandbox = await Sandbox.create({ image: 'opensandbox/js:latest', platform: 'windows/amd64', createIfNotExists: true, storageClass: 'standard', storage: '10Gi' });
js/sandbox/v0.1.7 · May 2026
· source
+Secure Endpoint AccessshippedGenerates short-lived, signed URLs for accessing sandbox ports or endpoints securely without sharing static tokens or secrets.2 releases · 1 other source · first seen May 2026▸
release
New sandbox.getSignedEndpoint(port, expires) method generates time-limited signed route tokens
js/sandbox/v0.1.7 · May 2026
· source
· release history
Introduces a signed endpoint for secure route access per OSEP-0011
k8s/controller/v0.2.0 · May 2026
· source
· release history
example
Get a time-limited URL to access a port inside the sandbox without sharing static secrets.$ const signedUrl = await sandbox.getSignedEndpoint(8080, new Date(Date.now() + 3600 * 1000)); console.log(signedUrl); // Returns https://...?token=...
js/sandbox/v0.1.7 · May 2026
· source
+SDK Wake-Retry on Expired SandboxshippedAutomatically retries requests across all SDKs when a 503 response signals an expired sandbox, with configurable attempt limits and a typed exception on exhaustion.2 releases · first seen Oct 2026▸
Also counts toward: JavaScript scripting support, Python scripting support, Scripting language support, Client SDKs
release
Adds wake-retry contract to all five SDKs: on a 503 carrying the OpenSandbox-Wake: expired header the SDK resends after Retry-After up to a bounded budget (default 5 attempts / 60 s) and raises a typed wake-timeout exception on exhaustion; stream-start wake-retry lands in JavaScript, Python, and Go.
release-1.2.0 · Oct 2026
· source
· release history
Adds wake-retry contract to all five SDKs: on a 503 carrying the OpenSandbox-Wake: expired gateway header, the SDK resends after Retry-After within a bounded budget (default 5 attempts / 60 s, configurable per client); exhaustion raises a typed wake-timeout exception carrying attempt count and waited time.
release-1.2.0-rc.1 · Oct 2026
· source
· release history
+High-Availability Snapshot StorageshippedSupports PostgreSQL-backed snapshot persistence with pooled connections, CAS semantics, and Kubernetes multi-process coordination for HA deployments.1 release · 1 other source · first seen Sep 2026▸
Also counts toward: Command-line interface
release
Adds opt-in PostgreSQL snapshot store with pooled connections and CAS semantics, plus the one-shot migrate-snapshots command for moving existing SQLite records, and multi-process HA coordination for snapshot create/recovery/delete on Kubernetes.
release-1.1.0 · Sep 2026
· source
· release history
example
Enable the PostgreSQL snapshot store for HA multi-process deployments and migrate existing SQLite records in one shot.$ migrate-snapshots
release-1.1.0 · Sep 2026
· source
+Egress MITM ExtensionshippedAllows appending additional TCP ports to the egress sidecar's transparent HTTPS interception list beyond standard 80/443.1 release · 1 other source · first seen Jul 2026▸
release
Experimental OPENSANDBOX_EGRESS_MITMPROXY_EXTRA_PORTS env var appends extra TCP ports to the always-on 80/443 interception list (multiport cap of 15) for the egress transparent MITM.
server/v0.2.3 · Aug 2026
· source
· release history
example
Intercept and log traffic on a non-standard port (e.g. 8443 or 9000) alongside the default 80/443 — useful when sandbox workloads communicate with internal services on custom TLS ports.$ OPENSANDBOX_EGRESS_MITMPROXY_EXTRA_PORTS=8443,9000 docker run opensandbox/egress:v1.1.5
docker/egress/v1.1.5 · Jul 2026
· source
+Idle Worker Session RecoveryshippedAllows recovering a session handle from an idle worker without requiring a full reconnection.2 other sources · first seen Jul 2026▸
example
Attach to an existing session using the SDK after a worker restart$ session = sandbox_sdk.attach('<sessionId>') state = session.SessionState print(state.creation_params)
docker/execd/v1.0.22 · Aug 2026
· source
Recover a session handle from an idle worker without reconnecting$ isolation.attach('<existing_session_id>')
java/sandbox/v1.0.17 · Jul 2026
· source
+Multi-Tenant Session SharingshippedEnables multiple clients to connect to a single session using viewer-mode PTY endpoints, allowing shared access alongside the exclusive session holder.1 release · 1 other source · first seen Aug 2026▸
release
PTY endpoints support ?mode=viewer to allow multiple clients to watch a live session alongside the exclusive holder
docker/execd/v1.0.22 · Aug 2026
· source
· release history
example
Watch a PTY session without taking exclusive control$ curl -N "https://opensandbox/api/pty/<sessionId>?mode=viewer"
docker/execd/v1.0.22 · Aug 2026
· source
+Egress Header ManagementshippedGenerates and propagates authentication headers for egress traffic at the sandbox level.2 releases · first seen Mar 2026▸
release
SDK now sends host intranet IPv4 as OPEN-SANDBOX-CLIENT-IP header on outbound requests; detection is cached and respects user-provided values.
python/sandbox/v0.1.15 · Jul 2026
· source
· release history
Per-sandbox egress auth header generation is now supported, propagating headers through lifecycle endpoint responses.
server/v0.1.8 · Mar 2026
· source
· release history
+One-Shot Isolation FlowsshippedProvides a one-shot API for creating, running, and automatically deleting isolated sessions in a single flow.2 releases · first seen Jul 2026▸
release
sandbox.isolation.run_once() API for one-shot create → run → delete flows
python/sandbox/v0.1.14 · Jul 2026
· source
· release history
The IsolationService interface now declares runOnce and withSession as default methods
java/sandbox/v1.0.16 · Jul 2026
· source
· release history
+Directory Traversal APIshippedProvides depth-controlled directory traversal and file type information within sandbox environments.1 release · 1 other source · first seen Jul 2026▸
release
Adds execd directory API with depth-controlled traversal (depth) and FileInfo.type field for symlinks
js/sandbox/v0.1.10 · Jul 2026
· source
· release history
example
Scan directory structure in a sandbox without following symlinks.$ curl -s 'http://localhost:8080/execd/directory?path=/app/src&depth=1' | jq '.[].type'
js/sandbox/v0.1.10 · Jul 2026
· source
+Activity Observation SuppressionshippedProvides a sentinel request header that suppresses a single activity observation for a sandbox, stripped automatically at both gateway and proxy hops.1 release · first seen Oct 2026▸
release
Adds OpenSandbox-Skip-Activity sentinel header that suppresses one activity observation and is stripped on both gateway and proxy hops.
release-1.2.0 · Oct 2026
· source
· release history
+Podman Network Mode Pass-ThroughshippedPasses podman-specific network modes (pasta, slirp4netns, none) through to sandbox containers, while rejecting networkPolicy modes that require a bridge interface.1 release · first seen Oct 2026▸
release
Passes through podman pasta, slirp4netns, and none network modes (with networkPolicy rejected, since there is no bridge to attach to).
release-1.2.0 · Oct 2026
· source
· release history
+BatchSandbox Restart Policy ControlshippedBatchSandbox pods default to a non-restarting policy, requiring explicit restart policy configuration in the pod template to preserve automatic restart behavior.1 release · first seen Oct 2026▸
release
BatchSandbox pods now default to restartPolicy: Never; any workload relying on the previous implicit restart behavior must set an explicit restartPolicy in the pod template to preserve it.
release-1.2.0-rc.1 · Oct 2026
· source
· release history
+Identity-Bound File OperationsshippedEnables executing filesystem operations within sandbox environments using explicit Linux UID/GID credentials per request.1 release · first seen Oct 2026▸
Also counts toward: Python scripting support, REST API, Scripting language support, Client SDKs
release
Adds identity-bound filesystem operations via /v1/filesystem/{uid}/{gid} execd routes — backed by a per-request worker running with explicit Linux UID/GID credentials — exposed as files_with_identity (Python), filesWithIdentity (JavaScript, Kotlin, Go, C#) across all five SDKs.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
release-1.1.1 · Oct 2026
· source
· release history
+Kubernetes Backend TLS ConfigurationshippedAllows configuring TLS verification settings for Kubernetes backend connections to handle certificate mismatches in multi-tenant deployments.1 release · first seen Oct 2026▸
release
Adds kubernetes.insecure_skip_tls_verify config key for ServiceAccount CA mismatches in Kubernetes multi-tenant deployments.
release-1.1.1 · Oct 2026
· source
· release history
+Runtime Environment Variable InjectionshippedAllows injecting persistent environment variables into a running sandbox at runtime without restarting it.1 release · first seen Oct 2026▸
Also counts toward: Python scripting support, Scripting language support, Client SDKs
release
Adds commands.setEnv across all five sandbox SDKs (Python async/sync, JavaScript, Kotlin/Java, Go, C#) for persistent runtime environment variable injection, appending KEY=VALUE to the sandbox env file at runtime.
release-1.1.1 · Oct 2026
· source
· release history
+Sandbox Template ManagementshippedProvides capabilities for creating, listing, retrieving, and deleting sandbox templates to standardize sandbox configurations.1 release · first seen Sep 2026▸
Also counts toward: Command-line interface
release
Adds osb template create|get|list|delete and osb snapshot ... CLI subcommands, plus --template and --snapshot-id flags on sandbox create, for template and snapshot management.
release-1.1.1-rc.1 · Sep 2026
· source
· release history
+Secure Sandbox Identity InjectionshippedsuggestedInjects server-side sandbox identifiers to prevent egress sidecar telemetry spoofing.1 release · first seen Sep 2026▸
Suggested capability: Security baseline enforcement. This is our guess, not confirmed.
release
Injects OPENSANDBOX_EGRESS_SANDBOX_ID server-side so egress sidecar telemetry can no longer be spoofed by request environment variables.
release-1.1.0 · Sep 2026
· source
· release history
+Pool Warmup TracingshippedEnables OpenTelemetry tracing for the sandbox pool warmup phase to provide visibility into resource acquisition timing and behavior.1 release · first seen Aug 2026▸
release
Adds ConnectionConfig.enableTracing(true) to enable OpenTelemetry tracing for pool warmup phases.
java/sandbox/v1.0.19 · Aug 2026
· source
· release history
+Egress Telemetry IntegrationshippedIntegrates egress-sidecar logging with the main sandbox log sink and provides specific Prometheus counters for DNS resolution and nftables update failures to aid in observability.1 release · first seen Aug 2026▸
release
egress.dns.query.failed_total{reason} Prometheus counter for DNS resolution failures (values: no_upstreams, upstream_error, empty_response, rcode)
docker/egress/v1.1.6 · Aug 2026
· source
· release history
+Trusted Proxy CIDR ConfigurationshippedsuggestedAllows configuring a trusted proxy CIDR list to validate TLS termination traffic in front of the egress sidecar.1 other source · first seen Jul 2026▸
Suggested capability: Security baseline enforcement. This is our guess, not confirmed.
example
Set the trusted proxy CIDR list so TLS termination in front of the sidecar passes validation.$ export OPENSANDBOX_EGRESS_CREDENTIAL_VAULT_TRUSTED_PROXY_CIDRS='10.0.0.0/8,172.16.0.0/12'
docker/egress/v1.1.4 · Jul 2026
· source
+Custom Traffic Analysis AddonsshippedAllows loading custom analysis addons to inspect or modify incoming and outgoing sandbox traffic.1 other source · first seen Jun 2026▸
Also counts toward: Plugin system
example
Load custom analysis addons for both incoming and outgoing traffic in your sandbox environment.$ export OPENSANDBOX_EGRESS_MITMPROXY_SCRIPT='/scripts/login.py,/scripts/analytics.py'
docker/egress/v1.1.3 · Jun 2026
· source
+Replace Content FeedbackshippedReturns per-file replaced counts and match detection details for file replacement operations.1 release · first seen Jun 2026▸
release
Adds replacedCount field to POST /files/replace response for match detection
docker/execd/v1.0.19 · Jun 2026
· source
· release history
+Egress Rule Deletion ManagementshippedAllows removing existing egress allow/deny rules from a sandbox instance via API endpoints.1 release · first seen Jun 2026▸
Also counts toward: REST API
release
Adds the DELETE /policy HTTP endpoint to remove egress rules by accepting a JSON array of target strings
docker/egress/v1.0.13 · Jun 2026
· source
· release history
+Multi-Namespace IngressshippedAllows the cyber tool to watch and manage sandbox resources across multiple Kubernetes namespaces.1 release · first seen May 2026▸
release
Multi-namespace support: ingress now watches sandbox CRs across all namespaces instead of a single one (with --namespace deprecated)
docker/ingress/v1.0.7 · May 2026
· source
· release history
+Websocket PTY SupportshippedProvides pseudo-terminal access over websockets for enhanced terminal session capabilities.1 release · first seen Apr 2026▸
release
Adds websocket PTY support for terminal sessions
docker/execd/v1.0.10 · Apr 2026
· source
· release history
+Bidirectional WebSocket ProxyshippedEnables bidirectional sandbox communication through a WebSocket-based server proxy.1 release · first seen Mar 2026▸
release
Adds server proxy by websocket to enable bidirectional sandbox communication.
server/v0.1.9 · Mar 2026
· source
· release history
Lines in monospace are the tool's own words: help text
parsed from its source, or an endpoint from its API document. Under
release, a line is our summary of a dated release. Under
docs, it is quoted from the tool's own documentation or
website. Each links back to the source it came from.
Command line
20 commands for OpenSandbox, each
with where it came from. This tool has no source analysis yet, so there
is no option reference and no captured run beside them.
View
Source
No command matches.
Score card
Shipping velocityreleases a month, last 12 months
Documentation qualityrelease-notes rubric, 0–100
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Community health
Contributor trenddistinct committers, this year against last
Maintainer concentrationbus factor now against a year ago
Issue backlog trendissues closed per issue opened, 12 months
Responsivenessmedian time to a maintainer’s first reply
Nine scores for OpenSandbox, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Each score is 0–100 on a published rubric, derived from data this site already shows.
A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
Documentation quality — the release-notes rubric published on the analytics page, unchanged.
Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail OpenSandbox puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Issue, contributor and maintainer activity in opensandbox-group/OpenSandbox, 2023-10 – 2026-09,
as of 2026-09-25. Twelve-month figures first; the trend lines run
the whole window.
Contributors156+156 vs prior 12 months
Maintainers14+16 joined · −2 left, last 12 months
Bus factor4committers behind half the commits
Community-filed76%of issues opened, last 12 months
Median time to close4.4 daysfirst maintainer reply 3.8 days
Open backlog73of 459 issues ever filed
Issues opened / month26 · 15communitymaintainers
Open backlog73
Contributors / month45
Commits / month362
Stars15,335
Issue themes, last 12 months
bugs 6%
features 9%
questions 0%
docs 1%
other 84%
Counts from the project's public repository and git history; no individuals
are identified. Maintainers are the committers covering 80% of the last year's
commits. how we measure this
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can
follow every release here.