Skip to content

release: 4.34.0#731

Merged
stainless-app[bot] merged 26 commits intomainfrom
release-please--branches--main--changes--next
May 4, 2026
Merged

release: 4.34.0#731
stainless-app[bot] merged 26 commits intomainfrom
release-please--branches--main--changes--next

Conversation

@stainless-app
Copy link
Copy Markdown
Contributor

@stainless-app stainless-app Bot commented Apr 28, 2026

Automated Release PR

4.34.0 (2026-05-01)

Full Changelog: v4.33.0...v4.34.0

Features

  • api: add fields to groups/projects/users, remove enums, update types (abda696)
  • api: add support for Admin API Keys per endpoint (52840e8)
  • api: admin API updates (ce01f2c)
  • api: manual updates (4ce7800)
  • api: manual updates (54bb616)
  • support setting headers via env (f37acbd)

Bug Fixes

  • api: allow admin api key credential auth (d0ea12d)
  • auth: apply route-specific security options (4203865)
  • ignore post-completion response stream events (65ea33e)
  • types: correct createdAt and completedAt to Double in Response model (e591f78)
  • types: correct timestamp precision in transcriptions/realtime, unix timestamps in responses (cc8d80f)

Chores

  • internal: regenerate SDK with no functional changes (0a4327c)

Documentation

  • api: update rate limit documentation for file upload endpoint (f4eb157)

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

@stainless-app stainless-app Bot requested a review from a team as a code owner April 28, 2026 19:02
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 8a44523 to 3cea452 Compare April 28, 2026 21:55
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch 2 times, most recently from 329d7d2 to 2244ca2 Compare April 29, 2026 06:01
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 2244ca2 to 2df4554 Compare April 29, 2026 14:25
@apcha-oai
Copy link
Copy Markdown
Contributor

@codex review pls

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review


P1 Badge Specify bearer auth for realtime session requests

These requests still call prepare(clientOptions, params) and therefore use SecurityOptions.all() by default. When both keys are configured, securityHeaders overwrites Authorization with the admin key, so realtime session calls may send the wrong credential instead of the standard API key.

ℹ️ 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".

.prepare(
clientOptions,
params,
SecurityOptions.builder().bearerAuth(true).build(),
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Use admin auth for checkpoint permission requests

These endpoints are documented as requiring an admin API key, but request prep uses bearerAuth(true) only. If a client is configured with only adminApiKey, ClientOptions.securityHeaders throws before sending the request (requires apiKey or workloadIdentity). This prevents admin-key-only usage on admin-only routes.

Useful? React with 👍 / 👎.

Comment on lines +719 to +720
credential !== AdminApiKeyOnlyCredential -> {
isSatisfied = true
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Emit auth headers when bearer auth is marked satisfied

This branch treats any non-AdminApiKeyOnlyCredential credential as satisfying bearer auth but does not add an auth header. With AzureApiKeyCredential (or other custom credentials), bearer-protected requests can go out without Authorization or api-key, yielding unauthenticated failures.

Useful? React with 👍 / 👎.

Comment on lines +705 to +707
!apiKey.isNullOrEmpty() -> {
headers.replace("Authorization", "Bearer $apiKey")
isSatisfied = true
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve last-set credential precedence in auth headers

securityHeaders always prefers the stored apiKey over credential. After fromEnv() or .apiKey(...), a later .credential(...) call does not take effect unless callers also clear apiKey, breaking normal builder “last setter wins” behavior and making credential overrides unexpectedly fail.

Useful? React with 👍 / 👎.

@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 2df4554 to 2ff744d Compare April 30, 2026 16:20
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 2ff744d to 80579ea Compare April 30, 2026 16:59
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 80579ea to 3b7c303 Compare April 30, 2026 17:32
Include all admin APIs in the code generation.
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 3b7c303 to 3516e8c Compare April 30, 2026 18:01
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 3516e8c to f3ec3c6 Compare April 30, 2026 18:35
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from f3ec3c6 to 8590d34 Compare May 1, 2026 14:49
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 8590d34 to 4abbf9d Compare May 1, 2026 21:19
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 4abbf9d to 6491e66 Compare May 1, 2026 21:39
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 6491e66 to bdb9d59 Compare May 1, 2026 23:05
@stainless-app stainless-app Bot merged commit ca3d047 into main May 4, 2026
9 checks passed
@stainless-app
Copy link
Copy Markdown
Contributor Author

stainless-app Bot commented May 4, 2026

🤖 Release is at https://github.com/openai/openai-java/releases/tag/v4.34.0 🌻

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