Releases: openai/openai-agents-python
v0.15.1
What's Changed
- feat: expose Responses WebSocket keepalive options by @seratch in #3080
- fix: restore UnixLocal PTY terminal signal defaults by @seratch in #3082
- fix: #3074 restore SIGINT defaults for UnixLocal PTY children by @Aphroq in #3075
Documentation & Other Changes
- docs: add 0.15 changelog by @seratch in #3058
- docs: update translated document pages by @github-actions[bot] in #3064
- docs: improve quickstart documentation for Windows OS users by @seratch in #3071
- docs: update translated document pages by @github-actions[bot] in #3072
- test: cover guardrail name fallback to function name by @Quratulain-bilal in #3073
- chore: harden Dapr Redis integration fixture loading by @Aphroq in #3078
- Release 0.15.1 by @github-actions[bot] in #3083
New Contributors
Full Changelog: v0.15.0...v0.15.1
v0.15.0
Key Changes
Better model refusal handling
In this version, model refusals are now surfaced explicitly as ModelRefusalError instead of being treated as empty text output or, for structured outputs, causing the run loop to retry until MaxTurnsExceeded.
This affects code that previously expected a refusal-only model response to complete with final_output == "". To handle refusals without raising, provide a model_refusal run error handler:
result = Runner.run_sync(
agent,
input,
error_handlers={"model_refusal": lambda data: data.error.refusal},
)For structured-output agents, the handler can return a value matching the agent's output schema, and the SDK will validate it like other run error handler final outputs.
What's Changed
Documentation & Other Changes
- docs: add missing space after period in MCPServerStdio docstring by @GopalGB in #3053
- chore(deps): bump actions/github-script from 8.0.0 to 9.0.0 by @dependabot[bot] in #3059
- chore(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 by @dependabot[bot] in #3062
- chore(deps): bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 by @dependabot[bot] in #3061
- chore(deps): bump openai/codex-action from 1.6 to 1.8 by @dependabot[bot] in #3060
- Release 0.15.0 by @github-actions[bot] in #3063
New Contributors
Full Changelog: v0.14.8...v0.15.0
v0.14.8
What's Changed
- fix: #3046 preserve MCP re-export import errors by @seratch in #3048
- fix: #3043 delimit sandbox prompt instruction sections by @seratch in #3047
Documentation & Other Changes
- docs: fix typo in comment for WS event handler by @ateamofantsintheirprime in #3050
- Release 0.14.8 by @github-actions[bot] in #3049
New Contributors
- @ateamofantsintheirprime made their first contribution in #3050
Full Changelog: v0.14.7...v0.14.8
v0.14.7
What's Changed
- feat: #2886 add convenience properties (tool_name, call_id) to tool items by @jawwad-ali in #3027
- fix: raise Phase 2 memory consolidation turn limit by @andi-oai in #3038
- fix: add GPT-5.5 aliases to sandbox compaction by @alfozan in #3039
- fix: tighten tar and zip member validation by @matthewflint in #3028
- fix: reject symlinked LocalFile sources by @matthewflint in #2972
- fix: remove unset fields from calls to Responses API by @s0rc3r3r01 in #3026
Documentation & Other Changes
- Release 0.14.7 by @github-actions[bot] in #3031
New Contributors
- @jawwad-ali made their first contribution in #3027
- @s0rc3r3r01 made their first contribution in #3026
- @andi-oai made their first contribution in #3038
Full Changelog: v0.14.6...v0.14.7
v0.14.6
What's Changed
- fix: update examples and defaults to GPT-5.5 by @alfozan in #3016
- chore: relax websockets upper bound from <16 to <17 by @mathisobadia in #3013
Documentation & Other Changes
- chore: harden uv dependency resolution by @mcgrew-oai in #3014
- docs: update translated document pages by @github-actions[bot] in #3021
- docs: add MongoDB session documentation by @alexbevi in #3015
- docs: update translated document pages by @github-actions[bot] in #3023
- Release 0.14.6 by @github-actions[bot] in #3022
New Contributors
- @mcgrew-oai made their first contribution in #3014
- @mathisobadia made their first contribution in #3013
Full Changelog: v0.14.5...v0.14.6
v0.14.5
What's Changed
- feat: #3001 add Modal sandbox idle timeout option by @seratch in #3005
- fix: #3004 serve HITL resume tool outputs by @seratch in #3006
- fix: backfill streamed terminal output by @ankitphogat in #3000
Documentation & Other Changes
- docs: clarify lazy skill source host paths by @alfozan in #2998
- docs: update translated document pages by @github-actions[bot] in #2999
- Release 0.14.5 by @github-actions[bot] in #3007
New Contributors
- @ankitphogat made their first contribution in #3000
Full Changelog: v0.14.4...v0.14.5
v0.14.4
What's Changed
- feat: add BoxMount support by @alfozan in #2988
- fix: ignore relative snapshot base overrides by @matthewflint in #2976
- refactor: share sandbox ephemeral mount lifecycle by @seratch in #2986
- refactor: share sandbox tar exclude arg generation by @seratch in #2987
- refactor: extract sandbox session helper operations by @seratch in #2985
Documentation & Other Changes
- docs: remove duplicate word in voice interruptions section by @abhicris in #2981
- docs: update translated document pages by @github-actions[bot] in #2982
- docs: update translated document pages by @github-actions[bot] in #2996
- test: add sandbox compatibility guards by @seratch in #2984
- Release 0.14.4 by @github-actions[bot] in #2989
New Contributors
Full Changelog: v0.14.3...v0.14.4
v0.14.3
What's Changed
- fix: #2962 normalize sandbox paths and add Windows CI by @seratch in #2963
- fix: #2938 make sandboxes importable on Windows by @seratch in #2948
- fix: prepare Daytona workspace root before start by @seratch in #2956
- fix: windows errors with #2956 by @seratch in #2979
- fix: #2951 warn for tool name character replacement by @seratch in #2953
- fix: tighten LocalSnapshot restorable checks by @matthewflint in #2975
- fix: bound manifest description truncation by @matthewflint in #2974
- fix: move module docstring to top of
handoff_filters.pyso it is assigned to__doc__by @kuishou68 in #2950
Documentation & Other Changes
- docs: add Datadog as an external tracer in the tracing docs by @jarbaugh5 in #2965
- docs: update translated document pages by @github-actions[bot] in #2978
- Release 0.14.3 by @github-actions[bot] in #2980
New Contributors
- @kuishou68 made their first contribution in #2950
- @jarbaugh5 made their first contribution in #2965
- @matthewflint made their first contribution in #2975
Full Changelog: v0.14.2...v0.14.3
v0.14.2
What's Changed
- feat: support sandbox extra path grants by @qiyaoq-oai in #2920
- feat: #2228 persist tool origin metadata in run items by @seratch in #2654
- feat(extensions): add MongoDB session backend by @alexbevi in #2902
- fix: loosen sandbox compaction model parsing by @sdcoffey in #2930
- fix: remove_all_tools missing hosted tool types by @javierdejesusda in #2885
- fix: tolerate None text in ResponseOutputText content items by @beveradb in #2883
- fix: #1876 LiteLLM extra_body forwarding by @yu2001-s in #2900
- fix: trust filesystem permissions for Vercel roots by @scotttrinh in #2910
- fix: #604 handle None choices in ChatCompletion response by @Spectual in #2850
- fix: normalize compacted Responses user inputs before session reuse by @seratch in #2925
- fix: #2929 surface run-loop exceptions after stream_events() completes by @nileshpatil6 in #2931
Documentation & Other Changes
- docs: clarify OpenAI provider configuration guidance by @seratch in #2901
- docs: update translated document pages by @github-actions[bot] in #2903
- docs: sync sandbox translations and set doc translation default model to gpt-5.4 by @seratch in #2904
- docs: update translated document pages by @github-actions[bot] in #2935
- chore: bump
temporalioDep in Temporal example by @JasonSteving99 in #2918 - Release 0.14.2 by @github-actions[bot] in #2899
New Contributors
- @javierdejesusda made their first contribution in #2885
- @beveradb made their first contribution in #2883
- @yu2001-s made their first contribution in #2900
- @JasonSteving99 made their first contribution in #2918
- @scotttrinh made their first contribution in #2910
- @Spectual made their first contribution in #2850
- @alexbevi made their first contribution in #2902
- @qiyaoq-oai made their first contribution in #2920
- @nileshpatil6 made their first contribution in #2931
Full Changelog: v0.14.1...v0.14.2
v0.14.1
What's Changed
- fix: sanitize OpenAI tracing export payloads by @alfozan in #2896
- fix: #2873 preserve computer driver compatibility for modifier keys by @seratch in #2877
- fix #2151 shield server-managed handoffs from unsupported history rewrites by @seratch in #2747
- fix: stop streamed tool execution after known input guardrail tripwire by @seratch in #2688
Documentation & Other Changes
- docs: update translated document pages by @github-actions[bot] in #2891
- docs: align translated sandbox nav and refresh generated refs by @seratch in #2892
- docs: clarify ToolContext availability in function-tool lifecycle hooks by @HuxleyHu98 in #2687
- docs: update translated document pages by @github-actions[bot] in #2893
- ci: add sandbox auto-label mapping by @seratch in #2894
- Release 0.14.1 by @github-actions[bot] in #2895
New Contributors
- @HuxleyHu98 made their first contribution in #2687
- @alfozan made their first contribution in #2896
Full Changelog: v0.14.0...v0.14.1