FAQ | This is a LIVE service | Changelog

fix(deps): update all non-major dependencies - autoclosed

This MR contains the following updates:

Package Change Age Confidence Type Update
fastapi (changelog) ^0.110.1 -> ^0.116.0 age confidence dependencies minor
httpx (changelog) ^0.27.0 -> ^0.28.0 age confidence dev minor
pre-commit/mirrors-mypy v1.4.1 -> v1.17.0 age confidence repository minor
pre-commit/pre-commit-hooks v4.4.0 -> v4.6.0 age confidence repository minor
psf/black 23.3.0 -> 23.12.1 age confidence repository minor
pycqa/flake8 7.0.0 -> 7.3.0 age confidence repository minor
pydantic-settings (changelog) 2.3.4 -> 2.10.1 age confidence dependencies minor
python-poetry/poetry 1.5.1 -> 1.8.5 age confidence repository minor
registry.gitlab.developers.cam.ac.uk/uis/devops/infra/dockerimages/python 3.11-slim -> 3.13-slim age confidence final minor
timothycrosley/isort 5.12.0 -> 5.13.2 age confidence repository minor
ucam-observe 0.2.0 -> 0.2.1 age confidence dependencies patch
uis/devops/continuous-delivery/ci-templates v2.6.1 -> v2.7.0 age confidence repository minor
uvicorn (changelog) ^0.29.0 -> ^0.35.0 age confidence dependencies minor

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

fastapi/fastapi (fastapi)

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.17.0

Compare Source

v1.16.1

Compare Source

v1.16.0

Compare Source

v1.15.0

Compare Source

v1.14.1

Compare Source

v1.14.0

Compare Source

v1.13.0

Compare Source

v1.12.1

Compare Source

v1.12.0

Compare Source

v1.11.2

Compare Source

v1.11.1

Compare Source

v1.11.0

Compare Source

v1.10.1

Compare Source

v1.10.0

Compare Source

v1.9.0

Compare Source

v1.8.0

Compare Source

v1.7.1

Compare Source

v1.7.0

Compare Source

v1.6.1

Compare Source

v1.6.0

Compare Source

v1.5.1

Compare Source

v1.5.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)

v23.12.1

Compare Source

Packaging
  • Fixed a bug that included dependencies from the d extra by default (#​4108)

v23.12.0

Compare Source

Highlights

It's almost 2024, which means it's time for a new edition of Black's stable style! Together with this release, we'll put out an alpha release 24.1a1 showcasing the draft 2024 stable style, which we'll finalize in the January release. Please try it out and share your feedback.

This release (23.12.0) will still produce the 2023 style. Most but not all of the changes in --preview mode will be in the 2024 stable style.

Stable style
  • Fix bug where # fmt: off automatically dedents when used with the --line-ranges option, even when it is not within the specified line range. (#​4084)
  • Fix feature detection for parenthesized context managers (#​4104)
Preview style
  • Prefer more equal signs before a break when splitting chained assignments (#​4010)
  • Standalone form feed characters at the module level are no longer removed (#​4021)
  • Additional cases of immediately nested tuples, lists, and dictionaries are now indented less (#​4012)
  • Allow empty lines at the beginning of all blocks, except immediately before a docstring (#​4060)
  • Fix crash in preview mode when using a short --line-length (#​4086)
  • Keep suites consisting of only an ellipsis on their own lines if they are not functions or class definitions (#​4066) (#​4103)
Configuration
  • --line-ranges now skips Black's internal stability check in --safe mode. This avoids a crash on rare inputs that have many unformatted same-content lines. (#​4034)
Packaging
Integrations

v23.11.0

Compare Source

Highlights
  • Support formatting ranges of lines with the new --line-ranges command-line option (#​4020)
Stable style
  • Fix crash on formatting bytes strings that look like docstrings (#​4003)
  • Fix crash when whitespace followed a backslash before newline in a docstring (#​4008)
  • Fix standalone comments inside complex blocks crashing Black (#​4016)
  • Fix crash on formatting code like await (a ** b) (#​3994)
  • No longer treat leading f-strings as docstrings. This matches Python's behaviour and fixes a crash (#​4019)
Preview style
  • Multiline dicts and lists that are the sole argument to a function are now indented less (#​3964)
  • Multiline unpacked dicts and lists as the sole argument to a function are now also indented less (#​3992)
  • In f-string debug expressions, quote types that are visible in the final string are now preserved (#​4005)
  • Fix a bug where long case blocks were not split into multiple lines. Also enable general trailing comma rules on case blocks (#​4024)
  • Keep requiring two empty lines between module-level docstring and first function or class definition (#​4028)
  • Add support for single-line format skip with other comments on the same line (#​3959)
Configuration
  • Consistently apply force exclusion logic before resolving symlinks (#​4015)
  • Fix a bug in the matching of absolute path names in --include (#​3976)
Performance
  • Fix mypyc builds on arm64 on macOS (#​4017)
Integrations
  • Black's pre-commit integration will now run only on git hooks appropriate for a code formatter (#​3940)

v23.10.1

Compare Source

Highlights
  • Maintenance release to get a fix out for GitHub Action edge case (#​3957)
Preview style
  • Fix merging implicit multiline strings that have inline comments (#​3956)
  • Allow empty first line after block open before a comment or compound statement (#​3967)
Packaging
  • Change Dockerfile to hatch + compile black (#​3965)
Integrations
  • The summary output for GitHub workflows is now suppressible using the summary parameter. (#​3958)
  • Fix the action failing when Black check doesn't pass (#​3957)
Documentation

v23.10.0

Compare Source

Stable style
  • Fix comments getting removed from inside parenthesized strings (#​3909)
Preview style
  • Fix long lines with power operators getting split before the line length (#​3942)
  • Long type hints are now wrapped in parentheses and properly indented when split across multiple lines (#​3899)
  • Magic trailing commas are now respected in return types. (#​3916)
  • Require one empty line after module-level docstrings. (#​3932)
  • Treat raw triple-quoted strings as docstrings (#​3947)
Configuration
  • Fix cache versioning logic when BLACK_CACHE_DIR is set (#​3937)
Parser
  • Fix bug where attributes named type were not accepted inside match statements (#​3950)
  • Add support for PEP 695 type aliases containing lambdas and other unusual expressions (#​3949)
Output
  • Black no longer attempts to provide special errors for attempting to format Python 2 code (#​3933)
  • Black will more consistently print stacktraces on internal errors in verbose mode (#​3938)
Integrations
  • The action output displayed in the job summary is now wrapped in Markdown (#​3914)

v23.9.1

Compare Source

Due to various issues, the previous release (23.9.0) did not include compiled mypyc wheels, which make Black significantly faster. These issues have now been fixed, and this release should come with compiled wheels once again.

There will be no wheels for Python 3.12 due to a bug in mypyc. We will provide 3.12 wheels in a future release as soon as the mypyc bug is fixed.

Packaging
Performance
  • Store raw tuples instead of NamedTuples in Black's cache, improving performance and decreasing the size of the cache (#​3877)

v23.9.0

Compare Source

Preview style
  • More concise formatting for dummy implementations (#​3796)
  • In stub files, add a blank line between a statement with a body (e.g an if sys.version_info > (3, x):) and a function definition on the same level (#​3862)
  • Fix a bug whereby spaces were removed from walrus operators within subscript(#​3823)
Configuration
  • Black now applies exclusion and ignore logic before resolving symlinks (#​3846)
Performance
  • Avoid importing IPython if notebook cells do not contain magics (#​3782)
  • Improve caching by comparing file hashes as fallback for mtime and size (#​3821)
Blackd
  • Fix an issue in blackd with single character input (#​3558)
Integrations
  • Black now has an official pre-commit mirror. Swapping https://github.com/psf/black to https://github.com/psf/black-pre-commit-mirror in your .pre-commit-config.yaml will make Black about 2x faster (#​3828)
  • The .black.env folder specified by ENV_PATH will now be removed on the completion of the GitHub Action (#​3759)

v23.7.0

Compare Source

Highlights
  • Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be supported until further notice (#​3765)
Stable style
  • Fix a bug where an illegal trailing comma was added to return type annotations using PEP 604 unions (#​3735)
  • Fix several bugs and crashes where comments in stub files were removed or mishandled under some circumstances (#​3745)
  • Fix a crash with multi-line magic comments like type: ignore within parentheses (#​3740)
  • Fix error in AST validation when Black removes trailing whitespace in a type comment (#​3773)
Preview style
  • Implicitly concatenated strings used as function args are no longer wrapped inside parentheses (#​3640)
  • Remove blank lines between a class definition and its docstring (#​3692)
Configuration
  • The --workers argument to Black can now be specified via the BLACK_NUM_WORKERS environment variable (#​3743)
  • .pytest_cache, .ruff_cache and .vscode are now excluded by default (#​3691)
  • Fix Black not honouring pyproject.toml settings when running --stdin-filename and the pyproject.toml found isn't in the current working directory (#​3719)
  • Black will now error if exclude and extend-exclude have invalid data types in pyproject.toml, instead of silently doing the wrong thing (#​3764)
Packaging
  • Upgrade mypyc from 0.991 to 1.3 (#​3697)
  • Remove patching of Click that mitigated errors on Python 3.6 with LANG=C (#​3768)
Parser
  • Add support for the new PEP 695 syntax in Python 3.12 (#​3703)
Performance
  • Speed up Black significantly when the cache is full (#​3751)
  • Avoid importing IPython in a case where we wouldn't need it (#​3748)
Output
  • Use aware UTC datetimes internally, avoids deprecation warning on Python 3.12 (#​3728)
  • Change verbose logging to exactly mirror Black's logic for source discovery (#​3749)
Blackd
  • The blackd argument parser now shows the default values for options in their help text (#​3712)
Integrations
Documentation
  • Add a CITATION.cff file to the root of the repository, containing metadata on how to cite this software (#​3723)
  • Update the classes and exceptions documentation in Developer reference to match the latest code base (#​3755)
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.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).

v1.8.2

Compare Source

Fixed
  • Harden lazy-wheel error handling if the index server is behaving badly in an unexpected way (#​9051).
  • Improve lazy-wheel error handling if the index server does not handle HTTP range requests correctly (#​9082).
  • Improve lazy-wheel error handling if the index server pretends to support HTTP range requests but does not respect them (#​9084).
  • Improve lazy-wheel to allow redirects for HEAD requests (#​9087).
  • Improve debug logging for lazy-wheel errors (#​9059).
  • Fix an issue where the hash of a metadata file could not be calculated correctly due to an encoding issue (#​9049).
  • Fix an issue where poetry add failed in non-package mode if no project name was set (#​9046).
  • Fix an issue where a hint to non-package mode was not compliant with the final name of the setting (#​9073).

v1.8.1

Compare Source

Fixed
  • Update the minimum required version of packaging (#​9031).
  • Handle unexpected responses from servers that do not support HTTP range requests with negative offsets more robust (#​9030).
Docs
  • Rename master branch to main (#​9022).

v1.8.0

Compare Source

Added
  • Add a non-package mode for use cases where Poetry is only used for dependency management (#​8650).
  • Add support for PEP 658 to fetch metadata without having to download wheels (#​5509).
  • Add a lazy-wheel config option (default: true) to reduce wheel downloads during dependency resolution (#​8815, #​8941).
  • Improve performance of dependency resolution by using shallow copies instead of deep copies (#​8671).
  • poetry check validates that no unknown sources are referenced in dependencies (#​8709).
  • Add archive validation during installation for further hash algorithms (#​8851).
  • Add a to key in tool.poetry.packages to allow custom subpackage names (#​8791).
  • Add a config option to disable keyring (#​8910).
  • Add a --sync option to poetry update (#​8931).
  • Add an --output option to poetry build (#​8828).
  • Add a --dist-dir option to poetry publish (#​8828).
Changed
  • The implicit PyPI source is disabled if at least one primary source is configured (#​8771).
  • Deprecate source priority default (#​8771).
  • Upgrade the warning about an inconsistent lockfile to an error (#​8737).
  • Deprecate setting installer.modern-installation to false (#​8988).
  • Drop support for pip<19 (#​8894).
  • Require requests-toolbelt>=1 (#​8680).
  • Allow platformdirs 4.x (#​8668).
  • Allow and require xattr 1.x on macOS (#​8801).
  • Improve venv shell activation in fish (#​8804).
  • Rename system to base in output of poetry env info (#​8832).
  • Use pretty name in output of poetry version (#​8849).
  • Improve error handling for invalid entries in tool.poetry.scripts (#​8898).
  • Improve verbose output for dependencies with extras during dependency resolution (#​8834).
  • Improve message about an outdated lockfile (#​8962).
Fixed
  • Fix an issue where poetry shell failed when Python has been installed with MSYS2 (#​8644).
  • Fix an issue where Poetry commands failed in a terminal with a non-UTF-8 encoding (#​8608).
  • Fix an issue where a missing project name caused an incomprehensible error message (#​8691).
  • Fix an issue where Poetry failed to install an sdist path dependency (#​8682).
  • Fix an issue where poetry install failed because an unused extra was not available (#​8548).
  • Fix an issue where poetry install --sync did not remove an unrequested extra (#​8621).
  • Fix an issue where poetry init did not allow specific characters in the author field (#​8779).
  • Fix an issue where Poetry could not download sdists from misconfigured servers (#​8701).
  • Fix an issue where metadata of sdists that call CLI tools of their build requirements could not be determined (#​8827).
  • Fix an issue where Poetry failed to use the currently activated environment (#​8831).
  • Fix an issue where poetry shell failed in zsh if a space was in the venv path (#​7245).
  • Fix an issue where scripts with extras could not be installed (#​8900).
  • Fix an issue where explicit sources where not propagated correctly (#​8835).
  • Fix an issue where debug prints where swallowed when using a build script (#​8760).
  • Fix an issue where explicit sources of locked dependencies where not propagated correctly (#​8948).
  • Fix an issue where Poetry's own environment was falsely identified as system environment (#​8970).
  • Fix an issue where dependencies from a setup.py were ignored silently (#​9000).
  • Fix an issue where environment variables for virtualenv.options were ignored (#​9015).
  • Fix an issue where virtualenvs.options.no-pip and virtualenvs.options.no-setuptools were not normalized (#​9015).
Docs
  • Replace deprecated --no-dev with --without dev in the FAQ (#​8659).
  • Recommend poetry-check instead of the deprecated poetry-lock pre-commit hook (#​8675).
  • Clarify the names of the environment variables to provide credentials for repositories (#​8782).
  • Add note how to install several version of Poetry in parallel (#​8814).
  • Improve description of poetry show --why (#​8817).
  • Improve documentation of poetry update (#​8706).
  • Add a warning about passing variables that may start with a hyphen via command line (#​8850).
  • Mention that the virtual environment in which Poetry itself is installed should not be activated (#​8833).
  • Add note about poetry run and externally managed environments (#​8748).
  • Update FAQ entry about tox for tox 4.x (#​8658).
  • Fix documentation for default format option for include and exclude value (#​8852).
  • Add note about tox and configured credentials (#​8888).
  • Add note and link how to install pipx (#​8878).
  • Fix examples for poetry add with git dependencies over ssh (#​8911).
  • Remove reference to deprecated scripts extras feature (#​8903).
  • Change examples to prefer --only main instead of --without dev (#​8921).
  • Mention that the develop attribute is a Poetry-specific feature and not propagated to other tools (#​8971).
  • Fix examples for adding supplemental and secondary sources (#​8953).
  • Add PyTorch example for explicit sources (#​9006).
poetry-core (1.9.0)
  • Deprecate scripts that depend on extras (#​690).
  • Add support for path dependencies that do not define a build system (#​675).
  • Update list of supported licenses (#​659, #​669, #​678, #​694).
  • Rework list of files included in build artifacts (#​666).
  • Fix an issue where insignificant errors were printed if the working directory is not inside a git repository (#​684).
  • Fix an issue where the project's directory was not recognized as git repository on Windows due to an encoding issue (#​685).

v1.7.1

Compare Source

Fixed
  • Fix an issue where sdists that call CLI tools of their build requirements could not be installed (#​8630).
  • Fix an issue where sdists with symlinks could not be installed due to a broken tarfile datafilter (#​8649).
  • Fix an issue where poetry init failed when trying to add dependencies (#​8655).
  • Fix an issue where poetry install failed if virtualenvs.create was set to false (#​8672).

v1.7.0

Compare Source

Added
  • Add official support for Python 3.12 (#​7803, #​8544).
  • Print a future warning that poetry-plugin-export will not be installed by default anymore (#​8562).
  • Add poetry-install pre-commit hook (#​8327).
  • Add --next-phase option to poetry version (#​8089).
  • Print a warning when overwriting files from another package at installation (#​8386).
  • Print a warning if the current project cannot be installed (#​8369).
  • Report more details on build backend exceptions (#​8464).
Changed
  • Set Poetry as user-agent for all HTTP requests (#​8394).
  • Do not install setuptools per default in Python 3.12 (#​7803).
  • Do not install wheel per default (#​7803).
  • Remove setuptools and wheel when running poetry install --sync if they are not required by the project (#​8600).
  • Improve error message about PEP-517 support (#​8463).
  • Improve keyring handling (#​8227).
  • Read the description field when extracting metadata from setup.py files (#​8545).
Fixed
  • Fix an issue where dependencies of inactive extras were locked and installed (#​8399).
  • Fix an issue where build requirements were not installed due to a race condition in the artifact cache (#​8517).
  • Fix an issue where packages included in the system site packages were installed even though virtualenvs.options.system-site-packages was set (#​8359).
  • Fix an issue where git dependencies' submodules with relative URLs were handled incorrectly (#​8020).
  • Fix an issue where a failed installation of build dependencies was not noticed directly (#​8479).
  • Fix an issue where poetry shell did not work completely with nushell (#​8478).
  • Fix an issue where a confusing error messages was displayed when running poetry config pypi-token.pypi without a value (#​8502).
  • Fix an issue where a cryptic error message is printed if there is no metadata entry in the lockfile (#​8523).
  • Fix an issue with the encoding with special characters in the virtualenv's path (#​8565).
  • Fix an issue where the connection pool size was not adjusted to the number of workers (#​8559).
Docs
  • Improve the wording regarding a project's supported Python range (#​8423).
  • Make pipx the preferred (first mentioned) installation method (#​8090).
  • Add a warning about poetry self on Windows (#​8090).
  • Fix example for poetry add with a git dependency (#​8438).
  • Add information about auto-included files in wheels and sdist (#​8555).
  • Fix documentation of the POETRY_REPOSITORIES_ variables docs (#​8492).
  • Add CITATION.cff file (#​8510).
poetry-core (1.8.1)
  • Add support for creating packages dynamically in the build script (#​629).
  • Improve marker logic for extra markers (#​636).
  • Update list of supported licenses (#​635, #​646).
  • Fix an issue where projects with extension modules were not installed in editable mode (#​633).
  • Fix an issue where the wrong or no lib folder was added to the wheel (#​634).
poetry-plugin-export (^1.6.0)
  • Add an --all-extras option (#​241).
  • Fix an issue where git dependencies are exported with the branch name instead of the resolved commit hash (#​213).

v1.6.1

Compare Source

Fixed
  • Update the minimum required version of requests (#​8336).

v1.6.0

Compare Source

Added
  • Add official support for Python 3.12 (#​7803, #​8544).
  • Print a future warning that poetry-plugin-export will not be installed by default anymore (#​8562).
  • Add poetry-install pre-commit hook (#​8327).
  • Add --next-phase option to poetry version (#​8089).
  • Print a warning when overwriting files from another package at installation (#​8386).
  • Print a warning if the current project cannot be installed (#​8369).
  • Report more details on build backend exceptions (#​8464).
Changed
  • Set Poetry as user-agent for all HTTP requests (#​8394).
  • Do not install setuptools per default in Python 3.12 (#​7803).
  • Do not install wheel per default (#​7803).
  • Remove setuptools and wheel when running poetry install --sync if they are not required by the project (#​8600).
  • Improve error message about PEP-517 support (#​8463).
  • Improve keyring handling (#​8227).
  • Read the description field when extracting metadata from setup.py files (#​8545).
Fixed
  • Fix an issue where dependencies of inactive extras were locked and installed (#​8399).
  • Fix an issue where build requirements were not installed due to a race condition in the artifact cache (#​8517).
  • Fix an issue where packages included in the system site packages were installed even though virtualenvs.options.system-site-packages was set (#​8359).
  • Fix an issue where git dependencies' submodules with relative URLs were handled incorrectly (#​8020).
  • Fix an issue where a failed installation of build dependencies was not noticed directly (#​8479).
  • Fix an issue where poetry shell did not work completely with nushell (#​8478).
  • Fix an issue where a confusing error messages was displayed when running poetry config pypi-token.pypi without a value (#​8502).
  • Fix an issue where a cryptic error message is printed if there is no metadata entry in the lockfile (#​8523).
  • Fix an issue with the encoding with special characters in the virtualenv's path (#​8565).
  • Fix an issue where the connection pool size was not adjusted to the number of workers (#​8559).
Docs
  • Improve the wording regarding a project's supported Python range (#​8423).
  • Make pipx the preferred (first mentioned) installation method (#​8090).
  • Add a warning about poetry self on Windows (#​8090).
  • Fix example for poetry add with a git dependency (#​8438).
  • Add information about auto-included files in wheels and sdist (#​8555).
  • Fix documentation of the POETRY_REPOSITORIES_ variables docs (#​8492).
  • Add CITATION.cff file (#​8510).
poetry-core (1.8.1)
  • Add support for creating packages dynamically in the build script (#​629).
  • Improve marker logic for extra markers (#​636).
  • Update list of supported licenses (#​635, #​646).
  • Fix an issue where projects with extension modules were not installed in editable mode (#​633).
  • Fix an issue where the wrong or no lib folder was added to the wheel (#​634).
poetry-plugin-export (^1.6.0)
  • Add an --all-extras option (#​241).
  • Fix an issue where git dependencies are exported with the branch name instead of the resolved commit hash (#​213).
timothycrosley/isort (timothycrosley/isort)

v5.13.2

Compare Source

v5.13.1

Compare Source

v5.13.0

Compare Source

uis/devops/continuous-delivery/ci-templates (uis/devops/continuous-delivery/ci-templates)

v2.7.0

Compare Source

Added
  • terraform-module: Extend the GitLab Terraform Module to ensure the tag being used to version the module exists in the CHANGELOG.

v2.6.2

Compare Source

Fixed
  • pre-commit.yml: relax pre-commit job rules to enable users to decide when to include the job via workflow rules instead.
encode/uvicorn (uvicorn)

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