Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,48 @@ All notable changes to this extension are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.3.0] - 2026-07-29

Long operations — image builds, sandbox creation — used to run behind a notification that
never changed a word, sometimes for minutes. This release makes them visible, stoppable,
and impossible to start twice by accident.

### Added

- **Operation log.** A `Sandbox Console` output panel shows every command the extension
runs, streamed line by line as it happens, with its exit code and how long it took.
Open it from `Sandbox: Show Log`, from the Sandboxes view menu, or from the button that
now appears on error notifications. Credential values never appear in it.
- **Live progress.** The notification for a build or a create reports what the command is
doing right now — the current build step, and the slow, quiet stages that move an image
into the sandbox runtime — instead of standing still.
- **Cancel.** Long operations can be stopped from their notification. An image build stops
immediately. Cancelling a sandbox creation waits for it to finish and then removes the
sandbox, so it can take as long as the creation itself. That wait is deliberate:
interrupting the sandbox tool partway can leave a sandbox name permanently unusable.

### Changed

- **One operation per sandbox at a time.** Acting on a sandbox that is already busy now
tells you what is running instead of starting a second operation beside it. Different
sandboxes still run in parallel.
- **A busy sandbox looks busy.** Its item in the Sandboxes view shows a spinner and the
running operation, and its actions are hidden until it finishes.
- **The New/Edit form shows that it is working.** Save disables itself and the rest of the
form for the duration, and is handed back if the save fails.
- **A clearer error when a sandbox name is stuck.** If creation fails because the name is
still held inside the sandbox runtime — a known Docker Sandboxes issue with no released
fix — the message now explains what happened and how to get past it, instead of showing
a raw daemon error.

### Fixed

- **Rebuild could run twice at once.** Starting it from both the command palette and the
Sandboxes view, or clicking again during a long build, started two builds against the
same sandbox, which then raced each other over the same image and instance.
- **Background checks no longer fail silently.** A failed sandbox or template listing used
to degrade quietly to "nothing found"; it is now recorded in the operation log.

## [0.2.0] - 2026-07-28

First public release. Run AI coding agents in isolated, persistent Docker Sandboxes and
Expand Down Expand Up @@ -79,4 +121,5 @@ Terminal-first commands over the `sbx` CLI (create, attach, stop, shell) with st
discovery of existing sandboxes and per-repo sandbox identity in a single local file.
Superseded by 0.2.0 and listed here only for history.

[0.3.0]: https://github.com/ainova-systems/code-sandbox-console/releases/tag/v0.3.0
[0.2.0]: https://github.com/ainova-systems/code-sandbox-console/releases/tag/v0.2.0
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "sandbox-console",
"displayName": "Sandbox Console",
"description": "Run AI coding agents (Claude Code, Codex, Gemini, …) in isolated, persistent Docker Sandboxes (sbx microVMs) — terminal-first, from a Sandbox Explorer, with no manual container management.",
"version": "0.2.0",
"version": "0.3.0",
"publisher": "ainova-systems",
"license": "MIT",
"author": {
Expand Down
7 changes: 4 additions & 3 deletions src/sbx.ts
Original file line number Diff line number Diff line change
Expand Up @@ -196,9 +196,10 @@ function explainCreateFailure(name: string, message: string): string {
return (
`${message}\n\nThe sandbox name "${name}" is still claimed inside the sbx runtime by ` +
"leaked state — a known sbx bug (docker/sbx-releases#129) with no released fix. The " +
"name cannot be reused: change this sandbox's `key` in .sandbox/config.yaml to create " +
"it under a new name, or run `sbx reset` to clear all sbx state (this destroys every " +
"sandbox on the machine)."
"name cannot be reused: give this sandbox a new, distinctive `key` in " +
".sandbox/config.yaml — not a bare agent name like `claude`, because new sandboxes " +
"take those and would land on this same name again. Or run `sbx reset` to clear all " +
"sbx state (this destroys every sandbox on the machine)."
);
}

Expand Down