Recent Releases of fastapi

fastapi - 0.116.1

Upgrades

  • ⬆️ Upgrade Starlette supported version range to >=0.40.0,<0.48.0. PR #13884 by @tiangolo.

Docs

  • 📝 Add notification about impending changes in Translations to docs/en/docs/contributing.md. PR #13886 by @YuriiMotov.

Internal

- Python
Published by tiangolo 11 months ago

fastapi - 0.116.0

Features

  • ✨ Add support for deploying to FastAPI Cloud with fastapi deploy. PR #13870 by @tiangolo.

Installing fastapi[standard] now includes fastapi-cloud-cli.

This will allow you to deploy to FastAPI Cloud with the fastapi deploy command.

If you want to install fastapi with the standard dependencies but without fastapi-cloud-cli, you can install instead fastapi[standard-no-fastapi-cloud-cli].

Translations

  • 🌐 Add Russian translation for docs/ru/docs/advanced/response-directly.md. PR #13801 by @NavesSapnis.
  • 🌐 Add Russian translation for docs/ru/docs/advanced/additional-status-codes.md. PR #13799 by @NavesSapnis.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/body-updates.md. PR #13804 by @valentinDruzhinin.

Internal

- Python
Published by tiangolo 11 months ago

fastapi - 0.115.14

Fixes

Docs

  • ✏️ Fix grammar mistake in docs/en/docs/advanced/response-directly.md. PR #13800 by @NavesSapnis.
  • 📝 Update Speakeasy URL to Speakeasy Sandbox. PR #13697 by @ndimares.

Translations

  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/response-model.md. PR #13792 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/security/index.md. PR #13805 by @valentinDruzhinin.
  • ✏️ Fix typo in docs/ja/docs/tutorial/encoder.md. PR #13815 by @ruzia.
  • ✏️ Fix typo in docs/ja/docs/tutorial/handling-errors.md. PR #13814 by @ruzia.
  • ✏️ Fix typo in docs/ja/docs/tutorial/body-fields.md. PR #13802 by @ruzia.
  • 🌐 Add Russian translation for docs/ru/docs/advanced/index.md. PR #13797 by @NavesSapnis.

Internal

- Python
Published by tiangolo 11 months ago

fastapi - 0.115.13

Fixes

  • 🐛 Fix truncating the model's description with form feed (\f) character for Pydantic V2. PR #13698 by @YuriiMotov.

Refactors

Upgrades

Docs

  • 📝 Add annotations to HTTP middleware example. PR #11530 by @Kilo59.
  • 📝 Clarify in CORS docs that wildcards and credentials are mutually exclusive. PR #9829 by @dfioravanti.
  • ✏️ Fix typo in docstring. PR #13532 by @comp64.
  • 📝 Clarify guidance on using async def without await. PR #13642 by @swastikpradhan1999.
  • 📝 Update exclude-parameters-from-openapi documentation links. PR #13600 by @timonrieger.
  • 📝 Clarify the middleware execution order in docs. PR #13699 by @YuriiMotov.
  • 🍱 Update Drawio diagrams SVGs, single file per diagram, sans-serif font. PR #13706 by @tiangolo.
  • 📝 Update docs for "Help FastAPI", simplify and reduce "sponsor" section. PR #13670 by @tiangolo.
  • 📝 Remove unnecessary bullet from docs. PR #13641 by @Adamowoc.
  • ✏️ Fix syntax error in docs/en/docs/tutorial/handling-errors.md. PR #13623 by @gsheni.
  • 📝 Fix typo in documentation. PR #13599 by @Taoup.
  • 📝 Fix liblab client generation doc link. PR #13571 by @EFord36.
  • ✏️ Fix talk information typo. PR #13544 by @blueswen.
  • 📝 Add External Link: Taiwanese talk on FastAPI with observability . PR #13527 by @blueswen.

Translations

  • 🌐 Add Russian Translation for docs/ru/docs/advanced/response-change-status-code.md. PR #13791 by @NavesSapnis.
  • 🌐 Add Persian translation for docs/fa/docs/learn/index.md. PR #13518 by @Mohammad222PR.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/sub-applications.md. PR #4543 by @NinaHwang.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/schema-extra-example.md. PR #13769 by @valentinDruzhinin.
  • ✏️ Remove redundant words in docs/zh/docs/python-types.md. PR #13774 by @CharleeWa.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/query-param-models.md. PR #13748 by @valentinDruzhinin.
  • 🌐 Add Bengali translation for docs/bn/docs/environment-variables.md. PR #13629 by @SakibSibly.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/query-params-str-validations.md page. PR #13546 by @valentinDruzhinin.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/cookie-param-models.md. PR #13616 by @EgorOnishchuk.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/extra-models.md. PR #13063 by @timothy-jeong.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/path-params-numeric-validations.md page. PR #13548 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/middleware.md page. PR #13520 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/background-tasks.md page. PR #13502 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/cors.md page. PR #13519 by @valentinDruzhinin.
  • 🌐 Update Korean translation for docs/ko/docs/advanced/events.md. PR #13487 by @bom1215.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/handling-errors.md page. PR #13420 by @valentinDruzhinin.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/request-form-models.md. PR #13552 by @EgorOnishchuk.
  • 📝 Fix internal anchor link in Spanish deployment docs. PR #13737 by @fabianfalon.
  • 🌐 Update Korean translation for docs/ko/docs/virtual-environments.md. PR #13630 by @sungchan1.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/header-param-models.md. PR #13526 by @minaton-ru.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/index.md. PR #13374 by @Zhongheng-Cheng.
  • 🌐 Update Chinese translation for docs/zh/docs/deployment/manually.md. PR #13324 by @Zhongheng-Cheng.
  • 🌐 Update Chinese translation for docs/zh/docs/deployment/server-workers.md. PR #13292 by @Zhongheng-Cheng.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/first-steps.md. PR #13348 by @Zhongheng-Cheng.

Internal

- Python
Published by tiangolo 12 months ago

fastapi - 0.115.12

Fixes

  • 🐛 Fix convert_underscores=False for header Pydantic models. PR #13515 by @tiangolo.

Docs

Translations

  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/metadata.md page. PR #13459 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/response-status-code.md page. PR #13462 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/cookie-param-models.md page. PR #13460 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/header-param-models.md page. PR #13461 by @valentinDruzhinin.
  • 🌐 Add Japanese translation for docs/ja/docs/virtual-environments.md. PR #13304 by @k94-ishi.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/security/oauth2-jwt.md. PR #13333 by @yes0ng.
  • 🌐 Add Vietnamese translation for docs/vi/docs/deployment/cloud.md. PR #13407 by @ptt3199.

Internal

- Python
Published by tiangolo about 1 year ago

fastapi - 0.115.11

Fixes

Translations

  • 🌐 Add Russian translation for docs/ru/docs/tutorial/middleware.md. PR #13412 by @alv2017.

Internal

- Python
Published by tiangolo about 1 year ago

fastapi - 0.115.10

Fixes

  • ♻️ Update internal annotation usage for compatibility with Pydantic 2.11. PR #13314 by @Viicos.

Upgrades

Translations

  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/debugging.md. PR #13370 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/query-params.md. PR #13362 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/path-params.md. PR #13354 by @valentinDruzhinin.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/cookie-param-models.md. PR #13330 by @k94-ishi.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/body-multiple-params.md. PR #13408 by @valentinDruzhinin.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/query-param-models.md. PR #13323 by @k94-ishi.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/body-nested-models.md. PR #13409 by @valentinDruzhinin.
  • 🌐 Add Vietnamese translation for docs/vi/docs/deployment/versions.md. PR #13406 by @ptt3199.
  • 🌐 Add Vietnamese translation for docs/vi/docs/deployment/index.md. PR #13405 by @ptt3199.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/request-forms.md. PR #13383 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/testing.md. PR #13371 by @valentinDruzhinin.

- Python
Published by tiangolo over 1 year ago

fastapi - 0.115.9

Fixes

  • 🐛 Ensure that HTTPDigest only raises an exception when auto_error is True. PR #2939 by @arthurio.

Refactors

Docs

  • 🍱 Update sponsors: CodeRabbit logo. PR #13424 by @tiangolo.
  • 🩺 Unify the badges across all tutorial translations. PR #13329 by @svlandeg.
  • 📝 Fix typos in virtual environments documentation. PR #13396 by @bullet-ant.
  • 🐛 Fix issue with Swagger theme change example in the official tutorial. PR #13289 by @Zerohertz.
  • 📝 Add more precise description of HTTP status code range in docs. PR #13347 by @DanielYang59.
  • 🔥 Remove manual type annotations in JWT tutorial to avoid typing expectations (JWT doesn't provide more types). PR #13378 by @tiangolo.
  • 📝 Update docs for Query Params and String Validations, remove obsolete Ellipsis docs (...). PR #13377 by @tiangolo.
  • ✏️ Remove duplicate title in docs body-multiple-params. PR #13345 by @DanielYang59.
  • 📝 Fix test badge. PR #13313 by @esadek.

Translations

  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/header-params.md. PR #13381 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/request-files.md. PR #13395 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/request-form-models.md. PR #13384 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/request-forms-and-files.md. PR #13386 by @valentinDruzhinin.
  • 🌐 Update Korean translation for docs/ko/docs/help-fastapi.md. PR #13262 by @Zerohertz.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/custom-response.md. PR #13265 by @11kkw.
  • 🌐 Update Korean translation for docs/ko/docs/tutorial/security/simple-oauth2.md. PR #13335 by @yes0ng.
  • 🌐 Add Russian translation for docs/ru/docs/advanced/response-cookies.md. PR #13327 by @Stepakinoyan.
  • 🌐 Add Vietnamese translation for docs/vi/docs/tutorial/static-files.md. PR #11291 by @ptt3199.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/dependencies/dependencies-with-yield.md. PR #13257 by @11kkw.
  • 🌐 Add Vietnamese translation for docs/vi/docs/virtual-environments.md. PR #13282 by @ptt3199.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/static-files.md. PR #13285 by @valentinDruzhinin.
  • 🌐 Add Vietnamese translation for docs/vi/docs/environment-variables.md. PR #13287 by @ptt3199.
  • 🌐 Add Vietnamese translation for docs/vi/docs/fastapi-cli.md. PR #13294 by @ptt3199.
  • 🌐 Add Ukrainian translation for docs/uk/docs/features.md. PR #13308 by @valentinDruzhinin.
  • 🌐 Add Ukrainian translation for docs/uk/docs/learn/index.md. PR #13306 by @valentinDruzhinin.
  • 🌐 Update Portuguese Translation for docs/pt/docs/deployment/https.md. PR #13317 by @Joao-Pedro-P-Holanda.
  • 🌐 Update Portuguese Translation for docs/pt/docs/index.md. PR #13328 by @ceb10n.
  • 🌐 Add Russian translation for docs/ru/docs/advanced/websockets.md. PR #13279 by @Rishat-F.

Internal

- Python
Published by tiangolo over 1 year ago

fastapi - 0.115.8

Fixes

  • 🐛 Fix OAuth2PasswordRequestForm and OAuth2PasswordRequestFormStrict fixed grant_type "password" RegEx. PR #9783 by @skarfie123.

Refactors

  • ✅ Simplify tests for bodymultipleparams . PR #13237 by @alejsdev.
  • ♻️ Move duplicated code portion to a static method in the APIKeyBase super class. PR #3142 by @ShahriyarR.
  • ✅ Simplify tests for request_files. PR #13182 by @alejsdev.

Docs

  • 📝 Change the word "unwrap" to "unpack" in docs/en/docs/tutorial/extra-models.md. PR #13061 by @timothy-jeong.
  • 📝 Update Request Body's tutorial002 to deal with tax=0 case. PR #13230 by @togogh.
  • 👥 Update FastAPI People - Experts. PR #13269 by @tiangolo.

Translations

  • 🌐 Add Japanese translation for docs/ja/docs/environment-variables.md. PR #13226 by @k94-ishi.
  • 🌐 Add Russian translation for docs/ru/docs/advanced/async-tests.md. PR #13227 by @Rishat-F.
  • 🌐 Update Russian translation for docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #13252 by @Rishat-F.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/bigger-applications.md. PR #13154 by @alv2017.

Internal

  • ⬆️ Add support for Python 3.13. PR #13274 by @tiangolo.
  • ⬆️ Upgrade AnyIO max version for tests, new range: >=3.2.1,<5.0.0. PR #13273 by @tiangolo.
  • 🔧 Update Sponsors badges. PR #13271 by @tiangolo.
  • ♻️ Fix notify_translations.py empty env var handling for PR label events vs workflow_dispatch. PR #13272 by @tiangolo.
  • ♻️ Refactor and move scripts/notify_translations.py, no need for a custom GitHub Action. PR #13270 by @tiangolo.
  • 🔨 Update FastAPI People Experts script, refactor and optimize data fetching to handle rate limits. PR #13267 by @tiangolo.
  • ⬆ Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4. PR #13251 by @dependabot[bot].

- Python
Published by tiangolo over 1 year ago

fastapi - 0.115.7

Upgrades

Refactors

Docs

  • ✏️ Update Strawberry integration docs. PR #13155 by @kinuax.
  • 🔥 Remove unused Peewee tutorial files. PR #13158 by @alejsdev.
  • 📝 Update image in body-nested-model docs. PR #11063 by @untilhamza.
  • 📝 Update fastapi-cli UI examples in docs. PR #13107 by @Zhongheng-Cheng.
  • 👷 Add new GitHub Action to update contributors, translators, and translation reviewers. PR #13136 by @tiangolo.
  • ✏️ Fix typo in docs/en/docs/virtual-environments.md. PR #13124 by @tiangolo.
  • ✏️ Fix error in docs/en/docs/contributing.md. PR #12899 by @kingsubin.
  • 📝 Minor corrections in docs/en/docs/tutorial/sql-databases.md. PR #13081 by @alv2017.
  • 📝 Update includes in docs/ru/docs/tutorial/query-param-models.md. PR #12994 by @alejsdev.
  • ✏️ Fix typo in README installation instructions. PR #13011 by @dave-hay.
  • 📝 Update docs for fastapi-cli. PR #13031 by @tiangolo.

Translations

  • 🌐 Update Portuguese Translation for docs/pt/docs/tutorial/request-forms.md. PR #13216 by @Joao-Pedro-P-Holanda.
  • 🌐 Update Portuguese translation for docs/pt/docs/advanced/settings.md. PR #13209 by @ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/security/oauth2-jwt.md. PR #13205 by @ceb10n.
  • 🌐 Add Indonesian translation for docs/id/docs/index.md. PR #13191 by @gerry-sabar.
  • 🌐 Add Indonesian translation for docs/id/docs/tutorial/static-files.md. PR #13092 by @guspan-tanadi.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/security/get-current-user.md. PR #13188 by @ceb10n.
  • 🌐 Remove Wrong Portuguese translations location for docs/pt/docs/advanced/benchmarks.md. PR #13187 by @ceb10n.
  • 🌐 Update Portuguese translations. PR #13156 by @nillvitor.
  • 🌐 Update Russian translation for docs/ru/docs/tutorial/security/first-steps.md. PR #13159 by @Yarous.
  • ✏️ Delete unnecessary backspace in docs/ja/docs/tutorial/path-params-numeric-validations.md. PR #12238 by @FakeDocument.
  • 🌐 Update Chinese translation for docs/zh/docs/fastapi-cli.md. PR #13102 by @Zhongheng-Cheng.
  • 🌐 Add new Spanish translations for all docs with new LLM-assisted system using PydanticAI. PR #13122 by @tiangolo.
  • 🌐 Update existing Spanish translations using the new LLM-assisted system using PydanticAI. PR #13118 by @tiangolo.
  • 🌐 Update Chinese translation for docs/zh/docs/advanced/security/oauth2-scopes.md. PR #13110 by @ChenPu2002.
  • 🌐 Add Indonesian translation for docs/id/docs/tutorial/path-params.md. PR #13086 by @gerry-sabar.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/sql-databases.md. PR #13093 by @GeumBinLee.
  • 🌐 Update Chinese translation for docs/zh/docs/async.md. PR #13095 by @Zhongheng-Cheng.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/openapi-webhooks.md. PR #13091 by @Zhongheng-Cheng.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/async-tests.md. PR #13074 by @Zhongheng-Cheng.
  • 🌐 Add Ukrainian translation for docs/uk/docs/fastapi-cli.md. PR #13020 by @ykertytsky.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/events.md. PR #12512 by @ZhibangYue.
  • 🌐 Add Russian translation for /docs/ru/docs/tutorial/sql-databases.md. PR #13079 by @alv2017.
  • 🌐 Update Chinese translation for docs/zh/docs/advanced/testing-dependencies.md. PR #13066 by @Zhongheng-Cheng.
  • 🌐 Update Traditional Chinese translation for docs/zh-hant/docs/tutorial/index.md. PR #13075 by @codingjenny.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/sql-databases.md. PR #13051 by @Zhongheng-Cheng.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/query-params-str-validations.md. PR #12928 by @Vincy1230.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/header-param-models.md. PR #13040 by @Zhongheng-Cheng.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/path-params.md. PR #12926 by @Vincy1230.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/first-steps.md. PR #12923 by @Vincy1230.
  • 🌐 Update Russian translation for docs/ru/docs/deployment/docker.md. PR #13048 by @anklav24.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/generate-clients.md. PR #13030 by @vitumenezes.
  • 🌐 Add Indonesian translation for docs/id/docs/tutorial/first-steps.md. PR #13042 by @gerry-sabar.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/cookie-param-models.md. PR #13038 by @Zhongheng-Cheng.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/request-form-models.md. PR #13045 by @Zhongheng-Cheng.
  • 🌐 Add Russian translation for docs/ru/docs/virtual-environments.md. PR #13026 by @alv2017.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/testing.md. PR #12968 by @jts8257.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/async-test.md. PR #12918 by @icehongssii.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/security/oauth2-jwt.md. PR #10601 by @AlertRED.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/security/simple-oauth2.md. PR #10599 by @AlertRED.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/security/get-current-user.md. PR #10594 by @AlertRED.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/features.md. PR #12441 by @codingjenny.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/virtual-environments.md. PR #12791 by @Vincy1230.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/templates.md. PR #12726 by @Heumhub.
  • 🌐 Add Russian translation for docs/ru/docs/fastapi-cli.md. PR #13041 by @alv2017.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/cookie-param-models.md. PR #13000 by @hard-coders.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/header-param-models.md. PR #13001 by @hard-coders.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/request-form-models.md. PR #13002 by @hard-coders.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/request-forms.md. PR #13003 by @hard-coders.
  • 🌐 Add Korean translation for docs/ko/docs/resources/index.md. PR #13004 by @hard-coders.
  • 🌐 Add Korean translation for docs/ko/docs/how-to/configure-swagger-ui.md. PR #12898 by @nahyunkeem.
  • 🌐 Add Korean translation to docs/ko/docs/advanced/additional-status-codes.md. PR #12715 by @nahyunkeem.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/tutorial/first-steps.md. PR #12467 by @codingjenny.

Internal

- Python
Published by tiangolo over 1 year ago

fastapi - 0.115.6

Fixes

  • 🐛 Preserve traceback when an exception is raised in sync dependency with yield. PR #5823 by @sombek.

Refactors

  • ♻️ Update tests and internals for compatibility with Pydantic >=2.10. PR #12971 by @tamird.

Docs

  • 📝 Update includes format in docs with an automated script. PR #12950 by @tiangolo.
  • 📝 Update includes for docs/de/docs/advanced/using-request-directly.md. PR #12685 by @alissadb.
  • 📝 Update includes for docs/de/docs/how-to/conditional-openapi.md. PR #12689 by @alissadb.

Translations

  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/async.md. PR #12990 by @ILoveSorasakiHina.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/tutorial/query-param-models.md. PR #12932 by @Vincy1230.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/testing-dependencies.md. PR #12992 by @Limsunoh.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/websockets.md. PR #12991 by @kwang1215.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/response-model.md. PR #12933 by @AndreBBM.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/middlewares.md. PR #12753 by @nahyunkeem.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/openapi-webhooks.md. PR #12752 by @saeye.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/query-param-models.md. PR #12931 by @Vincy1230.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/query-param-models.md. PR #12445 by @gitgernit.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/query-param-models.md. PR #12940 by @jts8257.
  • 🔥 Remove obsolete tutorial translation to Chinese for docs/zh/docs/tutorial/sql-databases.md, it references files that are no longer on the repo. PR #12949 by @tiangolo.

Internal

- Python
Published by tiangolo over 1 year ago

fastapi - 0.115.5

Refactors

  • ♻️ Update internal checks to support Pydantic 2.10. PR #12914 by @tiangolo.

Docs

  • 📝 Update includes for docs/en/docs/tutorial/body.md. PR #12757 by @gsheni.
  • 📝 Update includes in docs/en/docs/advanced/testing-dependencies.md. PR #12647 by @AyushSinghal1794.
  • 📝 Update includes for docs/en/docs/tutorial/metadata.md. PR #12773 by @Nimitha-jagadeesha.
  • 📝 Update docs/en/docs/tutorial/dependencies/dependencies-with-yield.md. PR #12045 by @xuvjso.
  • 📝 Update includes for docs/en/docs/tutorial/dependencies/global-dependencies.md. PR #12653 by @vishnuvskvkl.
  • 📝 Update includes for docs/en/docs/tutorial/body-updates.md. PR #12712 by @davioc.
  • 📝 Remove mention of Celery in the project generators. PR #12742 by @david-caro.
  • 📝 Update includes in docs/en/docs/tutorial/header-param-models.md. PR #12814 by @zhaohan-dong.
  • 📝 Update contributing.md docs, include note to not translate this page. PR #12841 by @tiangolo.
  • 📝 Update includes in docs/en/docs/tutorial/request-forms.md. PR #12648 by @vishnuvskvkl.
  • 📝 Update includes in docs/en/docs/tutorial/request-form-models.md. PR #12649 by @vishnuvskvkl.
  • 📝 Update includes in docs/en/docs/tutorial/security/oauth2-jwt.md. PR #12650 by @OCE1960.
  • 📝 Update includes in docs/vi/docs/tutorial/first-steps.md. PR #12754 by @MxPy.
  • 📝 Update includes for docs/pt/docs/advanced/wsgi.md. PR #12769 by @Nimitha-jagadeesha.
  • 📝 Update includes for docs/en/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #12815 by @handabaldeep.
  • 📝 Update includes for docs/en/docs/tutorial/dependencies/classes-as-dependencies.md. PR #12813 by @handabaldeep.
  • ✏️ Fix error in docs/en/docs/tutorial/middleware.md. PR #12819 by @alejsdev.
  • 📝 Update includes for docs/en/docs/tutorial/security/get-current-user.md. PR #12645 by @OCE1960.
  • 📝 Update includes for docs/en/docs/tutorial/security/first-steps.md. PR #12643 by @OCE1960.
  • 📝 Update includes in docs/de/docs/advanced/additional-responses.md. PR #12821 by @zhaohan-dong.
  • 📝 Update includes in docs/en/docs/advanced/generate-clients.md. PR #12642 by @AyushSinghal1794.
  • 📝 Fix admonition double quotes with new syntax. PR #12835 by @tiangolo.
  • 📝 Update includes in docs/zh/docs/advanced/additional-responses.md. PR #12828 by @zhaohan-dong.
  • 📝 Update includes in docs/en/docs/tutorial/path-params-numeric-validations.md. PR #12825 by @zhaohan-dong.
  • 📝 Update includes for docs/en/docs/advanced/testing-websockets.md. PR #12761 by @hamidrasti.
  • 📝 Update includes for docs/en/docs/advanced/using-request-directly.md. PR #12760 by @hamidrasti.
  • 📝 Update includes for docs/advanced/wsgi.md. PR #12758 by @hamidrasti.
  • 📝 Update includes in docs/de/docs/tutorial/middleware.md. PR #12729 by @paintdog.
  • 📝 Update includes for docs/en/docs/tutorial/schema-extra-example.md. PR #12822 by @tiangolo.
  • 📝 Update includes in docs/fr/docs/advanced/additional-responses.md. PR #12634 by @fegmorte.
  • 📝 Update includes in docs/fr/docs/advanced/path-operation-advanced-configuration.md. PR #12633 by @kantandane.
  • 📝 Update includes in docs/fr/docs/advanced/response-directly.md. PR #12632 by @kantandane.
  • 📝 Update includes for docs/en/docs/tutorial/header-params.md. PR #12640 by @vishnuvskvkl.
  • 📝 Update includes in docs/en/docs/tutorial/cookie-param-models.md. PR #12639 by @vishnuvskvkl.
  • 📝 Update includes for docs/en/docs/tutorial/extra-models.md. PR #12638 by @vishnuvskvkl.
  • 📝 Update includes for docs/en/docs/tutorial/cors.md. PR #12637 by @vishnuvskvkl.
  • 📝 Update includes for docs/en/docs/tutorial/dependencies/sub-dependencies.md. PR #12810 by @handabaldeep.
  • 📝 Update includes in docs/en/docs/tutorial/body-nested-models.md. PR #12812 by @zhaohan-dong.
  • 📝 Update includes in docs/en/docs/tutorial/path-operation-configuration.md. PR #12809 by @AlexWendland.
  • 📝 Update includes in docs/en/docs/tutorial/request-files.md. PR #12818 by @zhaohan-dong.
  • 📝 Update includes for docs/en/docs/tutorial/query-param-models.md. PR #12817 by @handabaldeep.
  • 📝 Update includes in docs/en/docs/tutorial/path-params.md. PR #12811 by @AlexWendland.
  • 📝 Update includes in docs/en/docs/tutorial/response-model.md. PR #12621 by @kantandane.
  • 📝 Update includes in docs/en/docs/advanced/websockets.md. PR #12606 by @vishnuvskvkl.
  • 📝 Updates include for docs/en/docs/tutorial/cookie-params.md. PR #12808 by @handabaldeep.
  • 📝 Update includes in docs/en/docs/tutorial/middleware.md. PR #12807 by @AlexWendland.
  • 📝 Update includes in docs/en/docs/advanced/sub-applications.md. PR #12806 by @zhaohan-dong.
  • 📝 Update includes in docs/en/docs/advanced/response-headers.md. PR #12805 by @zhaohan-dong.
  • 📝 Update includes in docs/fr/docs/tutorial/first-steps.md. PR #12594 by @kantandane.
  • 📝 Update includes in docs/en/docs/advanced/response-cookies.md. PR #12804 by @zhaohan-dong.
  • 📝 Update includes in docs/en/docs/advanced/path-operation-advanced-configuration.md. PR #12802 by @zhaohan-dong.
  • 📝 Update includes for docs/en/docs/advanced/response-directly.md. PR #12803 by @handabaldeep.
  • 📝 Update includes in docs/zh/docs/tutorial/background-tasks.md. PR #12798 by @zhaohan-dong.
  • 📝 Update includes for docs/de/docs/tutorial/body-multiple-params.md. PR #12699 by @alissadb.
  • 📝 Update includes in docs/em/docs/tutorial/body-updates.md. PR #12799 by @AlexWendland.
  • 📝 Update includes docs/en/docs/advanced/response-change-status-code.md. PR #12801 by @handabaldeep.
  • 📝 Update includes docs/en/docs/advanced/openapi-callbacks.md. PR #12800 by @handabaldeep.
  • 📝 Update includes in docs/fr/docs/tutorial/body-multiple-params.md. PR #12598 by @kantandane.
  • 📝 Update includes in docs/en/docs/tutorial/body-multiple-params.md. PR #12593 by @Tashanam-Shahbaz.
  • 📝 Update includes in docs/pt/docs/tutorial/background-tasks.md. PR #12736 by @bhunao.
  • 📝 Update includes for docs/en/docs/advanced/custom-response.md. PR #12797 by @handabaldeep.
  • 📝 Update includes for docs/pt/docs/python-types.md. PR #12671 by @ceb10n.
  • 📝 Update includes for docs/de/docs/python-types.md. PR #12660 by @alissadb.
  • 📝 Update includes for docs/de/docs/advanced/dataclasses.md. PR #12658 by @alissadb.
  • 📝 Update includes in docs/fr/docs/tutorial/path-params.md. PR #12592 by @kantandane.
  • 📝 Update includes for docs/de/docs/how-to/configure-swagger-ui.md. PR #12690 by @alissadb.
  • 📝 Update includes in docs/en/docs/advanced/security/oauth2-scopes.md. PR #12572 by @krishnamadhavan.
  • 📝 Update includes for docs/en/docs/how-to/conditional-openapi.md. PR #12624 by @rabinlamadong.
  • 📝 Update includes in docs/en/docs/tutorial/dependencies/index.md. PR #12615 by @bharara.
  • 📝 Update includes in docs/en/docs/tutorial/response-status-code.md. PR #12620 by @kantandane.
  • 📝 Update includes in docs/en/docs/how-to/custom-docs-ui-assets.md. PR #12623 by @rabinlamadong.
  • 📝 Update includes in docs/en/docs/advanced/openapi-webhooks.md. PR #12605 by @salmantec.
  • 📝 Update includes in docs/en/docs/advanced/events.md. PR #12604 by @salmantec.
  • 📝 Update includes in docs/en/docs/advanced/dataclasses.md. PR #12603 by @salmantec.
  • 📝 Update includes in docs/es/docs/tutorial/cookie-params.md. PR #12602 by @antonyare93.
  • 📝 Update includes in docs/fr/docs/tutorial/path-params-numeric-validations.md. PR #12601 by @kantandane.
  • 📝 Update includes in docs/fr/docs/tutorial/background-tasks.md. PR #12600 by @kantandane.
  • 📝 Update includes in docs/en/docs/tutorial/encoder.md. PR #12597 by @tonyjly.
  • 📝 Update includes in docs/en/docs/how-to/custom-docs-ui-assets.md. PR #12557 by @philipokiokio.
  • 🎨 Adjust spacing. PR #12635 by @alejsdev.
  • 📝 Update includes in docs/en/docs/how-to/custom-request-and-route.md. PR #12560 by @philipokiokio.

Translations

  • 🌐 Add Korean translation for docs/ko/docs/advanced/testing-websockets.md. PR #12739 by @Limsunoh.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/environment-variables.md. PR #12785 by @Vincy1230.
  • 🌐 Add Chinese translation for docs/zh/docs/environment-variables.md. PR #12784 by @Vincy1230.
  • 🌐 Add Korean translation for ko/docs/advanced/response-headers.md. PR #12740 by @kwang1215.
  • 🌐 Add Chinese translation for docs/zh/docs/virtual-environments.md. PR #12790 by @Vincy1230.
  • 🌐 Add Korean translation for /docs/ko/docs/environment-variables.md. PR #12526 by @Tolerblanc.
  • 🌐 Add Korean translation for docs/ko/docs/history-design-future.md. PR #12646 by @saeye.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/advanced-dependencies.md. PR #12675 by @kim-sangah.
  • 🌐 Add Korean translation for docs/ko/docs/how-to/conditional-openapi.md. PR #12731 by @sptcnl.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/using_request_directly.md. PR #12738 by @kwang1215.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/testing-events.md. PR #12741 by @9zimin9.
  • 🌐 Add Korean translation for docs/ko/docs/security/index.md. PR #12743 by @kim-sangah.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/path-operation-advanced-configuration.md. PR #12762 by @Joao-Pedro-P-Holanda.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/wsgi.md. PR #12659 by @Limsunoh.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/websockets.md. PR #12703 by @devfernandoa.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/security/simple-oauth2.md. PR #12520 by @LidiaDomingos.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/response-directly.md. PR #12674 by @9zimin9.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/middleware.md. PR #12704 by @devluisrodrigues.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/openapi-callbacks.md. PR #12705 by @devfernandoa.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/request-files.md. PR #12706 by @devluisrodrigues.
  • 🌐 Add Portuguese Translation for docs/pt/docs/advanced/custom-response.md. PR #12631 by @Joao-Pedro-P-Holanda.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/metadata.md. PR #12538 by @LinkolnR.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/metadata.md. PR #12541 by @kwang1215.
  • 🌐 Add Korean Translation for docs/ko/docs/advanced/response-cookies.md. PR #12546 by @kim-sangah.
  • 🌐 Add Korean translation for docs/ko/docs/fastapi-cli.md. PR #12515 by @dhdld.
  • 🌐 Add Korean Translation for docs/ko/docs/advanced/response-change-status-code.md. PR #12547 by @9zimin9.

Internal

- Python
Published by tiangolo over 1 year ago

fastapi - 0.115.4

Refactors

  • ♻️ Update logic to import and check python-multipart for compatibility with newer version. PR #12627 by @tiangolo.

Docs

Translations

  • 📝 Update includes in docs/de/docs/advanced/async-tests.md. PR #12567 by @imjuanleonard.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/sql-databases.md. PR #12530 by @ilacftemp.
  • 🌐 Add Korean translation for docs/ko/docs/benchmarks.md. PR #12540 by @Limsunoh.
  • 🌐 Add Portuguese translation for docs/pt/docs/how-to/separate-openapi-schemas.md. PR #12518 by @ilacftemp.
  • 🌐 Update Traditional Chinese translation for docs/zh-hant/docs/deployment/index.md. PR #12521 by @codingjenny.
  • 🌐 Update Traditional Chinese translation for docs/zh-hant/docs/deployment/cloud.md. PR #12522 by @codingjenny.
  • 🌐 Update Traditional Chinese translation for docs/zh-hant/docs/how-to/index.md. PR #12523 by @codingjenny.
  • 🌐 Update Traditional Chinese translation for docs/zh-hant/docs/tutorial/index.md. PR #12524 by @codingjenny.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/how-to/index.md. PR #12468 by @codingjenny.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/tutorial/index.md. PR #12466 by @codingjenny.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/header-param-models.md. PR #12437 by @Joao-Pedro-P-Holanda.
  • 🌐 Add Portuguese translation for docs/pt/docs/how-to/extending-openapi.md. PR #12470 by @ilacftemp.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/dataclasses.md. PR #12475 by @leoscarlato.
  • 🌐 Add Portuguese translation for docs/pt/docs/how-to/custom-request-and-route.md. PR #12483 by @devfernandoa.

Internal

- Python
Published by tiangolo over 1 year ago

fastapi - 0.115.3

Upgrades

  • ⬆️ Upgrade Starlette to >=0.40.0,<0.42.0. PR #12469 by @defnull.

Docs

Translations

  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/fastapi-cli.md. PR #12444 by @codingjenny.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/deployment/index.md. PR #12439 by @codingjenny.
  • 🌐 Add Portuguese translation for docs/pt/docs/how-to/testing-database.md. PR #12472 by @GuilhermeRameh.
  • 🌐 Add Portuguese translation for docs/pt/docs/how-to/custom-docs-ui-assets.md. PR #12473 by @devluisrodrigues.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/response-headers.md. PR #12458 by @leonardopaloschi.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/deployment/cloud.md. PR #12440 by @codingjenny.
  • 🌐 Update Portuguese translation for docs/pt/docs/python-types.md. PR #12428 by @ceb10n.
  • 🌐 Add Russian translation for docs/ru/docs/environment-variables.md. PR #12436 by @wisderfin.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/resources/index.md. PR #12443 by @codingjenny.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/about/index.md. PR #12438 by @codingjenny.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/query-param-models.md. PR #12414 by @ceb10n.
  • 🌐 Remove Portuguese translation for docs/pt/docs/deployment.md. PR #12427 by @ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/body-updates.md. PR #12381 by @andersonrocha0.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/response-cookies.md. PR #12417 by @Paulofalcao2002.

Internal

- Python
Published by tiangolo over 1 year ago

fastapi - 0.115.2

Upgrades

- Python
Published by tiangolo over 1 year ago

fastapi - 0.115.1

Fixes

  • 🐛 Fix openapi generation with responses kwarg. PR #10895 by @flxdot.
  • 🐛 Remove Required shadowing from fastapi using Pydantic v2. PR #12197 by @pachewise.

Refactors

  • ♻️ Update type annotations for improved python-multipart. PR #12407 by @tiangolo.

Docs

  • ✨ Add new tutorial for SQL databases with SQLModel. PR #12285 by @tiangolo.
  • 📝 Add External Link: How to profile a FastAPI asynchronous request. PR #12389 by @brouberol.
  • 🔧 Remove base_path for mdx_include Markdown extension in MkDocs. PR #12391 by @tiangolo.
  • 📝 Update link to Swagger UI configuration docs. PR #12264 by @makisukurisu.
  • 📝 Adding links for Playwright and Vite in docs/project-generation.md. PR #12274 by @kayqueGovetri.
  • 📝 Fix small typos in the documentation. PR #12213 by @svlandeg.

Translations

  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/cookie-param-models.md. PR #12298 by @ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/how-to/graphql.md. PR #12215 by @AnandaCampelo.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/security/oauth2-scopes.md. PR #12263 by @ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/deployment/concepts.md. PR #12219 by @marcelomarkus.
  • 🌐 Add Portuguese translation for docs/pt/docs/how-to/conditional-openapi.md. PR #12221 by @marcelomarkus.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/response-directly.md. PR #12266 by @Joao-Pedro-P-Holanda.
  • 🌐 Update Portuguese translation for docs/pt/docs/tutorial/cookie-params.md. PR #12297 by @ceb10n.
  • 🌐 Fix Korean translation for docs/ko/docs/tutorial/index.md. PR #12278 by @kkotipy.
  • 🌐 Update Portuguese translation for docs/pt/docs/advanced/security/http-basic-auth.md. PR #12275 by @andersonrocha0.
  • 🌐 Add Portuguese translation for docs/pt/docs/deployment/cloud.md. PR #12217 by @marcelomarkus.
  • ✏️ Fix typo in docs/es/docs/python-types.md. PR #12235 by @JavierSanchezCastro.
  • 🌐 Add Dutch translation for docs/nl/docs/environment-variables.md. PR #12200 by @maxscheijen.
  • 🌐 Add Portuguese translation for docs/pt/docs/deployment/manually.md. PR #12210 by @JoaoGustavoRogel.
  • 🌐 Add Portuguese translation for docs/pt/docs/deployment/server-workers.md. PR #12220 by @marcelomarkus.
  • 🌐 Add Portuguese translation for docs/pt/docs/how-to/configure-swagger-ui.md. PR #12222 by @marcelomarkus.

Internal

- Python
Published by tiangolo over 1 year ago

fastapi - 0.115.0

Highlights

Now you can declare Query, Header, and Cookie parameters with Pydantic models. 🎉

Query Parameter Models

Use Pydantic models for Query parameters:

```python from typing import Annotated, Literal

from fastapi import FastAPI, Query from pydantic import BaseModel, Field

app = FastAPI()

class FilterParams(BaseModel): limit: int = Field(100, gt=0, le=100) offset: int = Field(0, ge=0) orderby: Literal["createdat", "updatedat"] = "createdat" tags: list[str] = []

@app.get("/items/") async def readitems(filterquery: Annotated[FilterParams, Query()]): return filter_query ```

Read the new docs: Query Parameter Models.

Header Parameter Models

Use Pydantic models for Header parameters:

```python from typing import Annotated

from fastapi import FastAPI, Header from pydantic import BaseModel

app = FastAPI()

class CommonHeaders(BaseModel): host: str savedata: bool ifmodifiedsince: str | None = None traceparent: str | None = None xtag: list[str] = []

@app.get("/items/") async def read_items(headers: Annotated[CommonHeaders, Header()]): return headers ```

Read the new docs: Header Parameter Models.

Cookie Parameter Models

Use Pydantic models for Cookie parameters:

```python from typing import Annotated

from fastapi import Cookie, FastAPI from pydantic import BaseModel

app = FastAPI()

class Cookies(BaseModel): sessionid: str fatebooktracker: str | None = None googall_tracker: str | None = None

@app.get("/items/") async def read_items(cookies: Annotated[Cookies, Cookie()]): return cookies ```

Read the new docs: Cookie Parameter Models.

Forbid Extra Query (Cookie, Header) Parameters

Use Pydantic models to restrict extra values for Query parameters (also applies to Header and Cookie parameters).

To achieve it, use Pydantic's model_config = {"extra": "forbid"}:

```python from typing import Annotated, Literal

from fastapi import FastAPI, Query from pydantic import BaseModel, Field

app = FastAPI()

class FilterParams(BaseModel): model_config = {"extra": "forbid"}

limit: int = Field(100, gt=0, le=100)
offset: int = Field(0, ge=0)
order_by: Literal["created_at", "updated_at"] = "created_at"
tags: list[str] = []

@app.get("/items/") async def readitems(filterquery: Annotated[FilterParams, Query()]): return filter_query ```

This applies to Query, Header, and Cookie parameters, read the new docs:

Features

  • ✨ Add support for Pydantic models for parameters using Query, Cookie, Header. PR #12199 by @tiangolo.

Translations

  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/security/http-basic-auth.md. PR #12195 by @ceb10n.

Internal

- Python
Published by tiangolo over 1 year ago

fastapi - 0.114.2

Fixes

Translations

  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/request-form-models.md. PR #12175 by @ceb10n.
  • 🌐 Add Chinese translation for docs/zh/docs/project-generation.md. PR #12170 by @waketzheng.
  • 🌐 Add Dutch translation for docs/nl/docs/python-types.md. PR #12158 by @maxscheijen.

Internal

  • 💡 Add comments with instructions for Playwright screenshot scripts. PR #12193 by @tiangolo.
  • ➕ Add inline-snapshot for tests. PR #12189 by @tiangolo.

- Python
Published by tiangolo over 1 year ago

fastapi - 0.114.1

Refactors

  • ⚡️ Improve performance in request body parsing with a cache for internal model fields. PR #12184 by @tiangolo.

Docs

  • 📝 Remove duplicate line in docs for docs/en/docs/environment-variables.md. PR #12169 by @prometek.

Translations

  • 🌐 Add Portuguese translation for docs/pt/docs/virtual-environments.md. PR #12163 by @marcelomarkus.
  • 🌐 Add Portuguese translation for docs/pt/docs/environment-variables.md. PR #12162 by @marcelomarkus.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/testing.md. PR #12164 by @marcelomarkus.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/debugging.md. PR #12165 by @marcelomarkus.
  • 🌐 Add Korean translation for docs/ko/docs/project-generation.md. PR #12157 by @BORA040126.

Internal

- Python
Published by tiangolo over 1 year ago

fastapi - 0.114.0

You can restrict form fields to only include those declared in a Pydantic model and forbid any extra field sent in the request using Pydantic's model_config = {"extra": "forbid"}:

```python from typing import Annotated

from fastapi import FastAPI, Form from pydantic import BaseModel

app = FastAPI()

class FormData(BaseModel): username: str password: str model_config = {"extra": "forbid"}

@app.post("/login/") async def login(data: Annotated[FormData, Form()]): return data ```

Read the new docs: Form Models - Forbid Extra Form Fields.

Features

  • ✨ Add support for forbidding extra form fields with Pydantic models. PR #12134 by @tiangolo.

Docs

  • 📝 Update docs, Form Models section title, to match config name. PR #12152 by @tiangolo.

Internal

  • ✅ Update internal tests for latest Pydantic, including CI tweaks to install the latest Pydantic. PR #12147 by @tiangolo.

- Python
Published by tiangolo over 1 year ago

fastapi - 0.113.0

Now you can declare form fields with Pydantic models:

```python from typing import Annotated

from fastapi import FastAPI, Form from pydantic import BaseModel

app = FastAPI()

class FormData(BaseModel): username: str password: str

@app.post("/login/") async def login(data: Annotated[FormData, Form()]): return data ```

Read the new docs: Form Models.

Features

  • ✨ Add support for Pydantic models in Form parameters. PR #12129 by @tiangolo.

Internal

- Python
Published by tiangolo over 1 year ago

fastapi - 0.112.4

This release is mainly a big internal refactor to enable adding support for Pydantic models for Form fields, but that feature comes in the next release.

This release shouldn't affect apps using FastAPI in any way. You don't even have to upgrade to this version yet. It's just a checkpoint. 🤓

Refactors

  • ♻️ 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. PR #12117 by @tiangolo.

Internal

  • ⏪️ Temporarily revert "✨ Add support for Pydantic models in Form parameters" to make a checkpoint release. PR #12128 by @tiangolo.
  • ✨ Add support for Pydantic models in Form parameters. PR #12127 by @tiangolo. Reverted to make a checkpoint release with only refactors.

- Python
Published by tiangolo over 1 year ago

fastapi - 0.112.3

This release is mainly internal refactors, it shouldn't affect apps using FastAPI in any way. You don't even have to upgrade to this version yet. There are a few bigger releases coming right after. 🚀

Refactors

  • ♻️ Refactor internal check_file_field(), rename to ensure_multipart_is_installed() to clarify its purpose. PR #12106 by @tiangolo.
  • ♻️ Rename internal create_response_field() to create_model_field() as it's used for more than response models. PR #12103 by @tiangolo.
  • ♻️ Refactor and simplify internal data from solve_dependencies() using dataclasses. PR #12100 by @tiangolo.
  • ♻️ Refactor and simplify internal analyze_param() to structure data with dataclasses instead of tuple. PR #12099 by @tiangolo.
  • ♻️ Refactor and simplify dependencies data structures with dataclasses. PR #12098 by @tiangolo.

Docs

  • 📝 Add External Link: Techniques and applications of SQLAlchemy global filters in FastAPI. PR #12109 by @TheShubhendra.
  • 📝 Add note about time.perf_counter() in middlewares. PR #12095 by @tiangolo.
  • 📝 Tweak middleware code sample time.time() to time.perf_counter(). PR #11957 by @domdent.
  • 🔧 Update sponsors: Coherence. PR #12093 by @tiangolo.
  • 📝 Fix async test example not to trigger DeprecationWarning. PR #12084 by @marcinsulikowski.
  • 📝 Update docs_src/path_params_numeric_validations/tutorial006.py. PR #11478 by @MuhammadAshiqAmeer.
  • 📝 Update comma in docs/en/docs/async.md. PR #12062 by @Alec-Gillis.
  • 📝 Update docs about serving FastAPI: ASGI servers, Docker containers, etc.. PR #12069 by @tiangolo.
  • 📝 Clarify response_class parameter, validations, and returning a response directly. PR #12067 by @tiangolo.
  • 📝 Fix minor typos and issues in the documentation. PR #12063 by @svlandeg.
  • 📝 Add note in Docker docs about ensuring graceful shutdowns and lifespan events with CMD exec form. PR #11960 by @GPla.

Translations

  • 🌐 Add Dutch translation for docs/nl/docs/features.md. PR #12101 by @maxscheijen.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/testing-events.md. PR #12108 by @ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/security/index.md. PR #12114 by @ceb10n.
  • 🌐 Add Dutch translation for docs/nl/docs/index.md. PR #12042 by @svlandeg.
  • 🌐 Update Chinese translation for docs/zh/docs/how-to/index.md. PR #12070 by @synthpop123.

Internal

- Python
Published by tiangolo over 1 year ago

fastapi - 0.112.2

Fixes

  • 🐛 Fix allow_inf_nan option for Param and Body classes. PR #11867 by @giunio-prc.
  • 🐛 Ensure that app.include_router merges nested lifespans. PR #9630 by @Lancetnik.

Refactors

Docs

  • 📝 Fix a typo in docs/en/docs/virtual-environments.md. PR #12064 by @aymenkrifa.
  • 📝 Add docs about Environment Variables and Virtual Environments. PR #12054 by @tiangolo.
  • 📝 Add Asyncer mention in async docs. PR #12037 by @tiangolo.
  • 📝 Move the Features docs to the top level to improve the main page menu. PR #12036 by @tiangolo.
  • ✏️ Fix import typo in reference example for Security. PR #11168 by @0shah0.
  • 📝 Highlight correct line in tutorial docs/en/docs/tutorial/body-multiple-params.md. PR #11978 by @svlandeg.
  • 🔥 Remove Sentry link from Advanced Middleware docs. PR #12031 by @alejsdev.
  • 📝 Clarify management tasks for translations, multiples files in one PR. PR #12030 by @tiangolo.
  • 📝 Edit the link to the OpenAPI "Responses Object" and "Response Object" sections in the "Additional Responses in OpenAPI" section. PR #11996 by @VaitoSoi.
  • 🔨 Specify email-validator dependency with dash. PR #11515 by @jirikuncar.
  • 🌐 Add Spanish translation for docs/es/docs/project-generation.md. PR #11947 by @alejsdev.
  • 📝 Fix minor typo. PR #12026 by @MicaelJarniac.
  • 📝 Several docs improvements, tweaks, and clarifications. PR #11390 by @nilslindemann.
  • 📝 Add missing compresslevel parameter on docs for GZipMiddleware. PR #11350 by @junah201.
  • 📝 Fix inconsistent response code when item already exists in docs for testing. PR #11818 by @lokomilo.
  • 📝 Update docs/en/docs/tutorial/body.md with Python 3.10 union type example. PR #11415 by @rangzen.

Translations

  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/request_file.md. PR #12018 by @Joao-Pedro-P-Holanda.
  • 🌐 Add Japanese translation for docs/ja/docs/learn/index.md. PR #11592 by @ukwhatn.
  • 📝 Update Spanish translation docs for consistency. PR #12044 by @alejsdev.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/dependencies/dependencies-with-yield.md. PR #12028 by @xuvjso.
  • 📝 Update FastAPI People, do not translate to have the most recent info. PR #12034 by @tiangolo.
  • 🌐 Update Urdu translation for docs/ur/docs/benchmarks.md. PR #10046 by @AhsanSheraz.

Internal

- Python
Published by tiangolo almost 2 years ago

fastapi - 0.112.1

Upgrades

Docs

  • 📝 Update docs section about "Don't Translate these Pages". PR #12022 by @tiangolo.
  • 📝 Add documentation for non-translated pages and scripts to verify them. PR #12020 by @tiangolo.
  • 📝 Update docs about discussions questions. PR #11985 by @tiangolo.

Translations

  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/bigger-applications.md. PR #11971 by @marcelomarkus.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/testing-websockets.md. PR #11994 by @ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/testing-dependencies.md. PR #11995 by @ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/using-request-directly.md. PR #11956 by @ceb10n.
  • 🌐 Add French translation for docs/fr/docs/tutorial/body-multiple-params.md. PR #11796 by @pe-brian.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/query-params.md. PR #11557 by @caomingpei.
  • 🌐 Update typo in Chinese translation for docs/zh/docs/advanced/testing-dependencies.md. PR #11944 by @bestony.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/sub-applications.md and docs/pt/docs/advanced/behind-a-proxy.md. PR #11856 by @marcelomarkus.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/cors.md and docs/pt/docs/tutorial/middleware.md. PR #11916 by @wesinalves.
  • 🌐 Add French translation for docs/fr/docs/tutorial/path-params-numeric-validations.md. PR #11788 by @pe-brian.

Internal

- Python
Published by tiangolo almost 2 years ago

fastapi - 0.112.0

Breaking Changes

  • ♻️ Add support for pip install "fastapi[standard]" with standard dependencies and python -m fastapi. PR #11935 by @tiangolo.

Summary

Install with:

bash pip install "fastapi[standard]"

Other Changes

  • This adds support for calling the CLI as:

bash python -m fastapi

  • And it upgrades fastapi-cli[standard] >=0.0.5.

Technical Details

Before this, fastapi would include the standard dependencies, with Uvicorn and the fastapi-cli, etc.

And fastapi-slim would not include those standard dependencies.

Now fastapi doesn't include those standard dependencies unless you install with pip install "fastapi[standard]".

Before, you would install pip install fastapi, now you should include the standard optional dependencies (unless you want to exclude one of those): pip install "fastapi[standard]".

This change is because having the standard optional dependencies installed by default was being inconvenient to several users, and having to install instead fastapi-slim was not being a feasible solution.

Discussed here: #11522 and here: #11525

Docs

Translations

  • 🌐 Update Portuguese translation for docs/pt/docs/alternatives.md. PR #11931 by @ceb10n.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/dependencies/sub-dependencies.md. PR #10515 by @AlertRED.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/response-change-status-code.md. PR #11863 by @ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/reference/background.md. PR #11849 by @lucasbalieiro.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/dependencies/dependencies-with-yield.md. PR #11848 by @Joao-Pedro-P-Holanda.
  • 🌐 Add Portuguese translation for docs/pt/docs/reference/apirouter.md. PR #11843 by @lucasbalieiro.

Internal

  • 🔧 Update sponsors: add liblab. PR #11934 by @tiangolo.
  • 👷 Update GitHub Action label-approved permissions. PR #11933 by @tiangolo.
  • 👷 Refactor GitHub Action to comment docs deployment URLs and update token. PR #11925 by @tiangolo.
  • 👷 Update tokens for GitHub Actions. PR #11924 by @tiangolo.
  • 👷 Update token permissions to comment deployment URL in docs. PR #11917 by @tiangolo.
  • 👷 Update token permissions for GitHub Actions. PR #11915 by @tiangolo.
  • 👷 Update GitHub Actions token usage. PR #11914 by @tiangolo.
  • 👷 Update GitHub Action to notify translations with label approved-1. PR #11907 by @tiangolo.
  • 🔧 Update sponsors, remove Reflex. PR #11875 by @tiangolo.
  • 🔧 Update sponsors: remove TalkPython. PR #11861 by @tiangolo.
  • 🔨 Update docs Termynal scripts to not include line nums for local dev. PR #11854 by @tiangolo.

- Python
Published by tiangolo almost 2 years ago

fastapi - 0.111.1

Upgrades

  • ➖ Remove orjson and ujson from default dependencies. PR #11842 by @tiangolo.
    • These dependencies are still installed when you install with pip install "fastapi[all]". But they not included in pip install fastapi.
  • 📝 Restored Swagger-UI links to use the latest version possible. PR #11459 by @UltimateLobster.

Docs

Translations

  • 🌐 Add Spanish translation for docs/es/docs/how-to/graphql.md. PR #11697 by @camigomezdev.
  • 🌐 Add Portuguese translation for docs/pt/docs/reference/index.md. PR #11840 by @lucasbalieiro.
  • 🌐 Fix link in German translation. PR #11836 by @anitahammer.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/dependencies/sub-dependencies.md. PR #11792 by @Joao-Pedro-P-Holanda.
  • 🌐 Add Turkish translation for docs/tr/docs/tutorial/request-forms.md. PR #11553 by @hasansezertasan.
  • 🌐 Add Portuguese translation for docs/pt/docs/reference/exceptions.md. PR #11834 by @lucasbalieiro.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/dependencies/global-dependencies.md. PR #11826 by @Joao-Pedro-P-Holanda.
  • 🌐 Add Portuguese translation for docs/pt/docs/how-to/general.md. PR #11825 by @lucasbalieiro.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/async-tests.md. PR #11808 by @ceb10n.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/first-steps.md. PR #11809 by @vkhoroshchak.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/dependencies/dependencies-in-path-operation-operators.md. PR #11804 by @Joao-Pedro-P-Holanda.
  • 🌐 Add Chinese translation for docs/zh/docs/fastapi-cli.md. PR #11786 by @logan2d5.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/openapi-webhooks.md. PR #11791 by @ceb10n.
  • 🌐 Update Chinese translation for docs/tutorial/security/oauth2-jwt.md. PR #11781 by @logan2d5.
  • 📝 Fix image missing in French translation for docs/fr/docs/async.md . PR #11787 by @pe-brian.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/advanced-dependencies.md. PR #11775 by @ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/dependencies/classes-as-dependencies.md. PR #11768 by @Joao-Pedro-P-Holanda.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/additional-status-codes.md. PR #11753 by @ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/dependencies/index.md. PR #11757 by @Joao-Pedro-P-Holanda.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/settings.md. PR #11739 by @Joao-Pedro-P-Holanda.
  • 🌐 Add French translation for docs/fr/docs/learn/index.md. PR #11712 by @benjaminvandammeholberton.
  • 🌐 Add Portuguese translation for docs/pt/docs/how-to/index.md. PR #11731 by @vhsenna.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/additional-responses.md. PR #11736 by @ceb10n.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/benchmarks.md. PR #11713 by @ceb10n.
  • 🌐 Fix Korean translation for docs/ko/docs/tutorial/response-status-code.md. PR #11718 by @nayeonkinn.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/extra-data-types.md. PR #11711 by @nayeonkinn.
  • 🌐 Fix Korean translation for docs/ko/docs/tutorial/body-nested-models.md. PR #11710 by @nayeonkinn.
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/fastapi-cli.md. PR #11641 by @ayr-ton.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/fastapi-people.md. PR #11639 by @hsuanchi.
  • 🌐 Add Turkish translation for docs/tr/docs/advanced/index.md. PR #11606 by @hasansezertasan.
  • 🌐 Add Turkish translation for docs/tr/docs/deployment/cloud.md. PR #11610 by @hasansezertasan.
  • 🌐 Add Turkish translation for docs/tr/docs/advanced/security/index.md. PR #11609 by @hasansezertasan.
  • 🌐 Add Turkish translation for docs/tr/docs/advanced/testing-websockets.md. PR #11608 by @hasansezertasan.
  • 🌐 Add Turkish translation for docs/tr/docs/how-to/general.md. PR #11607 by @hasansezertasan.
  • 🌐 Update Chinese translation for docs/zh/docs/advanced/templates.md. PR #11620 by @chaoless.
  • 🌐 Add Turkish translation for docs/tr/docs/deployment/index.md. PR #11605 by @hasansezertasan.
  • 🌐 Add Turkish translation for docs/tr/docs/tutorial/static-files.md. PR #11599 by @hasansezertasan.
  • 🌐 Polish translation for docs/pl/docs/fastapi-people.md. PR #10196 by @isulim.
  • 🌐 Add Turkish translation for docs/tr/docs/advanced/wsgi.md. PR #11575 by @hasansezertasan.
  • 🌐 Add Turkish translation for docs/tr/docs/tutorial/cookie-params.md. PR #11561 by @hasansezertasan.
  • 🌐 Add Russian translation for docs/ru/docs/about/index.md. PR #10961 by @s111d.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/sql-databases.md. PR #11539 by @chaoless.
  • 🌐 Add Chinese translation for docs/zh/docs/how-to/configure-swagger-ui.md. PR #11501 by @Lucas-lyh.
  • 🌐 Update Chinese translation for /docs/advanced/security/http-basic-auth.md. PR #11512 by @nick-cjyx9.

Internal

- Python
Published by tiangolo almost 2 years ago

fastapi - 0.111.0

Features

Try it out with:

```console $ pip install --upgrade fastapi

$ fastapi dev main.py

╭────────── FastAPI CLI - Development mode ───────────╮ │ │ │ Serving at: http://127.0.0.1:8000 │ │ │ │ API docs: http://127.0.0.1:8000/docs │ │ │ │ Running in development mode, for production use: │ │ │ │ fastapi run │ │ │ ╰─────────────────────────────────────────────────────╯

INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp'] INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: Started reloader process [2248755] using WatchFiles INFO: Started server process [2248757] INFO: Waiting for application startup. INFO: Application startup complete. ```

Refactors

  • 🔧 Add configs and setup for fastapi-slim including optional extras fastapi-slim[standard], and fastapi including by default the same standard extras. PR #11503 by @tiangolo.

- Python
Published by tiangolo about 2 years ago

fastapi - 0.110.3

Latest Changes

Docs

  • 📝 Update references to Python version, FastAPI supports all the current versions, no need to make the version explicit. PR #11496 by @tiangolo.
  • ✏️ Fix typo in fastapi/security/api_key.py. PR #11481 by @ch33zer.
  • ✏️ Fix typo in security/http.py. PR #11455 by @omarmoo5.

Translations

  • 🌐 Add Traditional Chinese translation for docs/zh-hant/benchmarks.md. PR #11484 by @KNChiu.
  • 🌐 Update Chinese translation for docs/zh/docs/fastapi-people.md. PR #11476 by @billzhong.
  • 🌐 Add Chinese translation for docs/zh/docs/how-to/index.md and docs/zh/docs/how-to/general.md. PR #11443 by @billzhong.
  • 🌐 Add Spanish translation for cookie-params docs/es/docs/tutorial/cookie-params.md. PR #11410 by @fabianfalon.

Internal

- Python
Published by tiangolo about 2 years ago

fastapi - 0.110.2

Fixes

  • 🐛 Fix support for query parameters with list types, handle JSON encoding Pydantic UndefinedType. PR #9929 by @arjwilliams.

Refactors

  • ♻️ Simplify Pydantic configs in OpenAPI models in fastapi/openapi/models.py. PR #10886 by @JoeTanto2.
  • ✨ Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response. PR #11461 by @tiangolo.

Docs

Translations

  • 🌐 Update Chinese translation for docs/zh/docs/index.html. PR #11430 by @waketzheng.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #11411 by @anton2yakovlev.
  • 🌐 Add Portuguese translations for learn/index.md resources/index.md help/index.md about/index.md. PR #10807 by @nazarepiedady.
  • 🌐 Update Russian translations for deployments docs. PR #11271 by @Lufa1u.
  • 🌐 Add Bengali translations for docs/bn/docs/python-types.md. PR #11376 by @imtiaz101325.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/security/simple-oauth2.md. PR #5744 by @KdHyeon0661.
  • 🌐 Add Korean translation for docs/ko/docs/help-fastapi.md. PR #4139 by @kty4119.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/events.md. PR #5087 by @pers0n4.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/path-operation-configuration.md. PR #1954 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/request-forms-and-files.md. PR #1946 by @SwftAlpc.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/dependencies/dependencies-with-yield.md. PR #10532 by @AlertRED.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/debugging.md. PR #5695 by @JungWooGeon.

Internal

- Python
Published by tiangolo about 2 years ago

fastapi - 0.110.1

Fixes

  • 🐛 Fix parameterless Depends() with generics. PR #9479 by @nzig.

Refactors

  • ♻️ Update mypy. PR #11049 by @k0t3n.
  • ♻️ Simplify string format with f-strings in fastapi/applications.py. PR #11335 by @igeni.

Upgrades

  • ⬆️ Upgrade Starlette to >=0.37.2,<0.38.0, remove Starlette filterwarning for internal tests. PR #11266 by @nothielf.

Docs

  • 📝 Tweak docs and translations links and remove old docs translations. PR #11381 by @tiangolo.
  • ✏️ Fix typo in fastapi/security/oauth2.py. PR #11368 by @shandongbinzhou.
  • 📝 Update links to Pydantic docs to point to new website. PR #11328 by @alejsdev.
  • ✏️ Fix typo in docs/en/docs/tutorial/extra-models.md. PR #11329 by @alejsdev.
  • 📝 Update project-generation.md. PR #11326 by @alejsdev.
  • 📝 Update External Links. PR #11327 by @alejsdev.
  • 🔥 Remove link to Pydantic's benchmark, on other i18n pages.. PR #11224 by @hirotoKirimaru.
  • ✏️ Fix typos in docstrings. PR #11295 by @davidhuser.
  • 🛠️ Improve Node.js script in docs to generate TypeScript clients. PR #11293 by @alejsdev.
  • 📝 Update examples for tests to replace "inexistent" for "nonexistent". PR #11220 by @Homesteady.
  • 📝 Update python-multipart GitHub link in all docs from https://andrew-d.github.io/python-multipart/ to https://github.com/Kludex/python-multipart. PR #11239 by @joshjhans.

Translations

  • 🌐 Add German translation for docs/de/docs/tutorial/response-status-code.md. PR #10357 by @nilslindemann.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/query-params.md. PR #3480 by @jaystone776.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/body.md. PR #3481 by @jaystone776.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/path-params.md. PR #3479 by @jaystone776.
  • 🌐 Update Chinese translation for docs/tutorial/body-fields.md. PR #3496 by @jaystone776.
  • 🌐 Update Chinese translation for docs/tutorial/extra-models.md. PR #3497 by @jaystone776.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/metadata.md. PR #2667 by @tokusumi.
  • 🌐 Add German translation for docs/de/docs/contributing.md. PR #10487 by @nilslindemann.
  • 🌐 Update Japanese translation of docs/ja/docs/tutorial/query-params.md. PR #10808 by @urushio.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/security/get-current-user.md. PR #3842 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/openapi-callbacks.md. PR #3825 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/extending-openapi.md. PR #3823 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/testing-dependencies.md. PR #3819 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/custom-request-and-route.md. PR #3816 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/external-links.md. PR #3833 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/templates.md. PR #3812 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/sub-applications.md. PR #3811 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/async-sql-databases.md. PR #3805 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/middleware.md. PR #3804 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/dataclasses.md. PR #3803 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/using-request-directly.md. PR #3802 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/security/http-basic-auth.md. PR #3801 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/security/oauth2-scopes.md. PR #3800 by @jaystone776.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/cookie-params.md. PR #3486 by @jaystone776.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/header-params.md. PR #3487 by @jaystone776.
  • 🌐 Update Chinese translation for docs/tutorial/response-status-code.md. PR #3498 by @jaystone776.
  • 🌐 Add German translation for docs/de/docs/tutorial/security/first-steps.md. PR #10432 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/events.md. PR #10693 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/deployment/cloud.md. PR #10746 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/behind-a-proxy.md. PR #10675 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/help-fastapi.md. PR #10455 by @nilslindemann.
  • 🌐 Update German translation for docs/de/docs/python-types.md. PR #10287 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/path-params.md. PR #10290 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/handling-errors.md. PR #10379 by @nilslindemann.
  • 🌐 Update German translation for docs/de/docs/index.md. PR #10283 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/security/http-basic-auth.md. PR #10651 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/bigger-applications.md. PR #10554 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/path-operation-advanced-configuration.md. PR #10612 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/static-files.md. PR #10584 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/security/oauth2-jwt.md. PR #10522 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/response-model.md. PR #10345 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/extra-models.md. PR #10351 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/body-updates.md. PR #10396 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/alternatives.md. PR #10855 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/templates.md. PR #10678 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/security/oauth2-scopes.md. PR #10643 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/async-tests.md. PR #10708 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/metadata.md. PR #10581 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/testing.md. PR #10586 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/schema-extra-example.md. PR #10597 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/index.md. PR #10611 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/response-directly.md. PR #10618 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/additional-responses.md. PR #10626 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/response-cookies.md. PR #10627 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/response-headers.md. PR #10628 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/response-change-status-code.md. PR #10632 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/advanced-dependencies.md. PR #10633 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/security/index.md. PR #10635 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/using-request-directly.md. PR #10653 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/dataclasses.md. PR #10667 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/middleware.md. PR #10668 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/sub-applications.md. PR #10671 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/websockets.md. PR #10687 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/testing-websockets.md. PR #10703 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/testing-events.md. PR #10704 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/testing-dependencies.md. PR #10706 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/openapi-callbacks.md. PR #10710 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/settings.md. PR #10709 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/wsgi.md. PR #10713 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/deployment/index.md. PR #10733 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/deployment/https.md. PR #10737 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/deployment/manually.md. PR #10738 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/deployment/concepts.md. PR #10744 by @nilslindemann.
  • 🌐 Update German translation for docs/de/docs/features.md. PR #10284 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/deployment/server-workers.md. PR #10747 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/deployment/docker.md. PR #10759 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/how-to/index.md. PR #10769 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/how-to/general.md. PR #10770 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/how-to/graphql.md. PR #10788 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/how-to/custom-request-and-route.md. PR #10789 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/how-to/conditional-openapi.md. PR #10790 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/how-to/separate-openapi-schemas.md. PR #10796 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/how-to/configure-swagger-ui.md. PR #10804 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/how-to/custom-docs-ui-assets.md. PR #10803 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/parameters.md. PR #10814 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/status.md. PR #10815 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/uploadfile.md. PR #10816 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/exceptions.md. PR #10817 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/dependencies.md. PR #10818 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/apirouter.md. PR #10819 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/websockets.md. PR #10822 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/httpconnection.md. PR #10823 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/response.md. PR #10824 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/middleware.md. PR #10837 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/openapi/*.md. PR #10838 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/security/index.md. PR #10839 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/staticfiles.md. PR #10841 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/testclient.md. PR #10843 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/project-generation.md. PR #10851 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/history-design-future.md. PR #10865 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/dependencies/dependencies-with-yield.md. PR #10422 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/dependencies/global-dependencies.md. PR #10420 by @nilslindemann.
  • 🌐 Update German translation for docs/de/docs/fastapi-people.md. PR #10285 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/dependencies/sub-dependencies.md. PR #10409 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/security/index.md. PR #10429 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #10411 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/extra-data-types.md. PR #10534 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/security/simple-oauth2.md. PR #10504 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/security/get-current-user.md. PR #10439 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/request-forms-and-files.md. PR #10368 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/encoder.md. PR #10385 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/request-forms.md. PR #10361 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/deployment/versions.md. PR #10491 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/async.md. PR #10449 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/cookie-params.md. PR #10323 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/dependencies/classes-as-dependencies.md. PR #10407 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/dependencies/index.md. PR #10399 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/header-params.md. PR #10326 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/path-params-numeric-validations.md. PR #10307 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/query-params-str-validations.md. PR #10304 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/request-files.md. PR #10364 by @nilslindemann.
  • :globewithmeridians: Add Portuguese translation for docs/pt/docs/advanced/templates.md. PR #11338 by @SamuelBFavarin.
  • 🌐 Add Bengali translations for docs/bn/docs/learn/index.md. PR #11337 by @imtiaz101325.
  • 🌐 Fix Korean translation for docs/ko/docs/index.md. PR #11296 by @choi-haram.
  • 🌐 Add Korean translation for docs/ko/docs/about/index.md. PR #11299 by @choi-haram.
  • 🌐 Add Korean translation for docs/ko/docs/advanced/index.md. PR #9613 by @ElliottLarsen.
  • 🌐 Add German translation for docs/de/docs/how-to/extending-openapi.md. PR #10794 by @nilslindemann.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/metadata.md. PR #11286 by @jackleeio.
  • 🌐 Update Chinese translation for docs/zh/docs/contributing.md. PR #10887 by @Aruelius.
  • 🌐 Add Azerbaijani translation for docs/az/docs/fastapi-people.md. PR #11195 by @vusallyv.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/dependencies/index.md. PR #11223 by @kohiry.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/query-params.md. PR #11242 by @jackleeio.
  • 🌐 Add Azerbaijani translation for docs/az/learn/index.md. PR #11192 by @vusallyv.

Internal

- Python
Published by tiangolo about 2 years ago

fastapi - 0.110.0

Breaking Changes

  • 🐛 Fix unhandled growing memory for internal server errors, refactor dependencies with yield and except to require raising again as in regular Python. PR #11191 by @tiangolo.
    • This is a breaking change (and only slightly) if you used dependencies with yield, used except in those dependencies, and didn't raise again.
    • This was reported internally by @rushilsrivastava as a memory leak when the server had unhandled exceptions that would produce internal server errors, the memory allocated before that point would not be released.
    • Read the new docs: Dependencies with yield and except.

In short, if you had dependencies that looked like:

Python def my_dep(): try: yield except SomeException: pass

Now you need to make sure you raise again after except, just as you would in regular Python:

Python def my_dep(): try: yield except SomeException: raise

Docs

Translations

  • 🌐 Add German translation for docs/de/docs/reference/background.md. PR #10820 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/templating.md. PR #10842 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/external-links.md. PR #10852 by @nilslindemann.
  • 🌐 Update Turkish translation for docs/tr/docs/tutorial/query-params.md. PR #11162 by @hasansezertasan.
  • 🌐 Add German translation for docs/de/docs/reference/encoders.md. PR #10840 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/responses.md. PR #10825 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/reference/request.md. PR #10821 by @nilslindemann.
  • 🌐 Add Turkish translation for docs/tr/docs/tutorial/query-params.md. PR #11078 by @emrhnsyts.
  • 🌐 Add German translation for docs/de/docs/reference/fastapi.md. PR #10813 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/newsletter.md. PR #10853 by @nilslindemann.
  • 🌐 Add Traditional Chinese translation for docs/zh-hant/docs/learn/index.md. PR #11142 by @hsuanchi.
  • 🌐 Add Korean translation for /docs/ko/docs/tutorial/dependencies/global-dependencies.md. PR #11123 by @riroan.
  • 🌐 Add Korean translation for /docs/ko/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #11124 by @riroan.
  • 🌐 Add Korean translation for /docs/ko/docs/tutorial/schema-extra-example.md. PR #11121 by @KaniKim.
  • 🌐 Add Korean translation for /docs/ko/docs/tutorial/body-fields.md. PR #11112 by @KaniKim.
  • 🌐 Add Korean translation for /docs/ko/docs/tutorial/cookie-params.md. PR #11118 by @riroan.
  • 🌐 Update Korean translation for /docs/ko/docs/dependencies/index.md. PR #11114 by @KaniKim.
  • 🌐 Update Korean translation for /docs/ko/docs/deployment/docker.md. PR #11113 by @KaniKim.
  • 🌐 Update Turkish translation for docs/tr/docs/tutorial/first-steps.md. PR #11094 by @hasansezertasan.
  • 🌐 Add Spanish translation for docs/es/docs/advanced/security/index.md. PR #2278 by @Xaraxx.
  • 🌐 Add Spanish translation for docs/es/docs/advanced/response-headers.md. PR #2276 by @Xaraxx.
  • 🌐 Add Spanish translation for docs/es/docs/deployment/index.md and ~/deployment/versions.md. PR #9669 by @pabloperezmoya.
  • 🌐 Add Spanish translation for docs/es/docs/benchmarks.md. PR #10928 by @pablocm83.
  • 🌐 Add Spanish translation for docs/es/docs/advanced/response-change-status-code.md. PR #11100 by @alejsdev.

- Python
Published by tiangolo over 2 years ago

fastapi - 0.109.2

Upgrades

  • ⬆️ Upgrade version of Starlette to >= 0.36.3. PR #11086 by @tiangolo.

Translations

  • 🌐 Update Turkish translation for docs/tr/docs/fastapi-people.md. PR #10547 by @alperiox.

Internal

- Python
Published by tiangolo over 2 years ago

fastapi - 0.109.1

Security fixes

  • ⬆️ Upgrade minimum version of python-multipart to >=0.0.7 to fix a vulnerability when using form data with a ReDos attack. You can also simply upgrade python-multipart.

Read more in the advisory: Content-Type Header ReDoS.

Features

  • ✨ Include HTTP 205 in status codes with no body. PR #10969 by @tiangolo.

Refactors

  • ✅ Refactor tests for duplicate operation ID generation for compatibility with other tools running the FastAPI test suite. PR #10876 by @emmettbutler.
  • ♻️ Simplify string format with f-strings in fastapi/utils.py. PR #10576 by @eukub.
  • 🔧 Fix Ruff configuration unintentionally enabling and re-disabling mccabe complexity check. PR #10893 by @jiridanek.
  • ✅ Re-enable test in tests/test_tutorial/test_header_params/test_tutorial003.py after fix in Starlette. PR #10904 by @ooknimm.

Docs

  • 📝 Tweak wording in help-fastapi.md. PR #11040 by @tiangolo.
  • 📝 Tweak docs for Behind a Proxy. PR #11038 by @tiangolo.
  • 📝 Add External Link: 10 Tips for adding SQLAlchemy to FastAPI. PR #11036 by @Donnype.
  • 📝 Add External Link: Tips on migrating from Flask to FastAPI and vice-versa. PR #11029 by @jtemporal.
  • 📝 Deprecate old tutorials: Peewee, Couchbase, encode/databases. PR #10979 by @tiangolo.
  • ✏️ Fix typo in fastapi/security/oauth2.py. PR #10972 by @RafalSkolasinski.
  • 📝 Update HTTPException details in docs/en/docs/tutorial/handling-errors.md. PR #5418 by @papb.
  • ✏️ A few tweaks in docs/de/docs/tutorial/first-steps.md. PR #10959 by @nilslindemann.
  • ✏️ Fix link in docs/en/docs/advanced/async-tests.md. PR #10960 by @nilslindemann.
  • ✏️ Fix typos for Spanish documentation. PR #10957 by @jlopezlira.
  • 📝 Add warning about lifespan functions and backwards compatibility with events. PR #10734 by @jacob-indigo.
  • ✏️ Fix broken link in docs/tutorial/sql-databases.md in several languages. PR #10716 by @theoohoho.
  • ✏️ Remove broken links from external_links.yml. PR #10943 by @Torabek.
  • 📝 Update template docs with more info about url_for. PR #5937 by @EzzEddin.
  • 📝 Update usage of Token model in security docs. PR #9313 by @piotrszacilowski.
  • ✏️ Update highlighted line in docs/en/docs/tutorial/bigger-applications.md. PR #5490 by @papb.
  • 📝 Add External Link: Explore How to Effectively Use JWT With FastAPI. PR #10212 by @aanchlia.
  • 📝 Add hyperlink to docs/en/docs/tutorial/static-files.md. PR #10243 by @hungtsetse.
  • 📝 Add External Link: Instrument a FastAPI service adding tracing with OpenTelemetry and send/show traces in Grafana Tempo. PR #9440 by @softwarebloat.
  • 📝 Review and rewording of en/docs/contributing.md. PR #10480 by @nilslindemann.
  • 📝 Add External Link: ML serving and monitoring with FastAPI and Evidently. PR #9701 by @mnrozhkov.
  • 📝 Reword in docs, from "have in mind" to "keep in mind". PR #10376 by @malicious.
  • 📝 Add External Link: Talk by Jeny Sadadia. PR #10265 by @JenySadadia.
  • 📝 Add location info to tutorial/bigger-applications.md. PR #10552 by @nilslindemann.
  • ✏️ Fix Pydantic method name in docs/en/docs/advanced/path-operation-advanced-configuration.md. PR #10826 by @ahmedabdou14.

Translations

  • 🌐 Add Spanish translation for docs/es/docs/external-links.md. PR #10933 by @pablocm83.
  • 🌐 Update Korean translation for docs/ko/docs/tutorial/first-steps.md, docs/ko/docs/tutorial/index.md, docs/ko/docs/tutorial/path-params.md, and docs/ko/docs/tutorial/query-params.md. PR #4218 by @SnowSuno.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/dependencies/dependencies-with-yield.md. PR #10870 by @zhiquanchi.
  • 🌐 Add Chinese translation for docs/zh/docs/deployment/concepts.md. PR #10282 by @xzmeng.
  • 🌐 Add Azerbaijani translation for docs/az/docs/index.md. PR #11047 by @aykhans.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/middleware.md. PR #2829 by @JeongHyeongKim.
  • 🌐 Add German translation for docs/de/docs/tutorial/body-nested-models.md. PR #10313 by @nilslindemann.
  • 🌐 Add Persian translation for docs/fa/docs/tutorial/middleware.md. PR #9695 by @mojtabapaso.
  • 🌐 Update Farsi translation for docs/fa/docs/index.md. PR #10216 by @theonlykingpin.
  • 🌐 Add German translation for docs/de/docs/tutorial/body-fields.md. PR #10310 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/body.md. PR #10295 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/body-multiple-params.md. PR #10308 by @nilslindemann.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/security/get-current-user.md. PR #2681 by @sh0nk.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/advanced-dependencies.md. PR #3798 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/events.md. PR #3815 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/behind-a-proxy.md. PR #3820 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/testing-events.md. PR #3818 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/testing-websockets.md. PR #3817 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/testing-database.md. PR #3821 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/deployment/deta.md. PR #3837 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/history-design-future.md. PR #3832 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/project-generation.md. PR #3831 by @jaystone776.
  • 🌐 Add Chinese translation for docs/zh/docs/deployment/docker.md. PR #10296 by @xzmeng.
  • 🌐 Update Spanish translation for docs/es/docs/features.md. PR #10884 by @pablocm83.
  • 🌐 Add Spanish translation for docs/es/docs/newsletter.md. PR #10922 by @pablocm83.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/background-tasks.md. PR #5910 by @junah201.
  • :globewithmeridians: Add Turkish translation for docs/tr/docs/alternatives.md. PR #10502 by @alperiox.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/dependencies/index.md. PR #10989 by @KaniKim.
  • 🌐 Add Korean translation for /docs/ko/docs/tutorial/body.md. PR #11000 by @KaniKim.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/schema-extra-example.md. PR #4065 by @luccasmmg.
  • 🌐 Add Turkish translation for docs/tr/docs/history-design-future.md. PR #11012 by @hasansezertasan.
  • 🌐 Add Turkish translation for docs/tr/docs/resources/index.md. PR #11020 by @hasansezertasan.
  • 🌐 Add Turkish translation for docs/tr/docs/how-to/index.md. PR #11021 by @hasansezertasan.
  • 🌐 Add German translation for docs/de/docs/tutorial/query-params.md. PR #10293 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/benchmarks.md. PR #10866 by @nilslindemann.
  • 🌐 Add Turkish translation for docs/tr/docs/learn/index.md. PR #11014 by @hasansezertasan.
  • 🌐 Add Persian translation for docs/fa/docs/tutorial/security/index.md. PR #9945 by @mojtabapaso.
  • 🌐 Add Turkish translation for docs/tr/docs/help/index.md. PR #11013 by @hasansezertasan.
  • 🌐 Add Turkish translation for docs/tr/docs/about/index.md. PR #11006 by @hasansezertasan.
  • 🌐 Update Turkish translation for docs/tr/docs/benchmarks.md. PR #11005 by @hasansezertasan.
  • 🌐 Add Italian translation for docs/it/docs/index.md. PR #5233 by @matteospanio.
  • 🌐 Add Korean translation for docs/ko/docs/help/index.md. PR #10983 by @KaniKim.
  • 🌐 Add Korean translation for docs/ko/docs/features.md. PR #10976 by @KaniKim.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/security/get-current-user.md. PR #5737 by @KdHyeon0661.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/security/first-steps.md. PR #10541 by @AlertRED.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/handling-errors.md. PR #10375 by @AlertRED.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/encoder.md. PR #10374 by @AlertRED.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/body-updates.md. PR #10373 by @AlertRED.
  • 🌐 Russian translation: updated fastapi-people.md.. PR #10255 by @NiKuma0.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/security/index.md. PR #5798 by @3w36zj6.
  • 🌐 Add German translation for docs/de/docs/advanced/generate-clients.md. PR #10725 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/openapi-webhooks.md. PR #10712 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/custom-response.md. PR #10624 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/advanced/additional-status-codes.md. PR #10617 by @nilslindemann.
  • 🌐 Add German translation for docs/de/docs/tutorial/middleware.md. PR #10391 by @JohannesJungbluth.
  • 🌐 Add German translation for introduction documents. PR #10497 by @nilslindemann.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/encoder.md. PR #1955 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/extra-data-types.md. PR #1932 by @SwftAlpc.
  • 🌐 Add Turkish translation for docs/tr/docs/async.md. PR #5191 by @BilalAlpaslan.
  • 🌐 Add Turkish translation for docs/tr/docs/project-generation.md. PR #5192 by @BilalAlpaslan.
  • 🌐 Add Korean translation for docs/ko/docs/deployment/docker.md. PR #5657 by @nearnear.
  • 🌐 Add Korean translation for docs/ko/docs/deployment/server-workers.md. PR #4935 by @jujumilk3.
  • 🌐 Add Korean translation for docs/ko/docs/deployment/index.md. PR #4561 by @jujumilk3.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/path-operation-configuration.md. PR #3639 by @jungsu-kwon.
  • 🌐 Modify the description of zh - Traditional Chinese. PR #10889 by @cherinyy.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/static-files.md. PR #2957 by @jeesang7.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/response-model.md. PR #2766 by @hard-coders.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/body-multiple-params.md. PR #2461 by @PandaHun.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/query-params-str-validations.md. PR #2415 by @hard-coders.
  • 🌐 Add Korean translation for docs/ko/docs/python-types.md. PR #2267 by @jrim.
  • 🌐 Add Korean translation for docs/ko/docs/tutorial/body-nested-models.md. PR #2506 by @hard-coders.
  • 🌐 Add Korean translation for docs/ko/docs/learn/index.md. PR #10977 by @KaniKim.
  • 🌐 Initialize translations for Traditional Chinese. PR #10505 by @hsuanchi.
  • ✏️ Tweak the german translation of docs/de/docs/tutorial/index.md. PR #10962 by @nilslindemann.
  • ✏️ Fix typo error in docs/ko/docs/tutorial/path-params.md. PR #10758 by @2chanhaeng.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/dependencies/dependencies-with-yield.md. PR #1961 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #1960 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/dependencies/sub-dependencies.md. PR #1959 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/background-tasks.md. PR #2668 by @tokusumi.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/dependencies/index.md and docs/ja/docs/tutorial/dependencies/classes-as-dependencies.md. PR #1958 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/response-model.md. PR #1938 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/body-multiple-params.md. PR #1903 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/path-params-numeric-validations.md. PR #1902 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/python-types.md. PR #1899 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/handling-errors.md. PR #1953 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/response-status-code.md. PR #1942 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/extra-models.md. PR #1941 by @SwftAlpc.
  • 🌐 Add Japanese tranlsation for docs/ja/docs/tutorial/schema-extra-example.md. PR #1931 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/body-nested-models.md. PR #1930 by @SwftAlpc.
  • 🌐 Add Japanese translation for docs/ja/docs/tutorial/body-fields.md. PR #1923 by @SwftAlpc.
  • 🌐 Add German translation for docs/de/docs/tutorial/index.md. PR #9502 by @fhabers21.
  • 🌐 Add German translation for docs/de/docs/tutorial/background-tasks.md. PR #10566 by @nilslindemann.
  • ✏️ Fix typo in docs/ru/docs/index.md. PR #10672 by @Delitel-WEB.
  • ✏️ Fix typos in docs/zh/docs/tutorial/extra-data-types.md. PR #10727 by @HiemalBeryl.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/dependencies/classes-as-dependencies.md. PR #10410 by @AlertRED.

Internal

- Python
Published by tiangolo over 2 years ago

fastapi - 0.109.0

Features

Upgrades

Docs

  • ✏️ Fix typo in docs/en/docs/alternatives.md. PR #10931 by @s111d.
  • 📝 Replace email with username in docs_src/security/tutorial007 code examples. PR #10649 by @nilslindemann.
  • 📝 Add VS Code tutorial link. PR #10592 by @nilslindemann.
  • 📝 Add notes about Pydantic v2's new .model_dump(). PR #10929 by @tiangolo.
  • 📝 Fix broken link in docs/en/docs/tutorial/sql-databases.md. PR #10765 by @HurSungYun.
  • 📝 Add External Link: FastAPI application monitoring made easy. PR #10917 by @tiangolo.
  • ✨ Generate automatic language names for docs translations. PR #5354 by @jakul.
  • ✏️ Fix typos in docs/en/docs/alternatives.md and docs/en/docs/tutorial/dependencies/index.md. PR #10906 by @s111d.
  • ✏️ Fix typos in docs/en/docs/tutorial/dependencies/dependencies-with-yield.md. PR #10834 by @Molkree.
  • 📝 Add article: "Building a RESTful API with FastAPI: Secure Signup and Login Functionality Included". PR #9733 by @dxphilo.
  • 📝 Add warning about lifecycle events with AsyncClient. PR #4167 by @andrew-chang-dewitt.
  • ✏️ Fix typos in /docs/reference/exceptions.md and /en/docs/reference/status.md. PR #10809 by @clarencepenz.
  • ✏️ Fix typo in openapi-callbacks.md. PR #10673 by @kayjan.
  • ✏️ Fix typo in fastapi/routing.py . PR #10520 by @sepsh.
  • 📝 Replace HTTP code returned in case of existing user error in docs for testing. PR #4482 by @TristanMarion.
  • 📝 Add blog for FastAPI & Supabase. PR #6018 by @theinfosecguy.
  • 📝 Update example source files for SQL databases with SQLAlchemy. PR #9508 by @s-mustafa.
  • 📝 Update code examples in docs for body, replace name create_item with update_item when appropriate. PR #5913 by @OttoAndrey.
  • ✏️ Fix typo in dependencies with yield source examples. PR #10847 by @tiangolo.

Translations

  • 🌐 Add Bengali translation for docs/bn/docs/index.md. PR #9177 by @Fahad-Md-Kamal.
  • ✏️ Update Python version in index.md in several languages. PR #10711 by @tamago3keran.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/request-forms-and-files.md. PR #10347 by @AlertRED.
  • 🌐 Add Ukrainian translation for docs/uk/docs/index.md. PR #10362 by @rostik1410.
  • ✏️ Update Python version in docs/ko/docs/index.md. PR #10680 by @Eeap.
  • 🌐 Add Persian translation for docs/fa/docs/features.md. PR #5887 by @amirilf.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/additional-responses.md. PR #10325 by @ShuibeiC.
  • 🌐 Fix typos in Russian translations for docs/ru/docs/tutorial/background-tasks.md, docs/ru/docs/tutorial/body-nested-models.md, docs/ru/docs/tutorial/debugging.md, docs/ru/docs/tutorial/testing.md. PR #10311 by @AlertRED.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/request-files.md. PR #10332 by @AlertRED.
  • 🌐 Add Chinese translation for docs/zh/docs/deployment/server-workers.md. PR #10292 by @xzmeng.
  • 🌐 Add Chinese translation for docs/zh/docs/deployment/cloud.md. PR #10291 by @xzmeng.
  • 🌐 Add Chinese translation for docs/zh/docs/deployment/manually.md. PR #10279 by @xzmeng.
  • 🌐 Add Chinese translation for docs/zh/docs/deployment/https.md. PR #10277 by @xzmeng.
  • 🌐 Add Chinese translation for docs/zh/docs/deployment/index.md. PR #10275 by @xzmeng.
  • 🌐 Add German translation for docs/de/docs/tutorial/first-steps.md. PR #9530 by @fhabers21.
  • 🌐 Update Turkish translation for docs/tr/docs/index.md. PR #10444 by @hasansezertasan.
  • 🌐 Add Chinese translation for docs/zh/docs/learn/index.md. PR #10479 by @KAZAMA-DREAM.
  • 🌐 Add Russian translation for docs/ru/docs/learn/index.md. PR #10539 by @AlertRED.
  • 🌐 Update SQLAlchemy instruction in Chinese translation docs/zh/docs/tutorial/sql-databases.md. PR #9712 by @Royc30ne.
  • 🌐 Add Turkish translation for docs/tr/docs/external-links.md. PR #10549 by @hasansezertasan.
  • 🌐 Add Spanish translation for docs/es/docs/learn/index.md. PR #10885 by @pablocm83.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/body-fields.md. PR #10670 by @ArtemKhymenko.
  • 🌐 Add Hungarian translation for /docs/hu/docs/index.md. PR #10812 by @takacs.
  • 🌐 Add Turkish translation for docs/tr/docs/newsletter.md. PR #10550 by @hasansezertasan.
  • 🌐 Add Spanish translation for docs/es/docs/help/index.md. PR #10907 by @pablocm83.
  • 🌐 Add Spanish translation for docs/es/docs/about/index.md. PR #10908 by @pablocm83.
  • 🌐 Add Spanish translation for docs/es/docs/resources/index.md. PR #10909 by @pablocm83.

Internal

- Python
Published by tiangolo over 2 years ago

fastapi - 0.108.0

Upgrades

  • ⬆️ Upgrade Starlette to >=0.29.0,<0.33.0, update docs and usage of templates with new Starlette arguments. PR #10846 by @tiangolo.

- Python
Published by tiangolo over 2 years ago

fastapi - 0.107.0

Upgrades

Docs

  • 📝 Add docs: Node.js script alternative to update OpenAPI for generated clients. PR #10845 by @alejsdev.
  • 📝 Restructure Docs section in Contributing page. PR #10844 by @alejsdev.

- Python
Published by tiangolo over 2 years ago

fastapi - 0.106.0

Breaking Changes

Using resources from dependencies with yield in background tasks is no longer supported.

This change is what supports the new features, read below. 🤓

Dependencies with yield, HTTPException and Background Tasks

Dependencies with yield now can raise HTTPException and other exceptions after yield. 🎉

Read the new docs here: Dependencies with yield and HTTPException.

```Python from fastapi import Depends, FastAPI, HTTPException from typing_extensions import Annotated

app = FastAPI()

data = { "plumbus": {"description": "Freshly pickled plumbus", "owner": "Morty"}, "portal-gun": {"description": "Gun to create portals", "owner": "Rick"}, }

class OwnerError(Exception): pass

def getusername(): try: yield "Rick" except OwnerError as e: raise HTTPException(statuscode=400, detail=f"Onwer error: {e}")

@app.get("/items/{itemid}") def getitem(itemid: str, username: Annotated[str, Depends(getusername)]): if itemid not in data: raise HTTPException(statuscode=404, detail="Item not found") item = data[item_id] if item["owner"] != username: raise OwnerError(username) return item ```


Before FastAPI 0.106.0, raising exceptions after yield was not possible, the exit code in dependencies with yield was executed after the response was sent, so Exception Handlers would have already run.

This was designed this way mainly to allow using the same objects "yielded" by dependencies inside of background tasks, because the exit code would be executed after the background tasks were finished.

Nevertheless, as this would mean waiting for the response to travel through the network while unnecessarily holding a resource in a dependency with yield (for example a database connection), this was changed in FastAPI 0.106.0.

Additionally, a background task is normally an independent set of logic that should be handled separately, with its own resources (e.g. its own database connection).

If you used to rely on this behavior, now you should create the resources for background tasks inside the background task itself, and use internally only data that doesn't depend on the resources of dependencies with yield.

For example, instead of using the same database session, you would create a new database session inside of the background task, and you would obtain the objects from the database using this new session. And then instead of passing the object from the database as a parameter to the background task function, you would pass the ID of that object and then obtain the object again inside the background task function.

The sequence of execution before FastAPI 0.106.0 was like the diagram in the Release Notes for FastAPI 0.106.0.

The new execution flow can be found in the docs: Execution of dependencies with yield.

- Python
Published by tiangolo over 2 years ago

fastapi - 0.105.0

Features

  • ✨ Add support for multiple Annotated annotations, e.g. Annotated[str, Field(), Query()]. PR #10773 by @tiangolo.

Refactors

Docs

  • 📝 Tweak default suggested configs for generating clients. PR #10736 by @tiangolo.

Internal

- Python
Published by tiangolo over 2 years ago

fastapi - 0.104.1

Fixes

  • 📌 Pin Swagger UI version to 5.9.0 temporarily to handle a bug crashing it in 5.9.1. PR #10529 by @alejandraklachquin.
    • This is not really a bug in FastAPI but in Swagger UI, nevertheless pinning the version will work while a solution is found on the Swagger UI side.

Docs

  • 📝 Update data structure and render for external-links. PR #10495 by @tiangolo.
  • ✏️ Fix link to SPDX license identifier in docs/en/docs/tutorial/metadata.md. PR #10433 by @worldworm.
  • 📝 Update example validation error from Pydantic v1 to match Pydantic v2 in docs/en/docs/tutorial/path-params.md. PR #10043 by @giuliowaitforitdavide.
  • ✏️ Fix typos in emoji docs and in some source examples. PR #10438 by @afuetterer.
  • ✏️ Fix typo in docs/en/docs/reference/dependencies.md. PR #10465 by @suravshresth.
  • ✏️ Fix typos and rewordings in docs/en/docs/tutorial/body-nested-models.md. PR #10468 by @yogabonito.
  • 📝 Update docs, remove references to removed pydantic.Required in docs/en/docs/tutorial/query-params-str-validations.md. PR #10469 by @yogabonito.
  • ✏️ Fix typo in docs/en/docs/reference/index.md. PR #10467 by @tarsil.
  • 🔥 Remove unnecessary duplicated docstrings. PR #10484 by @tiangolo.

Internal

- Python
Published by tiangolo over 2 years ago

fastapi - 0.104.0

Features

Upgrades

  • ⬆️ Drop support for Python 3.7, require Python 3.8 or above. PR #10442 by @tiangolo.

Internal

- Python
Published by tiangolo over 2 years ago

fastapi - 0.103.2

Refactors

  • ⬆️ Upgrade compatibility with Pydantic v2.4, new renamed functions and JSON Schema input/output models with default values. PR #10344 by @tiangolo.

Translations

  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/extra-data-types.md. PR #10132 by @ArtemKhymenko.
  • 🌐 Fix typos in French translations for docs/fr/docs/advanced/path-operation-advanced-configuration.md, docs/fr/docs/alternatives.md, docs/fr/docs/async.md, docs/fr/docs/features.md, docs/fr/docs/help-fastapi.md, docs/fr/docs/index.md, docs/fr/docs/python-types.md, docs/fr/docs/tutorial/body.md, docs/fr/docs/tutorial/first-steps.md, docs/fr/docs/tutorial/query-params.md. PR #10154 by @s-rigaud.
  • 🌐 Add Chinese translation for docs/zh/docs/async.md. PR #5591 by @mkdir700.
  • 🌐 Update Chinese translation for docs/tutorial/security/simple-oauth2.md. PR #3844 by @jaystone776.
  • 🌐 Add Korean translation for docs/ko/docs/deployment/cloud.md. PR #10191 by @Sion99.
  • 🌐 Add Japanese translation for docs/ja/docs/deployment/https.md. PR #10298 by @tamtam-fitness.
  • 🌐 Fix typo in Russian translation for docs/ru/docs/tutorial/body-fields.md. PR #10224 by @AlertRED.
  • 🌐 Add Polish translation for docs/pl/docs/help-fastapi.md. PR #10121 by @romabozhanovgithub.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/header-params.md. PR #10226 by @AlertRED.
  • 🌐 Add Chinese translation for docs/zh/docs/deployment/versions.md. PR #10276 by @xzmeng.

Internal

- Python
Published by tiangolo over 2 years ago

fastapi - 0.103.1

Fixes

  • 📌 Pin AnyIO to < 4.0.0 to handle an incompatibility while upgrading to Starlette 0.31.1. PR #10194 by @tiangolo.

Docs

  • ✏️ Fix validation parameter name in docs, from regex to pattern. PR #10085 by @pablodorrio.
  • ✏️ Fix indent format in docs/en/docs/deployment/server-workers.md. PR #10066 by @tamtam-fitness.
  • ✏️ Fix Pydantic examples in tutorial for Python types. PR #9961 by @rahulsalgare.
  • ✏️ Fix link to Pydantic docs in docs/en/docs/tutorial/extra-data-types.md. PR #10155 by @hasnatsajid.
  • ✏️ Fix typo in docs/en/docs/tutorial/handling-errors.md. PR #10170 by @poupapaa.
  • ✏️ Fix typo in docs/en/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #10172 by @ragul-kachiappan.

Translations

  • 🌐 Remove duplicate line in translation for docs/pt/docs/tutorial/path-params.md. PR #10126 by @LecoOliveira.
  • 🌐 Add Yoruba translation for docs/yo/docs/index.md. PR #10033 by @AfolabiOlaoluwa.
  • 🌐 Add Ukrainian translation for docs/uk/docs/python-types.md. PR #10080 by @rostik1410.
  • 🌐 Add Vietnamese translations for docs/vi/docs/tutorial/first-steps.md and docs/vi/docs/tutorial/index.md. PR #10088 by @magiskboy.
  • 🌐 Add Ukrainian translation for docs/uk/docs/alternatives.md. PR #10060 by @whysage.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/index.md. PR #10079 by @rostik1410.
  • ✏️ Fix typos in docs/en/docs/how-to/separate-openapi-schemas.md and docs/en/docs/tutorial/schema-extra-example.md. PR #10189 by @xzmeng.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/generate-clients.md. PR #9883 by @funny-cat-happy.

Refactors

  • ✏️ Fix typos in comment in fastapi/applications.py. PR #10045 by @AhsanSheraz.
  • ✅ Add missing test for OpenAPI examples, it was missing in coverage. PR #10188 by @tiangolo.

Internal

- Python
Published by tiangolo over 2 years ago

fastapi - 0.103.0

Features

Docs

  • 📝 Add note to docs about Separate Input and Output Schemas with FastAPI version. PR #10150 by @tiangolo.

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.102.0

Features

Refactors

Docs

  • 📝 Add new docs section, How To - Recipes, move docs that don't have to be read by everyone to How To. PR #10114 by @tiangolo.
  • 📝 Update Advanced docs, add links to sponsor courses. PR #10113 by @tiangolo.
  • 📝 Update docs for generating clients. PR #10112 by @tiangolo.
  • 📝 Tweak MkDocs and add redirects. PR #10111 by @tiangolo.
  • 📝 Restructure docs for cloud providers, include links to sponsors. PR #10110 by @tiangolo.

Internal

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.101.1

Fixes

  • ✨ Add ResponseValidationError printable details, to show up in server error logs. PR #10078 by @tiangolo.

Refactors

  • ✏️ Fix typo in deprecation warnings in fastapi/params.py. PR #9854 by @russbiggs.
  • ✏️ Fix typos in comments on internal code in fastapi/concurrency.py and fastapi/routing.py. PR #9590 by @ElliottLarsen.

Docs

Translations

  • 🌐 Add Japanese translation for docs/ja/docs/deployment/concepts.md. PR #10062 by @tamtam-fitness.
  • 🌐 Add Japanese translation for docs/ja/docs/deployment/server-workers.md. PR #10064 by @tamtam-fitness.
  • 🌐 Update Japanese translation for docs/ja/docs/deployment/docker.md. PR #10073 by @tamtam-fitness.
  • 🌐 Add Ukrainian translation for docs/uk/docs/fastapi-people.md. PR #10059 by @rostik1410.
  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/cookie-params.md. PR #10032 by @rostik1410.
  • 🌐 Add Russian translation for docs/ru/docs/deployment/docker.md. PR #9971 by @Xewus.
  • 🌐 Add Vietnamese translation for docs/vi/docs/python-types.md. PR #10047 by @magiskboy.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/dependencies/global-dependencies.md. PR #9970 by @dudyaosuplayer.
  • 🌐 Add Urdu translation for docs/ur/docs/benchmarks.md. PR #9974 by @AhsanSheraz.

Internal

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.101.0

Features

  • ✨ 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. PR #10011 by @tiangolo.

Refactors

  • ✅ Fix tests for compatibility with pydantic 2.1.1. PR #9943 by @dmontagu.
  • ✅ Fix test error in Windows for jsonable_encoder. PR #9840 by @iudeen.

Upgrades

  • 📌 Do not allow Pydantic 2.1.0 that breaks (require 2.1.1). PR #10012 by @tiangolo.

Translations

  • 🌐 Add Russian translation for docs/ru/docs/tutorial/security/index.md. PR #9963 by @eVery1337.
  • 🌐 Remove Vietnamese note about missing translation. PR #9957 by @tiangolo.

Internal

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.100.1

Fixes

  • 🐛 Replace MultHostUrl to AnyUrl for compatibility with older versions of Pydantic v1. PR #9852 by @Kludex.

Docs

  • 📝 Update links for self-hosted Swagger UI, point to v5, for OpenAPI 31.0. PR #9834 by @tiangolo.

Translations

  • 🌐 Add Ukrainian translation for docs/uk/docs/tutorial/body.md. PR #4574 by @ss-o-furda.
  • 🌐 Add Vietnamese translation for docs/vi/docs/features.md and docs/vi/docs/index.md. PR #3006 by @magiskboy.
  • 🌐 Add Korean translation for docs/ko/docs/async.md. PR #4179 by @NinaHwang.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/background-tasks.md. PR #9812 by @wdh99.
  • 🌐 Add French translation for docs/fr/docs/tutorial/query-params-str-validations.md. PR #4075 by @Smlep.
  • 🌐 Add French translation for docs/fr/docs/tutorial/index.md. PR #2234 by @JulianMaurin.
  • 🌐 Add French translation for docs/fr/docs/contributing.md. PR #2132 by @JulianMaurin.
  • 🌐 Add French translation for docs/fr/docs/benchmarks.md. PR #2155 by @clemsau.
  • 🌐 Update Chinese translations with new source files. PR #9738 by @mahone3297.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/request-forms.md. PR #9841 by @dedkot01.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/handling-errors.md. PR #9485 by @Creat55.

Internal

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.100.0

✨ Support for Pydantic v2

Pydantic version 2 has the core re-written in Rust and includes a lot of improvements and features, for example:

  • Improved correctness in corner cases.
  • Safer types.
  • Better performance and less energy consumption.
  • Better extensibility.
  • etc.

...all this while keeping the same Python API. In most of the cases, for simple models, you can simply upgrade the Pydantic version and get all the benefits. 🚀

In some cases, for pure data validation and processing, you can get performance improvements of 20x or more. This means 2,000% or more. 🤯

When you use FastAPI, there's a lot more going on, processing the request and response, handling dependencies, executing your own code, and particularly, waiting for the network. But you will probably still get some nice performance improvements just from the upgrade.

The focus of this release is compatibility with Pydantic v1 and v2, to make sure your current apps keep working. Later there will be more focus on refactors, correctness, code improvements, and then performance improvements. Some third-party early beta testers that ran benchmarks on the beta releases of FastAPI reported improvements of 2x - 3x. Which is not bad for just doing pip install --upgrade fastapi pydantic. This was not an official benchmark and I didn't check it myself, but it's a good sign.

Migration

Check out the Pydantic migration guide.

For the things that need changes in your Pydantic models, the Pydantic team built bump-pydantic.

A command line tool that will process your code and update most of the things automatically for you. Make sure you have your code in git first, and review each of the changes to make sure everything is correct before committing the changes.

Pydantic v1

This version of FastAPI still supports Pydantic v1. And although Pydantic v1 will be deprecated at some point, ti will still be supported for a while.

This means that you can install the new Pydantic v2, and if something fails, you can install Pydantic v1 while you fix any problems you might have, but having the latest FastAPI.

There are tests for both Pydantic v1 and v2, and test coverage is kept at 100%.

Changes

  • There are new parameter fields supported by Pydantic Field() for:

    • Path()
    • Query()
    • Header()
    • Cookie()
    • Body()
    • Form()
    • File()
  • The new parameter fields are:

    • default_factory
    • alias_priority
    • validation_alias
    • serialization_alias
    • discriminator
    • strict
    • multiple_of
    • allow_inf_nan
    • max_digits
    • decimal_places
    • json_schema_extra

...you can read about them in the Pydantic docs.

  • The parameter regex has been deprecated and replaced by pattern.
  • New Pydantic models use an improved and simplified attribute model_config that takes a simple dict instead of an internal class Config for their configuration.
  • The attribute schema_extra for the internal class Config has been replaced by the key json_schema_extra in the new model_config dict.
  • When you install "fastapi[all]" it now also includes:
  • Now Pydantic Settings is an additional optional package (included in "fastapi[all]"). To use settings you should now import from pydantic_settings import BaseSettings instead of importing from pydantic directly.

  • PR #9816 by @tiangolo, included all the work done (in multiple PRs) on the beta branch (main-pv2).

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.100.0-beta3

Install with:

shell pip install --pre --upgrade fastapi pydantic

Features

✨ Beta support for Pydantic version 2 and OpenAPI 3.1.0 ✨

This is probably the last beta before the final release, probably in one or two days. So, please, test it out! 🤓 🚀 (before it's too late 😅).


The same details as in the previous beta releases below.

This has many features:

  • Improved correctness in corner cases
  • Safer types
  • Better performance and less energy consumption
  • Better extensibility
  • etc.

Check out the Pydantic migration guide: https://docs.pydantic.dev/dev-v2/migration/

This version of FastAPI still supports Pydantic v1.

This means that you can install the new Pydantic v2, and if something fails, you can install Pydantic v1 while you fix any problems you might have, but having the latest FastAPI.

The focus of this release is compatibility with Pydantic v1 and v2, to make sure your current apps keep working. Later there will be more focus on refactors and code improvements, and then performance improvements. Although you will probably get nice performance improvements already.

There are tests for both Pydantic v1 and v2, and test coverage is kept at 100%.

You will probably still want to test this version in your code even if you don't plan to migrate to Pydantic v2 yet, to ensure that the changes of FastAPI don't break your app in any way.

If you install the beta, please let me know if everything is working or if you are having issues in this discussion: https://github.com/tiangolo/fastapi/discussions/9709

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.99.1

Fixes

  • 🐛 Fix JSON Schema accepting bools as valid JSON Schemas, e.g. additionalProperties: false. PR #9781 by @tiangolo.

Docs

  • 📝 Update source examples to use new JSON Schema examples field. PR #9776 by @tiangolo.

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.100.0-beta2

Install with:

shell pip install --pre --upgrade fastapi pydantic

Features

✨ Beta support for Pydantic version 2 ✨

Pydantic v2 was released a few hours ago. 🎉

The final (non-beta) release of Pydantic v2 had a few minor changes. This beta 2 of FastAPI fixes those minor changes in FastAPI (thanks @Lancetnik! PR https://github.com/tiangolo/fastapi/pull/9771).

This means you can install Pydantic v2 stable, and try it with FastAPI 0.100.0 beta 2. 🎉

The next (and probably final) beta will include the latest changes in the main FastAPI branch, including OpenAPI 3.1.0. But meanwhile, with this quick fix beta you can start/keep trying FastAPI with the new Pydantic.


The same details as in the previous beta release below.

This has many features:

  • Improved correctness in corner cases
  • Safer types
  • Better performance and less energy consumption
  • Better extensibility
  • etc.

Check out the Pydantic migration guide: https://docs.pydantic.dev/dev-v2/migration/

This version of FastAPI still supports Pydantic v1.

This means that you can install the new Pydantic v2, and if something fails, you can install Pydantic v1 while you fix any problems you might have, but having the latest FastAPI.

The focus of this release is compatibility with Pydantic v1 and v2, to make sure your current apps keep working. Later there will be more focus on refactors and code improvements, and then performance improvements. Although you will probably get nice performance improvements already.

There are tests for both Pydantic v1 and v2, and test coverage is kept at 100%.

You will probably still want to test this version in your code even if you don't plan to migrate to Pydantic v2 yet, to ensure that the changes of FastAPI don't break your app in any way.

If you install the beta, please let me know if everything is working or if you are having issues in this discussion: https://github.com/tiangolo/fastapi/discussions/9709

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.99.0

Note: this is the last release before supporting Pydantic v2. You can try out the beta with support for Pydantic v2 now, a new beta supporting Pydantic v2 with these same changes from this release will be available in the next hours/days. And the final version (0.100.0) with support for Pydantic v2 will be released in the next days (next week).

Now, back to this release (this one doesn't include the beta support for Pydantic v2).

This release has ✨ OpenAPI 3.1.0 ✨ 🎉

Features

  • ✨ Add support for OpenAPI 3.1.0. PR #9770 by @tiangolo.

    • New support for documenting webhooks, read the new docs here: Advanced User Guide: OpenAPI Webhooks.
    • Upgrade OpenAPI 3.1.0, this uses JSON Schema 2020-12.
    • Upgrade Swagger UI to version 5.x.x, that supports OpenAPI 3.1.0.
    • Updated examples field in Query(), Cookie(), Body(), etc. based on the latest JSON Schema and OpenAPI. Now it takes a list of examples and they are included directly in the JSON Schema, not outside. Read more about it (including the historical technical details) in the updated docs: Tutorial: Declare Request Example Data.
  • ✨ Add support for deque objects and children in jsonable_encoder. PR #9433 by @cranium.

Docs

  • 📝 Fix form for the FastAPI and friends newsletter. PR #9749 by @tiangolo.

Translations

  • 🌐 Add Persian translation for docs/fa/docs/advanced/sub-applications.md. PR #9692 by @mojtabapaso.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/response-model.md. PR #9675 by @glsglsgls.

Internal

  • 🔨 Enable linenums in MkDocs Material during local live development to simplify highlighting code. PR #9769 by @tiangolo.
  • ⬆ Update httpx requirement from <0.24.0,>=0.23.0 to >=0.23.0,<0.25.0. PR #9724 by @dependabot[bot].
  • ⬆ Bump mkdocs-material from 9.1.16 to 9.1.17. PR #9746 by @dependabot[bot].
  • 🔥 Remove missing translation dummy pages, no longer necessary. PR #9751 by @tiangolo.
  • ⬆ [pre-commit.ci] pre-commit autoupdate. PR #9259 by @pre-commit-ci[bot].
  • ✨ Add Material for MkDocs Insiders features and cards. PR #9748 by @tiangolo.
  • 🔥 Remove languages without translations. PR #9743 by @tiangolo.
  • ✨ Refactor docs for building scripts, use MkDocs hooks, simplify (remove) configs for languages. PR #9742 by @tiangolo.
  • 🔨 Add MkDocs hook that renames sections based on the first index file. PR #9737 by @tiangolo.
  • 👷 Make cron jobs run only on main repo, not on forks, to avoid error notifications from missing tokens. PR #9735 by @tiangolo.
  • 🔧 Update MkDocs for other languages. PR #9734 by @tiangolo.
  • 👷 Refactor Docs CI, run in multiple workers with a dynamic matrix to optimize speed. PR #9732 by @tiangolo.
  • 🔥 Remove old internal GitHub Action watch-previews that is no longer needed. PR #9730 by @tiangolo.
  • ⬆️ Upgrade MkDocs and MkDocs Material. PR #9729 by @tiangolo.
  • 👷 Build and deploy docs only on docs changes. PR #9728 by @tiangolo.

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.98.0

Note: please also help me try out the beta with support for Pydantic v2: https://github.com/tiangolo/fastapi/releases/tag/0.100.0-beta1

Now, back to this release (this one doesn't include the beta support for Pydantic v2).

Features

  • ✨ Allow disabling redirect_slashes at the FastAPI app level. PR #3432 by @cyberlis.

Docs

  • 📝 Update docs on Pydantic using ujson internally. PR #5804 by @mvasilkov.
  • ✏ Rewording in docs/en/docs/tutorial/debugging.md. PR #9581 by @ivan-abc.
  • 📝 Add german blog post (Domain-driven Design mit Python und FastAPI). PR #9261 by @msander.
  • ✏️ Tweak wording in docs/en/docs/tutorial/security/index.md. PR #9561 by @jyothish-mohan.
  • 📝 Update Annotated notes in docs/en/docs/tutorial/schema-extra-example.md. PR #9620 by @Alexandrhub.
  • ✏️ Fix typo Annotation -> Annotated in docs/en/docs/tutorial/query-params-str-validations.md. PR #9625 by @mccricardo.
  • 📝 Use in memory database for testing SQL in docs. PR #1223 by @HarshaLaxman.

Translations

  • 🌐 Add Russian translation for docs/ru/docs/tutorial/metadata.md. PR #9681 by @TabarakoAkula.
  • 🌐 Fix typo in Spanish translation for docs/es/docs/tutorial/first-steps.md. PR #9571 by @lilidl-nft.
  • 🌐 Add Russian translation for docs/tutorial/path-operation-configuration.md. PR #9696 by @TabarakoAkula.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/security/index.md. PR #9666 by @lordqyxz.
  • 🌐 Add Chinese translations for docs/zh/docs/advanced/settings.md. PR #9652 by @ChoyeonChern.
  • 🌐 Add Chinese translations for docs/zh/docs/advanced/websockets.md. PR #9651 by @ChoyeonChern.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/testing.md. PR #9641 by @wdh99.
  • 🌐 Add Russian translation for docs/tutorial/extra-models.md. PR #9619 by @ivan-abc.
  • 🌐 Add Russian translation for docs/tutorial/cors.md. PR #9608 by @ivan-abc.
  • 🌐 Add Polish translation for docs/pl/docs/features.md. PR #5348 by @mbroton.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/body-nested-models.md. PR #9605 by @Alexandrhub.

Internal

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.100.0-beta1

Install with:

shell pip install --pre --upgrade fastapi pydantic

Features

✨ Beta support for Pydantic version 2 ✨

The internals of Pydantic v2 were rewritten in Rust and it's currently available in beta.

This has many features:

  • Improved correctness in corner cases
  • Safer types
  • Better performance and less energy consumption
  • Better extensibility
  • etc.

Check out the Pydantic migration guide: https://docs.pydantic.dev/dev-v2/migration/

This version of FastAPI still supports Pydantic v1.

This means that you can install the new Pydantic v2, and if something fails, you can install Pydantic v1 while you fix any problems you might have, but having the latest FastAPI.

The focus of this release is compatibility with Pydantic v1 and v2, to make sure your current apps keep working. Later there will be more focus on refactors and code improvements, and then performance improvements. Although you will probably get nice performance improvements already.

There are tests for both Pydantic v1 and v2, and test coverage is kept at 100%.

You will probably still want to test this version in your code even if you don't plan to migrate to Pydantic v2 yet, to ensure that the changes of FastAPI don't break your app in any way.

If you install the beta, please let me know if everything is working or if you are having issues in this discussion: https://github.com/tiangolo/fastapi/discussions/9709

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.97.0

Features

  • ✨ Add support for dependencies in WebSocket routes. PR #4534 by @paulo-raca.
  • ✨ Add exception handler for WebSocketRequestValidationError (which also allows to override it). PR #6030 by @kristjanvalur.

Refactors

  • ⬆️ Upgrade and fully migrate to Ruff, remove isort, includes a couple of tweaks suggested by the new version of Ruff. PR #9660 by @tiangolo.
  • ♻️ Update internal type annotations and upgrade mypy. PR #9658 by @tiangolo.
  • ♻️ Simplify AsyncExitStackMiddleware as without Python 3.6 AsyncExitStack is always available. PR #9657 by @tiangolo.

Upgrades

Internal

  • 💚 Update CI cache to fix installs when dependencies change. PR #9659 by @tiangolo.
  • ⬇️ Separate requirements for development into their own requirements.txt files, they shouldn't be extras. PR #9655 by @tiangolo.

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.96.1

Fixes

  • 🐛 Fix HTTPException header type annotations. PR #9648 by @tiangolo.
  • 🐛 Fix OpenAPI model fields int validations, gte to ge. PR #9635 by @tiangolo.

Upgrades

  • 📌 Update minimum version of Pydantic to >=1.7.4. This fixes an issue when trying to use an old version of Pydantic. PR #9567 by @Kludex.

Refactors

  • ♻ Remove media_type from ORJSONResponse as it's inherited from the parent class. PR #5805 by @Kludex.
  • ♻ Instantiate HTTPException only when needed, optimization refactor. PR #5356 by @pawamoy.

Docs

  • 🔥 Remove link to Pydantic's benchmark, as it was removed there. PR #5811 by @Kludex.

Translations

  • 🌐 Fix spelling in Indonesian translation of docs/id/docs/tutorial/index.md. PR #5635 by @purwowd.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/index.md. PR #5896 by @Wilidon.
  • 🌐 Add Chinese translations for docs/zh/docs/advanced/response-change-status-code.md and docs/zh/docs/advanced/response-headers.md. PR #9544 by @ChoyeonChern.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/schema-extra-example.md. PR #9621 by @Alexandrhub.

Internal

  • 🔧 Add sponsor Platform.sh. PR #9650 by @tiangolo.
  • 👷 Add custom token to Smokeshow and Preview Docs for download-artifact, to prevent API rate limits. PR #9646 by @tiangolo.
  • 👷 Add custom tokens for GitHub Actions to avoid rate limits. PR #9647 by @tiangolo.

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.96.0

Features

  • ⚡ Update create_cloned_field to use a global cache and improve startup performance. PR #4645 by @madkinsz and previous original PR by @huonw.

Docs

  • 📝 Update Deta deployment tutorial for compatibility with Deta Space. PR #6004 by @mikBighne98.
  • ✏️ Fix typo in Deta deployment tutorial. PR #9501 by @lemonyte.

Translations

  • 🌐 Add Russian translation for docs/tutorial/body.md. PR #3885 by @solomein-sv.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/static-files.md. PR #9580 by @Alexandrhub.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/query-params.md. PR #9584 by @Alexandrhub.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/first-steps.md. PR #9471 by @AGolicyn.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/debugging.md. PR #9579 by @Alexandrhub.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/path-params.md. PR #9519 by @AGolicyn.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/static-files.md. PR #9436 by @wdh99.
  • 🌐 Update Spanish translation including new illustrations in docs/es/docs/async.md. PR #9483 by @andresbermeoq.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/path-params-numeric-validations.md. PR #9563 by @ivan-abc.
  • 🌐 Add Russian translation for docs/ru/docs/deployment/concepts.md. PR #9577 by @Xewus.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/body-multiple-params.md. PR #9586 by @Alexandrhub.

Internal

- Python
Published by tiangolo almost 3 years ago

fastapi - 0.95.2

Translations

  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/events.md. PR #9326 by @oandersonmagalhaes.
  • 🌐 Add Russian translation for docs/ru/docs/deployment/manually.md. PR #9417 by @Xewus.
  • 🌐 Add setup for translations to Lao. PR #9396 by @TheBrown.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/testing.md. PR #9403 by @Xewus.
  • 🌐 Add Russian translation for docs/ru/docs/deployment/https.md. PR #9428 by @Xewus.
  • ✏ Fix command to install requirements in Windows. PR #9445 by @MariiaRomanuik.
  • 🌐 Add French translation for docs/fr/docs/advanced/response-directly.md. PR #9415 by @axel584.
  • 🌐 Initiate Czech translation setup. PR #9288 by @3p1463k.
  • ✏ Fix typo in Portuguese docs for docs/pt/docs/index.md. PR #9337 by @lucasbalieiro.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/response-status-code.md. PR #9370 by @nadia3373.

Internal

- Python
Published by tiangolo about 3 years ago

fastapi - 0.95.1

Fixes

  • 🐛 Fix using Annotated in routers or path operations decorated multiple times. PR #9315 by @sharonyogev.

Docs

  • 🌐 🔠 📄 🐢 Translate docs to Emoji 🥳 🎉 💥 🤯 🤯. PR #5385 by @LeeeeT.
  • 📝 Add notification message warning about old versions of FastAPI not supporting Annotated. PR #9298 by @grdworkin.
  • 📝 Fix typo in docs/en/docs/advanced/behind-a-proxy.md. PR #5681 by @Leommjr.
  • ✏ Fix wrong import from typing module in Persian translations for docs/fa/docs/index.md. PR #6083 by @Kimiaattaei.
  • ✏️ Fix format, remove unnecessary asterisks in docs/en/docs/help-fastapi.md. PR #9249 by @armgabrielyan.
  • ✏ Fix typo in docs/en/docs/tutorial/query-params-str-validations.md. PR #9272 by @nicornk.
  • ✏ Fix typo/bug in inline code example in docs/en/docs/tutorial/query-params-str-validations.md. PR #9273 by @tim-habitat.
  • ✏ Fix typo in docs/en/docs/tutorial/path-params-numeric-validations.md. PR #9282 by @aadarsh977.
  • ✏ Fix typo: 'wll' to 'will' in docs/en/docs/tutorial/query-params-str-validations.md. PR #9380 by @dasstyxx.

Translations

  • 🌐 Add French translation for docs/fr/docs/advanced/index.md. PR #5673 by @axel584.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/body-nested-models.md. PR #4053 by @luccasmmg.
  • 🌐 Add Russian translation for docs/ru/docs/alternatives.md. PR #5994 by @Xewus.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/extra-models.md. PR #5912 by @LorhanSohaky.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/path-operation-configuration.md. PR #5936 by @LorhanSohaky.
  • 🌐 Add Russian translation for docs/ru/docs/contributing.md. PR #6002 by @stigsanek.
  • 🌐 Add Korean translation for docs/tutorial/dependencies/classes-as-dependencies.md. PR #9176 by @sehwan505.
  • 🌐 Add Russian translation for docs/ru/docs/project-generation.md. PR #9243 by @Xewus.
  • 🌐 Add French translation for docs/fr/docs/index.md. PR #9265 by @frabc.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/query-params-str-validations.md. PR #9267 by @dedkot01.
  • 🌐 Add Russian translation for docs/ru/docs/benchmarks.md. PR #9271 by @Xewus.

Internal

  • 🔧 Update sponsors: remove Jina. PR #9388 by @tiangolo.
  • 🔧 Update sponsors, add databento, remove Ines's course and StriveWorks. PR #9351 by @tiangolo.

- Python
Published by tiangolo about 3 years ago

fastapi - 0.95.0

Highlights

This release adds support for dependencies and parameters using Annotated and recommends its usage. ✨

This has several benefits, one of the main ones is that now the parameters of your functions with Annotated would not be affected at all.

If you call those functions in other places in your code, the actual default values will be kept, your editor will help you notice missing required arguments, Python will require you to pass required arguments at runtime, you will be able to use the same functions for different things and with different libraries (e.g. Typer will soon support Annotated too, then you could use the same function for an API and a CLI), etc.

Because Annotated is standard Python, you still get all the benefits from editors and tools, like autocompletion, inline errors, etc.

One of the biggest benefits is that now you can create Annotated dependencies that are then shared by multiple path operation functions, this will allow you to reduce a lot of code duplication in your codebase, while keeping all the support from editors and tools.

For example, you could have code like this:

```Python def getcurrentuser(token: str): # authenticate user return User()

@app.get("/items/") def readitems(user: User = Depends(getcurrent_user)): ...

@app.post("/items/") def createitem(*, user: User = Depends(getcurrent_user), item: Item): ...

@app.get("/items/{itemid}") def readitem(*, user: User = Depends(getcurrentuser), item_id: int): ...

@app.delete("/items/{itemid}") def deleteitem(*, user: User = Depends(getcurrentuser), item_id: int): ... ```

There's a bit of code duplication for the dependency:

Python user: User = Depends(get_current_user)

...the bigger the codebase, the more noticeable it is.

Now you can create an annotated dependency once, like this:

Python CurrentUser = Annotated[User, Depends(get_current_user)]

And then you can reuse this Annotated dependency:

```Python CurrentUser = Annotated[User, Depends(getcurrentuser)]

@app.get("/items/") def read_items(user: CurrentUser): ...

@app.post("/items/") def create_item(user: CurrentUser, item: Item): ...

@app.get("/items/{itemid}") def readitem(user: CurrentUser, item_id: int): ...

@app.delete("/items/{itemid}") def deleteitem(user: CurrentUser, item_id: int): ... ```

...and CurrentUser has all the typing information as User, so your editor will work as expected (autocompletion and everything), and FastAPI will be able to understand the dependency defined in Annotated. 😎

Roughly all the docs have been rewritten to use Annotated as the main way to declare parameters and dependencies. All the examples in the docs now include a version with Annotated and a version without it, for each of the specific Python versions (when there are small differences/improvements in more recent versions). There were around 23K new lines added between docs, examples, and tests. 🚀

The key updated docs are:

Special thanks to @nzig for the core implementation and to @adriangb for the inspiration and idea with Xpresso! 🚀

Features

  • ✨Add support for PEP-593 Annotated for specifying dependencies and parameters. PR #4871 by @nzig.

Docs

  • 📝 Tweak tip recommending Annotated in docs. PR #9270 by @tiangolo.
  • 📝 Update order of examples, latest Python version first, and simplify version tab names. PR #9269 by @tiangolo.
  • 📝 Update all docs to use Annotated as the main recommendation, with new examples and tests. PR #9268 by @tiangolo.

- Python
Published by tiangolo about 3 years ago

fastapi - 0.94.1

Fixes

  • 🎨 Fix types for lifespan, upgrade Starlette to 0.26.1. PR #9245 by @tiangolo.

- Python
Published by tiangolo about 3 years ago

fastapi - 0.94.0

Upgrades

Docs

Translations

  • 🌐 Add Russian translation for docs/ru/docs/history-design-future.md. PR #5986 by @Xewus.

Internal

- Python
Published by tiangolo about 3 years ago

fastapi - 0.93.0

Features

  • ✨ Add support for lifespan async context managers (superseding startup and shutdown events). Initial PR #2944 by @uSpike.

Now, instead of using independent startup and shutdown events, you can define that logic in a single function with yield decorated with @asynccontextmanager (an async context manager).

For example:

```Python from contextlib import asynccontextmanager

from fastapi import FastAPI

def fakeanswertoeverythingml_model(x: float): return x * 42

ml_models = {}

@asynccontextmanager async def lifespan(app: FastAPI): # Load the ML model mlmodels["answertoeverything"] = fakeanswertoeverythingmlmodel yield # Clean up the ML models and release the resources ml_models.clear()

app = FastAPI(lifespan=lifespan)

@app.get("/predict") async def predict(x: float): result = ml_models"answertoeverything" return {"result": result} ```

Note: This is the recommended way going forward, instead of using startup and shutdown events.

Read more about it in the new docs: Advanced User Guide: Lifespan Events.

Docs

  • ✏ Fix formatting in docs/en/docs/tutorial/metadata.md for ReDoc. PR #6005 by @eykamp.

Translations

  • 🌐 Tamil translations - initial setup. PR #5564 by @gusty1g.
  • 🌐 Add French translation for docs/fr/docs/advanced/path-operation-advanced-configuration.md. PR #9221 by @axel584.
  • 🌐 Add French translation for docs/tutorial/debugging.md. PR #9175 by @frabc.
  • 🌐 Initiate Armenian translation setup. PR #5844 by @har8.
  • 🌐 Add French translation for deployment/manually.md. PR #3693 by @rjNemo.

Internal

  • 👷 Update translation bot messages. PR #9206 by @tiangolo.
  • 👷 Update translations bot to use Discussions, and notify when a PR is done. PR #9183 by @tiangolo.
  • 🔧 Update sponsors-badges. PR #9182 by @tiangolo.
  • 👥 Update FastAPI People. PR #9181 by @github-actions[bot].
  • 🔊 Log GraphQL errors in FastAPI People, because it returns 200, with a payload with an error. PR #9171 by @tiangolo.
  • 💚 Fix/workaround GitHub Actions in Docker with git for FastAPI People. PR #9169 by @tiangolo.
  • ♻️ Refactor FastAPI Experts to use only discussions now that questions are migrated. PR #9165 by @tiangolo.
  • ⬆️ Upgrade analytics. PR #6025 by @tiangolo.
  • ⬆️ Upgrade and re-enable installing Typer-CLI. PR #6008 by @tiangolo.

- Python
Published by tiangolo about 3 years ago

fastapi - 0.92.0

🚨 This is a security fix. Please upgrade as soon as possible.

Upgrades

  • ⬆️ Upgrade Starlette to 0.25.0. PR #5996 by @tiangolo.
    • This solves a vulnerability that could allow denial of service attacks by using many small multipart fields/files (parts), consuming high CPU and memory.
    • Only applications using forms (e.g. file uploads) could be affected.
    • For most cases, upgrading won't have any breaking changes.

- Python
Published by tiangolo over 3 years ago

fastapi - 0.91.0

Upgrades

  • ⬆️ Upgrade Starlette version to 0.24.0 and refactor internals for compatibility. PR #5985 by @tiangolo.
    • This can solve nuanced errors when using middlewares. Before Starlette 0.24.0, a new instance of each middleware class would be created when a new middleware was added. That normally was not a problem, unless the middleware class expected to be created only once, with only one instance, that happened in some cases. This upgrade would solve those cases (thanks @adriangb! Starlette PR #2017). Now the middleware class instances are created once, right before the first request (the first time the app is called).
    • If you depended on that previous behavior, you might need to update your code. As always, make sure your tests pass before merging the upgrade.

- Python
Published by tiangolo over 3 years ago

fastapi - 0.90.1

Upgrades

  • ⬆️ Upgrade Starlette range to allow 0.23.1. PR #5980 by @tiangolo.

Docs

Translations

  • 🌐 Add Russian translation for docs/ru/docs/tutorial/cookie-params.md. PR #5890 by @bnzone.

Internal

- Python
Published by tiangolo over 3 years ago

fastapi - 0.90.0

Upgrades

  • ⬆️ Bump Starlette from 0.22.0 to 0.23.0. Initial PR #5739 by @Kludex.

Docs

Translations

  • 🌐 Add Russian translation for docs/ru/docs/tutorial/body-fields.md. PR #5898 by @simatheone.
  • 🌐 Add Russian translation for docs/ru/docs/help-fastapi.md. PR #5970 by @tiangolo.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/static-files.md. PR #5858 by @batlopes.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/encoder.md. PR #5525 by @felipebpl.
  • 🌐 Add Russian translation for docs/ru/docs/contributing.md. PR #5870 by @Xewus.

Internal

- Python
Published by tiangolo over 3 years ago

fastapi - 0.89.1

Fixes

  • 🐛 Ignore Response classes on return annotation. PR #5855 by @Kludex. See the new docs in the PR below.

Docs

Translations

  • 🌐 Add Turkish translation for docs/tr/docs/tutorial/first_steps.md. PR #5691 by @Kadermiyanyedi.

- Python
Published by tiangolo over 3 years ago

fastapi - 0.89.0

Features

  • ✨ Add support for function return type annotations to declare the response_model. Initial PR #1436 by @uriyyo.

Now you can declare the return type / response_model in the function return type annotation:

```python from fastapi import FastAPI from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel): name: str price: float

@app.get("/items/") async def read_items() -> list[Item]: return [ Item(name="Portal Gun", price=42.0), Item(name="Plumbus", price=32.0), ] ```

FastAPI will use the return type annotation to perform:

  • Data validation
  • Automatic documentation
    • It could power automatic client generators
  • Data filtering

Before this version it was only supported via the response_model parameter.

Read more about it in the new docs: Response Model - Return Type.

Docs

Translations

  • 🌐 Add Russian translation for docs/ru/docs/fastapi-people.md. PR #5577 by @Xewus.
  • 🌐 Fix typo in Chinese translation for docs/zh/docs/benchmarks.md. PR #4269 by @15027668g.
  • 🌐 Add Korean translation for docs/tutorial/cors.md. PR #3764 by @NinaHwang.

Internal

- Python
Published by tiangolo over 3 years ago

fastapi - 0.88.0

Upgrades

  • ⬆ Bump Starlette to version 0.22.0 to fix bad encoding for query parameters in new TestClient. PR #5659 by @azogue.

Docs

  • ✏️ Fix typo in docs for docs/en/docs/advanced/middleware.md. PR #5376 by @rifatrakib.

Translations

  • 🌐 Add Portuguese translation for docs/pt/docs/deployment/docker.md. PR #5663 by @ayr-ton.

Internal

- Python
Published by tiangolo over 3 years ago

fastapi - 0.87.0

Highlights of this release:

  • Upgraded Starlette
    • Now the TestClient is based on HTTPX instead of Requests. 🚀
    • There are some possible breaking changes in the TestClient usage, but @Kludex built bump-testclient to help you automatize migrating your tests. Make sure you are using Git and that you can undo any unnecessary changes (false positive changes, etc) before using bump-testclient.
  • New WebSocketException (and docs), re-exported from Starlette.
  • Upgraded and relaxed dependencies for package extras all (including new Uvicorn version), when you install "fastapi[all]".
  • New docs about how to Help Maintain FastAPI.

Features

Docs

Translations

  • 🌐 Fix highlight lines for Japanese translation for docs/tutorial/query-params.md. PR #2969 by @ftnext.
  • 🌐 Add French translation for docs/fr/docs/advanced/additional-status-code.md. PR #5477 by @axel584.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/request-forms-and-files.md. PR #5579 by @batlopes.
  • 🌐 Add Japanese translation for docs/ja/docs/advanced/websockets.md. PR #4983 by @xryuseix.

Internal

- Python
Published by tiangolo over 3 years ago

fastapi - 0.86.0

Features

Fixes

  • 🐛 Close FormData (uploaded files) after the request is done. PR #5465 by @adriangb.

Docs

Translations

  • 🌐 Update wording in Chinese translation for docs/zh/docs/python-types.md. PR #5416 by @supercaizehua.
  • 🌐 Add Russian translation for docs/ru/docs/deployment/index.md. PR #5336 by @Xewus.
  • 🌐 Update Chinese translation for docs/tutorial/security/oauth2-jwt.md. PR #3846 by @jaystone776.

Internal

  • 👷 Update FastAPI People to exclude bots: pre-commit-ci, dependabot. PR #5586 by @tiangolo.
  • 🎨 Format OpenAPI JSON in test_starlette_exception.py. PR #5379 by @iudeen.
  • 👷 Switch from Codecov to Smokeshow plus pytest-cov to pure coverage for internal tests. PR #5583 by @tiangolo.
  • 👥 Update FastAPI People. PR #5571 by @github-actions[bot].

- Python
Published by tiangolo over 3 years ago

fastapi - 0.85.2

Note: this release doesn't affect final users, it's mainly internal. It unlocks Pydanitc work with the integration that runs FastAPI's tests in Pydantic's CI.

Docs

  • ✏ Fix grammar and add helpful links to dependencies in docs/en/docs/async.md. PR #5432 by @pamelafox.
  • ✏ Fix broken link in alternatives.md. PR #5455 by @su-shubham.
  • ✏ Fix typo in docs about contributing, for compatibility with pip in Zsh. PR #5523 by @zhangbo2012.
  • 📝 Fix typo in docs with examples for Python 3.10 instead of 3.9. PR #5545 by @feliciss.

Translations

  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/request-forms.md. PR #4934 by @batlopes.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/dependencies/classes-as-dependencies.md. PR #4971 by @Zssaer.
  • 🌐 Add French translation for deployment/deta.md. PR #3692 by @rjNemo.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/query-params-str-validations.md. PR #5255 by @hjlarry.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/sql-databases.md. PR #4999 by @Zssaer.
  • 🌐 Add Chinese translation for docs/zh/docs/advanced/wsgi.md. PR #4505 by @ASpathfinder.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/body-multiple-params.md. PR #4111 by @lbmendes.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/path-params-numeric-validations.md. PR #4099 by @lbmendes.
  • 🌐 Add French translation for deployment/versions.md. PR #3690 by @rjNemo.
  • 🌐 Add French translation for docs/fr/docs/help-fastapi.md. PR #2233 by @JulianMaurin.
  • 🌐 Fix typo in Chinese translation for docs/zh/docs/tutorial/security/first-steps.md. PR #5530 by @yuki1sntSnow.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/response-status-code.md. PR #4922 by @batlopes.
  • 🔧 Add config for Tamil translations. PR #5563 by @tiangolo.

Internal

- Python
Published by tiangolo over 3 years ago

fastapi - 0.85.1

Fixes

  • 🐛 Fix support for strings in OpenAPI status codes: default, 1XX, 2XX, 3XX, 4XX, 5XX. PR #5187 by @JarroVGIT.

Docs

  • 📝 Add WayScript x FastAPI Tutorial to External Links section. PR #5407 by @moneeka.

Internal

- Python
Published by tiangolo over 3 years ago

fastapi - 0.85.0

Features

  • ⬆ Upgrade version required of Starlette from 0.19.1 to 0.20.4. Initial PR #4820 by @Kludex.
    • This includes several bug fixes in Starlette.
  • ⬆️ Upgrade Uvicorn max version in public extras: all. From >=0.12.0,<0.18.0 to >=0.12.0,<0.19.0. PR #5401 by @tiangolo.

Internal

  • ⬆️ Upgrade dependencies for doc and dev internal extras: Typer, Uvicorn. PR #5400 by @tiangolo.
  • ⬆️ Upgrade test dependencies: Black, HTTPX, databases, types-ujson. PR #5399 by @tiangolo.
  • ⬆️ Upgrade mypy and tweak internal type annotations. PR #5398 by @tiangolo.
  • 🔧 Update test dependencies, upgrade Pytest, move dependencies from dev to test. PR #5396 by @tiangolo.

- Python
Published by tiangolo over 3 years ago

fastapi - 0.84.0

Breaking Changes

This version of FastAPI drops support for Python 3.6. 🔥 Please upgrade to a supported version of Python (3.7 or above), Python 3.6 reached the end-of-life a long time ago. 😅☠

  • 🔧 Update package metadata, drop support for Python 3.6, move build internals from Flit to Hatch. PR #5240 by @ofek.

- Python
Published by tiangolo over 3 years ago

fastapi - 0.83.0

🚨 This is probably the last release (or one of the last releases) to support Python 3.6. 🔥

Python 3.6 reached the end-of-life and is no longer supported by Python since around a year ago.

You hopefully updated to a supported version of Python a while ago. If you haven't, you really should.

Features

  • ✨ Add support in jsonable_encoder for include and exclude with dataclasses. PR #4923 by @DCsunset.

Fixes

  • 🐛 Fix RuntimeError raised when HTTPException has a status code with no content. PR #5365 by @iudeen.
  • 🐛 Fix empty reponse body when default status_code is empty but the a Response parameter with response.status_code is set. PR #5360 by @tmeckel.

Docs

Internal

- Python
Published by tiangolo over 3 years ago

fastapi - 0.82.0

🚨 This is probably the last release (or one of the last releases) to support Python 3.6. 🔥

Python 3.6 reached the end-of-life and is no longer supported by Python since around a year ago.

You hopefully updated to a supported version of Python a while ago. If you haven't, you really should.

Features

  • ✨ Export WebSocketState in fastapi.websockets. PR #4376 by @matiuszka.
  • ✨ Support Python internal description on Pydantic model's docstring. PR #3032 by @Kludex.
  • ✨ Update ORJSONResponse to support non str keys and serializing Numpy arrays. PR #3892 by @baby5.

Fixes

  • 🐛 Allow exit code for dependencies with yield to always execute, by removing capacity limiter for them, to e.g. allow closing DB connections without deadlocks. PR #5122 by @adriangb.
  • 🐛 Fix FastAPI People GitHub Action: set HTTPX timeout for GraphQL query request. PR #5222 by @iudeen.
  • 🐛 Make sure a parameter defined as required is kept required in OpenAPI even if defined as optional in another dependency. PR #4319 by @cd17822.
  • 🐛 Fix support for path parameters in WebSockets. PR #3879 by @davidbrochart.

Docs

  • ✏ Update Hypercorn link, now pointing to GitHub. PR #5346 by @baconfield.
  • ✏ Tweak wording in docs/en/docs/advanced/dataclasses.md. PR #3698 by @pfackeldey.
  • 📝 Add note about Python 3.10 X | Y operator in explanation about Response Models. PR #5307 by @MendyLanda.
  • 📝 Add link to New Relic article: "How to monitor FastAPI application performance using Python agent". PR #5260 by @sjyothi54.
  • 📝 Update docs for ORJSONResponse with details about improving performance. PR #2615 by @falkben.
  • 📝 Add docs for creating a custom Response class. PR #5331 by @tiangolo.
  • 📝 Add tip about using alias for form data fields. PR #5329 by @tiangolo.

Translations

  • 🌐 Add Russian translation for docs/ru/docs/features.md. PR #5315 by @Xewus.
  • 🌐 Update Chinese translation for docs/zh/docs/tutorial/request-files.md. PR #4529 by @ASpathfinder.
  • 🌐 Add Chinese translation for docs/zh/docs/tutorial/encoder.md. PR #4969 by @Zssaer.
  • 🌐 Fix MkDocs file line for Portuguese translation of background-task.md. PR #5242 by @ComicShrimp.

Internal

- Python
Published by tiangolo over 3 years ago

fastapi - 0.81.0

Features

  • ✨ Add ReDoc <noscript> warning when JS is disabled. PR #5074 by @evroon.
  • ✨ Add support for FrozenSet in parameters (e.g. query). PR #2938 by @juntatalor.
  • ✨ Allow custom middlewares to raise HTTPExceptions and propagate them. PR #2036 by @ghandic.
  • ✨ Preserve json.JSONDecodeError information when handling invalid JSON in request body, to support custom exception handlers that use its information. PR #4057 by @UKnowWhoIm.

Fixes

  • 🐛 Fix jsonable_encoder for dataclasses with pydantic-compatible fields. PR #3607 by @himbeles.
  • 🐛 Fix support for extending openapi_extras with parameter lists. PR #4267 by @orilevari.

Docs

  • ✏ Fix a simple typo in docs/en/docs/python-types.md. PR #5193 by @GlitchingCore.
  • ✏ Fix typos in tests/test_schema_extra_examples.py. PR #5126 by @supraaxdd.
  • ✏ Fix typos in docs/en/docs/tutorial/path-params-numeric-validations.md. PR #5142 by @invisibleroads.
  • 📝 Add step about upgrading pip in the venv to avoid errors when installing dependencies docs/en/docs/contributing.md. PR #5181 by @edisnake.
  • ✏ Reword and clarify text in tutorial docs/en/docs/tutorial/body-nested-models.md. PR #5169 by @papb.
  • ✏ Fix minor typo in docs/en/docs/features.md. PR #5206 by @OtherBarry.
  • ✏ Fix minor typos in docs/en/docs/async.md. PR #5125 by @Ksenofanex.
  • 📝 Add external link to docs: "Fastapi, Docker(Docker compose) and Postgres". PR #5033 by @krishnardt.
  • 📝 Simplify example for docs for Additional Responses, remove unnecessary else. PR #4693 by @adriangb.
  • 📝 Update docs, compare enums with identity instead of equality. PR #4905 by @MicaelJarniac.
  • ✏ Fix typo in docs/en/docs/python-types.md. PR #4886 by @MicaelJarniac.
  • 🎨 Fix syntax highlighting in docs for OpenAPI Callbacks. PR #4368 by @xncbf.
  • ✏ Reword confusing sentence in docs file typo-fix-path-params-numeric-validations.md. PR #3219 by @ccrenfroe.
  • 📝 Update docs for handling HTTP Basic Auth with secrets.compare_digest() to account for non-ASCII characters. PR #3536 by @lewoudar.
  • 📝 Update docs for testing, fix examples with relative imports. PR #5302 by @tiangolo.

Translations

  • 🌐 Add Russian translation for docs/ru/docs/index.md. PR #5289 by @impocode.
  • 🌐 Add Russian translation for docs/ru/docs/deployment/versions.md. PR #4985 by @emp7yhead.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/header-params.md. PR #4921 by @batlopes.
  • 🌐 Update ko/mkdocs.yml for a missing link. PR #5020 by @dalinaum.

Internal

  • ⬆ Bump dawidd6/action-download-artifact from 2.21.1 to 2.22.0. PR #5258 by @dependabot[bot].
  • ⬆ [pre-commit.ci] pre-commit autoupdate. PR #5196 by @pre-commit-ci[bot].
  • 🔥 Delete duplicated tests in tests/test_tutorial/test_sql_databases/test_sql_databases.py. PR #5040 by @raccoonyy.
  • ♻ Simplify internal RegEx in fastapi/utils.py. PR #5057 by @pylounge.
  • 🔧 Fix Type hint of auto_error which does not need to be Optional[bool]. PR #4933 by @DavidKimDY.
  • 🔧 Update mypy config, use strict = true instead of manual configs. PR #4605 by @michaeloliverx.
  • ♻ Change a dict() for {} in fastapi/utils.py. PR #3138 by @ShahriyarR.
  • ♻ Move internal variable for errors in jsonable_encoder to put related code closer. PR #4560 by @GuilleQP.
  • ♻ Simplify conditional assignment in fastapi/dependencies/utils.py. PR #4597 by @cikay.
  • ⬆ Upgrade version pin accepted for Flake8, for internal code, to flake8 >=3.8.3,<6.0.0. PR #4097 by @jamescurtin.
  • 🍱 Update Jina banner, fix typo. PR #5301 by @tiangolo.

- Python
Published by tiangolo almost 4 years ago

fastapi - 0.80.0

Breaking Changes - Fixes

  • 🐛 Fix response_model not invalidating None. PR #2725 by @hukkin.

If you are using response_model with some type that doesn't include None but the function is returning None, it will now raise an internal server error, because you are returning invalid data that violates the contract in response_model. Before this release it would allow breaking that contract returning None.

For example, if you have an app like this:

```Python from fastapi import FastAPI from pydantic import BaseModel

class Item(BaseModel): name: str price: Optional[float] = None owner_ids: Optional[List[int]] = None

app = FastAPI()

@app.get("/items/invalidnone", responsemodel=Item) def getinvalid_none(): return None ```

...calling the path /items/invalidnone will raise an error, because None is not a valid type for the response_model declared with Item.

You could also be implicitly returning None without realizing, for example:

```Python from fastapi import FastAPI from pydantic import BaseModel

class Item(BaseModel): name: str price: Optional[float] = None owner_ids: Optional[List[int]] = None

app = FastAPI()

@app.get("/items/invalidnone", responsemodel=Item) def getinvalid_none(): if flag: return {"name": "foo"} # if flag is False, at this point the function will implicitly return None ```

If you have path operations using response_model that need to be allowed to return None, make it explicit in response_model using Union[Something, None]:

```Python from typing import Union

from fastapi import FastAPI from pydantic import BaseModel

class Item(BaseModel): name: str price: Optional[float] = None owner_ids: Optional[List[int]] = None

app = FastAPI()

@app.get("/items/invalidnone", responsemodel=Union[Item, None]) def getinvalid_none(): return None ```

This way the data will be correctly validated, you won't have an internal server error, and the documentation will also reflect that this path operation could return None (or null in JSON).

Fixes

  • ⬆ Upgrade Swagger UI copy of oauth2-redirect.html to include fixes for flavors of authorization code flows in Swagger UI. PR #3439 initial PR by @koonpeng.
  • ♻ Strip empty whitespace from description extracted from docstrings. PR #2821 by @and-semakin.
  • 🐛 Fix cached dependencies when using a dependency in Security() and other places (e.g. Depends()) with different OAuth2 scopes. PR #2945 by @laggardkernel.
  • 🎨 Update type annotations for response_model, allow things like Union[str, None]. PR #5294 by @tiangolo.

Translations

  • 🌐 Fix typos in German translation for docs/de/docs/features.md. PR #4533 by @0xflotus.
  • 🌐 Add missing navigator for encoder.md in Korean translation. PR #5238 by @joonas-yoon.
  • (Empty PR merge by accident) #4913.

- Python
Published by tiangolo almost 4 years ago

fastapi - 0.79.1

Fixes

  • 🐛 Fix jsonable_encoder using include and exclude parameters for non-Pydantic objects. PR #2606 by @xaviml.
  • 🐛 Fix edge case with repeated aliases names not shown in OpenAPI. PR #2351 by @klaa97.
  • 📝 Add misc dependency installs to tutorial docs. PR #2126 by @TeoZosa.

Docs

Translations

  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/query-params.md. PR #4775 by @batlopes.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/security/first-steps.md. PR #4954 by @FLAIR7.
  • 🌐 Add translation for docs/zh/docs/advanced/response-cookies.md. PR #4638 by @zhangbo2012.
  • 🌐 Add French translation for docs/fr/docs/deployment/index.md. PR #3689 by @rjNemo.
  • 🌐 Add Portuguese translation for tutorial/handling-errors.md. PR #4769 by @frnsimoes.
  • 🌐 Add French translation for docs/fr/docs/history-design-future.md. PR #3451 by @rjNemo.
  • 🌐 Add Russian translation for docs/ru/docs/tutorial/background-tasks.md. PR #4854 by @AdmiralDesu.
  • 🌐 Add Chinese translation for docs/tutorial/security/first-steps.md. PR #3841 by @jaystone776.
  • 🌐 Add Japanese translation for docs/ja/docs/advanced/nosql-databases.md. PR #4205 by @sUeharaE4.
  • 🌐 Add Indonesian translation for docs/id/docs/tutorial/index.md. PR #4705 by @bas-baskara.
  • 🌐 Add Persian translation for docs/fa/docs/index.md and tweak right-to-left CSS. PR #2395 by @mohsen-mahmoodi.

Internal

- Python
Published by tiangolo almost 4 years ago

fastapi - 0.79.0

Fixes - Breaking Changes

  • 🐛 Fix removing body from status codes that do not support it. PR #5145 by @tiangolo.
    • Setting status_code to 204, 304, or any code below 200 (1xx) will remove the body from the response.
    • This fixes an error in Uvicorn that otherwise would be thrown: RuntimeError: Response content longer than Content-Length.
    • This removes fastapi.openapi.constants.STATUS_CODES_WITH_NO_BODY, it is replaced by a function in utils.

Translations

  • 🌐 Start of Hebrew translation. PR #5050 by @itay-raveh.
  • 🔧 Add config for Swedish translations notification. PR #5147 by @tiangolo.
  • 🌐 Start of Swedish translation. PR #5062 by @MrRawbin.
  • 🌐 Add Japanese translation for docs/ja/docs/advanced/index.md. PR #5043 by @wakabame.
  • 🌐🇵🇱 Add Polish translation for docs/pl/docs/tutorial/first-steps.md. PR #5024 by @Valaraucoo.

Internal

- Python
Published by tiangolo almost 4 years ago

fastapi - 0.78.0

Features

  • ✨ Add support for omitting ... as default value when declaring required parameters with:

  • Path()

  • Query()

  • Header()

  • Cookie()

  • Body()

  • Form()

  • File()

New docs at Tutorial - Query Parameters and String Validations - Make it required. PR #4906 by @tiangolo.

Up to now, declaring a required parameter while adding additional validation or metadata needed using ... (Ellipsis).

For example:

```Python from fastapi import Cookie, FastAPI, Header, Path, Query

app = FastAPI()

@app.get("/items/{itemid}") def main( itemid: int = Path(default=..., gt=0), query: str = Query(default=..., maxlength=10), session: str = Cookie(default=..., minlength=3), x_trace: str = Header(default=..., title="Tracing header"), ): return {"message": "Hello World"} ```

...all these parameters are required because the default value is ... (Ellipsis).

But now it's possible and supported to just omit the default value, as would be done with Pydantic fields, and the parameters would still be required.

✨ For example, this is now supported:

```Python from fastapi import Cookie, FastAPI, Header, Path, Query

app = FastAPI()

@app.get("/items/{itemid}") def main( itemid: int = Path(gt=0), query: str = Query(maxlength=10), session: str = Cookie(minlength=3), x_trace: str = Header(title="Tracing header"), ): return {"message": "Hello World"} ```

To declare parameters as optional (not required), you can set a default value as always, for example using None:

```Python from typing import Union from fastapi import Cookie, FastAPI, Header, Path, Query

app = FastAPI()

@app.get("/items/{itemid}") def main( itemid: int = Path(gt=0), query: Union[str, None] = Query(default=None, maxlength=10), session: Union[str, None] = Cookie(default=None, minlength=3), x_trace: Union[str, None] = Header(default=None, title="Tracing header"), ): return {"message": "Hello World"} ```

Docs

  • 📝 Add docs recommending Union over Optional and migrate source examples. New docs at Python Types Intro - Using Union or Optional. PR #4908 by @tiangolo.
  • 🎨 Fix default value as set in tutorial for Path Operations Advanced Configurations. PR #4899 by @tiangolo.
  • 📝 Add documentation for redefined path operations. PR #4864 by @madkinsz.
  • 📝 Updates links for Celery documentation. PR #4736 by @sammyzord.
  • ✏ Fix example code with sets in tutorial for body nested models. PR #3030 by @hitrust.
  • ✏ Fix links to Pydantic docs. PR #4670 by @kinuax.
  • 📝 Update docs about Swagger UI self-hosting with newer source links. PR #4813 by @Kastakin.
  • 📝 Add link to external article: Building the Poll App From Django Tutorial With FastAPI And React. PR #4778 by @jbrocher.
  • 📝 Add OpenAPI warning to "Body - Fields" docs with extra schema extensions. PR #4846 by @ml-evs.

Translations

  • 🌐 Fix code examples in Japanese translation for docs/ja/docs/tutorial/testing.md. PR #4623 by @hirotoKirimaru.

Internal

  • ♻ Refactor dict value extraction to minimize key lookups fastapi/utils.py. PR #3139 by @ShahriyarR.
  • ✅ Add tests for required nonable parameters and body fields. PR #4907 by @tiangolo.
  • 👷 Fix installing Material for MkDocs Insiders in CI. PR #4897 by @tiangolo.
  • 👷 Add pre-commit CI instead of custom GitHub Action. PR #4896 by @tiangolo.
  • 👷 Add pre-commit GitHub Action workflow. PR #4895 by @tiangolo.
  • 📝 Add dark mode auto switch to docs based on OS preference. PR #4869 by @ComicShrimp.
  • 🔥 Remove un-used old pending tests, already covered in other places. PR #4891 by @tiangolo.
  • 🔧 Add Python formatting hooks to pre-commit. PR #4890 by @tiangolo.
  • 🔧 Add pre-commit with first config and first formatting pass. PR #4888 by @tiangolo.
  • 👷 Disable CI installing Material for MkDocs in forks. PR #4410 by @dolfinus.

- Python
Published by tiangolo about 4 years ago

fastapi - 0.77.1

Upgrades

  • ⬆ Upgrade Starlette from 0.19.0 to 0.19.1. PR #4819 by @Kludex.

Docs

  • 📝 Add link to german article: REST-API Programmieren mittels Python und dem FastAPI Modul. PR #4624 by @fschuermeyer.
  • 📝 Add external link: PyCharm Guide to FastAPI. PR #4512 by @mukulmantosh.
  • 📝 Add external link to article: Building an API with FastAPI and Supabase and Deploying on Deta. PR #4440 by @aUnicornDev.
  • ✏ Fix small typo in docs/en/docs/tutorial/security/first-steps.md. PR #4515 by @KikoIlievski.

Translations

Internal

  • 🔧 Add notifications in issue for Uzbek translations. PR #4884 by @tiangolo.

- Python
Published by tiangolo about 4 years ago

fastapi - 0.77.0

Upgrades

  • ⬆ Upgrade Starlette from 0.18.0 to 0.19.0. PR #4488 by @Kludex.
    • When creating an explicit JSONResponse the content argument is now required.

Docs

  • 📝 Add external link to article: Seamless FastAPI Configuration with ConfZ. PR #4414 by @silvanmelchior.
  • 📝 Add external link to article: 5 Advanced Features of FastAPI You Should Try. PR #4436 by @kaustubhgupta.
  • ✏ Reword to improve legibility of docs about TestClient. PR #4389 by @rgilton.
  • 📝 Add external link to blog post about Kafka, FastAPI, and Ably. PR #4044 by @Ugbot.
  • ✏ Fix typo in docs/en/docs/tutorial/sql-databases.md. PR #4875 by @wpyoga.
  • ✏ Fix typo in docs/en/docs/async.md. PR #4726 by @Prezu.

Translations

  • 🌐 Update source example highlights for docs/zh/docs/tutorial/query-params-str-validations.md. PR #4237 by @caimaoy.
  • 🌐 Remove translation docs references to aiofiles as it's no longer needed since AnyIO. PR #3594 by @alonme.
  • ✏ 🌐 Fix typo in Portuguese translation for docs/pt/docs/tutorial/path-params.md. PR #4722 by @CleoMenezesJr.
  • 🌐 Fix live docs server for translations for some languages. PR #4729 by @wakabame.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/cookie-params.md. PR #4112 by @lbmendes.
  • 🌐 Fix French translation for docs/tutorial/body.md. PR #4332 by @Smlep.
  • 🌐 Add Japanese translation for docs/ja/docs/advanced/conditional-openapi.md. PR #2631 by @sh0nk.
  • 🌐 Fix Japanese translation of docs/ja/docs/tutorial/body.md. PR #3062 by @a-takahashi223.
  • 🌐 Add Portuguese translation for docs/pt/docs/tutorial/background-tasks.md. PR #2170 by @izaguerreiro.
  • 🌐 Add Portuguese translation for docs/deployment/deta.md. PR #4442 by @lsglucas.
  • 🌐 Add Russian translation for docs/async.md. PR #4036 by @Winand.
  • 🌐 Add Portuguese translation for docs/tutorial/body.md. PR #3960 by @leandrodesouzadev.
  • 🌐 Add Portuguese translation of tutorial/extra-data-types.md. PR #4077 by @luccasmmg.
  • 🌐 Update German translation for docs/features.md. PR #3905 by @jomue.

- Python
Published by tiangolo about 4 years ago

fastapi - 0.76.0

Upgrades

  • ⬆ Upgrade Starlette from 0.17.1 to 0.18.0. PR #4483 by @Kludex.

Internal

- Python
Published by tiangolo about 4 years ago

fastapi - 0.75.2

This release includes upgrades to third-party packages that handle security issues. Although there's a chance these issues don't affect you in particular, please upgrade as soon as possible.

Fixes

  • ✅ Fix new/recent tests with new fixed ValidationError JSON Schema. PR #4806 by @tiangolo.
  • 🐛 Fix JSON Schema for ValidationError at field loc. PR #3810 by @dconathan.
  • 🐛 Fix support for prefix on APIRouter WebSockets. PR #2640 by @Kludex.

Upgrades

  • ⬆️ Update ujson ranges for CVE-2021-45958. PR #4804 by @tiangolo.
  • ⬆️ Upgrade dependencies upper range for extras "all". PR #4803 by @tiangolo.
  • ⬆ Upgrade Swagger UI - swagger-ui-dist@4. This handles a security issue in Swagger UI itself where it could be possible to inject HTML into Swagger UI. Please upgrade as soon as you can, in particular if you expose your Swagger UI (/docs) publicly to non-expert users. PR #4347 by @RAlanWright.

Internal

  • 🔧 Update sponsors, add: ExoFlare, Ines Course; remove: Dropbase, Vim.so, Calmcode; update: Striveworks, TalkPython and TestDriven.io. PR #4805 by @tiangolo.
  • ⬆️ Upgrade Codecov GitHub Action. PR #4801 by @tiangolo.

- Python
Published by tiangolo about 4 years ago

fastapi - 0.75.1

Translations

Internal

- Python
Published by tiangolo about 4 years ago

fastapi - 0.75.0

Features

- Python
Published by tiangolo about 4 years ago

fastapi - 0.74.1

Features

  • ✨ Include route in scope to allow middleware and other tools to extract its information. PR #4603 by @tiangolo.

- Python
Published by tiangolo over 4 years ago

fastapi - 0.74.0

Breaking Changes

  • ✨ Update internal AsyncExitStack to fix context for dependencies with yield. PR #4575 by @tiangolo.

Dependencies with yield can now catch HTTPException and custom exceptions. For example:

Python async def get_database(): with Session() as session: try: yield session except HTTPException: session.rollback() raise finally: session.close()

After the dependency with yield handles the exception (or not) the exception is raised again. So that any exception handlers can catch it, or ultimately the default internal ServerErrorMiddleware.

If you depended on exceptions not being received by dependencies with yield, and receiving an exception breaks the code after yield, you can use a block with try and finally:

Python async def do_something(): try: yield something finally: some_cleanup()

...that way the finally block is run regardless of any exception that might happen.

Features

  • The same PR #4575 from above also fixes the contextvars context for the code before and after yield. This was the main objective of that PR.

This means that now, if you set a value in a context variable before yield, the value would still be available after yield (as you would intuitively expect). And it also means that you can reset the context variable with a token afterwards.

For example, this works correctly now:

```Python from contextvars import ContextVar from typing import Any, Dict, Optional

legacyrequeststatecontextvar: ContextVar[Optional[Dict[str, Any]]] = ContextVar( "legacyrequeststatecontextvar", default=None )

async def setuprequeststatedependency(): requeststate = {"user": "deadpond"} contextvartoken = legacyrequeststatecontextvar.set(requeststate) yield requeststate legacyrequeststatecontextvar.reset(contextvar_token) ```

...before this change it would raise an error when resetting the context variable, because the contextvars context was different, because of the way it was implemented.

Note: You probably don't need contextvars, and you should probably avoid using them. But they are powerful and useful in some advanced scenarios, for example, migrating from code that used Flask's g semi-global variable.

Technical Details: If you want to know more of the technical details you can check out the PR description #4575.

Internal

- Python
Published by tiangolo over 4 years ago

fastapi - 0.73.0

Features

Docs

  • 📝 Tweak and improve docs for Request Files. PR #4470 by @tiangolo.

Fixes

Internal

  • 🐛 Fix docs dependencies cache, to get the latest Material for MkDocs. PR #4466 by @tiangolo.
  • 🔧 Add sponsor Dropbase. PR #4465 by @tiangolo.

- Python
Published by tiangolo over 4 years ago

fastapi - 0.72.0

Features

Docs

  • 📝 Update Python Types docs, add missing 3.6 / 3.9 example. PR #4434 by @tiangolo.

Translations

  • 🌐 Update Chinese translation for docs/help-fastapi.md. PR #3847 by @jaystone776.
  • 🌐 Fix Korean translation for docs/ko/docs/index.md. PR #4195 by @kty4119.
  • 🌐 Add Polish translation for docs/pl/docs/index.md. PR #4245 by @MicroPanda123.
  • 🌐 Add Chinese translation for docs\tutorial\path-operation-configuration.md. PR #3312 by @jaystone776.

Internal

  • 🔧 Enable MkDocs Material Insiders' content.tabs.link. PR #4399 by @tiangolo.

- Python
Published by tiangolo over 4 years ago

fastapi - 0.71.0

Features

  • ✨ Add docs and tests for Python 3.9 and Python 3.10. PR #3712 by @tiangolo.
    • You can start with Python Types Intro, it explains what changes between different Python versions, in Python 3.9 and in Python 3.10.
    • All the FastAPI docs are updated. Each code example in the docs that could use different syntax in Python 3.9 or Python 3.10 now has all the alternatives in tabs.
  • ⬆️ Upgrade Starlette to 0.17.1. PR #4145 by @simondale00.

Internal

- Python
Published by tiangolo over 4 years ago

fastapi - 0.70.1

There's nothing interesting in this particular FastAPI release. It is mainly to enable/unblock the release of the next version of Pydantic that comes packed with features and improvements. 🤩

Fixes

  • 🐛 Fix JSON Schema for dataclasses, supporting the fixes in Pydantic 1.9. PR #4272 by @PrettyWood.

Translations

  • 🌐 Add Korean translation for docs/tutorial/request-forms-and-files.md. PR #3744 by @NinaHwang.
  • 🌐 Add Korean translation for docs/tutorial/request-files.md. PR #3743 by @NinaHwang.
  • 🌐 Add portuguese translation for docs/tutorial/query-params-str-validations.md. PR #3965 by @leandrodesouzadev.
  • 🌐 Add Korean translation for docs/tutorial/response-status-code.md. PR #3742 by @NinaHwang.
  • 🌐 Add Korean translation for Tutorial - JSON Compatible Encoder. PR #3152 by @NEONKID.
  • 🌐 Add Korean translation for Tutorial - Path Parameters and Numeric Validations. PR #2432 by @hard-coders.
  • 🌐 Add Korean translation for docs/ko/docs/deployment/versions.md. PR #4121 by @DevDae.
  • 🌐 Fix Korean translation for docs/ko/docs/tutorial/index.md. PR #4193 by @kimjaeyoonn.
  • 🔧 Add CryptAPI sponsor. PR #4264 by @tiangolo.
  • 📝 Update docs/tutorial/dependencies/classes-as-dependencies: Add type of query parameters in a description of Classes as dependencies. PR #4015 by @0417taehyun.
  • 🌐 Add French translation for Tutorial - First steps. PR #3455 by @Smlep.
  • 🌐 Add French translation for docs/tutorial/path-params.md. PR #3548 by @Smlep.
  • 🌐 Add French translation for docs/tutorial/query-params.md. PR #3556 by @Smlep.
  • 🌐 Add Turkish translation for docs/python-types.md. PR #3926 by @BilalAlpaslan.

Internal

- Python
Published by tiangolo over 4 years ago

fastapi - 0.70.0

This release just upgrades Starlette to the latest version, 0.16.0, which includes several bug fixes and some small breaking changes.

These last three consecutive releases are independent so that you can migrate gradually:

  • First to FastAPI 0.68.2, with no breaking changes, but upgrading all the sub-dependencies.
  • Next to FastAPI 0.69.0, which upgrades Starlette to 0.15.0, with AnyIO support, and a higher chance of having breaking changes in your code.
  • Finally to FastAPI 0.70.0, just upgrading Starlette to the latest version 0.16.0 with additional bug fixes.

This way, in case there was a breaking change for your code in one of the releases, you can still benefit from the previous upgrades. ✨

Breaking Changes - Upgrade

Also upgrades the ranges of optional dependencies:

  • "jinja2 >=2.11.2,<4.0.0"
  • "itsdangerous >=1.1.0,<3.0.0"

- Python
Published by tiangolo over 4 years ago

fastapi - 0.69.0

Breaking Changes - Upgrade

This release adds support for Trio. ✨

It upgrades the version of Starlette to 0.15.0, now based on AnyIO, and the internal async components in FastAPI are now based on AnyIO as well, making it compatible with both asyncio and Trio.

You can read the docs about running FastAPI with Trio using Hypercorn.

This release also removes graphene as an optional dependency for GraphQL. If you need to work with GraphQL, the recommended library now is Strawberry. You can read the new FastAPI with GraphQL docs.

Features

  • ✨ Add support for Trio via AnyIO, upgrading Starlette to 0.15.0. PR #3372 by @graingert.
  • ➖ Remove graphene as an optional dependency. PR #4007 by @tiangolo.

Docs

  • 📝 Add docs for using Trio with Hypercorn. PR #4014 by @tiangolo.
  • ✏ Fix typos in Deployment Guide. PR #3975 by @ghandic.
  • 📝 Update docs with pip install calls when using extras with brackets, use quotes for compatibility with Zsh. PR #3131 by @tomwei7.
  • 📝 Add external link to article: Deploying ML Models as API Using FastAPI and Heroku. PR #3904 by @kaustubhgupta.
  • ✏ Fix typo in file paths in docs/en/docs/contributing.md. PR #3752 by @NinaHwang.
  • ✏ Fix a typo in docs/en/docs/advanced/path-operation-advanced-configuration.md and docs/en/docs/release-notes.md. PR #3750 by @saintmalik.
  • ✏️ Add a missing comma in the security tutorial. PR #3564 by @jalvaradosegura.
  • ✏ Fix typo in docs/en/docs/help-fastapi.md. PR #3760 by @jaystone776.
  • ✏ Fix typo about file path in docs/en/docs/tutorial/bigger-applications.md. PR #3285 by @HolyDorus.
  • ✏ Re-word to clarify test client in docs/en/docs/tutorial/testing.md. PR #3382 by @Bharat123rox.
  • 📝 Fix incorrect highlighted code. PR #3325 by @paxcodes.
  • 📝 Add external link to article: How-to deploy FastAPI app to Heroku. PR #3241 by @Jarmos-san.
  • ✏ Fix typo (mistranslation) in docs/en/docs/advanced/templates.md. PR #3211 by @oerpli.
  • 📝 Remove note about (now supported) feature from Swagger UI in docs/en/docs/tutorial/request-files.md. PR #2803 by @gsganden.
  • ✏ Fix typo re-word in docs/tutorial/handling-errors.md. PR #2700 by @graue70.

Translations

Internal

  • 📝 Add supported Python versions badge. PR #2794 by @hramezani.
  • ✏ Fix link in Japanese docs for docs/ja/docs/deployment/docker.md. PR #3245 by @utamori.
  • 🔧 Correct DeprecationWarning config and comment in pytest settings. PR #4008 by @graingert.
  • 🔧 Swap light/dark theme button icon. PR #3246 by @eddsalkield.
  • 🔧 Lint only in Python 3.7 and above. PR #4006 by @tiangolo.
  • 🔧 Add GitHub Action notify-translations config for Azerbaijani. PR #3995 by @tiangolo.

- Python
Published by tiangolo over 4 years ago

fastapi - 0.68.2

This release has no breaking changes. 🎉

It upgrades the version ranges of sub-dependencies to allow applications using FastAPI to easily upgrade them.

Soon there will be a new FastAPI release upgrading Starlette to take advantage of recent improvements, but as that has a higher chance of having breaking changes, it will be in a separate release.

Features

  • ⬆Increase supported version of aiofiles to suppress warnings. PR #2899 by @SnkSynthesis.
  • ➖ Do not require backports in Python >= 3.7. PR #1880 by @FFY00.
  • ⬆ Upgrade required Python version to >= 3.6.1, needed by typing.Deque, used by Pydantic. PR #2733 by @hukkin.
  • ⬆️ Bump Uvicorn max range to 0.15.0. PR #3345 by @Kludex.

Docs

  • 📝 Update GraphQL docs, recommend Strawberry. PR #3981 by @tiangolo.
  • 📝 Re-write and extend Deployment guide: Concepts, Uvicorn, Gunicorn, Docker, Containers, Kubernetes. PR #3974 by @tiangolo.
  • 📝 Upgrade HTTPS guide with more explanations and diagrams. PR #3950 by @tiangolo.

Translations

  • 🌐 Add Turkish translation for docs/features.md. PR #1950 by @ycd.
  • 🌐 Add Turkish translation for docs/benchmarks.md. PR #2729 by @Telomeraz.
  • 🌐 Add Turkish translation for docs/index.md. PR #1908 by @ycd.
  • 🌐 Add French translation for docs/tutorial/body.md. PR #3671 by @Smlep.
  • 🌐 Add French translation for deployment/docker.md. PR #3694 by @rjNemo.
  • 🌐 Add Portuguese translation for docs/tutorial/path-params.md. PR #3664 by @FelipeSilva93.
  • 🌐 Add Portuguese translation for docs/deployment/https.md. PR #3754 by @lsglucas.
  • 🌐 Add German translation for docs/features.md. PR #3699 by @mawassk.

Internal

  • ✨ Update GitHub Action: notify-translations, to avoid a race conditions. PR #3989 by @tiangolo.
  • ⬆️ Upgrade development autoflake, supporting multi-line imports. PR #3988 by @tiangolo.
  • ⬆️ Increase dependency ranges for tests and docs: pytest-cov, pytest-asyncio, black, httpx, sqlalchemy, databases, mkdocs-markdownextradata-plugin. PR #3987 by @tiangolo.
  • 👥 Update FastAPI People. PR #3986 by @github-actions[bot].
  • 💚 Fix badges in README and main page. PR #3979 by @ghandic.
  • ⬆ Upgrade internal testing dependencies: mypy to version 0.910, add newly needed type packages. PR #3350 by @ArcLightSlavik.
  • ✨ Add Deepset Sponsorship. PR #3976 by @tiangolo.
  • 🎨 Tweak CSS styles for shell animations. PR #3888 by @tiangolo.
  • 🔧 Add new Sponsor Calmcode.io. PR #3777 by @tiangolo.

- Python
Published by tiangolo over 4 years ago

fastapi - 0.68.1

Translations

  • 🌐 Add Portuguese translation of docs/fastapi-people.md. PR #3461 by @ComicShrimp.
  • 🌐 Add Chinese translation for docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #3492 by @jaystone776.
  • 🔧 Add new Translation tracking issues for German and Indonesian. PR #3718 by @tiangolo.
  • 🌐 Add Chinese translation for docs/tutorial/dependencies/sub-dependencies.md. PR #3491 by @jaystone776.
  • 🌐 Add Portuguese translation for docs/advanced/index.md. PR #3460 by @ComicShrimp.
  • 🌐 Portuguese translation of docs/async.md. PR #1330 by @Serrones.
  • 🌐 Add French translation for docs/async.md. PR #3416 by @Smlep.

Internal

- Python
Published by tiangolo almost 5 years ago