···2233All notable changes to this project will be documented in this file.
4455+## [0.3.4] - 2026-03-27
66+77+### Added
88+99+- **Nanoclaw sandbox provider**: New Cloudflare-based `nanoclaw` sandbox deployment with its own Dockerfile, Wrangler config, and banner.
1010+- **Volume support for Sprites, Daytona, Deno, and Vercel providers**: All major providers now support volume mounting alongside the existing Cloudflare provider.
1111+- **`@anthropic-ai/claude-code` in Dockerfiles**: Claude Code is now pre-installed in sandbox images.
1212+- **`keepAlive` option**: Sandbox APIs now accept a `keepAlive` option to control sandbox lifecycle.
1313+- **Sandbox reuse by repo and DID**: When a matching sandbox (same repo + DID) already exists, it is returned instead of creating a new one.
1414+- **GitLab repo expansion**: CLI and web now support GitLab repository URLs in addition to GitHub and Tangled.
1515+- **`/new` page in web**: New page for creating sandboxes directly from a repository URL.
1616+- **"Open in Pocketenv" badge**: Added SVG badge and README integration so projects can link directly to Pocketenv.
1717+- **GitHub downloads badge**: README now shows a download count badge.
1818+- **VS Code expose button in web UI**: Sandbox detail page now has a button to expose VS Code and open the preview URL.
1919+- **`folder` param for Cloudflare preview URL**: Preview URL generation now accepts an optional folder parameter.
2020+2121+### Changed
2222+2323+- **Sandbox creation flow**: Sandbox is now started on create; `sandboxId`, `status`, and `startedAt` are set on start. The `sandboxId` is no longer cleared on stop.
2424+- **Async repo cloning**: Repository cloning on sandbox creation is now done asynchronously, unblocking the terminal session sooner.
2525+- **Sandbox configs run in background on start**: Provider config steps are now non-blocking.
2626+- **Sandbox POST moved outside DB transaction**: Improves reliability of sandbox creation under load.
2727+- **s3fs options**: `compat_dir` option enabled; `s3fs` is now exec'd directly for volume mounting.
2828+- **Sandbox instance type**: Upgraded to `standard-3` for improved performance.
2929+- **Zerobrew setup**: Zerobrew binaries moved to root `~/.local/bin` and installed consistently across sandbox, Daytona, and Cloudflare Dockerfiles. Zerobrew installer script removed in favor of direct binary install.
3030+- **`node:lts-trixie-slim` base image**: Codex and related sandbox images now use `node:lts-trixie-slim`.
3131+- **`coder` user added to Codex and CF sandbox Dockerfiles**.
3232+- **oh-my-posh install combined** with Node version bump to reduce image layers.
3333+- **Stale sandbox port cleanup**: `sandboxPorts` records are now deleted for stale sandboxes.
3434+- **`exposeVscode` allows unauthenticated queries** for public (userId-less) sandboxes; AT Protocol agent creation is deferred until the sandbox has an `at://` URI.
3535+- **Sandbox filtered by base segment** when looking up existing sandboxes.
3636+- **Sandbox start retries removed**: Retry wrappers and readiness waits have been simplified; sandbox is started once before opening the terminal session.
3737+3838+### Fixed
3939+4040+- **Terminal rendering issue**: Fixed a CLI rendering bug affecting terminal output (theme.ts).
4141+- **Volume not correctly mounted on start**: Fixed volume mount logic when starting an existing sandbox.
4242+- **Sandbox port upsert**: Port record is now inserted if an update hits no rows.
4343+- **Sandbox port deduplication**: Stale sandbox ports are cleaned up to avoid duplicate entries.
4444+4545+---
4646+547## [0.3.3] - 2026-03-23
648749### Added