Changelogs » Fastapi
PyUp Safety actively tracks 295,363 Python packages for vulnerabilities and notifies you when to upgrade.
Fastapi
0.63.0
Features * ✨ Improve type annotations, add support for mypy --strict, internally and for external packages. PR [2547](https://github.com/tiangolo/fastapi/pull/2547) by [tiangolo](https://github.com/tiangolo). Breaking changes * ⬆️ Upgrade Uvicorn when installing `fastapi[all]` to the latest version including `uvloop`, the new range is `uvicorn[standard] >=0.12.0,<0.14.0`. PR [2548](https://github.com/tiangolo/fastapi/pull/2548) by [tiangolo](https://github.com/tiangolo). Fixes * 🐛 PR [2547](https://github.com/tiangolo/fastapi/pull/2547) (read above) also fixes some false-positive mypy errors with `callbacks` parameters and when using the `OAuth2` class. Docs * 📝 Update Uvicorn installation instructions to use uvicorn[standard] (includes uvloop). PR [2543](https://github.com/tiangolo/fastapi/pull/2543) by [tiangolo](https://github.com/tiangolo). * 📝 Update title for Deta tutorial. PR [2466](https://github.com/tiangolo/fastapi/pull/2466) by [tiangolo](https://github.com/tiangolo). * 👥 Update FastAPI People. PR [2454](https://github.com/tiangolo/fastapi/pull/2454) by [github-actions[bot]](https://github.com/apps/github-actions). Translations * 🌐 Add docs lang selector widget. PR [2542](https://github.com/tiangolo/fastapi/pull/2542) by [tiangolo](https://github.com/tiangolo). * 🌐 Add Chinese translation for Tutorial - Response Status Code. PR [2442](https://github.com/tiangolo/fastapi/pull/2442) by [waynerv](https://github.com/waynerv). * 🌐 Start translation of the documentation for the Albanian language. PR [2516](https://github.com/tiangolo/fastapi/pull/2516) by [vjanz](https://github.com/vjanz). * 🌐 Add Chinese translation for Tutorial - Extra Models. PR [2416](https://github.com/tiangolo/fastapi/pull/2416) by [waynerv](https://github.com/waynerv). * 🌐 Add Chinese translation for Tutorial - Response Model. PR [2414](https://github.com/tiangolo/fastapi/pull/2414) by [waynerv](https://github.com/waynerv). * 🌐 Add Chinese translation for Tutorial - Schema Extra Example. PR [2411](https://github.com/tiangolo/fastapi/pull/2411) by [maoyibo](https://github.com/maoyibo). * 🌐 Add Korean translation for Index. PR [2192](https://github.com/tiangolo/fastapi/pull/2192) by [hard-coders](https://github.com/hard-coders). * 🌐 Add Japanese translation for Advanced User Guide - Additional Status Codes. PR [2145](https://github.com/tiangolo/fastapi/pull/2145) by [Attsun1031](https://github.com/Attsun1031). Internal * 🐛 Fix docs overrides directory for translations. PR [2541](https://github.com/tiangolo/fastapi/pull/2541) by [tiangolo](https://github.com/tiangolo). * ➖ Remove Typer as a docs building dependency (covered by typer-cli) to fix pip resolver conflicts. PR [2539](https://github.com/tiangolo/fastapi/pull/2539) by [tiangolo](https://github.com/tiangolo). * ✨ Add newsletter: FastAPI and friends. PR [2509](https://github.com/tiangolo/fastapi/pull/2509) by [tiangolo](https://github.com/tiangolo). * ✨ Add new Gold Sponsor: InvestSuite 🎉. PR [2508](https://github.com/tiangolo/fastapi/pull/2508) by [tiangolo](https://github.com/tiangolo). * 🔧 Add issue template configs. PR [2476](https://github.com/tiangolo/fastapi/pull/2476) by [tiangolo](https://github.com/tiangolo).
0.62.0
Features * ✨ Add support for shared/top-level parameters (dependencies, tags, etc). PR [2434](https://github.com/tiangolo/fastapi/pull/2434) by [tiangolo](https://github.com/tiangolo). Up to now, for several options, the only way to apply them to a group of *path operations* was in `include_router`. That works well, but the call to `app.include_router()` or `router.include_router()` is normally done in another file. That means that, for example, to apply authentication to all the *path operations* in a router it would end up being done in a different file, instead of keeping related logic together. Setting options in `include_router` still makes sense in some cases, for example, to override or increase configurations from a third party router included in an app. But in a router that is part of a bigger application, it would probably make more sense to add those settings when creating the `APIRouter`. **In `FastAPI`** This allows setting the (mostly new) parameters (additionally to the already existing parameters): * `default_response_class`: updated to handle defaults in `APIRouter` and `include_router`. * `dependencies`: to include ✨ top-level dependencies ✨ that apply to the whole application. E.g. to add global authentication. * `callbacks`: OpenAPI callbacks that apply to all the *path operations*. * `deprecated`: to mark all the *path operations* as deprecated. 🤷 * `include_in_schema`: to allow excluding all the *path operations* from the OpenAPI schema. * `responses`: OpenAPI responses that apply to all the *path operations*. For example: Python from fastapi import FastAPI, Depends async def some_dependency(): return app = FastAPI(dependencies=[Depends(some_dependency)]) **In `APIRouter`** This allows setting the (mostly new) parameters (additionally to the already existing parameters): * `default_response_class`: updated to handle defaults in `APIRouter` and `include_router`. For example, it's not needed to set it explicitly when [creating callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/). * `dependencies`: to include ✨ router-level dependencies ✨ that apply to all the *path operations* in a router. Up to now, this was only possible with `include_router`. * `callbacks`: OpenAPI callbacks that apply to all the *path operations* in this router. * `deprecated`: to mark all the *path operations* in a router as deprecated. * `include_in_schema`: to allow excluding all the *path operations* in a router from the OpenAPI schema. * `responses`: OpenAPI responses that apply to all the *path operations* in a router. * `prefix`: to set the path prefix for a router. Up to now, this was only possible when calling `include_router`. * `tags`: OpenAPI tags to apply to all the *path operations* in this router. For example: Python from fastapi import APIRouter, Depends async def some_dependency(): return router = APIRouter(prefix="/users", dependencies=[Depends(some_dependency)]) **In `include_router`** Most of these settings are now supported in `APIRouter`, which normally lives closer to the related code, so it is recommended to use `APIRouter` when possible. But `include_router` is still useful to, for example, adding options (like `dependencies`, `prefix`, and `tags`) when including a third party router, or a generic router that is shared between several projects. This PR allows setting the (mostly new) parameters (additionally to the already existing parameters): * `default_response_class`: updated to handle defaults in `APIRouter` and `FastAPI`. * `deprecated`: to mark all the *path operations* in a router as deprecated in OpenAPI. * `include_in_schema`: to allow disabling all the *path operations* from showing in the OpenAPI schema. * `callbacks`: OpenAPI callbacks that apply to all the *path operations* in this router. Note: all the previous parameters are still there, so it's still possible to declare `dependencies` in `include_router`. Breaking Changes * PR [2434](https://github.com/tiangolo/fastapi/pull/2434) includes several improvements that shouldn't affect normal use cases, but could affect in advanced scenarios: * If you are testing the generated OpenAPI (you shouldn't, FastAPI already tests it extensively for you): the order for `tags` in `include_router` and *path operations* was updated for consistency, but it's a simple order change. * If you have advanced custom logic to access each route's `route.response_class`, or the `router.default_response_class`, or the `app.default_response_class`: the default value for `response_class` in `APIRoute` and for `default_response_class` in `APIRouter` and `FastAPI` is now a `DefaultPlaceholder` used internally to handle and solve default values and overrides. The actual response class inside the `DefaultPlaceholder` is available at `route.response_class.value`. Docs * PR [2434](https://github.com/tiangolo/fastapi/pull/2434) (above) includes new or updated docs: * <a href="https://fastapi.tiangolo.com/advanced/openapi-callbacks/" class="external-link" target="_blank">Advanced User Guide - OpenAPI Callbacks</a>. * <a href="https://fastapi.tiangolo.com/tutorial/bigger-applications/" class="external-link" target="_blank">Tutorial - Bigger Applications</a>. * <a href="https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/" class="external-link" target="_blank">Tutorial - Dependencies - Dependencies in path operation decorators</a>. * <a href="https://fastapi.tiangolo.com/tutorial/dependencies/global-dependencies/" class="external-link" target="_blank">Tutorial - Dependencies - Global Dependencies</a>. * 📝 Add FastAPI monitoring blog post to External Links. PR [2324](https://github.com/tiangolo/fastapi/pull/2324) by [louisguitton](https://github.com/louisguitton). * ✏️ Fix typo in Deta tutorial. PR [2320](https://github.com/tiangolo/fastapi/pull/2320) by [tiangolo](https://github.com/tiangolo). * ✨ Add Discord chat. PR [2322](https://github.com/tiangolo/fastapi/pull/2322) by [tiangolo](https://github.com/tiangolo). * 📝 Fix image links for sponsors. PR [2304](https://github.com/tiangolo/fastapi/pull/2304) by [tiangolo](https://github.com/tiangolo). Translations * 🌐 Add Japanese translation for Advanced - Custom Response. PR [2193](https://github.com/tiangolo/fastapi/pull/2193) by [Attsun1031](https://github.com/Attsun1031). * 🌐 Add Chinese translation for Benchmarks. PR [2119](https://github.com/tiangolo/fastapi/pull/2119) by [spaceack](https://github.com/spaceack). * 🌐 Add Chinese translation for Tutorial - Body - Nested Models. PR [1609](https://github.com/tiangolo/fastapi/pull/1609) by [waynerv](https://github.com/waynerv). * 🌐 Add Chinese translation for Advanced - Custom Response. PR [1459](https://github.com/tiangolo/fastapi/pull/1459) by [RunningIkkyu](https://github.com/RunningIkkyu). * 🌐 Add Chinese translation for Advanced - Return a Response Directly. PR [1452](https://github.com/tiangolo/fastapi/pull/1452) by [RunningIkkyu](https://github.com/RunningIkkyu). * 🌐 Add Chinese translation for Advanced - Additional Status Codes. PR [1451](https://github.com/tiangolo/fastapi/pull/1451) by [RunningIkkyu](https://github.com/RunningIkkyu). * 🌐 Add Chinese translation for Advanced - Path Operation Advanced Configuration. PR [1447](https://github.com/tiangolo/fastapi/pull/1447) by [RunningIkkyu](https://github.com/RunningIkkyu). * 🌐 Add Chinese translation for Advanced User Guide - Intro. PR [1445](https://github.com/tiangolo/fastapi/pull/1445) by [RunningIkkyu](https://github.com/RunningIkkyu). Internal * 🔧 Update TestDriven link to course in sponsors section. PR [2435](https://github.com/tiangolo/fastapi/pull/2435) by [tiangolo](https://github.com/tiangolo). * 🍱 Update sponsor logos. PR [2418](https://github.com/tiangolo/fastapi/pull/2418) by [tiangolo](https://github.com/tiangolo). * 💚 Fix disabling install of Material for MkDocs Insiders in forks, strike 1 ⚾. PR [2340](https://github.com/tiangolo/fastapi/pull/2340) by [tiangolo](https://github.com/tiangolo). * 🐛 Fix disabling Material for MkDocs Insiders install in forks. PR [2339](https://github.com/tiangolo/fastapi/pull/2339) by [tiangolo](https://github.com/tiangolo). * ✨ Add silver sponsor WeTransfer. PR [2338](https://github.com/tiangolo/fastapi/pull/2338) by [tiangolo](https://github.com/tiangolo). * ✨ Set up and enable Material for MkDocs Insiders for the docs. PR [2325](https://github.com/tiangolo/fastapi/pull/2325) by [tiangolo](https://github.com/tiangolo).
0.61.2
Fixes * 📌 Relax Swagger UI version pin. PR [2089](https://github.com/tiangolo/fastapi/pull/2089) by [jmriebold](https://github.com/jmriebold). * 🐛 Fix bug overriding custom HTTPException and RequestValidationError from exception_handlers. PR [1924](https://github.com/tiangolo/fastapi/pull/1924) by [uriyyo](https://github.com/uriyyo). * ✏️ Fix typo on dependencies utils and cleanup unused variable. PR [1912](https://github.com/tiangolo/fastapi/pull/1912) by [Kludex](https://github.com/Kludex). Docs * ✏️ Fix typo in Tutorial - Path Parameters. PR [2231](https://github.com/tiangolo/fastapi/pull/2231) by [mariacamilagl](https://github.com/mariacamilagl). * ✏ Fix a stylistic error in docs. PR [2206](https://github.com/tiangolo/fastapi/pull/2206) by [ddobrinskiy](https://github.com/ddobrinskiy). * ✏ Fix capitalizaiton typo in docs. PR [2204](https://github.com/tiangolo/fastapi/pull/2204) by [imba-tjd](https://github.com/imba-tjd). * ✏ Fix typo in docs. PR [2179](https://github.com/tiangolo/fastapi/pull/2179) by [ammarasmro](https://github.com/ammarasmro). * 📝 Update/fix links in docs to use HTTPS. PR [2165](https://github.com/tiangolo/fastapi/pull/2165) by [imba-tjd](https://github.com/imba-tjd). * ✏ Fix typos and add rewording in docs. PR [2159](https://github.com/tiangolo/fastapi/pull/2159) by [nukopy](https://github.com/nukopy). * 📝 Fix code consistency in examples for Tutorial - User Guide - Path Parameters. PR [2158](https://github.com/tiangolo/fastapi/pull/2158) by [nukopy](https://github.com/nukopy). * 📝 Fix renamed parameter `content_type` typo. PR [2135](https://github.com/tiangolo/fastapi/pull/2135) by [TeoZosa](https://github.com/TeoZosa). * ✏ Fix minor typos in docs. PR [2122](https://github.com/tiangolo/fastapi/pull/2122) by [TeoZosa](https://github.com/TeoZosa). * ✏ Fix typos in docs and source examples. PR [2102](https://github.com/tiangolo/fastapi/pull/2102) by [AdrianDeAnda](https://github.com/AdrianDeAnda). * ✏ Fix incorrect Celery URLs in docs. PR [2100](https://github.com/tiangolo/fastapi/pull/2100) by [CircleOnCircles](https://github.com/CircleOnCircles). * 📝 Simplify intro to Python Types, all currently supported Python versions include type hints 🎉. PR [2085](https://github.com/tiangolo/fastapi/pull/2085) by [ninjaaron](https://github.com/ninjaaron). * 📝 Fix example code with sets in Tutorial - Body - Nested Models 3. PR [2054](https://github.com/tiangolo/fastapi/pull/2054) by [hitrust](https://github.com/hitrust). * 📝 Fix example code with sets in Tutorial - Body - Nested Models 2. PR [2053](https://github.com/tiangolo/fastapi/pull/2053) by [hitrust](https://github.com/hitrust). * 📝 Fix example code with sets in Tutorial - Body - Nested Models. PR [2052](https://github.com/tiangolo/fastapi/pull/2052) by [hitrust](https://github.com/hitrust). * ✏ Fix typo in Benchmarks. PR [1995](https://github.com/tiangolo/fastapi/pull/1995) by [AlejoAsd](https://github.com/AlejoAsd). * 📝 Add note in CORS tutorial about allow_origins with ["*"] and allow_credentials. PR [1895](https://github.com/tiangolo/fastapi/pull/1895) by [dsmurrell](https://github.com/dsmurrell). * 📝 Add deployment to Deta, the first gold sponsor 🎉. PR [2303](https://github.com/tiangolo/fastapi/pull/2303) by [tiangolo](https://github.com/tiangolo). * 👥 Update FastAPI People. PR [2282](https://github.com/tiangolo/fastapi/pull/2282) by [github-actions[bot]](https://github.com/apps/github-actions). * ✏️ Fix uppercase in Tutorial - Query parameters. PR [2245](https://github.com/tiangolo/fastapi/pull/2245) by [mariacamilagl](https://github.com/mariacamilagl). * 📝 Add articles to External Links. PR [2247](https://github.com/tiangolo/fastapi/pull/2247) by [tiangolo](https://github.com/tiangolo). * ✏ Fix typo in Spanish tutorial index. PR [2020](https://github.com/tiangolo/fastapi/pull/2020) by [aviloncho](https://github.com/aviloncho). Translations * 🌐 Add Japanese translation for Advanced Tutorial - Response Directly. PR [2191](https://github.com/tiangolo/fastapi/pull/2191) by [Attsun1031](https://github.com/Attsun1031). * 📝 Add Japanese translation for Tutorial - Security - First Steps. PR [2153](https://github.com/tiangolo/fastapi/pull/2153) by [komtaki](https://github.com/komtaki). * 🌐 Add Japanese translation for Tutorial - Query Parameters and String Validations. PR [1901](https://github.com/tiangolo/fastapi/pull/1901) by [SwftAlpc](https://github.com/SwftAlpc). * 🌐 Add Portuguese translation for External Links. PR [1443](https://github.com/tiangolo/fastapi/pull/1443) by [Serrones](https://github.com/Serrones). * 🌐 Add Japanese translation for Tutorial - CORS. PR [2125](https://github.com/tiangolo/fastapi/pull/2125) by [tokusumi](https://github.com/tokusumi). * 🌐 Add Japanese translation for Contributing. PR [2067](https://github.com/tiangolo/fastapi/pull/2067) by [komtaki](https://github.com/komtaki). * 🌐 Add Japanese translation for Project Generation. PR [2050](https://github.com/tiangolo/fastapi/pull/2050) by [tokusumi](https://github.com/tokusumi). * 🌐 Add Japanese translation for Alternatives. PR [2043](https://github.com/tiangolo/fastapi/pull/2043) by [Attsun1031](https://github.com/Attsun1031). * 🌐 Add Japanese translation for History Design and Future. PR [2002](https://github.com/tiangolo/fastapi/pull/2002) by [komtaki](https://github.com/komtaki). * 🌐 Add Japanese translation for Benchmarks. PR [1992](https://github.com/tiangolo/fastapi/pull/1992) by [komtaki](https://github.com/komtaki). * 🌐 Add Japanese translation for Tutorial - Header Parameters. PR [1935](https://github.com/tiangolo/fastapi/pull/1935) by [SwftAlpc](https://github.com/SwftAlpc). * 🌐 Add Portuguese translation for Tutorial - First Steps. PR [1861](https://github.com/tiangolo/fastapi/pull/1861) by [jessicapaz](https://github.com/jessicapaz). * 🌐 Add Portuguese translation for Python Types. PR [1796](https://github.com/tiangolo/fastapi/pull/1796) by [izaguerreiro](https://github.com/izaguerreiro). * 🌐 Add Japanese translation for Help FastAPI. PR [1692](https://github.com/tiangolo/fastapi/pull/1692) by [tokusumi](https://github.com/tokusumi). * 🌐 Add Japanese translation for Tutorial - Body. PR [1683](https://github.com/tiangolo/fastapi/pull/1683) by [tokusumi](https://github.com/tokusumi). * 🌐 Add Japanese translation for Tutorial - Query Params. PR [1674](https://github.com/tiangolo/fastapi/pull/1674) by [tokusumi](https://github.com/tokusumi). * 🌐 Add Japanese translation for tutorial/path-params.md. PR [1671](https://github.com/tiangolo/fastapi/pull/1671) by [tokusumi](https://github.com/tokusumi). * 🌐 Add Japanese translation for tutorial/first-steps.md. PR [1658](https://github.com/tiangolo/fastapi/pull/1658) by [tokusumi](https://github.com/tokusumi). * 🌐 Add Japanese translation for tutorial/index.md. PR [1656](https://github.com/tiangolo/fastapi/pull/1656) by [tokusumi](https://github.com/tokusumi). * 🌐 Add translation to Portuguese for Project Generation. PR [1602](https://github.com/tiangolo/fastapi/pull/1602) by [Serrones](https://github.com/Serrones). * 🌐 Add Japanese translation for Features. PR [1625](https://github.com/tiangolo/fastapi/pull/1625) by [tokusumi](https://github.com/tokusumi). * 🌐 Initialize new language Korean for translations. PR [2018](https://github.com/tiangolo/fastapi/pull/2018) by [hard-coders](https://github.com/hard-coders). * 🌐 Add Portuguese translation of Deployment. PR [1374](https://github.com/tiangolo/fastapi/pull/1374) by [Serrones](https://github.com/Serrones). Internal * 🔥 Cleanup after upgrade for Docs Previews GitHub Action. PR [2248](https://github.com/tiangolo/fastapi/pull/2248) by [tiangolo](https://github.com/tiangolo). * 🐛 Fix CI docs preview, unzip docs. PR [2246](https://github.com/tiangolo/fastapi/pull/2246) by [tiangolo](https://github.com/tiangolo). * ✨ Add instant docs deploy previews for PRs from forks. PR [2244](https://github.com/tiangolo/fastapi/pull/2244) by [tiangolo](https://github.com/tiangolo). * ⚡️ Build docs for languages in parallel in subprocesses to speed up CI. PR [2242](https://github.com/tiangolo/fastapi/pull/2242) by [tiangolo](https://github.com/tiangolo). * 🐛 Fix docs order generation for partial translations. PR [2238](https://github.com/tiangolo/fastapi/pull/2238) by [tiangolo](https://github.com/tiangolo). * 👥 Update FastAPI People. PR [2202](https://github.com/tiangolo/fastapi/pull/2202) by [github-actions[bot]](https://github.com/apps/github-actions). * ♻️ Update FastAPI People GitHub Action to send the PR as github-actions. PR [2201](https://github.com/tiangolo/fastapi/pull/2201) by [tiangolo](https://github.com/tiangolo). * 🔧 Update FastAPI People GitHub Action config, run monthly. PR [2199](https://github.com/tiangolo/fastapi/pull/2199) by [tiangolo](https://github.com/tiangolo). * 🐛 Fix FastAPI People GitHub Action Docker dependency, strike 1 ⚾. PR [2198](https://github.com/tiangolo/fastapi/pull/2198) by [tiangolo](https://github.com/tiangolo). * 🐛 Fix FastAPI People GitHub Action Docker dependencies. PR [2197](https://github.com/tiangolo/fastapi/pull/2197) by [tiangolo](https://github.com/tiangolo). * 🐛 Fix FastAPI People GitHub Action when there's nothing to change. PR [2196](https://github.com/tiangolo/fastapi/pull/2196) by [tiangolo](https://github.com/tiangolo). * 👥 Add new section FastAPI People. PR [2195](https://github.com/tiangolo/fastapi/pull/2195) by [tiangolo](https://github.com/tiangolo). * ⬆️ Upgrade GitHub Action Latest Changes. PR [2190](https://github.com/tiangolo/fastapi/pull/2190) by [tiangolo](https://github.com/tiangolo). * ⬆️ Upgrade GitHub Action Label Approved. PR [2189](https://github.com/tiangolo/fastapi/pull/2189) by [tiangolo](https://github.com/tiangolo). * 🔧 Update GitHub Action Label Approved, run at 12:00. PR [2185](https://github.com/tiangolo/fastapi/pull/2185) by [tiangolo](https://github.com/tiangolo). * 👷 Upgrade GitHub Action Latest Changes. PR [2184](https://github.com/tiangolo/fastapi/pull/2184) by [tiangolo](https://github.com/tiangolo). * 👷 Set GitHub Action Label Approved to run daily, not every minute. PR [2163](https://github.com/tiangolo/fastapi/pull/2163) by [tiangolo](https://github.com/tiangolo). * 🔥 Remove pr-approvals GitHub Action as it's not compatible with forks. Use the new one. PR [2162](https://github.com/tiangolo/fastapi/pull/2162) by [tiangolo](https://github.com/tiangolo). * 👷 Add GitHub Action Latest Changes. PR [2160](https://github.com/tiangolo/fastapi/pull/2160). * 👷 Add GitHub Action Label Approved. PR [2161](https://github.com/tiangolo/fastapi/pull/2161).
0.61.1
Fixes * Fix issues using `jsonable_encoder` with SQLAlchemy models directly. PR [1987](https://github.com/tiangolo/fastapi/pull/1987). Docs * Fix typo in NoSQL docs. PR [1980](https://github.com/tiangolo/fastapi/pull/1980) by [facundojmaero](https://github.com/facundojmaero). Translations * Add translation for [main page to Japanese](https://fastapi.tiangolo.com/ja/) PR [1571](https://github.com/tiangolo/fastapi/pull/1571) by [ryuckel](https://github.com/ryuckel). * Initialize French translations. PR [1975](https://github.com/tiangolo/fastapi/pull/1975) by [JulianMaurin-BM](https://github.com/JulianMaurin-BM). * Initialize Turkish translations. PR [1905](https://github.com/tiangolo/fastapi/pull/1905) by [ycd](https://github.com/ycd). Internal * Improve docs maintainability by updating `hl_lines` syntax to use ranges. PR [1863](https://github.com/tiangolo/fastapi/pull/1863) by [la-mar](https://github.com/la-mar).
0.61.0
Features * Add support for injecting `HTTPConnection` (as `Request` and `WebSocket`). Useful for sharing app state in dependencies. PR [1827](https://github.com/tiangolo/fastapi/pull/1827) by [nsidnev](https://github.com/nsidnev). * Export `WebSocketDisconnect` and add example handling WebSocket disconnections to docs. PR [1822](https://github.com/tiangolo/fastapi/pull/1822) by [rkbeatss](https://github.com/rkbeatss). Breaking Changes * Require Pydantic > `1.0.0`. * Remove support for deprecated Pydantic `0.32.2`. This improves maintainability and allows new features. * In `FastAPI` and `APIRouter`: * Remove *path operation decorators* related/deprecated parameter `response_model_skip_defaults` (use `response_model_exclude_unset` instead). * Change *path operation decorators* parameter default for `response_model_exclude` from `set()` to `None` (as is in Pydantic). * In `encoders.jsonable_encoder`: * Remove deprecated `skip_defaults`, use instead `exclude_unset`. * Set default of `exclude` from `set()` to `None` (as is in Pydantic). * PR [1862](https://github.com/tiangolo/fastapi/pull/1862). * In `encoders.jsonable_encoder` remove parameter `sqlalchemy_safe`. * It was an early hack to allow returning SQLAlchemy models, but it was never documented, and the recommended way is using Pydantic's `orm_mode` as described in the tutorial: [SQL (Relational) Databases](https://fastapi.tiangolo.com/tutorial/sql-databases/). * PR [1864](https://github.com/tiangolo/fastapi/pull/1864). Docs * Add link to the course by TestDriven.io: [Test-Driven Development with FastAPI and Docker](https://testdriven.io/courses/tdd-fastapi/). PR [1860](https://github.com/tiangolo/fastapi/pull/1860). * Fix empty log message in docs example about handling errors. PR [1815](https://github.com/tiangolo/fastapi/pull/1815) by [manlix](https://github.com/manlix). * Reword text to reduce ambiguity while not being gender-specific. PR [1824](https://github.com/tiangolo/fastapi/pull/1824) by [Mause](https://github.com/Mause). Internal * Add Flake8 linting. Original PR [1774](https://github.com/tiangolo/fastapi/pull/1774) by [MashhadiNima](https://github.com/MashhadiNima). * Disable Gitter bot, as it's currently broken, and Gitter's response doesn't show the problem. PR [1853](https://github.com/tiangolo/fastapi/pull/1853).
0.60.2
* Fix typo in docs for query parameters. PR [1832](https://github.com/tiangolo/fastapi/pull/1832) by [ycd](https://github.com/ycd). * Add docs about [Async Tests](https://fastapi.tiangolo.com/advanced/async-tests/). PR [1619](https://github.com/tiangolo/fastapi/pull/1619) by [empicano](https://github.com/empicano). * Raise an exception when using form data (`Form`, `File`) without having `python-multipart` installed. * Up to now the application would run, and raise an exception only when receiving a request with form data, the new behavior, raising early, will prevent from deploying applications with broken dependencies. * It also detects if the correct package `python-multipart` is installed instead of the incorrect `multipart` (both importable as `multipart`). * PR [1851](https://github.com/tiangolo/fastapi/pull/1851) based on original PR [1627](https://github.com/tiangolo/fastapi/pull/1627) by [chrisngyn](https://github.com/chrisngyn), [YKo20010](https://github.com/YKo20010), [kx-chen](https://github.com/kx-chen). * Re-enable Gitter releases bot. PR [1831](https://github.com/tiangolo/fastapi/pull/1831). * Add link to async SQL databases tutorial from main SQL tutorial. PR [1813](https://github.com/tiangolo/fastapi/pull/1813) by [short2strings](https://github.com/short2strings). * Fix typo in tutorial about behind a proxy. PR [1807](https://github.com/tiangolo/fastapi/pull/1807) by [toidi](https://github.com/toidi). * Fix typo in Portuguese docs. PR [1795](https://github.com/tiangolo/fastapi/pull/1795) by [izaguerreiro](https://github.com/izaguerreiro). * Add translations setup for Ukrainian. PR [1830](https://github.com/tiangolo/fastapi/pull/1830). * Add external link [Build And Host Fast Data Science Applications Using FastAPI](https://towardsdatascience.com/build-and-host-fast-data-science-applications-using-fastapi-823be8a1d6a0). PR [1786](https://github.com/tiangolo/fastapi/pull/1786) by [Kludex](https://github.com/Kludex). * Fix encoding of Pydantic models that inherit from others models with custom `json_encoders`. PR [1769](https://github.com/tiangolo/fastapi/pull/1769) by [henrybetts](https://github.com/henrybetts). * Simplify and improve `jsonable_encoder`. PR [1754](https://github.com/tiangolo/fastapi/pull/1754) by [MashhadiNima](https://github.com/MashhadiNima). * Simplify internal code syntax in several points. PR [1753](https://github.com/tiangolo/fastapi/pull/1753) by [uriyyo](https://github.com/uriyyo). * Improve internal typing, declare `Optional` parameters. PR [1731](https://github.com/tiangolo/fastapi/pull/1731) by [MashhadiNima](https://github.com/MashhadiNima). * Add external link [Deploy FastAPI on Azure App Service](https://www.tutlinks.com/deploy-fastapi-on-azure/) to docs. PR [1726](https://github.com/tiangolo/fastapi/pull/1726) by [windson](https://github.com/windson). * Add link to Starlette docs about WebSocket testing. PR [1717](https://github.com/tiangolo/fastapi/pull/1717) by [hellocoldworld](https://github.com/hellocoldworld). * Refactor generating dependant, merge for loops. PR [1714](https://github.com/tiangolo/fastapi/pull/1714) by [Bloodielie](https://github.com/Bloodielie). * Update example for templates with Jinja to include HTML media type. PR [1690](https://github.com/tiangolo/fastapi/pull/1690) by [frafra](https://github.com/frafra). * Fix typos in docs for security. PR [1678](https://github.com/tiangolo/fastapi/pull/1678) by [nilslindemann](https://github.com/nilslindemann). * Fix typos in docs for dependencies. PR [1675](https://github.com/tiangolo/fastapi/pull/1675) by [nilslindemann](https://github.com/nilslindemann). * Fix type annotation for `**extra` parameters in `FastAPI`. PR [1659](https://github.com/tiangolo/fastapi/pull/1659) by [bharel](https://github.com/bharel). * Bump MkDocs Material to fix docs in browsers with dark mode. PR [1789](https://github.com/tiangolo/fastapi/pull/1789) by [adriencaccia](https://github.com/adriencaccia). * Remove docs preview comment from each commit. PR [1826](https://github.com/tiangolo/fastapi/pull/1826). * Update GitHub context extraction for Gitter notification bot. PR [1766](https://github.com/tiangolo/fastapi/pull/1766).
0.60.1 not secure
* Add debugging logs for GitHub actions to introspect GitHub hidden context. PR [1764](https://github.com/tiangolo/fastapi/pull/1764). * Use OS preference theme for online docs. PR [1760](https://github.com/tiangolo/fastapi/pull/1760) by [adriencaccia](https://github.com/adriencaccia). * Upgrade Starlette to version `0.13.6` to handle a vulnerability when using static files in Windows. PR [1759](https://github.com/tiangolo/fastapi/pull/1759) by [jamesag26](https://github.com/jamesag26). * Pin Swagger UI temporarily, waiting for a fix for [swagger-api/swagger-ui6249](https://github.com/swagger-api/swagger-ui/issues/6249). PR [1763](https://github.com/tiangolo/fastapi/pull/1763). * Update GitHub Actions, use commit from PR for docs preview, not commit from pre-merge. PR [1761](https://github.com/tiangolo/fastapi/pull/1761). * Update GitHub Actions, refactor Gitter bot. PR [1746](https://github.com/tiangolo/fastapi/pull/1746).
0.60.0 not secure
* Add GitHub Action to watch for missing preview docs and trigger a preview deploy. PR [1740](https://github.com/tiangolo/fastapi/pull/1740). * Add custom GitHub Action to get artifact with docs preview. PR [1739](https://github.com/tiangolo/fastapi/pull/1739). * Add new GitHub Actions to preview docs from PRs. PR [1738](https://github.com/tiangolo/fastapi/pull/1738). * Add XML test coverage to support GitHub Actions. PR [1737](https://github.com/tiangolo/fastapi/pull/1737). * Update badges and remove Travis now that GitHub Actions is the main CI. PR [1736](https://github.com/tiangolo/fastapi/pull/1736). * Add GitHub Actions for CI, move from Travis. PR [1735](https://github.com/tiangolo/fastapi/pull/1735). * Add support for adding OpenAPI schema for GET requests with a body. PR [1626](https://github.com/tiangolo/fastapi/pull/1626) by [victorphoenix3](https://github.com/victorphoenix3).
0.59.0 not secure
* Fix typo in docstring for OAuth2 utils. PR [1621](https://github.com/tiangolo/fastapi/pull/1621) by [tomarv2](https://github.com/tomarv2). * Update JWT docs to use Python-jose instead of PyJWT. Initial PR [1610](https://github.com/tiangolo/fastapi/pull/1610) by [asheux](https://github.com/asheux). * Fix/re-enable search bar in docs. PR [1703](https://github.com/tiangolo/fastapi/pull/1703). * Auto-generate a "server" in OpenAPI `servers` when there's a `root_path` instead of prefixing all the `paths`: * Add a new parameter for `FastAPI` classes: `root_path_in_servers` to disable the auto-generation of `servers`. * New docs about `root_path` and `servers` in [Additional Servers](https://fastapi.tiangolo.com/advanced/behind-a-proxy/additional-servers). * Update OAuth2 examples to use a relative URL for `tokenUrl="token"` to make sure those examples keep working as-is even when behind a reverse proxy. * Initial PR [1596](https://github.com/tiangolo/fastapi/pull/1596) by [rkbeatss](https://github.com/rkbeatss). * Fix typo/link in External Links. PR [1702](https://github.com/tiangolo/fastapi/pull/1702). * Update handling of [External Links](https://fastapi.tiangolo.com/external-links/) to use a data file and allow translating the headers without becoming obsolete quickly when new links are added. PR [https://github.com/tiangolo/fastapi/pull/1701](https://github.com/tiangolo/fastapi/pull/1701). * Add external link [Machine learning model serving in Python using FastAPI and Streamlit](https://davidefiocco.github.io/2020/06/27/streamlit-fastapi-ml-serving.html) to docs. PR [1669](https://github.com/tiangolo/fastapi/pull/1669) by [davidefiocco](https://github.com/davidefiocco). * Add note in docs on order in Pydantic Unions. PR [1591](https://github.com/tiangolo/fastapi/pull/1591) by [kbanc](https://github.com/kbanc). * Improve support for tests in editor. PR [1699](https://github.com/tiangolo/fastapi/pull/1699). * Pin dependencies. PR [1697](https://github.com/tiangolo/fastapi/pull/1697). * Update isort to version 5.x.x. PR [1670](https://github.com/tiangolo/fastapi/pull/1670) by [asheux](https://github.com/asheux).
0.58.1 not secure
* Add link in docs to Pydantic data types. PR [1612](https://github.com/tiangolo/fastapi/pull/1612) by [tayoogunbiyi](https://github.com/tayoogunbiyi). * Fix link in warning logs for `openapi_prefix`. PR [1611](https://github.com/tiangolo/fastapi/pull/1611) by [bavaria95](https://github.com/bavaria95). * Fix bad link in docs. PR [1603](https://github.com/tiangolo/fastapi/pull/1603) by [molto0504](https://github.com/molto0504). * Add Vim temporary files to `.gitignore` for contributors using Vim. PR [1590](https://github.com/tiangolo/fastapi/pull/1590) by [asheux](https://github.com/asheux). * Fix typo in docs for sub-applications. PR [1578](https://github.com/tiangolo/fastapi/pull/1578) by [schlpbch](https://github.com/schlpbch). * Use `Optional` in all the examples in the docs. Original PR [1574](https://github.com/tiangolo/fastapi/pull/1574) by [chrisngyn](https://github.com/chrisngyn), [kx-chen](https://github.com/kx-chen), [YKo20010](https://github.com/YKo20010). Updated and merged PR [1644](https://github.com/tiangolo/fastapi/pull/1644). * Update tests and handling of `response_model_by_alias`. PR [1642](https://github.com/tiangolo/fastapi/pull/1642). * Add translation to Chinese for [Body - Fields - 请求体 - 字段](https://fastapi.tiangolo.com/zh/tutorial/body-fields/). PR [1569](https://github.com/tiangolo/fastapi/pull/1569) by [waynerv](https://github.com/waynerv). * Update Chinese translation of main page. PR [1564](https://github.com/tiangolo/fastapi/pull/1564) by [waynerv](https://github.com/waynerv). * Add translation to Chinese for [Body - Multiple Parameters - 请求体 - 多个参数](https://fastapi.tiangolo.com/zh/tutorial/body-multiple-params/). PR [1532](https://github.com/tiangolo/fastapi/pull/1532) by [waynerv](https://github.com/waynerv). * Add translation to Chinese for [Path Parameters and Numeric Validations - 路径参数和数值校验](https://fastapi.tiangolo.com/zh/tutorial/path-params-numeric-validations/). PR [1506](https://github.com/tiangolo/fastapi/pull/1506) by [waynerv](https://github.com/waynerv). * Add GitHub action to auto-label approved PRs (mainly for translations). PR [1638](https://github.com/tiangolo/fastapi/pull/1638).
0.58.0 not secure
* Deep merge OpenAPI responses to preserve all the additional metadata. PR [1577](https://github.com/tiangolo/fastapi/pull/1577). * Mention in docs that only main app events are run (not sub-apps). PR [1554](https://github.com/tiangolo/fastapi/pull/1554) by [amacfie](https://github.com/amacfie). * Fix body validation error response, do not include body variable when it is not embedded. PR [1553](https://github.com/tiangolo/fastapi/pull/1553) by [amacfie](https://github.com/amacfie). * Fix testing OAuth2 security scopes when using dependency overrides. PR [1549](https://github.com/tiangolo/fastapi/pull/1549) by [amacfie](https://github.com/amacfie). * Fix Model for JSON Schema keyword `not` as a JSON Schema instead of a list. PR [1548](https://github.com/tiangolo/fastapi/pull/1548) by [v-do](https://github.com/v-do). * Add support for OpenAPI `servers`. PR [1547](https://github.com/tiangolo/fastapi/pull/1547) by [mikaello](https://github.com/mikaello).
0.57.0 not secure
* Remove broken link from "External Links". PR [1565](https://github.com/tiangolo/fastapi/pull/1565) by [victorphoenix3](https://github.com/victorphoenix3). * Update/fix docs for [WebSockets with dependencies](https://fastapi.tiangolo.com/advanced/websockets/using-depends-and-others). Original PR [1540](https://github.com/tiangolo/fastapi/pull/1540) by [ChihSeanHsu](https://github.com/ChihSeanHsu). * Add support for Python's `http.HTTPStatus` in `status_code` parameters. PR [1534](https://github.com/tiangolo/fastapi/pull/1534) by [retnikt](https://github.com/retnikt). * When using Pydantic models with `__root__`, use the internal value in `jsonable_encoder`. PR [1524](https://github.com/tiangolo/fastapi/pull/1524) by [patrickkwang](https://github.com/patrickkwang). * Update docs for path parameters. PR [1521](https://github.com/tiangolo/fastapi/pull/1521) by [yankeexe](https://github.com/yankeexe). * Update docs for first steps, links and rewording. PR [1518](https://github.com/tiangolo/fastapi/pull/1518) by [yankeexe](https://github.com/yankeexe). * Enable `showCommonExtensions` in Swagger UI to show additional validations like `maxLength`, etc. PR [1466](https://github.com/tiangolo/fastapi/pull/1466) by [TiewKH](https://github.com/TiewKH). * Make `OAuth2PasswordRequestFormStrict` importable directly from `fastapi.security`. PR [1462](https://github.com/tiangolo/fastapi/pull/1462) by [RichardHoekstra](https://github.com/RichardHoekstra). * Add docs about [Default response class](https://fastapi.tiangolo.com/advanced/custom-response/default-response-class). PR [1455](https://github.com/tiangolo/fastapi/pull/1455) by [TezRomacH](https://github.com/TezRomacH). * Add note in docs about additional parameters `response_model_exclude_defaults` and `response_model_exclude_none` in [Response Model](https://fastapi.tiangolo.com/tutorial/response-model/use-the-response_model_exclude_unset-parameter). PR [1427](https://github.com/tiangolo/fastapi/pull/1427) by [wshayes](https://github.com/wshayes). * Add note about [PyCharm Pydantic plugin](https://github.com/koxudaxi/pydantic-pycharm-plugin) to docs. PR [1420](https://github.com/tiangolo/fastapi/pull/1420) by [koxudaxi](https://github.com/koxudaxi). * Update and clarify testing function name. PR [1395](https://github.com/tiangolo/fastapi/pull/1395) by [chenl](https://github.com/chenl). * Fix duplicated headers created by indirect dependencies that use the request directly. PR [1386](https://github.com/tiangolo/fastapi/pull/1386) by [obataku](https://github.com/obataku) from tests by [scottsmith2gmail](https://github.com/scottsmith2gmail). * Upgrade Starlette version to `0.13.4`. PR [1361](https://github.com/tiangolo/fastapi/pull/1361) by [rushton](https://github.com/rushton). * Improve error handling and feedback for requests with invalid JSON. PR [1354](https://github.com/tiangolo/fastapi/pull/1354) by [aviramha](https://github.com/aviramha). * Add support for declaring metadata for tags in OpenAPI. New docs at [Tutorial - Metadata and Docs URLs - Metadata for tags](https://fastapi.tiangolo.com/tutorial/metadata/metadata-for-tags). PR [1348](https://github.com/tiangolo/fastapi/pull/1348) by [thomas-maschler](https://github.com/thomas-maschler). * Add basic setup for Russian translations. PR [1566](https://github.com/tiangolo/fastapi/pull/1566). * Remove obsolete Chinese articles after adding official community translations. PR [1510](https://github.com/tiangolo/fastapi/pull/1510) by [waynerv](https://github.com/waynerv). * Add `__repr__` for *path operation function* parameter helpers (like `Query`, `Depends`, etc) to simplify debugging. PR [1560](https://github.com/tiangolo/fastapi/pull/1560) by [rkbeatss](https://github.com/rkbeatss) and [victorphoenix3](https://github.com/victorphoenix3).
0.56.1 not secure
* Add link to advanced docs from tutorial. PR [1512](https://github.com/tiangolo/fastapi/pull/1512) by [kx-chen](https://github.com/kx-chen). * Remove internal unnecessary f-strings. PR [1526](https://github.com/tiangolo/fastapi/pull/1526) by [kotamatsuoka](https://github.com/kotamatsuoka). * Add translation to Chinese for [Query Parameters and String Validations - 查询参数和字符串校验](https://fastapi.tiangolo.com/zh/tutorial/query-params-str-validations/). PR [1500](https://github.com/tiangolo/fastapi/pull/1500) by [waynerv](https://github.com/waynerv). * Add translation to Chinese for [Request Body - 请求体](https://fastapi.tiangolo.com/zh/tutorial/body/). PR [1492](https://github.com/tiangolo/fastapi/pull/1492) by [waynerv](https://github.com/waynerv). * Add translation to Chinese for [Help FastAPI - Get Help - 帮助 FastAPI - 获取帮助](https://fastapi.tiangolo.com/zh/help-fastapi/). PR [1465](https://github.com/tiangolo/fastapi/pull/1465) by [waynerv](https://github.com/waynerv). * Add translation to Chinese for [Query Parameters - 查询参数](https://fastapi.tiangolo.com/zh/tutorial/query-params/). PR [1454](https://github.com/tiangolo/fastapi/pull/1454) by [waynerv](https://github.com/waynerv). * Add translation to Chinese for [Contributing - 开发 - 贡献](https://fastapi.tiangolo.com/zh/contributing/). PR [1460](https://github.com/tiangolo/fastapi/pull/1460) by [waynerv](https://github.com/waynerv). * Add translation to Chinese for [Path Parameters - 路径参数](https://fastapi.tiangolo.com/zh/tutorial/path-params/). PR [1453](https://github.com/tiangolo/fastapi/pull/1453) by [waynerv](https://github.com/waynerv). * Add official Microsoft project generator for [serving spaCy with FastAPI and Azure Cognitive Skills](https://github.com/microsoft/cookiecutter-spacy-fastapi) to [Project Generators](https://fastapi.tiangolo.com/project-generation/). PR [1390](https://github.com/tiangolo/fastapi/pull/1390) by [kabirkhan](https://github.com/kabirkhan). * Update docs in [Python Types Intro](https://fastapi.tiangolo.com/python-types/) to include info about `Optional`. Original PR [1377](https://github.com/tiangolo/fastapi/pull/1377) by [yaegassy](https://github.com/yaegassy). * Fix support for callable class dependencies with `yield`. PR [1365](https://github.com/tiangolo/fastapi/pull/1365) by [mrosales](https://github.com/mrosales). * Fix/remove incorrect error logging when a client sends invalid payloads. PR [1351](https://github.com/tiangolo/fastapi/pull/1351) by [dbanty](https://github.com/dbanty). * Add translation to Chinese for [First Steps - 第一步](https://fastapi.tiangolo.com/zh/tutorial/first-steps/). PR [1323](https://github.com/tiangolo/fastapi/pull/1323) by [waynerv](https://github.com/waynerv). * Fix generating OpenAPI for apps using callbacks with routers including Pydantic models. PR [1322](https://github.com/tiangolo/fastapi/pull/1322) by [nsidnev](https://github.com/nsidnev). * Optimize internal regex performance in `get_path_param_names()`. PR [1243](https://github.com/tiangolo/fastapi/pull/1243) by [heckad](https://github.com/heckad). * Remove `*,` from functions in docs where it's not needed. PR [1239](https://github.com/tiangolo/fastapi/pull/1239) by [pankaj-giri](https://github.com/pankaj-giri). * Start translations for Italian. PR [1557](https://github.com/tiangolo/fastapi/pull/1557) by [csr](https://github.com/csr).
0.56.0 not secure
* Add support for ASGI `root_path`: * Use `root_path` internally for mounted applications, so that OpenAPI and the docs UI works automatically without extra configurations and parameters. * Add new `root_path` parameter for `FastAPI` applications to provide it in cases where it can be set with the command line (e.g. for Uvicorn and Hypercorn, with the parameter `--root-path`). * Deprecate `openapi_prefix` parameter in favor of the new `root_path` parameter. * Add new/updated docs for [Sub Applications - Mounts](https://fastapi.tiangolo.com/advanced/sub-applications/), without `openapi_prefix` (as it is now handled automatically). * Add new/updated docs for [Behind a Proxy](https://fastapi.tiangolo.com/advanced/behind-a-proxy/), including how to setup a local testing proxy with Traefik and using `root_path`. * Update docs for [Extending OpenAPI](https://fastapi.tiangolo.com/advanced/extending-openapi/) with the new `openapi_prefix` parameter passed (internally generated from `root_path`). * Original PR [1199](https://github.com/tiangolo/fastapi/pull/1199) by [iksteen](https://github.com/iksteen). * Update new issue templates and docs: [Help FastAPI - Get Help](https://fastapi.tiangolo.com/help-fastapi/). PR [1531](https://github.com/tiangolo/fastapi/pull/1531). * Update GitHub action issue-manager. PR [1520](https://github.com/tiangolo/fastapi/pull/1520). * Add new links: * **English articles**: * [Real-time Notifications with Python and Postgres](https://wuilly.com/2019/10/real-time-notifications-with-python-and-postgres/) by [Guillermo Cruz](https://wuilly.com/). * [Microservice in Python using FastAPI](https://dev.to/paurakhsharma/microservice-in-python-using-fastapi-24cc) by [Paurakh Sharma Humagain](https://twitter.com/PaurakhSharma). * [Build simple API service with Python FastAPI — Part 1](https://dev.to/cuongld2/build-simple-api-service-with-python-fastapi-part-1-581o) by [cuongld2](https://dev.to/cuongld2). * [FastAPI + Zeit.co = 🚀](https://paulsec.github.io/posts/fastapi_plus_zeit_serverless_fu/) by [Paul Sec](https://twitter.com/PaulWebSec). * [Build a web API from scratch with FastAPI - the workshop](https://dev.to/tiangolo/build-a-web-api-from-scratch-with-fastapi-the-workshop-2ehe) by [Sebastián Ramírez (tiangolo)](https://twitter.com/tiangolo). * [Build a Secure Twilio Webhook with Python and FastAPI](https://www.twilio.com/blog/build-secure-twilio-webhook-python-fastapi) by [Twilio](https://www.twilio.com). * [Using FastAPI with Django](https://www.stavros.io/posts/fastapi-with-django/) by [Stavros Korokithakis](https://twitter.com/Stavros). * [Introducing Dispatch](https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072) by [Netflix](https://netflixtechblog.com/). * **Podcasts**: * [Build The Next Generation Of Python Web Applications With FastAPI - Episode 259 - interview to Sebastían Ramírez (tiangolo)](https://www.pythonpodcast.com/fastapi-web-application-framework-episode-259/) by [Podcast.`__init__`](https://www.pythonpodcast.com/). * **Talks**: * [PyConBY 2020: Serve ML models easily with FastAPI](https://www.youtube.com/watch?v=z9K5pwb0rt8) by [Sebastián Ramírez (tiangolo)](https://twitter.com/tiangolo). * [[VIRTUAL] Py.Amsterdam's flying Software Circus: Intro to FastAPI](https://www.youtube.com/watch?v=PnpTY1f4k2U) by [Sebastián Ramírez (tiangolo)](https://twitter.com/tiangolo). * PR [1467](https://github.com/tiangolo/fastapi/pull/1467). * Add translation to Chinese for [Python Types Intro - Python 类型提示简介](https://fastapi.tiangolo.com/zh/python-types/). PR [1197](https://github.com/tiangolo/fastapi/pull/1197) by [waynerv](https://github.com/waynerv).
0.55.1 not secure
* Fix handling of enums with their own schema in path parameters. To support [samuelcolvin/pydantic1432](https://github.com/samuelcolvin/pydantic/pull/1432) in FastAPI. PR [1463](https://github.com/tiangolo/fastapi/pull/1463).
0.55.0 not secure
* Allow enums to allow them to have their own schemas in OpenAPI. To support [samuelcolvin/pydantic1432](https://github.com/samuelcolvin/pydantic/pull/1432) in FastAPI. PR [1461](https://github.com/tiangolo/fastapi/pull/1461). * Add links for funding through [GitHub sponsors](https://github.com/sponsors/tiangolo). PR [1425](https://github.com/tiangolo/fastapi/pull/1425). * Update issue template for for questions. PR [1344](https://github.com/tiangolo/fastapi/pull/1344) by [retnikt](https://github.com/retnikt). * Update warning about storing passwords in docs. PR [1336](https://github.com/tiangolo/fastapi/pull/1336) by [skorokithakis](https://github.com/skorokithakis). * Fix typo. PR [1326](https://github.com/tiangolo/fastapi/pull/1326) by [chenl](https://github.com/chenl). * Add translation to Portuguese for [Alternatives, Inspiration and Comparisons - Alternativas, Inspiração e Comparações](https://fastapi.tiangolo.com/pt/alternatives/). PR [1325](https://github.com/tiangolo/fastapi/pull/1325) by [Serrones](https://github.com/Serrones). * Fix 2 typos in docs. PR [1324](https://github.com/tiangolo/fastapi/pull/1324) by [waynerv](https://github.com/waynerv). * Update CORS docs, fix correct default of `max_age=600`. PR [1301](https://github.com/tiangolo/fastapi/pull/1301) by [derekbekoe](https://github.com/derekbekoe). * Add translation of [main page to Portuguese](https://fastapi.tiangolo.com/pt/). PR [1300](https://github.com/tiangolo/fastapi/pull/1300) by [Serrones](https://github.com/Serrones). * Re-word and clarify docs for extra info in fields. PR [1299](https://github.com/tiangolo/fastapi/pull/1299) by [chris-allnutt](https://github.com/chris-allnutt). * Make sure the `*` in short features in the docs is consistent (after `.`) in all languages. PR [1424](https://github.com/tiangolo/fastapi/pull/1424). * Update order of execution for `get_db` in SQLAlchemy tutorial. PR [1293](https://github.com/tiangolo/fastapi/pull/1293) by [bcb](https://github.com/bcb). * Fix typos in Async docs. PR [1423](https://github.com/tiangolo/fastapi/pull/1423).
0.54.2 not secure
* Add translation to Spanish for [Concurrency and async / await - Concurrencia y async / await](https://fastapi.tiangolo.com/es/async/). PR [1290](https://github.com/tiangolo/fastapi/pull/1290) by [alvaropernas](https://github.com/alvaropernas). * Remove obsolete vote link. PR [1289](https://github.com/tiangolo/fastapi/pull/1289) by [donhui](https://github.com/donhui). * Allow disabling docs UIs by just disabling OpenAPI with `openapi_url=None`. New example in docs: [Advanced: Conditional OpenAPI](https://fastapi.tiangolo.com/advanced/conditional-openapi/). PR [1421](https://github.com/tiangolo/fastapi/pull/1421). * Add translation to Portuguese for [Benchmarks - Comparações](https://fastapi.tiangolo.com/pt/benchmarks/). PR [1274](https://github.com/tiangolo/fastapi/pull/1274) by [Serrones](https://github.com/Serrones). * Add translation to Portuguese for [Tutorial - User Guide - Intro - Tutorial - Guia de Usuário - Introdução](https://fastapi.tiangolo.com/pt/tutorial/). PR [1259](https://github.com/tiangolo/fastapi/pull/1259) by [marcosmmb](https://github.com/marcosmmb). * Allow using Unicode in MkDocs for translations. PR [1419](https://github.com/tiangolo/fastapi/pull/1419). * Add translation to Spanish for [Advanced User Guide - Intro - Guía de Usuario Avanzada - Introducción](https://fastapi.tiangolo.com/es/advanced/). PR [1250](https://github.com/tiangolo/fastapi/pull/1250) by [jfunez](https://github.com/jfunez). * Add translation to Portuguese for [History, Design and Future - História, Design e Futuro](https://fastapi.tiangolo.com/pt/history-design-future/). PR [1249](https://github.com/tiangolo/fastapi/pull/1249) by [marcosmmb](https://github.com/marcosmmb). * Add translation to Portuguese for [Features - Recursos](https://fastapi.tiangolo.com/pt/features/). PR [1248](https://github.com/tiangolo/fastapi/pull/1248) by [marcosmmb](https://github.com/marcosmmb). * Add translation to Spanish for [Tutorial - User Guide - Intro - Tutorial - Guía de Usuario - Introducción](https://fastapi.tiangolo.com/es/tutorial/). PR [1244](https://github.com/tiangolo/fastapi/pull/1244) by [MartinEliasQ](https://github.com/MartinEliasQ). * Add translation to Chinese for [Deployment - 部署](https://fastapi.tiangolo.com/zh/deployment/). PR [1203](https://github.com/tiangolo/fastapi/pull/1203) by [RunningIkkyu](https://github.com/RunningIkkyu). * Add translation to Chinese for [Tutorial - User Guide - Intro - 教程 - 用户指南 - 简介](https://fastapi.tiangolo.com/zh/tutorial/). PR [1202](https://github.com/tiangolo/fastapi/pull/1202) by [waynerv](https://github.com/waynerv). * Add translation to Chinese for [Features - 特性](https://fastapi.tiangolo.com/zh/features/). PR [1192](https://github.com/tiangolo/fastapi/pull/1192) by [Dustyposa](https://github.com/Dustyposa). * Add translation for [main page to Chinese](https://fastapi.tiangolo.com/zh/) PR [1191](https://github.com/tiangolo/fastapi/pull/1191) by [waynerv](https://github.com/waynerv). * Update docs for project generation. PR [1287](https://github.com/tiangolo/fastapi/pull/1287). * Add Spanish translation for [Introducción a los Tipos de Python (Python Types Intro)](https://fastapi.tiangolo.com/es/python-types/). PR [1237](https://github.com/tiangolo/fastapi/pull/1237) by [mariacamilagl](https://github.com/mariacamilagl). * Add Spanish translation for [Características (Features)](https://fastapi.tiangolo.com/es/features/). PR [1220](https://github.com/tiangolo/fastapi/pull/1220) by [mariacamilagl](https://github.com/mariacamilagl).
0.54.1 not secure
* Update database test setup. PR [1226](https://github.com/tiangolo/fastapi/pull/1226). * Improve test debugging by showing response text in failing tests. PR [1222](https://github.com/tiangolo/fastapi/pull/1222) by [samuelcolvin](https://github.com/samuelcolvin).
0.54.0 not secure
* Fix grammatical mistakes in async docs. PR [1188](https://github.com/tiangolo/fastapi/pull/1188) by [mickeypash](https://github.com/mickeypash). * Add support for `response_model_exclude_defaults` and `response_model_exclude_none`: * Deprecate the parameter `include_none` in `jsonable_encoder` and add the inverted `exclude_none`, to keep in sync with Pydantic. * PR [1166](https://github.com/tiangolo/fastapi/pull/1166) by [voegtlel](https://github.com/voegtlel). * Add example about [Testing a Database](https://fastapi.tiangolo.com/advanced/testing-database/). Initial PR [1144](https://github.com/tiangolo/fastapi/pull/1144) by [duganchen](https://github.com/duganchen). * Update docs for [Development - Contributing: Translations](https://fastapi.tiangolo.com/contributing/translations) including note about reviewing translation PRs. [1215](https://github.com/tiangolo/fastapi/pull/1215). * Update log style in README.md for GitHub Markdown compatibility. PR [1200](https://github.com/tiangolo/fastapi/pull/1200) by [geekgao](https://github.com/geekgao). * Add Python venv `env` to `.gitignore`. PR [1212](https://github.com/tiangolo/fastapi/pull/1212) by [cassiobotaro](https://github.com/cassiobotaro). * Start Portuguese translations. PR [1210](https://github.com/tiangolo/fastapi/pull/1210) by [cassiobotaro](https://github.com/cassiobotaro). * Update docs for Pydantic's `Settings` using a dependency with `lru_cache()`. PR [1214](https://github.com/tiangolo/fastapi/pull/1214). * Add first translation to Spanish [FastAPI](https://fastapi.tiangolo.com/es/). PR [1201](https://github.com/tiangolo/fastapi/pull/1201) by [mariacamilagl](https://github.com/mariacamilagl). * Add docs about [Settings and Environment Variables](https://fastapi.tiangolo.com/advanced/settings/). Initial PR [1118](https://github.com/tiangolo/fastapi/pull/1118) by [alexmitelman](https://github.com/alexmitelman).
0.53.2 not secure
* Fix automatic embedding of body fields for dependencies and sub-dependencies. Original PR [1079](https://github.com/tiangolo/fastapi/pull/1079) by [Toad2186](https://github.com/Toad2186). * Fix dependency overrides in WebSocket testing. PR [1122](https://github.com/tiangolo/fastapi/pull/1122) by [amitlissack](https://github.com/amitlissack). * Fix docs script to ensure languages are always sorted. PR [1189](https://github.com/tiangolo/fastapi/pull/1189). * Start translations for Chinese. PR [1187](https://github.com/tiangolo/fastapi/pull/1187) by [RunningIkkyu](https://github.com/RunningIkkyu). * Add docs for [Schema Extra - Example](https://fastapi.tiangolo.com/tutorial/schema-extra-example/). PR [1185](https://github.com/tiangolo/fastapi/pull/1185).
0.53.1 not secure
* Fix included example after translations refactor. PR [1182](https://github.com/tiangolo/fastapi/pull/1182). * Add docs example for `example` in `Field`. Docs at [Body - Fields: JSON Schema extras](https://fastapi.tiangolo.com/tutorial/body-fields/json-schema-extras). PR [1106](https://github.com/tiangolo/fastapi/pull/1106) by [JohnPaton](https://github.com/JohnPaton). * Fix using recursive models in `response_model`. PR [1164](https://github.com/tiangolo/fastapi/pull/1164) by [voegtlel](https://github.com/voegtlel). * Add docs for [Pycharm Debugging](https://fastapi.tiangolo.com/tutorial/debugging/). PR [1096](https://github.com/tiangolo/fastapi/pull/1096) by [youngquan](https://github.com/youngquan). * Fix typo in docs. PR [1148](https://github.com/tiangolo/fastapi/pull/1148) by [PLNech](https://github.com/PLNech). * Update Windows development environment instructions. PR [1179](https://github.com/tiangolo/fastapi/pull/1179).
0.53.0 not secure
* Update test coverage badge. PR [1175](https://github.com/tiangolo/fastapi/pull/1175). * Add `orjson` to `pip install fastapi[all]`. PR [1161](https://github.com/tiangolo/fastapi/pull/1161) by [michael0liver](https://github.com/michael0liver). * Fix included example for `GZipMiddleware`. PR [1138](https://github.com/tiangolo/fastapi/pull/1138) by [arimbr](https://github.com/arimbr). * Fix class name in docstring for `OAuth2PasswordRequestFormStrict`. PR [1126](https://github.com/tiangolo/fastapi/pull/1126) by [adg-mh](https://github.com/adg-mh). * Clarify function name in example in docs. PR [1121](https://github.com/tiangolo/fastapi/pull/1121) by [tmsick](https://github.com/tmsick). * Add external link [Apache Kafka producer and consumer with FastAPI and aiokafka](https://iwpnd.pw/articles/2020-03/apache-kafka-fastapi-geostream) to docs. PR [1112](https://github.com/tiangolo/fastapi/pull/1112) by [iwpnd](https://github.com/iwpnd). * Fix serialization when using `by_alias` or `exclude_unset` and returning data with Pydantic models. PR [1074](https://github.com/tiangolo/fastapi/pull/1074) by [juhovh-aiven](https://github.com/juhovh-aiven). * Add Gitter chat to docs. PR [1061](https://github.com/tiangolo/fastapi/pull/1061) by [aakashnand](https://github.com/aakashnand). * Update and simplify translations docs. PR [1171](https://github.com/tiangolo/fastapi/pull/1171). * Update development of FastAPI docs, set address to `127.0.0.1` to improve Windows support. PR [1169](https://github.com/tiangolo/fastapi/pull/1169) by [mariacamilagl](https://github.com/mariacamilagl). * Add support for docs translations. New docs: [Development - Contributing: Docs: Translations](https://fastapi.tiangolo.com/contributing/translations). PR [1168](https://github.com/tiangolo/fastapi/pull/1168). * Update terminal styles in docs and add note about [**Typer**, the FastAPI of CLIs](https://typer.tiangolo.com/). PR [1139](https://github.com/tiangolo/fastapi/pull/1139).
0.52.0 not secure
* Add new high-performance JSON response class using `orjson`. New docs: [Custom Response - HTML, Stream, File, others: `ORJSONResponse`](https://fastapi.tiangolo.com/advanced/custom-response/use-orjsonresponse). PR [1065](https://github.com/tiangolo/fastapi/pull/1065).
0.51.0 not secure
* Re-export utils from Starlette: * This allows using things like `from fastapi.responses import JSONResponse` instead of `from starlette.responses import JSONResponse`. * It's mainly syntax sugar, a convenience for developer experience. * Now `Request`, `Response`, `WebSocket`, `status` can be imported directly from `fastapi` as in `from fastapi import Response`. This is because those are frequently used, to use the request directly, to set headers and cookies, to get status codes, etc. * Documentation changes in many places, but new docs and noticeable improvements: * [Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/). * [Advanced Middleware](https://fastapi.tiangolo.com/advanced/middleware/). * [Including WSGI - Flask, Django, others](https://fastapi.tiangolo.com/advanced/wsgi/). * PR [1064](https://github.com/tiangolo/fastapi/pull/1064).
0.50.0 not secure
* Add link to Release Notes from docs about pinning versions for deployment. PR [1058](https://github.com/tiangolo/fastapi/pull/1058). * Upgrade code to use the latest version of Starlette, including: * Several bug fixes. * Optional redirects of slashes, with or without ending in `/`. * Events for routers, `"startup"`, and `"shutdown"`. * PR [1057](https://github.com/tiangolo/fastapi/pull/1057). * Add docs about pinning FastAPI versions for deployment: [Deployment: FastAPI versions](https://fastapi.tiangolo.com/deployment/fastapi-versions). PR [1056](https://github.com/tiangolo/fastapi/pull/1056).
0.49.2 not secure
* Fix links in release notes. PR [1052](https://github.com/tiangolo/fastapi/pull/1052) by [sattosan](https://github.com/sattosan). * Fix typo in release notes. PR [1051](https://github.com/tiangolo/fastapi/pull/1051) by [sattosan](https://github.com/sattosan). * Refactor/clarify `serialize_response` parameter name to avoid confusion. PR [1031](https://github.com/tiangolo/fastapi/pull/1031) by [patrickmckenna](https://github.com/patrickmckenna). * Refactor calling each a path operation's handler function in an isolated function, to simplify profiling. PR [1027](https://github.com/tiangolo/fastapi/pull/1027) by [sm-Fifteen](https://github.com/sm-Fifteen). * Add missing dependencies for testing. PR [1026](https://github.com/tiangolo/fastapi/pull/1026) by [sm-Fifteen](https://github.com/sm-Fifteen). * Fix accepting valid types for response models, including Python types like `List[int]`. PR [1017](https://github.com/tiangolo/fastapi/pull/1017) by [patrickmckenna](https://github.com/patrickmckenna). * Fix format in SQL tutorial. PR [1015](https://github.com/tiangolo/fastapi/pull/1015) by [vegarsti](https://github.com/vegarsti).
0.49.1 not secure
* Fix path operation duplicated parameters when used in dependencies and the path operation function. PR [994](https://github.com/tiangolo/fastapi/pull/994) by [merowinger92](https://github.com/merowinger92). * Update Netlify previews deployment GitHub action as the fix is already merged and there's a new release. PR [1047](https://github.com/tiangolo/fastapi/pull/1047). * Move mypy configurations to config file. PR [987](https://github.com/tiangolo/fastapi/pull/987) by [hukkinj1](https://github.com/hukkinj1). * Temporary fix to Netlify previews not deployable from PRs from forks. PR [1046](https://github.com/tiangolo/fastapi/pull/1046) by [mariacamilagl](https://github.com/mariacamilagl).
0.49.0 not secure
* Fix encoding of `pathlib` paths in `jsonable_encoder`. PR [978](https://github.com/tiangolo/fastapi/pull/978) by [patrickmckenna](https://github.com/patrickmckenna). * Add articles to [External Links](https://fastapi.tiangolo.com/external-links/): [PythonのWeb frameworkのパフォーマンス比較 (Django, Flask, responder, FastAPI, japronto)](https://qiita.com/bee2/items/0ad260ab9835a2087dae) and [[FastAPI] Python製のASGI Web フレームワーク FastAPIに入門する](https://qiita.com/bee2/items/75d9c0d7ba20e7a4a0e9). PR [974](https://github.com/tiangolo/fastapi/pull/974) by [tokusumi](https://github.com/tokusumi). * Fix broken links in docs. PR [949](https://github.com/tiangolo/fastapi/pull/949) by [tsotnikov](https://github.com/tsotnikov). * Fix small typos. PR [941](https://github.com/tiangolo/fastapi/pull/941) by [NikitaKolesov](https://github.com/NikitaKolesov). * Update and clarify docs for dependencies with `yield`. PR [986](https://github.com/tiangolo/fastapi/pull/986). * Add Mermaid JS support for diagrams in docs. Add first diagrams to [Dependencies: First Steps](https://fastapi.tiangolo.com/tutorial/dependencies/) and [Dependencies with `yield` and `HTTPException`](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-with-yield/dependencies-with-yield-and-httpexception). PR [985](https://github.com/tiangolo/fastapi/pull/985). * Update CI to run docs deployment in GitHub actions. PR [983](https://github.com/tiangolo/fastapi/pull/983). * Allow `callable`s in *path operation functions*, like functions modified with `functools.partial`. PR [977](https://github.com/tiangolo/fastapi/pull/977).
0.48.0 not secure
* Run linters first in tests to error out faster. PR [948](https://github.com/tiangolo/fastapi/pull/948). * Log warning about `email-validator` only when used. PR [946](https://github.com/tiangolo/fastapi/pull/946). * Simplify [Peewee docs](https://fastapi.tiangolo.com/advanced/sql-databases-peewee/) with double dependency with `yield`. PR [947](https://github.com/tiangolo/fastapi/pull/947). * Add article [External Links](https://fastapi.tiangolo.com/external-links/): [Create and Deploy FastAPI app to Heroku](https://www.tutlinks.com/create-and-deploy-fastapi-app-to-heroku/). PR [942](https://github.com/tiangolo/fastapi/pull/942) by [windson](https://github.com/windson). * Update description of Sanic, as it is now ASGI too. PR [932](https://github.com/tiangolo/fastapi/pull/932) by [raphaelauv](https://github.com/raphaelauv). * Fix typo in main page. PR [920](https://github.com/tiangolo/fastapi/pull/920) by [mMarzeta](https://github.com/mMarzeta). * Fix parsing of possibly invalid bodies. PR [918](https://github.com/tiangolo/fastapi/pull/918) by [dmontagu](https://github.com/dmontagu). * Fix typo [916](https://github.com/tiangolo/fastapi/pull/916) by [adursun](https://github.com/adursun). * Allow `Any` type for enums in OpenAPI. PR [906](https://github.com/tiangolo/fastapi/pull/906) by [songzhi](https://github.com/songzhi). * Add article to [External Links](https://fastapi.tiangolo.com/external-links/): [How to continuously deploy a FastAPI to AWS Lambda with AWS SAM](https://iwpnd.pw/articles/2020-01/deploy-fastapi-to-aws-lambda). PR [901](https://github.com/tiangolo/fastapi/pull/901) by [iwpnd](https://github.com/iwpnd). * Add note about using Body parameters without Pydantic. PR [900](https://github.com/tiangolo/fastapi/pull/900) by [pawamoy](https://github.com/pawamoy). * Fix Pydantic field clone logic. PR [899](https://github.com/tiangolo/fastapi/pull/899) by [deuce2367](https://github.com/deuce2367). * Fix link in middleware docs. PR [893](https://github.com/tiangolo/fastapi/pull/893) by [linchiwei123](https://github.com/linchiwei123). * Rename default API title from "Fast API" to "FastAPI" for consistency. PR [890](https://github.com/tiangolo/fastapi/pull/890).
0.47.1 not secure
* Fix model filtering in `response_model`, cloning sub-models. PR [889](https://github.com/tiangolo/fastapi/pull/889). * Fix FastAPI serialization of Pydantic models using ORM mode blocking the event loop. PR [888](https://github.com/tiangolo/fastapi/pull/888).