Skip to content

Update Python dependencies (non-major) - #12929

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/python-non-major
Open

Update Python dependencies (non-major)#12929
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/python-non-major

Conversation

@renovate

@renovate renovate Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
APScheduler (changelog) ==3.11.2==3.11.3 age confidence
beautifulsoup4 (changelog) ==4.14.3==4.15.0 age confidence
fastapi (changelog) ==0.136.3==0.141.1 age confidence
fastapi (changelog) ==0.115.0==0.141.1 age confidence
feedparser ==6.0.12==6.0.14 age confidence
httpx (changelog) ==0.27.2==0.28.1 age confidence
ijson ==3.5.0==3.5.1 age confidence
internetarchive ==5.9.0==5.11.1 age confidence
luqum ==0.11.0==0.14.0 age confidence
lxml (source, changelog) ==6.1.1==6.1.2 age confidence
mypy (changelog) ==2.1.0==2.3.1 age confidence
nameparser ==1.1.3==1.4.0 age confidence
pydantic (changelog) ==2.13.4==2.13.5 age confidence
pydantic-settings (changelog) ==2.9.1==2.15.0 age confidence
pymarc ==5.3.1==5.4.0 age confidence
pytest (changelog) ==9.0.3==9.1.1 age confidence
ruff (source, changelog) ==0.16.1==0.16.5 age confidence
sentry-sdk (changelog) ==2.61.1==2.68.1 age confidence
uvicorn (changelog) ==0.49.0==0.52.4 age confidence
uvicorn (changelog) ==0.30.6==0.52.4 age confidence

Release Notes

agronholm/apscheduler (APScheduler)

v3.11.3

Compare Source

  • Fixed sub-minute interval jobs stalling for the duration of a DST spring-forward gap when the scheduler was configured with a ZoneInfo time zone, caused by the wakeup delay being computed from the naive wall-clock difference instead of the actual UTC difference (#​1103)
  • Fixed imported jobs missing their scheduler and job store links (#​1119)
fastapi/fastapi (fastapi)

v0.141.1

Compare Source

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

v0.141.0

Compare Source

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

v0.140.13

Compare Source

Fixes
Docs

v0.140.12

Compare Source

Fixes

v0.140.11

Compare Source

v0.140.10

Compare Source

Fixes
Internal

v0.140.9

Compare Source

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

v0.140.8

Compare Source

Fixes

v0.140.7

Compare Source

Refactors
Internal

v0.140.6

Compare Source

Refactors
  • ⚡️ Avoid flattening dependencies for request parameters, mainly for OpenAPI. PR #​16073 by @​tiangolo.

v0.140.5

Compare Source

Refactors

v0.140.4

Compare Source

v0.140.3

Compare Source

Refactors

v0.140.2

Compare Source

Refactors
Internal

v0.140.1

Compare Source

Refactors
  • ♻️ Update the lru_cache limit for dependencies to account for large apps. PR #​16062 by @​tiangolo.

v0.140.0

Compare Source

Refactors
Docs
Internal

v0.139.2

Compare Source

Fixes
  • 🐛 Refactor router route building to make it thread-safe, mainly relevant for tests running in parallel threads (uncommon). PR #​16013 by @​tiangolo.

v0.139.1

Compare Source

Fixes
Docs
  • 📝 Fix topic repository list not being displayed and skip_users not being applied. PR #​15995 by @​YuriiMotov.
Translations
Internal

v0.139.0

Compare Source

Features
  • ✨ Support dependencies in app.frontend(), e.g. for automatic cookie authentication for the frontend. PR #​15908 by @​tiangolo.
Translations
Internal

v0.138.2

Compare Source

Refactors
  • ♻️ Make app.frontend() return 404 for methods other than GET or HEAD with no static file matches. PR #​15863 by @​tiangolo.
Internal

v0.138.1

Compare Source

Refactors
Internal

v0.138.0

Compare Source

Features
  • ✨ Add support for app.frontend("/", directory="dist") and router.frontend("/", directory="dist"). PR #​15800 by @​tiangolo.
Docs
Translations
Internal

v0.137.2

Compare Source

Features
  • ✨ Add iter_route_contexts() for advanced use cases that used to use router.routes (e.g. Jupyverse). PR #​15785 by @​tiangolo.
Translations
Internal

v0.137.1

Compare Source

Fixes

v0.137.0

Compare Source

Breaking Changes

Unblocks ✨ SO MANY THINGS ✨

Before this, router.include_router(other_router) would take each path operation from other_router and "clone" it, or recreate it from scratch.

This would mean that in the end there was only one top level router, part of the app.

The way it is structured here is that there are a few additional classes to handle intermediate metadata for router and route inclusion. That way the information of "router X includes Y and Y includes Z" is stored somewhere, without affecting (recreating / clonning) the final route.

Non Objectives

Dependencies for 404: previously I intended to support dependencies that would be executed even for 404, but that would conflict with the fact that a router could not find a match, but the next router did find a match. Executing dependencies in the router that did not find a match would not make sense, they could consume the request, body, etc. This original idea was discarded.

Specific Breaking Changes

Now router.routes is no longer a plain list of APIRoute objects, it can contain these intermediate objects that can contain additional routers, forming a tree.

Any logic that depended on iterating on the router.routes directly would be affected, that logic cannot expect to be able to extract data from a plain list of routes, as it's no longer a plain list but a tree.

Additionally, any logic that iterated on router.routes to modify them would now also see these new objects, and would not see all the routes in the app.

router.routes should be considered an internal implementation detail, only passed around to the FastAPI functions that need it.

Features
  • Adding routes (path operations) after a router is included now works, they are reflected as they are not copied.
  • Including subrouter in mainrouter can be done before adding routes (path operations) to subrouter, because now the the entire object is stored instead of copying the routes.
  • As routes are not copied, in some cases that might save some memory.
Alpha Features

This is not documented yet, so it's not officially supported yet and could change in the future.

But, as APIRoute and APIRouter instances are now preserved, they could be customized.

APIRouter has two new methods, .matches() and .handle(), counterpart to the existing ones in APIRoute. With this a router could customize how it matches and handles requests. For example, it could match only requests that include some specific header, for example for handling versions in headers.

Still, for now, consider this very experimental and potentially changing and breaking in the future.

Future Features Enabled
  • Custom APIRoute subclasses (undocumented, but alraedy works as desccribed above)
  • Custom APIRouter subclasses (undocumented, but already works as described above)
  • Dependencies per router
  • Exception handlers per router
  • Middleware per router
  • Other features planned
Docs
Translations
Internal
kurtmckee/feedparser (feedparser)

v6.0.14

Compare Source

===================

  • Upgrade to feedparser-sgmllib 2.0.0. (#​585)

v6.0.13

Compare Source

===================

Python support

  • Drop support for Python 3.9 and lower.

Changed

  • Migrate from sgmllib3k to feedparser-sgmllib.

Fixed

  • Resolve package build warnings.
encode/httpx (httpx)

v0.28.1

Compare Source

  • Fix SSL case where verify=False together with client side certificates.

v0.28.0

Compare Source

Be aware that the default JSON request bodies now use a more compact representation. This is generally considered a prefered style, tho may require updates to test suites.

The 0.28 release includes a limited set of deprecations...

Deprecations:

We are working towards a simplified SSL configuration API.

For users of the standard verify=True or verify=False cases, or verify=<ssl_context> case this should require no changes. The following cases have been deprecated...

  • The verify argument as a string argument is now deprecated and will raise warnings.
  • The cert argument is now deprecated and will raise warnings.

Our revised SSL documentation covers how to implement the same behaviour with a more constrained API.

The following changes are also included:

  • The deprecated proxies argument has now been removed.
  • The deprecated app argument has now been removed.
  • JSON request bodies use a compact representation. (#​3363)
  • Review URL percent escape sets, based on WHATWG spec. (#​3371, #​3373)
  • Ensure certifi and httpcore are only imported if required. (#​3377)
  • Treat socks5h as a valid proxy scheme. (#​3178)
  • Cleanup Request() method signature in line with client.request() and httpx.request(). (#​3378)
  • Bugfix: When passing params={}, always strictly update rather than merge with an existing querystring. (#​3364)
ICRAR/ijson (ijson)

v3.5.1

Compare Source

  • The internal ijson.common.ObjectBuilder no longer creates internal reference
    cycles, so discarded builders are freed by reference counting instead
    of waiting for a cyclic garbage collection pass. This lowers peak
    memory usage for code that builds and discards one large object at a
    time. As a side effect, builder.value is now None before any
    event is processed

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "before 9am on Monday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/python-non-major branch from a837f0d to e7b3bdc Compare June 15, 2026 21:12
@renovate renovate Bot changed the title chore(deps): update python dependencies (non-major) Update Python dependencies (non-major) Jun 15, 2026
@renovate renovate Bot changed the title Update Python dependencies (non-major) chore(deps): update python dependencies (non-major) Jun 16, 2026
@renovate
renovate Bot force-pushed the renovate/python-non-major branch from e7b3bdc to d4aa84c Compare June 16, 2026 22:19
@renovate
renovate Bot force-pushed the renovate/python-non-major branch 2 times, most recently from 4486df4 to dac9204 Compare June 18, 2026 18:29
@renovate renovate Bot changed the title chore(deps): update python dependencies (non-major) Update Python dependencies (non-major) Jun 18, 2026
@renovate
renovate Bot force-pushed the renovate/python-non-major branch 2 times, most recently from c908250 to 6ec7f18 Compare June 21, 2026 13:44
@renovate renovate Bot changed the title Update Python dependencies (non-major) chore(deps): update python dependencies (non-major) Jun 22, 2026
@renovate
renovate Bot force-pushed the renovate/python-non-major branch 3 times, most recently from 0fdae43 to f06c4d9 Compare June 23, 2026 04:48
@renovate renovate Bot changed the title chore(deps): update python dependencies (non-major) Update Python dependencies (non-major) Jun 23, 2026
@renovate
renovate Bot force-pushed the renovate/python-non-major branch 3 times, most recently from 1d3085b to e1b559c Compare June 25, 2026 16:59
@renovate renovate Bot changed the title Update Python dependencies (non-major) chore(deps): update python dependencies (non-major) Jun 25, 2026
@renovate
renovate Bot force-pushed the renovate/python-non-major branch 4 times, most recently from 7c21cdd to 76a115d Compare June 27, 2026 01:09
mekarpeles added a commit that referenced this pull request Jun 27, 2026
@renovate
renovate Bot force-pushed the renovate/python-non-major branch 5 times, most recently from 2922224 to 4bac1ee Compare June 30, 2026 19:12
@renovate
renovate Bot force-pushed the renovate/python-non-major branch 5 times, most recently from 35c47d5 to 9a2622b Compare July 9, 2026 16:30
@renovate renovate Bot changed the title chore(deps): update python dependencies (non-major) Update Python dependencies (non-major) Jul 9, 2026
@renovate
renovate Bot force-pushed the renovate/python-non-major branch 6 times, most recently from b366d8b to 936fc1d Compare July 16, 2026 15:03
@renovate renovate Bot changed the title Update Python dependencies (non-major) chore(deps): update python dependencies (non-major) Jul 16, 2026
@renovate
renovate Bot force-pushed the renovate/python-non-major branch 2 times, most recently from fd81907 to 2fa210c Compare July 16, 2026 20:34
@renovate renovate Bot changed the title chore(deps): update python dependencies (non-major) Update Python dependencies (non-major) Jul 16, 2026
@renovate
renovate Bot force-pushed the renovate/python-non-major branch 5 times, most recently from 9a22460 to b4f98b4 Compare July 20, 2026 22:33
@renovate renovate Bot changed the title Update Python dependencies (non-major) chore(deps): update python dependencies (non-major) Jul 21, 2026
@renovate
renovate Bot force-pushed the renovate/python-non-major branch 6 times, most recently from f1de02b to 23cde32 Compare July 27, 2026 19:42
@renovate renovate Bot changed the title chore(deps): update python dependencies (non-major) Update Python dependencies (non-major) Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants