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

AudienceImpact
Terminal client authorsExisting `pty-ws.v1` JSON clients still work. New clients can negotiate `pty-ws.v1.binary` for hot PTY bytes.
OperatorsReview any dashboard still using `agent_id="*"` subscriptions. Prefer concrete agent subscriptions or formal sessions; set the opt-in only for trusted legacy dashboards.
IntegratorsTreat `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.