Published to npm as @bitkyc08/opencodex@2.29.0-preview.20260821 with dist-tag preview.
New Features
- Add Prime Agent as an export and integration client (#2219)
- Shared auth module with login-shaped flags and auth slots (#2188 L1) (#2203)
- Unified picker candidate set for both sidecars (#2188 L2) (#2204)
- Backend registry and executor-runnable candidate set (#2188 L3) (#2206)
- Web-search sidecar write gates and filtered gui lists (#2188 L4) (#2209)
- Ocx agent sidecar --list shares the server candidate sets (#2188 L5) (#2211)
- Inert backend union + routed web_search field fix (#2188 L6) (#2238)
- Live xai executor with opt-in x_search (#2188 L7) (#2242)
- Live gemini executor on the Antigravity CCA transport (#2188 L8) (#2243)
- Exa executor and the non-LLM search lane (#2188 L9) (#2245)
- GUI opt-in switch for the Grok Responses lane (doc 130) (#2266)
Bug Fixes
- Bound orphan call reordering work (#2208)
- Match unwrapped freeform tool arguments in antigravity replay cache (#2198)
- Bound terminal guard delta retention (#2195)
- Route composer-2.5 tool continuations through userMessageAction (#2212)
- Bound retained tool-search item IDs (#2234)
- Validate candidate, content and part containers (#2231) (#2232)
- Refresh journaled injection ownership (#2205)
- Sanitize relayed citation sources (#2223)
- Catch EOF terminal budget overflow (#2224)
- Honor PI_CODING_AGENT_DIR for the pi client (#2235)
- Chat default for Grok 4.5/4.6 OAuth + unconditional tier policy (doc 100 unit) (#2255)
- Sync agent roster on proxy startup (#2202)
- Redact secrets in structured event values (#2226)
- Keep select dropdowns opaque over rows beneath (#2253)
- Bind continuation to final route (#2214)
- Repair tool-result adjacency (#2207)
- Preserve commented catalog assignments (#2236)
- Routed-destination sanitize + opaque-state recovery series (#2254 rebased) (#2258)
- Honor OFF for Claude Desktop drift and Grok ensure (#2250 rebased) (#2259)
- Capability-gate external_web_access in the canonical-only table (#2262)
- Declare the web-search field capability in the raw streaming config (#2263)
- Recover the null-code encrypted-content rejection and lock pool-switch stripping (#2269)
- Name the ACL failure code in the publisher key error (#2265)
- Recover complete tool calls at EOF on the opencode-go lane (#2271)
- Enforce response part field contract (#2246)
- Defer the serving-identity commit + passthrough findings (#2264 rebased) (#2273)
- Use openai-compatible provider protocol to restore prefix caching (#2261 rebased) (#2274)
- Sync MCode model capabilities (#2220 rebased) (#2276)
- Reuse conversation checkpoints for incremental continuation (#2054 rebased) (#2277)
- Backfill the xAI web-search capability into routed provider config (#2283)
- Read one clock for the terminal-guard continuation rebuild (#2286)
Documentation
- [WRONG BRANCH] Promote dev to preview: Wave 5 record corrections (#1970)
- [WRONG BRANCH] Promote dev to preview: alert-precision record (#1975)
- [WRONG BRANCH] Promote dev to preview: post-scan closing note (#1979)
- [WRONG BRANCH] Promote dev to preview: final Wave 5 errata (#1982)
- [WRONG BRANCH] Promote dev to preview: Wave 5 closing record (#1985)
- Record the v2.28.0 release and its CI evidence (#2192)
- Clarify ChatGPT account pool policy boundary (#2185)
- Doc 110 new-wave triage rows (#2248-#2254) (#2256)
- Record the three-issue round, including the blocked verdict on #2156 (#2181)
- Record the backlog merge log and override adjudication (#2168)
- Release prep artifact for the next dev release (#2268)
- Bug-backlog train appended to the 2.28.0 release prep artifact (#2278)
Chores
- [WRONG BRANCH] chore(preview): promote dev for the v2.20.0 line (#1768)
- [WRONG BRANCH] Merge dev into preview: ignore leftover test temp files (#1911)
- Add privacy-bounded affinity diagnostics (#2196)
Other Changes
- [WRONG BRANCH] Merge dev into preview: Windows suite green (#1907)
- [WRONG BRANCH] Merge main into preview: v2.24.2 release (#1918)
- [WRONG BRANCH] Promote dev to preview: Wave 5 campaign (107 commits) (#1962)
- [WRONG BRANCH] Promote dev to preview: CodeQL #87 ReDoS fix + closeout correction (#1967)
- [WRONG BRANCH] Promote dev to preview: v2.25.0 release train (#2000)
- [WRONG BRANCH] release: v2.25.0-preview.20260818 (#2002)
- [WRONG BRANCH] promote: dev to preview for v2.26.0-preview.20260819 (#2088)
- [WRONG BRANCH] release: v2.26.0-preview.20260819 (#2090)
- [WRONG BRANCH] release: sync dev into preview for 2.27.0 (#2161)
- [WRONG BRANCH] release: sync dev into preview for 2.28.0 (#2187)
- [WRONG BRANCH] release: v2.28.0-preview.20260820 (#2191)
- [WRONG BRANCH] promote: dev to main for v2.29.0 (#2284)
- [WRONG BRANCH] promote: dev to preview for v2.29.0-preview (#2285)
- Merge main into preview: v2.19.0 release (preview keeps its prerelease version) (fef111ef)
- Merge main into preview: v2.22.0 line (8e154f72)
- Merge dev into preview: v2.23.0 release (86039dae)
- Merge dev into preview: v2.24.0 release (d240148c)
- Merge dev into preview: v2.24.1 release (f32a2f55)
- Merge dev into preview for the 2.29.0 preview release (aef1bf00)
- Merge main into preview for the 2.29.0-preview release (639dc731)
Changelog
Full Changelog: v2.28.0...v2.29.0-preview.20260821
- #1768 [WRONG BRANCH] chore(preview): promote dev for the v2.20.0 line @lidge-jun
- #1907 [WRONG BRANCH] Merge dev into preview: Windows suite green @lidge-jun
- #1911 [WRONG BRANCH] Merge dev into preview: ignore leftover test temp files @lidge-jun
- #1918 [WRONG BRANCH] Merge main into preview: v2.24.2 release @lidge-jun
- #1962 [WRONG BRANCH] Promote dev to preview: Wave 5 campaign (107 commits) @lidge-jun
- #1967 [WRONG BRANCH] Promote dev to preview: CodeQL #87 ReDoS fix + closeout correction @lidge-jun
- #1970 [WRONG BRANCH] Promote dev to preview: Wave 5 record corrections @lidge-jun
- #1975 [WRONG BRANCH] Promote dev to preview: alert-precision record @lidge-jun
- #1979 [WRONG BRANCH] Promote dev to preview: post-scan closing note @lidge-jun
- #1982 [WRONG BRANCH] Promote dev to preview: final Wave 5 errata @lidge-jun
- #1985 [WRONG BRANCH] Promote dev to preview: Wave 5 closing record @lidge-jun
- #2000 [WRONG BRANCH] Promote dev to preview: v2.25.0 release train @lidge-jun
- #2002 [WRONG BRANCH] release: v2.25.0-preview.20260818 @lidge-jun
- #2088 [WRONG BRANCH] promote: dev to preview for v2.26.0-preview.20260819 @lidge-jun
- #2090 [WRONG BRANCH] release: v2.26.0-preview.20260819 @lidge-jun
- #2161 [WRONG BRANCH] release: sync dev into preview for 2.27.0 @lidge-jun
- #2168 docs(devlog): record the backlog merge log and override adjudication @lidge-jun
- #2181 docs(devlog): record the three-issue round, including the blocked verdict on #2156 @lidge-jun
- #2185 docs: clarify ChatGPT account pool policy boundary @YUHAO-corn
- #2187 [WRONG BRANCH] release: sync dev into preview for 2.28.0 @lidge-jun
- #2191 [WRONG BRANCH] release: v2.28.0-preview.20260820 @lidge-jun
- #2192 docs(devlog): record the v2.28.0 release and its CI evidence @lidge-jun
- #2195 fix(responses): bound terminal guard delta retention @Ingwannu
- #2196 chore(codex): add privacy-bounded affinity diagnostics @Ingwannu
- #2198 fix(google): match unwrapped freeform tool arguments in antigravity replay cache @agentHits
- #2202 fix(claude): sync agent roster on proxy startup @Ingwannu
- #2203 feat(sidecar): shared auth module with login-shaped flags and auth slots (#2188 L1) @lidge-jun
- #2204 feat(sidecar): unified picker candidate set for both sidecars (#2188 L2) @lidge-jun
- #2205 fix(codex): refresh journaled injection ownership @luvs01
- #2206 feat(web-search): backend registry and executor-runnable candidate set (#2188 L3) @lidge-jun
- #2207 fix(google): repair tool-result adjacency @Ingwannu
- #2208 fix(responses): bound orphan call reordering work @luvs01
- #2209 feat(management): web-search sidecar write gates and filtered gui lists (#2188 L4) @lidge-jun
- #2211 feat(cli): ocx agent sidecar --list shares the server candidate sets (#2188 L5) @lidge-jun
- #2212 fix(cursor): route composer-2.5 tool continuations through userMessageAction @ZSN12
- #2214 fix(responses): bind continuation to final route @luvs01
- #2219 feat(clients): add Prime Agent as an export and integration client @umyunsang
- #2223 fix(web-search): sanitize relayed citation sources @luvs01
- #2224 fix(cursor): catch EOF terminal budget overflow @luvs01
- #2226 fix(oauth): redact secrets in structured event values @luvs01
- #2232 fix(google): validate candidate, content and part containers (#2231) @snowyukitty
- #2234 fix(responses): bound retained tool-search item IDs @luvs01
- #2235 fix(clients): honor PI_CODING_AGENT_DIR for the pi client @umyunsang
- #2236 fix(codex): preserve commented catalog assignments @luvs01
- #2238 feat(web-search): inert backend union + routed web_search field fix (#2188 L6) @lidge-jun
- #2242 feat(web-search): live xai executor with opt-in x_search (#2188 L7) @lidge-jun
- #2243 feat(web-search): live gemini executor on the Antigravity CCA transport (#2188 L8) @lidge-jun
- #2245 feat(web-search): exa executor and the non-LLM search lane (#2188 L9) @lidge-jun
- #2246 fix(google): enforce response part field contract @Ingwannu
- #2253 fix(gui): keep select dropdowns opaque over rows beneath @lilinxiong
- #2255 fix(xai): Chat default for Grok 4.5/4.6 OAuth + unconditional tier policy (doc 100 unit) @lidge-jun
- #2256 docs(devlog): doc 110 new-wave triage rows (#2248-#2254) @lidge-jun
- #2258 fix(responses): routed-destination sanitize + opaque-state recovery series (#2254 rebased) @lidge-jun
- #2259 fix(integrations): honor OFF for Claude Desktop drift and Grok ensure (#2250 rebased) @lidge-jun
- #2262 fix(responses): capability-gate external_web_access in the canonical-only table @lidge-jun
- #2263 test(xai): declare the web-search field capability in the raw streaming config @lidge-jun
- #2265 fix(lab): name the ACL failure code in the publisher key error @ntdatt812
- #2266 feat(xai): GUI opt-in switch for the Grok Responses lane (doc 130) @lidge-jun
- #2268 docs(devlog): release prep artifact for the next dev release @lidge-jun
- #2269 fix(responses): recover the null-code encrypted-content rejection and lock pool-switch stripping @lidge-jun
- #2271 fix(openai-chat): recover complete tool calls at EOF on the opencode-go lane @lidge-jun
- #2273 fix(responses): defer the serving-identity commit + passthrough findings (#2264 rebased) @lidge-jun
- #2274 fix(zcode): use openai-compatible provider protocol to restore prefix caching (#2261 rebased) @lidge-jun
- #2276 fix(integrations): sync MCode model capabilities (#2220 rebased) @lidge-jun
- #2277 fix(cursor): reuse conversation checkpoints for incremental continuation (#2054 rebased) @lidge-jun
- #2278 docs(devlog): bug-backlog train appended to the 2.28.0 release prep artifact @lidge-jun
- #2283 fix(router): backfill the xAI web-search capability into routed provider config @lidge-jun
- #2284 [WRONG BRANCH] promote: dev to main for v2.29.0 @lidge-jun
- #2285 [WRONG BRANCH] promote: dev to preview for v2.29.0-preview @lidge-jun
- #2286 fix(responses): read one clock for the terminal-guard continuation rebuild @lidge-jun
- fef111ef Merge main into preview: v2.19.0 release (preview keeps its prerelease version)
- 8e154f72 Merge main into preview: v2.22.0 line
- 86039dae Merge dev into preview: v2.23.0 release
- d240148c Merge dev into preview: v2.24.0 release
- f32a2f55 Merge dev into preview: v2.24.1 release
- aef1bf00 merge dev into preview for the 2.29.0 preview release
- 639dc731 merge main into preview for the 2.29.0-preview release