Published to npm as @bitkyc08/opencodex@2.52.0-preview.20260912 with dist-tag preview.
New Features
- Route ocx login codex to the Codex account-pool login (#4266)
- Report decoded checkpoint shape so coverage is answerable from logs (#4283)
- Pick a warm API key before the first attempt (#4277)
- Local Devin CLI provider over ACP stdio (#4288)
- Add omo as an export and integration client (#4290)
- Cognition cloud provider, carried from #4078 and hardened (#4285)
- Let the generic pool consume its strategy behind pool.kernel (#4289)
- Reset-coupon inspection + gated redemption (gRPC-Web, journaled idempotency) (#4306)
- Default to the Responses protocol and keep Chat as a per-model opt-in (#4307)
- Use the warm API key on the first attempt, and rank by quota (#4292)
- Give both Devin providers a mark and make the CLI one addable (#4322)
- Read and redeem Grok reset coupons from the dashboard (#4330)
- Give local providers their own tab in the add-provider catalog (#4325)
- Clamp long provider notes to two lines and open the full text in a popup (#4328)
- Make the add-provider search reach every tab at once (#4331)
- Import the CLI credential and make it an account provider (#4335)
- Add journaled Cline CLI integration and catalog sync (#4371)
- Carry inactive workspace protocol foundation (#4344)
- Relay experimental context history under a least-privilege owner (#4360)
Bug Fixes
- Route coding quota probes by canonical base (#4262)
- Normalize invented default. namespace back to the declared bare tool (#4264)
- Allow deleting unavailable routes in desktop profile (#4263)
- Register the canonical Antigravity discovery RPC (#4267)
- Apply DSH into an empty providers container and name flow-style refusals (#4268)
- Capture the conversation checkpoint a suspended tool turn actually sends (#4281)
- Let an operator account selection outrank the pool cursor (#4284)
- Advertise per-model image capabilities in the exported config (#4300)
- Attach over the proxy Responses route instead of Chat Completions (#4302)
- Declare glm-5.3-flash image input on the Chat rows (#4304)
- Stop Cognition refusing every Codex turn over two tool descriptions (#4318)
- Persist the Responses destination the router already applies (#4321)
- Report the context windows Cognition actually serves (#4323)
- Shorten the Devin provider label to one word (#4326)
- Stop sending a permission mode the CLI rejects (#4332)
- Retire gpt-5.4 and gpt-5.4-mini from the Codex login surface (#4327)
- Stop carrying an elapsed account-level short window (#4333)
- Skip disabled catalog actions on ArrowDown (#4337)
- Defer optional native-main helper claims (carry #4118) (#4338)
- Recover routed continuations after replay misses (#4350)
- Retire callback connections across repeated logins (#4352)
- Carry scoped inference quota evidence (#4090) (#4336)
- Carry scoped Combo quota editing (#4105) (#4339)
- Contain paginated metadata writes and preserve restore artifacts (#4342)
- Preserve final Go conversation affinity (carry #4050) (#4340)
- Opt in to harness prompt-cache stabilization (carry #4052) (#4347)
- Stop a refused Codex account from winning the next pick (#4368)
- Preserve incomplete tools on truncated terminals (#4341)
- Retire observed exited pinned-start children (#4343)
- Complete Cline registration and stabilize integration fixtures (#4390)
- Apply a quota refusal's avoidance window to the main login (#4396)
- Let clear-cooldown lift an avoidance the cooldown outlived (#4397)
- Honor platform path semantics in credential discovery (#4400)
Documentation
- Restructure the maintainer SOT and gate it mechanically (#4276)
- Provider: stabilize the OpenCode Zen presets (json_schema downgrade + budget/ladder guards) (#4274)
- Open the account pool unification unit (#4275)
- Close the review findings on the SSOT gate (#4278)
- Close the omo unit and fix two leftovers it created (#4294)
- Roadmap for the add-provider catalog unified search, note clamp and Local tab (#4324)
- Close the devin-cli account-provider unit (#4348)
- Retain cache delivery evidence and correct closure attribution (#4377)
- Record what clear-cooldown does to a lapsed window (#4398)
Chores
- Await guardian fixture ACL hardening before cleanup (#4104)
- Move the pool rotation kernel out of the Codex namespace (#4279)
- Drive reactivation expiry callbacks deterministically (#4385)
- Use host-native pnpm shim fixtures (#4379)
- Verify native outbound conversation identity (#3433) (#4365)
- Stop judging a stale record on a port another test can take (#4403)
Other Changes
- Open dev at 2.52.0 before releasing 2.51.0 (#4270)
- Provider: follow the DeepSeek V4.1 transition through the registry (#4282)
- Codex-ws: settle post-send failures as honest gateway statuses and replace the fixed prelude deadline with liveness (#4256)
- Promote verified 2.52.0-preview.20260912 product tree to preview (#4399)
- Open dev at 2.53.0 before releasing 2.52.0 (#4405)
- Promote verified 2.52.0-preview.20260912 product tree to preview (#4406)
Changelog
Full Changelog: v2.52.0-preview.20260911...v2.52.0-preview.20260912
- #4104 test(oauth): await guardian fixture ACL hardening before cleanup @luvs01
- #4256 codex-ws: settle post-send failures as honest gateway statuses and replace the fixed prelude deadline with liveness @lidge-jun
- #4262 fix(zai): route coding quota probes by canonical base @lidge-jun
- #4263 fix(claude): allow deleting unavailable routes in desktop profile @lidge-jun
- #4264 fix(responses): normalize invented default. namespace back to the declared bare tool @lidge-jun
- #4266 feat(cli): route ocx login codex to the Codex account-pool login @lidge-jun
- #4267 fix(catalog): register the canonical Antigravity discovery RPC @lidge-jun
- #4268 fix(integrations): apply DSH into an empty providers container and name flow-style refusals @lidge-jun
- #4270 chore(release): open dev at 2.52.0 before releasing 2.51.0 @github-actions[bot]
- #4274 provider: stabilize the OpenCode Zen presets (json_schema downgrade + budget/ladder guards) @lidge-jun
- #4275 docs(devlog): open the account pool unification unit @lidge-jun
- #4276 docs(structure): restructure the maintainer SOT and gate it mechanically @lidge-jun
- #4277 feat(providers): pick a warm API key before the first attempt @lidge-jun
- #4278 docs(structure): close the review findings on the SSOT gate @lidge-jun
- #4279 refactor(oauth): move the pool rotation kernel out of the Codex namespace @lidge-jun
- #4281 fix(cursor): capture the conversation checkpoint a suspended tool turn actually sends @lidge-jun
- #4282 provider: follow the DeepSeek V4.1 transition through the registry @lidge-jun
- #4283 feat(cursor): report decoded checkpoint shape so coverage is answerable from logs @lidge-jun
- #4284 fix(codex): let an operator account selection outrank the pool cursor @lidge-jun
- #4285 feat(devin): Cognition cloud provider, carried from #4078 and hardened @lidge-jun
- #4288 feat(devin-cli): local Devin CLI provider over ACP stdio @lidge-jun
- #4289 feat(oauth): let the generic pool consume its strategy behind pool.kernel @lidge-jun
- #4290 feat(clients): add omo as an export and integration client @lidge-jun
- #4292 feat(providers): use the warm API key on the first attempt, and rank by quota @lidge-jun
- #4294 docs: close the omo unit and fix two leftovers it created @lidge-jun
- #4300 fix(opencode): advertise per-model image capabilities in the exported config @lidge-jun
- #4302 fix(zcode): attach over the proxy Responses route instead of Chat Completions @lidge-jun
- #4304 fix(zai): declare glm-5.3-flash image input on the Chat rows @lidge-jun
- #4306 feat(grok): reset-coupon inspection + gated redemption (gRPC-Web, journaled idempotency) @lidge-jun
- #4307 feat(zai): default to the Responses protocol and keep Chat as a per-model opt-in @lidge-jun
- #4318 fix(devin): stop Cognition refusing every Codex turn over two tool descriptions @lidge-jun
- #4321 fix(zai): persist the Responses destination the router already applies @lidge-jun
- #4322 feat(devin): give both Devin providers a mark and make the CLI one addable @lidge-jun
- #4323 fix(devin): report the context windows Cognition actually serves @lidge-jun
- #4324 docs(devlog): roadmap for the add-provider catalog unified search, note clamp and Local tab @lidge-jun
- #4325 feat(gui): give local providers their own tab in the add-provider catalog @lidge-jun
- #4326 fix(devin): shorten the Devin provider label to one word @lidge-jun
- #4327 fix(codex): retire gpt-5.4 and gpt-5.4-mini from the Codex login surface @lidge-jun
- #4328 feat(gui): clamp long provider notes to two lines and open the full text in a popup @lidge-jun
- #4330 feat(gui): read and redeem Grok reset coupons from the dashboard @lidge-jun
- #4331 feat(gui): make the add-provider search reach every tab at once @lidge-jun
- #4332 fix(devin-cli): stop sending a permission mode the CLI rejects @lidge-jun
- #4333 fix(codex): stop carrying an elapsed account-level short window @lidge-jun
- #4335 feat(devin-cli): import the CLI credential and make it an account provider @lidge-jun
- #4336 fix(combos): carry scoped inference quota evidence (#4090) @lidge-jun
- #4337 fix(gui): skip disabled catalog actions on ArrowDown @lidge-jun
- #4338 fix(chat): defer optional native-main helper claims (carry #4118) @lidge-jun
- #4339 fix(gui): carry scoped Combo quota editing (#4105) @lidge-jun
- #4340 fix(claude): preserve final Go conversation affinity (carry #4050) @lidge-jun
- #4341 fix(bridge): preserve incomplete tools on truncated terminals @lidge-jun
- #4342 fix(history): contain paginated metadata writes and preserve restore artifacts @lidge-jun
- #4343 fix(update): retire observed exited pinned-start children @lidge-jun
- #4344 feat(remote): carry inactive workspace protocol foundation @lidge-jun
- #4347 fix(claude): opt in to harness prompt-cache stabilization (carry #4052) @lidge-jun
- #4348 docs(devlog): close the devin-cli account-provider unit @lidge-jun
- #4350 fix(responses): recover routed continuations after replay misses @lidge-jun
- #4352 fix(oauth): retire callback connections across repeated logins @lidge-jun
- #4360 feat(codex): relay experimental context history under a least-privilege owner @lidge-jun
- #4365 test(chat): verify native outbound conversation identity (#3433) @lidge-jun
- #4368 fix(codex): stop a refused Codex account from winning the next pick @lidge-jun
- #4371 feat: add journaled Cline CLI integration and catalog sync @lidge-jun
- #4377 docs: retain cache delivery evidence and correct closure attribution @lidge-jun
- #4379 test(update): use host-native pnpm shim fixtures @lidge-jun
- #4385 test(combos): drive reactivation expiry callbacks deterministically @lidge-jun
- #4390 fix: complete Cline registration and stabilize integration fixtures @lidge-jun
- #4396 fix(codex): apply a quota refusal's avoidance window to the main login @lidge-jun
- #4397 fix(codex): let clear-cooldown lift an avoidance the cooldown outlived @lidge-jun
- #4398 docs(structure): record what clear-cooldown does to a lapsed window @lidge-jun
- #4399 release: promote verified 2.52.0-preview.20260912 product tree to preview @lidge-jun
- #4400 fix(devin-cli): honor platform path semantics in credential discovery @lidge-jun
- #4403 test(cli): stop judging a stale record on a port another test can take @lidge-jun
- #4405 chore(release): open dev at 2.53.0 before releasing 2.52.0 @github-actions[bot]
- #4406 release: promote verified 2.52.0-preview.20260912 product tree to preview @lidge-jun