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 10.565s for Python SDK PR #3823.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 185ms
tests/chat-completions-create.test.ts ✅ Passed 212ms
tests/chat-completions-stream.test.ts ✅ Passed 128ms
tests/files-content-binary.test.ts ✅ Passed 196ms
tests/files-create-multipart.test.ts ✅ Passed 298ms
tests/files-list-pagination.test.ts ✅ Passed 199ms
tests/initialize-config.test.ts ✅ Passed 153ms
tests/instance-isolation.test.ts ✅ Passed 152ms
tests/models-list.test.ts ✅ Passed 186ms
tests/responses-background-lifecycle.test.ts ✅ Passed 173ms
tests/responses-body-method-errors.test.ts ✅ Passed 305ms
tests/responses-cancel-timeout.test.ts ✅ Passed 194ms
tests/responses-cancel.test.ts ✅ Passed 194ms
tests/responses-compact-retries.test.ts ✅ Passed 320ms
tests/responses-compact.test.ts ✅ Passed 197ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 132ms
tests/responses-create-advanced.test.ts ✅ Passed 180ms
tests/responses-create-disconnect.test.ts ✅ Passed 1.165s
tests/responses-create-errors.test.ts ✅ Passed 215ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 326ms
tests/responses-create-retries.test.ts ✅ Passed 369ms
tests/responses-create-stream-failures.test.ts ✅ Passed 120ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 213ms
tests/responses-create-stream-wire.test.ts ✅ Passed 3.426s
tests/responses-create-stream.test.ts ✅ Passed 84ms
tests/responses-create-terminal-states.test.ts ✅ Passed 219ms
tests/responses-create-timeout.test.ts ✅ Passed 221ms
tests/responses-create.test.ts ✅ Passed 315ms
tests/responses-delete.test.ts ✅ Passed 244ms
tests/responses-input-items-errors.test.ts ✅ Passed 269ms
tests/responses-input-items-list.test.ts ✅ Passed 335ms
tests/responses-input-items-options.test.ts ✅ Passed 318ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 213ms
tests/responses-input-tokens-count.test.ts ✅ Passed 223ms
tests/responses-malformed-inputs.test.ts ✅ Passed 2.616s
tests/responses-not-found-errors.test.ts ✅ Passed 236ms
tests/responses-parse.test.ts ✅ Passed 378ms
tests/responses-retrieve-retries.test.ts ✅ Passed 254ms
tests/responses-retrieve.test.ts ✅ Passed 198ms
tests/responses-stored-method-errors.test.ts ✅ Passed 482ms
tests/retry-behavior.test.ts ✅ Passed 3.231s
tests/sdk-error-shape.test.ts ✅ Passed 287ms

View OkTest run #34294544975

SDK merge (17005358416d) · head (5963ac910529) · base (8011140bbeb7) · 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 8011140bbeb75963ac910529. 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 34294593637 --repo openai/openai-python \
  --name castiron-custom-code-34294593637-1 --dir /tmp/castiron-custom-code-34294593637-1
git apply --stat /tmp/castiron-custom-code-34294593637-1/custom-code.patch
cat /tmp/castiron-custom-code-34294593637-1/custom-code.patch

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

git fetch --no-tags origin 8011140bbeb771d56425602950875bf87beae39e 5963ac910529b712d646ad48a0d49005ab4ed870
python3 scripts/castiron/custom_code_report.py report \
  --base 8011140bbeb771d56425602950875bf87beae39e \
  --head 5963ac910529b712d646ad48a0d49005ab4ed870 --fetch --require-head-hash --public \
  --out /tmp/castiron-custom-code-5963ac910529
cat /tmp/castiron-custom-code-5963ac910529/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 👍 / 👎.

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 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 👍 / 👎.

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