What's New
✨ Features
- Isolation convenience APIs —
isolation.runOnce(code, workspace, ...)andisolation.withSession(req) { ... }for one-shot / scoped sessions with guaranteed cleanup. (#1222) - List isolated sessions —
sandbox.isolation().list(). (#1269) - Isolated bind mounts —
CreateIsolatedSessionRequest.bindsacceptsBindMount(source, dest, readonly)for arbitrary host→namespace mappings; also exposesuidMode. (#1264) - Sandbox pool destroy —
SandboxPoolManagerFORCE-destroy withDESTROYINGfence +DESTROYEDtombstone, supported by both in-memory and Redis stores. (#1225) - Credential Vault placeholder substitutions — opt-in placeholders for
path/query/header/body(incl.passthroughbindings). (#1251) IsolationServicenow declaresrunOnce/withSessionas default methods — custom implementations may need to accept the defaults. (#1222)CredentialMatch.portsremoved; intercept port is derived from scheme (http→80,https→443). Drop any.ports(...)calls. (#1189)PoolStateStoreContentionExceptionremoved (never actually raised). (#1198)
📦 Misc
- Bump to
1.0.16; realign defaultUser-Agent(OpenSandbox-Kotlin-SDK/1.0.16) which had lagged, with a regression test to prevent future drift. (#1248)