Skip to content

chore(deps): bump httpx2 from 2.7.0 to 2.12.0 in the python-security group across 1 directory - #3823

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python-security-51f1bad80e
Open

chore(deps): bump httpx2 from 2.7.0 to 2.12.0 in the python-security group across 1 directory#3823
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python-security-51f1bad80e

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 8, 2026

Copy link
Copy Markdown
Contributor

Bumps the python-security group with 1 update in the / directory: httpx2.

Updates httpx2 from 2.7.0 to 2.12.0

Release notes

Sourced from httpx2's releases.

v2.12.0

Highlights

🛡️ Bounded response decompression

httpx2 now decodes gzip, deflate, Brotli, and Zstandard responses incrementally. Each decode step emits at most 1 MiB, so streaming a highly compressed response no longer requires materializing an entire inflated network chunk in memory (pydantic/httpx2#1126).

📦 Shared Zstandard API

Python 3.13 and earlier now use backports.zstd, which provides the same bounded incremental decompression API as compression.zstd on Python 3.14 and later (pydantic/httpx2#1146).

httpx2

Changed

Fixed

httpcore2

No changes since 2.11.0. Version bumped to stay in lockstep with httpx2.

Full Changelog: pydantic/httpx2@v2.11.0...v2.12.0

v2.11.0

Highlights

🌐 Public origin API

httpx2 now includes an immutable and hashable Origin value object, available through URL.origin. It provides normalized scheme, host, and effective port comparisons without including URL paths, queries, fragments, or credentials (pydantic/httpx2#1134).

🛠️ Request compatibility and validation

httpx2

Added

Changed

... (truncated)

Changelog

Sourced from httpx2's changelog.

2.12.0 (August 18th, 2026)

Changed

  • Use backports.zstd for Zstandard decoding on Python 3.13 and earlier. (#1146)

Fixed

  • Bound peak memory while streaming compressed responses and close response streams when decoding fails. (#1126)

2.11.0 (August 18th, 2026)

Added

  • Add the public Origin value object and URL.origin property for normalized, hashable origin comparisons. (#1134)

Changed

  • Require Brotli 1.2.0 or later for the brotli extra. (#1141)

Fixed

  • Restore deprecated status code aliases. (#1135)
  • Extract HTTP/2 release notes from changelog headings correctly. (#1136)
  • Respect explicit Transfer-Encoding headers and expose buffered request body lengths to WSGI applications. (#1137)
  • Validate multipart part header names and values before serialization. (#1142)

2.10.0 (August 9th, 2026)

Added

  • Add support for running on WebAssembly / Emscripten via Pyodide, using a JavaScript fetch-based transport defined in httpx2-jsfetch. (#1119)
  • Add max_event_size to cap SSE event buffering. (#1071)
  • Add RFC 9110 status code constants. (#1069)
  • Add support for Python 3.15. (#1090)

Changed

  • Improve SSE chunk buffering performance. (#1117)
  • Skip cookie extraction for responses without Set-Cookie headers. (#1107)
  • Return str | None instead of Any from Headers.get. (#1121)

Fixed

... (truncated)

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Sep 8, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner September 8, 2026 22:28
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Sep 8, 2026
@openai-sdks

openai-sdks Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

OkTest Summary

236/236 SDK tests passed in 11.118s for Python SDK PR #3823.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 181ms
tests/chat-completions-create.test.ts ✅ Passed 221ms
tests/chat-completions-stream.test.ts ✅ Passed 200ms
tests/files-content-binary.test.ts ✅ Passed 216ms
tests/files-create-multipart.test.ts ✅ Passed 208ms
tests/files-list-pagination.test.ts ✅ Passed 200ms
tests/initialize-config.test.ts ✅ Passed 252ms
tests/instance-isolation.test.ts ✅ Passed 197ms
tests/models-list.test.ts ✅ Passed 296ms
tests/responses-background-lifecycle.test.ts ✅ Passed 273ms
tests/responses-body-method-errors.test.ts ✅ Passed 294ms
tests/responses-cancel-timeout.test.ts ✅ Passed 185ms
tests/responses-cancel.test.ts ✅ Passed 255ms
tests/responses-compact-retries.test.ts ✅ Passed 303ms
tests/responses-compact.test.ts ✅ Passed 303ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 112ms
tests/responses-create-advanced.test.ts ✅ Passed 256ms
tests/responses-create-disconnect.test.ts ✅ Passed 1.14s
tests/responses-create-errors.test.ts ✅ Passed 173ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 366ms
tests/responses-create-retries.test.ts ✅ Passed 318ms
tests/responses-create-stream-failures.test.ts ✅ Passed 246ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 205ms
tests/responses-create-stream-wire.test.ts ✅ Passed 3.552s
tests/responses-create-stream.test.ts ✅ Passed 281ms
tests/responses-create-terminal-states.test.ts ✅ Passed 224ms
tests/responses-create-timeout.test.ts ✅ Passed 220ms
tests/responses-create.test.ts ✅ Passed 295ms
tests/responses-delete.test.ts ✅ Passed 181ms
tests/responses-input-items-errors.test.ts ✅ Passed 307ms
tests/responses-input-items-list.test.ts ✅ Passed 385ms
tests/responses-input-items-options.test.ts ✅ Passed 284ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 242ms
tests/responses-input-tokens-count.test.ts ✅ Passed 220ms
tests/responses-malformed-inputs.test.ts ✅ Passed 2.717s
tests/responses-not-found-errors.test.ts ✅ Passed 238ms
tests/responses-parse.test.ts ✅ Passed 368ms
tests/responses-retrieve-retries.test.ts ✅ Passed 265ms
tests/responses-retrieve.test.ts ✅ Passed 230ms
tests/responses-stored-method-errors.test.ts ✅ Passed 533ms
tests/retry-behavior.test.ts ✅ Passed 3.127s
tests/sdk-error-shape.test.ts ✅ Passed 264ms

View OkTest run #34371040895

SDK merge (f864701a1b19) · head (ea57da525c67) · base (41f0a2317759) · OkTest (08ec4299e769)

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Castiron custom code

✅ No new custom-code files detected.

36 mixed files remain; 0 existing customizations changed.

Compared 41f0a2317759ea57da525c67. Generated baselines verified.

36 existing customizations unchanged
  • api.md
  • scripts/castiron/README.md
  • scripts/castiron/custom_code_report.py
  • scripts/castiron/test_custom_code_report.py
  • src/openai/init.py
  • src/openai/_client.py
  • src/openai/resources/audio/transcriptions.py
  • src/openai/resources/audio/translations.py
  • src/openai/resources/beta/beta.py
  • src/openai/resources/beta/responses/responses.py
  • src/openai/resources/beta/threads/runs/runs.py
  • src/openai/resources/beta/threads/threads.py
  • src/openai/resources/chat/completions/completions.py
  • src/openai/resources/embeddings.py
  • src/openai/resources/files.py
  • src/openai/resources/realtime/realtime.py
  • src/openai/resources/responses/responses.py
  • src/openai/resources/uploads/uploads.py
  • src/openai/resources/vector_stores/file_batches.py
  • src/openai/resources/vector_stores/files.py
  • src/openai/resources/videos.py
  • src/openai/resources/webhooks/init.py
  • src/openai/resources/webhooks/webhooks.py
  • src/openai/types/chat/init.py
  • src/openai/types/chat/chat_completion_message_tool_call.py
  • src/openai/types/fine_tuning/fine_tuning_job_integration.py
  • src/openai/types/responses/init.py
  • src/openai/types/responses/response.py
  • src/openai/types/responses/response_function_web_search.py
  • src/openai/types/responses/response_function_web_search_param.py
  • src/openai/types/responses/responses_client_event.py
  • src/openai/types/responses/responses_client_event_param.py
  • src/openai/types/responses/tool.py
  • src/openai/types/responses/tool_param.py
  • src/openai/types/webhooks/init.py
  • tests/api_resources/test_videos.py

A changed generated baseline means this report cannot reliably identify which handwritten lines changed.

Inspect the custom-code diff

Download the exact patch produced by this run (requires repository access):

gh run download 34371191813 --repo openai/openai-python \
  --name castiron-custom-code-34371191813-1 --dir /tmp/castiron-custom-code-34371191813-1
git apply --stat /tmp/castiron-custom-code-34371191813-1/custom-code.patch
cat /tmp/castiron-custom-code-34371191813-1/custom-code.patch

Or reproduce it from an SDK checkout containing the vendored reporter:

git fetch --no-tags origin 41f0a2317759e8796ccfbde75536bd42e4aca7a2 ea57da525c6776c844539e85ceebd172d028003a
python3 scripts/castiron/custom_code_report.py report \
  --base 41f0a2317759e8796ccfbde75536bd42e4aca7a2 \
  --head ea57da525c6776c844539e85ceebd172d028003a --fetch --require-head-hash --public \
  --out /tmp/castiron-custom-code-ea57da525c67
cat /tmp/castiron-custom-code-ea57da525c67/custom-code.patch

This is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR.

Full report and patch

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 34b090b7ee

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread uv.lock Outdated
[[package]]
name = "openai"
version = "3.9.0" # x-release-please-version
version = "3.9.0"

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 Restore the release-please version marker

This rewrite drops the # x-release-please-version suffix from the editable package version. The dependency-review job in .github/workflows/ci.yml:66 explicitly requires the exact marked string in uv.lock, so every CI run for this commit fails before uv lock --check; restore the marker after regenerating the lockfile.

Useful? React with 👍 / 👎.

Comment thread uv.lock
[[package]]
name = "httpx2"
version = "2.7.0"
version = "2.12.0"

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 Publish the security-fixed dependency floors

Because this is a python-security update, changing only the lockfile leaves the published requirement at httpx2>=2.7.0, so downstream SDK installations may still select the vulnerable release. The parent security checker invoked by .github/workflows/ci.yml:55 rejects this commit first with Add a reviewed contextual transitive security dependency boundary for httpcore2 and, after supplying that boundary, with Raise the published security-fixed minimum for httpx2; raise the runtime httpx2 floor and add the corresponding reviewed httpcore2 constraint.

AGENTS.md reference: AGENTS.md:L31-L34

Useful? React with 👍 / 👎.

@dependabot
dependabot Bot force-pushed the dependabot/uv/python-security-51f1bad80e branch from 34b090b to 5963ac9 Compare September 9, 2026 00:19

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5963ac9105

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread uv.lock
[[package]]
name = "httpx2"
version = "2.7.0"
version = "2.12.0"

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 Add sync and async decompression security tests

Because 2.12.0 is being adopted specifically for bounded incremental decompression and stream cleanup on decoding failures, add focused public-entrypoint tests for both synchronous and asynchronous clients using large compressed responses and malformed compressed streams. The existing large-payload coverage supplies only uncompressed httpx2.Response bodies, so it cannot detect a regression in the security behavior this update is intended to provide.

AGENTS.md reference: AGENTS.md:L41-L45

Useful? React with 👍 / 👎.

Bumps the python-security group with 1 update in the / directory: [httpx2](https://github.com/pydantic/httpx2).


Updates `httpx2` from 2.7.0 to 2.12.0
- [Release notes](https://github.com/pydantic/httpx2/releases)
- [Changelog](https://github.com/pydantic/httpx2/blob/main/src/httpx2/CHANGELOG.md)
- [Commits](pydantic/httpx2@v2.7.0...v2.12.0)

---
updated-dependencies:
- dependency-name: httpx2
  dependency-version: 2.12.0
  dependency-type: direct:production
  dependency-group: python-security
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/uv/python-security-51f1bad80e branch from 5963ac9 to ea57da5 Compare September 9, 2026 15:33

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ea57da525c

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread uv.lock
[[package]]
name = "httpx2"
version = "2.7.0"
version = "2.12.0"

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 Update the runnable example lock as part of the fix

When a user launches the documented ./examples/realtime/push_to_talk_app.py, its #!/usr/bin/env uv run entry point uses the adjacent script lock—the local uv lock --help says script locks are written “to a .lock file adjacent to the script itself.” That lock still pins httpx2 2.10.0 at examples/realtime/push_to_talk_app.py.lock:193, so this example environment remains on the pre-fix decompression and stream-cleanup path despite the root upgrade; regenerate the script lock with httpx2/httpcore2 2.12.0 as well.

AGENTS.md reference: AGENTS.md:L114-L121

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants