github lidge-jun/opencodex v2.87.0

5 hours ago

Published to npm as @bitkyc08/opencodex@2.87.0 with dist-tag latest.

New Features

  • Route hard-locked main-account traffic to a configured fallback model (carry #7123) (#7146)
  • Configure usage model table row limits (carry #6436) (#7156)
  • Show account membership tier badge (carry #5932) (#7157)
  • Opt in to remaining included quota (carry #6629) (#7158)
  • Require explicit consent for metered targets (carry #6839) (#7159)
  • Support per-model prompt-length overrides (carry #6738) (#7160)
  • Enroll text-only members in vision sidecar (carry #4932) (#7162)
  • Reset-first strategy for generic OAuth pools (carry #5408) (#7167)
  • Add DeepSeek Harness authenticated account provider (carry #6293) (#7164)
  • Stable replay and capture-only client tools (carry #6566) (#7165)
  • Refuse launches when the Claude subscription is exhausted (carry #6566) (#7166)
  • Code-display login mode for hosts with no reachable localhost (carry #6239) (#7170)
  • Pin generic pool conversations to request-local accounts (#7150)
  • Preserve signed-in quota across duplicate pool entries (#7144)
  • Accept credential JSON with secure marker lifecycle (carry #6843) (#7139)
  • Carry bounded retention and adaptive consultation (#7134, #7124) (#7219)
  • Preserve diagnostic per-model quota evidence (carry #6718) (#7163)
  • Carry opt-in API key round-robin and per-key pacing (#6937) (#7135)
  • Carry Combo visibility, workspace panes, Windows picker and Gentle Shell (#7223)
  • Carry compaction capabilities and reasoning retention (#7217)
  • Carry usage comparison, log history, restart and Codex controls (#7222)

Bug Fixes

  • Show last Windows desktop build assessment (#7113)
  • Preserve context inference through provider edits (#7077)
  • Enforce explicit-empty tool catalogs across delivery paths (#7058)
  • Select Advisor model from the routed catalog (#7114)
  • Keep usage-ledger file ids exact so Windows NTFS ids stop colliding (#7089)
  • Serialize shim publication with production process creation (ETXTBSY) (#7106)
  • Verify Desktop backup and optional metadata reads (carry #7084) (#7129)
  • Pair native beta schemas with effective headers (#7132)
  • Preserve operator model policy across reconciliation (#7141)
  • Refuse uncertain ownership before publishing sibling runtime (#7142)
  • Print fixed CLI login errors instead of provider bodies (#7171)
  • Protect the desktop authority key in-process on Windows x64 (#7181)
  • Carry canonical subagent limits across modes (#7125) (#7128)
  • Preserve uncapped native maximum context windows (#7130)
  • Strip Google item metadata from native OpenAI requests (#7131)
  • Launch the registered Desktop bundle and executable (#7137)
  • Frame retained compaction requests as history (#7138)
  • Restore DeepSeek reasoning on native tool continuations (#7118) (#7140)
  • Surface Opus 5.5 progress as signed commentary (#7143)
  • Isolate service state from the shared startup home (#7161)
  • Eliminate intercept integration port reservation race (#7174)
  • Bound refresh consumers and retain stale owners (carry #7117) (#7136)
  • Recover Muse Keychain login and preserve actionable errors (#7145)
  • Fold Advisor into the Subagents row and collapse its notices (#7196)
  • Bind Linux health sentinel recovery to pidfd (#7133)
  • Keep the desktop app open on codex-restart when its picker is current (#7149)
  • Carry Zed, Qoder, and OpenCode Gemini compatibility (#7216)
  • Carry Ultra Fast discovery, vision sidecar, model alias ids and auto-review override (#7115, #7126, #7173, #6867) (#7220)
  • Carry log rotation identities, Windows lock folder and remote-list RFC (#7186, #7203, #6157) (#7215)
  • Carry incomplete reasons, terminal refusals, offline continuation tests and MiMo envelope repair (#7122, #7152, #7068, #7214) (#7218)
  • Carry OAuth combo cooldown, account rotation and health evidence fixes (#7224)
  • Carry Claude translated-lane and usage-metering fixes (VB) (#7225)
  • Restore keep-native-v1 qualifier placement (#7237)
  • Charge key cooldown to the credential sent (#7240)
  • Preserve legacy OpenCode Go configs after native wire pins (#7238)
  • Preserve import cycles through macOS path aliases (#7241)
  • Preserve retained reasoning across native combo failover (#7239)
  • Activate Windows picker after dormant startup (#7243)
  • Use standard no-op waker in spawn test (#7246)
  • Preserve Codex opt-out, concurrent syncs, and usage ownership (#7244)

Chores

  • Allow child generation diagnostics before outer timeout (#7085)
  • Use shared Windows attest spawn budgets (#7151)
  • End the linger upload pump when the socket closes (#7180)
  • Guard Argon thought separation across client protocols (#7188)
  • Isolate sibling ensure from the running Desktop app (#7182)
  • Derive audio non-readiness case budgets from their deadline (#7183)
  • Share opaque transport with desktop relay (#7120)
  • Break config-facade import cycles (189 -> 59 static cyclic modules) (#6454)
  • Break the ChatGPT OAuth and auth-api import cycles (#6594)
  • Fix Windows default-home isolation fixtures (#7242)

Other Changes

  • Open dev at 2.87.0 before releasing 2.86.0 (#7109)
  • Promote dev de315e7 to main as 2.87.0 (#7249)

Changelog

Full Changelog: v2.86.0...v2.87.0

  • #6454 refactor: break config-facade import cycles (189 -> 59 static cyclic modules) @lcxhh521
  • #6594 refactor(oauth): break the ChatGPT OAuth and auth-api import cycles @lcxhh521
  • #7058 fix(protocols): enforce explicit-empty tool catalogs across delivery paths @luvs01
  • #7077 fix(catalog): preserve context inference through provider edits @lcxhh521
  • #7085 test(codex): allow child generation diagnostics before outer timeout @luvs01
  • #7089 fix(usage): keep usage-ledger file ids exact so Windows NTFS ids stop colliding @lidge-jun
  • #7106 fix(desktop): serialize shim publication with production process creation (ETXTBSY) @lidge-jun
  • #7109 chore(release): open dev at 2.87.0 before releasing 2.86.0 @github-actions[bot]
  • #7113 fix(codex): show last Windows desktop build assessment @luvs01
  • #7114 fix(gui): select Advisor model from the routed catalog @luvs01
  • #7120 refactor(proxy): share opaque transport with desktop relay @lcxhh521
  • #7128 fix(codex): carry canonical subagent limits across modes (#7125) @lidge-jun
  • #7129 fix(claude): verify Desktop backup and optional metadata reads (carry #7084) @lidge-jun
  • #7130 fix(catalog): preserve uncapped native maximum context windows @lidge-jun
  • #7131 fix(responses): strip Google item metadata from native OpenAI requests @lidge-jun
  • #7132 fix(anthropic): pair native beta schemas with effective headers @lidge-jun
  • #7133 fix(service): bind Linux health sentinel recovery to pidfd @lidge-jun
  • #7135 feat(providers): carry opt-in API key round-robin and per-key pacing (#6937) @lidge-jun
  • #7136 fix(oauth): bound refresh consumers and retain stale owners (carry #7117) @lidge-jun
  • #7137 fix(startup): launch the registered Desktop bundle and executable @lidge-jun
  • #7138 fix(responses): frame retained compaction requests as history @lidge-jun
  • #7139 feat(vertex): accept credential JSON with secure marker lifecycle (carry #6843) @lidge-jun
  • #7140 fix(chat): restore DeepSeek reasoning on native tool continuations (#7118) @lidge-jun
  • #7141 fix(oauth): preserve operator model policy across reconciliation @lidge-jun
  • #7142 fix(cli): refuse uncertain ownership before publishing sibling runtime @lidge-jun
  • #7143 fix(anthropic): surface Opus 5.5 progress as signed commentary @lidge-jun
  • #7144 feat(codex): preserve signed-in quota across duplicate pool entries @lidge-jun
  • #7145 fix(oauth): recover Muse Keychain login and preserve actionable errors @lidge-jun
  • #7146 feat(codex): route hard-locked main-account traffic to a configured fallback model (carry #7123) @lidge-jun
  • #7149 fix(codex): keep the desktop app open on codex-restart when its picker is current @lidge-jun
  • #7150 feat(oauth): pin generic pool conversations to request-local accounts @lidge-jun
  • #7151 test(codex): use shared Windows attest spawn budgets @lidge-jun
  • #7156 feat(cli): configure usage model table row limits (carry #6436) @lidge-jun
  • #7157 feat(antigravity): show account membership tier badge (carry #5932) @lidge-jun
  • #7158 feat(codex): opt in to remaining included quota (carry #6629) @lidge-jun
  • #7159 feat(combos): require explicit consent for metered targets (carry #6839) @lidge-jun
  • #7160 feat(pricing): support per-model prompt-length overrides (carry #6738) @lidge-jun
  • #7161 fix(test): isolate service state from the shared startup home @lidge-jun
  • #7162 feat(combos): enroll text-only members in vision sidecar (carry #4932) @lidge-jun
  • #7163 feat(antigravity): preserve diagnostic per-model quota evidence (carry #6718) @lidge-jun
  • #7164 feat(providers): add DeepSeek Harness authenticated account provider (carry #6293) @lidge-jun
  • #7165 feat(claude-cli): stable replay and capture-only client tools (carry #6566) @lidge-jun
  • #7166 feat(claude-cli): refuse launches when the Claude subscription is exhausted (carry #6566) @lidge-jun
  • #7167 feat(oauth): reset-first strategy for generic OAuth pools (carry #5408) @lidge-jun
  • #7170 feat(oauth): code-display login mode for hosts with no reachable localhost (carry #6239) @lidge-jun
  • #7171 fix(oauth): print fixed CLI login errors instead of provider bodies @lidge-jun
  • #7174 fix(claude): eliminate intercept integration port reservation race @lidge-jun
  • #7180 test(claude): end the linger upload pump when the socket closes @lidge-jun
  • #7181 fix(codex): protect the desktop authority key in-process on Windows x64 @lidge-jun
  • #7182 test(cli): isolate sibling ensure from the running Desktop app @lidge-jun
  • #7183 test(cli): derive audio non-readiness case budgets from their deadline @lidge-jun
  • #7188 test(google): guard Argon thought separation across client protocols @lidge-jun
  • #7196 fix(gui): fold Advisor into the Subagents row and collapse its notices @lidge-jun
  • #7215 fix(service): carry log rotation identities, Windows lock folder and remote-list RFC (#7186, #7203, #6157) @lidge-jun
  • #7216 fix(providers): carry Zed, Qoder, and OpenCode Gemini compatibility @lidge-jun
  • #7217 feat(responses): carry compaction capabilities and reasoning retention @lidge-jun
  • #7218 fix(responses): carry incomplete reasons, terminal refusals, offline continuation tests and MiMo envelope repair (#7122, #7152, #7068, #7214) @lidge-jun
  • #7219 feat(advisor): carry bounded retention and adaptive consultation (#7134, #7124) @lidge-jun
  • #7220 fix(catalog): carry Ultra Fast discovery, vision sidecar, model alias ids and auto-review override (#7115, #7126, #7173, #6867) @lidge-jun
  • #7222 feat(cli): carry usage comparison, log history, restart and Codex controls @lidge-jun
  • #7223 feat(gui): carry Combo visibility, workspace panes, Windows picker and Gentle Shell @lidge-jun
  • #7224 fix: carry OAuth combo cooldown, account rotation and health evidence fixes @lidge-jun
  • #7225 fix: carry Claude translated-lane and usage-metering fixes (VB) @lidge-jun
  • #7237 fix(gui): restore keep-native-v1 qualifier placement @lidge-jun
  • #7238 fix(config): preserve legacy OpenCode Go configs after native wire pins @lidge-jun
  • #7239 fix(compact): preserve retained reasoning across native combo failover @lidge-jun
  • #7240 fix: charge key cooldown to the credential sent @lidge-jun
  • #7241 fix(ci): preserve import cycles through macOS path aliases @lidge-jun
  • #7242 test: fix Windows default-home isolation fixtures @lidge-jun
  • #7243 fix(claude): activate Windows picker after dormant startup @lidge-jun
  • #7244 fix: preserve Codex opt-out, concurrent syncs, and usage ownership @lidge-jun
  • #7246 fix(desktop): use standard no-op waker in spawn test @lidge-jun
  • #7249 release: promote dev de315e7 to main as 2.87.0 @lidge-jun

Don't miss a new opencodex release

NewReleases is sending notifications on new releases.