release: 2.34.0#3136
Conversation
a8839a7 to
23d0480
Compare
600f710 to
9c2a697
Compare
b9296b5 to
6db0f8e
Compare
6db0f8e to
685f7e5
Compare
685f7e5 to
daf988a
Compare
daf988a to
5b2fa7a
Compare
|
@codex review pls |
There was a problem hiding this comment.
💡 Codex Review
Embeddings.create() posts to /embeddings without security={"bearer_auth": True}. After this release, default request security allows admin keys, so an admin-only client will take a different auth path than the async variant (which now sets bearer auth) and can fail unexpectedly at runtime.
This helper calls /chat/completions but omits explicit bearer security in make_request_options(). With new per-endpoint auth defaults, admin-only credentials can now be selected here, diverging from create() in the same resource and causing auth failures for users relying on parse helpers.
Responses.parse posts to /responses but does not pass security={"bearer_auth": True}. Because default security now includes admin auth, admin-only clients may send the wrong credential type from this helper, unlike other /responses methods that were updated to bearer-only.
AsyncCompletions.parse() also calls /chat/completions without security={"bearer_auth": True}. After introducing per-endpoint auth selection, this async helper can choose admin auth for admin-only clients, unlike the updated async create() methods, leading to endpoint auth mismatches.
AsyncResponses.parse() posts to /responses without explicit bearer security. Since this release added admin-key auth selection by default, admin-only clients may send the wrong credential type from parse helpers while other /responses methods now force bearer auth.
openai-python/src/openai/resources/beta/threads/runs/runs.py
Lines 1039 to 1040 in 5b2fa7a
Deprecated threads.runs stream helpers build requests to run endpoints without security={"bearer_auth": True} (create_and_stream/submit_tool_outputs_stream, sync and async). With new default admin-or-bearer selection, admin-only clients can now send wrong auth for these endpoints and fail unexpectedly.
openai-python/src/openai/resources/beta/threads/threads.py
Lines 935 to 936 in 5b2fa7a
threads.create_and_run_stream (sync and async) calls /threads/runs without explicit bearer security. Since per-endpoint auth routing was added, admin-only clients can select admin auth here, while related non-stream methods in these resources now set bearer auth explicitly.
openai-python/src/openai/lib/azure.py
Lines 209 to 212 in 5b2fa7a
AzureOpenAI and AsyncAzureOpenAI accept _enforce_credentials, but the missing-credentials guard runs unconditionally and ignores that flag. Passing _enforce_credentials=False still raises OpenAIError, so the newly exposed option does not match its intended behavior.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Generate SDK for admin.organization.audit_logs.
5b2fa7a to
b5ab3e2
Compare
…view fix: admin api key bearer-auth fixes
b5ab3e2 to
3de0414
Compare
Include all admin APIs in the code generation.
3de0414 to
dd28344
Compare
Automated Release PR
2.34.0 (2026-04-30)
Full Changelog: v2.33.0...v2.34.0
Features
Bug Fixes
Performance Improvements
Chores
Documentation
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