FAQ | This is a LIVE service | Changelog

fix(deps): update all non-major dependencies

This MR contains the following updates:

Package Type Update Change Age Confidence
PyCQA/isort repository minor 6.0.0 -> 6.1.0 age confidence
alessandrojcm/commitlint-pre-commit-hook repository minor v9.21.0 -> v9.23.0 age confidence
fastapi (changelog) dependencies minor ^0.110.1 -> ^0.124.0 age confidence
httpx (changelog) dev minor ^0.27.0 -> ^0.28.0 age confidence
pre-commit/mirrors-mypy repository minor v1.15.0 -> v1.19.0 age confidence
pre-commit/pre-commit-hooks repository minor v4.4.0 -> v4.6.0 age confidence
psf/black repository minor 25.1.0 -> 25.12.0 age confidence
pycqa/flake8 repository minor 7.0.0 -> 7.3.0 age confidence
pydantic-settings (changelog) dependencies minor 2.3.4 -> 2.12.0 age confidence
python-poetry/poetry repository patch 1.8.2 -> 1.8.5 age confidence
ucam-observe dependencies patch 0.2.0 -> 0.2.2 age confidence
uis/devops/continuous-delivery/ci-templates repository minor v7.20.3 -> v7.23.1 age confidence
uvicorn (changelog) dependencies minor ^0.29.0 -> ^0.38.0 age confidence

Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.


Release Notes

PyCQA/isort (PyCQA/isort)

v6.1.0

Compare Source

v6.0.1

Compare Source

Changes

:beetle: Fixes

:construction_worker: Continuous Integration

alessandrojcm/commitlint-pre-commit-hook (alessandrojcm/commitlint-pre-commit-hook)

v9.23.0

Compare Source

Features
  • bump the commitlint group with 2 updates (c395a79)
  • bump the commitlint group with 2 updates (2be08da)
  • bump the commitlint group with 2 updates (c3bd3f3)

v9.22.0

Compare Source

Features
  • bump the commitlint group with 2 updates (3af7602)
fastapi/fastapi (fastapi)

v0.124.0

Compare Source

Features
Internal

v0.123.10

Compare Source

Fixes

v0.123.9

Compare Source

Fixes
  • 🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent dependency with scopes, sub-dependency security scheme without scopes. MR #​14459 by @​tiangolo.

v0.123.8

Compare Source

Fixes
  • 🐛 Fix OpenAPI security scheme OAuth2 scopes declaration, deduplicate security schemes with different scopes. MR #​14455 by @​tiangolo.

v0.123.7

Compare Source

Fixes

v0.123.6

Compare Source

Fixes
  • 🐛 Fix support for functools wraps and partial combined, for async and regular functions and classes in path operations and dependencies. MR #​14448 by @​tiangolo.

v0.123.5

Compare Source

Features
Fixes
  • 🐛 Fix optional sequence handling with new union syntax from Python 3.10. MR #​14430 by @​Viicos.
Refactors
  • 🔥 Remove dangling extra condiitonal no longer needed. MR #​14435 by @​tiangolo.
  • ♻️ Refactor internals, update is_coroutine check to reuse internal supported variants (unwrap, check class). MR #​14434 by @​tiangolo.
Translations

v0.123.4

Compare Source

Fixes
  • 🐛 Fix OpenAPI schema support for computed fields when using separate_input_output_schemas=False. MR #​13207 by @​vgrafe.
Docs

v0.123.3

Compare Source

Fixes

v0.123.2

Compare Source

Fixes
Docs

v0.123.1

Compare Source

Fixes
Internal

v0.123.0

Compare Source

Fixes
  • 🐛 Cache dependencies that don't use scopes and don't have sub-dependencies with scopes. MR #​14419 by @​tiangolo.

v0.122.1

Compare Source

Fixes
Docs
Internal

v0.122.0

Compare Source

Fixes
Internal

v0.121.3

Compare Source

0.121.3

Refactors
  • ♻️ Make the result of Depends() and Security() hashable, as a workaround for other tools interacting with these internal parts. MR #​14372 by @​tiangolo.
Upgrades
Docs

v0.121.2

Compare Source

Fixes
Docs
Translations

v0.121.1

Compare Source

Fixes
  • 🐛 Fix Depends(func, scope='function') for top level (parameterless) dependencies. MR #​14301 by @​luzzodev.
Docs
  • 📝 Upate docs for advanced dependencies with yield, noting the changes in 0.121.0, adding scope. MR #​14287 by @​tiangolo.
Internal

v0.121.0

Compare Source

Features
Internal

v0.120.4

Compare Source

Fixes

v0.120.3

Compare Source

Refactors
  • ♻️ Reduce internal cyclic recursion in dependencies, from 2 functions calling each other to 1 calling itself. MR #​14256 by @​tiangolo.
  • ♻️ Refactor internals of dependencies, simplify code and remove get_param_sub_dependant. MR #​14255 by @​tiangolo.
  • ♻️ Refactor internals of dependencies, simplify using dataclasses. MR #​14254 by @​tiangolo.
Docs

v0.120.2

Compare Source

Fixes
Internal

v0.120.1

Compare Source

Upgrades
Internal
  • 🔧 Add license and license-files to pyproject.toml, remove License from classifiers. MR #​14230 by @​YuriiMotov.

v0.120.0

Compare Source

There are no major nor breaking changes in this release. ☕️

The internal reference documentation now uses annotated_doc.Doc instead of typing_extensions.Doc, this adds a new (very small) dependency on annotated-doc, a package made just to provide that Doc documentation utility class.

I would expect typing_extensions.Doc to be deprecated and then removed at some point from typing_extensions, for that reason there's the new annotated-doc micro-package. If you are curious about this, you can read more in the repo for annotated-doc.

This new version 0.120.0 only contains that transition to the new home package for that utility class Doc.

Translations
Internal

v0.119.1

Compare Source

Fixes
  • 🐛 Fix internal Pydantic v1 compatibility (warnings) for Python 3.14 and Pydantic 2.12.1. MR #​14186 by @​svlandeg.
Docs
  • 📝 Replace starlette.io by starlette.dev and uvicorn.org by uvicorn.dev. MR #​14176 by @​Kludex.
Internal

v0.119.0

Compare Source

FastAPI now (temporarily) supports both Pydantic v2 models and pydantic.v1 models at the same time in the same app, to make it easier for any FastAPI apps still using Pydantic v1 to gradually but quickly migrate to Pydantic v2.

from fastapi import FastAPI
from pydantic import BaseModel as BaseModelV2
from pydantic.v1 import BaseModel

class Item(BaseModel):
    name: str
    description: str | None = None

class ItemV2(BaseModelV2):
    title: str
    summary: str | None = None

app = FastAPI()

@​app.post("/items/", response_model=ItemV2)
def create_item(item: Item):
    return {"title": item.name, "summary": item.description}

Adding this feature was a big effort with the main objective of making it easier for the few applications still stuck in Pydantic v1 to migrate to Pydantic v2.

And with this, support for Pydantic v1 is now deprecated and will be removed from FastAPI in a future version soon.

Note: have in mind that the Pydantic team already stopped supporting Pydantic v1 for recent versions of Python, starting with Python 3.14.

You can read in the docs more about how to Migrate from Pydantic v1 to Pydantic v2.

Features
  • ✨ Add support for from pydantic.v1 import BaseModel, mixed Pydantic v1 and v2 models in the same app. MR #​14168 by @​tiangolo.

v0.118.3

Compare Source

Upgrades

v0.118.2

Compare Source

Fixes
Internal

v0.118.1

Compare Source

Upgrades
Docs
Translations
Internal

v0.118.0

Compare Source

0.118.0
Fixes
  • 🐛 Fix support for StreamingResponses with dependencies with yield or UploadFiles, close after the response is done. MR #​14099 by @​tiangolo.

Before FastAPI 0.118.0, if you used a dependency with yield, it would run the exit code after the path operation function returned but right before sending the response.

This change also meant that if you returned a StreamingResponse, the exit code of the dependency with yield would have been already run.

For example, if you had a database session in a dependency with yield, the StreamingResponse would not be able to use that session while streaming data because the session would have already been closed in the exit code after yield.

This behavior was reverted in 0.118.0, to make the exit code after yield be executed after the response is sent.

You can read more about it in the docs for Advanced Dependencies - Dependencies with yield, HTTPException, except and Background Tasks. Including what you could do if you wanted to close a database session earlier, before returning the response to the client.

Docs
Translations
Internal

v0.117.1

Compare Source

Fixes

v0.117.0

Compare Source

Features
Fixes
  • ⚡️ Fix default_factory for response model field with Pydantic V1. MR #​9704 by @​vvanglro.
  • 🐛 Fix inconsistent processing of model docstring formfeed char with Pydantic V1. MR #​6039 by @​MaxwellPayne.
  • 🐛 Fix jsonable_encoder alters json_encoders of Pydantic v1 objects. MR #​4972 by @​aboubacs.
  • 🐛 Reenable allow_arbitrary_types when only 1 argument is used on the API endpoint. MR #​13694 by @​rmawatson.
  • 🐛 Fix inspect.getcoroutinefunction() can break testing with unittest.mock.patch(). MR #​14022 by @​secrett2633.
Refactors
Docs
Translations
Internal

v0.116.2

Compare Source

Upgrades
Docs
Translations
Internal

v0.116.1

Compare Source

Upgrades
Docs
  • 📝 Add notification about impending changes in Translations to docs/en/docs/contributing.md. MR #​13886 by @​YuriiMotov.
Internal

v0.116.0

Compare Source

Features

Installing fastapi[standard] now includes fastapi-cloud-cli.

This will allow you to deploy to FastAPI Cloud with the fastapi deploy command.

If you want to install fastapi with the standard dependencies but without fastapi-cloud-cli, you can install instead fastapi[standard-no-fastapi-cloud-cli].

Translations
Internal

v0.115.14

Compare Source

Fixes
Docs
Translations
Internal

v0.115.13

Compare Source

Fixes
  • 🐛 Fix truncating the model's description with form feed (\f) character for Pydantic V2. MR #​13698 by @​YuriiMotov.
Refactors
Upgrades
Docs
Translations
Internal

v0.115.12

Compare Source

Fixes
Docs
Translations
Internal

v0.115.11

Compare Source

Fixes
Translations
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/middleware.md. MR #​13412 by @​alv2017.
Internal

v0.115.10

Compare Source

Fixes
  • ♻️ Update internal annotation usage for compatibility with Pydantic 2.11. MR #​13314 by @​Viicos.
Upgrades
Translations

v0.115.9

Compare Source

Fixes
  • 🐛 Ensure that HTTPDigest only raises an exception when auto_error is True. MR #​2939 by @​arthurio.
Refactors
Docs
Translations
Internal

v0.115.8

Compare Source

Fixes
  • 🐛 Fix OAuth2PasswordRequestForm and OAuth2PasswordRequestFormStrict fixed grant_type "password" RegEx. MR #​9783 by @​skarfie123.
Refactors
Docs
Translations
  • 🌐 Add Japanese translation for docs/ja/docs/environment-variables.md. MR #​13226 by @​k94-ishi.
  • 🌐 Add Russian translation for docs/ru/docs/advanced/async-tests.md. MR #​13227 by @​Rishat-F.
  • 🌐 Update Russian translation for docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. MR #​13252 by @​Rishat-F.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/bigger-applications.md. MR #​13154 by @​alv2017.
Internal

v0.115.7

Compare Source

Upgrades
Refactors
Docs
Translations
Internal

v0.115.6

Compare Source

Fixes
  • 🐛 Preserve traceback when an exception is raised in sync dependency with yield. MR #​5823 by @​sombek.
Refactors
  • ♻️ Update tests and internals for compatibility with Pydantic >=2.10. MR #​12971 by @​tamird.
Docs
Translations
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/async.md. MR #​12990 by @​ILoveSorasakiHina.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/tutorial/query-param-models.md. MR #​12932 by @​Vincy1230.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/testing-dependencies.md. MR #​12992 by @​Limsunoh.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/websockets.md. MR #​12991 by @​kwang1215.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/response-model.md. MR #​12933 by @​AndreBBM.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/middlewares.md. MR #​12753 by @​nahyunkeem.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/openapi-webhooks.md. MR #​12752 by @​saeye.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/query-param-models.md. MR #​12931 by @​Vincy1230.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/query-param-models.md. MR #​12445 by @​gitgernit.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/query-param-models.md. MR #​12940 by @​jts8257.
  • 🔥 Remove obsolete tutorial translation to Chinese for docs/zh/docs/tutorial/sql-databases.md, it references files that are no longer on the repo. MR #​12949 by @​tiangolo.
Internal

v0.115.5

Compare Source

Refactors
Docs
Translations
Internal

v0.115.4

Compare Source

Refactors
  • ♻️ Update logic to import and check python-multipart for compatibility with newer version. MR #​12627 by @​tiangolo.
Docs
Translations
Internal

v0.115.3

Compare Source

Upgrades
Docs
Translations
Internal

v0.115.2

Compare Source

Upgrades

v0.115.1

Compare Source

Fixes
Refactors
Docs
Translations
Internal

v0.115.0

Compare Source

Highlights

Now you can declare Query, Header, and Cookie parameters with Pydantic models. 🎉

Query Parameter Models

Use Pydantic models for Query parameters:

from typing import Annotated, Literal

from fastapi import FastAPI, Query
from pydantic import BaseModel, Field

app = FastAPI()

class FilterParams(BaseModel):
    limit: int = Field(100, gt=0, le=100)
    offset: int = Field(0, ge=0)
    order_by: Literal["created_at", "updated_at"] = "created_at"
    tags: list[str] = []

@​app.get("/items/")
async def read_items(filter_query: Annotated[FilterParams, Query()]):
    return filter_query

Read the new docs: Query Parameter Models.

Header Parameter Models

Use Pydantic models for Header parameters:

from typing import Annotated

from fastapi import FastAPI, Header
from pydantic import BaseModel

app = FastAPI()

class CommonHeaders(BaseModel):
    host: str
    save_data: bool
    if_modified_since: str | None = None
    traceparent: str | None = None
    x_tag: list[str] = []

@​app.get("/items/")
async def read_items(headers: Annotated[CommonHeaders, Header()]):
    return headers

Read the new docs: Header Parameter Models.

Cookie Parameter Models

Use Pydantic models for Cookie parameters:

from typing import Annotated

from fastapi import Cookie, FastAPI
from pydantic import BaseModel

app = FastAPI()

class Cookies(BaseModel):
    session_id: str
    fatebook_tracker: str | None = None
    googall_tracker: str | None = None

@​app.get("/items/")
async def read_items(cookies: Annotated[Cookies, Cookie()]):
    return cookies

Read the new docs: Cookie Parameter Models.

Forbid Extra Query (Cookie, Header) Parameters

Use Pydantic models to restrict extra values for Query parameters (also applies to Header and Cookie parameters).

To achieve it, use Pydantic's model_config = {"extra": "forbid"}:

from typing import Annotated, Literal

from fastapi import FastAPI, Query
from pydantic import BaseModel, Field

app = FastAPI()

class FilterParams(BaseModel):
    model_config = {"extra": "forbid"}

    limit: int = Field(100, gt=0, le=100)
    offset: int = Field(0, ge=0)
    order_by: Literal["created_at", "updated_at"] = "created_at"
    tags: list[str] = []

@​app.get("/items/")
async def read_items(filter_query: Annotated[FilterParams, Query()]):
    return filter_query

This applies to Query, Header, and Cookie parameters, read the new docs:

Features
  • ✨ Add support for Pydantic models for parameters using Query, Cookie, Header. MR #​12199 by @​tiangolo.
Translations
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/security/http-basic-auth.md. MR #​12195 by @​ceb10n.
Internal

v0.114.2

Compare Source

Fixes
Translations
Internal

v0.114.1

Compare Source

Refactors
  • ⚡️ Improve performance in request body parsing with a cache for internal model fields. MR #​12184 by @​tiangolo.
Docs
  • 📝 Remove duplicate line in docs for docs/en/docs/environment-variables.md. MR #​12169 by @​prometek.
Translations
Internal

v0.114.0

Compare Source

You can restrict form fields to only include those declared in a Pydantic model and forbid any extra field sent in the request using Pydantic's model_config = {"extra": "forbid"}:

from typing import Annotated

from fastapi import FastAPI, Form
from pydantic import BaseModel

app = FastAPI()

class FormData(BaseModel):
    username: str
    password: str
    model_config = {"extra": "forbid"}

@​app.post("/login/")
async def login(data: Annotated[FormData, Form()]):
    return data

Read the new docs: Form Models - Forbid Extra Form Fields.

Features
Docs
Internal
  • ✅ Update internal tests for latest Pydantic, including CI tweaks to install the latest Pydantic. MR #​12147 by @​tiangolo.

v0.113.0

Compare Source

Now you can declare form fields with Pydantic models:

from typing import Annotated

from fastapi import FastAPI, Form
from pydantic import BaseModel

app = FastAPI()

class FormData(BaseModel):
    username: str
    password: str

@​app.post("/login/")
async def login(data: Annotated[FormData, Form()]):
    return data

Read the new docs: Form Models.

Features
Internal

v0.112.4

Compare Source

This release is mainly a big internal refactor to enable adding support for Pydantic models for Form fields, but that feature comes in the next release.

This release shouldn't affect apps using FastAPI in any way. You don't even have to upgrade to this version yet. It's just a checkpoint. 🤓

Refactors
  • ♻️ Refactor deciding if embed body fields, do not overwrite fields, compute once per router, refactor internals in preparation for Pydantic models in Form, Query and others. MR #​12117 by @​tiangolo.
Internal
  • ⏪️ Temporarily revert "✨ Add support for Pydantic models in Form parameters" to make a checkpoint release. MR #​12128 by @​tiangolo.
  • ✨ Add support for Pydantic models in Form parameters. MR #​12127 by @​tiangolo. Reverted to make a checkpoint release with only refactors.

v0.112.3

Compare Source

This release is mainly internal refactors, it shouldn't affect apps using FastAPI in any way. You don't even have to upgrade to this version yet. There are a few bigger releases coming right after. 🚀

Refactors
  • ♻️ Refactor internal check_file_field(), rename to ensure_multipart_is_installed() to clarify its purpose. MR #​12106 by @​tiangolo.
  • ♻️ Rename internal create_response_field() to create_model_field() as it's used for more than response models. MR #​12103 by @​tiangolo.
  • ♻️ Refactor and simplify internal data from solve_dependencies() using dataclasses. MR #​12100 by @​tiangolo.
  • ♻️ Refactor and simplify internal analyze_param() to structure data with dataclasses instead of tuple. MR #​12099 by @​tiangolo.
  • ♻️ Refactor and simplify dependencies data structures with dataclasses. MR #​12098 by @​tiangolo.
Docs
Translations
Internal

v0.112.2

Compare Source

Fixes
Refactors
Docs
Translations
Internal

v0.112.1

Compare Source

Upgrades
Docs
Translations
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/bigger-applications.md. MR #​11971 by @​marcelomarkus.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/testing-websockets.md. MR #​11994 by @​ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/testing-dependencies.md. MR #​11995 by @​ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/using-request-directly.md. MR #​11956 by @​ceb10n.
  • 🌐 Add French translation for docs/fr/docs/tutorial/body-multiple-params.md. MR #​11796 by @​pe-brian.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/query-params.md. MR #​11557 by @​caomingpei.
  • 🌐 Update typo in Chinese translation for docs/zh/docs/advanced/testing-dependencies.md. MR #​11944 by @​bestony.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/sub-applications.md and docs/pt/docs/advanced/behind-a-proxy.md. MR #​11856 by @​marcelomarkus.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/cors.md and docs/pt/docs/tutorial/middleware.md. MR #​11916 by @​wesinalves.
  • 🌐 Add French translation for docs/fr/docs/tutorial/path-params-numeric-validations.md. MR #​11788 by @​pe-brian.
Internal

v0.112.0

Compare Source

Breaking Changes
  • ♻️ Add support for pip install "fastapi[standard]" with standard dependencies and python -m fastapi. MR #​11935 by @​tiangolo.
Summary

Install with:

pip install "fastapi[standard]"
Other Changes
  • This adds support for calling the CLI as:
python -m fastapi
  • And it upgrades fastapi-cli[standard] >=0.0.5.
Technical Details

Before this, fastapi would include the standard dependencies, with Uvicorn and the fastapi-cli, etc.

And fastapi-slim would not include those standard dependencies.

Now fastapi doesn't include those standard dependencies unless you install with pip install "fastapi[standard]".

Before, you would install pip install fastapi, now you should include the standard optional dependencies (unless you want to exclude one of those): pip install "fastapi[standard]".

This change is because having the standard optional dependencies installed by default was being inconvenient to several users, and having to install instead fastapi-slim was not being a feasible solution.

Discussed here: #​11522 and here: #​11525

Docs
Translations
Internal

v0.111.1

Compare Source

Upgrades
  • ➖ Remove orjson and ujson from default dependencies. MR #​11842 by @​tiangolo.
    • These dependencies are still installed when you install with pip install "fastapi[all]". But they not included in pip install fastapi.
  • 📝 Restored Swagger-UI links to use the latest version possible. MR #​11459 by @​UltimateLobster.
Docs
Translations
Internal

v0.111.0

Compare Source

Features

Try it out with:

$ pip install --upgrade fastapi

$ fastapi dev main.py

 ╭────────── FastAPI CLI - Development mode ───────────╮
 │                                                     │
 │  Serving at: http://127.0.0.1:8000                  │
 │                                                     │
 │  API docs: http://127.0.0.1:8000/docs               │
 │                                                     │
 │  Running in development mode, for production use:   │
 │                                                     │
 │  fastapi run                                        │
 │                                                     │
 ╰─────────────────────────────────────────────────────╯

INFO:     Will watch for changes in these directories: ['/home/user/code/awesomeapp']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [2248755] using WatchFiles
INFO:     Started server process [2248757]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
Refactors
  • 🔧 Add configs and setup for fastapi-slim including optional extras fastapi-slim[standard], and fastapi including by default the same standard extras. MR #​11503 by @​tiangolo.
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)

v0.27.2

Compare Source

Fixed
  • Reintroduced supposedly-private URLTypes shortcut. (#​2673)

v0.27.1

Compare Source

Added
  • Support for zstd content decoding using the python zstandard package is added. Installable using httpx[zstd]. (#​3139)
Fixed
  • Improved error messaging for InvalidURL exceptions. (#​3250)
  • Fix app type signature in ASGITransport. (#​3109)
pre-commit/mirrors-mypy (pre-commit/mirrors-mypy)

v1.19.0

Compare Source

v1.18.2

Compare Source

v1.18.1

Compare Source

v1.17.1

Compare Source

v1.17.0

Compare Source

v1.16.1

Compare Source

v1.16.0

Compare Source

pre-commit/pre-commit-hooks (pre-commit/pre-commit-hooks)

v4.6.0: pre-commit-hooks v4.6.0

Compare Source

Features
Migrating

v4.5.0: pre-commit-hooks v4.5.0

Compare Source

Features
Fixes

Migrating

psf/black (psf/black)

v25.12.0

Compare Source

Highlights
  • Black no longer supports running with Python 3.9 (#​4842)
Stable style
  • Fix bug where comments preceding # fmt: off/# fmt: on blocks were incorrectly removed, particularly affecting Jupytext's # %% [markdown] comments (#​4845)
  • Fix crash when multiple # fmt: skip comments are used in a multi-part if-clause, on string literals, or on dictionary entries with long lines (#​4872)
  • Fix possible crash when fmt: directives aren't on the top level (#​4856)
Preview style
  • Fix fmt: skip skipping the line after instead of the line it's on (#​4855)
  • Remove unnecessary parentheses from the left-hand side of assignments while preserving magic trailing commas and intentional multiline formatting (#​4865)
  • Fix fix_fmt_skip_in_one_liners crashing on with statements (#​4853)
  • Fix fix_fmt_skip_in_one_liners crashing on annotated parameters (#​4854)
  • Fix new lines being added after imports with # fmt: skip on them (#​4894)
Packaging
  • Releases now include arm64 Windows binaries and wheels (#​4814)
Integrations
  • Add output-file input to GitHub Action psf/black to write formatter output to a file for artifact capture and log cleanliness (#​4824)

v25.11.0

Compare Source

Highlights
  • Enable base 3.14 support (#​4804)
  • Add support for the new Python 3.14 t-string syntax introduced by PEP 750 (#​4805)
Stable style
  • Fix bug where comments between # fmt: off and # fmt: on were reformatted (#​4811)
  • Comments containing fmt directives now preserve their exact formatting instead of being normalized (#​4811)
Preview style
  • Move multiline_string_handling from --unstable to --preview (#​4760)
  • Fix bug where module docstrings would be treated as normal strings if preceded by comments (#​4764)
  • Fix bug where python 3.12 generics syntax split line happens weirdly (#​4777)
  • Standardize type comments to form # type: <value> (#​4645)
  • Fix fix_fmt_skip_in_one_liners preview feature to respect # fmt: skip for compound statements with semicolon-separated bodies (#​4800)
Configuration
  • Add no_cache option to control caching behavior. (#​4803)
Packaging
  • Releases now include arm64 Linux binaries (#​4773)
  • Releases now include arm64 Windows binaries and wheels (#​4814)
Output
  • Write unchanged content to stdout when excluding formatting from stdin using pipes (#​4610)
Blackd
  • Implemented BlackDClient. This simple python client allows to easily send formatting requests to blackd (#​4774)
Integrations
  • Enable 3.14 base CI (#​4804)
  • Enhance GitHub Action psf/black to support the required-version major-version-only "stability" format when using pyproject.toml (#​4770)
  • Improve error message for vim plugin users. It now handles independently vim version
  • Vim: Warn on unsupported Vim and Python versions independently (#​4772)
  • Vim: Print the import paths when importing black fails (#​4675)
  • Vim: Fix handling of virtualenvs that have a different Python version (#​4675)

v25.9.0

Compare Source

Highlights
  • Remove support for pre-python 3.7 await/async as soft keywords/variable names (#​4676)
Stable style
  • Fix crash while formatting a long del statement containing tuples (#​4628)
  • Fix crash while formatting expressions using the walrus operator in complex with statements (#​4630)
  • Handle # fmt: skip followed by a comment at the end of file (#​4635)
  • Fix crash when a tuple appears in the as clause of a with statement (#​4634)
  • Fix crash when tuple is used as a context manager inside a with statement (#​4646)
  • Fix crash when formatting a \ followed by a \r followed by a comment (#​4663)
  • Fix crash on a \\r\n (#​4673)
  • Fix crash on await ... (where ... is a literal Ellipsis) (#​4676)
  • Fix crash on parenthesized expression inside a type parameter bound (#​4684)
  • Fix crash when using line ranges excluding indented single line decorated items (#​4670)
Preview style
  • Fix a bug where one-liner functions/conditionals marked with # fmt: skip would still be formatted (#​4552)
  • Improve multiline_string_handling with ternaries and dictionaries (#​4657)
  • Fix a bug where string_processing would not split f-strings directly after expressions (#​4680)
  • Wrap the in clause of comprehensions across lines if necessary (#​4699)
  • Remove parentheses around multiple exception types in except and except* without as. (#​4720)
  • Add \r style newlines to the potential newlines to normalize file newlines both from and to (#​4710)
Parser
  • Rewrite tokenizer to improve performance and compliance (#​4536)
  • Fix bug where certain unusual expressions (e.g., lambdas) were not accepted in type parameter bounds and defaults. (#​4602)
Performance
  • Avoid using an extra process when running with only one worker (#​4734)
Integrations
  • Fix the version check in the vim file to reject Python 3.8 (#​4567)
  • Enhance GitHub Action psf/black to read Black version from an additional section in pyproject.toml: [project.dependency-groups] (#​4606)
  • Build gallery docker image with python3-slim and reduce image size (#​4686)
Documentation
  • Add FAQ entry for windows emoji not displaying (#​4714)
pycqa/flake8 (pycqa/flake8)

v7.3.0

Compare Source

v7.2.0

Compare Source

v7.1.2

Compare Source

v7.1.1

Compare Source

v7.1.0

Compare Source

pydantic/pydantic-settings (pydantic-settings)

v2.12.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0

v2.11.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0

v2.10.1

Compare Source

What's Changed

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/2.10.0...2.10.1

v2.10.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.9.1...2.10.0

v2.9.1

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.9.0...v2.9.1

v2.9.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.8.1...v2.9.0

v2.8.1

Compare Source

What's Changed

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.8.0...v2.8.1

v2.8.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.7.1...v2.8.0

v2.7.1

Compare Source

What's Changed

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.7.0...v2.7.1

v2.7.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.6.1...v2.7.0

v2.6.1

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.6.0...v2.6.1

v2.6.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.5.2...v2.6.0

v2.5.2

Compare Source

What's Changed

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.5.1...v2.5.2

v2.5.1

Compare Source

What's Changed

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.5.0...v2.5.1

v2.5.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.4.0...v2.5.0

v2.4.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.3.4...v2.4.0

python-poetry/poetry (python-poetry/poetry)

v1.8.5

Compare Source

Changed
  • Require pkginfo>=1.12 to fix an issue with an unknown metadata version 2.4 (#​9888).
  • Do not fail if the unknown metadata version is only a minor version update (#​9888).

v1.8.4

Compare Source

Added
  • Add official support for Python 3.13 (#​9523).
Changed
  • Require virtualenv>=20.26.6 to mitigate potential command injection when running poetry shell in untrusted projects (#​9757).
poetry-core (1.9.1)
  • Add 3.13 to the list of available Python versions (#​747).

v1.8.3

Compare Source

Added
  • Add support for untagged CPython builds with versions ending with a + (#​9207).
Changed
  • Require pkginfo>=1.10 to ensure support for packages with metadata version 2.3 (#​9130).
  • Improve locking on FIPS systems (#​9152).
Fixed
  • Fix an issue where unrecognized package metadata versions silently resulted in empty dependencies (#​9203, #​9226).
  • Fix an issue where trailing slashes in git URLs where not handled correctly (#​9205).
  • Fix an issue where poetry self commands printed a warning that the current project cannot be installed (#​9302).
  • Fix an issue where poetry install sporadically failed with a KeyError due to a race condition (#​9335).
Docs
  • Fix incorrect information about poetry shell (#​9060).
  • Add a git subdirectory example to poetry add (#​9080).
  • Mention interactive credential configuration (#​9074).
  • Add notes for optional advanced installation steps (#​9098).
  • Add reference to configuration credentials in documentation of poetry publish (#​9110).
  • Improve documentation for configuring credentials via environment variables (#​9121).
  • Remove misleading wording around virtual environments (#​9213).
  • Remove outdated advice regarding seeding keyring backends (#​9164).
  • Add a pyproject.toml example for a dependency with multiple extras (#​9138).
  • Clarify help of poetry add (#​9230).
  • Add a note how to configure credentials for TestPyPI for poetry publish (#​9255).
  • Fix information about the --readme option in poetry new (#​9260).
  • Clarify what is special about the Python constraint in dependencies (#​9256).
  • Update how to uninstall plugins via pipx (#​9320).
uis/devops/continuous-delivery/ci-templates (uis/devops/continuous-delivery/ci-templates)

v7.23.1: 7.23.1

Compare Source

7.23.1 (2025-12-05)

v7.23.0: 7.23.0

Compare Source

7.23.0 (2025-11-28)
Features
  • tox-tests to use dind config from fragments (c765400)

v7.22.1: 7.22.1

Compare Source

7.22.1 (2025-11-25)
Bug Fixes
  • add missing before_script reference to dind in .terraform-test-cleanup (2852ccd)

v7.22.0: 7.22.0

Compare Source

7.22.0 (2025-11-24)
Features
  • docker-in-docker: add waiting before_script to fragment (2b0924e), closes #​178

v7.21.0: 7.21.0

Compare Source

7.21.0 (2025-11-19)

Features
  • re-work maven jobs rules (da9962b)
  • re-work maven jobs rules: try to re-name the job (4efa101)
Kludex/uvicorn (uvicorn)

v0.38.0: Version 0.38.0

Compare Source

What's Changed


New Contributors

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.37.0...0.38.0

v0.37.0: Version 0.37.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.36.1...0.37.0

v0.36.1: Version 0.36.1

Compare Source

What's Changed

  • Raise an exception when calling removed Config.setup_event_loop() by @​Kludex in #​2709

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.36.0...0.36.1

v0.36.0: Version 0.36.0

Compare Source

Added


New Contributors

Full Changelog: https://github.com/Kludex/uvicorn/compare/0.35.0...0.36.0

v0.35.0: Version 0.35.0

Compare Source

Added

Changed

New Contributors

Full Changelog: https://github.com/encode/uvicorn/compare/0.34.3...0.35.0

v0.34.3: Version 0.34.3

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/encode/uvicorn/compare/0.34.2...0.34.3

v0.34.2: Version 0.34.2

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/encode/uvicorn/compare/0.34.1...0.34.2

v0.34.1: Version 0.34.1

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/encode/uvicorn/compare/0.34.0...0.34.1

v0.34.0: Version 0.34.0

Compare Source

What's Changed


Full Changelog: https://github.com/encode/uvicorn/compare/0.33.0...0.34.0

v0.33.0: Version 0.33.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/encode/uvicorn/compare/0.32.1...0.33.0

v0.32.1: Version 0.32.1

Compare Source

What's Changed


Full Changelog: https://github.com/encode/uvicorn/compare/0.32.0...0.32.1

v0.32.0: Version 0.32.0

Compare Source

Added

  • Officially support Python 3.13 (#​2482)
  • Warn when max_request_limit is exceeded (#​2430)

Full Changelog: https://github.com/encode/uvicorn/compare/0.31.1...0.32.0

v0.31.1: Version 0.31.1

Compare Source

Fixed

  • Support WebSockets 0.13.1 #​2471
  • Restore support for [*] in trusted hosts #​2480
  • Add PathLike[str] type hint for ssl_keyfile #​2481

Full Changelog: https://github.com/encode/uvicorn/compare/0.31.0...0.31.1

v0.31.0: Version 0.31.0

Compare Source

Added

Improve ProxyHeadersMiddleware (#​2468) and (#​2231):

  • Fix the host for requests from clients running on the proxy server itself.
  • Fallback to host that was already set for empty x-forwarded-for headers.
  • Also allow specifying IP Networks as trusted hosts. This greatly simplifies deployments on docker swarm/Kubernetes, where the reverse proxy might have a dynamic IP.
    • This includes support for IPv6 Address/Networks.

Full Changelog: https://github.com/encode/uvicorn/compare/0.30.6...0.31.0

v0.30.6: Version 0.30.6

Compare Source

Fixed
  • Don't warn when upgrade is not WebSocket and depedencies are installed (#​2360)

Full Changelog: https://github.com/encode/uvicorn/compare/0.30.5...0.30.6

v0.30.5: Version 0.30.5

Compare Source

Fixed
  • Don't close connection before receiving body on H11 (#​2408)

Full Changelog: https://github.com/encode/uvicorn/compare/0.30.4...0.30.5

v0.30.4: Version 0.30.4

Compare Source

Fixed
  • Close connection when h11 sets client state to MUST_CLOSE #​2375

Full Changelog: https://github.com/encode/uvicorn/compare/0.30.3...0.30.4

v0.30.3: Version 0.30.3

Compare Source

Fixed

  • Suppress KeyboardInterrupt from CLI and programmatic usage (#​2384)
  • ClientDisconnect inherits from OSError instead of IOError (#​2393)

Full Changelog: https://github.com/encode/uvicorn/compare/0.30.2...0.30.3

v0.30.2: Version 0.30.2

Compare Source

Added

Fixed

  • Iterate subprocesses in-place on the process manager (#​2373)

Full Changelog: https://github.com/encode/uvicorn/compare/0.30.1...0.30.2

v0.30.1: Version 0.30.1

Compare Source

Fixed
  • Allow horizontal tabs \t in response header values (#​2345)

Full Changelog: https://github.com/encode/uvicorn/compare/0.30.0...0.30.1

v0.30.0: Version 0.30.0

Compare Source

Added
  • New multiprocess manager (#​2183)
  • Allow ConfigParser or a io.IO[Any] on log_config (#​1976)
Fixed
  • Suppress side effects of signal propagation (#​2317)
  • Send content-length header on 5xx (#​2304)
Deprecated
  • Deprecate the uvicorn.workers module (#​2302)

Full Changelog: https://github.com/encode/uvicorn/compare/0.29.0...0.30.0


Configuration

📅 Schedule: Branch creation - Monday through Friday ( * * * * 1-5 ) in timezone Europe/London, Automerge - At any time (no schedule defined).

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

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

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


  • [ ] If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by uis-devops-renovatebot

Merge request reports

Loading