Skip to content

Commit 3f335e4

Browse files
committed
Prepare v2.1.3 release
1 parent cccf16e commit 3f335e4

8 files changed

Lines changed: 89 additions & 11 deletions

File tree

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,29 @@ This repository's current stable release line is `2.x`.
77
Current stable release notes live in `docs/releases/`.
88
This top-level changelog preserves the foundational `0.x` milestones and points older iteration history to `docs/releases/legacy-pre-0.1-history.md`.
99

10+
## [2.1.3] - 2026-05-01
11+
12+
Patch release for Codex Desktop app-bind history visibility and merged-main
13+
runtime session repair. See [docs/releases/v2.1.3.md](docs/releases/v2.1.3.md)
14+
for full details.
15+
16+
### Fixed
17+
18+
- repaired successful wrapper-launched session index writes when official Codex
19+
emits rollout-store noise for missing thread entries
20+
- serialized concurrent local session-index repair using the existing
21+
shadow-home lock and atomic index replacement
22+
- kept failed forwarded runs from writing synthetic session-index entries
23+
- resolved app-bind status paths from the active status state before printing
24+
Desktop history and speed-control guidance
25+
26+
### Documentation
27+
28+
- documented the Codex Desktop history workaround:
29+
`codex auth rotation unbind-app` or `codex auth rotation disable`
30+
- documented Codex-owned model speed control through
31+
`model_reasoning_effort`
32+
1033
## [2.1.2] - 2026-04-30
1134

1235
Patch release for conflict-free installs alongside the official Codex CLI.

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,8 +359,9 @@ codex-multi-auth doctor --json
359359

360360
## Release Notes
361361

362-
- Current stable: [docs/releases/v2.1.2.md](docs/releases/v2.1.2.md)
363-
- Previous stable: [docs/releases/v2.1.1.md](docs/releases/v2.1.1.md)
362+
- Current stable: [docs/releases/v2.1.3.md](docs/releases/v2.1.3.md)
363+
- Previous stable: [docs/releases/v2.1.2.md](docs/releases/v2.1.2.md)
364+
- Earlier stable: [docs/releases/v2.1.1.md](docs/releases/v2.1.1.md)
364365
- Earlier stable: [docs/releases/v2.1.0.md](docs/releases/v2.1.0.md)
365366
- Earlier stable: [docs/releases/v1.3.2.md](docs/releases/v1.3.2.md)
366367
- Stable archive: [docs/releases/v1.3.1.md](docs/releases/v1.3.1.md)

docs/README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ Public documentation for `codex-multi-auth`.
3232

3333
| Document | Focus |
3434
| --- | --- |
35-
| [releases/v2.1.2.md](releases/v2.1.2.md) | Current stable release notes |
36-
| [releases/v2.1.1.md](releases/v2.1.1.md) | Prior stable release notes |
35+
| [releases/v2.1.3.md](releases/v2.1.3.md) | Current stable release notes |
36+
| [releases/v2.1.2.md](releases/v2.1.2.md) | Prior stable release notes |
37+
| [releases/v2.1.1.md](releases/v2.1.1.md) | Earlier stable release notes |
3738
| [releases/v2.1.0.md](releases/v2.1.0.md) | Earlier stable release notes |
3839
| [releases/v2.0.2.md](releases/v2.0.2.md) | Earlier stable release notes |
3940
| [releases/v2.0.1.md](releases/v2.0.1.md) | Earlier stable release notes |
@@ -83,8 +84,9 @@ Public documentation for `codex-multi-auth`.
8384
| [reference/storage-paths.md](reference/storage-paths.md) | Canonical and compatibility storage paths |
8485
| [reference/public-api.md](reference/public-api.md) | Public API stability and semver contract |
8586
| [reference/error-contracts.md](reference/error-contracts.md) | CLI, JSON, and helper error semantics |
86-
| [releases/v2.1.2.md](releases/v2.1.2.md) | Current stable release notes |
87-
| [releases/v2.1.1.md](releases/v2.1.1.md) | Prior stable release notes |
87+
| [releases/v2.1.3.md](releases/v2.1.3.md) | Current stable release notes |
88+
| [releases/v2.1.2.md](releases/v2.1.2.md) | Prior stable release notes |
89+
| [releases/v2.1.1.md](releases/v2.1.1.md) | Earlier stable release notes |
8890
| [releases/v2.1.0.md](releases/v2.1.0.md) | Earlier stable release notes |
8991
| [releases/v2.0.2.md](releases/v2.0.2.md) | Earlier stable release notes |
9092
| [releases/v2.0.1.md](releases/v2.0.1.md) | Earlier stable release notes |

docs/releases/v2.1.3.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Release v2.1.3
2+
3+
Release line: `stable`
4+
5+
This patch release ships the merged app-bind history repair from PR `#460` and
6+
documents the explicit Codex Desktop workaround when the app bind makes older
7+
local history appear hidden under the active provider.
8+
9+
## Scope
10+
11+
- Package version prepared for publish: `2.1.3`
12+
- Previous stable release: `v2.1.2`
13+
- Semver rationale: patch release for issue `#459`, covering successful
14+
session-index repair, app-bind status guidance, and Desktop history
15+
workaround documentation.
16+
17+
## Fixed
18+
19+
- Successful wrapper-launched Codex sessions now repair the local
20+
`session_index.jsonl` when official Codex reports the known
21+
`failed to record rollout items` thread-store noise.
22+
- Session-index repair requires real `session_meta` evidence and does not run
23+
for failed forwarded sessions.
24+
- Concurrent repair attempts are serialized through the existing shadow-home
25+
lock and replace the index atomically.
26+
- App-bind status warnings use the resolved active status path before printing
27+
history visibility and model speed guidance.
28+
29+
## Documentation
30+
31+
- Added the explicit Desktop history workaround:
32+
`codex auth rotation unbind-app` or `codex auth rotation disable`.
33+
- Clarified that model speed and reasoning control stay with Codex config or
34+
CLI flags through `model_reasoning_effort`.
35+
36+
## Validation
37+
38+
- `npm run lint`
39+
- `npm run typecheck`
40+
- `npm test -- test/index-retry.test.ts`
41+
- `npm test -- test/codex-manager-rotation-command.test.ts test/app-bind.test.ts test/codex-bin-wrapper.test.ts`
42+
- full `npm test`
43+
- `npm run build`
44+
- `npm run pack:check`
45+
- installed-session stress smoke on merged `main`
46+
47+
## Release Notes
48+
49+
- Previous release notes: `docs/releases/v2.1.2.md`

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "codex-multi-auth",
3-
"version": "2.1.2",
3+
"version": "2.1.3",
44
"description": "Multi-account OAuth manager and codex auth wrapper for the official @openai/codex CLI, with switching, health checks, and recovery tools",
55
"main": "./dist/index.js",
66
"types": "./dist/index.d.ts",

test/documentation.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,10 @@ function readPackageVersion(): string {
3737
let packageVersion = "";
3838
let currentStableReleaseDoc = "";
3939
// These stay manual so the docs portal keeps an intentional short stable-history window.
40-
const previousStableReleaseDoc = "docs/releases/v2.1.1.md";
41-
const earlierStableReleaseDoc = "docs/releases/v2.1.0.md";
40+
const previousStableReleaseDoc = "docs/releases/v2.1.2.md";
41+
const earlierStableReleaseDoc = "docs/releases/v2.1.1.md";
4242
const stableArchiveReleaseDocs = [
43+
"docs/releases/v2.1.0.md",
4344
"docs/releases/v2.0.2.md",
4445
"docs/releases/v2.0.1.md",
4546
"docs/releases/v2.0.0.md",

test/index-retry.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,7 @@ vi.mock("../lib/auto-update-checker.js", () => ({
419419

420420
describe("OpenAIAuthPlugin rate-limit retry", () => {
421421
const envKeys = [
422+
"CODEX_AUTH_FAILOVER_MODE",
422423
"CODEX_AUTH_RETRY_ALL_RATE_LIMITED",
423424
"CODEX_AUTH_RETRY_ALL_MAX_WAIT_MS",
424425
"CODEX_AUTH_RETRY_ALL_MAX_RETRIES",
@@ -442,6 +443,7 @@ describe("OpenAIAuthPlugin rate-limit retry", () => {
442443

443444
for (const key of envKeys) originalEnv[key] = process.env[key];
444445

446+
process.env.CODEX_AUTH_FAILOVER_MODE = "balanced";
445447
process.env.CODEX_AUTH_RETRY_ALL_RATE_LIMITED = "1";
446448
process.env.CODEX_AUTH_RETRY_ALL_MAX_WAIT_MS = "5000";
447449
process.env.CODEX_AUTH_RETRY_ALL_MAX_RETRIES = "1";

0 commit comments

Comments
 (0)