Skip to content

v0.17.0

Latest

Choose a tag to compare

@seratch seratch released this 19 Aug 14:37
· 2 commits to main since this release
0319b65

Key Changes

Output-guardrail replay safety

Serialized output-bearing approval checkpoints now fail closed with UserError when the SDK cannot prove which response owns a pending terminal tool output. Continue with the live RunState when possible, or start a new run from safe input instead of replaying ambiguous serialized items. When an output guardrail rejects a completed function-tool result used as final output, the SDK replaces rejected content in SDK-owned replay surfaces with Output withheld by an output guardrail., sanitizes current guardrail metadata, and preserves earlier accepted history. This does not undo external tool side effects or erase application-owned copies.

Complete guardrail batch results

Guardrails started in the same batch now settle before the runner surfaces a tripwire or execution failure. Completed sibling results remain available in run state while further run processing is halted.

Explicit OpenAI client configuration

OpenAIProvider now rejects organization or project when openAIClient is also supplied because provider-level values cannot modify an already-created client. Configure these values when constructing the OpenAI client, then pass that client through openAIClient.

What's Changed

  • fix(core): redact blocked tool outputs and aliases from replay state by @seratch in #1712
  • fix(openai): reject ignored explicit-client options by @seratch in #1718

Documentation & Other Changes

  • docs: v01.6.1 release by @seratch in #1696
  • docs: fix access token typo in connectors example by @Chair403 in #1716
  • fix: keep Codex verification for development sandboxed by @seratch in #1707
  • chore: update versions by @github-actions[bot] in #1717

New Contributors

Full Changelog: v0.16.1...v0.17.0