Skip to content

Update dependency fastapi to v0.114.0

renovate-bot requested to merge renovate/fastapi-0.x into master

This MR contains the following updates:

Package Type Update Change
fastapi (changelog) dependencies minor 0.111.0 -> 0.114.0

Release Notes

fastapi/fastapi (fastapi)

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

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), 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.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


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

This MR has been generated by Renovate Bot.

Edited by renovate-bot

Merge request reports

Loading