Published to npm as @bitkyc08/opencodex@2.58.0 with dist-tag latest.
New Features
- Stop hardening every secret temp twice (#4836)
- Stop config show from importing the connect graph to read one flag (#4862)
- Preserve native mid-turn steering over WebSocket (#4782)
- Relay native multi-agent function-result injection (#4858)
- Extend native result continuations and preserve hosted output (#4861)
- Support safe steering settings, public API transport and executable probes (#4912)
Bug Fixes
- Wait for a killed subprocess to die before abandoning it (#4825)
- Enforce the shutdown drain reserve on the injected spill clock (#4833)
- Let a killed child actually die before anyone deletes what it holds (#4849)
- Charge adapter-owned retry sends to the request send budget (#4865)
- Classify the terminal stop reason instead of testing it for truthiness (#4885)
- Stop forwarding Codex's private access_programs to third-party upstreams (#4884)
- Give Z.AI its real discovery endpoint and response shape (#4886)
- Report confirmed input usage in message_start when upstream has already sent it (#4891)
- Restore routing without waiting on paginated history (#4896)
- Refuse DSML scaffold with a bare tool name (#4887)
- Quarantine textual TOOL_CALL markers off the text channel (#4815)
- Refresh the Alibaba Token Plan catalogs against gateway probes (#4888)
- Mirror model capacity onto the /v1/models top level (#4889)
- Prefer observed checkpoint maxTokens as the overflow ceiling (#4816)
- Close pool eligibility inside the caller-owned preview read fence (#4883)
- Bump hono, astro, and docs-site overrides to resolve audit CVEs (#4873)
- Apply the Desktop switches and report effective state (#4899)
- Reject an invalid custom-model context window instead of dropping it (#4890)
- Remint conversation after incomplete tool-call streams (#4875)
- Seed Responses tool-result adjacency for interrupted Codex threads (#4871)
- Defer a mid-turn conversational message instead of refusing the replay (#4848)
- Allow single-target combo with waitForCooldownMs to retry after cooling (#4824)
- Fail over zero-output SSE errors (#4817)
- Bound steering confirmation waits and preserve sparse replay output (#4911)
Documentation
- Record the 2.57.0 release and its registry propagation state (#4832)
- Correct the 2.57.0 Windows evidence and record the after-the-fact dispatch (#4840)
- Audit the native control stack as one integration contract (#4882)
- Plan the L6 contract and quality fix lane (#4879)
- Open the L4 Responses private-field and history-repair plan unit (#4880)
- Say where transientRetryOn5xx does not apply (#4894)
- Plan the L3 retry, admission and combo-recovery unit (#4881)
- Record the L4 destination-boundary reversal and both review outcomes (#4892)
- Open the 2.58.0 release train (#4909)
Chores
- Restore the 45s spawn signal and stop hardening a disposable port (#4834)
- Fix the causes behind two disabled test families and re-enable them (#4835)
- Fail on the first timeout or Bun crash instead of retrying to green (#4837)
- Assert these contracts by behaviour instead of by source shape (#4846)
- Restore the margin the six-shard leg lost, and make a breach legible (#4851)
- Isolate the lock child's database and wait on a real signal (#4859)
- Assert the stream completed, not that it lacks the digits 502 (#4860)
- Drive the connect deadline on a virtual clock (#4867)
- The batch leg is one test run, so it must not queue against itself (#4876)
- Gate the docs site build on pull requests (#4895)
- Report a dead child instead of an opaque readiness timeout (#4902)
- Size the competing-OFF bounds on the preparation window they now measure (#4843)
- Hold the zero-output bare-error case in a sibling file (#4908)
Other Changes
Changelog
Full Changelog: v2.57.0...v2.58.0
- #4782 feat(responses): preserve native mid-turn steering over WebSocket @luvs01
- #4815 fix(cursor): quarantine textual TOOL_CALL markers off the text channel @lidge-jun
- #4816 fix(cursor): prefer observed checkpoint maxTokens as the overflow ceiling @lidge-jun
- #4817 fix(combo): fail over zero-output SSE errors @87003697
- #4824 fix(combos): allow single-target combo with waitForCooldownMs to retry after cooling @agentHits
- #4825 fix(lib): wait for a killed subprocess to die before abandoning it @lidge-jun
- #4827 chore(release): open dev at 2.58.0 before releasing 2.57.0 @github-actions[bot]
- #4832 docs(devlog): record the 2.57.0 release and its registry propagation state @lidge-jun
- #4833 fix(responses): enforce the shutdown drain reserve on the injected spill clock @lidge-jun
- #4834 test(budget): restore the 45s spawn signal and stop hardening a disposable port @lidge-jun
- #4835 test: fix the causes behind two disabled test families and re-enable them @lidge-jun
- #4836 perf(windows): stop hardening every secret temp twice @lidge-jun
- #4837 ci: fail on the first timeout or Bun crash instead of retrying to green @lidge-jun
- #4840 docs(devlog): correct the 2.57.0 Windows evidence and record the after-the-fact dispatch @lidge-jun
- #4843 test(budget): size the competing-OFF bounds on the preparation window they now measure @lidge-jun
- #4846 test: assert these contracts by behaviour instead of by source shape @lidge-jun
- #4848 fix(ollama-native): defer a mid-turn conversational message instead of refusing the replay @briascoi
- #4849 fix(lib): let a killed child actually die before anyone deletes what it holds @lidge-jun
- #4851 ci(windows): restore the margin the six-shard leg lost, and make a breach legible @lidge-jun
- #4858 feat(responses): relay native multi-agent function-result injection @luvs01
- #4859 test(codex): isolate the lock child's database and wait on a real signal @lidge-jun
- #4860 test(responses): assert the stream completed, not that it lacks the digits 502 @lidge-jun
- #4861 feat(responses): extend native result continuations and preserve hosted output @luvs01
- #4862 perf(cli): stop config show from importing the connect graph to read one flag @lidge-jun
- #4865 fix(adapters): charge adapter-owned retry sends to the request send budget @luvs01
- #4867 test(web-search): drive the connect deadline on a virtual clock @lidge-jun
- #4871 fix(xai): seed Responses tool-result adjacency for interrupted Codex threads @MerryEcho
- #4873 fix(deps): bump hono, astro, and docs-site overrides to resolve audit CVEs @agentHits
- #4875 fix(cursor): remint conversation after incomplete tool-call streams @MerryEcho
- #4876 ci(windows): the batch leg is one test run, so it must not queue against itself @lidge-jun
- #4879 docs(devlog): plan the L6 contract and quality fix lane @lidge-jun
- #4880 docs(devlog): open the L4 Responses private-field and history-repair plan unit @lidge-jun
- #4881 docs(devlog): plan the L3 retry, admission and combo-recovery unit @lidge-jun
- #4882 docs(devlog): audit the native control stack as one integration contract @lidge-jun
- #4883 fix(codex): close pool eligibility inside the caller-owned preview read fence @lidge-jun
- #4884 fix(responses): stop forwarding Codex's private access_programs to third-party upstreams @lidge-jun
- #4885 fix(bridge): classify the terminal stop reason instead of testing it for truthiness @lidge-jun
- #4886 fix(providers): give Z.AI its real discovery endpoint and response shape @lidge-jun
- #4887 fix(codebuddy): refuse DSML scaffold with a bare tool name @lidge-jun
- #4888 fix(providers): refresh the Alibaba Token Plan catalogs against gateway probes @lidge-jun
- #4889 fix(models): mirror model capacity onto the /v1/models top level @lidge-jun
- #4890 fix(models): reject an invalid custom-model context window instead of dropping it @lidge-jun
- #4891 fix(claude): report confirmed input usage in message_start when upstream has already sent it @lidge-jun
- #4892 docs(devlog): record the L4 destination-boundary reversal and both review outcomes @lidge-jun
- #4894 docs(providers): say where transientRetryOn5xx does not apply @lidge-jun
- #4895 ci: gate the docs site build on pull requests @lidge-jun
- #4896 fix(codex): restore routing without waiting on paginated history @lidge-jun
- #4899 fix(settings): apply the Desktop switches and report effective state @lidge-jun
- #4902 test(windows): report a dead child instead of an opaque readiness timeout @lidge-jun
- #4908 test(combos): hold the zero-output bare-error case in a sibling file @lidge-jun
- #4909 docs(devlog): open the 2.58.0 release train @lidge-jun
- #4911 fix(responses): bound steering confirmation waits and preserve sparse replay output @lidge-jun
- #4912 feat(responses): support safe steering settings, public API transport and executable probes @lidge-jun
- #4915 release: promote dev to main for 2.58.0 @lidge-jun