Published to npm as @bitkyc08/opencodex@2.7.43 with dist-tag latest.
What's Changed
New Features
- feat(logs): correlate requests by conversation id (#330) by @Wibias in #522
- feat(storage): archived cleanup with quarantine (phase 2 of #42) by @Wibias in #529
Bug Fixes
- fix(codex): make manual account selection immediate by @Ingwannu in #506
- fix(ci): repair invalid LLM JSON escapes in issue translation by @Wibias in #510
- fix(openai-responses): handle image tool conflicts in additional_tools by @RailyW in #492
- fix(release): carry preview changelog into latest notes by @Wibias in #482
- fix(service): retry Windows background install with UAC elevation by @Wibias in #408
- fix(ci): sticky visible issue-translation control comments by @Wibias in #513
- fix(ux): config edit docs, combo effort picker, hide-from-catalog naming by @Wibias in #517
- fix(logs): show effective reasoning effort by @olddonkey in #494
- fix(proxy): attach Retry-After on retryable 429s for Codex by @Wibias in #514
- fix(update): skip redundant GUI restart after npm self-update by @Wibias in #515
- fix(combos): surface catalog omissions in sync and GUI by @Wibias in #516
- fix(kiro): treat pre-output stream socket closes as retryable by @Wibias in #520
- fix(ci): close freeform issue-quality template bypass by @Wibias in #523
- fix(ci): stop PR labeler from reverting human type labels by @Wibias in #525
- Fix Console Go tool schema sanitization by @ShamanicArts in #524
- fix(gui): give every OAuth login surface the same copy affordance by @lidge-jun in #544
- fix(ci): remove broken devlog gitlinks by @lidge-jun in #550
- fix(claude): resolve Desktop 3P paths by target platform by @lidge-jun in #552
- fix(codex): report whether a sync actually wrote the catalog or cache by @lidge-jun in #526
- fix(images): support custom image relay providers by @iF2007 in #551
- fix(bridge): keep wire heartbeats during adapter-only progress (#521) by @Wibias in #555
- fix(bridge): CodeRabbit follow-ups for phase omit and content_filter by @Wibias in #556
- fix(ci): soft-pass detailed issues after maintainer retitle by @Wibias in #564
Chores
- ci: auto-close stale needs-info issues by @Wibias in #530
- ci: close stale needs-info even with roadmap labels by @Wibias in #537
Other Changes
- Fix Windows memory observability for external retention by @lidge-jun in #554
New Contributors
- @RailyW made their first contribution in #492
- @olddonkey made their first contribution in #494
- @ShamanicArts made their first contribution in #524
- @iF2007 made their first contribution in #551
Since preview
What's Changed
New Features
- feat(storage): opt-in auto-cleanup policy (phase 3, #42) by @Wibias in #559
- feat(cli): add ocx opencode launcher by @Wibias in #568
- feat(storage): restore quarantined archived sessions (phase 2.1 of #42) by @Wibias in #558
- feat(quota): per-account Claude rate limits, canonical 5-hour window by @wonsh42 in #493
- feat(codex): add opt-in native subagent defaults by @wonsh42 in #498
- feat(google): enable Gemini inline image output by @tizerluo in #355
- feat(images): Grok image bridge (maintainer takeover of #424) by @Wibias in #577
- feat(anthropic): opt-in Claude OAuth account pool (#294) by @Wibias in #578
- feat(dashboard): drain-and-restart from memory observability card (#563) by @Wibias in #580
- feat(kimi): forward prompt_cache_key on the Kimi Coding Plan presets by @olddonkey in #597
- feat(auth): account pool round-robin and fill-first strategies by @Wibias in #593
- feat(videos): add Grok video bridge for non-OpenAI models by @tizerluo in #582
- feat(gui): show reset credit expiration time by @ACJF00 in #613
- feat(codex): account pause controls and bulk exhaustion (takeover #565) by @Wibias in #667
- feat(ci): enforce PR ancestry and description quality gates by @Wibias in #648
Bug Fixes
- fix(oauth): stop OAuth login from deleting a stored provider API key by @wonsh42 in #491
- fix(cursor): stop injecting shell-alias hint into user prompts; reject empty exec_command by @Aciredy in #429
- fix(storage): harden #558 satellite backup writes and zst restore by @Wibias in #571
- fix(kiro): support browser-based multi-account login by @coseung2 in #447
- fix(release): baseline preview notes on last prior release by @Wibias in #579
- fix(server): treat forwarded loopback ports as loopback by @lidge-jun in #573
- fix(codex): same-request multi-account failover on quota 429 (#584) by @Wibias in #585
- fix(server): harden drain-and-restart spawn failure path (#580 follow-up) by @Wibias in #594
- fix(ci): require non-empty bug Reproduction by @Wibias in #600
- fix(openai-responses): round-trip image-gen namespace by @RailyW in #588
- fix(anthropic): support bearer key auth for gateways by @iF2007 in #595
- fix(windows): grant owner ACE before ACL inheritance removal by @Wibias in #601
- fix(codex): warn about stale Codex app-servers after a catalog write by @lidge-jun in #576
- fix: scope Spark cooldowns to its native quota by @akrock in #599
- fix(adapters): neutralize Codex CLI 0.145 identity wording by @Wibias in #638
- fix(cursor): steer Windows bridge shell away from PS 5.1 syntax loops by @Wibias in #627
- fix(gui): dedupe dashboard API token prompts on concurrent 401s by @Wibias in #651
- fix(ci): harden PR target draft conversion and issue-quality Version gates by @Wibias in #631
- fix(catalog): accept Together top-level /models arrays by @Wibias in #639
- fix(cli): status/doctor use identity-verified live proxy by @Wibias in #642
- fix(catalog): omit bare OpenAI models without openai provider by @Wibias in #643
- fix(gui): render Claude helper model labels by @hanbinnoh in #623
- fix(windows): async ACL harden for response-state writes (#612) by @Wibias in #645
- fix(anthropic): reorder interleaved text before tool_use by @Wibias in #640
- fix(kiro): use CLI wire contract without profiles by @byongshintv in #694
- fix(windows): classify localized scheduler denial (#591) by @Ingwannu in #698
- fix(claude): preserve generated subagent effort by @jhste102lab in #705
Documentation
- docs: harden and scope agent guidance by @Wibias in #583
- docs: require needs-go-port for deferred Go ports by @Wibias in #672
- docs(security): point reporters at the now-enabled private advisory form by @lidge-jun in #699
Chores
- chore: stop tracking local agent session state by @lidge-jun in #567
- test(storage): cover restore test-stream route gate cases by @Wibias in #574
- chore(gui): React Doctor 100, 0.9.2 pin, block findings by @Wibias in #589
- refactor(responses): single-pass SSE payload rewrite (#588 follow-up) by @Wibias in #602
- test(usage): give the rolling-file bound test room on Windows by @lidge-jun in #614
Other Changes
- fix(ci): let the PR labeler actually write labels by @lidge-jun in #566
- security: close audit findings 1/2/4/7/9/11 and partially 3/16 by @LeoWang331 in #697
New Contributors
- @wonsh42 made their first contribution in #491
- @Aciredy made their first contribution in #429
- @coseung2 made their first contribution in #447
- @tizerluo made their first contribution in #355
- @akrock made their first contribution in #599
- @ACJF00 made their first contribution in #613
- @hanbinnoh made their first contribution in #623
- @LeoWang331 made their first contribution in #697
- @byongshintv made their first contribution in #694
- @jhste102lab made their first contribution in #705
Commits
- release: v2.7.43 (d1f544b)
- Merge dev: silent loopback dashboard session renewal, effort restoration hardening, Windows scheduler fixes (9e4d034)
- fix(gui): renew loopback dashboard sessions silently instead of prompting (d4b3c81)
- merge: PR #705 follow-up — harden effort restoration boundaries (c0ad57a)
- fix(windows): compare scheduler action values, not their encodings (#608) (438b8dc)
- fix(claude): harden effort restoration boundaries (6d5bea1)
- merge: PR #705 (92ff70b)
- merge: PR #694 (b898824)
- merge: PR #698 (97dfbb2)
- merge: PR #699 (c9b694a)
- fix(gui): stop the speed badge from guessing, and pin the picker label (d4211b9)
- test(claude): cover exact xhigh effort restoration (b67ddb9)
- fix(claude): preserve generated subagent effort (5635eda)
- Merge dev: security hardening batch 1 and account-pool card fix (bc811e7)
- test(gui): route model-discovery stubs through the pinned transport (cfc50fb)
- test(catalog): hand the pinned transport back the stubbed fetch (693347d)
- docs(windows): spell out scheduler create predicate (34688f6)
- merge: security hardening batch 1 (#697) (43f4429)
- fix(gui): stop the account-pool card from printing its title twice (1c36e7a)
- docs(windows): clarify scheduler fallback scope (9338550)
- fix(kiro): harden CLI auth metadata (9b5b827)
- docs(security): point reporters at the now-enabled private advisory form (d0763bf)
- fix(windows): tighten scheduler elevation boundary (b9ae659)
- fix(windows): classify localized scheduler denial (cdc16e5)
- merge: sync security fixes with dev (7d995ef)
- fix(kiro): use CLI wire contract without profiles (28996a4)
- fix(anthropic): reorder interleaved text before tool_use (#640) (c7e48fb)
- fix(windows): async ACL harden for response-state writes (#645) (341d486)
- fix(gui): render Claude helper model labels (#623) (a2981c8)
- feat(ci): enforce PR ancestry and description quality gates (#648) (75bd272)
- fix(catalog): omit bare OpenAI models without openai provider (#643) (f19a73c)
- fix(cli): status/doctor use identity-verified live proxy (#642) (e6169b0)
- fix(catalog): accept Together top-level /models arrays (#639) (9d181fc)
- fix(security): honor all outbound proxy variables (14e1e6b)
- fix(ci): harden PR target draft conversion and issue-quality Version gates (#631) (14dde56)
- fix(gui): dedupe dashboard API token prompts on concurrent 401s (#651) (a4fb284)
- fix(cursor): steer Windows bridge shell away from PS 5.1 syntax loops (#627) (dcaede6)
- docs: require needs-go-port for deferred Go ports (#672) (f7be351)
- feat(codex): account pause controls and bulk exhaustion (#667) (f0867e8)
- feat(codex): add account namespace foundation (c9bed7c)
- fix(adapters): neutralize Codex CLI 0.145 identity wording (#638) (868a9c4)
- feat(gui): show reset credit expiration time (#613) (f492f7d)
- fix: scope Spark cooldowns to its native quota (#599) (20cdc0d)
- feat(videos): add Grok video bridge for non-OpenAI models (#582) (257c626)
- docs: harden and scope agent guidance (#583) (a47aa3f)
- docs: a dev merge is not done until dev2-go carries it too (2bbac19)
- security: pin provider discovery transports (64342c9)
- test(oauth): relax live-update timeout (8e221b5)
- feat(security): split management and data credentials (c372771)
- fix(update): allow npm below trusted cwd ancestors (7ce68d1)
- fix(config): preserve config on blank persisted hostname (c2e314e)
- fix(codex): warn about stale Codex app-servers after a catalog write (#576) (ca7b104)
- test(usage): give the rolling-file bound test room on Windows (#614) (c48a6ee)
- test(server): exercise real websocket origin rejection (42bdb1f)
- test(security): align source invariants with hardening (43b4f65)
- fix(server): deny framing of local responses (b0c92d0)
- fix(uninstall): remove only manifest-owned config state (9d8689d)
- test(macos): cover shell-free launchctl injection (a4adba8)
- fix(windows): prevent update cwd command hijacking (0cb9776)
- fix(macos): harden launchctl environment cleanup (5eafd36)
- fix(server): reject blank bind hostnames (9e9d5b2)
- fix stale update jobs and combo quota fallback (7710185)
- fix(windows): grant owner ACE before ACL inheritance removal (#601) (d482086)
- refactor(responses): single-pass SSE payload rewrite composition (#602) (406a522)
- feat(auth): account pool round-robin and fill-first strategies (#593) (c380ef7)
- fix(anthropic): support bearer key auth for gateways (#595) (2a404c7)
- fix(openai-responses): round-trip image-gen namespace (#588) (285e2bf)
- feat(kimi): forward prompt_cache_key on the Kimi Coding Plan presets (#597) (0338b78)
- fix(ci): require non-empty bug Reproduction (and treat ... as empty) (#600) (ed5ddaf)
- chore(gui): React Doctor 100, 0.9.2 pin, block findings (#589) (855ed7a)
- fix(server): harden drain-and-restart spawn failure path (#580 follow-up) (#594) (e545512)
- fix(codex): same-request multi-account failover on quota 429 (#584) (#585) (903b62c)
- feat(dashboard): drain-and-restart from memory observability card (#563) (#580) (94a83bc)
- Merge pull request #573 from lidge-jun/codex/260728-ssh-loopback-gate (3a2b2ea)
- fix(release): baseline preview notes on last prior release (#579) (ece0d9f)
- feat(anthropic): opt-in Claude OAuth account pool (#294) (#578) (da212d3)
- feat(images): Grok image bridge (maintainer takeover of #424) (#577) (de35caa)
- feat(google): enable Gemini inline image output (#355) (65e3fee)
- fix(kiro): support browser-based multi-account login (#447) (f92e107)
- feat(codex): add opt-in native subagent defaults (#498) (053ad66)
- feat(quota): per-account Claude rate limits, canonical 5-hour window (#493) (458c363)
- test(storage): cover restore test-stream route gate cases (#574) (0539705)
- fix(storage): harden #558 satellite backup writes and zst restore (#571) (c573bd9)
- fix(server): treat forwarded loopback ports as loopback (e2da6f6)
- fix(cursor): stop shell-alias user mutation; reject empty bridge calls (c0b902f)
- docs(devlog): PR #527's dropped commit is not equivalent to what dev has (0a356d7)
- docs(devlog): fold the A-gate audit into the bug-bundle roadmap (cc4960e)
- feat(storage): restore quarantined archived sessions (phase 2.1 of #42) (#558) (40fdc3d)
- docs(devlog): roadmap lock for the bug-label resolution unit (9dae4c6)
- feat(cli): add ocx opencode launcher (#568) (f195e90)
- feat(cli): default the star prompt to Yes and let the user answer it (c17f516)
- feat(cli): make the star prompt an explicit Yes/No choice (446e278)
- chore: stop tracking local agent session state (#567) (7cb15bf)
- chore: stop tracking local agent session state (#567) (461de39)
- fix(oauth): stop OAuth login from deleting a stored provider API key (#491) (131573e)
- Merge pull request #559 from Wibias/feat/storage-phase3-auto-policy (9dbcc24)
- fix(ci): let the PR labeler actually write labels (#566) (89837d8)
- fix(ci): let the PR labeler actually write labels (#566) (5f76d58)
- fix(storage): settle aborted policy workers and harden Run-now UX (eeeabc5)
- fix(storage): merge run metadata into latest cleanup policy on completion (521232d)
- fix(storage): avoid Windows CI timeouts in cleanup/policy tests (8c3c349)
- fix(storage): run cleanup policy off the proxy event loop (ee95740)
- fix(storage): harden phase-3 policy review tip findings (5b3e597)
- fix(storage): address phase-3 policy review and GUI lint (1ee3be6)
- feat(storage): add opt-in auto-cleanup policy (phase 3) (55e780a)
Full Changelog: v2.7.42...v2.7.43