165 Commits (22381558446c5d1ac376680a6581dd63b3a04119)

Author SHA1 Message Date
Sebastián Ramírez 2238155844
Add support for Server Sent Events (#15030) 3 months ago
Sebastián Ramírez 749cefdeb1
Add support for streaming JSON Lines and binary data with `yield` (#15022) 3 months ago
Sebastián Ramírez 22354a2530
🔒️ Add `strict_content_type` checking for JSON requests (#14978) 3 months ago
Sebastián Ramírez 590a5e5355
Serialize JSON response with Pydantic (in Rust), when there's a Pydantic return type or response model (#14962) 3 months ago
Sebastián Ramírez 3da206c06d
🎨 Update internal types for Python 3.10 (#14898) 4 months ago
Javier Sánchez Castro df950111fe
Show a clear error on attempt to include router into itself (#14258) 4 months ago
Motov Yurii ed2512a5ec
🐛 Fix `on_startup` and `on_shutdown` parameters of `APIRouter` (#14873) 4 months ago
Sebastián Ramírez d59fbc3494
♻️ Refactor internals, simplify Pydantic v2/v1 utils, `create_model_field`, better types for `lenient_issubclass` (#14860) 4 months ago
Sebastián Ramírez cf55bade7e
♻️ Simplify internals, remove Pydantic v1 only logic, no longer needed (#14857) 4 months ago
Sebastián Ramírez 3c49346238
♻️ Refactor internals, cleanup unneeded Pydantic v1 specific logic (#14856) 4 months ago
Sebastián Ramírez f9f7992604
♻️ Re-implement `on_event` in FastAPI for compatibility with the next Starlette, while keeping backwards compatibility (#14851) 4 months ago
Sebastián Ramírez e300630551
Drop support for `pydantic.v1` (#14609) 5 months ago
Sebastián Ramírez 535b5daa31
🔊 Add a custom `FastAPIDeprecationWarning` (#14605) 5 months ago
Sebastián Ramírez 6e42bcd8ce
🔊 Add deprecation warnings when using `pydantic.v1` (#14583) 6 months ago
Sebastián Ramírez e2cd8a4201
Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 6 months ago
Sebastián Ramírez 1c4fc96c91
♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 6 months ago
Savannah Ostrowski e1117f7550
🚸 Improve tracebacks by adding endpoint metadata (#14306) 6 months ago
Sebastián Ramírez a79ae3d66f
🔥 Remove dangling extra condiitonal no longer needed (#14435) 6 months ago
Sebastián Ramírez 247ef32e79
♻️ Refactor internals, update `is_coroutine` check to reuse internal supported variants (unwrap, check class) (#14434) 6 months ago
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) 7 months ago
Sebastián Ramírez d390f2e41f
Migrate internal reference documentation from `typing_extensions.Doc` to `annotated_doc.Doc` (#14222) 7 months ago
Sebastián Ramírez d34918abf0
Add support for `from pydantic.v1 import BaseModel`, mixed Pydantic v1 and v2 models in the same app (#14168) 8 months ago
Sebastián Ramírez e329d78f86
🐛 Fix support for `StreamingResponse`s with dependencies with `yield` or `UploadFile`s, close after the response is done (#14099) 8 months ago
secrett2633 c831cdbde2
🐛 Fix `inspect.getcoroutinefunction()` can break testing with `unittest.mock.patch()` (#14022) 9 months ago
Tamir Duberstein a95e91e46e
⬆️ Update mypy to 1.14.1 (#12970) 9 months ago
Sebastián Ramírez cad6880fd9
⬆️ Upgrade Starlette supported version range to `>=0.40.0,<0.48.0` (#13884) 11 months ago
Timon 97fdbdd0d8
📝 Update exclude-parameters-from-openapi documentation links (#13600) 12 months ago
dependabot[bot] 8c94e97c89
⬆ Bump ruff to 0.9.4 (#13299) 1 year ago
Felix Fanghaenel e049fc4ea1
🐛 Fix openapi generation with responses kwarg (#10895) 2 years ago
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) 2 years ago
Sebastián Ramírez d08b95ea57
♻️ Rename internal `create_response_field()` to `create_model_field()` as it's used for more than response models (#12103) 2 years ago
Sebastián Ramírez 5b7fa3900e
♻️ Refactor and simplify internal data from `solve_dependencies()` using dataclasses (#12100) 2 years ago
Pastukhov Nikita 3a4ac24675
🐛 Ensure that `app.include_router` merges nested lifespans (#9630) 2 years ago
Sebastián Ramírez 3a3ad5d66d
⬆️ Upgrade version of Ruff and reformat (#12032) 2 years ago
Aleksei Kotenko 9c80842cea
♻️ Update mypy (#11049) 2 years ago
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) 2 years ago
Sepehr Shirkhanlu 60e1259ca4
✏️ Fix typo in `fastapi/routing.py` (#10520) 2 years ago
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) 2 years ago
Sebastián Ramírez c13aa9ed5f
🔥 Remove unnecessary duplicated docstrings (#10484) 3 years ago
Sebastián Ramírez 05ca41cfd1
Add reference (code API) docs with PEP 727, add subclass with custom docstrings for `BackgroundTasks`, refactor docs structure (#10392) 3 years ago
ElliottLarsen 5e59acd35b
✏️ Fix typos in comments on internal code in `fastapi/concurrency.py` and `fastapi/routing.py` (#9590) 3 years ago
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) 3 years ago
Sebastián Ramírez 0976185af9
Add support for Pydantic v2 (#9816) 3 years ago
Sebastián Ramírez 7167c77a18
⬆️ Upgrade and fully migrate to Ruff, remove isort, includes a couple of tweaks suggested by the new version of Ruff (#9660) 3 years ago
Paulo Costa d8b8f211e8
Add support for `dependencies` in WebSocket routes (#4534) 3 years ago
Kristján Valur Jónsson ab03f22635
Add exception handler for `WebSocketRequestValidationError` (which also allows to override it) (#6030) 3 years ago
Sebastián Ramírez 25aabe05ce
🎨 Fix types for lifespan, upgrade Starlette to 0.26.1 (#9245) 3 years ago
pre-commit-ci[bot] f04b61bd16
⬆ [pre-commit.ci] pre-commit autoupdate (#5709) 3 years ago
Sebastián Ramírez 8a4cfa52af
⬆️ Upgrade Starlette version, support new `lifespan` with state (#9239) 3 years ago
Jordan Speicher cc9a73c3f8
Add support for `lifespan` async context managers (superseding `startup` and `shutdown` events) (#2944) 3 years ago