Skip to content

release: 2.52.1 - #3562

Merged
jbeckwith-oai merged 1 commit into
mainfrom
release-please--branches--main--changes--next
Aug 3, 2026
Merged

release: 2.52.1#3562
jbeckwith-oai merged 1 commit into
mainfrom
release-please--branches--main--changes--next

Conversation

@stainless-app

@stainless-app stainless-app Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Automated Release PR

2.52.1 (2026-07-31)

Full Changelog: v2.52.0...v2.52.1

Chores

  • ci: pin setup-uv v5 to its underlying commit (#3560) (cbdc98b)

This pull request is managed by Stainless's GitHub App.

The semver version number is based on included commit messages. 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
📚 Read the docs
🙋 Reach out for help or questions

@openai-sdks

openai-sdks Bot commented Jul 31, 2026

Copy link
Copy Markdown

OkTest Summary

237/237 SDK tests passed in 11.674s for Python SDK PR #3562.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 174ms
tests/chat-completions-create.test.ts ✅ Passed 248ms
tests/chat-completions-stream.test.ts ✅ Passed 135ms
tests/files-content-binary.test.ts ✅ Passed 272ms
tests/files-create-multipart.test.ts ✅ Passed 260ms
tests/files-list-pagination.test.ts ✅ Passed 170ms
tests/initialize-config.test.ts ✅ Passed 216ms
tests/instance-isolation.test.ts ✅ Passed 194ms
tests/models-list.test.ts ✅ Passed 244ms
tests/responses-background-lifecycle.test.ts ✅ Passed 244ms
tests/responses-body-method-errors.test.ts ✅ Passed 378ms
tests/responses-cancel-timeout.test.ts ✅ Passed 201ms
tests/responses-cancel.test.ts ✅ Passed 306ms
tests/responses-compact-retries.test.ts ✅ Passed 355ms
tests/responses-compact.test.ts ✅ Passed 326ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 138ms
tests/responses-create-advanced.test.ts ✅ Passed 217ms
tests/responses-create-disconnect.test.ts ✅ Passed 1.331s
tests/responses-create-errors.test.ts ✅ Passed 251ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 288ms
tests/responses-create-retries.test.ts ✅ Passed 363ms
tests/responses-create-stream-failures.test.ts ✅ Passed 143ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 240ms
tests/responses-create-stream-wire.test.ts ✅ Passed 3.715s
tests/responses-create-stream.test.ts ✅ Passed 94ms
tests/responses-create-terminal-states.test.ts ✅ Passed 250ms
tests/responses-create-timeout.test.ts ✅ Passed 208ms
tests/responses-create.test.ts ✅ Passed 239ms
tests/responses-delete.test.ts ✅ Passed 272ms
tests/responses-input-items-errors.test.ts ✅ Passed 340ms
tests/responses-input-items-list.test.ts ✅ Passed 303ms
tests/responses-input-items-options.test.ts ✅ Passed 324ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 267ms
tests/responses-input-tokens-count.test.ts ✅ Passed 275ms
tests/responses-malformed-inputs.test.ts ✅ Passed 2.972s
tests/responses-not-found-errors.test.ts ✅ Passed 297ms
tests/responses-parse.test.ts ✅ Passed 388ms
tests/responses-retrieve-retries.test.ts ✅ Passed 279ms
tests/responses-retrieve.test.ts ✅ Passed 211ms
tests/responses-stored-method-errors.test.ts ✅ Passed 731ms
tests/retry-behavior.test.ts ✅ Passed 3.291s
tests/sdk-error-shape.test.ts ✅ Passed 329ms

View OkTest run #30647045816

SDK merge (510670539784) · head (fea9543a3d1e) · base (cbdc98b6c1e2) · OkTest (91635c6a2723)

@jbeckwith-oai jbeckwith-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the generated 2.52.1 version and changelog updates; all required checks are green. Approving so the pending Stainless release completes before the Release Please migration.

@jbeckwith-oai
jbeckwith-oai merged commit f83b1f4 into main Aug 3, 2026
20 checks passed
@jbeckwith-oai
jbeckwith-oai deleted the release-please--branches--main--changes--next branch August 3, 2026 17:15
@stainless-app

stainless-app Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Release is at https://github.com/openai/openai-python/releases/tag/v2.52.1 🌻

jbeckwith-oai added a commit that referenced this pull request Aug 3, 2026
## 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`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant