# What changed in openai

> 287 changes in openai 2 to 3 from its official release notes, upgrade guides and advisories: 16 breaking, 3 deprecations, 6 security, 138 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/pypi/openai/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## openai 3

### Breaking changes

- Errors raised while reading streams are normalized. (3.14.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.14.0)
- Usage APIs were updated; developers using usage endpoints may need to adjust their code. (3.7.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.7.0)
- The `httpx` package is no longer installed automatically, so applications that need it must account for that dependency themselves. (3.0.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.0.0)
- HTTPX2 is now the default HTTP client; applications using custom HTTPX clients, transports, or configuration objects must migrate to HTTPX2 equivalents or use the temporary legacy HTTPX escape hatch. (3.0.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.0.0)

### Security

- Adds expiration controls for service account keys. (3.11.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.11.0)
- Hardens the X.509 workload identity integration. (3.6.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.6.0)
- Preserves Azure authentication boundaries across transports. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- Applies consistent origin checks to WebSocket redirects. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)

### Deprecations

- Deprecates the MCP connector_id field. (3.16.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.16.0)
- The Sora video APIs are deprecated. (3.1.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.1.0)

### New APIs and options

- Adds typed Live sideband events for developers using the Live API. (3.35.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.35.0)
- Adds the ultrafast service tier for Agents. (3.35.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.35.0)
- Adds support for Realtime Translation WebSocket sessions. (3.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.34.0)
- Image requests and responses now include safety identifiers. (3.33.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.33.0)
- Supports audio fixture playback in Live sessions. (3.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.32.0)
- Adds cache settings and key options to the API. (3.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.32.0)
- Adds support for creating voices from prompts. (3.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.32.0)
- Adds options for regional processing residency. (3.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.32.0)
- Adds response error diagnostics. (3.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.32.0)
- Adds browser and computer toolsets for developers to use. (3.31.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.31.0)
- Adds beta session spending limits. (3.30.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.30.0)
- Exposes image tool error and moderation details. (3.30.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.30.0)
- Adds support for image URLs and detailed safety alert explanations. (3.30.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.30.0)
- Adds support for OCI as an external-storage provider. (3.30.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.30.0)
- Adds support for updating project API key expiry. (3.30.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.30.0)
- Adds the billing_not_active session error code. (3.29.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.29.0)
- Adds metadata filters. (3.29.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.29.0)
- Adds API support for suspending and expiring agent environments. (3.28.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.28.0)
- Adds standalone Decisions support to the API. (3.26.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.26.0)
- The API adds agent turn items. (3.25.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.25.0)
- Typed function helpers now support tool search with defer_loading=true. (3.25.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.25.0)
- Local tool failures can now be observed. (3.25.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.25.0)
- The API adds usage source grouping. (3.25.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.25.0)
- Adds agent session events. (3.24.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.24.0)
- Adds custom voice creation. (3.24.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.24.0)
- Chat Completions now allow original image detail. (3.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.23.0)
- The API adds session traces and Realtime translations. (3.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.23.0)
- Agents can stage files and download turn artifacts. (3.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.23.0)
- Session streams can return typed answers. (3.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.23.0)
- Typed application actions can be exposed as agent tools. (3.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.23.0)
- Adds the GPT-6.1 Sol model identifier for developers to use when selecting a model. (3.21.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.21.0)
- Adds credential and session options for Agents. (3.20.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.20.0)
- Adds Cyber access programs to Responses. (3.20.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.20.0)
- Allows opting in to incremental WebSocket text and tool snapshots. (3.20.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.20.0)
- Adds support for GCP external storage. (3.19.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.19.0)
- Adds the GPT-Rosalind research model. (3.19.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.19.0)
- Adds GPT-6 Sol and Luna model identifiers for developers to use. (3.18.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.18.0)
- Adds support for using environment variable vault credentials. (3.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.17.0)
- Adds API support for managing external storage configurations. (3.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.17.0)
- Adds support for retrieving safety cases. (3.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.17.0)
- Adds webhook events for safety warnings and deactivation. (3.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.17.0)
- Adds events for session environment resets. (3.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.17.0)
- Adds SIP media security information to incoming call events. (3.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.17.0)
- Adds webhook endpoint management. (3.16.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.16.0)
- Adds model settings for agent sessions. (3.15.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.15.0)
- Adds audio-mini model choices. (3.15.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.15.0)
- Adds events for tracking compaction progress. (3.15.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.15.0)
- Adds managed Responses WebSocket sessions. (3.15.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.15.0)
- Adds the Agents API to the OpenAI Python library. (3.13.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.13.0)
- Adds aclose() to AsyncStream for standard async cleanup. (3.12.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.12.0)
- Adds the Live API. (3.12.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.12.0)
- Adds image options for developers to use. (3.10.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.10.0)
- Adds expiration fields for service-account API keys. (3.10.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.10.0)
- Adds prompt cache diagnostics for developers to inspect prompt caching. (3.9.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.9.0)
- Adds gpt-6-astra and related API features. (3.8.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.8.0)
- Adds compute_units to Responses and Chat Completions usage. (3.6.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.6.0)
- Adds an obfuscation field to ChatCompletionChunk. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- Adds cost quantity units. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- Adds project residency configuration. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- The SDK supports named data-residency endpoints. (3.3.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.3.0)
- Adds support for using the Bedrock Runtime endpoint. (3.2.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.2.0)
- Adds new service and image types. (3.2.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.2.0)
- Adds streaming events for shell calls. (3.2.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.2.0)
- Structured MCP errors are added. (3.1.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.1.0)
- WebSocket errors are added. (3.1.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.1.0)
- WebSocket stream IDs are added to the API. (3.1.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.1.0)
- An event for an issued workload identity access token is added. (3.1.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.1.0)

### Performance

- Avoids repeated NumPy checks for embeddings. (3.7.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.7.0)

### Behavior and default changes

- Adds a degraded status for external storage. (3.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.34.0)
- Aligns beta pagination limits. (3.29.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.29.0)
- Local tools can now run during streamed session creation. (3.25.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.25.0)
- Beta Agents streams collect their final output. (3.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.23.0)
- Supports standard logging levels through OPENAI_LOG. (3.14.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.14.0)
- Function call output no longer requires a call ID. (3.5.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.5.0)
- WebSocket events are separated. (3.1.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.1.0)

### Fixes and other changes

- Preserves beta Realtime byte reads when using websockets 13. (3.35.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.35.1)
- Preserves byte receives when using websockets 13. (3.35.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.35.0)
- The Decisions cache breakpoint parameter type is now shared. (3.33.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.33.0)
- Supports Decisions in Live sessions. (3.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.32.0)
- Adds model notices. (3.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.32.0)
- Declares Realtime response error messages. (3.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.32.0)
- Restores async HTTP/1.1 connection reuse for streaming. (3.30.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.30.0)
- Adds organization Decisions usage reporting. (3.30.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.30.0)
- Aligns beta non-null parameters. (3.29.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.29.0)
- Adds shida to the named Live voices. (3.29.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.29.0)
- Adds vault updates. (3.29.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.29.0)
- Adds prewarmed hosted environments. (3.27.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.27.0)
- Corrected the parameters for custom voice creation. (3.26.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.26.1)
- type_to_response_format_param is now publicly exported. (3.25.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.25.0)
- Prioritizes routing fields in parse helpers. (3.24.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.24.0)
- Prioritizes Python request routing fields. (3.24.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.24.0)
- Corrects the endpoint used to cancel an eval run. (3.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.23.0)
- File processing timeouts use a monotonic clock. (3.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.23.0)
- Reconnects now respect send queue limits. (3.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.23.0)
- Reconnects no longer replay uncertain typed sends. (3.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.23.0)
- WebSocket endpoint paths and query parameters are retained. (3.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.23.0)
- Corrected the error message shown when authentication is missing. (3.22.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.22.1)
- Fixed transformation of NotRequired typed dictionary fields. (3.22.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.22.1)
- Computer use is now available to beta agents. (3.22.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.22.0)
- Preserves base URL queries in realtime WebSocket upgrades. (3.20.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.20.0)
- Preserves caller queues and prevents uncertain WebSocket replay in live sessions. (3.20.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.20.0)
- Retains configured queues without replaying attempted sends in realtime sessions. (3.20.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.20.0)
- Avoids hangs at fractional transcript grouping deadlines in live sessions. (3.20.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.20.0)
- Retries TLS transport errors that are not mapped. (3.20.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.20.0)
- Preserves detailed WebSocket accumulator snapshots. (3.20.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.20.0)
- Keeps query parameters out of live WebSocket endpoint paths. (3.20.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.20.0)
- Preserve single files when using fallback extraction paths. (3.19.2) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.19.2)
- Merges HTTP headers case-insensitively. (3.19.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.19.1)
- Preserves single-pass tool iterables when using chat completions. (3.19.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.19.1)
- Tolerates older optional aiohttp installations. (3.19.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.19.0)
- Propagates __api_exclude__ through recursive asynchronous transformation. (3.19.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.19.0)
- Handles omission markers in queued WebSocket events. (3.19.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.19.0)
- Retries only requests whose content can be replayed. (3.19.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.19.0)
- Preserves model choices. (3.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.17.0)
- Corrects model types. (3.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.17.0)
- Treats null message content as empty when parsing a response. (3.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.17.0)
- Dropped TextFormatT parameterization in parse_response to fix a memory leak. (3.16.2) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.16.2)
- Unrelated API resources are no longer loaded on first use. (3.16.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.16.1)
- Preserves moderation results in chat streams. (3.15.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.15.0)
- Adds prompt-cache prewarming. (3.15.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.15.0)
- Diagnostics log only metadata, limiting the information recorded. (3.14.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.14.1)
- Retry limits are validated, and application errors are preserved. (3.14.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.14.1)
- Corrects the typo in the StreamAlreadyConsumed error message. (3.14.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.14.1)
- Structured parsing is skipped for commentary responses. (3.14.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.14.1)
- Normalizes API error codes to strings. (3.14.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.14.0)
- Includes the completion in content filter errors. (3.14.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.14.0)
- Handles null text in output_text. (3.14.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.14.0)
- Normalizes PathLike upload tuples. (3.14.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.14.0)
- Preserves response stream indexes after empty items. (3.14.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.14.0)
- Bounds vector store file polling. (3.14.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.14.0)
- Handles bare dict and list annotations without type arguments. (3.12.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.12.0)
- Preserves finalized output on null response completion. (3.12.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.12.0)
- Adds GPT Image 2.5 models for developers to use. (3.10.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.10.0)
- Corrects the fields on function argument completion events. (3.9.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.9.0)
- Refuses overflowing retry delays supplied by the server. (3.9.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.9.0)
- Accepts incomplete statuses for web search calls. (3.9.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.9.0)
- Resolves one Azure authentication mode. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- Encodes Azure deployment names consistently. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- Keeps Azure provider validation errors value-free. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- Computes custom-code summaries from trusted workflow code. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- Keeps diagnostics metadata-only. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- Correctly encodes Realtime call offers and session configuration. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- Decodes SSE incrementally without limiting event size. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- Preserves the configured TLS hostname. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- Preserves byte accounting for the WebSocket send queue during flush. (3.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.4.0)
- Optional networking dependencies must be patched. (3.3.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.3.0)
- An Ultrafast tier is added. (3.1.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v3.1.0)

## openai 2

### Breaking changes

- The package now requires Python 3.10. (2.49.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.49.0)
- Requires patched aiohttp on Python 3.10 and later. (2.47.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.47.0)
- Removes beta annotation compatibility aliases. (2.46.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.46.0)
- The legacy Python CLI was removed, so developers using it may need another way to run those commands. (2.35.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.35.0)
- Stream helpers now require bearer authentication. (2.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0)
- Makes type required in ResponseInputMessageItem. (2.30.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.30.0)
- The WebSocket protocol now matches the HTTP protocol instead of using WSS. (2.27.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.27.0)
- The computer_use_preview tool is moved to ComputerUsePreview. (2.26.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.26.0)
- Removes the prompt_cache_key parameter from responses. (2.25.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.25.0)
- The model parameter is now required for the responses/compact endpoint. (2.10.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.10.0)
- Support for Python 3.8 was dropped. (2.7.2) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.7.2)
- InputAudio is removed from ResponseInputContent. (2.7.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.7.0)

### Security

- Admin authentication no longer falls back to bearer authentication. (2.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0)
- Sanitizes endpoint path params. (2.30.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.30.0)

### Deprecations

- Assistants are marked as deprecated. (2.16.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.16.0)

### New APIs and options

- Adds new model identifiers for the Responses API. (2.54.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.54.0)
- Adds gpt-5.5 to the available model types. (2.53.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.53.0)
- Adds the tool name field to Responses types. (2.53.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.53.0)
- Adds the tool namespace field to Responses types. (2.53.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.53.0)
- Added content provenance checks to the API. (2.52.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.52.0)
- The API and helper methods support the fast tier. (2.51.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.51.0)
- API requests now accept None for prompt_cache_key. (2.48.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.48.0)
- API requests now accept None for safety_identifier. (2.48.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.48.0)
- Adds support for spend_limit admin APIs. (2.48.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.48.0)
- Adds experimental runtime support for HTTPX2 clients. (2.47.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.47.0)
- Adds the owner_project_access parameter to APIKeyListParams. (2.46.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.46.0)
- Adds the service-account API keys endpoint under organization projects. (2.46.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.46.0)
- Adds admin spend alerts to the API, enabling developers to use spend alert operations through the SDK. (2.42.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.42.0)
- Adds the chat completions moderation API. (2.41.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.41.0)
- Adds the responses moderation API. (2.41.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.41.0)
- Adds support for using Responses with Amazon Bedrock. (2.40.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.40.0)
- Responses can include an additional_tools item. (2.39.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.39.0)
- The responses compact method accepts a service_tier parameter. (2.37.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.37.0)
- Adds realtime API updates identified in the notes as “realtime 2”; no endpoint or identifier details are provided. (2.36.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.36.0)
- Admin API key authentication is supported. (2.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0)
- Support was added for Admin API Keys per endpoint. (2.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0)
- Users now support an email parameter. (2.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0)
- Projects now support external_key_id. (2.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0)
- Headers can now be set via environment variables. (2.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0)
- Users now support a metadata parameter. (2.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0)
- Adds detail to InputFileContent, allowing developers to provide this information. (2.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.32.0)
- Adds the OAuthErrorCode type for working with OAuth error codes. (2.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.32.0)
- Adds an event handler implementation for websockets. (2.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.32.0)
- Adds support for reconnection in websockets. (2.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.32.0)
- A phase field is added to conversations messages. (2.31.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.31.0)
- The client supports sending raw data over websockets. (2.31.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.31.0)
- The client adds support for short-lived tokens. (2.31.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.31.0)
- Adds a keys field to Click, DoubleClick, Drag, Move, and Scroll computer actions. (2.30.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.30.0)
- Adds 5.4 nano and mini model slugs for use with the API. (2.29.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.29.0)
- The batches create method now supports the /v1/videos endpoint. (2.29.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.29.0)
- Adds the in operator to the ComparisonFilter type. (2.29.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.29.0)
- Adds the nin operator to the ComparisonFilter type. (2.29.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.29.0)
- Adds the defer_loading field to ToolFunction. (2.29.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.29.0)
- Adds support for custom voices. (2.28.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.28.0)
- Sora API improvements include a character API. (2.27.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.27.0)
- Sora API improvements include higher resolution exports. (2.27.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.27.0)
- Sora API improvements include video extensions and edits. (2.27.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.27.0)
- Adds a new computer tool to the API. (2.25.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.25.0)
- Adds gpt-5.4 for developers to use through the API. (2.25.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.25.0)
- Adds the tool search tool to the API. (2.25.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.25.0)
- Adds phase to the API. (2.24.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.24.0)
- Added as a model option for realtime calls. (2.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.23.0)
- Added as a model option for realtime calls. (2.23.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.23.0)
- WebSockets are now available for the Responses API. (2.22.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.22.0)
- Container support adds network_policy, allowing developers to configure container network policy. (2.21.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.21.0)
- Container support adds skills. (2.21.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.21.0)
- The batch API now supports images, allowing developers to include images in batch requests. (2.20.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.20.0)
- Adds API support for skills and hosted shell. (2.19.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.19.0)
- Adds context_management to responses, allowing developers to use this new Responses API capability. (2.18.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.18.0)
- Adds a custom JSON encoder to support extended types. (2.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.17.0)
- Adds image generation actions for responses. (2.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.17.0)
- Adds the name field to ResponseFunctionCallArgumentsDoneEvent. (2.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.17.0)
- Adds a status field to shell_call_output so developers can access the output status. (2.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.17.0)
- The client adds support for binary request streaming. (2.16.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.16.0)
- The Response object now includes a completed_at property. (2.15.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.15.0)
- Slugs are available for new audio models. (2.14.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.14.0)
- All model parameters now accept strings, allowing developers to pass model identifiers directly. (2.14.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.14.0)
- Adds gpt-image-1.5 to the API. (2.13.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.13.0)
- Adds support for GPT-5.2 in the API. (2.11.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.11.0)
- Adds gpt-5.1-codex-max as a supported API model. (2.9.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.9.0)
- Adds support for the responses/compact API. (2.9.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.9.0)
- GPT-5.1 is supported by the API. (2.8.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.8.0)
- Hybrid searching gains ranking options. (2.7.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.7.0)
- The Realtime API adds token_limits. (2.7.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.7.0)
- Adds responses.input_tokens.count to count input tokens. (2.6.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.6.0)
- The audio/transcriptions endpoint now supports gpt-4o-transcribe-diarize. (2.4.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.4.0)

### Behavior and default changes

- client_id is no longer necessary when using the workload identity provider for authentication. (2.37.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.37.0)
- Allows enqueuing to websockets even when they are not connected. (2.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.32.0)
- The GA ComputerTool now uses the CompuerTool class. (2.26.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.26.0)

### Fixes and other changes

- Clarifies the metadata requirements for audio uploads. (2.54.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.54.0)
- The client now honors Retry-After delays up to two minutes. (2.52.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.52.0)
- The transcription keyword overload was restored. (2.50.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.50.0)
- Transcription model updates were made to the API. (2.50.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.50.0)
- Beta resource accessors are restored, allowing developers to access beta resources again. (2.45.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.45.0)
- API updates for gpt-5.6-sol may affect how developers use the model. (2.45.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.45.0)
- Prioritizes the first auth header. (2.44.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.44.0)
- Allows Bedrock API keys to be set directly on the client. (2.40.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.40.0)
- ActionSearch.query is optional. (2.39.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.39.0)
- Workload identity is included in audit logs. (2.39.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.39.0)
- The missing f-string prefix in a file type error message is fixed. (2.37.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.37.0)
- Fixes a regression in the imagegen size enum. (2.35.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.35.1)
- The image API was updated; the notes do not specify the particular API changes. (2.35.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.35.0)
- Explicit Azure authentication headers are now allowed. (2.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0)
- The Response model's completed_at timestamp type is corrected to int. (2.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0)
- The Response model's created_at timestamp type is corrected to int. (2.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0)
- Multipart file arrays now use the correct field name format. (2.34.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0)
- The enum value was corrected from in-memory to in_memory. (2.33.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.34.0), [release notes](https://github.com/openai/openai-python/releases/tag/v2.33.0)
- Ensures file data are sent as only one parameter. (2.32.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.32.0)
- Hardcoded query parameters are preserved when merged with user params. (2.31.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.31.0)
- Aligns SDK response types with expanded item schemas. (2.30.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.30.0)
- The SDK no longer passes by_alias unless it is set. (2.29.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.29.0)
- The merged videos resource was repaired. (2.27.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.27.0)
- Fixes the phase enum. (2.24.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.24.0)
- Fixes a memory leak in parse methods. (2.21.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.21.0)
- Preserves method visibility for compatibility checks. (2.21.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.21.0)
- Updates the type for the find_in_page action. (2.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.17.0)
- Undoes a change to the web search Find action. (2.17.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.17.0)
- The patch method now uses async_to_httpx_files. (2.14.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.14.0)
- Dated slugs were added for sora-2. (2.12.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.12.0)
- The grader input list was fixed. (2.12.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.12.0)
- Pyright can now infer TypedDict types within SequenceNotStr. (2.10.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.10.0)
- The client no longer mutates a user-provided response config object. (2.9.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.9.0)
- Streams are now always closed. (2.9.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.9.0)
- Aligned the TypeScript types for input items and output items. (2.8.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.8.1)
- The signature is updated for Pydantic v1 compatibility. (2.8.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.8.0)
- The signature is updated for Pydantic v1 compatibility. (2.8.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.8.0)
- Compatibility with Python 3.14 was fixed. (2.7.2) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.7.2)
- Fixes the nullability of logprobs. (2.7.1) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.7.1)
- Uploads avoid leaking file handles. (2.7.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.7.0)
- Streams can be closed without requiring full consumption. (2.7.0) — [release notes](https://github.com/openai/openai-python/releases/tag/v2.7.0)
