Skip to content

Bump python-multipart from 0.0.22 to 0.0.31#3112

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python-multipart-0.0.31
Open

Bump python-multipart from 0.0.22 to 0.0.31#3112
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python-multipart-0.0.31

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 16, 2026

Copy link
Copy Markdown
Contributor

Bumps python-multipart from 0.0.22 to 0.0.31.

Release notes

Sourced from python-multipart's releases.

Version 0.0.31

What's Changed

Full Changelog: Kludex/python-multipart@0.0.30...0.0.31

Version 0.0.30

What's Changed

Full Changelog: Kludex/python-multipart@0.0.29...0.0.30

Version 0.0.29

What's Changed

Full Changelog: Kludex/python-multipart@0.0.28...0.0.29

Version 0.0.28

What's Changed

Full Changelog: Kludex/python-multipart@0.0.27...0.0.28

Version 0.0.27

What's Changed

Full Changelog: Kludex/python-multipart@0.0.26...0.0.27

Version 0.0.26

What's Changed

Full Changelog: Kludex/python-multipart@0.0.25...0.0.26

Version 0.0.25

What's Changed

... (truncated)

Changelog

Sourced from python-multipart's changelog.

0.0.31 (2026-06-04)

  • Speed up multipart header parsing and callback dispatch #295.
  • Bound header field name size before validating #296.
  • Validate Content-Length is non-negative in parse_form #297.

0.0.30 (2026-05-31)

  • Parse application/x-www-form-urlencoded bodies per the WHATWG URL standard, treating only & as a field separator #290.
  • Ignore RFC 2231/5987 extended parameters (name*, filename*) in parse_options_header, keeping the plain parameter authoritative per RFC 7578 §4.2 #291.

0.0.29 (2026-05-17)

  • Handle malformed RFC 2231 continuations in parse_options_header #270.

0.0.28 (2026-05-10)

  • Speed up partial-boundary tail scan via bytes.find #281.
  • Cap multipart boundary length at 256 bytes #282.

0.0.27 (2026-04-27)

  • Add multipart header limits #267.
  • Pass parse offsets via constructors #268.

0.0.26 (2026-04-10)

  • Skip preamble before the first multipart boundary more efficiently #262.
  • Silently discard epilogue data after the closing multipart boundary #259.

0.0.25 (2026-04-10)

  • Add MIME content type info to File #143.
  • Handle CTE values case-insensitively #258.
  • Remove custom FormParser classes #257.
  • Add UPLOAD_DELETE_TMP to FormParser config #254.
  • Emit field_end for trailing bare field names on finalize #230.
  • Handle multipart headers case-insensitively #252.
  • Apply Apache-2.0 properly #247.

0.0.24 (2026-04-05)

  • Validate chunk_size in parse_form() #244.

0.0.23 (2026-04-05)

  • Remove unused trust_x_headers parameter and X-File-Name fallback #196.
  • Return processed length from QuerystringParser._internal_write #229.
  • Cleanup metadata dunders from __init__.py #227.
Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Jul 16, 2026

@claude claude Bot 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.

LGTM — routine Dependabot lockfile bump of python-multipart 0.0.22 → 0.0.31.

What was reviewed:

  • The diff is confined to uv.lock; the pyproject.toml floor (python-multipart>=0.0.9) is unchanged, so this only affects the SDK's own dev/CI environment, not downstream installs.
  • Checked the SDK's exposure to the release-note changes: python-multipart is used indirectly via starlette's request.form() in the OAuth handlers (authorize, token, revoke, client_auth). The 0.0.30 urlencoded-separator change (only & splits fields) matches standard OAuth form encoding, and CI's test suite exercises these endpoints.
  • Verified the lock entry is a normal registry update (new sdist/wheel URLs + hashes from pypi.org).
Extended reasoning...

Overview

This is a Dependabot-generated PR that bumps python-multipart from 0.0.22 to 0.0.31 in uv.lock only. No source code, no pyproject.toml constraint, and no CI configuration is touched. The dependency floor remains >=0.0.9, consistent with the repo's guideline of not raising floors for upstream changes alone — this bump merely refreshes the pinned version used for the SDK's own locked environments.

Security risks

The upstream changes between 0.0.22 and 0.0.31 are largely hardening (bounded header field names, boundary-length cap, non-negative Content-Length validation, RFC 2231 parameter handling) plus performance work — net-positive from a security standpoint. The lock entry points at pypi.org with updated sha256 hashes for both sdist and wheel, which is the normal shape for a registry version bump; uv verifies these hashes at install time.

Level of scrutiny

Low. Lockfile-only dependency bumps are mechanical and reversible. The one behavior-relevant upstream change is 0.0.30's switch to treating only & as the urlencoded field separator (WHATWG-aligned). The SDK parses form bodies only in the OAuth handlers via starlette's request.form(), and OAuth 2.0 mandates standard &-separated application/x-www-form-urlencoded bodies, so this does not affect the SDK's behavior in practice.

Other factors

The bug hunting system found no issues, and the CI matrix (3.10–3.14 across platforms, locked and lowest-direct resolutions) exercises the form-parsing paths through the auth handler tests, which would surface any regression from the new version. No prior reviews or outstanding comments exist on this PR.

Bumps [python-multipart](https://github.com/Kludex/python-multipart) from 0.0.22 to 0.0.31.
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md)
- [Commits](Kludex/python-multipart@0.0.22...0.0.31)

---
updated-dependencies:
- dependency-name: python-multipart
  dependency-version: 0.0.31
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title chore(deps): bump python-multipart from 0.0.22 to 0.0.31 Bump python-multipart from 0.0.22 to 0.0.31 Jul 25, 2026
@dependabot
dependabot Bot force-pushed the dependabot/uv/python-multipart-0.0.31 branch from 8542a79 to 4526a21 Compare July 25, 2026 22:25

@claude claude Bot 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.

LGTM — routine Dependabot lockfile bump of python-multipart 0.0.22 → 0.0.31.

What was reviewed

  • Only uv.lock changed; sdist/wheel hashes match the PyPI release and the version satisfies the python-multipart>=0.0.9 constraint in pyproject.toml.
  • The SDK never imports python_multipart directly — it's used indirectly via Starlette form parsing — so upstream behavior changes (RFC 2231 handling, urlencoded separator, header limits) don't touch SDK code paths.
  • The included releases are hardening/perf fixes (header limits, boundary cap, negative Content-Length rejection) with no API removals affecting this repo.
Extended reasoning...

Overview

This PR is a Dependabot-generated bump of python-multipart from 0.0.22 to 0.0.31, touching only uv.lock. No source code, pyproject.toml constraints, or CI configuration are modified. The lockfile entry's new sdist and wheel URLs and SHA-256 hashes correspond to the official PyPI 0.0.31 release.

Security risks

None introduced by the SDK. The upstream changes are predominantly security hardening: multipart header size limits, a 256-byte boundary cap, bounding header field name size before validation, and rejecting negative Content-Length in parse_form. These reduce DoS surface rather than expand it. The dependency floor (>=0.0.9) is unchanged, consistent with the repo guideline of not raising floors for dependency fixes alone.

Level of scrutiny

Low. Lockfile-only dependency bumps within an existing version constraint are mechanical. The main check is whether upstream behavior changes could break SDK functionality: python_multipart is not imported anywhere in src/, so the SDK's exposure is limited to Starlette's optional form-parsing path, which the SDK's HTTP transports (JSON/SSE based) do not exercise. Parsing-behavior changes in 0.0.23–0.0.31 (WHATWG urlencoded separator, RFC 2231 extended-parameter handling) therefore don't affect SDK code.

Other factors

The bug hunting system found no issues, and the PR timeline has no outstanding reviewer comments. CI's full test matrix runs against the locked version, so any incompatibility would surface there. This fits squarely in the approvable category of simple, mechanical dependency updates.

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