Sandbox changelog
This page is rendered directly from
images/sandbox/CHANGELOG.md,
the changelog shipped with the image package.
OpenCode runtime bump and patched transitive locks.
The Sandbox image upgrades its embedded OpenCode runtime from 1.18.18 to 1.18.30 and advances a patched transitive hono dependency in its locked dependency tree. The bump carries the OpenCode fix line forward across the full and opencode variants as well as the repository's pinned integration baseline and related docs, while the lock change needs no direct dependency or behavioral adjustment.
- OpenCode 1.18.18 → 1.18.30. The full and opencode image variants now embed
opencode-ai1.18.30. The repository's pinned OpenCode integration baseline is bumped to match, and the getting-started guide, the OpenCode provider page, and the image variant table are updated so the documented executable version matches what ships in the image. - Patched transitive hono lock. The sandbox image's lockfile advances the transitive hono HTTP library 4.13.2 → 4.13.7 to pull in upstream patches, with no direct dependency or behavioral change required.
Commits
Section titled “Commits”build(sandbox): upgrade opencode to 1.18.30(9c3b28e)build(sandbox): update patched hono lock(facfe37)
Dependency security fixes.
- Patch vulnerable transitive dependencies. The sandbox image's locked dependency tree now uses patched versions of the vulnerable transitive utilities
fast-uriandqs, so no direct dependency, API, or behavioral change is required.fast-uriadvances 3.1.5 → 3.1.7 andqsadvances 6.15.3 → 6.16.0, both address/query-string utilities pulled in through the runtime's HTTP stack, closing known security holes in the bundled transitive tree while existing workflows run unchanged.
Commits
Section titled “Commits”fix(sandbox): update vulnerable transitive dependencies(b468b46)
Sandbox release pipeline polish.
- Releases now publish their own overview and changelog. Each release pushes
DOCKERHUB.mdas the Docker Hub repository overview through Docker Hub's metadata API, using a read/write personal access token from the caller's normal Docker configuration that is kept separate from the temporary browser login used for image publication. The token is verified before building and the pushed overview is confirmed afterward;npm run sync:description --prefix images/sandboxresynchronizes just the overview. The release-itafter:bumphook also drafts and writes the sandbox changelog entry straight intoimages/sandbox/CHANGELOG.md. - Keyless signing is gated and safely awaited. Keyless Cosign signing now waits for the maintainer to press Enter before each signature, so device-flow links are not opened until you are ready. Publication pauses once before the signing batch and Cosign's normal browser flow is restored so logins return through the local callback, with a Windows URL-handler shim under WSL to avoid File Explorer windows.
- Signing can resume without rebuilding. If signing fails after every image and smoke completed,
npm run release:sandbox -- --recover-signingresumes from the already-pushed digests without rebuilding or rerunning smoke, and accepts the matching release tag anywhere in currentmainhistory.
Commits
Section titled “Commits”feat(sandbox): sync Docker Hub overview(02b39dc)feat(sandbox): automate release changelogs(3fb9674)fix(sandbox): restore browser signing flow(5619a72)fix(sandbox): await signing confirmation safely(cbb51ee)fix(sandbox): gate keyless image signing(41d9f8a)
- Publish
full,codex,copilot,glm,opencode, andpiimages from one Dockerfile. Versioned and moving tags keep the existing unqualified image as the full variant while allowing deployments to select a smaller single-Agent runtime. - Keep Node.js and npm, Python and pip, Git, jq, AML, and the selected Agent runtime in every variant while removing general-purpose build and diagnostic packages that Agents do not require by default.
- Build and check every variant independently, run each Agent's live smoke against its pushed digest, sign every digest, and move stable aliases only after the complete matrix succeeds.
- Retain
ghcr.io/we-are-singular/aml-agent-sandbox:devas the mutable, unpruned full image built frommain. This is the first completed variant release after the interrupted 0.4.0 publication.
- Update the embedded AML runtime to CLI 0.3.2 and SDK 0.7.0.
- Bring per-Agent execution timeouts, structured-output recovery and nesting, callable JavaScript tools, explicit parallel boundaries, and application observability into image-hosted AML workflows through the updated SDK.
- Embed AML CLI 0.3.1 and SDK 0.6.0 with bare-import resolution that remains visible behind mounted Workspaces.
- Smoke deterministic AML execution from a clean Workspace without local dependencies.
- Publish stable Docker Hub images as the version and
latest, while GHCRdevtracks pushes tomain. - Rename the source and GitHub release lane to Sandbox while retaining the
aml-agent-sandboximage name.
- Establish a Debian Bookworm/glibc runtime with Node.js 26, npm, Python 3, Git, and common Agent shell/network utilities.
- Remove duplicated OpenCode payloads and Pi's unused optional interactive assets from the headless ACP runtime.
- Run as the unprivileged
amluser with writable runtime and Workspace directories. - Pin the Codex, GitHub Copilot, GLM, OpenCode, Pi, and ACP executable versions used by AML's smoke matrix.
- Add local non-root conformance checks and package/version verification.
- Validate all five AML Agent providers through the Docker Sandbox and Workspace contract.