Sebastián Ramírez
2260afaf43
🐛 Fix failing test, update format for raised errors ( #15804 )
2026-06-20 00:51:31 +00:00
Sebastián Ramírez
4d3dc78b26
✨ Add support for app.frontend("/", directory="dist") and router.frontend("/", directory="dist") ( #15800 )
2026-06-20 00:20:49 +00:00
Sebastián Ramírez
6ac122071d
✨ Add iter_route_contexts() for advanced use cases that used to use router.routes (e.g. Jupyverse) ( #15785 )
2026-06-18 08:49:38 +02:00
Sebastián Ramírez
b78c82262f
🚨 Fix typing checks for APIRoute ( #15765 )
2026-06-15 13:19:51 +02:00
Sebastián Ramírez
d8aad201eb
🐛 Fix bug, allow empty path in path operation in prefixless router ( #15763 )
2026-06-15 12:55:06 +02:00
Sebastián Ramírez
8e1d774cef
♻️ Refactor internals to preserve APIRouter and APIRoute instances ( #15745 )
2026-06-14 14:35:48 +02:00
dependabot[bot]
5d5666bec5
⬆ Bump ty from 0.0.21 to 0.0.34 ( #15443 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: svlandeg <sofie.vanlandeghem@gmail.com >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 16:59:50 +02:00
Sofie Van Landeghem
98b269b51e
👷 Add ty to precommit ( #15091 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com >
2026-03-15 12:44:39 +01:00
Sebastián Ramírez
8a9258b169
🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack ( #15038 )
2026-03-01 19:16:03 +01:00
Sebastián Ramírez
2238155844
✨ Add support for Server Sent Events ( #15030 )
2026-03-01 10:21:52 +01:00
Sebastián Ramírez
749cefdeb1
✨ Add support for streaming JSON Lines and binary data with yield ( #15022 )
2026-02-27 19:56:47 +01:00
Sebastián Ramírez
22354a2530
🔒 ️ Add strict_content_type checking for JSON requests ( #14978 )
2026-02-23 18:45:20 +01:00
Sebastián Ramírez
590a5e5355
✨ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic return type or response model ( #14962 )
2026-02-22 17:07:19 +01:00
Sebastián Ramírez
3da206c06d
🎨 Update internal types for Python 3.10 ( #14898 )
2026-02-11 18:41:21 +00:00
Javier Sánchez Castro
df950111fe
✨ Show a clear error on attempt to include router into itself ( #14258 )
...
Co-authored-by: Javier Sánchez <javier.sanchez.castro@bookline.ai >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com >
2026-02-10 11:58:40 +01:00
Motov Yurii
ed2512a5ec
🐛 Fix on_startup and on_shutdown parameters of APIRouter ( #14873 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-09 17:31:57 +01:00
Sebastián Ramírez
d59fbc3494
♻️ Refactor internals, simplify Pydantic v2/v1 utils, create_model_field, better types for lenient_issubclass ( #14860 )
2026-02-07 08:08:07 +00:00
Sebastián Ramírez
cf55bade7e
♻️ Simplify internals, remove Pydantic v1 only logic, no longer needed ( #14857 )
2026-02-06 19:04:24 +00:00
Sebastián Ramírez
3c49346238
♻️ Refactor internals, cleanup unneeded Pydantic v1 specific logic ( #14856 )
2026-02-06 19:01:05 +01:00
Sebastián Ramírez
f9f7992604
♻️ Re-implement on_event in FastAPI for compatibility with the next Starlette, while keeping backwards compatibility ( #14851 )
2026-02-06 16:18:30 +01:00
Sebastián Ramírez
e300630551
➖ Drop support for pydantic.v1 ( #14609 )
2025-12-27 13:54:56 +01:00
Sebastián Ramírez
535b5daa31
🔊 Add a custom FastAPIDeprecationWarning ( #14605 )
2025-12-26 12:45:20 +00:00
Sebastián Ramírez
6e42bcd8ce
🔊 Add deprecation warnings when using pydantic.v1 ( #14583 )
2025-12-21 17:44:10 +01:00
Sebastián Ramírez
e2cd8a4201
➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's pydantic.v1 ( #14575 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-20 16:55:38 +01:00
Sebastián Ramírez
1c4fc96c91
♻️ Upgrade internal syntax to Python 3.9+ 🎉 ( #14564 )
2025-12-17 21:25:59 +00:00
Savannah Ostrowski
e1117f7550
🚸 Improve tracebacks by adding endpoint metadata ( #14306 )
...
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 >
2025-12-06 12:21:57 +00:00
Sebastián Ramírez
a79ae3d66f
🔥 Remove dangling extra condiitonal no longer needed ( #14435 )
2025-12-02 16:48:46 +00:00
Sebastián Ramírez
247ef32e79
♻️ Refactor internals, update is_coroutine check to reuse internal supported variants (unwrap, check class) ( #14434 )
2025-12-02 13:43:31 +00:00
Sebastián Ramírez
ac438b9934
✨ Add support for dependencies with scopes, support scope="request" for dependencies with yield that exit before the response is sent ( #14262 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-11-03 11:12:49 +01:00
Sebastián Ramírez
d390f2e41f
➕ Migrate internal reference documentation from typing_extensions.Doc to annotated_doc.Doc ( #14222 )
2025-10-23 22:31:35 +02:00
Sebastián Ramírez
d34918abf0
✨ Add support for from pydantic.v1 import BaseModel, mixed Pydantic v1 and v2 models in the same app ( #14168 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-10-11 18:45:54 +02:00
Sebastián Ramírez
e329d78f86
🐛 Fix support for StreamingResponses with dependencies with yield or UploadFiles, close after the response is done ( #14099 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-29 05:29:38 +02:00
secrett2633
c831cdbde2
🐛 Fix inspect.getcoroutinefunction() can break testing with unittest.mock.patch() ( #14022 )
2025-09-20 18:30:34 +02:00
Tamir Duberstein
a95e91e46e
⬆️ Update mypy to 1.14.1 ( #12970 )
...
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com >
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com >
Co-authored-by: svlandeg <svlandeg@github.com >
Co-authored-by: svlandeg <sofie.vanlandeghem@gmail.com >
2025-09-20 14:05:51 +02:00
Sebastián Ramírez
cad6880fd9
⬆️ Upgrade Starlette supported version range to >=0.40.0,<0.48.0 ( #13884 )
2025-07-11 18:15:27 +02:00
Timon
97fdbdd0d8
📝 Update exclude-parameters-from-openapi documentation links ( #13600 )
2025-06-17 10:05:34 +02:00
dependabot[bot]
8c94e97c89
⬆ Bump ruff to 0.9.4 ( #13299 )
...
* ⬆ Bump ruff from 0.6.4 to 0.9.4
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.6.4 to 0.9.4.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.6.4...0.9.4 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* update pre-commit accordingly and make formatting changes
* 🎨 [pre-commit.ci] Auto format from pre-commit.com hooks
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com >
Co-authored-by: svlandeg <sofie.vanlandeghem@gmail.com >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-03-06 13:18:57 +01:00
Felix Fanghaenel
e049fc4ea1
🐛 Fix openapi generation with responses kwarg ( #10895 )
...
Co-authored-by: flxdot <felix.fanghaenel@nitrex.com >
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com >
Co-authored-by: Sławek Ehlert <slawomir.ehlert@gmail.com >
2024-10-12 11:44:57 +02:00
Sebastián Ramírez
aa21814a89
♻️ 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 ( #12117 )
2024-09-05 13:24:36 +02:00
Sebastián Ramírez
d08b95ea57
♻️ Rename internal create_response_field() to create_model_field() as it's used for more than response models ( #12103 )
2024-09-01 01:46:03 +02:00
Sebastián Ramírez
5b7fa3900e
♻️ Refactor and simplify internal data from solve_dependencies() using dataclasses ( #12100 )
2024-08-31 22:52:06 +02:00
Pastukhov Nikita
3a4ac24675
🐛 Ensure that app.include_router merges nested lifespans ( #9630 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com >
2024-08-24 14:09:52 -05:00
Sebastián Ramírez
3a3ad5d66d
⬆️ Upgrade version of Ruff and reformat ( #12032 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-16 23:13:50 -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
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
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
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
c13aa9ed5f
🔥 Remove unnecessary duplicated docstrings ( #10484 )
2023-10-20 12:27:26 +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
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