From a8530ba4303dca128bfd75b8eb59e290d3517efb Mon Sep 17 00:00:00 2001 From: Neil Daquioag Date: Sun, 31 May 2026 10:28:11 +0800 Subject: [PATCH] chore: release v2.1.13-beta.1 (#491) Prerelease that ships the multi-workspace support for a single email from issue #491 (PR #493) to npm under the `beta` dist-tag: persist account workspaces, surface the active workspace in list/status, a new `workspace [workspace]` command to list and switch workspaces, and a `login --org ` flag to bind a specific workspace on demand. Also carries the pinned-account 503 diagnostic from v2.1.13-beta.0. Stable v2.1.13 will land once the issue #486 root cause is identified and patched. --- .codex-plugin/plugin.json | 2 +- README.md | 2 +- docs/README.md | 2 +- docs/releases/v2.1.13-beta.1.md | 71 +++++++++++++++++++++++++++++++++ package-lock.json | 4 +- package.json | 2 +- 6 files changed, 77 insertions(+), 6 deletions(-) create mode 100644 docs/releases/v2.1.13-beta.1.md diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index 9b5b4b90..55497dfc 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "codex-multi-auth", - "version": "2.1.13-beta.0", + "version": "2.1.13-beta.1", "description": "Install and operate codex-multi-auth for the official @openai/codex CLI with multi-account OAuth rotation, switching, health checks, and recovery tools.", "interface": { "composerIcon": "./assets/codex-multi-auth-icon.svg" diff --git a/README.md b/README.md index b746c2a9..28dece19 100644 --- a/README.md +++ b/README.md @@ -383,7 +383,7 @@ codex-multi-auth doctor --json ## Release Notes -- Current prerelease: [docs/releases/v2.1.13-beta.0.md](docs/releases/v2.1.13-beta.0.md) — install via `npm i -g codex-multi-auth@beta` +- Current prerelease: [docs/releases/v2.1.13-beta.1.md](docs/releases/v2.1.13-beta.1.md) — install via `npm i -g codex-multi-auth@beta` - Current stable: [docs/releases/v2.1.12.md](docs/releases/v2.1.12.md) - Previous stable: [docs/releases/v2.1.11.md](docs/releases/v2.1.11.md) - Earlier stable: [docs/releases/v2.1.10.md](docs/releases/v2.1.10.md) diff --git a/docs/README.md b/docs/README.md index 2e231bc0..65ac14bf 100644 --- a/docs/README.md +++ b/docs/README.md @@ -32,7 +32,7 @@ Public documentation for the `codex-multi-auth` Codex CLI multi-account OAuth ma | Document | Focus | | --- | --- | -| [releases/v2.1.13-beta.0.md](releases/v2.1.13-beta.0.md) | Current prerelease notes (install via `npm i -g codex-multi-auth@beta`) | +| [releases/v2.1.13-beta.1.md](releases/v2.1.13-beta.1.md) | Current prerelease notes (install via `npm i -g codex-multi-auth@beta`) | | [releases/v2.1.12.md](releases/v2.1.12.md) | Current stable release notes | | [releases/v2.1.11.md](releases/v2.1.11.md) | Prior stable release notes | | [releases/v2.1.10.md](releases/v2.1.10.md) | Earlier stable release notes | diff --git a/docs/releases/v2.1.13-beta.1.md b/docs/releases/v2.1.13-beta.1.md new file mode 100644 index 00000000..df01abe7 --- /dev/null +++ b/docs/releases/v2.1.13-beta.1.md @@ -0,0 +1,71 @@ +# v2.1.13-beta.1 + +Beta prerelease that adds multi-workspace support for a single email: one +OpenAI/Google account that belongs to more than one ChatGPT workspace (for +example a personal Plus workspace and a business/team workspace), each a distinct +quota pool keyed by its `org_id`. Ships the issue #491 work so users with such +accounts can register, distinguish, switch, and rotate between workspaces. + +This is a **prerelease** and also carries the pinned-account 503 diagnostic from +v2.1.13-beta.0. Stable `v2.1.13` will land once the issue #486 root cause is +identified and patched. + +## Install + +```bash +npm i -g codex-multi-auth@beta +``` + +## Accounts + +### Fixes + +- Account `workspaces` and `currentWorkspaceIndex` now survive a load + round-trip. The strict V3 storage schema (`AccountMetadataV3Schema`) did not + declare these fields, so Zod stripped them on every read; login captured the + workspaces and wrote them to disk, but the next load wiped them. This is the + root cause of workspace labels appearing empty after login and of two + same-email accounts being indistinguishable. +- `formatAccountLabel` surfaces the active workspace name, so same-email accounts + in different workspaces stay distinguishable, for example + `Account 1 ([Personal Plus], user@gmail.com, id:g-AAAA)`. All prior label + formats are preserved when no workspace is tracked. + +### Features + +- `status` / `list` now list every workspace beneath an account that tracks more + than one, marking the active workspace and flagging disabled ones. +- New `workspace [workspace]` command: with only an account index it + lists that account's workspaces; with a workspace index it sets the active + workspace and persists it. +- `login --org ` (and `--org=`) binds a login to a specific + workspace/org. It reuses the `CODEX_AUTH_ACCOUNT_ID` override that every login + resolver already honors, scoped to the invocation and restored afterward, so a + second workspace can be registered on demand instead of always resolving to the + default org. + +## Release Hygiene + +### Tests + +- Schema round-trip preservation and a workspace-load regression that locks the + fix in place. +- Label disambiguation coverage and `formatWorkspaceLines` output coverage + (active marker, disabled annotation, indentation). +- Nine `workspace`-command cases (list, switch, persistence, already-active + no-op, disabled rejection, out-of-range and non-numeric indices). +- `login --org` argument parsing and missing-value handling. + +## Known Gaps + +- The issue #486 503 root cause (doctor reports all green, runtime still returns + 503) is **not** fixed by this prerelease. +- Whether a real two-workspace login returns both orgs in one token or one at a + time is unconfirmed. Both paths are supported (the `workspace` command for the + former, `login --org` for the latter); a sanitized `accounts.json` from a real + two-workspace account would confirm which path users hit. + +## Refs + +- Issue #491 — `[feature] Support registering multiple workspaces for the same email` +- PR #493 — `feat: support multiple workspaces for the same email (#491)` diff --git a/package-lock.json b/package-lock.json index 061aa6d3..24bcd4d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-multi-auth", - "version": "2.1.13-beta.0", + "version": "2.1.13-beta.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-multi-auth", - "version": "2.1.13-beta.0", + "version": "2.1.13-beta.1", "bundleDependencies": [ "@codex-ai/plugin" ], diff --git a/package.json b/package.json index 783d2877..ee57c93c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "codex-multi-auth", - "version": "2.1.13-beta.0", + "version": "2.1.13-beta.1", "description": "Codex CLI multi-account OAuth manager with account switching, health checks, runtime rotation, diagnostics, and recovery tools for @openai/codex", "main": "./dist/index.js", "types": "./dist/index.d.ts",