diff --git a/.vscodeignore b/.vscodeignore index 65f44d1..b5ead5c 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -16,7 +16,9 @@ CLAUDE.md AGENTS.md CONTRIBUTING.md SECURITY.md -# Local release working notes (untracked): vsce honours .vscodeignore only, -# so it must be excluded here or it ships inside the published VSIX. +# Local working notes and scratch checkouts (untracked): vsce honours .vscodeignore only — +# a git exclude does NOT keep them out — so they must be listed here or they ship inside +# the published VSIX. `npx vsce ls` before every release is what catches a new one. RELEASE_PLAN.md +.tmp/** *.vsix diff --git a/CHANGELOG.md b/CHANGELOG.md index c2ab1dd..b2762fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,38 @@ 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.4.0] - 2026-08-05 + +Sandboxes are now named after what they are, the views follow the config file instead of a +snapshot of it, and a sandbox name that the Docker Sandboxes runtime refuses to release is +never handed out again. + +### Added + +- **Sandboxes are named after their title.** A new sandbox takes its name from the title + you type — *Backend API (v2)* becomes `backend-api-v2` — instead of a counter on the + agent name (`claude`, `claude-2`, …). An empty title still falls back to the agent name. + The name is fixed at creation: renaming the title afterwards is safe, as before, and + never touches the sandbox, its Dockerfile, or its image. +- **The views follow `.sandbox/config.yaml`.** Editing the file — by hand, from another + window, or through a `git pull` — refreshes the Sandboxes view and the status bar right + away. Renaming a sandbox and connecting immediately now uses the new name instead of + quietly acting on the old one. + +### Changed + +- **A name the runtime will not release is remembered and skipped.** When creating a + sandbox fails because its name is still held inside the Docker Sandboxes runtime — a + known upstream issue with no released fix — that name is recorded for this working copy, + and no new sandbox is given it again. Previously a name freed by a rename or a removal + was handed straight to the next sandbox, walking back into the same failure. The record + stays on your machine, holds names only, and is cleared by `sbx reset`. +- **A new sandbox gets its own Dockerfile by default.** Because the default Dockerfile name + follows the sandbox name, two sandboxes on the same agent no longer share one generated + `claude.Dockerfile` by accident. Sharing is still available — type the same file name in + both — and is now something you choose rather than something that happens. +- The extension is no longer marked as a preview. + ## [0.3.0] - 2026-07-29 Long operations — image builds, sandbox creation — used to run behind a notification that @@ -121,5 +153,6 @@ 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.4.0]: https://github.com/ainova-systems/code-sandbox-console/releases/tag/v0.4.0 [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 diff --git a/package-lock.json b/package-lock.json index 01af269..94586e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "sandbox-console", - "version": "0.3.0", + "version": "0.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "sandbox-console", - "version": "0.3.0", + "version": "0.4.0", "license": "MIT", "dependencies": { "yaml": "^2.9.0" @@ -1404,9 +1404,9 @@ "license": "BSD-2-Clause" }, "node_modules/brace-expansion": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.8.tgz", - "integrity": "sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==", + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", + "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", "dev": true, "license": "MIT", "dependencies": { @@ -2067,9 +2067,9 @@ } }, "node_modules/fast-uri": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.4.tgz", - "integrity": "sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz", + "integrity": "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==", "dev": true, "funding": [ { diff --git a/package.json b/package.json index fec6a97..63a114d 100644 --- a/package.json +++ b/package.json @@ -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.3.0", + "version": "0.4.0", "publisher": "ainova-systems", "license": "MIT", "author": { @@ -40,7 +40,6 @@ "color": "#1F2430", "theme": "dark" }, - "preview": true, "pricing": "Free", "main": "./dist/extension.js", "capabilities": {