[pull] main from openai:main - #122
Merged
Merged
Conversation
Automated Release PR --- ## 2.52.1 (2026-07-31) Full Changelog: [v2.52.0...v2.52.1](v2.52.0...v2.52.1) ### Chores * **ci:** pin setup-uv v5 to its underlying commit ([#3560](#3560)) ([cbdc98b](cbdc98b)) --- This pull request is managed by Stainless's [GitHub App](https://github.com/apps/stainless-app). The [semver version number](https://semver.org/#semantic-versioning-specification-semver) is based on included [commit messages](https://www.conventionalcommits.org/en/v1.0.0/). Alternatively, you can manually set the version number in the title of this pull request. For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request. 🔗 Stainless [website](https://www.stainlessapi.com) 📚 Read the [docs](https://app.stainlessapi.com/docs) 🙋 [Reach out](mailto:support@stainlessapi.com) for help or questions Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
## Summary - replace `stainless-api/trigger-release-please` with the upstream `googleapis/release-please-action`, pinned to verified v5.0.0 commit `45996ed` - run release-please explicitly against `main` with the repository's manifest configuration - use the built-in `GITHUB_TOKEN` explicitly and remove the `STAINLESS_API_KEY` action input - switch the config schema to upstream release-please and remove Stainless's prerelease/beta settings - explicitly dispatch required checks for the generated `release-please--branches--main` PR - keep the `publish` environment scoped to the PyPI publish job ## Impact Release PRs and GitHub releases are now managed entirely by the open-source release-please action. Stable release versions continue to update `CHANGELOG.md`, `.release-please-manifest.json`, `pyproject.toml`, and `src/openai/_version.py`; successful GitHub release creation still gates the existing build and trusted PyPI publish jobs. Release Please deliberately uses `GITHUB_TOKEN`. Because GitHub suppresses ordinary push and pull-request events created by that token, a separate least-privilege job explicitly dispatches CI, breaking-change detection, and CodeQL against the generated release PR. It fetches the PR's live base SHA immediately before dispatch and restricts this path to the exact `release-please--branches--main` ref. ## Permission audit - release: `contents: write` for the release branch, tags, and GitHub releases; `pull-requests: write` for release PRs; `issues: write` for PR labels - release PR checks: `actions: write` only to dispatch workflows and `pull-requests: read` only to obtain the current base SHA and verify the generated head branch - CI and breaking-change workflows: default `contents: read`; the secret-bearing examples job is not dispatched for release PRs - CI build: `contents: read` only, with checkout credential persistence disabled; the Stainless mirror's OIDC upload is isolated in a separate Stainless-only job - CodeQL: `contents: read` and `security-events: write` in its existing dedicated workflow - package build: `contents: read` only, with checkout credential persistence disabled - publish: `id-token: write` only for PyPI Trusted Publishing - no App private key, Stainless credential, or PyPI credential is exposed to the release workflow ## Validation - release-please v17.6.0 `debug-config --dry-run`: loaded the Python strategy with stable/default versioning and target branch `main` - release-please v17.6.0 `release-pr --dry-run`: generated the expected stable branch and version-file changes - release-please config validated against the exact v17.6.0 upstream JSON schema; current manifest baseline is `2.52.1` - pinned action interface, outputs, branch naming, and documented permissions verified against upstream source - actionlint and YAML/JSON parsing - `git diff --check` - thermo-nuclear code-quality review: no findings ## Cutover prerequisites completed - existing Stainless release PR #3562 was reviewed, merged, and released successfully as [v2.52.1](https://github.com/openai/openai-python/releases/tag/v2.52.1); the current release workflow completed GitHub release creation, build, and PyPI publishing in [run 30835897995](https://github.com/openai/openai-python/actions/runs/30835897995) - GitHub rejected its built-in Actions integration as a ruleset bypass actor, so active legacy ruleset `15951502` now excludes only `refs/heads/release-please--branches--main`; all other `release-please--*` branches and the two original bypass actors remain unchanged - the migration branch includes the published `2.52.1` manifest/version baseline ## After merge - remove the now-unused `STAINLESS_API_KEY` secret from the repository/environment - any future migration to the `openai-sdks` App should be handled separately; this PR intentionally uses only `GITHUB_TOKEN`
) ## Summary Allow the new gpt-5.5 model in Responses-related parameters and events, and expose optional name and namespace metadata on function/tool call output items in both beta and stable types. These are additive, backward-compatible SDK changes. ## Changes - Allow the model value "gpt-5.5" in all Responses-related model/type unions and parameter definitions (chat model literals used by Responses create/compact params and client event types) for both beta and stable APIs. - Add optional name: Optional[str] and namespace: Optional[str] fields to function/tool-call output item models in both beta and stable (model classes) so callers can access the producing tool's name and namespace. - Add corresponding optional name and namespace entries to the TypedDict parameter representations for function/tool-call output items (beta and stable) so typed request/response shapes include the new metadata. - No public symbols were removed or renamed and all additions are optional; there are no breaking API contract changes. Internal pull request: openai/openai-python-internal#15 ## Validation - Generated SDK changes were copied from the internal pull request. - Public SDK CI runs against this draft pull request. Co-authored-by: apcha-oai <228803254+apcha-oai@users.noreply.github.com>
## Root cause - Rye caching was disabled, and the lockfiles pinned a NumPy version without Python 3.14 wheels, forcing slow source builds. - The HTTPX 2 job reran the ordinary HTTPX suite already covered by the main test matrix. - Separately, `uv.lock` lacked the Release Please marker needed to keep its SDK version current. ## Fix - Restore Python-specific Rye environment caching and select prebuilt NumPy wheels for each supported interpreter. - Run only the HTTPX 2 suite in the HTTPX 2 job. - Add the missing Release Please annotation and register `uv.lock` for release updates. ## Results - HTTPX 2: **10m42s → 2m12s** - Python 3.14: **8m37s → 1m53s** Validated with lint, SDK builds, lockfile checks, and both HTTPX/HTTPX 2 suites under Pydantic 1 and 2. Fixes [SDK-221](https://linear.app/openai/issue/SDK-221/python-ci-takes-too-long-because-numpy-is-compiled-from-scratch).
Automated Release PR --- ## [2.53.0](v2.52.1...v2.53.0) (2026-08-03) ### Features * **api:** Add gpt-5.5 and tool name/namespace to Responses types ([#3569](#3569)) ([dd1202d](dd1202d)) ### Bug Fixes * **ci:** avoid NumPy source builds and duplicate HTTPX coverage ([#3573](#3573)) ([b58332f](b58332f)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Justin Beckwith <jbeckwith@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )