v0.5.1
iii-hq/iiiv0.5.1Jul 9, 2026by janetkuo
AI Summary
A patch release focused on reconciler performance, core stability, and new SDK capabilities. It introduces a high-performance Go router, Python SDK improvements, and support for Kubernetes 1.36.
Key Highlights
- Pod Cache Label Indexing to eliminate O(N) pod listing overhead
- Introduction of Go Sandbox-Router as a Python replacement
- Python SDK improvements including AsyncSandboxClient cleanup and IPv6 support
- Support for Kubernetes 1.36 and controller-runtime v0.24.0
- New workload examples including GKE high-density and Playwright
Breaking Changes
- Upgrade Advisory: Upgrading from v0.4.x to v0.5.0 or v0.5.1 may cause transient errors that wipe `status.sandbox.name` for warm-started `SandboxClaim`s, potentially forcing a pod cold restart. It is recommended to upgrade to v0.5.2.
New Features
- Pod Cache Label Indexing
- Go Sandbox-Router implementation
- Python SDK Pod IP prioritization and normalization
- RFC 3986 compliant IPv6 URL bracketing
- Enable AsyncSandboxClient cleanup by default
- Webhook Certificate Management Flag
- VolumeClaimTemplates support in Claims
- GKE Swap example for high-density deployments
- Playwright sandbox example
Full Release Notes
> [!WARNING] > **Upgrade Advisory (Warm-Started Claims Only):** > Releases `v0.5.0` and `v0.5.1` contain a status-wiping race condition during controller reconciliation that affects **warm-started `SandboxClaim`s** (`spec.warmPoolRef`). > > When upgrading from `v0.4.x` to `v0.5.0`/`v0.5.1`, initial bulk reconciliation of active warm claims can cause transient errors that wipe `status.sandbox.name`, forcing an unnecessary pod cold restart or re-adoption. > > **Scope:** > * **Fresh installations & Cold-start claims (`v1beta1`):** Not impacted during initial setup. > * **Upgrading from `v0.4.x` with active warm claims:** Please upgrade to **`v0.5.2`**. # 🚀 Announcing Agent Sandbox v0.5.1! We're excited to announce the release of **Agent Sandbox v0.5.1**! This patch release brings significant reconciler performance optimizations, core stability improvements, new Go and Python SDK capabilities, expanded example workloads, and dependency upgrades including `controller-runtime` v0.24.0 (supporting Kubernetes 1.36). --- ### Key Highlights #### Core Stability & Reconciler Optimizations * **Pod Cache Label Indexing (#1099):** Indexed pod cache by `sandbox` label to eliminate $O(N)$ pod listing during `reconcilePod`, significantly reducing CPU overhead during high-scale reconciles. * **Adoption-Completion Requeue (#1108):** Implemented bounded requeue logic for `SandboxClaim` adoption completion to handle cache lag gracefully without falling back to exponential backoff. * **Namespace Queue Partitioning (#813):** Partitioned `SimpleSandboxQueue` by namespace to improve isolation and concurrency under heavy multi-tenant load. * **Webhook Certificate Management Flag (#1093):** Introduced `--manage-webhook-certs` to allow disabling in-binary certificate management and CRD patching for external cert-manager setups. * **CRD Printer Columns & Status Updates (#964, #990, #1053):** Added `Desired` printer column to `SandboxWarmPool` and updated `computeReadyCondition` for `Sandbox` CRD. * **Shared Blueprint & Policy Injection (#995, #991):** Introduced inlined `SandboxBlueprint` shared by `Sandbox` and `SandboxTemplate`, and fixed claim env injection rejection when templates specify `EnvFrom`. * **NetworkPolicy Ownership (#828):** Ensured `SandboxTemplate` controller explicitly verifies ownership of `NetworkPolicy` resources. #### Go & Python SDK Enhancements * **Go Sandbox-Router (#838, #1066):** Introduced a high-performance Go implementation of `sandbox-router` as a drop-in replacement for the Python router, along with configurable `MAX_KEEPALIVE_CONNECTIONS`. * **Python SDK Network & Gateway Improvements (#917, #1014, #756, #1035):** Implemented Pod IP prioritization and normalization, RFC 3986 compliant IPv6 URL bracketing, enabled `AsyncSandboxClient` cleanup by default, and fixed gateway status address validation. * **VolumeClaimTemplates in Claims (#961):** Updated SDK to accept `VolumeClaimTemplates` directly via `SandboxClaim`. * **Go Client Tagged Releases (#537):** Established repository-tag-based release definitions for the Go client. #### Examples, Load Testing & Workloads * **GKE High-Density & Scale-to-Zero (#1005, #1048, #1023):** Added GKE Swap example for high-density agent deployments, KEDA scale-to-zero example, and GKE late-binding user guide. * **New Sandbox Workload Examples (#1068, #1043, #1040, #1049):** Added `nullclaw-sandbox`, Playwright sandbox, Cilium identity-based egress e2e example, and RL instant-claim sizing. * **Chrome Sandbox Stability (#1062, #1096):** Cross-compiled `chrome-sandbox` entrypoint to prevent QEMU Go crashes and updated base images and readiness probes. #### Infrastructure & Dependencies * **Kubernetes 1.36 & Controller-Runtime (#779):** Upgraded `controller-runtime` to v0.24.0 and Kubernetes dependencies to support Kubernetes 1.36. * **Site & Docs (#1026, #785, #1075, #747):** Upgraded Hugo to v0.163.3, documented agent skills in `AGENTS.md`, and added KEP for standardizing sandbox runtime interfaces. --- ### Installation #### Core & Extensions ```bash # To install only the core components: kubectl apply -f https://github.com/kubernetes-sigs/agent-sandbox/releases/download/v0.5.1/manifest.yaml # To install the extensions components: kubectl apply -f https://github.com/kubernetes-sigs/agent-sandbox/releases/download/v0.5.1/extensions.yaml ``` #### Python SDK ```bash pip install k8s-agent-sandbox==0.5.1 ``` --- ### Contributors We extend our sincere thanks to all contributors to this release: @Oneimu, @SHRUTI6991, @XbaoWu, @aditya-shantanu, @alexatakvelon, @amacaskill, @barney-s, @chw120, @dependabot, @dongjiang1989, @drogovozDP, @igooch, @janetkuo, @justinsb, @lauragalbraith, @lunarwhite, @mastersingh24, @moficodes, @mvanhorn, @prash2512, @pwoelfle-unique, @rayowang, @sairajp-rewind, @shrutiyam-glitch, @sudhanshu456, @tomergee, @volatilemolotov, @yuanwang04 ## New Contributors * @lunarwhite made their first contribution in https://github.com/kubernetes-sigs/agent-sandbox/pull/975 * @prash2512 made their first contribution in https://github.com/kubernetes-sigs/agent-sandbox/pull/1053 * @amacaskill made their first contribution in https://github.com/kubernetes-sigs/agent-sandbox/pull/1023 * @sudhanshu456 made their first contribution in https://github.com/kubernetes-sigs/agent-sandbox/pull/1026 * @XbaoWu made their first contribution in https://github.com/kubernetes-sigs/agent-sandbox/pull/1084 * @yuanwang04 made their first contribution in https://github.com/kubernetes-sigs/agent-sandbox/pull/1005 * @pwoelfle-unique made their first contribution in https://github.com/kubernetes-sigs/agent-sandbox/pull/1066 * @alexatakvelon made their first contribution in https://github.com/kubernetes-sigs/agent-sandbox/pull/716 **Full Changelog**: https://github.com/kubernetes-sigs/agent-sandbox/compare/v0.5.0...v0.5.1