Skip to content

build(deps): bump the production group across 1 directory with 10 updates - #3599

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/backend/production-ae325bf496
Closed

build(deps): bump the production group across 1 directory with 10 updates#3599
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/backend/production-ae325bf496

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 25, 2026

Copy link
Copy Markdown
Contributor

Bumps the production group with 10 updates in the /backend directory:

Package From To
aiobotocore 3.7.0 3.9.0
cssselect 1.4.0 1.5.0
fastapi 0.128.0 0.141.1
gunicorn 26.0.0 26.2.0
humanize 4.15.0 4.16.0
pydantic 2.12.5 2.13.4
pyjwt 2.8.0 2.13.0
python-multipart 0.0.28 0.0.32
remotezip 0.12.3 0.12.5
types-aiobotocore-s3 3.7.0 3.9.0

Updates aiobotocore from 3.7.0 to 3.9.0

Release notes

Sourced from aiobotocore's releases.

3.9.0

  • bump botocore dependency specification to support "botocore >= 1.43.3, < 1.43.57" (#1665, #1668, #1675)
  • bump aiohttp dependency specification to support "aiohttp >= 3.14.0, < 4.0.0" (#1667)
  • run the optional httpx backend on trio in addition to asyncio, via anyio primitives, so aiobotocore is usable from trio-based projects (closes #749) (#1667)
  • prefer httpx2 — Pydantic's maintained, API-compatible fork of httpx — for the optional httpx backend, adding a new aiobotocore[httpx2] extra; the existing aiobotocore[httpx] extra keeps working but now installs the deprecated legacy httpx package and emits a DeprecationWarning when used (#1669)
  • fix the release-drafting workflow silently reporting success when the agent never ran (#1664)

3.8.0

  • bump botocore dependency specification to support "botocore >= 1.43.3, < 1.43.47" (#1605, #1606, #1635, #1651, #1655)
  • port botocore 1.43.24's long-polling no-retry signal (handler_response is False) through the async retry path so retries don't block the event loop with a synchronous sleep during backoff (#1606)
  • fix AIOHTTPSession/HttpxSession blocking the event loop on the first request per proxy: SSL context creation (certificate loading via load_verify_locations/load_cert_chain) now runs in a thread via asyncio.to_thread instead of directly on the loop (closes #1469) (#1587)
  • restructure StreamingBody to subclass botocore.response.StreamingBody (dropping the wrapt.ObjectProxy wrapper) and add full httpx API parity — read(amt), readinto(), readlines(), async iteration, iter_lines()/iter_chunks(), tell(), close() — where read(amt) previously raised ValueError; note that AioStreamingBody.__aenter__ now returns self instead of the raw aiohttp ClientResponse (use .raw_stream for the underlying response) (closes #1365) (#1539)
Changelog

Sourced from aiobotocore's changelog.

3.9.0 (2026-08-01) ^^^^^^^^^^^^^^^^^^

  • bump botocore dependency specification to support "botocore >= 1.43.3, < 1.43.57" (#1665, #1668, #1675)
  • bump aiohttp dependency specification to support "aiohttp >= 3.14.0, < 4.0.0" (#1667)
  • run the optional httpx backend on trio in addition to asyncio, via anyio primitives, so aiobotocore is usable from trio-based projects (closes #749) (#1667)
  • prefer httpx2 — Pydantic's maintained, API-compatible fork of httpx — for the optional httpx backend, adding a new aiobotocore[httpx2] extra; the existing aiobotocore[httpx] extra keeps working but now installs the deprecated legacy httpx package and emits a DeprecationWarning when used (#1669)
  • fix the release-drafting workflow silently reporting success when the agent never ran (#1664)

3.8.0 (2026-07-17) ^^^^^^^^^^^^^^^^^^

  • bump botocore dependency specification to support "botocore >= 1.43.3, < 1.43.47" (#1605, #1606, #1635, #1651, #1655)
  • port botocore 1.43.24's long-polling no-retry signal (handler_response is False) through the async retry path so retries don't block the event loop with a synchronous sleep during backoff (#1606)
  • fix AIOHTTPSession/HttpxSession blocking the event loop on the first request per proxy: SSL context creation (certificate loading via load_verify_locations/load_cert_chain) now runs in a thread via asyncio.to_thread instead of directly on the loop (closes #1469) (#1587)
  • restructure StreamingBody to subclass botocore.response.StreamingBody (dropping the wrapt.ObjectProxy wrapper) and add full httpx API parity — read(amt), readinto(), readlines(), async iteration, iter_lines()/iter_chunks(), tell(), close() — where read(amt) previously raised ValueError; note that AioStreamingBody.__aenter__ now returns self instead of the raw aiohttp ClientResponse (use .raw_stream for the underlying response) (closes #1365) (#1539)
Commits
  • 9e70a4e Release v3.9.0 (#1688)
  • 791296c ci: test the built dists instead of the checkout (#1686)
  • 7788038 feat: run the httpx backend on trio (#1667)
  • 67579a1 ci: test on Python 3.15 (#1684)
  • fac41ea build(deps-dev): bump anthropic from 0.117.0 to 0.119.0 (#1680)
  • 6b28016 build(deps): bump anthropics/claude-code-action from 1.0.176 to 1.0.182 (#1678)
  • 92a8fe3 feat: prefer httpx2 over httpx for the optional httpx backend (#1669)
  • 24deff5 build(deps): bump actions/checkout from 7.0.0 to 7.0.1 (#1676)
  • fcf363f build(deps): bump astral-sh/setup-uv from 8.3.2 to 9.0.0 (#1677)
  • 83f3fe4 build(deps): bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.1 (#1679)
  • Additional commits viewable in compare view

Updates cssselect from 1.4.0 to 1.5.0

Changelog

Sourced from cssselect's changelog.

Version 1.5.0

Released on 2026-07-27.

  • Backward-incompatible change: removed the no longer used closing_combiner and has_inner_condition arguments of XPathExpr.join(). They were added for :has() support which no longer needs them.

  • Fixed and improved support for the following selector features:

    • :has() pseudo-class.

    • :is(), :where() and :matches() pseudo-classes.

    • :scope pseudo-class.

    • :only-child and :only-of-type pseudo-classes.

    • Namespaces (|).

    • An+B arguments of pseudo-classes.

    • Type selectors in predicates.

  • Fixed some issues with the Selector.canonical() method.

  • Improved the Element.__repr__() and Relation.__repr__() methods.

  • Fixed Selector.specificity() calculation for the :is(), :where() and :matches() pseudo-classes.

  • Fixed issues with whitespace and comment handling inside some selectors.

  • Fixed some exception types and messages.

  • Improved the docs about the :has(), :is() and :where() pseudo-classes and the `!=`` attribute operator.

  • Test improvements.

Commits

Updates fastapi from 0.128.0 to 0.141.1

Release notes

Sourced from fastapi's releases.

0.141.1

Fixes

  • 🐛 Fix support for background tasks and headers from dependencies in app.frontend(). PR #16105 by @​tiangolo.

Docs

0.141.0

Features

  • ✨ Add app.frontend(check_dir="auto"), to make local development more convenient with fastapi dev. PR #16102 by @​tiangolo.

0.140.13

Fixes

Docs

0.140.12

Fixes

0.140.11

Fixes

  • 🐛 Fix response_model_* params ignored for non-generator endpoints with Iterable[..] return type. PR #15093 by @​YuriiMotov.

0.140.10

Fixes

Internal

0.140.9

Fixes

  • 🐛 Fix exclude_defaults not propagated to dict keys and values in jsonable_encoder. PR #16043 by @​MBGrao.

... (truncated)

Commits
  • 95f8322 🔖 Release version 0.141.1 (#16106)
  • f137944 📝 Update release notes
  • d623544 🐛 Fix support for background tasks and headers from dependencies in `app.fron...
  • 1d211b9 📝 Update release notes
  • 8a1f876 📝 Document FASTAPI_ENV in FastAPI CLI guide (#16104)
  • c7e7b65 🔖 Release version 0.141.0 (#16103)
  • 6bceb84 📝 Update release notes
  • 5429fed ✨ Add app.frontend(check_dir="auto"), to make local development more conven...
  • 628663f 🔖 Release version 0.140.13 (#16096)
  • 0b54fd0 📝 Update release notes
  • Additional commits viewable in compare view

Updates gunicorn from 26.0.0 to 26.2.0

Release notes

Sourced from gunicorn's releases.

gunicorn 26.2.0

Cleartext HTTP/2 lands, and an HTTP/2 security fix.

Cleartext HTTP/2 (h2c)

http2_cleartext accepts prior-knowledge, upgrade, both or off (the default). Prior knowledge serves a connection that opens with the HTTP/2 preface; upgrade honours an HTTP/1.1 Upgrade: h2c request. Both work on the gthread, gevent and asgi workers.

This is for deployments where TLS is terminated by a proxy that speaks HTTP/2 upstream, so the hop into gunicorn no longer drops to HTTP/1.1. Only peers in forwarded_allow_ips are considered; everyone else is served HTTP/1.x exactly as if the setting were off. Each mechanism is enabled separately, so turning one on does not turn the other on.

Do not expose a cleartext HTTP/2 port to the internet.

Security

HTTP2Request built its headers straight from the stream, so nothing the HTTP/1 path enforces applied over HTTP/2: the underscore and header_map policy, duplicate Host and Content-Type, control characters in values, and the forwarded_allow_ips trust gate. An untrusted client could set SCRIPT_NAME and forge HTTP_* entries in the WSGI environ, and decide wsgi.url_scheme through :scheme. Both request classes now share one policy mixin, and the scheme comes from the transport.

If you serve HTTP/2, this is the reason to upgrade.

Other HTTP/2 fixes

WSGI responses were buffered whole before anything was sent; they stream now. HEAD, 204 and 304 no longer carry a body. Events read while blocked on a flow-control window were discarded, losing requests and body data outright. sendfile() is refused on HTTP/2 responses rather than bypassing framing.

Request bodies dropped on Upgrade requests

On the ASGI worker with the fast parser, any request carrying an Upgrade header reached the application with an empty body, whatever the header's value and with HTTP/2 switched off entirely. Fixed in gunicorn_h1c 0.6.9, which the fast extra now requires.

Full changelog: https://gunicorn.org/news/

gunicorn 26.1.0

New Features

  • Glob patterns in reload_extra_files: entries containing *, ? or [

... (truncated)

Commits
  • 36f2a3c gunicorn 26.2.0
  • cbba350 test: cover the h2c edge paths that had none
  • 9885411 Merge pull request #3703 from cormier/fix-inconsistency-in-control-socket-docs
  • 86f0919 Merge pull request #3704 from methane/doc-wsgi-h1c
  • 5853551 Merge pull request #3712 from Rotzbua/patch-1
  • 7bce87e Merge pull request #3700 from benoitc/fix/sponsor-logo-path
  • 972dfb0 Merge pull request #3690 from melbinjp/docs/contributing-settings-path
  • 7b3f16b Merge pull request #3711 from benoitc/docs/http2-changelog
  • 5bf237c http2: require gunicorn_h1c 0.6.9 and drop the upgrade body workaround
  • 7cf0338 test: skip the fast-parser cases when gunicorn_h1c is absent
  • Additional commits viewable in compare view

Updates humanize from 4.15.0 to 4.16.0

Release notes

Sourced from humanize's releases.

4.16.0

Added

Changed

Fixed

Commits
  • 3c577d7 Add test for exact googol (10**100) in intword() (#304)
  • 52609bf Drop experimental Python 3.13 free-threaded (#336)
  • 8a47cb4 Lazy imports for Python 3.15+ (#335)
  • 823ad60 Fix naturalsize() rounding rollover at unit boundaries (#329)
  • 7574e0c Carry metric() to the next SI prefix when rounding reaches 1000 (#328)
  • c2c410c Stop printing two minus signs in fractional for a negative mixed number (#320)
  • 976484a Fix typo in i18n.activate() docstring (#325)
  • d333afd Update release-drafter/release-drafter action to v7.3.1 (#324)
  • d07d77e Update dependency mypy to v2 (#323)
  • 15eb4cc Update github-actions (#322)
  • Additional commits viewable in compare view

Updates pydantic from 2.12.5 to 2.13.4

Release notes

Sourced from pydantic's releases.

v2.13.4 2026-05-06

v2.13.4 (2026-05-06)

What's Changed

Packaging

Fixes

Full Changelog: pydantic/pydantic@v2.13.3...v2.13.4

v2.13.3 2026-04-20

v2.13.3 (2026-04-20)

What's Changed

Fixes

Full Changelog: pydantic/pydantic@v2.13.2...v2.13.3

v2.13.2 2026-04-17

v2.13.2 (2026-04-17)

What's Changed

Fixes

  • Fix ValidationInfo.field_name missing with model_validate_json() by @​Viicos in #13084

Full Changelog: pydantic/pydantic@v2.13.1...v2.13.2

v2.13.1 2026-04-15

v2.13.1 (2026-04-15)

What's Changed

Fixes

Full Changelog: pydantic/pydantic@v2.13.0...v2.13.1

v2.13.0 2026-04-13

... (truncated)

Changelog

Sourced from pydantic's changelog.

v2.13.4 (2026-05-06)

GitHub release

What's Changed

Packaging

Fixes

v2.13.3 (2026-04-20)

GitHub release

What's Changed

Fixes

v2.13.2 (2026-04-17)

GitHub release

What's Changed

Fixes

  • Fix ValidationInfo.field_name missing with model_validate_json() by @​Viicos in #13084

v2.13.1 (2026-04-15)

GitHub release

What's Changed

Fixes

v2.13.0 (2026-04-13)

GitHub release

The highlights of the v2.13 release are available in the blog post.

... (truncated)

Commits
  • cf67d4b Fix linting
  • f0d8a21 Prepare release v2.13.4
  • 5e3fe1d Check for pydantic tag pattern in CI
  • 7f9edcc Document tagging conventions
  • b46a0c9 Adapt pydantic-core linker flags on macOS
  • 50629c8 Update to PyPy 7.3.22
  • 8522ebb Preserve RootModel core metadata
  • a37f3af Adapt MISSING sentinel test to work with unreleased typing_extensions ver...
  • 909259a Remove Logfire example in documentation
  • 2c4174c Bump libc from 0.2.155 to 0.2.185
  • Additional commits viewable in compare view

Updates pyjwt from 2.8.0 to 2.13.0

Release notes

Sourced from pyjwt's releases.

2.13.0

PyJWT 2.13.0 — Security Release

This release bundles five security fixes plus three additional hardening / spec-compliance changes. We recommend all users upgrade.

Security

  • GHSA-xgmm-8j9v-c9wx — JWK JSON accepted as HMAC secret (algorithm confusion). HMACAlgorithm.prepare_key previously rejected PEM- and SSH-formatted asymmetric keys but did not catch a JWK passed as a raw JSON string. In a verifier configured with both symmetric and asymmetric algorithms in algorithms=[…] and a raw-JSON JWK as the key, an attacker could forge HS256 tokens using the JWK text as the HMAC secret. The guard has been extended to reject any JWK-shaped JSON. Reported by @​aradona91.

  • GHSA-jq35-7prp-9v3f — Algorithm allow-list bypass with PyJWK / PyJWKClient. When verifying with a PyJWK, the caller's algorithms=[…] allow-list was checked against the token header alg as a string only; actual verification used the algorithm bound to the PyJWK. An attacker who controlled a registered JWKS key could sign with one algorithm and advertise another on the header. PyJWT now requires the token header alg to match the PyJWK's algorithm before verification. Reported by @​sushi-gif.

  • GHSA-w7vc-732c-9m39 — DoS via base64 decode of unused payload segment when b64=false. For detached-payload JWS (b64=false), the compact-form payload segment was base64-decoded before being discarded in favor of the caller-supplied detached_payload. An attacker could inflate the unused segment to force CPU + memory cost without holding a valid signature. The segment is now required to be empty per RFC 7515 Appendix F, and is no longer decoded. Reported by @​thesmartshadow.

  • GHSA-993g-76c3-p5m4PyJWKClient accepts non-HTTP(S) URIs. PyJWKClient.fetch_data passed its URI to urllib.request.urlopen, which by default also handles file://, ftp://, and data: schemes. An application that fed an attacker-influenced URI into PyJWKClient could be coerced into reading local files or reaching other unintended schemes. PyJWKClient now rejects any URI whose scheme isn't http or https. Reported by @​KEIJOT.

  • GHSA-fhv5-28vv-h8m8PyJWKClient cache wiped on fetch error. A finally-block put(jwk_set=None) cleared the JWK Set cache whenever a fetch raised, turning a transient JWKS-endpoint outage into application-wide auth failure. The cache write was moved into the success path; transient errors no longer evict valid cached keys. Reported by @​eddieran.

Fixed

  • Reject empty HMAC keys outright in HMACAlgorithm.prepare_key with InvalidKeyError instead of accepting them with only a warning. Defends against the os.getenv("JWT_SECRET", "") footgun. Thanks to @​SnailSploit and @​spartan8806 for the reports.
  • Forward per-call options (including enforce_minimum_key_length) from PyJWT.decode through to PyJWS._verify_signature. The option was previously silently dropped between the two layers, so it only took effect when set on the PyJWT instance. Thanks to @​WLUB for the report.
  • RFC 7797 §3 compliance for b64=false: the encoder now auto-adds "b64" to crit, and the decoder rejects tokens that set b64=false without listing it in crit. Thanks to @​MachineLearning-Nerd for the report.

Changed

  • Migrate the dev, docs, and tests package extras to dependency groups, by @​kurtmckee in #1152.

Upgrade notes

Most fixes are invisible to correctly-configured callers. A few behavioral changes you may encounter:

  • Empty HMAC keys now raise. If your app passed "" or b"" as a secret (often via a missing env var, e.g. os.getenv("JWT_SECRET", "")), encode/decode will now raise InvalidKeyError. This is the intended behavior — fix the configuration.
  • PyJWK decoding now requires the token's alg to match the JWK's algorithm. Previously a mismatch was silently honored if the header alg appeared in the allow-list. Tokens that relied on this mismatch will now fail with InvalidAlgorithmError.
  • PyJWKClient now rejects non-HTTP(S) URIs at construction time. Tests or dev environments that fetched JWKS from file:// URIs need to switch to a local HTTP server or load the JWKS by other means (e.g. construct PyJWKSet.from_dict(...) directly).
  • b64=false tokens are now strictly RFC 7515 / 7797 compliant. Tokens with a non-empty compact-form payload segment, or that omit "b64" from crit, will be rejected. PyJWT-produced tokens always satisfy both invariants, so round-trips through PyJWT are unaffected.
  • enforce_minimum_key_length set per-call now takes effect. Callers who passed options={"enforce_minimum_key_length": True} to jwt.decode() previously got no enforcement; they will now get InvalidKeyError on undersized keys, as documented.

Full changelog: jpadilla/pyjwt@2.12.1...2.13.0

2.12.1

What's Changed

Full Changelog: jpadilla/pyjwt@2.12.0...2.12.1

2.12.0

Security

... (truncated)

Changelog

Sourced from pyjwt's changelog.

v2.13.0 <https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0>__

Security


- Reject JWK JSON documents passed as raw HMAC secrets in
  ``HMACAlgorithm.prepare_key`` to close an algorithm-confusion gap that
  the existing PEM/SSH guard did not cover. Reported by @aradona91 in
  `GHSA-xgmm-8j9v-c9wx <https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx>`__.
- Bind the JWT header ``alg`` to ``PyJWK.algorithm_name`` during
  verification so the caller's ``algorithms=[...]`` allow-list cannot be
  bypassed when decoding with a ``PyJWK`` / ``PyJWKClient`` key. Reported
  by @sushi-gif in `GHSA-jq35-7prp-9v3f <https://github.com/jpadilla/pyjwt/security/advisories/GHSA-jq35-7prp-9v3f>`__.
- Reject non-``http(s)`` URI schemes in ``PyJWKClient`` so attacker-
  influenced URIs cannot read local files or reach unintended schemes via
  urllib's default ``file://`` / ``ftp://`` / ``data:`` handlers. Reported
  by @KEIJOT in `GHSA-993g-76c3-p5m4 <https://github.com/jpadilla/pyjwt/security/advisories/GHSA-993g-76c3-p5m4>`__.
- Preserve the cached JWK Set on fetch errors in ``PyJWKClient.fetch_data``.
  The previous ``finally``-block ``put(None)`` pattern cleared the cache
  on any transient outage, turning one bad JWKS request into application-
  wide auth failure. Reported by @eddieran in `GHSA-fhv5-28vv-h8m8 <https://github.com/jpadilla/pyjwt/security/advisories/GHSA-fhv5-28vv-h8m8>`__.
- Skip the unconditional base64 decode of the compact-form payload segment
  when ``b64=false`` is set in the protected header, and require that
  segment to be empty (RFC 7515 Appendix F detached form). Closes an
  unauthenticated DoS amplifier. Reported by @thesmartshadow in
  `GHSA-w7vc-732c-9m39 <https://github.com/jpadilla/pyjwt/security/advisories/GHSA-w7vc-732c-9m39>`__.

Fixed


- Reject empty HMAC keys outright in ``HMACAlgorithm.prepare_key`` with
  ``InvalidKeyError`` instead of accepting them with only a warning.
  Thanks to @SnailSploit and @spartan8806 for independently flagging the
  footgun.
- Forward per-call ``options`` (including ``enforce_minimum_key_length``)
  from ``PyJWT.decode`` through to ``PyJWS._verify_signature`` so the
  option actually takes effect when set at the call site rather than only
  on the ``PyJWT`` instance. Thanks to @WLUB for the report.
- RFC 7797 §3 compliance for ``b64=false``: the encoder now auto-adds
  ``&quot;b64&quot;`` to the ``crit`` header parameter, and the decoder rejects
  tokens that set ``b64=false`` without listing it in ``crit``. Thanks to
  @MachineLearning-Nerd for the report.

Changed

  • Migrate the dev, docs, and tests package extras to dependency groups by @​kurtmckee in [#1152](https://github.com/jpadilla/pyjwt/issues/1152) &lt;https://github.com/jpadilla/pyjwt/pull/1152&gt;__

v2.12.1 &lt;https://github.com/jpadilla/pyjwt/compare/2.12.0...2.12.1&gt;__ </tr></table>

... (truncated)

Commits
  • 7144e45 Apply ruff format
  • d2f4bec Restore cast() calls with cross-version type: ignore for prepare_key
  • 22f478c Remove redundant casts in RSAAlgorithm.prepare_key and `ECAlgorithm.prepare...
  • 95791b1 Bundle security fixes and hardening into 2.13.0
  • dcc27a9 [pre-commit.ci] pre-commit autoupdate (#1155)
  • 9d08a9a [pre-commit.ci] pre-commit autoupdate (#1146)
  • b87c100 Bump codecov/codecov-action from 5 to 6 (#1154)
  • 40e3147 Migrate development extras to dependency groups (#1152)
  • a4e1a3d Add typing_extensions dependency for Python < 3.11 (#1151)
  • bd9700c Use PyJWK algorithm when encoding without explicit algorithm (#1148)
  • Additional commits viewable in compare view

Updates python-multipart from 0.0.28 to 0.0.32

Release notes

Sourced from python-multipart's releases.

Version 0.0.32

What's Changed

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

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

Changelog

Sourced from python-multipart's changelog.

0.0.32 (2026-06-04)

  • Speed up partial-boundary scanning for CR/LF-dense part data #300.

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.
Commits
  • 238ead6 Version 0.0.32 (#302)
  • 8672979 Replace per-byte partial-boundary scan with rfind lookbehind (#300)
  • 8190779 Bump the python-packages group with 7 updates (#301)
  • 0d3c086 Use uv package ecosystem for Dependabot (#299)
  • 4cffc68 Version 0.0.31 (#298)
  • c814948 Reject negative Content-Length in parse_form (#297)
  • 6b837d4 Bound header field name size before validating (#296)
  • e0c4f9d Bump the github-actions group with 3 updates (#294)
  • b8a01bb Bump the python-packages group with 3 updates (#293)
  • 6732164 Speed up multipart header parsing and callback dispatch (#295)
  • Additional commits viewable in compare view

Updates remotezip from 0.12.3 to 0.12.5

Release notes

Sourced from remotezip's releases.

v0.12.5

What's Changed

New Contributors

Full Changelog: gtsystem/python-remotezip@v0.12.3...v0.12.5

Commits
  • 87220b5 Bump urllib3 from 1.26.20 to 2.7.0
  • 03ab9b4 Fix datetime handling in remotezip.py (#34)

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Aug 25, 2026
@socket-security

socket-security Bot commented Aug 25, 2026

Copy link
Copy Markdown

@dependabot
dependabot Bot force-pushed the dependabot/uv/backend/production-ae325bf496 branch from a599bb4 to a04f053 Compare August 29, 2026 18:21
…ates

Bumps the production group with 10 updates in the /backend directory:

| Package | From | To |
| --- | --- | --- |
| [aiobotocore](https://github.com/aio-libs/aiobotocore) | `3.7.0` | `3.9.0` |
| [cssselect](https://github.com/scrapy/cssselect) | `1.4.0` | `1.5.0` |
| [fastapi](https://github.com/fastapi/fastapi) | `0.128.0` | `0.141.1` |
| [gunicorn](https://github.com/benoitc/gunicorn) | `26.0.0` | `26.2.0` |
| [humanize](https://github.com/python-humanize/humanize) | `4.15.0` | `4.16.0` |
| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.4` |
| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.8.0` | `2.13.0` |
| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.28` | `0.0.32` |
| [remotezip](https://github.com/gtsystem/python-remotezip) | `0.12.3` | `0.12.5` |
| [types-aiobotocore-s3](https://github.com/youtype/mypy_boto3_builder) | `3.7.0` | `3.9.0` |



Updates `aiobotocore` from 3.7.0 to 3.9.0
- [Release notes](https://github.com/aio-libs/aiobotocore/releases)
- [Changelog](https://github.com/aio-libs/aiobotocore/blob/main/CHANGES.rst)
- [Commits](aio-libs/aiobotocore@3.7.0...3.9.0)

Updates `cssselect` from 1.4.0 to 1.5.0
- [Changelog](https://github.com/scrapy/cssselect/blob/master/CHANGES)
- [Commits](scrapy/cssselect@v1.4.0...v1.5.0)

Updates `fastapi` from 0.128.0 to 0.141.1
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](fastapi/fastapi@0.128.0...0.141.1)

Updates `gunicorn` from 26.0.0 to 26.2.0
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](benoitc/gunicorn@26.0.0...26.2.0)

Updates `humanize` from 4.15.0 to 4.16.0
- [Release notes](https://github.com/python-humanize/humanize/releases)
- [Commits](python-humanize/humanize@4.15.0...4.16.0)

Updates `pydantic` from 2.12.5 to 2.13.4
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](pydantic/pydantic@v2.12.5...v2.13.4)

Updates `pyjwt` from 2.8.0 to 2.13.0
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](jpadilla/pyjwt@2.8.0...2.13.0)

Updates `python-multipart` from 0.0.28 to 0.0.32
- [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.28...0.0.32)

Updates `remotezip` from 0.12.3 to 0.12.5
- [Release notes](https://github.com/gtsystem/python-remotezip/releases)
- [Commits](gtsystem/python-remotezip@v0.12.3...v0.12.5)

Updates `types-aiobotocore-s3` from 3.7.0 to 3.9.0
- [Release notes](https://github.com/youtype/mypy_boto3_builder/releases)
- [Commits](https://github.com/youtype/mypy_boto3_builder/commits)

---
updated-dependencies:
- dependency-name: aiobotocore
  dependency-version: 3.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production
- dependency-name: cssselect
  dependency-version: 1.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production
- dependency-name: fastapi
  dependency-version: 0.141.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production
- dependency-name: gunicorn
  dependency-version: 26.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production
- dependency-name: humanize
  dependency-version: 4.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production
- dependency-name: pydantic
  dependency-version: 2.13.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production
- dependency-name: pyjwt
  dependency-version: 2.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production
- dependency-name: python-multipart
  dependency-version: 0.0.32
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production
- dependency-name: remotezip
  dependency-version: 0.12.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production
- dependency-name: types-aiobotocore-s3
  dependency-version: 3.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/uv/backend/production-ae325bf496 branch from a04f053 to 37df011 Compare September 4, 2026 00:18
@dependabot @github

dependabot Bot commented on behalf of github Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

Looks like these dependencies are updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Sep 9, 2026
@dependabot
dependabot Bot deleted the dependabot/uv/backend/production-ae325bf496 branch September 9, 2026 20:26
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