csharp/sandbox/v0.1.5

opensandbox-group/OpenSandboxcsharp/sandbox/v0.1.5Jul 24, 2026by ninan-nn

AI Summary

The C# SDK mirrors Go and Python features with sandbox create metrics, client IP detection, and improved isolated session attachment support.

Key Highlights

  • Sandbox create metrics reporting latency events
  • Client IP header detection
  • Attach to isolated sessions for stateless workers

New Features

  • Sandbox create metrics
  • Client IP header detection
  • Attach to isolated sessions
  • UID mode availability probing
  • Exact snapshot name filtering
  • Isolated session bind mounts and listing
  • Credential Vault placeholder substitutions
  • Isolated UID/GID range fix

Full Release Notes

## What's New

### ✨ Features

- **Sandbox create metrics** — `Sandbox.CreateAsync` now reports fire-and-forget `sandbox.create` latency events to the lifecycle server on success and failure paths. Reporting never blocks callers and can be disabled with `OPENSANDBOX_DISABLE_METRICS=1` or `DisableMetrics`. #1341
- **Client IP header** — the SDK now best-effort detects the host intranet IPv4 and sends it as `OPEN-SANDBOX-CLIENT-IP` on wrapper, raw, SSE, and code-interpreter HTTP paths. User-provided headers are never overwritten. #1326
- **Attach to isolated sessions** — `AttachAsync(sessionId)` support lets stateless workers rebuild a handle for an existing execd isolated session while that in-memory session is still 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

- **Isolated UID/GID range fix** — isolated session UID/GID fields now use a wider integer type so values in the execd `uint32` range deserialize and serialize correctly above `Int32.MaxValue`. #1298

### 📦 Misc

- Bumped C# sandbox SDK version and default User-Agent string for this release. #1384

### 👥 Contributors

- @FAUST-BENCHOU
- @Pangjiping
- @jianpingpei
- @jwx0925
- @ninan-nn
- @ruirui6946