This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
Affected surfaces
ReleasePort's take
Light signalThe k8s/controller v0.2.0 release adds an auto‑assign pool for batchsandbox and enables a public snapshots API on Kubernetes.
Why it matters: These features simplify resource allocation and expose snapshot data via a dedicated API, improving workflow automation for developers and SREs.
Summary
AI summaryAdd auto‑assign pool for batchsandbox and support public snapshots API on Kubernetes runtime.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Add auto-assign pool for batchsandbox Add auto-assign pool for batchsandbox Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
support public snapshots api on Kubernetes runtime support public snapshots api on Kubernetes runtime Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
support env override for api_key in server and helm support env override for api_key in server and helm Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
sign and attest release artifacts sign and attest release artifacts Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Add pool auto-assign proposal doc Add pool auto-assign proposal doc Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
implement pause/resume with rootfs snapshot support in server and k8s implement pause/resume with rootfs snapshot support in server and k8s Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
add recycle handler; refactor allocator in k8s add recycle handler; refactor allocator in k8s Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
implement OSEP-0011 signed endpoint for secure route access in server implement OSEP-0011 signed endpoint for secure route access in server Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
use patch to update batchsandbox status instead of update in k8s use patch to update batchsandbox status instead of update in k8s Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
add Pool rolling update maxUnavailable, close #610 in k8s add Pool rolling update maxUnavailable, close #610 in k8s Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
fix in-memory allocation state polluted by same pool name bug in k8s fix in-memory allocation state polluted by same pool name bug in k8s Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
fix recover failed bug in k8s fix recover failed bug in k8s Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
fix multi-namespace pool allocation issue; fix recover bug on startup in k8s fix multi-namespace pool allocation issue; fix recover bug on startup in k8s Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
add gVisor and Kata RuntimeClass support with e2e tests and guide docs in secure-container add gVisor and Kata RuntimeClass support with e2e tests and guide docs in secure-container Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
fix pool alloc atomic bug in k8s fix pool alloc atomic bug in k8s Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
auto-create/delete PVC and Docker volumes via per-volume API fields auto-create/delete PVC and Docker volumes via per-volume API fields Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
opt pool controller sync alloc concurrently and add controller workers flag in k8s opt pool controller sync alloc concurrently and add controller workers flag in k8s Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
add scaleStrategy to control scaling behavior in pool add scaleStrategy to control scaling behavior in pool Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
add eviction handler in pool of k8s add eviction handler in pool of k8s Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
add e2e test cases for in-memory pool allocation state in k8s add e2e test cases for in-memory pool allocation state in k8s Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
refactor pool allocation store to in-memory, to fix K8s crd size limitation in k8s refactor pool allocation store to in-memory, to fix K8s crd size limitation in k8s Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
add logs in alloc & pool of k8s add logs in alloc & pool of k8s Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
configure egress enforcement mode and centralize sidecar env names in server configure egress enforcement mode and centralize sidecar env names in server Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
add kube client rate limiter flags and configuration in controller add kube client rate limiter flags and configuration in controller Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Fix atomicity bug in pool allocation logic of K8s Fix atomicity bug in pool allocation logic of K8s Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
| Bugfix | Medium |
harden Kubernetes public snapshot runtime harden Kubernetes public snapshot runtime Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
remove pool allocation finalizer on detach in kubernetes remove pool allocation finalizer on detach in kubernetes Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
batchsandbox.status.conditions.type missing "Paused" fixed in k8s batchsandbox.status.conditions.type missing "Paused" fixed in k8s Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
move extraEnv under server.env for consistent config grouping in helm move extraEnv under server.env for consistent config grouping in helm Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
verify self-signed controller CA signatures verify self-signed controller CA signatures Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
enforce crypto key length policy enforce crypto key length policy Source: llm_adapter@2026-05-21 Confidence: low |
— |
Full changelog
K8s Component controller v0.2.0
What's New
Changes included since k8s/controller/v0.1.0.
Scoped paths: kubernetes.
✨ Features
- feat(k8s): Add auto-assign pool for batchsandbox
- feat(snapshot): support public snapshots api on Kubernetes runtime
- feat(server,helm): support env override for api_key
- feat(release): sign and attest release artifacts
- feat(k8s): Add pool auto-assign proposal doc
- feat(server,k8s): implement pause/resume with rootfs snapshot support (#668)
- feat(k8s): add recycle handler;refactor allocator
- feat(server): implement OSEP-0011 signed endpoint for secure route access (#787)
- feat: auto-create/delete PVC and Docker volumes via per-volume API fields (#660)
- feat(k8s): use patch to update batchsandbox status instead of update
- feat(k8s): opt pool controller sync alloc cocurrently and add controller workers flag
- feat(k8s): add Pool rolling update maxUnavailable, close #610 (#610)
- feat(pool): add scaleStrategy to control scaling behavior
- feat(k8s): fix in-memory allocation state polluted by same pool name bug
- feat(k8s): add eviction handler in pool
- feat(k8s): fix recover failed bug
- feat(k8s): add e2e test cases for in-memory pool allocation state
- feat(k8s): fix multi-namespace pool allocation issue; fix recover bug on startup
- feat(k8s): refactor pool allocation store to in-memory, to fix K8s crd size limitation
- feat(k8s): add logs in alloc & pool
- feat(k8s): fix pool alloc atomic bug
- feat(server): configure egress enforcement mode and centralize sidecar env names
- feat(controller): add kube client rate limiter flags and configuration (#490)
- feat(secure-container): add gVisor and Kata RuntimeClass support with e2e tests and secure-container guide docs
🐛 Bug Fixes
- fix(k8s): batchsandboxe.status.conditions.type missing "Paused"
- fix(snapshot): harden Kubernetes public snapshot runtime
- fix(helm): move extraEnv under server.env for consistent config grouping
- fix(kubernetes): remove pool allocation finalizer on detach
- fix: verify self-signed controller CA signatures
- fix: build controller package target
- fix: enforce crypto key length policy
- fix(chart/controller): coerce kubeClient.qps/burst to int before gt comparison (#770)
- fix(chart/server): wire imagePullSecrets into ServiceAccount and Deployment (#767)
- fix(config): correct log level TOML key across docs, tests, and deploys
- fix(k8s): fix status deep equal compare, close #638 (#638)
- fix(ingress): avoid full scan
- fix(k8s): remove redundant append in scaleBatchSandbox loop
- fix(pool): correct pod creation count calculation and logging
- fix(k8s): fix available status check in pool status cal
- fix(controller): delete dirty pods in pool allocation
- fix(kubernetes): set SandboxImage to always use TaskExecutorImage in test utils for Kind compatibility
- fix(scheduler): schedule tasks on new pods when BatchSandbox scales out (#102)
- fix: add server rbac for secrets
- fix(kubernetes): update deployment namespace and name in Makefile
⚠️ Breaking Changes
- None
📦 Misc
- chore(chart): regenerate Chart.lock for opensandbox-controller 0.2.0
- chore(chart): bump opensandbox-controller chart version to 0.2.0
- chore: bump execd to v1.0.16
- chore: bump egress to v1.0.11
- chore: bump execd to v1.0.15
- chore(chart): bump opensandbox-server image to v0.1.13
- docs(helm): clarify chart and app versioning
- Update agent guidance docs
- chore: bump ingress to v1.0.7
- chore: bump egress to v1.0.10
- chore(deps): bump github.com/moby/spdystream in /kubernetes
- build: make native Go builds repeatable
- fix e2e
- fix ut
- chore: bump execd to v1.0.14
- chore: bump OpenTelemetry Go dependencies
- chore: bump egress to v1.0.9
- refactor(kubernetes): move crypto policy helpers
- chore(chart): bump opensandbox-server image to v0.1.12
- docs(k8s): Add docs to provide harness
- chore: bump execd to v1.0.13
- chore(chart): bump opensandbox-server image to v0.1.11
- chore: bump egress to v1.0.8
- chore: bump execd to v1.0.12
- chore: add Dockerfile.dockerignore to reduce build context (#718)
- chore(k8s): refactor task schedule func call in pool controller
- chore(chart): bump opensandbox-server image to v0.1.10
- chore: bump egress to v1.0.7
- chore: bump execd to v1.0.11
- bump ingress gateway to 1.0.6
- chore: bump execd to v1.0.10
- chore: bump egress to v1.0.6
- test(pool_controller): add MaxUnavailable scale strategy to pool specs in tests
- docs(kubernetes): add scaleStrategy option to control scaling rate
- chore: bump egress to v1.0.4
- chore(deps): bump google.golang.org/grpc in /kubernetes
- test(runtime): improve timing waits in process test cases
- chore: bump ingress to 1.0.5 (#560)
- chore: bump execd to v1.0.9 (#564)
- chore: build image for dockerhub
- chore: bump opensandbox server to 0.1.8
- chore: merge kubernetes test workflow
- chore(kubernetes): refactor test code and Makefile for image variables instead of hard-coded strings
- chore: bump execd to v1.0.7 (#451)
- chore: bump code-interpreter to v1.0.2 (#460)
- chore: dump server to 0.1.7 and ingress to 1.0.4
- chore(charts): bump ingress image to v1.0.3
- docs(kubernetes): clarify pause/resume API support status
- chore(k8s): add opensandbox release chart(all-in-one) & update controller release name
- chore(server): add logger instance to main module
- docs(k8s): update error server version in chart value
- docs(k8s): update pool samples
- chore(k8s): update server helm template
- chore(k8s): update helm template
- test(e2e_runtime): remove unused gvisor batchsandbox and pool test data YAML files
- docs: upgrade kubernetes version to 1.21.1+
- test(k8s): update k8s version in e2e workflow and README
- chore(server): add opensandbox server deployment helm charts
- test(gvisor): add gVisor binaries download and improve cluster setup
- chore(deps): bump go.opentelemetry.io/otel/sdk in /kubernetes
- test(kata): remove all e2e Kata Containers runtime tests and related testdata
👥 Contributors
Thanks to these contributors ❤️
- @jiangqianjun.jqj
- @github-actionsbot
- @yoogoc
- @baiaoshh
- @wenxiang.jin
- @pingshan.wj
- @fengjianhui.fjh
- @sauce
- @yutian.taoyt
- @dependabotbot
- @Pangjiping
- @changren-wcr
- @gongxiangfeng
- @premprakashsharma.dev
- @pangjiping.pjp
- @qiyan.zm
- @hi
- @liuxiaopai-ai
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]