Closed renovate[bot] closed 1 month ago
This PR contains the following updates:
>=0.109.1, <0.115.0
>=0.109.1, <0.116.0
📅 Schedule: Branch creation - "every weekday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.
This PR contains the following updates:
>=0.109.1, <0.115.0
->>=0.109.1, <0.116.0
Release Notes
fastapi/fastapi (fastapi)
### [`v0.115.0`](https://redirect.github.com/fastapi/fastapi/releases/tag/0.115.0) [Compare Source](https://redirect.github.com/fastapi/fastapi/compare/0.114.2...0.115.0) ##### Highlights Now you can declare `Query`, `Header`, and `Cookie` parameters with Pydantic models. 🎉 ##### `Query` Parameter Models Use Pydantic models for `Query` parameters: ```python 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](https://fastapi.tiangolo.com/tutorial/query-param-models/). ##### `Header` Parameter Models Use Pydantic models for `Header` parameters: ```python 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](https://fastapi.tiangolo.com/tutorial/header-param-models/). ##### `Cookie` Parameter Models Use Pydantic models for `Cookie` parameters: ```python 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](https://fastapi.tiangolo.com/tutorial/cookie-param-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"}`: ```python 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: - [Forbid Extra Query Parameters](https://fastapi.tiangolo.com/tutorial/query-param-models/#forbid-extra-query-parameters) - [Forbid Extra Headers](https://fastapi.tiangolo.com/tutorial/header-param-models/#forbid-extra-headers) - [Forbid Extra Cookies](https://fastapi.tiangolo.com/tutorial/cookie-param-models/#forbid-extra-cookies) ##### Features - ✨ Add support for Pydantic models for parameters using `Query`, `Cookie`, `Header`. PR [#12199](https://redirect.github.com/fastapi/fastapi/pull/12199) by [@tiangolo](https://redirect.github.com/tiangolo). ##### Translations - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/security/http-basic-auth.md`. PR [#12195](https://redirect.github.com/fastapi/fastapi/pull/12195) by [@ceb10n](https://redirect.github.com/ceb10n). ##### Internal - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#12204](https://redirect.github.com/fastapi/fastapi/pull/12204) by [@pre-commit-ci\[bot\]](https://redirect.github.com/apps/pre-commit-ci). ### [`v0.114.2`](https://redirect.github.com/fastapi/fastapi/releases/tag/0.114.2) [Compare Source](https://redirect.github.com/fastapi/fastapi/compare/0.114.1...0.114.2) ##### Fixes - 🐛 Fix form field regression with `alias`. PR [#12194](https://redirect.github.com/fastapi/fastapi/pull/12194) by [@Wurstnase](https://redirect.github.com/Wurstnase). ##### Translations - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/request-form-models.md`. PR [#12175](https://redirect.github.com/fastapi/fastapi/pull/12175) by [@ceb10n](https://redirect.github.com/ceb10n). - 🌐 Add Chinese translation for `docs/zh/docs/project-generation.md`. PR [#12170](https://redirect.github.com/fastapi/fastapi/pull/12170) by [@waketzheng](https://redirect.github.com/waketzheng). - 🌐 Add Dutch translation for `docs/nl/docs/python-types.md`. PR [#12158](https://redirect.github.com/fastapi/fastapi/pull/12158) by [@maxscheijen](https://redirect.github.com/maxscheijen). ##### Internal - 💡 Add comments with instructions for Playwright screenshot scripts. PR [#12193](https://redirect.github.com/fastapi/fastapi/pull/12193) by [@tiangolo](https://redirect.github.com/tiangolo). - ➕ Add inline-snapshot for tests. PR [#12189](https://redirect.github.com/fastapi/fastapi/pull/12189) by [@tiangolo](https://redirect.github.com/tiangolo). ### [`v0.114.1`](https://redirect.github.com/fastapi/fastapi/releases/tag/0.114.1) [Compare Source](https://redirect.github.com/fastapi/fastapi/compare/0.114.0...0.114.1) ##### Refactors - ⚡️ Improve performance in request body parsing with a cache for internal model fields. PR [#12184](https://redirect.github.com/fastapi/fastapi/pull/12184) by [@tiangolo](https://redirect.github.com/tiangolo). ##### Docs - 📝 Remove duplicate line in docs for `docs/en/docs/environment-variables.md`. PR [#12169](https://redirect.github.com/fastapi/fastapi/pull/12169) by [@prometek](https://redirect.github.com/prometek). ##### Translations - 🌐 Add Portuguese translation for `docs/pt/docs/virtual-environments.md`. PR [#12163](https://redirect.github.com/fastapi/fastapi/pull/12163) by [@marcelomarkus](https://redirect.github.com/marcelomarkus). - 🌐 Add Portuguese translation for `docs/pt/docs/environment-variables.md`. PR [#12162](https://redirect.github.com/fastapi/fastapi/pull/12162) by [@marcelomarkus](https://redirect.github.com/marcelomarkus). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/testing.md`. PR [#12164](https://redirect.github.com/fastapi/fastapi/pull/12164) by [@marcelomarkus](https://redirect.github.com/marcelomarkus). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/debugging.md`. PR [#12165](https://redirect.github.com/fastapi/fastapi/pull/12165) by [@marcelomarkus](https://redirect.github.com/marcelomarkus). - 🌐 Add Korean translation for `docs/ko/docs/project-generation.md`. PR [#12157](https://redirect.github.com/fastapi/fastapi/pull/12157) by [@BORA040126](https://redirect.github.com/BORA040126). ##### Internal - ⬆ Bump tiangolo/issue-manager from 0.5.0 to 0.5.1. PR [#12173](https://redirect.github.com/fastapi/fastapi/pull/12173) by [@dependabot\[bot\]](https://redirect.github.com/apps/dependabot). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#12176](https://redirect.github.com/fastapi/fastapi/pull/12176) by [@pre-commit-ci\[bot\]](https://redirect.github.com/apps/pre-commit-ci). - 👷 Update `issue-manager.yml`. PR [#12159](https://redirect.github.com/fastapi/fastapi/pull/12159) by [@tiangolo](https://redirect.github.com/tiangolo). - ✏️ Fix typo in `fastapi/params.py`. PR [#12143](https://redirect.github.com/fastapi/fastapi/pull/12143) by [@surreal30](https://redirect.github.com/surreal30).Configuration
📅 Schedule: Branch creation - "every weekday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.