java/sandbox/v1.0.16
antonibigata/keysyncjava/sandbox/v1.0.16Jul 13, 2026by Pangjiping
AI Summary
Adds isolation convenience APIs, credential vault placeholders, and fixes User-Agent drift to the Kotlin Sandbox SDK.
Key Highlights
- Isolation convenience APIs for one-shot and scoped sessions
- Credential Vault placeholder substitutions
- Sandbox pool destroy with FORCE-destroy support
Breaking Changes
- `CredentialMatch.ports` removed; intercept port is derived from scheme
- `PoolStateStoreContentionException` removed as it was never raised
New Features
- Isolation convenience APIs (runOnce, withSession)
- List isolated sessions
- Isolated bind mounts
- Credential Vault placeholder substitutions
- Protocol updates for run_once and session
Full Release Notes
## What's New
### ✨ Features
- **Isolation convenience APIs** — `isolation.runOnce(code, workspace, ...)` and `isolation.withSession(req) { ... }` for one-shot / scoped sessions with guaranteed cleanup. (#1222)
- **List isolated sessions** — `sandbox.isolation().list()`. (#1269)
- **Isolated bind mounts** — `CreateIsolatedSessionRequest.binds` accepts `BindMount(source, dest, readonly)` for arbitrary host→namespace mappings; also exposes `uidMode`. (#1264)
- **Sandbox pool destroy** — `SandboxPoolManager` FORCE-destroy with `DESTROYING` fence + `DESTROYED` tombstone, supported by both in-memory and Redis stores. (#1225)
- **Credential Vault placeholder substitutions** — opt-in placeholders for `path` / `query` / `header` / `body` (incl. `passthrough` bindings). (#1251)
- `IsolationService` now declares `runOnce` / `withSession` as default methods — custom implementations may need to accept the defaults. (#1222)
- `CredentialMatch.ports` removed; intercept port is derived from scheme (`http`→80, `https`→443). Drop any `.ports(...)` calls. (#1189)
- `PoolStateStoreContentionException` removed (never actually raised). (#1198)
### 📦 Misc
- Bump to `1.0.16`; realign default `User-Agent` (`OpenSandbox-Kotlin-SDK/1.0.16`) which had lagged, with a regression test to prevent future drift. (#1248)
### 👥 Contributors
- @jianpingpei
- @jwx0925
- @ninan-nn
- @Pangjiping