Repository navigation
Immutable
release. Only release title and notes can be modified.
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
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