Releases: openai/openai-agents-python
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
v0.14.0
What's Changed
Sandbox Agents
This release adds Sandbox Agents, a beta SDK surface for running agents with a persistent, isolated workspace. Sandbox agents keep the normal Agent and Runner flow, but add workspace manifests, sandbox-native capabilities, sandbox clients, snapshots, and resume support so agents can work over real files, run commands, edit repositories, generate artifacts, and continue work across runs.
Key pieces:
SandboxAgent: anAgentwith sandbox defaults such asdefault_manifest, sandbox instructions, capabilities, andrun_as.Manifest: a fresh-workspace contract for files, directories, local files, local directories, Git repos, environment, users, groups, and mounts.SandboxRunConfig: per-run sandbox wiring for client creation, live session injection, serialized session resume, manifest overrides, snapshots, and materialization concurrency limits.- Built-in capabilities for shell access, filesystem editing and image inspection, skills, memory, and compaction.
- Workspace snapshots and serialized sandbox session state for reconnecting to existing work or seeding a fresh sandbox from saved contents.
Sandbox clients and hosted providers
Sandbox agents now support local, containerized, and hosted execution backends:
UnixLocalSandboxClientfor fast local development.DockerSandboxClientfor container isolation and image parity.- Hosted sandbox clients for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.
The release also adds provider-specific examples and mount strategies for common storage backends, including S3, Cloudflare R2, Google Cloud Storage, Azure Blob Storage, and S3 Files where supported by the selected backend.
Sandbox memory
Adds a sandbox memory capability that lets future sandbox-agent runs learn from prior runs. Memory stores extracted lessons in the sandbox workspace, injects a concise summary into later runs, and uses progressive disclosure so agents can search deeper rollout summaries only when useful.
Memory supports:
- Read-only or generate-only modes.
- Live updates when the agent discovers stale memory.
- Multi-turn grouping through
conversation_id, SDKSession,RunConfig.group_id, or generated run IDs. - Separate memory layouts for isolating memory across agents or workflows.
- S3-backed examples for persisted memory across runs.
Workspace mounts, snapshots, and resume
This release adds a full workspace entry and mount model for sandbox sessions:
- Local files and directories.
- Synthetic files and directories.
- Git repository entries.
- Remote storage mounts for S3, R2, GCS, Azure Blob Storage, and S3 Files.
- Provider-specific mount strategies across Docker, Modal, Cloudflare, Blaxel, Daytona, E2B, and Runloop.
- Portable snapshots with path normalization, symlink preservation, mount-safe snapshotting, and remote snapshot support.
- Resume paths through runner-managed
RunState, explicitSandboxSessionState, or saved snapshots.
Examples and tutorials
Adds a large examples/sandbox/ suite covering:
- Local Unix and Docker sandbox runners.
- Docker mount smoke tests for S3, GCS, Azure Blob Storage, and S3 Files.
- Sandbox coding tasks with skills.
- Sandbox agents as tools and handoff patterns.
- Memory examples, including multi-agent/multi-turn memory and S3-backed memory.
- Tax-prep and healthcare-support workflows.
- Dataroom QA and metric extraction tutorials.
- Repository code review tutorial.
- Vision website clone tutorial.
- Provider examples for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Temporal, and Vercel.
Runtime, tracing, and model plumbing
The release includes the runtime plumbing needed to make sandbox agents work naturally inside the existing SDK:
- Runner-managed sandbox preparation, capability binding, session lifecycle, state serialization, and resume behavior.
- Sandbox-aware
RunStateserialization. - Unified sandbox tracing with SDK spans.
- Token usage on tracing spans.
- Runner-managed prompt cache key defaults.
- OpenAI agent registration and harness ID configuration.
- Safer redaction of sensitive MCP tool outputs when sensitive tracing is disabled.
- Additional OpenAI client/model utilities and Chat Completions coverage.
Documentation & Other Changes
- docs: add Asqav to external tracing processors list.
- docs: update translated document pages.
v0.13.6
What's Changed
- fix: #2863 lazy-load SQLiteSession exports by @seratch in #2864
- fix: #2856 stop recursive trace preview truncation by @seratch in #2860
- fix: harden SQLAlchemySession against transient SQLite locks by @seratch in #2854
Documentation & Other Changes
- docs: updates for #2844 changes by @seratch in #2845
- docs: update translated document pages by @github-actions[bot] in #2847
- docs(tracing): add HoneyHive to tracing integrations list by @m1lestones in #2851
- docs: update translated document pages by @github-actions[bot] in #2853
- Release 0.13.6 by @github-actions[bot] in #2861
New Contributors
- @m1lestones made their first contribution in #2851
Full Changelog: v0.13.5...v0.13.6
v0.13.5
What's Changed
- feat: #2807 support callable approval policies for local MCP servers by @seratch in #2818
- feat: #2135 add public flush_traces API by @seratch in #2844
- fix: #2823 AnyLLM reasoning extraction for iterable vLLM/any-llm Reasoning objects by @ziqi-cn in #2822
- fix: serialize SQLite session writes with shared file locks by @seratch in #2843
Documentation & Other Changes
- chore(deps): bump openai/codex-action from 1.4 to 1.6 by @dependabot[bot] in #2819
- chore(deps): bump astral-sh/setup-uv from 7.3.1 to 8.0.0 by @dependabot[bot] in #2820
- docs: sync examples.md with current examples directory by @AbdullahBapra in #2827
- docs: update translated document pages by @github-actions[bot] in #2828
- Release 0.13.5 by @github-actions[bot] in #2821
New Contributors
- @AbdullahBapra made their first contribution in #2827
- @ziqi-cn made their first contribution in #2822
Full Changelog: v0.13.4...v0.13.5
v0.13.4
v0.13.3
What's Changed
- fix: #2798 avoid stale hydrated input ids in server conversation tracker by @seratch in #2800
- fix: #2797 accept raw image_url content parts on chat completions input by @seratch in #2799
Documentation & Other Changes
- docs: add non-OpenAI provider code example by @Muttaqi110 in #2792
- docs: update translated document pages by @github-actions[bot] in #2793
- chore: add Codex Stop hook for targeted Ruff tidy by @seratch in #2795
- Release 0.13.3 by @github-actions[bot] in #2801
New Contributors
- @Muttaqi110 made their first contribution in #2792
Full Changelog: v0.13.2...v0.13.3