Published to npm as @bitkyc08/opencodex@2.98.0 with dist-tag latest.
New Features
- List Perch as a reference-only directory entry (#7311)
- Design system v2 — redesigned dashboard, navigation and desktop app (#8105)
Bug Fixes
- Pin resolved homes in service definitions (#8111)
- 30 s background discovery, still-discovering answer for slow dashboard tests (#8125)
- Emulate structured output instead of refusing it (#8071)
- Serialize uninstall manifest updates under one cross-process lock (#8121)
- Tighten Kiro diagnostics and service log rotation (#8138)
- Remove owned paths relative to the config root (#8141)
- Validate legacy shim restore paths before restoring (#8143)
- Normalize Messages error responses and Anthropic headers (#8153)
- Normalize streamed Messages error events (#8164)
- Normalize direct context overflow errors with parity coverage (#8148)
- Lower ocx envelopes on native v1 compact (#8042) (#8151)
- Preserve pre-output hold across safe WS heartbeats (#8188)
- Pass completion summaries that follow tool results (#8154)
- Keep replayed images within each model's per-request cap (#8174)
- Flatten root tool schemas for Claude chat gateways (#8163)
- Make service definition probes portable (#8201)
- Join repeated tool outputs for one call (#8199)
- Release disposed SOCKS5 readers and timeout closures (#8203)
- Avoid retries for definite context overflow (#8211)
- Include Argon level with thought summaries (#8208)
- Preserve translated system cache boundary (#8212)
- Strip Lite marker from classic search (#8202)
- Report incomplete Anthropic search results (#8210)
- Separate consumer and upstream inactivity (#8213)
- Restore Windows fixture coverage (#8214)
- Preserve adapter body stall status (#8200)
- Isolate Codex profile cases on Windows (#8217)
- Isolate Windows uninstall privilege scenarios (#8218)
- Pair Windows job store route fixture (#8225)
- Use native homes in systemd probe fixtures (#8226)
- List router-known IDs with effective metadata (#8215)
- Prioritize critical credits in quota summary (#8223)
- Validate configuration before stopping services (#8227)
- Rebalance Ubuntu tests across five shards (#8233)
- Preserve default bind identity for guarded stops (#8221)
- Keep Desktop CLI selected when its executable is missing (#8240)
- Report skipped connected children as partial (#8248)
- Defer supervised client restart after apply (#8250)
- Report stale Child connection readiness (#8249)
- Preserve orphan token files for confirmed recovery (#8253)
- Address #8249/#8253 review follow-ups (#8256)
- Use native homes in launchd fixture (#8245)
- Pair Windows CLI update plan session (#8228)
Documentation
Chores
- Fix macOS catalog async fixtures (#8136)
- Security(desktop): bump updater to 2.14.1 and align Rust 1.90 (#8039)
- Honor ownership test platform exclusions on Bun (#8239)
- Retry busy first ownership registrations (#8238)
- Classify read-only config preflight (#8241)
- Give the sync-stop fixture the native CODEX_HOME spelling on Windows (#8265)
- Quarantine hosted Windows CI failures for 2.98.0 (#8264)
Other Changes
- Open dev at 2.98.0 before releasing 2.97.0 (#8135)
- Promote frozen tip 47f9e2d to main as 2.98.0 (#8267)
Changelog
Full Changelog: v2.97.0...v2.98.0
- #7311 feat(providers): list Perch as a reference-only directory entry @scy7796
- #8039 security(desktop): bump updater to 2.14.1 and align Rust 1.90 @luvs01
- #8071 fix(kiro): emulate structured output instead of refusing it @mushikingh
- #8105 feat(gui): design system v2 — redesigned dashboard, navigation and desktop app @Ingwannu
- #8111 fix(service): pin resolved homes in service definitions @omar391
- #8121 Serialize uninstall manifest updates under one cross-process lock @lidge-jun
- #8125 fix(qoder): 30 s background discovery, still-discovering answer for slow dashboard tests @lidge-jun
- #8135 chore(release): open dev at 2.98.0 before releasing 2.97.0 @github-actions[bot]
- #8136 test(diagnostics): fix macOS catalog async fixtures @lidge-jun
- #8138 fix: tighten Kiro diagnostics and service log rotation @lidge-jun
- #8141 fix(config): remove owned paths relative to the config root @lidge-jun
- #8143 fix(codex): validate legacy shim restore paths before restoring @lidge-jun
- #8148 fix(claude): normalize direct context overflow errors with parity coverage @luvs01
- #8151 fix(responses): lower ocx envelopes on native v1 compact (#8042) @Ingwannu
- #8153 fix(messages): normalize Messages error responses and Anthropic headers @lidge-jun
- #8154 fix(terminal-guard): pass completion summaries that follow tool results @yazzang-homelab
- #8163 fix(openai-chat): flatten root tool schemas for Claude chat gateways @lcxhh521
- #8164 fix(messages): normalize streamed Messages error events @lidge-jun
- #8174 fix(mistral): keep replayed images within each model's per-request cap @fontanierh
- #8188 fix(codex): preserve pre-output hold across safe WS heartbeats @jaekwonhong
- #8199 fix(responses): join repeated tool outputs for one call @lidge-jun
- #8200 fix(responses): preserve adapter body stall status @lidge-jun
- #8201 test(service): make service definition probes portable @lidge-jun
- #8202 fix(web-search): strip Lite marker from classic search @lidge-jun
- #8203 fix(transport): release disposed SOCKS5 readers and timeout closures @lidge-jun
- #8208 fix(antigravity): include Argon level with thought summaries @lidge-jun
- #8210 fix(web-search): report incomplete Anthropic search results @lidge-jun
- #8211 fix(claude): avoid retries for definite context overflow @lidge-jun
- #8212 fix(claude): preserve translated system cache boundary @lidge-jun
- #8213 fix(web-search): separate consumer and upstream inactivity @lidge-jun
- #8214 test(messages): restore Windows fixture coverage @lidge-jun
- #8215 fix(models): list router-known IDs with effective metadata @lidge-jun
- #8217 fix(tests): isolate Codex profile cases on Windows @lidge-jun
- #8218 fix(tests): isolate Windows uninstall privilege scenarios @lidge-jun
- #8219 docs(credits): record #8176 credit lost in #8214's squash @lidge-jun
- #8221 fix(cli): preserve default bind identity for guarded stops @lidge-jun
- #8223 fix(gui): prioritize critical credits in quota summary @lidge-jun
- #8225 fix(tests): pair Windows job store route fixture @lidge-jun
- #8226 fix(tests): use native homes in systemd probe fixtures @lidge-jun
- #8227 fix(update): validate configuration before stopping services @lidge-jun
- #8228 fix(tests): pair Windows CLI update plan session @lidge-jun
- #8233 fix(ci): rebalance Ubuntu tests across five shards @lidge-jun
- #8238 test(config): retry busy first ownership registrations @luvs01
- #8239 test(config): honor ownership test platform exclusions on Bun @luvs01
- #8240 fix(cli): keep Desktop CLI selected when its executable is missing @lidge-jun
- #8241 test(update): classify read-only config preflight @lidge-jun
- #8245 fix(tests): use native homes in launchd fixture @lidge-jun
- #8248 fix(sync): report skipped connected children as partial @lidge-jun
- #8249 fix(link): report stale Child connection readiness @lidge-jun
- #8250 fix(sync): defer supervised client restart after apply @lidge-jun
- #8253 fix(link): preserve orphan token files for confirmed recovery @lidge-jun
- #8256 fix(link): address #8249/#8253 review follow-ups @lidge-jun
- #8264 test: quarantine hosted Windows CI failures for 2.98.0 @lidge-jun
- #8265 test(link): give the sync-stop fixture the native CODEX_HOME spelling on Windows @lidge-jun
- #8267 release: promote frozen tip 47f9e2d to main as 2.98.0 @lidge-jun
Code signing
Windows binaries follow the code signing policy.
Free code signing provided by SignPath.io, certificate by SignPath Foundation.