tiangolo/fastapi
### [`v0.97.0`](https://togithub.com/tiangolo/fastapi/releases/tag/0.97.0)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.96.1...0.97.0)
##### Features
- ✨ Add support for `dependencies` in WebSocket routes. PR [#4534](https://togithub.com/tiangolo/fastapi/pull/4534) by [@paulo-raca](https://togithub.com/paulo-raca).
- ✨ Add exception handler for `WebSocketRequestValidationError` (which also allows to override it). PR [#6030](https://togithub.com/tiangolo/fastapi/pull/6030) by [@kristjanvalur](https://togithub.com/kristjanvalur).
##### Refactors
- ⬆️ Upgrade and fully migrate to Ruff, remove isort, includes a couple of tweaks suggested by the new version of Ruff. PR [#9660](https://togithub.com/tiangolo/fastapi/pull/9660) by [@tiangolo](https://togithub.com/tiangolo).
- ♻️ Update internal type annotations and upgrade mypy. PR [#9658](https://togithub.com/tiangolo/fastapi/pull/9658) by [@tiangolo](https://togithub.com/tiangolo).
- ♻️ Simplify `AsyncExitStackMiddleware` as without Python 3.6 `AsyncExitStack` is always available. PR [#9657](https://togithub.com/tiangolo/fastapi/pull/9657) by [@tiangolo](https://togithub.com/tiangolo).
##### Upgrades
- ⬆️ Upgrade Black. PR [#9661](https://togithub.com/tiangolo/fastapi/pull/9661) by [@tiangolo](https://togithub.com/tiangolo).
##### Internal
- 💚 Update CI cache to fix installs when dependencies change. PR [#9659](https://togithub.com/tiangolo/fastapi/pull/9659) by [@tiangolo](https://togithub.com/tiangolo).
- ⬇️ Separate requirements for development into their own requirements.txt files, they shouldn't be extras. PR [#9655](https://togithub.com/tiangolo/fastapi/pull/9655) by [@tiangolo](https://togithub.com/tiangolo).
### [`v0.96.1`](https://togithub.com/tiangolo/fastapi/releases/tag/0.96.1)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.96.0...0.96.1)
##### Fixes
- 🐛 Fix `HTTPException` header type annotations. PR [#9648](https://togithub.com/tiangolo/fastapi/pull/9648) by [@tiangolo](https://togithub.com/tiangolo).
- 🐛 Fix OpenAPI model fields int validations, `gte` to `ge`. PR [#9635](https://togithub.com/tiangolo/fastapi/pull/9635) by [@tiangolo](https://togithub.com/tiangolo).
##### Upgrades
- 📌 Update minimum version of Pydantic to >=1.7.4. This fixes an issue when trying to use an old version of Pydantic. PR [#9567](https://togithub.com/tiangolo/fastapi/pull/9567) by [@Kludex](https://togithub.com/Kludex).
##### Refactors
- ♻ Remove `media_type` from `ORJSONResponse` as it's inherited from the parent class. PR [#5805](https://togithub.com/tiangolo/fastapi/pull/5805) by [@Kludex](https://togithub.com/Kludex).
- ♻ Instantiate `HTTPException` only when needed, optimization refactor. PR [#5356](https://togithub.com/tiangolo/fastapi/pull/5356) by [@pawamoy](https://togithub.com/pawamoy).
##### Docs
- 🔥 Remove link to Pydantic's benchmark, as it was removed there. PR [#5811](https://togithub.com/tiangolo/fastapi/pull/5811) by [@Kludex](https://togithub.com/Kludex).
##### Translations
- 🌐 Fix spelling in Indonesian translation of `docs/id/docs/tutorial/index.md`. PR [#5635](https://togithub.com/tiangolo/fastapi/pull/5635) by [@purwowd](https://togithub.com/purwowd).
- 🌐 Add Russian translation for `docs/ru/docs/tutorial/index.md`. PR [#5896](https://togithub.com/tiangolo/fastapi/pull/5896) by [@Wilidon](https://togithub.com/Wilidon).
- 🌐 Add Chinese translations for `docs/zh/docs/advanced/response-change-status-code.md` and `docs/zh/docs/advanced/response-headers.md`. PR [#9544](https://togithub.com/tiangolo/fastapi/pull/9544) by [@ChoyeonChern](https://togithub.com/ChoyeonChern).
- 🌐 Add Russian translation for `docs/ru/docs/tutorial/schema-extra-example.md`. PR [#9621](https://togithub.com/tiangolo/fastapi/pull/9621) by [@Alexandrhub](https://togithub.com/Alexandrhub).
##### Internal
- 🔧 Add sponsor Platform.sh. PR [#9650](https://togithub.com/tiangolo/fastapi/pull/9650) by [@tiangolo](https://togithub.com/tiangolo).
- 👷 Add custom token to Smokeshow and Preview Docs for download-artifact, to prevent API rate limits. PR [#9646](https://togithub.com/tiangolo/fastapi/pull/9646) by [@tiangolo](https://togithub.com/tiangolo).
- 👷 Add custom tokens for GitHub Actions to avoid rate limits. PR [#9647](https://togithub.com/tiangolo/fastapi/pull/9647) by [@tiangolo](https://togithub.com/tiangolo).
### [`v0.96.0`](https://togithub.com/tiangolo/fastapi/releases/tag/0.96.0)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.95.2...0.96.0)
##### Features
- ⚡ Update `create_cloned_field` to use a global cache and improve startup performance. PR [#4645](https://togithub.com/tiangolo/fastapi/pull/4645) by [@madkinsz](https://togithub.com/madkinsz) and previous original PR by [@huonw](https://togithub.com/huonw).
##### Docs
- 📝 Update Deta deployment tutorial for compatibility with Deta Space. PR [#6004](https://togithub.com/tiangolo/fastapi/pull/6004) by [@mikBighne98](https://togithub.com/mikBighne98).
- ✏️ Fix typo in Deta deployment tutorial. PR [#9501](https://togithub.com/tiangolo/fastapi/pull/9501) by [@lemonyte](https://togithub.com/lemonyte).
##### Translations
- 🌐 Add Russian translation for `docs/tutorial/body.md`. PR [#3885](https://togithub.com/tiangolo/fastapi/pull/3885) by [@solomein-sv](https://togithub.com/solomein-sv).
- 🌐 Add Russian translation for `docs/ru/docs/tutorial/static-files.md`. PR [#9580](https://togithub.com/tiangolo/fastapi/pull/9580) by [@Alexandrhub](https://togithub.com/Alexandrhub).
- 🌐 Add Russian translation for `docs/ru/docs/tutorial/query-params.md`. PR [#9584](https://togithub.com/tiangolo/fastapi/pull/9584) by [@Alexandrhub](https://togithub.com/Alexandrhub).
- 🌐 Add Russian translation for `docs/ru/docs/tutorial/first-steps.md`. PR [#9471](https://togithub.com/tiangolo/fastapi/pull/9471) by [@AGolicyn](https://togithub.com/AGolicyn).
- 🌐 Add Russian translation for `docs/ru/docs/tutorial/debugging.md`. PR [#9579](https://togithub.com/tiangolo/fastapi/pull/9579) by [@Alexandrhub](https://togithub.com/Alexandrhub).
- 🌐 Add Russian translation for `docs/ru/docs/tutorial/path-params.md`. PR [#9519](https://togithub.com/tiangolo/fastapi/pull/9519) by [@AGolicyn](https://togithub.com/AGolicyn).
- 🌐 Add Chinese translation for `docs/zh/docs/tutorial/static-files.md`. PR [#9436](https://togithub.com/tiangolo/fastapi/pull/9436) by [@wdh99](https://togithub.com/wdh99).
- 🌐 Update Spanish translation including new illustrations in `docs/es/docs/async.md`. PR [#9483](https://togithub.com/tiangolo/fastapi/pull/9483) by [@andresbermeoq](https://togithub.com/andresbermeoq).
- 🌐 Add Russian translation for `docs/ru/docs/tutorial/path-params-numeric-validations.md`. PR [#9563](https://togithub.com/tiangolo/fastapi/pull/9563) by [@ivan-abc](https://togithub.com/ivan-abc).
- 🌐 Add Russian translation for `docs/ru/docs/deployment/concepts.md`. PR [#9577](https://togithub.com/tiangolo/fastapi/pull/9577) by [@Xewus](https://togithub.com/Xewus).
- 🌐 Add Russian translation for `docs/ru/docs/tutorial/body-multiple-params.md`. PR [#9586](https://togithub.com/tiangolo/fastapi/pull/9586) by [@Alexandrhub](https://togithub.com/Alexandrhub).
##### Internal
- 👥 Update FastAPI People. PR [#9602](https://togithub.com/tiangolo/fastapi/pull/9602) by [@github-actions\[bot\]](https://togithub.com/apps/github-actions).
- 🔧 Update sponsors, remove InvestSuite. PR [#9612](https://togithub.com/tiangolo/fastapi/pull/9612) by [@tiangolo](https://togithub.com/tiangolo).
### [`v0.95.2`](https://togithub.com/tiangolo/fastapi/releases/tag/0.95.2)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.95.1...0.95.2)
- ⬆️ Upgrade Starlette version to `>=0.27.0` for a security release. PR [#9541](https://togithub.com/tiangolo/fastapi/pull/9541) by [@tiangolo](https://togithub.com/tiangolo). Details on [Starlette's security advisory](https://togithub.com/encode/starlette/security/advisories/GHSA-v5gw-mw7f-84px).
##### Translations
- 🌐 Add Portuguese translation for `docs/pt/docs/advanced/events.md`. PR [#9326](https://togithub.com/tiangolo/fastapi/pull/9326) by [@oandersonmagalhaes](https://togithub.com/oandersonmagalhaes).
- 🌐 Add Russian translation for `docs/ru/docs/deployment/manually.md`. PR [#9417](https://togithub.com/tiangolo/fastapi/pull/9417) by [@Xewus](https://togithub.com/Xewus).
- 🌐 Add setup for translations to Lao. PR [#9396](https://togithub.com/tiangolo/fastapi/pull/9396) by [@TheBrown](https://togithub.com/TheBrown).
- 🌐 Add Russian translation for `docs/ru/docs/tutorial/testing.md`. PR [#9403](https://togithub.com/tiangolo/fastapi/pull/9403) by [@Xewus](https://togithub.com/Xewus).
- 🌐 Add Russian translation for `docs/ru/docs/deployment/https.md`. PR [#9428](https://togithub.com/tiangolo/fastapi/pull/9428) by [@Xewus](https://togithub.com/Xewus).
- ✏ Fix command to install requirements in Windows. PR [#9445](https://togithub.com/tiangolo/fastapi/pull/9445) by [@MariiaRomanuik](https://togithub.com/MariiaRomanuik).
- 🌐 Add French translation for `docs/fr/docs/advanced/response-directly.md`. PR [#9415](https://togithub.com/tiangolo/fastapi/pull/9415) by [@axel584](https://togithub.com/axel584).
- 🌐 Initiate Czech translation setup. PR [#9288](https://togithub.com/tiangolo/fastapi/pull/9288) by [@3p1463k](https://togithub.com/3p1463k).
- ✏ Fix typo in Portuguese docs for `docs/pt/docs/index.md`. PR [#9337](https://togithub.com/tiangolo/fastapi/pull/9337) by [@lucasbalieiro](https://togithub.com/lucasbalieiro).
- 🌐 Add Russian translation for `docs/ru/docs/tutorial/response-status-code.md`. PR [#9370](https://togithub.com/tiangolo/fastapi/pull/9370) by [@nadia3373](https://togithub.com/nadia3373).
##### Internal
- 🐛 Fix `flask.escape` warning for internal tests. PR [#9468](https://togithub.com/tiangolo/fastapi/pull/9468) by [@samuelcolvin](https://togithub.com/samuelcolvin).
- ✅ Refactor 2 tests, for consistency and simplification. PR [#9504](https://togithub.com/tiangolo/fastapi/pull/9504) by [@tiangolo](https://togithub.com/tiangolo).
- ✅ Refactor OpenAPI tests, prepare for Pydantic v2. PR [#9503](https://togithub.com/tiangolo/fastapi/pull/9503) by [@tiangolo](https://togithub.com/tiangolo).
- ⬆ Bump dawidd6/action-download-artifact from 2.26.0 to 2.27.0. PR [#9394](https://togithub.com/tiangolo/fastapi/pull/9394) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot).
- 💚 Disable setup-python pip cache in CI. PR [#9438](https://togithub.com/tiangolo/fastapi/pull/9438) by [@tiangolo](https://togithub.com/tiangolo).
- ⬆ Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.8.5. PR [#9346](https://togithub.com/tiangolo/fastapi/pull/9346) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot).
### [`v0.95.1`](https://togithub.com/tiangolo/fastapi/releases/tag/0.95.1)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.95.0...0.95.1)
##### Fixes
- 🐛 Fix using `Annotated` in routers or path operations decorated multiple times. PR [#9315](https://togithub.com/tiangolo/fastapi/pull/9315) by [@sharonyogev](https://togithub.com/sharonyogev).
##### Docs
- 🌐 🔠 📄 🐢 Translate docs to Emoji 🥳 🎉 💥 🤯 🤯. PR [#5385](https://togithub.com/tiangolo/fastapi/pull/5385) by [@LeeeeT](https://togithub.com/LeeeeT).
- 📝 Add notification message warning about old versions of FastAPI not supporting `Annotated`. PR [#9298](https://togithub.com/tiangolo/fastapi/pull/9298) by [@grdworkin](https://togithub.com/grdworkin).
- 📝 Fix typo in `docs/en/docs/advanced/behind-a-proxy.md`. PR [#5681](https://togithub.com/tiangolo/fastapi/pull/5681) by [@Leommjr](https://togithub.com/Leommjr).
- ✏ Fix wrong import from typing module in Persian translations for `docs/fa/docs/index.md`. PR [#6083](https://togithub.com/tiangolo/fastapi/pull/6083) by [@Kimiaattaei](https://togithub.com/Kimiaattaei).
- ✏️ Fix format, remove unnecessary asterisks in `docs/en/docs/help-fastapi.md`. PR [#9249](https://togithub.com/tiangolo/fastapi/pull/9249) by [@armgabrielyan](https://togithub.com/armgabrielyan).
- ✏ Fix typo in `docs/en/docs/tutorial/query-params-str-validations.md`. PR [#9272](https://togithub.com/tiangolo/fastapi/pull/9272) by [@nicornk](https://togithub.com/nicornk).
- ✏ Fix typo/bug in inline code example in `docs/en/docs/tutorial/query-params-str-validations.md`. PR [#9273](https://togithub.com/tiangolo/fastapi/pull/9273) by [@tim-habitat](https://togithub.com/tim-habitat).
- ✏ Fix typo in `docs/en/docs/tutorial/path-params-numeric-validations.md`. PR [#9282](https://togithub.com/tiangolo/fastapi/pull/9282) by [@aadarsh977](https://togithub.com/aadarsh977).
- ✏ Fix typo: 'wll' to 'will' in `docs/en/docs/tutorial/query-params-str-validations.md`. PR [#9380](https://togithub.com/tiangolo/fastapi/pull/9380) by [@dasstyxx](https://togithub.com/dasstyxx).
##### Translations
- 🌐 Add French translation for `docs/fr/docs/advanced/index.md`. PR [#5673](https://togithub.com/tiangolo/fastapi/pull/5673) by [@axel584](https://togithub.com/axel584).
- 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/body-nested-models.md`. PR [#4053](https://togithub.com/tiangolo/fastapi/pull/4053) by [@luccasmmg](https://togithub.com/luccasmmg).
- 🌐 Add Russian translation for `docs/ru/docs/alternatives.md`. PR [#5994](https://togithub.com/tiangolo/fastapi/pull/5994) by [@Xewus](https://togithub.com/Xewus).
- 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/extra-models.md`. PR [#5912](https://togithub.com/tiangolo/fastapi/pull/5912) by [@LorhanSohaky](https://togithub.com/LorhanSohaky).
- 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/path-operation-configuration.md`. PR [#5936](https://togithub.com/tiangolo/fastapi/pull/5936) by [@LorhanSohaky](https://togithub.com/LorhanSohaky).
- 🌐 Add Russian translation for `docs/ru/docs/contributing.md`. PR [#6002](https://togithub.com/tiangolo/fastapi/pull/6002) by [@stigsanek](https://togithub.com/stigsanek).
- 🌐 Add Korean translation for `docs/tutorial/dependencies/classes-as-dependencies.md`. PR [#9176](https://togithub.com/tiangolo/fastapi/pull/9176) by [@sehwan505](https://togithub.com/sehwan505).
- 🌐 Add Russian translation for `docs/ru/docs/project-generation.md`. PR [#9243](https://togithub.com/tiangolo/fastapi/pull/9243) by [@Xewus](https://togithub.com/Xewus).
- 🌐 Add French translation for `docs/fr/docs/index.md`. PR [#9265](https://togithub.com/tiangolo/fastapi/pull/9265) by [@frabc](https://togithub.com/frabc).
- 🌐 Add Russian translation for `docs/ru/docs/tutorial/query-params-str-validations.md`. PR [#9267](https://togithub.com/tiangolo/fastapi/pull/9267) by [@dedkot01](https://togithub.com/dedkot01).
- 🌐 Add Russian translation for `docs/ru/docs/benchmarks.md`. PR [#9271](https://togithub.com/tiangolo/fastapi/pull/9271) by [@Xewus](https://togithub.com/Xewus).
##### Internal
- 🔧 Update sponsors: remove Jina. PR [#9388](https://togithub.com/tiangolo/fastapi/pull/9388) by [@tiangolo](https://togithub.com/tiangolo).
- 🔧 Update sponsors, add databento, remove Ines's course and StriveWorks. PR [#9351](https://togithub.com/tiangolo/fastapi/pull/9351) by [@tiangolo](https://togithub.com/tiangolo).
### [`v0.95.0`](https://togithub.com/tiangolo/fastapi/releases/tag/0.95.0)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.94.1...0.95.0)
##### Highlights
This release adds support for dependencies and parameters using `Annotated` and recommends its usage. ✨
This has **several benefits**, one of the main ones is that now the parameters of your functions with `Annotated` would **not be affected** at all.
If you call those functions in **other places in your code**, the actual **default values** will be kept, your editor will help you notice missing **required arguments**, Python will require you to pass required arguments at **runtime**, you will be able to **use the same functions** for different things and with different libraries (e.g. **Typer** will soon support `Annotated` too, then you could use the same function for an API and a CLI), etc.
Because `Annotated` is **standard Python**, you still get all the **benefits** from editors and tools, like **autocompletion**, **inline errors**, etc.
One of the **biggest benefits** is that now you can create `Annotated` dependencies that are then shared by multiple *path operation functions*, this will allow you to **reduce** a lot of **code duplication** in your codebase, while keeping all the support from editors and tools.
For example, you could have code like this:
```Python
def get_current_user(token: str):
### authenticate user
return User()
@app.get("/items/")
def read_items(user: User = Depends(get_current_user)):
...
@app.post("/items/")
def create_item(*, user: User = Depends(get_current_user), item: Item):
...
@app.get("/items/{item_id}")
def read_item(*, user: User = Depends(get_current_user), item_id: int):
...
@app.delete("/items/{item_id}")
def delete_item(*, user: User = Depends(get_current_user), item_id: int):
...
```
There's a bit of code duplication for the dependency:
```Python
user: User = Depends(get_current_user)
```
...the bigger the codebase, the more noticeable it is.
Now you can create an annotated dependency once, like this:
```Python
CurrentUser = Annotated[User, Depends(get_current_user)]
```
And then you can reuse this `Annotated` dependency:
```Python
CurrentUser = Annotated[User, Depends(get_current_user)]
@app.get("/items/")
def read_items(user: CurrentUser):
...
@app.post("/items/")
def create_item(user: CurrentUser, item: Item):
...
@app.get("/items/{item_id}")
def read_item(user: CurrentUser, item_id: int):
...
@app.delete("/items/{item_id}")
def delete_item(user: CurrentUser, item_id: int):
...
```
...and `CurrentUser` has all the typing information as `User`, so your editor will work as expected (autocompletion and everything), and **FastAPI** will be able to understand the dependency defined in `Annotated`. 😎
Roughly **all the docs** have been rewritten to use `Annotated` as the main way to declare **parameters** and **dependencies**. All the **examples** in the docs now include a version with `Annotated` and a version without it, for each of the specific Python versions (when there are small differences/improvements in more recent versions). There were around 23K new lines added between docs, examples, and tests. 🚀
The key updated docs are:
- Python Types Intro:
- [Type Hints with Metadata Annotations](https://fastapi.tiangolo.com/python-types/#type-hints-with-metadata-annotations).
- Tutorial:
- [Query Parameters and String Validations - Additional validation](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#additional-validation)
- [Advantages of `Annotated`](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#advantages-of-annotated)
- [Path Parameters and Numeric Validations - Order the parameters as you need, tricks](https://fastapi.tiangolo.com/tutorial/path-params-numeric-validations/#order-the-parameters-as-you-need-tricks)
- [Better with `Annotated`](https://fastapi.tiangolo.com/tutorial/path-params-numeric-validations/#better-with-annotated)
- [Dependencies - First Steps - Share `Annotated` dependencies](https://fastapi.tiangolo.com/tutorial/dependencies/#share-annotated-dependencies)
Special thanks to [@nzig](https://togithub.com/nzig) for the core implementation and to [@adriangb](https://togithub.com/adriangb) for the inspiration and idea with [Xpresso](https://togithub.com/adriangb/xpresso)! 🚀
##### Features
- ✨Add support for PEP-593 `Annotated` for specifying dependencies and parameters. PR [#4871](https://togithub.com/tiangolo/fastapi/pull/4871) by [@nzig](https://togithub.com/nzig).
##### Docs
- 📝 Tweak tip recommending `Annotated` in docs. PR [#9270](https://togithub.com/tiangolo/fastapi/pull/9270) by [@tiangolo](https://togithub.com/tiangolo).
- 📝 Update order of examples, latest Python version first, and simplify version tab names. PR [#9269](https://togithub.com/tiangolo/fastapi/pull/9269) by [@tiangolo](https://togithub.com/tiangolo).
- 📝 Update all docs to use `Annotated` as the main recommendation, with new examples and tests. PR [#9268](https://togithub.com/tiangolo/fastapi/pull/9268) by [@tiangolo](https://togithub.com/tiangolo).
### [`v0.94.1`](https://togithub.com/tiangolo/fastapi/releases/tag/0.94.1)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.94.0...0.94.1)
##### Fixes
- 🎨 Fix types for lifespan, upgrade Starlette to 0.26.1. PR [#9245](https://togithub.com/tiangolo/fastapi/pull/9245) by [@tiangolo](https://togithub.com/tiangolo).
### [`v0.94.0`](https://togithub.com/tiangolo/fastapi/releases/tag/0.94.0)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.93.0...0.94.0)
##### Upgrades
- ⬆ Upgrade python-multipart to support 0.0.6. PR [#9212](https://togithub.com/tiangolo/fastapi/pull/9212) by [@musicinmybrain](https://togithub.com/musicinmybrain).
- ⬆️ Upgrade Starlette version, support new `lifespan` with state. PR [#9239](https://togithub.com/tiangolo/fastapi/pull/9239) by [@tiangolo](https://togithub.com/tiangolo).
##### Docs
- 📝 Update Sentry link in docs. PR [#9218](https://togithub.com/tiangolo/fastapi/pull/9218) by [@smeubank](https://togithub.com/smeubank).
##### Translations
- 🌐 Add Russian translation for `docs/ru/docs/history-design-future.md`. PR [#5986](https://togithub.com/tiangolo/fastapi/pull/5986) by [@Xewus](https://togithub.com/Xewus).
##### Internal
- ➕ Add `pydantic` to PyPI classifiers. PR [#5914](https://togithub.com/tiangolo/fastapi/pull/5914) by [@yezz123](https://togithub.com/yezz123).
- ⬆ Bump black from 22.10.0 to 23.1.0. PR [#5953](https://togithub.com/tiangolo/fastapi/pull/5953) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot).
- ⬆ Bump types-ujson from 5.6.0.0 to 5.7.0.1. PR [#6027](https://togithub.com/tiangolo/fastapi/pull/6027) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot).
- ⬆ Bump dawidd6/action-download-artifact from 2.24.3 to 2.26.0. PR [#6034](https://togithub.com/tiangolo/fastapi/pull/6034) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot).
- ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#5709](https://togithub.com/tiangolo/fastapi/pull/5709) by [@pre-commit-ci\[bot\]](https://togithub.com/apps/pre-commit-ci).
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 PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
<=0.93.0
-><=0.97.0
Release Notes
tiangolo/fastapi
### [`v0.97.0`](https://togithub.com/tiangolo/fastapi/releases/tag/0.97.0) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.96.1...0.97.0) ##### Features - ✨ Add support for `dependencies` in WebSocket routes. PR [#4534](https://togithub.com/tiangolo/fastapi/pull/4534) by [@paulo-raca](https://togithub.com/paulo-raca). - ✨ Add exception handler for `WebSocketRequestValidationError` (which also allows to override it). PR [#6030](https://togithub.com/tiangolo/fastapi/pull/6030) by [@kristjanvalur](https://togithub.com/kristjanvalur). ##### Refactors - ⬆️ Upgrade and fully migrate to Ruff, remove isort, includes a couple of tweaks suggested by the new version of Ruff. PR [#9660](https://togithub.com/tiangolo/fastapi/pull/9660) by [@tiangolo](https://togithub.com/tiangolo). - ♻️ Update internal type annotations and upgrade mypy. PR [#9658](https://togithub.com/tiangolo/fastapi/pull/9658) by [@tiangolo](https://togithub.com/tiangolo). - ♻️ Simplify `AsyncExitStackMiddleware` as without Python 3.6 `AsyncExitStack` is always available. PR [#9657](https://togithub.com/tiangolo/fastapi/pull/9657) by [@tiangolo](https://togithub.com/tiangolo). ##### Upgrades - ⬆️ Upgrade Black. PR [#9661](https://togithub.com/tiangolo/fastapi/pull/9661) by [@tiangolo](https://togithub.com/tiangolo). ##### Internal - 💚 Update CI cache to fix installs when dependencies change. PR [#9659](https://togithub.com/tiangolo/fastapi/pull/9659) by [@tiangolo](https://togithub.com/tiangolo). - ⬇️ Separate requirements for development into their own requirements.txt files, they shouldn't be extras. PR [#9655](https://togithub.com/tiangolo/fastapi/pull/9655) by [@tiangolo](https://togithub.com/tiangolo). ### [`v0.96.1`](https://togithub.com/tiangolo/fastapi/releases/tag/0.96.1) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.96.0...0.96.1) ##### Fixes - 🐛 Fix `HTTPException` header type annotations. PR [#9648](https://togithub.com/tiangolo/fastapi/pull/9648) by [@tiangolo](https://togithub.com/tiangolo). - 🐛 Fix OpenAPI model fields int validations, `gte` to `ge`. PR [#9635](https://togithub.com/tiangolo/fastapi/pull/9635) by [@tiangolo](https://togithub.com/tiangolo). ##### Upgrades - 📌 Update minimum version of Pydantic to >=1.7.4. This fixes an issue when trying to use an old version of Pydantic. PR [#9567](https://togithub.com/tiangolo/fastapi/pull/9567) by [@Kludex](https://togithub.com/Kludex). ##### Refactors - ♻ Remove `media_type` from `ORJSONResponse` as it's inherited from the parent class. PR [#5805](https://togithub.com/tiangolo/fastapi/pull/5805) by [@Kludex](https://togithub.com/Kludex). - ♻ Instantiate `HTTPException` only when needed, optimization refactor. PR [#5356](https://togithub.com/tiangolo/fastapi/pull/5356) by [@pawamoy](https://togithub.com/pawamoy). ##### Docs - 🔥 Remove link to Pydantic's benchmark, as it was removed there. PR [#5811](https://togithub.com/tiangolo/fastapi/pull/5811) by [@Kludex](https://togithub.com/Kludex). ##### Translations - 🌐 Fix spelling in Indonesian translation of `docs/id/docs/tutorial/index.md`. PR [#5635](https://togithub.com/tiangolo/fastapi/pull/5635) by [@purwowd](https://togithub.com/purwowd). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/index.md`. PR [#5896](https://togithub.com/tiangolo/fastapi/pull/5896) by [@Wilidon](https://togithub.com/Wilidon). - 🌐 Add Chinese translations for `docs/zh/docs/advanced/response-change-status-code.md` and `docs/zh/docs/advanced/response-headers.md`. PR [#9544](https://togithub.com/tiangolo/fastapi/pull/9544) by [@ChoyeonChern](https://togithub.com/ChoyeonChern). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/schema-extra-example.md`. PR [#9621](https://togithub.com/tiangolo/fastapi/pull/9621) by [@Alexandrhub](https://togithub.com/Alexandrhub). ##### Internal - 🔧 Add sponsor Platform.sh. PR [#9650](https://togithub.com/tiangolo/fastapi/pull/9650) by [@tiangolo](https://togithub.com/tiangolo). - 👷 Add custom token to Smokeshow and Preview Docs for download-artifact, to prevent API rate limits. PR [#9646](https://togithub.com/tiangolo/fastapi/pull/9646) by [@tiangolo](https://togithub.com/tiangolo). - 👷 Add custom tokens for GitHub Actions to avoid rate limits. PR [#9647](https://togithub.com/tiangolo/fastapi/pull/9647) by [@tiangolo](https://togithub.com/tiangolo). ### [`v0.96.0`](https://togithub.com/tiangolo/fastapi/releases/tag/0.96.0) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.95.2...0.96.0) ##### Features - ⚡ Update `create_cloned_field` to use a global cache and improve startup performance. PR [#4645](https://togithub.com/tiangolo/fastapi/pull/4645) by [@madkinsz](https://togithub.com/madkinsz) and previous original PR by [@huonw](https://togithub.com/huonw). ##### Docs - 📝 Update Deta deployment tutorial for compatibility with Deta Space. PR [#6004](https://togithub.com/tiangolo/fastapi/pull/6004) by [@mikBighne98](https://togithub.com/mikBighne98). - ✏️ Fix typo in Deta deployment tutorial. PR [#9501](https://togithub.com/tiangolo/fastapi/pull/9501) by [@lemonyte](https://togithub.com/lemonyte). ##### Translations - 🌐 Add Russian translation for `docs/tutorial/body.md`. PR [#3885](https://togithub.com/tiangolo/fastapi/pull/3885) by [@solomein-sv](https://togithub.com/solomein-sv). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/static-files.md`. PR [#9580](https://togithub.com/tiangolo/fastapi/pull/9580) by [@Alexandrhub](https://togithub.com/Alexandrhub). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/query-params.md`. PR [#9584](https://togithub.com/tiangolo/fastapi/pull/9584) by [@Alexandrhub](https://togithub.com/Alexandrhub). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/first-steps.md`. PR [#9471](https://togithub.com/tiangolo/fastapi/pull/9471) by [@AGolicyn](https://togithub.com/AGolicyn). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/debugging.md`. PR [#9579](https://togithub.com/tiangolo/fastapi/pull/9579) by [@Alexandrhub](https://togithub.com/Alexandrhub). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/path-params.md`. PR [#9519](https://togithub.com/tiangolo/fastapi/pull/9519) by [@AGolicyn](https://togithub.com/AGolicyn). - 🌐 Add Chinese translation for `docs/zh/docs/tutorial/static-files.md`. PR [#9436](https://togithub.com/tiangolo/fastapi/pull/9436) by [@wdh99](https://togithub.com/wdh99). - 🌐 Update Spanish translation including new illustrations in `docs/es/docs/async.md`. PR [#9483](https://togithub.com/tiangolo/fastapi/pull/9483) by [@andresbermeoq](https://togithub.com/andresbermeoq). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/path-params-numeric-validations.md`. PR [#9563](https://togithub.com/tiangolo/fastapi/pull/9563) by [@ivan-abc](https://togithub.com/ivan-abc). - 🌐 Add Russian translation for `docs/ru/docs/deployment/concepts.md`. PR [#9577](https://togithub.com/tiangolo/fastapi/pull/9577) by [@Xewus](https://togithub.com/Xewus). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/body-multiple-params.md`. PR [#9586](https://togithub.com/tiangolo/fastapi/pull/9586) by [@Alexandrhub](https://togithub.com/Alexandrhub). ##### Internal - 👥 Update FastAPI People. PR [#9602](https://togithub.com/tiangolo/fastapi/pull/9602) by [@github-actions\[bot\]](https://togithub.com/apps/github-actions). - 🔧 Update sponsors, remove InvestSuite. PR [#9612](https://togithub.com/tiangolo/fastapi/pull/9612) by [@tiangolo](https://togithub.com/tiangolo). ### [`v0.95.2`](https://togithub.com/tiangolo/fastapi/releases/tag/0.95.2) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.95.1...0.95.2) - ⬆️ Upgrade Starlette version to `>=0.27.0` for a security release. PR [#9541](https://togithub.com/tiangolo/fastapi/pull/9541) by [@tiangolo](https://togithub.com/tiangolo). Details on [Starlette's security advisory](https://togithub.com/encode/starlette/security/advisories/GHSA-v5gw-mw7f-84px). ##### Translations - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/events.md`. PR [#9326](https://togithub.com/tiangolo/fastapi/pull/9326) by [@oandersonmagalhaes](https://togithub.com/oandersonmagalhaes). - 🌐 Add Russian translation for `docs/ru/docs/deployment/manually.md`. PR [#9417](https://togithub.com/tiangolo/fastapi/pull/9417) by [@Xewus](https://togithub.com/Xewus). - 🌐 Add setup for translations to Lao. PR [#9396](https://togithub.com/tiangolo/fastapi/pull/9396) by [@TheBrown](https://togithub.com/TheBrown). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/testing.md`. PR [#9403](https://togithub.com/tiangolo/fastapi/pull/9403) by [@Xewus](https://togithub.com/Xewus). - 🌐 Add Russian translation for `docs/ru/docs/deployment/https.md`. PR [#9428](https://togithub.com/tiangolo/fastapi/pull/9428) by [@Xewus](https://togithub.com/Xewus). - ✏ Fix command to install requirements in Windows. PR [#9445](https://togithub.com/tiangolo/fastapi/pull/9445) by [@MariiaRomanuik](https://togithub.com/MariiaRomanuik). - 🌐 Add French translation for `docs/fr/docs/advanced/response-directly.md`. PR [#9415](https://togithub.com/tiangolo/fastapi/pull/9415) by [@axel584](https://togithub.com/axel584). - 🌐 Initiate Czech translation setup. PR [#9288](https://togithub.com/tiangolo/fastapi/pull/9288) by [@3p1463k](https://togithub.com/3p1463k). - ✏ Fix typo in Portuguese docs for `docs/pt/docs/index.md`. PR [#9337](https://togithub.com/tiangolo/fastapi/pull/9337) by [@lucasbalieiro](https://togithub.com/lucasbalieiro). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/response-status-code.md`. PR [#9370](https://togithub.com/tiangolo/fastapi/pull/9370) by [@nadia3373](https://togithub.com/nadia3373). ##### Internal - 🐛 Fix `flask.escape` warning for internal tests. PR [#9468](https://togithub.com/tiangolo/fastapi/pull/9468) by [@samuelcolvin](https://togithub.com/samuelcolvin). - ✅ Refactor 2 tests, for consistency and simplification. PR [#9504](https://togithub.com/tiangolo/fastapi/pull/9504) by [@tiangolo](https://togithub.com/tiangolo). - ✅ Refactor OpenAPI tests, prepare for Pydantic v2. PR [#9503](https://togithub.com/tiangolo/fastapi/pull/9503) by [@tiangolo](https://togithub.com/tiangolo). - ⬆ Bump dawidd6/action-download-artifact from 2.26.0 to 2.27.0. PR [#9394](https://togithub.com/tiangolo/fastapi/pull/9394) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot). - 💚 Disable setup-python pip cache in CI. PR [#9438](https://togithub.com/tiangolo/fastapi/pull/9438) by [@tiangolo](https://togithub.com/tiangolo). - ⬆ Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.8.5. PR [#9346](https://togithub.com/tiangolo/fastapi/pull/9346) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot). ### [`v0.95.1`](https://togithub.com/tiangolo/fastapi/releases/tag/0.95.1) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.95.0...0.95.1) ##### Fixes - 🐛 Fix using `Annotated` in routers or path operations decorated multiple times. PR [#9315](https://togithub.com/tiangolo/fastapi/pull/9315) by [@sharonyogev](https://togithub.com/sharonyogev). ##### Docs - 🌐 🔠 📄 🐢 Translate docs to Emoji 🥳 🎉 💥 🤯 🤯. PR [#5385](https://togithub.com/tiangolo/fastapi/pull/5385) by [@LeeeeT](https://togithub.com/LeeeeT). - 📝 Add notification message warning about old versions of FastAPI not supporting `Annotated`. PR [#9298](https://togithub.com/tiangolo/fastapi/pull/9298) by [@grdworkin](https://togithub.com/grdworkin). - 📝 Fix typo in `docs/en/docs/advanced/behind-a-proxy.md`. PR [#5681](https://togithub.com/tiangolo/fastapi/pull/5681) by [@Leommjr](https://togithub.com/Leommjr). - ✏ Fix wrong import from typing module in Persian translations for `docs/fa/docs/index.md`. PR [#6083](https://togithub.com/tiangolo/fastapi/pull/6083) by [@Kimiaattaei](https://togithub.com/Kimiaattaei). - ✏️ Fix format, remove unnecessary asterisks in `docs/en/docs/help-fastapi.md`. PR [#9249](https://togithub.com/tiangolo/fastapi/pull/9249) by [@armgabrielyan](https://togithub.com/armgabrielyan). - ✏ Fix typo in `docs/en/docs/tutorial/query-params-str-validations.md`. PR [#9272](https://togithub.com/tiangolo/fastapi/pull/9272) by [@nicornk](https://togithub.com/nicornk). - ✏ Fix typo/bug in inline code example in `docs/en/docs/tutorial/query-params-str-validations.md`. PR [#9273](https://togithub.com/tiangolo/fastapi/pull/9273) by [@tim-habitat](https://togithub.com/tim-habitat). - ✏ Fix typo in `docs/en/docs/tutorial/path-params-numeric-validations.md`. PR [#9282](https://togithub.com/tiangolo/fastapi/pull/9282) by [@aadarsh977](https://togithub.com/aadarsh977). - ✏ Fix typo: 'wll' to 'will' in `docs/en/docs/tutorial/query-params-str-validations.md`. PR [#9380](https://togithub.com/tiangolo/fastapi/pull/9380) by [@dasstyxx](https://togithub.com/dasstyxx). ##### Translations - 🌐 Add French translation for `docs/fr/docs/advanced/index.md`. PR [#5673](https://togithub.com/tiangolo/fastapi/pull/5673) by [@axel584](https://togithub.com/axel584). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/body-nested-models.md`. PR [#4053](https://togithub.com/tiangolo/fastapi/pull/4053) by [@luccasmmg](https://togithub.com/luccasmmg). - 🌐 Add Russian translation for `docs/ru/docs/alternatives.md`. PR [#5994](https://togithub.com/tiangolo/fastapi/pull/5994) by [@Xewus](https://togithub.com/Xewus). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/extra-models.md`. PR [#5912](https://togithub.com/tiangolo/fastapi/pull/5912) by [@LorhanSohaky](https://togithub.com/LorhanSohaky). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/path-operation-configuration.md`. PR [#5936](https://togithub.com/tiangolo/fastapi/pull/5936) by [@LorhanSohaky](https://togithub.com/LorhanSohaky). - 🌐 Add Russian translation for `docs/ru/docs/contributing.md`. PR [#6002](https://togithub.com/tiangolo/fastapi/pull/6002) by [@stigsanek](https://togithub.com/stigsanek). - 🌐 Add Korean translation for `docs/tutorial/dependencies/classes-as-dependencies.md`. PR [#9176](https://togithub.com/tiangolo/fastapi/pull/9176) by [@sehwan505](https://togithub.com/sehwan505). - 🌐 Add Russian translation for `docs/ru/docs/project-generation.md`. PR [#9243](https://togithub.com/tiangolo/fastapi/pull/9243) by [@Xewus](https://togithub.com/Xewus). - 🌐 Add French translation for `docs/fr/docs/index.md`. PR [#9265](https://togithub.com/tiangolo/fastapi/pull/9265) by [@frabc](https://togithub.com/frabc). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/query-params-str-validations.md`. PR [#9267](https://togithub.com/tiangolo/fastapi/pull/9267) by [@dedkot01](https://togithub.com/dedkot01). - 🌐 Add Russian translation for `docs/ru/docs/benchmarks.md`. PR [#9271](https://togithub.com/tiangolo/fastapi/pull/9271) by [@Xewus](https://togithub.com/Xewus). ##### Internal - 🔧 Update sponsors: remove Jina. PR [#9388](https://togithub.com/tiangolo/fastapi/pull/9388) by [@tiangolo](https://togithub.com/tiangolo). - 🔧 Update sponsors, add databento, remove Ines's course and StriveWorks. PR [#9351](https://togithub.com/tiangolo/fastapi/pull/9351) by [@tiangolo](https://togithub.com/tiangolo). ### [`v0.95.0`](https://togithub.com/tiangolo/fastapi/releases/tag/0.95.0) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.94.1...0.95.0) ##### Highlights This release adds support for dependencies and parameters using `Annotated` and recommends its usage. ✨ This has **several benefits**, one of the main ones is that now the parameters of your functions with `Annotated` would **not be affected** at all. If you call those functions in **other places in your code**, the actual **default values** will be kept, your editor will help you notice missing **required arguments**, Python will require you to pass required arguments at **runtime**, you will be able to **use the same functions** for different things and with different libraries (e.g. **Typer** will soon support `Annotated` too, then you could use the same function for an API and a CLI), etc. Because `Annotated` is **standard Python**, you still get all the **benefits** from editors and tools, like **autocompletion**, **inline errors**, etc. One of the **biggest benefits** is that now you can create `Annotated` dependencies that are then shared by multiple *path operation functions*, this will allow you to **reduce** a lot of **code duplication** in your codebase, while keeping all the support from editors and tools. For example, you could have code like this: ```Python def get_current_user(token: str): ### authenticate user return User() @app.get("/items/") def read_items(user: User = Depends(get_current_user)): ... @app.post("/items/") def create_item(*, user: User = Depends(get_current_user), item: Item): ... @app.get("/items/{item_id}") def read_item(*, user: User = Depends(get_current_user), item_id: int): ... @app.delete("/items/{item_id}") def delete_item(*, user: User = Depends(get_current_user), item_id: int): ... ``` There's a bit of code duplication for the dependency: ```Python user: User = Depends(get_current_user) ``` ...the bigger the codebase, the more noticeable it is. Now you can create an annotated dependency once, like this: ```Python CurrentUser = Annotated[User, Depends(get_current_user)] ``` And then you can reuse this `Annotated` dependency: ```Python CurrentUser = Annotated[User, Depends(get_current_user)] @app.get("/items/") def read_items(user: CurrentUser): ... @app.post("/items/") def create_item(user: CurrentUser, item: Item): ... @app.get("/items/{item_id}") def read_item(user: CurrentUser, item_id: int): ... @app.delete("/items/{item_id}") def delete_item(user: CurrentUser, item_id: int): ... ``` ...and `CurrentUser` has all the typing information as `User`, so your editor will work as expected (autocompletion and everything), and **FastAPI** will be able to understand the dependency defined in `Annotated`. 😎 Roughly **all the docs** have been rewritten to use `Annotated` as the main way to declare **parameters** and **dependencies**. All the **examples** in the docs now include a version with `Annotated` and a version without it, for each of the specific Python versions (when there are small differences/improvements in more recent versions). There were around 23K new lines added between docs, examples, and tests. 🚀 The key updated docs are: - Python Types Intro: - [Type Hints with Metadata Annotations](https://fastapi.tiangolo.com/python-types/#type-hints-with-metadata-annotations). - Tutorial: - [Query Parameters and String Validations - Additional validation](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#additional-validation) - [Advantages of `Annotated`](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#advantages-of-annotated) - [Path Parameters and Numeric Validations - Order the parameters as you need, tricks](https://fastapi.tiangolo.com/tutorial/path-params-numeric-validations/#order-the-parameters-as-you-need-tricks) - [Better with `Annotated`](https://fastapi.tiangolo.com/tutorial/path-params-numeric-validations/#better-with-annotated) - [Dependencies - First Steps - Share `Annotated` dependencies](https://fastapi.tiangolo.com/tutorial/dependencies/#share-annotated-dependencies) Special thanks to [@nzig](https://togithub.com/nzig) for the core implementation and to [@adriangb](https://togithub.com/adriangb) for the inspiration and idea with [Xpresso](https://togithub.com/adriangb/xpresso)! 🚀 ##### Features - ✨Add support for PEP-593 `Annotated` for specifying dependencies and parameters. PR [#4871](https://togithub.com/tiangolo/fastapi/pull/4871) by [@nzig](https://togithub.com/nzig). ##### Docs - 📝 Tweak tip recommending `Annotated` in docs. PR [#9270](https://togithub.com/tiangolo/fastapi/pull/9270) by [@tiangolo](https://togithub.com/tiangolo). - 📝 Update order of examples, latest Python version first, and simplify version tab names. PR [#9269](https://togithub.com/tiangolo/fastapi/pull/9269) by [@tiangolo](https://togithub.com/tiangolo). - 📝 Update all docs to use `Annotated` as the main recommendation, with new examples and tests. PR [#9268](https://togithub.com/tiangolo/fastapi/pull/9268) by [@tiangolo](https://togithub.com/tiangolo). ### [`v0.94.1`](https://togithub.com/tiangolo/fastapi/releases/tag/0.94.1) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.94.0...0.94.1) ##### Fixes - 🎨 Fix types for lifespan, upgrade Starlette to 0.26.1. PR [#9245](https://togithub.com/tiangolo/fastapi/pull/9245) by [@tiangolo](https://togithub.com/tiangolo). ### [`v0.94.0`](https://togithub.com/tiangolo/fastapi/releases/tag/0.94.0) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.93.0...0.94.0) ##### Upgrades - ⬆ Upgrade python-multipart to support 0.0.6. PR [#9212](https://togithub.com/tiangolo/fastapi/pull/9212) by [@musicinmybrain](https://togithub.com/musicinmybrain). - ⬆️ Upgrade Starlette version, support new `lifespan` with state. PR [#9239](https://togithub.com/tiangolo/fastapi/pull/9239) by [@tiangolo](https://togithub.com/tiangolo). ##### Docs - 📝 Update Sentry link in docs. PR [#9218](https://togithub.com/tiangolo/fastapi/pull/9218) by [@smeubank](https://togithub.com/smeubank). ##### Translations - 🌐 Add Russian translation for `docs/ru/docs/history-design-future.md`. PR [#5986](https://togithub.com/tiangolo/fastapi/pull/5986) by [@Xewus](https://togithub.com/Xewus). ##### Internal - ➕ Add `pydantic` to PyPI classifiers. PR [#5914](https://togithub.com/tiangolo/fastapi/pull/5914) by [@yezz123](https://togithub.com/yezz123). - ⬆ Bump black from 22.10.0 to 23.1.0. PR [#5953](https://togithub.com/tiangolo/fastapi/pull/5953) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot). - ⬆ Bump types-ujson from 5.6.0.0 to 5.7.0.1. PR [#6027](https://togithub.com/tiangolo/fastapi/pull/6027) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot). - ⬆ Bump dawidd6/action-download-artifact from 2.24.3 to 2.26.0. PR [#6034](https://togithub.com/tiangolo/fastapi/pull/6034) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#5709](https://togithub.com/tiangolo/fastapi/pull/5709) by [@pre-commit-ci\[bot\]](https://togithub.com/apps/pre-commit-ci).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 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 has been generated by Mend Renovate. View repository job log here.