Agentic Sandbox v2026.6.27
Agentic Sandbox v2026.6.27
Released: 2026-06-21 Tag: `v2026.6.27` Previous: `v2026.6.26` Compare: `v2026.6.26...v2026.6.27`
What This Release Is
v2026.6.27 is the terminal transport hardening release. It makes `pty-ws` usable as a formal, scoped session transport instead of an agent-wide terminal fanout path: sessions appear in the canonical registry, observers are read-only, controllers have explicit scopes, binary PTY I/O is available for high-throughput clients, and terminal close state is deterministic and replayable.
It also carries the Docker admin inventory and agentshare session fixes already on `main` after v2026.6.26.
Highlights
- `pty-ws.v1.binary` adds raw binary PTY input/output frames while preserving
JSON control frames and JSON/base64 replay.
- PTY attach authorization now distinguishes `pty:observe`, `pty:control`, and
`pty:admin`.
- `pty-ws` sessions register in the formal session registry, so inventory,
replay, and formal control paths converge on the canonical session bus.
- PTY close lifecycle is now deterministic: command result, EOF, start failure,
last-member leave, and teardown emit one retained `Closed` frame.
- Legacy `agent_id="*"` terminal broadcast is disabled by default and requires
`AGENTIC_WS_ALLOW_WILDCARD_SUBSCRIBE=true` for trusted legacy dashboards.
Upgrade Matrix
| Audience | Impact |
|---|---|
| Terminal client authors | Existing `pty-ws.v1` JSON clients still work. New clients can negotiate `pty-ws.v1.binary` for hot PTY bytes. |
| Operators | Review any dashboard still using `agent_id="*"` subscriptions. Prefer concrete agent subscriptions or formal sessions; set the opt-in only for trusted legacy dashboards. |
| Integrators | Treat `Closed` frames as the canonical end-of-session signal and expect command-result closes to include exit codes. |
Verification
make test
bash -n scripts/bump-version.sh
bash -n scripts/run-e2e-tests.sh
bash -n scripts/verify-release-assets.sh
scripts/lint-ci-pins.sh
scripts/lint-npm-pins.sh
git diff --check
cargo fmt --manifest-path management/Cargo.toml --check
cargo fmt --manifest-path agent-rs/Cargo.toml --check
cargo fmt --manifest-path cli/Cargo.toml --check
cargo test --manifest-path management/Cargo.toml --lib
cargo test --manifest-path agent-rs/Cargo.toml --lib
cargo test --manifest-path cli/Cargo.toml --bins
python3 scripts/check-doc-links.py --docs-root docs
Operator Notes
- Prefer `pty-ws.v1.binary` for high-throughput terminal clients that can handle
binary WebSocket frames.
- Keep `pty-ws.v1` enabled for existing JSON/base64 clients and transcript
consumers.
- Do not re-enable wildcard terminal broadcast globally unless the connection is
a trusted legacy dashboard path with compensating access controls.