java/sandbox/v1.0.12

opensandbox-group/OpenSandboxjava/sandbox/v1.0.12Jun 8, 2026by ninan-nn

AI Summary

Added skipAccumulation, secureAccess, and PVC fields to the Java SDK. Fixed command timeout APIs to use java.time.Duration and improved pool idle TTL handling.

Key Highlights

  • Added skipAccumulation support for execution handlers
  • Added secureAccess support for sandbox creation
  • Command timeout APIs now use java.time.Duration
  • Pool idle TTL handling now goes through state-store hook

New Features

  • skipAccumulation support for long-running executions
  • secureAccess support for sandbox creation
  • PVC auto-provisioning fields support

Full Release Notes

## What's New

### Behavior Changes

- Sandbox Pool now skips idle sandboxes that are too close to expiry before returning them from `pool.acquire()`. This avoids a race where `checkReady` can time out because the selected sandbox expires server-side before it can be renewed. The default threshold is `min(60s, idleTimeout / 2)` and can be disabled with `Duration.ZERO`. https://github.com/opensandbox-group/OpenSandbox/pull/986

### Features

- Added `skipAccumulation` support for execution handlers. When enabled, stdout/stderr events are still delivered to callbacks but are not appended to accumulated execution logs, preventing unbounded memory growth for long-running streamed commands. https://github.com/opensandbox-group/OpenSandbox/pull/990
- Added SDK model support for PVC auto-provisioning fields. https://github.com/opensandbox-group/OpenSandbox/pull/749
- Added `secureAccess` support to sandbox builders and pool creation specs, including endpoint header propagation and log redaction. This is opt-in and currently supported by Kubernetes ingress gateway mode. https://github.com/opensandbox-group/OpenSandbox/pull/745

### Bug Fixes

- Command timeout APIs now use `java.time.Duration` as the primary public type for better Java interoperability. Deprecated `kotlin.time.Duration` overloads remain for migration. https://github.com/opensandbox-group/OpenSandbox/pull/928
- Expected `FILE_NOT_FOUND` responses from filesystem reads now log at DEBUG instead of ERROR, while still propagating the same exception to callers. https://github.com/opensandbox-group/OpenSandbox/pull/923
- Pool idle TTL handling now goes through a state-store hook so in-memory pool TTL and configured idle timeout stay aligned. https://github.com/opensandbox-group/OpenSandbox/pull/708

### Contributors

- @hittyt
- @Pangjiping
- @asiudgufgbukbsa
- @ninan-nn