diff --git a/CHANGELOG.md b/CHANGELOG.md index 769e120..5be9228 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ product overview. ## Unreleased +- Update the pinned Claude Code and Codex CLIs to 2.1.299 and 0.162.1. + - Google Chat card buttons now work: a Chat app connected through a Pub/Sub topic never receives button clicks (Google delivers them only to an HTTP endpoint connection), so Files / Variables / Settings and every other card button failed with "unable to process your request". ChannelGate diff --git a/containers/versions.json b/containers/versions.json index b749f78..0c2e8b0 100644 --- a/containers/versions.json +++ b/containers/versions.json @@ -3,8 +3,8 @@ "comment": "Pinned toolchain for the channel image. Keep `claude` and `codex` at the versions the gateway host runs, so a channel behaves identically on either runtime backend; bump deliberately, rebuild, and let the image-id fingerprint recreate the containers. `imageSpecVersion` is the image CONTRACT (paths, PATH, baked-in packages), not the pins: bump it when the image gains or moves something the daemon relies on, keep it equal to IMAGE_SPEC_VERSION in src/runtimes/container/image-paths.js (a test pins them together), and the daemon will tell an operator at boot when the built image is older.", "base": "node:22-bookworm-slim", "npm": { - "@anthropic-ai/claude-code": "2.1.289", - "@openai/codex": "0.160.1", + "@anthropic-ai/claude-code": "2.1.299", + "@openai/codex": "0.162.1", "mcp-remote": "0.14.3", "vercel": "62.4.0", "supabase": "2.119.0", diff --git a/docs/COMPATIBILITY.md b/docs/COMPATIBILITY.md index 93f3b75..b79361f 100644 --- a/docs/COMPATIBILITY.md +++ b/docs/COMPATIBILITY.md @@ -28,8 +28,8 @@ definitions are in `TEST-PLAN.md` and `docs/RELEASE-ACCEPTANCE.md`. | --- | --- | --- | | Operating system | Linux (systemd) with rootless Podman; Ubuntu 24.04 tested | CI on Ubuntu | | Node.js | 22.13 minimum; 24 LTS. SQLite FTS5 (channel-memory search index) is present from the later 22.x builds and 24; on a build without it the daemon boots and memory search uses a plain scan | Full matrix CI | -| Claude Code | Pinned nightly target `2.1.289` (official installer) | Real CLI surface + stub transport | -| Codex CLI | Pinned nightly target `0.160.1`. The container login relay relies on three behaviors verified on 0.156.1 (2026-09-26 spike, `TEST-PLAN.md` P4): a turn runs on an `auth.json` with an access token and an empty refresh token; a valid access token is not refreshed because of `last_refresh` age; `login status` and a turn accept a JWT whose signature segment is a placeholder. `codex exec` needs a closed stdin. Re-run the spike on a Codex bump | Real CLI surface + stub transport; the relay spike before promotion | +| Claude Code | Pinned nightly target `2.1.299` (official installer) | Real CLI surface + stub transport | +| Codex CLI | Pinned nightly target `0.162.1`. The container login relay relies on three behaviors verified on 0.156.1 (2026-09-26 spike, `TEST-PLAN.md` P4): a turn runs on an `auth.json` with an access token and an empty refresh token; a valid access token is not refreshed because of `last_refresh` age; `login status` and a turn accept a JWT whose signature segment is a placeholder. `codex exec` needs a closed stdin. Re-run the spike on a Codex bump | Real CLI surface + stub transport; the relay spike before promotion | | SQLite | Built-in `node:sqlite` | Migrations + backup/restore quick-check | | VS Code (editor attach) | Any client. Servers for `1.139.0` and `1.138.0` are shared in the channel image (image spec 1.5.0); another version downloads its own into the channel volume as before | Live image test (`npm run test:live-container`) + a real Remote-SSH / attach connection before promotion | | Slack | Socket Mode Slack app manifest in repository | Real workspace canary before promotion |