Skip to content

Commit 6e99480

Browse files
authored
Merge pull request docker#25314 from dvdksn/sbx/v0.32.0-releasenotes
sbx: regenerate release notes (v0.32.0)
2 parents f530aa3 + 443c9a7 commit 6e99480

1 file changed

Lines changed: 101 additions & 52 deletions

File tree

content/manuals/ai/sandboxes/release-notes.md

Lines changed: 101 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,100 @@ the full release history, including pre-releases and downloads, see the
1515

1616
<!-- BEGIN GENERATED RELEASES -->
1717

18+
## 0.32.0
19+
20+
{{< release-date date="2026-06-09" >}}
21+
22+
[GitHub release](https://github.com/docker/sbx-releases/releases/tag/v0.32.0)
23+
24+
### Highlights
25+
26+
**[Audit logging](https://docs.docker.com/ai/sandboxes/governance/audit/)**: Sandboxes now emit structured JSONL audit records for policy decisions. Records are written to a per-OS log directory and can be forwarded to any SIEM platform for enterprise compliance workflows. Requires a Docker AI Governance subscription.
27+
28+
**[Sign-in enforcement](https://docs.docker.com/ai/sandboxes/governance/sign-in-enforcement/)**: Administrators can now require Docker organization membership verification. Enforcement is deployed via standard endpoint management tooling: configuration profiles on macOS, the registry on Windows, and a JSON policy file on Linux. This closes the gap for organizations that need to ensure only authenticated, authorized users run AI coding agents.
29+
30+
### What's New
31+
32+
#### CLI
33+
34+
- Offer an interactive "Sign in with ChatGPT" OAuth flow on the first `sbx create`/`sbx run codex` when no Codex credentials are configured.
35+
- Pre-select `balanced` as the highlighted default in the first-run network policy prompt, so pressing Enter accepts the recommended policy.
36+
- Make global the default scope for `policy network allow|deny` and `policy rm`; add `--sandbox` to target a specific sandbox and drop the `-g/--global` flag.
37+
- Simplify `sbx version` to a single line by default; gate detailed information behind `-D/--debug`.
38+
- Unhide `sbx secret set-custom`, a command for [setting custom secrets](https://docs.docker.com/ai/sandboxes/security/credentials/#custom-secrets), and mark it as experimental.
39+
40+
#### Secrets
41+
42+
- Add OpenRouter as a built-in service provider, so `sbx secret set <sandbox> openrouter` works without `set-custom` and the proxy injects `Authorization: Bearer <token>` automatically.
43+
- Fall back to an encrypted on-disk secrets store on Linux/WSL hosts where no working keychain is available, with a one-time warning on secret-writing paths including `sbx login`.
44+
- Substitute custom-secret sentinels inside HTTP Basic auth payloads, so credentials referenced in `Basic` Authorization headers are resolved like other sentinel shapes.
45+
46+
#### Networking
47+
48+
- Hide inactive governed policy rules by default in `sbx policy ls` and the TUI Network Rules view, with governance/sync status, hidden-rule indicators, and an `--include-inactive` flag (TUI `i` toggle) to reveal them.
49+
- Route OAuth/browser-open requests to the caller's graphical session, fixing `/login` opening on the host's display instead of the SSH terminal that invoked it.
50+
51+
#### Kits
52+
53+
- Support the v2 OCI kit artifact format end-to-end, so kits are standard OCI images that registries and OCI tooling (Hub, `oras`, `crane`, `skopeo`) can introspect without kit-specific knowledge.
54+
- Write `files/workspace/<path>` kit entries correctly when `sbx run --clone` is used; previously the file hook fired before the in-container clone populated the workspace and failed the sandbox start.
55+
56+
#### Performance
57+
58+
- Keep virtiofs caching enabled for sandboxes using `--clone`, avoiding a FUSE round-trip on every `stat()` and speeding up `git status`, `grep -r`, and tree walks inside the sandbox.
59+
60+
#### Packaging
61+
62+
- Require the system keyring dependency in Linux packages so credential storage works out of the box.
63+
64+
#### Documentation
65+
66+
- Replace stale `--branch`/worktree guidance in generated agent guidance (CLAUDE.md/AGENTS.md) with `--clone`, including how to sync host commits via `/run/sandbox/source`.
67+
68+
#### Bug Fixes
69+
70+
- Fix an issue with `sbx secret set <sandbox> <service>` silently dropping credentials while reporting success.
71+
- Migrate stale runtime `SocketPath` references on daemon restart, so sandboxes upgraded from v0.31.0 stay visible to `sbx ls` after `/tmp` is cleaned.
72+
- Keep non-interactive `sbx exec` output intact by not tearing down the attach-exec bridge on stdin EOF (no more spurious empty output with exit code 0).
73+
- Clear stale pending status in the TUI when a network deny rule is deleted, so a host no longer shows as Blocked after its rule is removed.
74+
- Bind MCP gateway state to the daemon-assigned runtime instance so a same-name sandbox recreate cannot leave Claude pointed at a stale gateway port.
75+
- Set the default network policy before launching the TUI to avoid spurious 412 errors from policy-rule requests.
76+
- Stop counting expected `rm`/`stop`/list-ports "not found" 404s as analytics failures, so routine existence checks no longer inflate error dashboards.
77+
- Require a daemon restart (instead of failing with `405 Method Not Allowed`) when downgrading the CLI below a newer running daemon.
78+
79+
## 0.31.3
80+
81+
{{< release-date date="2026-06-03" >}}
82+
83+
[GitHub release](https://github.com/docker/sbx-releases/releases/tag/v0.31.3)
84+
85+
### Bug Fixes
86+
87+
- Fix a failure to start sandboxes that were created with older versions of the CLI.
88+
- Fix a file descriptor leak on Linux. Each credential lookup left a session
89+
D-Bus socket open, so long-running processes (such as the daemon) could
90+
gradually accumulate open file descriptors and eventually hit the session
91+
bus's connection limit, failing with "The maximum number of active
92+
connections has been reached." Connections are now closed after each
93+
operation. macOS and Windows were not affected.
94+
95+
## 0.31.2
96+
97+
{{< release-date date="2026-06-01" >}}
98+
99+
[GitHub release](https://github.com/docker/sbx-releases/releases/tag/v0.31.2)
100+
101+
### Highlights
102+
103+
This patch release resolves two reliability issues. It **fixes a Windows issue** where odd default sandbox memory values could lead to startup timeouts. It also includes a **daemon-compatibility fix** that prevents a silent failure (`405 Method Not Allowed`) when the `sbx` CLI is downgraded while a newer `sandboxd` daemon is still running — the CLI now requires a daemon restart instead.
104+
105+
### What's New
106+
107+
#### Bug Fixes
108+
109+
- Fix a Windows issue where odd default sandbox memory values could lead to startup timeouts.
110+
- Require a daemon restart when downgrading the CLI below a running daemon, instead of silently proceeding into a `405 Method Not Allowed` error.
111+
18112
## 0.31.1
19113

20114
{{< release-date date="2026-05-29" >}}
@@ -33,9 +127,6 @@ the full release history, including pre-releases and downloads, see the
33127

34128
### Highlights
35129

36-
> [!IMPORTANT]
37-
> This release has a known issue where sandboxes from earlier versions may not be listed by sbx ls and can fail to run. This is fixed in [v0.31.1](https://github.com/docker/sbx-releases/releases/tag/v0.31.1) — please upgrade.
38-
39130
#### Clone mode: `--clone`
40131

41132
The `--branch` flag has been removed in favor of `--clone` (clone mode). Using `--branch` now fails with:
@@ -83,6 +174,13 @@ Clone mode does not create a branch or worktree on your behalf — instead of a
83174

84175
- Surface `port_publish_failed` inner error detail.
85176

177+
#### Secrets
178+
179+
- Store container-registry pull credentials with `sbx secret set --registry`, so `sbx run --template` and `sbx run --kit` can pull from private registries (GHCR, ACR, ECR, Quay, …) without a `docker login`. Manage entries with `sbx secret ls` and remove them with `sbx secret rm --registry <host>`.
180+
181+
> [!WARNING]
182+
> By default the credential is stored **host-side only** and is used just for pulling templates/kits. It is never placed inside a sandbox. If you pass `-g` (or scope it to a sandbox name), the credential is **injected into the sandbox in plaintext**, where the agent and any code running there can read it. Only use `-g`/sandbox scope when the sandbox itself needs to pull from the registry; otherwise omit `-g` to keep it host-only.
183+
86184
#### Bug Fixes
87185

88186
- Sort `template ls` output by repository, then tag.
@@ -152,55 +250,6 @@ The CLI gets **non-interactive Docker Hub login** for scripted workflows, and sa
152250
- Warn agents about worktree path traps with `--branch`
153251
- Improve consistency and wording in CLI help strings
154252

155-
## 0.29.0
156-
157-
{{< release-date date="2026-05-13" >}}
158-
159-
[GitHub release](https://github.com/docker/sbx-releases/releases/tag/v0.29.0)
160-
161-
### Highlights
162-
163-
This release brings **per-sandbox network policies**, giving callers fine-grained control over which domains each sandbox can reach, including an explicit `deniedDomains` list and allowance for binary TCP protocols like SSH. Sandboxes now carry **daemon-assigned UUIDs**, enabling reliable identification across restarts and telemetry. Several **agent improvements** land in this release: Gemini gets SSO browser relay, Codex auth is more robust, and the OpenAI OAuth flow now auto-opens the browser. A round of **bug fixes** improves daemon robustness on macOS (long-username `sun_path` overflow), gVisor isolation under `--app-name`, and database-version handling.
164-
165-
### What's New
166-
167-
#### Networking & Policy
168-
169-
- Support per-sandbox scoped network policies
170-
- Add `deniedDomains` to network kit policy
171-
- Allow binary TCP protocols (e.g. SSH) through domain allow rules
172-
- Pipe in policykit error handler for better diagnostics
173-
174-
#### Sandboxes
175-
176-
- Add daemon-assigned UUID to sandbox runtimes
177-
178-
#### Agents
179-
180-
- Enable SSO browser relay for Gemini
181-
- Auto-open browser during OpenAI OAuth flow
182-
- Skip auth.json placeholder for Codex when no host credentials
183-
- Expose Claude guidance to Codex sandboxes
184-
185-
#### CLI
186-
187-
- Require confirmation for `sbx rm <name>` to prevent accidental deletion
188-
- Unhide `kit` command in help output
189-
190-
#### Bug Fixes
191-
192-
- Namespace gVisor socket dir by `--app-name` so concurrent daemons don't share state
193-
- Probe canonical socket path for `sun_path` budget — fixes `krun_start_enter failed` for macOS users with long usernames
194-
- Check database version before starting the daemon and surface an instructive error instead of crashing
195-
- Route gVisor sockets to a persistent, sandboxd-owned location
196-
- Delete stranded tracker after failed auto-stop with no active sessions
197-
- Clean up DinD volume even when container inspect fails
198-
- Apply `SANDBOXES_STORAGE_ROOT` override to storage config
199-
- Report running binary (not first `sbx` on PATH) in `diagnose`
200-
- Explain how to configure OpenAI credentials in no-creds warning
201-
- Allow MCR layer-blob CDN in default-code-and-containers policy
202-
- Improve empty state of `sbx ls` with actionable guidance
203-
204253
<!-- END GENERATED RELEASES -->
205254

206255
## Earlier releases

0 commit comments

Comments
 (0)