Skip to content

OpenSandbox

vcsharp/sandbox/v0.1.4 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai ai-agent ai-infra kubernetes sandbox

Affected surfaces

breaking_upgrade auth

Summary

AI summary

Updates Breaking Changes, Bug Fixes, and What's New across a mixed release.

Full changelog

What's New

Breaking Changes

  • The credential vault binding match no longer carries a Ports field. Port is now derived from the scheme (https → 443, http → 80), matching what the intercept layer (iptables/nft) actually redirects. If your C# code constructs credential vault bindings and sets Match.Ports, remove that field on upgrade — port selection is now implicit from the scheme. This removes a field that never provided real flexibility (only 80/443 were ever intercepted). #1189

Features

  • Added RunOnceAsync and WithSessionAsync isolation convenience helpers to the C# SDK. RunOnceAsync(code, workspace, ...) wraps create → run → delete into a single call with guaranteed cleanup, and WithSessionAsync(req, fn) scopes a multi-run isolated workflow with auto-delete on exit. They are exposed as extension methods on IIsolatedSessions in the root OpenSandbox namespace (so callers only need using OpenSandbox;), and cleanup is best-effort so it never masks the original exception. These build on the execd-backed isolation support added to the C# SDK (IsolatedSessionsAdapter, IIsolatedSessions, Isolated models). #1008 #1222
  • Added an LRU + TTL endpoint cache with in-flight request deduplication. The SDK now caches (sandbox_id, port, use_server_proxy) → Endpoint to avoid repeated resolution round-trips. It is enabled by default (TTL 600s, max size 1024) and tunable via ConnectionConfig; killing a sandbox actively invalidates its cached entries. #1133
  • Sandbox lifecycle responses now surface extensions. The C# SDK response models expose opensandbox.extensions.* data returned by create/get/list so callers can read extension values round-tripped from the server. #1112
  • Added the optional resourceRequests field to sandbox creation. Kubernetes-backed sandboxes can now set resource requests separately from limits (enabling Burstable QoS). Omitting the field preserves the existing behavior where requests equal limits. #1074

Bug Fixes

  • Clarified deleteOnSandboxTermination semantics in the C# sandbox model: auto-created Kubernetes PVCs are now actually deleted on sandbox termination when opted in (previously the field was documented as Docker-only). Default remains false (opt-in), so existing behavior is unchanged. #880

Misc

  • Updated the C# SDK project (.csproj) repository metadata to the new opensandbox-group/OpenSandbox org so package pages and issue links point to the current repo (package names and namespaces unchanged). #1139
  • Bumped the C# Sandbox SDK package version to 0.1.4 and fixed the default User-Agent string, which had drifted behind at 0.1.2; a regression test now locks the User-Agent to the package version. #1248

Contributors

  • @GreenShadeZhang
  • @Gujiassh
  • @Pangjiping
  • @xfgong

Breaking Changes

  • Removed `Match.Ports` field from credential vault binding match; port is now derived implicitly from the scheme (https → 443, http → 80).

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track OpenSandbox

Get notified when new releases ship.

Sign up free

About OpenSandbox

Secure, Fast, and Extensible Sandbox runtime for AI agents.

All releases →

Related context

Earlier breaking changes

Beta — feedback welcome: [email protected]