From e63bb65b364fe52b6ab857158b93b363530ad771 Mon Sep 17 00:00:00 2001 From: Codeman maintainer Date: Sun, 18 Oct 2026 10:03:55 +0200 Subject: [PATCH] chore: version packages Co-Authored-By: Claude Opus 5.5 (1M context) --- .changeset/4cecc61b.md | 5 ---- .changeset/antigravity-working-indicator.md | 5 ---- .changeset/case-path-nested-in-cases-dir.md | 5 ---- .changeset/cli-copilot.md | 5 ---- .changeset/cli-session-name-matches-tab.md | 5 ---- .claude-plugin/marketplace.json | 2 +- CHANGELOG.md | 29 +++++++++++++++++++++ CLAUDE.md | 2 +- config/mcp-registry/server.json | 4 +-- package-lock.json | 4 +-- package.json | 2 +- plugins/codeman/.claude-plugin/plugin.json | 2 +- src/web/public/whats-new.json | 18 ++++++------- 13 files changed, 46 insertions(+), 42 deletions(-) delete mode 100644 .changeset/4cecc61b.md delete mode 100644 .changeset/antigravity-working-indicator.md delete mode 100644 .changeset/case-path-nested-in-cases-dir.md delete mode 100644 .changeset/cli-copilot.md delete mode 100644 .changeset/cli-session-name-matches-tab.md diff --git a/.changeset/4cecc61b.md b/.changeset/4cecc61b.md deleted file mode 100644 index ee77bab1..00000000 --- a/.changeset/4cecc61b.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"aicodeman": patch ---- - -Header connection pill: the " · NB queued" suffix on `WS` now appears only after a backlog has stayed above the threshold for over a second, instead of flashing on every paste, IME commit or fast burst that ACKs a moment later. diff --git a/.changeset/antigravity-working-indicator.md b/.changeset/antigravity-working-indicator.md deleted file mode 100644 index bd43a7ee..00000000 --- a/.changeset/antigravity-working-indicator.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'aicodeman': patch ---- - -An Antigravity (`agy`) tab now shows that it is working. Its spinner animates a braille set Codeman did not recognise and the entry declared no work detection, so a running turn never marked the tab working and the activity indicator stayed off. The entry now declares what a turn draws (`⣯ Generating...`, `Working...`, `Loading...`) and its footer hint (`? for shortcuts`) as the idle mark, so a finished turn reads as idle again. A shell call waiting for approval keeps showing as working until you answer it. diff --git a/.changeset/case-path-nested-in-cases-dir.md b/.changeset/case-path-nested-in-cases-dir.md deleted file mode 100644 index 01e557d9..00000000 --- a/.changeset/case-path-nested-in-cases-dir.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'aicodeman': patch ---- - -Create New → custom folder no longer refuses every folder below the cases folder. Only the cases folder itself and its direct children are refused, because those are the only ones Codeman lists as local cases (a second registration would show them twice). With the cases folder set to a broad root such as `/mnt/user/Scripts` (`CODEMAN_CASES_PATH`), a folder like `/mnt/user/Scripts/GitHub/me/new-project` can now be created and linked. The refusal message now names the cases folder. diff --git a/.changeset/cli-copilot.md b/.changeset/cli-copilot.md deleted file mode 100644 index 9a36cd35..00000000 --- a/.changeset/cli-copilot.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'aicodeman': minor ---- - -GitHub Copilot CLI is a run mode. It appears in the Run menu, the welcome screen and the cron agent list once `copilot` is installed, runs in tmux like the other agent CLIs, reports working and idle from its `Working` footer, shows the model it reads off its footer on the tab, and is listed in CLI management with an install command (`npm install -g @github/copilot`). It takes the same launch options as the other agent CLIs: a `copilotConfig` on the session create and quick-start bodies with `model` (`--model`), `resumeSessionId` (`--resume`), `continueSession` (`--continue`, which Past Sessions sends) and `allowAll` (`--yolo`, which the Run button sends and which is clamped off for non-granted multi-user owners), a tab name you set yourself as `--name`, Custom Model Endpoints through Copilot's BYOK variables, MCP sync of its `mcp-config.json`, and a `GET /api/copilot/status` probe. A plain drag selects text (Auto Copy works) while the wheel and phone swipes scroll its transcript, `codeman agent spawn` waits for its composer, and `codeman agent read` returns its last answer. diff --git a/.changeset/cli-session-name-matches-tab.md b/.changeset/cli-session-name-matches-tab.md deleted file mode 100644 index 66473bf7..00000000 --- a/.changeset/cli-session-name-matches-tab.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'aicodeman': minor ---- - -New App Settings option, "Pin tab names on the CLI" (off by default): launch every Claude session with `--name `, not only the ones you renamed, so Claude Code's prompt-box label, `/resume` entry and remote session list read the same as the tab instead of Claude's own generated title. With it off nothing changes. The cost: Claude stops generating its own titles for those sessions, and a rename in Codeman holds only until the next turn (an auto-name reaches the CLI at its next spawn). The setting is read at each session start and respawn, so a toggle applies without a server restart. diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 539df457..94fc1523 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -10,7 +10,7 @@ "name": "codeman", "source": "./plugins/codeman", "description": "Drive Codeman from inside a Claude Code session: spawn worker sessions, prompt them, wait for them, read their answers, clean up. Acts only inside a Codeman-managed session.", - "version": "1.42.0", + "version": "1.43.0", "author": { "name": "Ark0N", "url": "https://github.com/Ark0N" diff --git a/CHANGELOG.md b/CHANGELOG.md index a83158a0..a8097581 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,34 @@ # aicodeman +## 1.43.0 + +### Minor Changes + +- ### Thanks + - @opticon454 for five PRs: GitHub Copilot CLI as a run mode (#592), an Antigravity tab that shows when it is working (#648, reported in #639), a WS pill that no longer flickers on every paste (#647, reported in #638), custom-folder cases anywhere below a broad cases folder (#567, reported in #637), and the opt-in "Pin tab names on the CLI" setting (#646). Also for filing #637 to #641 with the cause already worked out, and for measuring Copilot and `agy` live instead of guessing. + - @JDProfresh for four follow-ups to the document uploads in #621: a mixed pick, drop or paste that says how many files it skipped (#651), a text upload refused as "not UTF-8" instead of a type mismatch (#652), a parity test that keeps the browser's copies of the document list honest (#653), and link taps on a phone that land on the right row after a tab switch (#654). + - @irisitymichaelgrundberg for clickable `.diff` and `.patch` paths (#644). + + **Security notices for the CLIs you run.** Codeman can now warn you about a security incident in an agent CLI it runs, and it does so only on machines where that CLI is installed. After an update the warning sits inside the "Codeman updated" note, with a button to the vendor's own notice next to **See what's new**; on a new install, or if you missed it, it comes as a card of its own. It stays until you close it or open the link, and expires on its own. The first one is about OpenCode: on 17 October OpenCode reported unauthorized access to a legacy system, and provider API keys (OpenAI, Anthropic and others) saved in some OpenCode Console workspaces may have been exposed. If OpenCode emailed you about it, revoke and replace those keys and check their recent usage. If you got no email, OpenCode says you were not affected. + + **GitHub Copilot CLI is a run mode (#592).** Install `copilot` (`npm install -g @github/copilot`) and it appears in the Run menu, on the welcome screen, in cron and in CLI management. It runs in tmux like the other agent CLIs, shows working and idle and the model it reads off its own footer, takes the usual launch options (`copilotConfig`: model, resume, continue, and `allowAll`, which is clamped off for non-granted multi-user owners), works with Custom Model Endpoints through Copilot's BYOK variables, joins MCP sync, and works with `codeman agent spawn`, `send` and `read`. A plain drag selects text, so Auto Copy works, while the wheel and phone swipes scroll its transcript. Copilot's folder-trust dialog still needs one Enter the first time a folder is used. + + **Pin tab names on the CLI (#646, optional).** A new App Settings switch, off by default, launches every Claude session with `--name `, not only the ones you renamed, so Claude Code's prompt-box label, `/resume` entry and remote session list match your tabs. The cost, which the setting spells out: Claude stops generating its own titles for those sessions, and a rename in Codeman holds only until the next turn. It applies from the next session start or respawn. + + **Antigravity tabs show when they are working (#648).** An `agy` turn now marks its tab working and a finished turn reads as idle again. A shell command waiting for your approval keeps showing as working until you answer it. + + **Fixes.** + - **Custom-folder cases below the cases folder (#567).** Create New with a custom folder refused every folder anywhere below the cases folder. Now only the cases folder itself and its direct children are refused, since those are the only ones listed as local cases, so a broad `CODEMAN_CASES_PATH` such as `/mnt/user/Scripts` no longer blocks the whole tree. The refusal now says which of the two it hit. + - **A steady WS pill (#647).** The ` · NB queued` suffix appears only once a backlog has lasted over a second, instead of flashing on every paste, IME commit or fast burst. + - **Clickable diff and patch files (#644).** A `.diff` or `.patch` path is now a link in the terminal and the response viewer, so an agent's review diff opens in one click. + - **Mixed uploads say what they skipped (#651).** A pick, drop or paste with some unsupported files attaches the rest and says how many it skipped; the Compose and paste-dialog pickers now report an unsupported pick instead of doing nothing. + - **"Not UTF-8" for refused text uploads (#652).** A text file that fails the UTF-8 check is told it is not UTF-8 (or UTF-16, when it starts with that byte order mark) and to save it as UTF-8, instead of reading like a corrupt file. + - **Link taps on a phone after a tab switch (#654).** With the view parked above the bottom, a URL typed into the prompt no longer opens on tap, and a link in the scrollback opens on its own row. + + **Fixes applied while landing.** The Copilot run mode clamps every `COPILOT_*` variable that bypasses approval, runs code or moves the token for non-granted multi-user owners, keeps a divider row inside an answer as part of what `codeman agent read` returns, and its Docker docs no longer promise a token you cannot set there (#592). Antigravity's working line only matches at the start of a row, so an answer that quotes the spinner no longer holds the tab busy (#648). The custom-folder refusal names the cases folder itself and a direct child separately (#567). The WS pill reads its queue once per update (#647). The "Pin tab names" setting is translated for zh-CN and listed in the Settings Reference (#646). JSON files the page fetches at runtime (the update note, the security notices) are now served `no-cache` instead of cached for a year, so a later notice always reaches a browser that already has the old copy. + + **Docs and tests.** New route tests for nested custom-folder cases and for Copilot's screen-read answers, a wrapped-composer touch test, stricter upload parity checks, and docs that move Antigravity and Copilot into the screen-checked idle group. + ## 1.42.0 ### Minor Changes diff --git a/CLAUDE.md b/CLAUDE.md index 454a77b1..bb78756b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -52,7 +52,7 @@ Uses [Semantic Versioning](https://semver.org/) (`MAJOR.MINOR.PATCH`) via `@chan When the user says **COM** (`COM` = patch, `COM minor`, `COM major`): **Read [`docs/releasing.md`](docs/releasing.md) and follow every step in order**; never improvise a release from memory. It covers the changeset, `npm run version-packages`, the `**Version**` line below, the branch check and explicit-path commit, deploy, the getcodeman.com badge, watching BOTH CI workflows, the MCP registry publish, and the Discussions announcement. -**Version**: 1.42.0 (must match `package.json`) +**Version**: 1.43.0 (must match `package.json`) ## Project Overview diff --git a/config/mcp-registry/server.json b/config/mcp-registry/server.json index 6f16693f..85e3d416 100644 --- a/config/mcp-registry/server.json +++ b/config/mcp-registry/server.json @@ -3,7 +3,7 @@ "name": "io.github.Ark0N/codeman", "title": "Codeman", "description": "Start, prompt and read AI coding agent sessions (Claude Code, Codex, Gemini CLI and more) in Codeman", - "version": "1.42.0", + "version": "1.43.0", "websiteUrl": "https://getcodeman.com", "repository": { "url": "https://github.com/Ark0N/Codeman", @@ -13,7 +13,7 @@ { "registryType": "npm", "identifier": "aicodeman", - "version": "1.42.0", + "version": "1.43.0", "transport": { "type": "stdio" }, diff --git a/package-lock.json b/package-lock.json index 9c01f40e..48f7b36b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "aicodeman", - "version": "1.42.0", + "version": "1.43.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "aicodeman", - "version": "1.42.0", + "version": "1.43.0", "hasInstallScript": true, "license": "MIT", "workspaces": [ diff --git a/package.json b/package.json index 9578f80c..987e7a44 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aicodeman", - "version": "1.42.0", + "version": "1.43.0", "description": "Self-hosted mission control for AI coding agents: run Claude Code, Codex, OpenCode, Gemini, DeepSeek, Grok and more 24/7 in tmux, from any device.", "mcpName": "io.github.Ark0N/codeman", "type": "module", diff --git a/plugins/codeman/.claude-plugin/plugin.json b/plugins/codeman/.claude-plugin/plugin.json index 88229e26..f5a870c6 100644 --- a/plugins/codeman/.claude-plugin/plugin.json +++ b/plugins/codeman/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "codeman", "description": "Drive Codeman, the self-hosted session manager for AI coding agents, from inside a Claude Code session: spawn worker sessions, prompt them, wait for them, read their answers, clean up. Acts only inside a Codeman-managed session.", - "version": "1.42.0", + "version": "1.43.0", "author": { "name": "Ark0N", "url": "https://github.com/Ark0N" diff --git a/src/web/public/whats-new.json b/src/web/public/whats-new.json index cfc52d74..3c5c2f80 100644 --- a/src/web/public/whats-new.json +++ b/src/web/public/whats-new.json @@ -1,13 +1,13 @@ { - "version": "1.42.0", + "version": "1.43.0", "highlights": [ - "Git worktrees for a case (#625)", - "Codex sessions turn red when Codex asks you something (#624)", - "Prompt uploads take documents (#621)", - "Previous and Next Session are rebindable (#617)", - "A note after each update (#618)", - "Multi-user mode: only admins change server-wide settings", - "Codex submits long prompts (#628)", - "New Claude sessions in an untrusted folder (#634, #635)" + "Security notices for the CLIs you run", + "GitHub Copilot CLI is a run mode (#592)", + "Pin tab names on the CLI (#646, optional)", + "Antigravity tabs show when they are working (#648)", + "Custom-folder cases below the cases folder (#567)", + "A steady WS pill (#647)", + "Clickable diff and patch files (#644)", + "Mixed uploads say what they skipped (#651)" ] }