Skip to content

Releases: openai/openai-agents-python

v0.15.0

01 May 06:44
f7410c8

Choose a tag to compare

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

29 Apr 03:39
7029ea8

Choose a tag to compare

What's Changed

Documentation & Other Changes

New Contributors

Full Changelog: v0.14.7...v0.14.8

v0.14.7

28 Apr 06:46
8d7f05b

Choose a tag to compare

What's Changed

Documentation & Other Changes

  • Release 0.14.7 by @github-actions[bot] in #3031

New Contributors

Full Changelog: v0.14.6...v0.14.7

v0.14.6

25 Apr 02:31
9a207b6

Choose a tag to compare

What's Changed

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

Full Changelog: v0.14.5...v0.14.6

v0.14.5

23 Apr 02:20
fe3a5e6

Choose a tag to compare

What's Changed

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

Full Changelog: v0.14.4...v0.14.5

v0.14.4

21 Apr 19:28
4e43cba

Choose a tag to compare

What's Changed

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

20 Apr 22:24
5d300f0

Choose a tag to compare

What's Changed

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

Full Changelog: v0.14.2...v0.14.3

v0.14.2

18 Apr 00:17
e80d2d2

Choose a tag to compare

What's Changed

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 temporalio Dep in Temporal example by @JasonSteving99 in #2918
  • Release 0.14.2 by @github-actions[bot] in #2899

New Contributors

Full Changelog: v0.14.1...v0.14.2

v0.14.1

15 Apr 19:26
3dffa4b

Choose a tag to compare

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

Full Changelog: v0.14.0...v0.14.1

v0.14.0

15 Apr 17:11
a7ccef4

Choose a tag to compare

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: an Agent with sandbox defaults such as default_manifest, sandbox instructions, capabilities, and run_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:

  • UnixLocalSandboxClient for fast local development.
  • DockerSandboxClient for 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, SDK Session, 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, explicit SandboxSessionState, 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 RunState serialization.
  • 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.