Published to npm as @bitkyc08/opencodex@2.32.0 with dist-tag latest.
New Features
- Resolve tool-choice catalogs in linear time (#2335)
- Add an opt-in Windows desktop-app restart for a stale model picker (#2382)
- Answer today's cost from the CLI in one command (#2396)
- Add fixture-backed OpenAI contract manifest (#2439)
- Surface per-target quota state in the combo workspace (#2454)
Bug Fixes
- Accept Codex parallel tool permission (#2309)
- Preserve streaming thought-signature order (#2339)
- Scope reasoning replay by conversation and remember proven blob rejections (#2313)
- Repair integral floats in native u64 tool fields (#2371)
- Support per-effort field omission sentinel (omit) (#2361)
- Exclude uncallable OpenCode Go and Zen models (#2359)
- Repair apply_patch envelopes (#2310)
- Avoid TOML marker regex backtracking (#2388)
- Stop the sidecar copy collapse and align both cards on one control line (#2397)
- Map compact substitution failures to 401 (#2390)
- Start owned lifecycle after ownership reprobe (#2352)
- Bound incremental append reads (#2395)
- Bound upstream error body reads (#2398)
- Enforce explicit empty tool catalogs (#2370)
- Recover npm 12 self-updates (#2383)
- Teach nested apply_patch delimiters in code mode (#2368)
- Tolerate derived model metadata drift (#2393)
- Stop stripping web_search fields xAI accepts (#2422)
- Retain canonical interception for alias choices (#2417)
- Preserve routed history provenance on restore (#2424)
- Reject persisted rows without provider labels (#2413)
- Reject non-object custom-model bodies (#2408)
- Align minimal effort sizing with low (#2402)
- Keep caller cancellations account-neutral (#2403)
- Fail over zero-output stream failures, recording each terminal once (#2449)
- Scope wait integer coercion to the bare wait tool (#2448)
- Resolve the effort ladder the way the runtime resolves it (#2469)
- Coerce wait.yield_time_ms as an integral float (#2453)
Chores
- Retarget the Bun 1.4 memory stack onto dev with blockers closed (#2376)
- Follow #2398 on the oversized pool-retry 400 body (dev is red) (#2404)
- Centralize history manifest contract (#2437)
- Isolate fetch helper imports (#2435)
- Extract proxy process-state ownership (#2387)
- Extract provider validation boundary (#2380)
- Centralize Codex auth-context error mapping (#2450)
- Remove WP13 CPU starvation and skip one platform-independent restore scenario (#2452)
Other Changes
- Devlog: backlog disposition program roadmap (work-phase 0, docs-only) (#2369)
- Devlog: work-phase records for the backlog disposition program (#2372)
- Devlog: record the late #2362 review and what retirement cost (#2374)
- Devlog: Bun 1.4 follow-up memory roadmap (research + decade docs) (#2301)
- Devlog: work-phase 7 record — Bun 1.4 stack retargeted, not abandoned (#2377)
- Devlog: work-phase 2 record — one merged, three held on reproduced defects (#2381)
- Devlog: work-phase 4 record — #2292, and the audit that arrived after retirement (#2384)
- Devlog: WP5 security audit — native main refresh needs a decision before code (#2385)
- Devlog: WP6 — verify and record the #1049 deferral (#2386)
- Devlog: WP8 execution and the program's closing reconciliation (#2391)
- Devlog: owner backlog closeout — inventory and disposition roadmap (#2444)
- Devlog: record the eleven reviewer verdict blocks verbatim (wp0) (#2445)
- Devlog: wp1-wp5 disposition records for the owner backlog closeout (#2446)
- Devlog: owner backlog closeout — wp6-wp11 records and closing reconciliation (#2456)
- Devlog: model/provider UX design unit — aliases, new-models-off, default preset (#2463 #2464 #2465) (#2466)
- [WRONG BRANCH] release: promote dev to main (v2.32.0) (#2479)
Changelog
Full Changelog: v2.31.0...v2.32.0
- #2301 devlog: Bun 1.4 follow-up memory roadmap (research + decade docs) @lidge-jun
- #2309 fix(kiro): accept Codex parallel tool permission @Ingwannu
- #2310 fix(responses): repair apply_patch envelopes @goodwilliam0126
- #2313 fix(responses): scope reasoning replay by conversation and remember proven blob rejections @olddonkey
- #2335 perf(tools): resolve tool-choice catalogs in linear time @luvs01
- #2339 fix(google): preserve streaming thought-signature order @luvs01
- #2352 fix(native): start owned lifecycle after ownership reprobe @luvs01
- #2359 fix(catalog): exclude uncallable OpenCode Go and Zen models @chilung-cgu
- #2361 fix(reasoning): support per-effort field omission sentinel (omit) @chilung-cgu
- #2368 fix(tools): teach nested apply_patch delimiters in code mode @ArcSolver
- #2369 devlog: backlog disposition program roadmap (work-phase 0, docs-only) @lidge-jun
- #2370 fix(responses): enforce explicit empty tool catalogs @luvs01
- #2371 fix(tools): repair integral floats in native u64 tool fields @lidge-jun
- #2372 devlog: work-phase records for the backlog disposition program @lidge-jun
- #2374 devlog: record the late #2362 review and what retirement cost @lidge-jun
- #2376 test(scripts): retarget the Bun 1.4 memory stack onto dev with blockers closed @lidge-jun
- #2377 devlog: work-phase 7 record — Bun 1.4 stack retargeted, not abandoned @lidge-jun
- #2380 refactor(config): extract provider validation boundary @Ingwannu
- #2381 devlog: work-phase 2 record — one merged, three held on reproduced defects @lidge-jun
- #2382 feat(cli): add an opt-in Windows desktop-app restart for a stale model picker @lidge-jun
- #2383 fix(update): recover npm 12 self-updates @n3wr1ch
- #2384 devlog: work-phase 4 record — #2292, and the audit that arrived after retirement @lidge-jun
- #2385 devlog: WP5 security audit — native main refresh needs a decision before code @lidge-jun
- #2386 devlog: WP6 — verify and record the #1049 deferral @lidge-jun
- #2387 refactor(config): extract proxy process-state ownership @Ingwannu
- #2388 fix(codex): avoid TOML marker regex backtracking @luvs01
- #2390 fix(auth): map compact substitution failures to 401 @luvs01
- #2391 devlog: WP8 execution and the program's closing reconciliation @lidge-jun
- #2393 fix(zcode): tolerate derived model metadata drift @Ingwannu
- #2395 fix(usage): bound incremental append reads @luvs01
- #2396 feat(usage): answer today's cost from the CLI in one command @lidge-jun
- #2397 fix(gui): stop the sidecar copy collapse and align both cards on one control line @lidge-jun
- #2398 fix(responses): bound upstream error body reads @luvs01
- #2402 fix(anthropic): align minimal effort sizing with low @luvs01
- #2403 fix(sidecars): keep caller cancellations account-neutral @luvs01
- #2404 test(codex): follow #2398 on the oversized pool-retry 400 body (dev is red) @lidge-jun
- #2408 fix(management): reject non-object custom-model bodies @luvs01
- #2413 fix(usage): reject persisted rows without provider labels @luvs01
- #2417 fix(images): retain canonical interception for alias choices @luvs01
- #2422 fix(xai): stop stripping web_search fields xAI accepts @olddonkey
- #2424 fix(codex): preserve routed history provenance on restore @luvs01
- #2435 refactor(responses): isolate fetch helper imports @Ingwannu
- #2437 refactor(codex): centralize history manifest contract @Ingwannu
- #2439 feat(compatibility): add fixture-backed OpenAI contract manifest @Ingwannu
- #2444 devlog: owner backlog closeout — inventory and disposition roadmap @lidge-jun
- #2445 devlog: record the eleven reviewer verdict blocks verbatim (wp0) @lidge-jun
- #2446 devlog: wp1-wp5 disposition records for the owner backlog closeout @lidge-jun
- #2448 fix(tools): scope wait integer coercion to the bare wait tool @lidge-jun
- #2449 fix(combos): fail over zero-output stream failures, recording each terminal once @lidge-jun
- #2450 refactor(responses): centralize Codex auth-context error mapping @lidge-jun
- #2452 test(windows): remove WP13 CPU starvation and skip one platform-independent restore scenario @lidge-jun
- #2453 fix(tools): coerce wait.yield_time_ms as an integral float @jeongjin0
- #2454 feat(gui): surface per-target quota state in the combo workspace @lidge-jun
- #2456 devlog: owner backlog closeout — wp6-wp11 records and closing reconciliation @lidge-jun
- #2466 devlog: model/provider UX design unit — aliases, new-models-off, default preset (#2463 #2464 #2465) @lidge-jun
- #2469 fix(cli): resolve the effort ladder the way the runtime resolves it @ntdatt812
- #2479 [WRONG BRANCH] release: promote dev to main (v2.32.0) @lidge-jun