v0.4.3
siyuan-note/siyuanv0.4.3Apr 28, 2026by janetkuo
AI Summary
Expands documentation, introduces lifecycle APIs with TTL support, and improves warm pool correctness and observability.
Key Highlights
- New documentation covering filesystems, volumes, lifecycle, snapshots, and metrics.
- Introduction of `Finished` condition and `ttlSecondsAfterFinished` field for automatic cleanup.
- Added `volumeClaimTemplates` support for persistent storage.
- Python SDK `SandboxInClusterConnectionConfig` for in-cluster clients.
New Features
- Added `--version` flag and `agent_sandbox_build_info` Prometheus metric.
- Improved startup latency tracking accuracy.
- Go unit tests now run with `-race` enabled by default.
Full Release Notes
## 🚀 Announcing Agent Sandbox v0.4.3! We are excited to announce the release of **Agent Sandbox v0.4.3**! This release expands documentation significantly, with new guides covering filesystems, volumes, lifecycle, snapshots, metrics, custom environments, and a Python SDK quickstart — plus a reorganized Use Cases section and Go sandbox client docs. It introduces new **lifecycle APIs**, including a `Finished` condition on Sandbox and SandboxClaim and a `ttlSecondsAfterFinished` field for automatic cleanup of finished claims, alongside volumeClaimTemplates support for persistent storage. **Warm pool correctness** improves with fixes for duplicate Sandbox adoption during informer cache lag, retain-policy deletion, and cross-namespace adoption protection. **Observability** gains a `--version` flag, an `agent_sandbox_build_info` Prometheus metric, and more accurate startup-latency tracking. Finally, the Python SDK adds a new `SandboxInClusterConnectionConfig` so in-cluster clients can bypass the router — using stable cluster DNS by default, with an opt-in low-latency pod-IP mode. ### Key Highlights * **Documentation Expansion**: Comprehensive new docs covering filesystems, volumes, lifecycle/TTL, snapshots, metrics, custom environments, and use cases. Added a Python SDK quickstart, Go sandbox client docs, and a homepage Use Cases grid. The `docs/examples/` section has been reorganized under `docs/use-cases/`. * **Lifecycle & Cleanup**: New `Finished` condition on `Sandbox` (mirrored to `SandboxClaim`) reporting `PodSucceeded` / `PodFailed`. New `ttlSecondsAfterFinished` field on `SandboxClaim.spec.lifecycle` for automatic cleanup of finished claims, honoring the existing `shutdownPolicy` (`Retain`, `Delete`, `DeleteForeground`). * **Storage**: Added `volumeClaimTemplates` support to `SandboxTemplate`, propagated through `SandboxClaim` and `SandboxWarmPool` to the underlying `Sandbox`. PVC-backed volumes use StatefulSet-style merge semantics with the pod template. * **Warm Pool Correctness**: Fixed duplicate Sandbox adoption during informer cache lag by recording the adopted Sandbox name on the claim via the `agents.x-k8s.io/sandbox-name` label. Fixed warm-pool sandbox deletion when `shutdownPolicy: Retain` is set. Added cross-namespace adoption protection. * **Python SDK Enhancements**: New `SandboxInClusterConnectionConfig` for in-cluster clients to bypass the router — defaults to stable cluster DNS, with an opt-in `use_pod_ip=True` mode for low-latency direct pod connections (with cache invalidation on errors). `Sandbox.status.podIPs` is now exposed end-to-end. * **Observability**: Added a `--version` flag and `agent_sandbox_build_info` Prometheus metric (with git version, SHA, build date, Go version, platform). Improved `ControllerStartupLatency` accuracy by keying observed-time entries on both name and UID, so recreated claims with the same name no longer reuse stale timestamps. * **Stability**: SandboxClaim now requeues quietly (instead of erroring) when its template is missing and recovers automatically when the template is created. Sandbox controller now safely handles `AlreadyExists` on pod creation, refusing to adopt pods owned by other controllers. * **Testing**: Go unit tests now run with `-race` enabled by default; new `make test-e2e-race` target. Added a kOps-on-GCP benchmark scenario and a `resourcectl` CLI for Boskos resource management. ### Installation #### Core & Extensions ```bash # To install only the core components: kubectl apply -f https://github.com/kubernetes-sigs/agent-sandbox/releases/download/v0.4.3/manifest.yaml # To install the extensions components: kubectl apply -f https://github.com/kubernetes-sigs/agent-sandbox/releases/download/v0.4.3/extensions.yaml ``` #### Python SDK ```bash pip install k8s-agent-sandbox==0.4.3 ``` --- ## Contributors A huge thank you to all the contributors who made this release possible! @angristan, @noeljackson, @vgunapati, @igooch, @chw120, @yashasvimisra2798, @bittermandel, @Oneimu, @alimx07, @aleks-stefanovic, @justinsb, @janetkuo, @dongjiang1989, @rayowang, @vicentefb, @volatilemolotov ### 👋 New Contributors @vgunapati made their first contribution in #489 @alimx07 made their first contribution in #645 @bittermandel made their first contribution in #583 @angristan made their first contribution in #240 **Full Changelog**: https://github.com/kubernetes-sigs/agent-sandbox/compare/v0.4.2...v0.4.3