537 Commits

Author SHA1 Message Date
Sebastián Ramírez be1e3faa63 🔖 Release version 0.110.2 2024-04-18 19:31:47 -05:00
Paul 74cc33d16b ♻️ Simplify Pydantic configs in OpenAPI models in fastapi/openapi/models.py (#10886)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-04-18 17:49:33 -05:00
arjwilliams 09e4859cab 🐛 Fix support for query parameters with list types, handle JSON encoding Pydantic UndefinedType (#9929)
Co-authored-by: Andrew Williams <Andrew.Williams@contemi.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-04-18 16:56:59 -05:00
Sebastián Ramírez 27da0d02a7 ✨ Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response (#11461) 2024-04-18 14:40:57 -05:00
Sebastián Ramírez 50a880b39f 🔖 Release version 0.110.1 2024-04-01 22:17:13 -05:00
Nadav Zingerman eec612ca8d 🐛 Fix parameterless Depends() with generics (#9479)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-04-01 21:52:56 -05:00
Aleksei Kotenko 9c80842cea ♻️ Update mypy (#11049)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-04-01 21:48:51 -05:00
igeni ee6403212b ♻️ Simplify string format with f-strings in fastapi/applications.py (#11335) 2024-03-31 11:37:21 -05:00
Sun Bin 009b148463 ✏️ Fix typo in fastapi/security/oauth2.py (#11368) 2024-03-29 18:06:20 -05:00
Charlie Marsh 5ccc869fee ⬆️ Upgrade configuration for Ruff v0.2.0 (#11075) 2024-03-26 11:56:53 -05:00
David Huser 3c70b55042 ✏️ Fix typos in docstrings (#11295) 2024-03-14 17:38:24 +01:00
Sebastián Ramírez e40747f10a 🔖 Release version 0.110.0 2024-02-25 00:19:38 +01:00
Sebastián Ramírez bf771bd781 🐛 Fix unhandled growing memory for internal server errors, refactor dependencies with yield and except to require raising again as in regular Python (#11191)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-02-25 00:06:37 +01:00
Jacob Hayes 0880a5c6a0 ✏️ Fix minor typo in fastapi/applications.py (#11099) 2024-02-06 12:21:29 -05:00
Sebastián Ramírez 57b0983948 🔖 Release FastAPI version 0.109.2 2024-02-04 22:21:53 +01:00
Sebastián Ramírez 7633d1571c 🔖 Release version 0.109.1 2024-02-03 13:42:30 +01:00
Rafal Skolasinski 8450dc204d ✏️ Fix typo in fastapi/security/oauth2.py (#10972) 2024-01-15 21:41:47 +01:00
Sebastián Ramírez dcc952d699 ✨ Include HTTP 205 in status codes with no body (#10969) 2024-01-15 11:32:16 +01:00
Evgenii de0126d145 ♻️ Simplify string format with f-strings in fastapi/utils.py (#10576)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-01-13 15:31:38 +01:00
Sebastián Ramírez cb95d1cb89 🔖 Release version 0.109.0 2024-01-11 16:32:00 +01:00
Sepehr Shirkhanlu 60e1259ca4 ✏️ Fix typo in fastapi/routing.py (#10520)
Fix: https://github.com/tiangolo/fastapi/discussions/10493
2024-01-09 17:10:37 +01:00
Sebastián Ramírez fe0249a23e 🔖 Release version 0.108.0 2023-12-26 21:17:18 +01:00
Sebastián Ramírez f933fd6ff8 🔖 Release version 0.107.0 2023-12-26 20:04:08 +01:00
Sebastián Ramírez 91510db620 🔖 Release version 0.106.0 2023-12-25 19:01:26 +01:00
Sebastián Ramírez a4aa79e0b4 ✨ Add support for raising exceptions (including HTTPException) in dependencies with yield in the exit code, do not support them in background tasks (#10831)
* ♻️ Refactor dependency AsyncExitStack logic, exit dependencies after creating the response, before sending it

* ✅ Update tests for dependencies exit, check they are finished before the response is sent

* 🔥 Remove ExitAsyncStackMiddleware as it's no longer needed

* 📝 Update docs for dependencies with yield

* 📝 Update release notes

* 📝 Add source examples for new dependencies with yield raising

* ✅ Add tests for new dependencies raising after yield

* 📝 Update release notes
2023-12-25 18:57:35 +01:00
Sebastián Ramírez d8185efb6e 🔖 Release version 0.105.0 2023-12-12 00:32:48 +00:00
Sebastián Ramírez b98c65cb36 🔥 Remove unused NoneType (#10774) 2023-12-12 00:29:03 +00:00
Sebastián Ramírez 6f5aa81c07 ✨ Add support for multiple Annotated annotations, e.g. Annotated[str, Field(), Query()] (#10773) 2023-12-12 00:22:47 +00:00
Sebastián Ramírez 7e5afe2cb9 🔖 Release version 0.104.1 2023-10-30 14:04:54 +04:00
Alejandra Klachquin 758a8f29e1 📌 Pin Swagger UI version to 5.9.0 temporarily to handle a bug crashing it in 5.9.1 (#10529)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-10-30 13:58:58 +04:00
Sebastián Ramírez 2e14c69c31 👷 Adopt Ruff format (#10517)
* 🔧 Update pre-commit, use ruff format

* ⬆️ Upgrade dependencies, use Ruff for formatting

* 🔧 Update Ruff config

* 🔨 Update lint and format scripts, use Ruff

* 🎨 Format internals with Ruff

* 🎨 Format docs scripts

* 🎨 Format tests

* 🎨 Format extra commas in src for docs

* 📝 Update docs mentioning `@lru_cache()`, use `@lru_cache` instead to keep consistency with the format

* 🎨 Update src for docs, use plain `@lru_cache`

* 🎨 Update src for docs format and docs references
2023-10-25 00:26:06 +04:00
Heinz-Alexander Fuetterer ae84ff6e44 ✏️ Fix typos in emoji docs and in some source examples (#10438) 2023-10-20 13:00:44 +04:00
Sebastián Ramírez c13aa9ed5f 🔥 Remove unnecessary duplicated docstrings (#10484) 2023-10-20 12:27:26 +04:00
Sebastián Ramírez 38f191dcd3 🔖 Release version 0.104.0 2023-10-18 16:51:07 +04:00
Sebastián Ramírez 05ca41cfd1 ✨ Add reference (code API) docs with PEP 727, add subclass with custom docstrings for BackgroundTasks, refactor docs structure (#10392)
* ➕ Add mkdocstrings and griffe-typingdoc to dependencies

* 🔧 Add mkdocstrings configs to MkDocs

* 📝 Add first WIP reference page

* ⬆️ Upgrade typing-extensions to the minimum version including Doc()

* 📝 Add docs to FastAPI parameters

* 📝 Add docstrings for OpenAPI docs utils

* 📝 Add docstrings for security utils

* 📝 Add docstrings for UploadFile

* 📝 Update docstrings in FastAPI class

* 📝 Add docstrings for path operation methods

* 📝 Add docstring for jsonable_encoder

* 📝 Add docstrings for exceptions

* 📝 Add docstsrings for parameter functions

* 📝 Add docstrings for responses

* 📝 Add docstrings for APIRouter

* ♻️ Sub-class BackgroundTasks to document it with docstrings

* 📝 Update usage of background tasks in dependencies

* ✅ Update tests with new deprecation warnings

* 📝 Add new reference docs

* 🔧 Update MkDocs with new reference docs

* ✅ Update pytest fixture, deprecation is raised only once

* 🎨 Update format for types in exceptions.py

* ♻️ Update annotations in BackgroundTask, `Annotated` can't take ParamSpec's P.args or P.kwargs

* ✏️ Fix typos caught by @pawamoy

* 🔧 Update and fix MkDocstrings configs from @pawamoy tips

* 📝 Update reference docs

* ✏️ Fix typos found by @pawamoy

* ➕ Add HTTPX as a dependency for docs, for the TestClient

* 🔧 Update MkDocs config, rename websockets reference

* 🔇 Add type-ignores for Doc as the stubs haven't been released for mypy

* 🔥 Remove duplicated deprecated notice

* 🔇 Remove typing error for unreleased stub in openapi/docs.py

* ✅ Add tests for UploadFile for coverage

* ⬆️ Upgrade griffe-typingdoc==0.2.2

* 📝 Refactor docs structure

* 🔨 Update README generation with new index frontmatter and style

* 🔨 Update generation of languages, remove from top menu, keep in lang menu

* 📝 Add OpenAPI Pydantic models

* 🔨 Update docs script to not translate Reference and Release Notes

* 🔧 Add reference for OpenAPI models

* 🔧 Update MkDocs config for mkdocstrings insiders

* 👷 Install mkdocstring insiders in CI for docs

* 🐛 Fix MkDocstrings insiders install URL

* ➕ Move dependencies shared by docs and tests to its own requirements file

* 👷 Update cache keys for test and docs dependencies

* 📝 Remove no longer needed __init__ placeholder docstrings

* 📝 Move docstring for APIRouter to the class level (not __init__ level)

* 🔥 Remove no longer needed dummy placeholder __init__ docstring
2023-10-18 16:36:40 +04:00
Sebastián Ramírez 1bf5e7a10e 🔖 Release 0.103.2 2023-09-28 14:57:42 -05:00
Sebastián Ramírez bc935e08b6 ⬆️ Upgrade compatibility with Pydantic v2.4, new renamed functions and JSON Schema input/output models with default values (#10344)
* 🚚 Refactor deprecated import general_plain_validator_function to with_info_plain_validator_function

* 🚚 Rename deprecated FieldValidationInfo to ValidationInfo

* ✅ Update tests with new defaults for JSON Schema for default values

* ♻️ Add Pydantic v1 version of with_info_plain_validator_function

* 👷 Invalidate cache

* ✅ Fix tests for Pydantic v1

* ✅ Tweak tests coverage for older Pydantic v2 versions
2023-09-27 23:14:40 -05:00
Sebastián Ramírez bfde8f3ef2 🔖 Release version 0.103.1 2023-09-02 19:10:19 +02:00
Ahsan Sheraz 9fc33f8565 ✏️ Fix typos in comment in fastapi/applications.py (#10045) 2023-09-02 17:37:40 +02:00
Sebastián Ramírez 415eb1405a 🔖 Release version 0.103.0 2023-08-26 20:10:27 +02:00
Sebastián Ramírez 1b714b3177 ✨ Add support for openapi_examples in all FastAPI parameters (#10152)
* ♻️ Refactor model for OpenAPI Examples to use a reusable TypedDict

* ✨ Add support for openapi_examples in parameters

* 📝 Add new docs examples for new parameter openapi_examples

* 📝 Update docs for Schema Extra to include OpenAPI examples

* ✅ Add tests for new source examples, for openapi_examples

* ✅ Add tests for openapi_examples corner cases and all parameters

* 💡 Tweak and ignore type annotation checks for custom TypedDict
2023-08-26 20:03:13 +02:00
Sebastián Ramírez 9cf9e1084d 🔖 Release version 0.102.0 2023-08-25 21:18:38 +02:00
Sebastián Ramírez ea43f227e5 ✨ Add support for disabling the separation of input and output JSON Schemas in OpenAPI with Pydantic v2 (#10145)
* 📝 Add docs for Separate OpenAPI Schemas for Input and Output

* 🔧 Add new docs page to MkDocs config

* ✨ Add separate_input_output_schemas parameter to FastAPI class

* 📝 Add source examples for separating OpenAPI schemas

* ✅ Add tests for separated OpenAPI schemas

* 📝 Add source examples for Python 3.10, 3.9, and 3.7+

* 📝 Update docs for Separate OpenAPI Schemas with new multi-version examples

* ✅ Add and update tests for different Python versions

* ✅ Add tests for corner cases with separate_input_output_schemas

* 📝 Update tutorial to use Union instead of Optional

* 🐛 Fix type annotations

* 🐛 Fix correct import in test

* 💄 Add CSS to simulate browser windows for screenshots

* ➕ Add playwright as a dev dependency to automate generating screenshots

* 🔨 Add Playwright scripts to generate screenshots for new docs

* 📝 Update docs, tweak text to match screenshots

* 🍱 Add screenshots for new docs
2023-08-25 21:10:22 +02:00
Sebastián Ramírez 63e7edb295 🔖 Release version 0.101.1 2023-08-14 12:03:14 +02:00
Sebastián Ramírez 5e8f7f13d7 ✨ Add ResponseValidationError printable details, to show up in server error logs (#10078) 2023-08-14 11:49:57 +02:00
Russ Biggs bdd991244d ✏️ Fix typo in deprecation warnings in fastapi/params.py (#9854)
fix typo for deprecation warnings depreacated -> deprecated
2023-08-05 10:41:21 +02:00
ElliottLarsen 5e59acd35b ✏️ Fix typos in comments on internal code in fastapi/concurrency.py and fastapi/routing.py (#9590)
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2023-08-05 10:39:38 +02:00
Sebastián Ramírez 8adbafc076 🔖 Release version 0.101.0 2023-08-04 23:00:17 +02:00
Sebastián Ramírez 19a2c3bb54 ✨ Enable Pydantic's serialization mode for responses, add support for Pydantic's computed_field, better OpenAPI for response models, proper required attributes, better generated clients (#10011)
* ✨ Enable Pydantic's serialization mode for responses

* ✅ Update tests with new Pydantic v2 serialization mode

* ✅ Add a test for Pydantic v2's computed_field
2023-08-04 22:47:07 +02:00
Sebastián Ramírez 8d27236648 🔖 Release version 0.100.1 2023-07-27 21:16:01 +02:00