Published to npm as @bitkyc08/opencodex@2.49.0 with dist-tag latest.
New Features
- Add official CodeBuddy Global and CN providers (carry #3340) (#4026)
- Add Qoder Global PAT provider (carry #3349) (#4027)
- Add Qoder CN PAT provider (carry #3350) (#4028)
- Give Qoder its brand mark and name the CLI providers (#4029)
- Support source-preserving YAML for Hermes Agent (carry #3990) (#4030)
- OrcaRouter placement, overview introduction and links (#3914)
- PackyCode preset, placement and overview links (#3915)
- Explain ChatGPT public endpoint latency (#4091)
- Explain ChatGPT public endpoint latency (#4063)
- Opt into client-side compaction (#4092)
- Opt into client-side compaction (#3987)
Bug Fixes
- Guard model-tail histories with user continue nudge across Gemini and CCA (carry #3988) (#4031)
- Wp1: land the luvs01 fixture and bug-fix train (9 PRs) (#4049)
- Wp2: land seven contributor bug fixes (quota, catalog, streaming, storage, history) (#4051)
- Wp4: fix four reported bugs with no owning pull request (#4058)
- Wp7: report the actual reason a proxy refused to stop (#4067)
- Show the OrcaRouter sponsor logo on every branch (#4097)
- Validate token values and escape human output (#4074)
- Pin manual redirects at upstream dispatch (#4082)
- Honor rejected identity checks during port reclaim (#4101)
- Honor rejected identity checks during port reclaim (#4036)
- Close expired dashboard selection streams quietly when no frames are queued (#4095)
- Restore main policy binding after owned startup (#4085)
- Fall back to caller main during Pool cooldown (#4088)
- Confirm shared teardown before skipping parent restoration (#4070)
- Persist transport finality evidence (#4061)
- Retain stored sidecar auth for caller-auth Chat (#4103)
- Keep credentials scoped to the final routed provider (carry of #4081) (#4102)
- Drop tool-schema patterns Python re cannot compile (#4096)
- Drop tool-schema patterns Python re cannot compile (#4072)
- Preserve composed tool schema contracts (#4113)
Documentation
- Archive the 2.48.0 release train record (#4021)
- Record the provider runtime stack landing (#4037)
- Wp3: land four small contributor changes and the missing feedback-callback test (#4053)
Chores
- Open dev at 2.49.0 before releasing 2.48.0 (#4019)
- Wp6: pin Bun 1.4.2 and catch up the drifted workflow (#4064)
- Platform-policy readiness budget for the config-lock holder child, unmasked readiness failures (#4099)
Other Changes
- Usage: open the custom date range on request instead of on arrival (#4093)
- Devlog: name the language on the design-dial fence (#4098)
- Oauth/xai: honor Retry-After and stop retrying aborted token requests (#4087)
- Oauth/xai: pin discovery endpoints to trusted auth hosts and reject userinfo (#4094)
- Promote verified 2.49.0 product tree to main (#4117)
Changelog
Full Changelog: v2.48.0...v2.49.0
- #3914 feat(sponsors): OrcaRouter placement, overview introduction and links @lidge-jun
- #3915 feat(sponsors): PackyCode preset, placement and overview links @lidge-jun
- #3987 feat(codex): opt into client-side compaction @cb8010d6
- #4019 chore(release): open dev at 2.49.0 before releasing 2.48.0 @lidge-jun
- #4021 docs(devlog): archive the 2.48.0 release train record @lidge-jun
- #4026 feat(provider): add official CodeBuddy Global and CN providers (carry #3340) @lidge-jun
- #4027 feat(provider): add Qoder Global PAT provider (carry #3349) @lidge-jun
- #4028 feat(provider): add Qoder CN PAT provider (carry #3350) @lidge-jun
- #4029 feat(gui): give Qoder its brand mark and name the CLI providers @lidge-jun
- #4030 feat(integrations): support source-preserving YAML for Hermes Agent (carry #3990) @lidge-jun
- #4031 fix(google): guard model-tail histories with user continue nudge across Gemini and CCA (carry #3988) @lidge-jun
- #4036 fix(server): honor rejected identity checks during port reclaim @luvs01
- #4037 docs(devlog): record the provider runtime stack landing @lidge-jun
- #4049 wp1: land the luvs01 fixture and bug-fix train (9 PRs) @lidge-jun
- #4051 wp2: land seven contributor bug fixes (quota, catalog, streaming, storage, history) @lidge-jun
- #4053 wp3: land four small contributor changes and the missing feedback-callback test @lidge-jun
- #4058 wp4: fix four reported bugs with no owning pull request @lidge-jun
- #4061 fix(logs): persist transport finality evidence @chilung-cgu
- #4063 feat(doctor): explain ChatGPT public endpoint latency @chilung-cgu
- #4064 wp6: pin Bun 1.4.2 and catch up the drifted workflow @lidge-jun
- #4067 wp7: report the actual reason a proxy refused to stop @lidge-jun
- #4070 fix(stop): confirm shared teardown before skipping parent restoration @luvs01
- #4072 fix(openai): drop tool-schema patterns Python re cannot compile @itismyfield
- #4074 fix(usage): validate token values and escape human output @luvs01
- #4082 fix(transport): pin manual redirects at upstream dispatch @luvs01
- #4085 fix(codex): restore main policy binding after owned startup @lidge-jun
- #4087 oauth/xai: honor Retry-After and stop retrying aborted token requests @lidge-jun
- #4088 fix(codex): fall back to caller main during Pool cooldown @lidge-jun
- #4091 feat(doctor): explain ChatGPT public endpoint latency @lidge-jun
- #4092 feat(codex): opt into client-side compaction @lidge-jun
- #4093 usage: open the custom date range on request instead of on arrival @lidge-jun
- #4094 oauth/xai: pin discovery endpoints to trusted auth hosts and reject userinfo @lidge-jun
- #4095 fix(server): close expired dashboard selection streams quietly when no frames are queued @lidge-jun
- #4096 fix(openai): drop tool-schema patterns Python re cannot compile @lidge-jun
- #4097 fix(readme): show the OrcaRouter sponsor logo on every branch @lidge-jun
- #4098 devlog: name the language on the design-dial fence @lidge-jun
- #4099 test(config): platform-policy readiness budget for the config-lock holder child, unmasked readiness failures @lidge-jun
- #4101 fix(server): honor rejected identity checks during port reclaim @lidge-jun
- #4102 fix(auth): keep credentials scoped to the final routed provider (carry of #4081) @lidge-jun
- #4103 fix(auth): retain stored sidecar auth for caller-auth Chat @luvs01
- #4113 fix(openai): preserve composed tool schema contracts @lidge-jun
- #4117 release: promote verified 2.49.0 product tree to main @lidge-jun