リリースノート¶
最新の変更¶
0.119.0¶
FastAPIは現在、同じアプリ内でPydantic v2モデルとpydantic.v1モデルの両方を(一時的に)同時にサポートしています。これにより、Pydantic v1を使用しているFastAPIアプリが段階的かつ迅速にPydantic v2への移行を容易にすることができます。
from fastapi import FastAPI
from pydantic import BaseModel as BaseModelV2
from pydantic.v1 import BaseModel
class Item(BaseModel):
name: str
description: str | None = None
class ItemV2(BaseModelV2):
title: str
summary: str | None = None
app = FastAPI()
@app.post("/items/", response_model=ItemV2)
def create_item(item: Item):
return {"title": item.name, "summary": item.description}
この機能の追加は、Pydantic v1にまだとどまっている少数のアプリケーションがPydantic v2に移行するのを容易にすることを主な目的とした大きな取り組みでした。
これにより、Pydantic v1のサポートは非推奨となり、近い将来のFastAPIのバージョンで削除されます。
注意: Pydanticチームはすでに、Python 3.14以降の最近のPythonバージョンでのPydantic v1のサポートを停止していることに留意してください。
Pydantic v1からPydantic v2への移行方法については、ドキュメントで詳しく読むことができます。Pydantic v1からPydantic v2への移行。
機能¶
- ✨
from pydantic.v1 import BaseModelのサポートを追加し、同じアプリ内でPydantic v1とv2モデルを混在させることができるようになりました。PR #14168 by @tiangolo。
0.118.3¶
アップグレード¶
0.118.2¶
修正¶
- 🐛 タグ付けされた識別されたユニオンがボディフィールドとして認識されない問題を修正しました。PR #12942 by @frankie567。
内部¶
- ⬆ astral-sh/setup-uv を6から7に更新しました。PR #14167 by @dependabot[bot]。
0.118.1¶
アップグレード¶
ドキュメント¶
翻訳¶
- 🔨 ロシア語翻訳のLLMプロンプトを追加しました。PR #13936 by @tiangolo。
- 🌐 ドイツ語のドキュメントを同期しました。PR #14149 by @nilslindemann。
- 🌐 欠落しているページのロシア語翻訳を追加 (LLM生成)。PR #14135 by @YuriiMotov。
- 🌐 既存ページのロシア語翻訳を更新 (LLM生成)。PR #14123 by @YuriiMotov。
- 🌐 非アクティブな翻訳の設定ファイルを削除しました。PR #14130 by @tiangolo。
内部¶
- 🔨 ローカルカバレッジロジックを独自のスクリプトに移動しました。PR #14166 by @tiangolo。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #14161 by @pre-commit-ci[bot]。
- ⬆ griffe-typingdocを0.2.8から0.2.9に更新しました。PR #14144 by @dependabot[bot]。
- ⬆ mkdocs-macros-pluginを1.3.9から1.4.0に更新しました。PR #14145 by @dependabot[bot]。
- ⬆ markdown-include-variantsを0.0.4から0.0.5に更新しました。PR #14146 by @dependabot[bot]。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #14126 by @pre-commit-ci[bot]。
- 👥 FastAPI GitHubトピックリポジトリを更新しました。PR #14150 by @tiangolo。
- 👥 FastAPI People - スポンサーを更新しました。PR #14139 by @tiangolo。
- 👥 FastAPI People - 貢献者と翻訳者を更新しました。PR #14138 by @tiangolo。
- ⬆ ruffを0.12.7から0.13.2に更新しました。PR #14147 by @dependabot[bot]。
- ⬆ sqlmodelを0.0.24から0.0.25に更新しました。PR #14143 by @dependabot[bot]。
- ⬆ tiangolo/issue-managerを0.5.1から0.6.0に更新しました。PR #14148 by @dependabot[bot]。
- 👷 ドキュメントプレビューコメント、単一コメントを更新し、失敗ステータスを追加しました。PR #14129 by @tiangolo。
- 🔨
mkdocs_hooks.pyを修正し、ページのメタデータにtitleを追加しました(ソーシャルカードのパーマリンクを削除)。PR #14125 by @YuriiMotov。
0.118.0¶
修正¶
- 🐛
StreamingResponseとyieldまたはUploadFileを使用する依存関係のサポートを修正し、レスポンス完了後にクローズするようにしました。PR #14099 by @tiangolo。
FastAPI 0.118.0以前は、yieldを使用する依存関係がある場合、パス操作関数が戻った後、レスポンスが送信される直前に終了コードが実行されていました。
この変更は、StreamingResponseを返した場合でも、yieldを持つ依存関係の終了コードがすでに実行されていたことを意味します。
例えば、yieldを持つ依存関係にデータベースセッションがあった場合、StreamingResponseはデータストリーミング中にそのセッションを使用できませんでした。これは、yield後の終了コードでセッションがすでに閉じられていたためです。
この動作は0.118.0で元に戻され、yield後の終了コードがレスポンス送信後に実行されるようになりました。
詳細については、高度な依存関係 - yield、HTTPException、except、およびバックグラウンドタスクを持つ依存関係のドキュメントを参照してください。これには、クライアントにレスポンスを返す前にデータベースセッションを早期に閉じたい場合の対処法も含まれています。
ドキュメント¶
- 📝
tutorial/security/oauth2-jwt/を更新し、passlibの代わりにArgon2でpwdlibを使用するようにしました。PR #13917 by @Neizvestnyj。 - ✏️ OAuth2パスワードリクエストフォームのタイプミスを修正しました。PR #14112 by @alv2017。
- 📝 要件のインストールに関する貢献ガイドラインを更新しました。PR #14095 by @alejsdev。
翻訳¶
- 🌐 ドイツ語のドキュメントを同期しました。PR #14098 by @nilslindemann。
内部¶
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #14103 by @pre-commit-ci[bot]。
- ♻️ スポンサー画像の処理をリファクタリングしました。PR #14102 by @alejsdev。
- 🐛 画像エラー時に要素を非表示にしてスポンサー表示の問題を修正しました。PR #14097 by @alejsdev。
- 🐛 スポンサー画像が表示されていない場合、スポンサーバッジを非表示にします。PR #14096 by @alejsdev。
0.117.1¶
修正¶
- 🐛
Formパラメーターの後にFileが宣言された場合の検証エラーを修正しました。PR #11194 by @thomasleveil。
0.117.0¶
機能¶
- ✨ ボディレスレスポンスの戻り値の型として
Noneを許可しました。PR #9425 by @hofrob。 - ✨ OpenAPIスキーマの
typeフィールドに配列値を許可しました。PR #13639 by @sammasak。 - ✨
FastAPIにOpenAPIのexternal_docsパラメータを追加しました。PR #13713 by @cmtoro。
修正¶
- ⚡️ Pydantic V1でのレスポンスモデルフィールドの
default_factoryを修正しました。PR #9704 by @vvanglro。 - 🐛 Pydantic V1でのモデルのdocstringフォームフィード文字の処理の不整合を修正しました。PR #6039 by @MaxwellPayne。
- 🐛
jsonable_encoderがPydantic v1オブジェクトのjson_encodersを変更する問題を修正しました。PR #4972 by @aboubacs。 - 🐛 APIエンドポイントで引数が1つだけ使用されている場合に
allow_arbitrary_typesを再有効化しました。PR #13694 by @rmawatson。 - 🐛
inspect.getcoroutinefunction()がunittest.mock.patch()を使用したテストを中断させる可能性がある問題を修正しました。PR #14022 by @secrett2633。
リファクタリング¶
- ♻️
dependency-cache辞書をsolve_dependencies内でNoneの場合にのみ作成するようにしました(空の場合に再作成しない)。PR #13689 by @bokshitsky。 - ✅
test_tutorial/test_header_params/test_tutorial003.pyで重複するヘッダーのテストケースを有効にしました。PR #13864 by @Amogha-ark。 - 📌
httpxを>=0.23.0,<1.0.0にピン留めしました。PR #14086 by @YuriiMotov。
ドキュメント¶
- 📝
tutorial/cookie-params.mdにCookieとJavaScriptに関する注意を追加しました。PR #13510 by @Kludex。 - 📝
path-params-numeric-validations.mdから、言語en、es、ukの古い書式設定を削除しました。PR #14059 by @svlandeg。 - 📝 英語のドキュメントを修正および改善しました。PR #14048 by @nilslindemann。
翻訳¶
- 📝 プロンプトとドイツ語翻訳を更新しました。PR #14015 by @nilslindemann。
内部¶
- ✅ response_modelのテストを簡素化しました。PR #14062 by @dynamicy。
- 🚨 pydantic.mypyプラグインをインストールしました。PR #14081 by @svlandeg。
- ✅ LLMテストファイルを追加しました。PR #14049 by @nilslindemann。
- 🔨 翻訳スクリプトを更新しました。PR #13968 by @YuriiMotov。
- 🛠️
docs.py generate-readmeコマンドを更新し、ヘッダーからパーマリンクを削除しました。PR #14055 by @YuriiMotov。 - ⬆️ mypyを1.14.1に更新しました。PR #12970 by @tamird。
0.116.2¶
アップグレード¶
- ⬆️ Starletteのサポートバージョン範囲を>=0.40.0,<0.49.0にアップグレードしました。PR #14077 by @musicinmybrain。
ドキュメント¶
- 📝 プロキシの背後 - プロキシ転送ヘッダーのドキュメントを追加しました。
--forwarded-allow-ips="*"を使用しています。PR #14028 by @tiangolo。 - 📝
docs/tutorial/body.mdにdict()の非推奨情報ブロックを追加しました。PR #13906 by @jomkv。 - 📝 ドキュメント内のTwitterをすべてX (Twitter)に修正しました。PR #13809 by @valentinDruzhinin。
- 🐛
termynal.jsのrestart/fastボタンでスクロールトップを防ぐようにしました。PR #13714 by @Ashish-Pandey62。 - 📝 テストイベントのドキュメントを更新しました。PR #13259 by @z0z0r4。
- 📝 ドキュメント内のエラーレスポンスの古い
urlフィールドを削除しました。PR #13655 by @Taoup。 - 📝
docs_src/security/tutorial005.pyのscopeクレームを標準に合わせました。PR #11189 by @DurandA。 - 📝 TrustedHostMiddlewareのドキュメントを更新しました。PR #11441 by @soulee-dev。
- 📝 存在しないサイト callbackhell.com へのリンクを削除しました。PR #14006 by @dennybiasiolli。
- 📝 英語のドキュメントのヘッダーにパーマリンクを追加しました。PR #13993 by @YuriiMotov。
- 📝
docs/en/docs/advanced/generate-clients.mdを更新しました。PR #13793 by @mrlubos。 - 📝 新しい言語翻訳リクエストのためのディスカッションテンプレートを追加しました。PR #13535 by @alejsdev。
翻訳¶
- 📝
docs/docs/python-types.mdのPydanticモデルの例のコードインクルードを修正しました。PR #13997 by @anfreshman。 - 🌐
docs/docs/async.mdのポルトガル語翻訳を更新しました。PR #13863 by @EdmilsonRodrigues。 - 📝
docs/docs/tutorial/body.mdのハイライト行を修正しました。PR #13927 by @KoyoMiyazaki。 - 🌐
docs/docs/environment-variables.mdのペルシア語翻訳を追加しました。PR #13923 by @Mohammad222PR。 - 🌐
docs/docs/python-types.mdのペルシア語翻訳を追加しました。PR #13524 by @Mohammad222PR。 - 🌐
docs/docs/project-generation.mdのポルトガル語翻訳を更新しました。PR #13875 by @EdmilsonRodrigues。 - 🌐
docs/docs/async.mdのペルシア語翻訳を追加しました。PR #13541 by @Mohammad222PR。 - 🌐
docs/about/index.mdのベンガル語翻訳を追加しました。PR #13882 by @sajjadrahman56。
内部¶
- ⬆ pyjwtを2.8.0から2.9.0に更新しました。PR #13960 by @dependabot[bot]。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #14080 by @pre-commit-ci[bot]。
- ⬆ actions/setup-pythonを5から6に更新しました。PR #14042 by @dependabot[bot]。
- ⬆ actions/labelerを5から6に更新しました。PR #14046 by @dependabot[bot]。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #14056 by @pre-commit-ci[bot]。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #14035 by @pre-commit-ci[bot]。
- ⬆ pypa/gh-action-pypi-publishを1.12.4から1.13.0に更新しました。PR #14041 by @dependabot[bot]。
- 👥 FastAPI People - 貢献者と翻訳者を更新しました。PR #14029 by @tiangolo。
- 👥 FastAPI People - スポンサーを更新しました。PR #14030 by @tiangolo。
- 👥 FastAPI GitHubトピックリポジトリを更新しました。PR #14031 by @tiangolo。
- 👥 FastAPI People - エキスパートを更新しました。PR #14034 by @tiangolo。
- 👷 PRでのマージ競合を自動的に検出し、ラベル付けするようにしました。PR #14045 by @svlandeg。
- 🔧 スポンサーを更新: Platform.shを削除。PR #14027 by @tiangolo。
- 🔧 スポンサーを更新: Mobbを削除。PR #14026 by @tiangolo。
- 🛠️ ドキュメント構築時にパーマリンク付きヘッダーを処理するように
mkdocs_hooksを更新しました。PR #14025 by @tiangolo。 - ⬆ [pre-commit.ci] pre-commitの自動更新。PR #14016 by @pre-commit-ci[bot]。
- ⬆
mkdocs-macros-pluginを1.3.7から1.3.9に更新しました。PR #14003 by @YuriiMotov。 - ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13999 by @pre-commit-ci[bot]。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13983 by @pre-commit-ci[bot]。
- ⬆ actions/checkoutを4から5に更新しました。PR #13986 by @dependabot[bot]。
- 🔧 Speakeasyスポンサー画像を更新しました。PR #13971 by @chailandau。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13969 by @pre-commit-ci[bot]。
- ⬆ actions/download-artifactを4から5に更新しました。PR #13975 by @dependabot[bot]。
- 👥 FastAPI People - エキスパートを更新しました。PR #13963 by @tiangolo。
- ⬆ ruffを0.11.2から0.12.7に更新しました。PR #13957 by @dependabot[bot]。
- ⬆ cairosvgを2.7.1から2.8.2に更新しました。PR #13959 by @dependabot[bot]。
- ⬆ pydantic-aiを0.0.30から0.4.10に更新しました。PR #13958 by @dependabot[bot]。
- 👥 FastAPI GitHubトピックリポジトリを更新しました。PR #13962 by @tiangolo。
- ⬆ mkdocs-materialを9.6.15から9.6.16に更新しました。PR #13961 by @dependabot[bot]。
- ⬆ tiangolo/latest-changesを0.3.2から0.4.0に更新しました。PR #13952 by @dependabot[bot]。
- 👥 FastAPI People - スポンサーを更新しました。PR #13956 by @tiangolo。
- 👥 FastAPI People - 貢献者と翻訳者を更新しました。PR #13955 by @tiangolo。
- 🔧 スポンサーを更新:Databentoのリンクとsponsors_badgeデータ。PR #13954 by @tiangolo。
- 🔧 スポンサーを更新: Railwayを追加。PR #13953 by @tiangolo。
- ⚒️ 翻訳スクリプトを更新し、生成される差分を最小限に抑えるようプロンプトを更新しました。PR #13947 by @YuriiMotov。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13943 by @pre-commit-ci[bot]。
- ⚒️ 翻訳スクリプトとCIを調整しました。PR #13939 by @tiangolo。
- 👷 LLMで翻訳するためのCIを追加しました。PR #13937 by @tiangolo。
- ⚒️ 翻訳スクリプトを更新し、古くなった翻訳を表示・更新するようにしました。PR #13933 by @tiangolo。
- 🔨 追加のフィードバック(プリント)を含む翻訳スクリプトをリファクタリングしました。PR #13932 by @tiangolo。
- 🔨 翻訳スクリプトを更新し、古い(削除された)ファイルを削除するようにしました。PR #13928 by @tiangolo。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13894 by @pre-commit-ci[bot]。
- ⬆ httpxの要件を
>=0.23.0,<0.29.0に更新しました。PR #13114 by @yan12125。 - 🔧 スポンサーを更新: Mobbを追加。PR #13916 by @tiangolo。
- 👥 FastAPI People - エキスパートを更新しました。PR #13889 by @tiangolo。
- 🔨 FastAPI Peopleの休止間隔を更新し、外部設定を使用するようにしました。PR #13888 by @tiangolo。
0.116.1¶
アップグレード¶
ドキュメント¶
- 📝
docs/en/docs/contributing.mdに翻訳の変更が差し迫っていることに関する通知を追加しました。PR #13886 by @YuriiMotov。
内部¶
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13871 by @pre-commit-ci[bot]。
0.116.0¶
機能¶
fastapi[standard]をインストールすると、fastapi-cloud-cliも含まれるようになりました。
これにより、fastapi deployコマンドでFastAPI Cloudにデプロイできるようになります。
標準の依存関係を含み、fastapi-cloud-cliを含まずにfastapiをインストールしたい場合は、代わりにfastapi[standard-no-fastapi-cloud-cli]をインストールできます。
翻訳¶
- 🌐
docs/docs/advanced/response-directly.mdのロシア語翻訳を追加しました。PR #13801 by @NavesSapnis。 - 🌐
docs/docs/advanced/additional-status-codes.mdのロシア語翻訳を追加しました。PR #13799 by @NavesSapnis。 - 🌐
docs/docs/tutorial/body-updates.mdのウクライナ語翻訳を追加しました。PR #13804 by @valentinDruzhinin。
内部¶
- ⬆ pillowを11.1.0から11.3.0に更新しました。PR #13852 by @dependabot[bot]。
- 👥 FastAPI People - スポンサーを更新しました。PR #13846 by @tiangolo。
- 👥 FastAPI GitHubトピックリポジトリを更新しました。PR #13848 by @tiangolo。
- ⬆ mkdocs-materialを9.6.1から9.6.15に更新しました。PR #13849 by @dependabot[bot]。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13843 by @pre-commit-ci[bot]。
- 👥 FastAPI People - 貢献者と翻訳者を更新しました。PR #13845 by @tiangolo。
0.115.14¶
修正¶
- 🐛
Formを使用する際のユニオンのサポートを修正しました。PR #13827 by @patrick91。
ドキュメント¶
- ✏️
docs/en/docs/advanced/response-directly.mdの文法ミスを修正しました。PR #13800 by @NavesSapnis。 - 📝 Speakeasy URLをSpeakeasy Sandboxに更新しました。PR #13697 by @ndimares。
翻訳¶
- 🌐
docs/docs/tutorial/response-model.mdのウクライナ語翻訳を追加しました。PR #13792 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/security/index.mdのウクライナ語翻訳を追加しました。PR #13805 by @valentinDruzhinin。 - ✏️
docs/docs/tutorial/encoder.mdのタイプミスを修正しました。PR #13815 by @ruzia。 - ✏️
docs/docs/tutorial/handling-errors.mdのタイプミスを修正しました。PR #13814 by @ruzia。 - ✏️
docs/docs/tutorial/body-fields.mdのタイプミスを修正しました。PR #13802 by @ruzia。 - 🌐
docs/docs/advanced/index.mdのロシア語翻訳を追加しました。PR #13797 by @NavesSapnis。
内部¶
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13823 by @pre-commit-ci[bot]。
0.115.13¶
修正¶
- 🐛 Pydantic V2でフォームフィード (
\f) 文字を含むモデルの説明が切り詰められる問題を修正しました。PR #13698 by @YuriiMotov。
リファクタリング¶
- ✨
OAuth2PasswordBearerにrefreshUrlパラメータを追加しました。PR #11460 by @snosratiershad。 - 🚸
OAuth2PasswordRequestFormのpasswordとclient_secretフィールドの形式をパスワードに設定し、ドキュメントにパスワードフィールドを表示するようにしました。PR #11032 by @Thodoris1999。 - ✅
settingsのテストを簡素化しました。PR #13505 by @valentinDruzhinin。 - ✅
validate_response_recursiveのテストを簡素化しました。PR #13507 by @valentinDruzhinin。
アップグレード¶
- ⬆️ ReDocをバージョン2.xに更新しました。PR #9700 by @joakimnordling。
ドキュメント¶
- 📝 HTTPミドルウェアの例に注釈を追加しました。PR #11530 by @Kilo59。
- 📝 CORSドキュメントでワイルドカードとクレデンシャルが相互排他的であることを明確にしました。PR #9829 by @dfioravanti。
- ✏️ docstringのタイプミスを修正しました。PR #13532 by @comp64。
- 📝
async defをawaitなしで使用する際のガイダンスを明確にしました。PR #13642 by @swastikpradhan1999。 - 📝 exclude-parameters-from-openapiドキュメントリンクを更新しました。PR #13600 by @timonrieger。
- 📝 ドキュメント内のミドルウェア実行順序を明確にしました。PR #13699 by @YuriiMotov。
- 🍱 Drawio図のSVGを更新し、図ごとに1ファイル、サンセリフフォントを使用しました。PR #13706 by @tiangolo。
- 📝 "Help FastAPI"のドキュメントを更新し、"sponsor"セクションを簡素化および縮小しました。PR #13670 by @tiangolo。
- 📝 ドキュメントから不要な箇条書きを削除しました。PR #13641 by @Adamowoc。
- ✏️
docs/en/docs/tutorial/handling-errors.mdの構文エラーを修正しました。PR #13623 by @gsheni。 - 📝 ドキュメントのタイプミスを修正しました。PR #13599 by @Taoup。
- 📝 liblabクライアント生成ドキュメントリンクを修正しました。PR #13571 by @EFord36。
- ✏️ 会話情報のタイプミスを修正しました。PR #13544 by @blueswen。
- 📝 外部リンクを追加: 可観測性に関するFastAPIの台湾での講演。PR #13527 by @blueswen。
翻訳¶
- 🌐
docs/docs/advanced/response-change-status-code.mdのロシア語翻訳を追加しました。PR #13791 by @NavesSapnis。 - 🌐
docs/docs/learn/index.mdのペルシア語翻訳を追加しました。PR #13518 by @Mohammad222PR。 - 🌐
docs/docs/advanced/sub-applications.mdの韓国語翻訳を追加しました。PR #4543 by @NinaHwang。 - 🌐
docs/docs/tutorial/schema-extra-example.mdのウクライナ語翻訳を追加しました。PR #13769 by @valentinDruzhinin。 - ✏️
docs/docs/python-types.mdの冗長な単語を削除しました。PR #13774 by @CharleeWa。 - 🌐
docs/docs/tutorial/query-param-models.mdのウクライナ語翻訳を追加しました。PR #13748 by @valentinDruzhinin。 - 🌐
docs/docs/environment-variables.mdのベンガル語翻訳を追加しました。PR #13629 by @SakibSibly。 - 🌐
docs/docs/tutorial/query-params-str-validations.mdページのウクライナ語翻訳を追加しました。PR #13546 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/cookie-param-models.mdのロシア語翻訳を追加しました。PR #13616 by @EgorOnishchuk。 - 🌐
docs/docs/tutorial/extra-models.mdの韓国語翻訳を追加しました。PR #13063 by @timothy-jeong。 - 🌐
docs/docs/tutorial/path-params-numeric-validations.mdページのウクライナ語翻訳を追加しました。PR #13548 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/middleware.mdページのウクライナ語翻訳を追加しました。PR #13520 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/background-tasks.mdページのウクライナ語翻訳を追加しました。PR #13502 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/cors.mdページのウクライナ語翻訳を追加しました。PR #13519 by @valentinDruzhinin。 - 🌐
docs/docs/advanced/events.mdの韓国語翻訳を更新しました。PR #13487 by @bom1215。 - 🌐
docs/docs/tutorial/handling-errors.mdページのウクライナ語翻訳を追加しました。PR #13420 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/request-form-models.mdのロシア語翻訳を追加しました。PR #13552 by @EgorOnishchuk。 - 📝 スペイン語のデプロイドキュメント内の内部アンカーリンクを修正しました。PR #13737 by @fabianfalon。
- 🌐
docs/docs/virtual-environments.mdの韓国語翻訳を更新しました。PR #13630 by @sungchan1。 - 🌐
docs/docs/tutorial/header-param-models.mdのロシア語翻訳を追加しました。PR #13526 by @minaton-ru。 - 🌐
docs/docs/tutorial/index.mdの中国語翻訳を更新しました。PR #13374 by @Zhongheng-Cheng。 - 🌐
docs/docs/deployment/manually.mdの中国語翻訳を更新しました。PR #13324 by @Zhongheng-Cheng。 - 🌐
docs/docs/deployment/server-workers.mdの中国語翻訳を更新しました。PR #13292 by @Zhongheng-Cheng。 - 🌐
docs/docs/tutorial/first-steps.mdの中国語翻訳を更新しました。PR #13348 by @Zhongheng-Cheng。
内部¶
- 🔨 内部スクリプトのPydantic非推奨警告を解決しました。PR #13696 by @emmanuel-ferdman。
- 🔧 スポンサーを更新: Porterを削除。PR #13783 by @tiangolo。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13781 by @pre-commit-ci[bot]。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13757 by @pre-commit-ci[bot]。
- ⬆ griffe-typingdocを0.2.7から0.2.8に更新しました。PR #13751 by @dependabot[bot]。
- 🍱 スポンサーを更新: Dribiaバッジサイズ。PR #13773 by @tiangolo。
- 🔧 スポンサーを更新: Dribiaを追加。PR #13771 by @tiangolo。
- ⬆ typerを0.15.3から0.16.0に更新しました。PR #13752 by @dependabot[bot]。
- 👥 FastAPI GitHubトピックリポジトリを更新しました。PR #13754 by @tiangolo。
- 👥 FastAPI People - スポンサーを更新しました。PR #13750 by @tiangolo。
- 👥 FastAPI People - 貢献者と翻訳者を更新しました。PR #13749 by @tiangolo。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13736 by @pre-commit-ci[bot]。
- 🔧 スポンサーを更新: InterviewPalを追加。PR #13728 by @tiangolo。
- 🔧 Google Analyticsを削除しました。PR #13727 by @tiangolo。
- 🔧 スポンサーを更新: MongoDBを削除。PR #13725 by @tiangolo。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13711 by @pre-commit-ci[bot]。
- 🔧 スポンサーを更新: Subtotalを追加。PR #13701 by @tiangolo。
- 🔧 スポンサーを更新: deepset / Haystackを削除。PR #13700 by @tiangolo。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13688 by @pre-commit-ci[bot]。
- 👥 FastAPI People - エキスパートを更新しました。PR #13671 by @tiangolo。
- ⬆ typerを0.12.5から0.15.3に更新しました。PR #13666 by @dependabot[bot]。
- ⬆ sqlmodelを0.0.23から0.0.24に更新しました。PR #13665 by @dependabot[bot]。
- 🔧 スポンサーを更新: Zuploのロゴと代替テキスト。PR #13645 by @martyndavies。
- 👥 FastAPI GitHubトピックリポジトリを更新しました。PR #13667 by @tiangolo。
- 🔧 LinkedInとフッターのリンクを更新しました。PR #13669 by @tiangolo。
- 🔧 スポンサーを更新: Bump.shとCoherenceを削除。PR #13668 by @tiangolo。
- 👥 FastAPI People - スポンサーを更新しました。PR #13664 by @tiangolo。
- 👥 FastAPI People - 貢献者と翻訳者を更新しました。PR #13662 by @tiangolo。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13656 by @pre-commit-ci[bot]。
- ✅
inline-snapshotを使用して、テストスイートで異なるPydanticバージョンをサポートするようにしました。PR #12534 by @15r10nk。 - ⬆ astral-sh/setup-uvを5から6に更新しました。PR #13648 by @dependabot[bot]。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13634 by @pre-commit-ci[bot]。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13619 by @pre-commit-ci[bot]。
- ⬆ [pre-commit.ci] pre-commitの自動更新。PR #13594 by @pre-commit-ci[bot]。
- 👥 FastAPI People - エキスパートを更新しました。PR #13568 by @tiangolo。
- 👥 FastAPI GitHubトピックリポジトリを更新しました。PR #13565 by @tiangolo。
- 👥 FastAPI People - スポンサーを更新しました。PR #13559 by @tiangolo。
- 👥 FastAPI People - 貢献者と翻訳者を更新しました。PR #13558 by @tiangolo。
- ⬆ dirty-equalsを0.8.0から0.9.0に更新しました。PR #13561 by @dependabot[bot]。
- 🔧
docs/en/mkdocs.yml設定ファイルをクリーンアップしました。PR #13542 by @svlandeg。 - ⬆ [pre-commit.ci] pre-commitの自動更新。PR #12986 by @pre-commit-ci[bot]。
0.115.12¶
修正¶
ドキュメント¶
- 📝
docs/en/docs/tutorial/middleware.mdを更新しました。PR #13444 by @Rishat-F。 - 👥 FastAPI People - エキスパートを更新しました。PR #13493 by @tiangolo。
翻訳¶
- 🌐
docs/docs/tutorial/metadata.mdページのウクライナ語翻訳を追加しました。PR #13459 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/response-status-code.mdページのウクライナ語翻訳を追加しました。PR #13462 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/cookie-param-models.mdページのウクライナ語翻訳を追加しました。PR #13460 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/header-param-models.mdページのウクライナ語翻訳を追加しました。PR #13461 by @valentinDruzhinin。 - 🌐
docs/docs/virtual-environments.mdの日本語翻訳を追加しました。PR #13304 by @k94-ishi。 - 🌐
docs/docs/tutorial/security/oauth2-jwt.mdの韓国語翻訳を追加しました。PR #13333 by @yes0ng。 - 🌐
docs/docs/deployment/cloud.mdのベトナム語翻訳を追加しました。PR #13407 by @ptt3199。
内部¶
- ⬆ pydantic-aiを0.0.15から0.0.30に更新しました。PR #13438 by @dependabot[bot]。
- ⬆ sqlmodelを0.0.22から0.0.23に更新しました。PR #13437 by @dependabot[bot]。
- ⬆ blackを24.10.0から25.1.0に更新しました。PR #13436 by @dependabot[bot]。
- ⬆ ruffを0.9.4に更新しました。PR #13299 by @dependabot[bot]。
- 🔧 スポンサーを更新: TestDrivenを一時停止。PR #13446 by @tiangolo。
0.115.11¶
修正¶
- 🐛
AfterValidatorのようなAnnotatedカスタムバリデーションのドキュメント例とテスト(サポート)を追加し、#13440を元に戻しました。PR #13442 by @tiangolo。- 新しいドキュメント: クエリパラメータと文字列バリデーション - カスタムバリデーション。
翻訳¶
内部¶
- 👥 FastAPI GitHubトピックリポジトリを更新しました。PR #13439 by @tiangolo。
- 👥 FastAPI People - 貢献者と翻訳者を更新しました。PR #13432 by @tiangolo。
- 👥 FastAPI People - スポンサーを更新しました。PR #13433 by @tiangolo。
0.115.10¶
修正¶
アップグレード¶
- ⬆️ Starletteを0.46.0まで許可するように更新:
>=0.40.0,<0.47.0。PR #13426 by @musicinmybrain。
翻訳¶
- 🌐
docs/docs/tutorial/debugging.mdのウクライナ語翻訳を追加しました。PR #13370 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/query-params.mdのウクライナ語翻訳を追加しました。PR #13362 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/path-params.mdのウクライナ語翻訳を追加しました。PR #13354 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/cookie-param-models.mdの日本語翻訳を追加しました。PR #13330 by @k94-ishi。 - 🌐
docs/docs/tutorial/body-multiple-params.mdのウクライナ語翻訳を追加しました。PR #13408 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/query-param-models.mdの日本語翻訳を追加しました。PR #13323 by @k94-ishi。 - 🌐
docs/docs/tutorial/body-nested-models.mdのウクライナ語翻訳を追加しました。PR #13409 by @valentinDruzhinin。 - 🌐
docs/docs/deployment/versions.mdのベトナム語翻訳を追加しました。PR #13406 by @ptt3199。 - 🌐
docs/docs/deployment/index.mdのベトナム語翻訳を追加しました。PR #13405 by @ptt3199。 - 🌐
docs/docs/tutorial/request-forms.mdのウクライナ語翻訳を追加しました。PR #13383 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/testing.mdのウクライナ語翻訳を追加しました。PR #13371 by @valentinDruzhinin。
0.115.9¶
修正¶
リファクタリング¶
- ✅
query_params_str_validationsのテストを簡素化しました。PR #13218 by @alv2017。 - ✅
app_testingのテストを簡素化しました。PR #13220 by @alv2017。 - ✅
dependency_testingのテストを簡素化しました。PR #13223 by @alv2017。
ドキュメント¶
- 🍱 スポンサーを更新: CodeRabbitのロゴ。PR #13424 by @tiangolo。
- 🩺 すべてのチュートリアル翻訳でバッジを統一しました。PR #13329 by @svlandeg。
- 📝 仮想環境のドキュメントのタイプミスを修正しました。PR #13396 by @bullet-ant。
- 🐛 公式チュートリアルにおけるSwaggerテーマ変更の例の問題を修正しました。PR #13289 by @Zerohertz。
- 📝 ドキュメントのHTTPステータスコード範囲のより正確な説明を追加しました。PR #13347 by @DanielYang59。
- 🔥 JWTチュートリアルで手動の型アノテーションを削除しました(JWTはそれ以上の型を提供しないため)。PR #13378 by @tiangolo。
- 📝 クエリパラメータと文字列バリデーションのドキュメントを更新し、古いEllipsisドキュメント(
...)を削除しました。PR #13377 by @tiangolo。 - ✏️
body-multiple-paramsのドキュメントで重複するタイトルを削除しました。PR #13345 by @DanielYang59。 - 📝 テストバッジを修正しました。PR #13313 by @esadek。
翻訳¶
- 🌐
docs/docs/tutorial/header-params.mdのウクライナ語翻訳を追加しました。PR #13381 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/request-files.mdのウクライナ語翻訳を追加しました。PR #13395 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/request-form-models.mdのウクライナ語翻訳を追加しました。PR #13384 by @valentinDruzhinin。 - 🌐
docs/docs/tutorial/request-forms-and-files.mdのウクライナ語翻訳を追加しました。PR #13386 by @valentinDruzhinin。 - 🌐
docs/docs/help-fastapi.mdの韓国語翻訳を更新しました。PR #13262 by @Zerohertz。 - 🌐
docs/docs/advanced/custom-response.mdの韓国語翻訳を追加しました。PR #13265 by @11kkw。 - 🌐
docs/docs/tutorial/security/simple-oauth2.mdの韓国語翻訳を更新しました。PR #13335 by @yes0ng。 - 🌐
docs/docs/advanced/response-cookies.mdのロシア語翻訳を追加しました。PR #13327 by @Stepakinoyan。 - 🌐
docs/docs/tutorial/static-files.mdのベトナム語翻訳を追加しました。PR #11291 by @ptt3199。 - 🌐
docs/docs/tutorial/dependencies/dependencies-with-yield.mdの韓国語翻訳を追加しました。PR #13257 by @11kkw。 - 🌐
docs/docs/virtual-environments.mdのベトナム語翻訳を追加しました。PR #13282 by @ptt3199。 - 🌐
docs/docs/tutorial/static-files.mdのウクライナ語翻訳を追加しました。PR #13285 by @valentinDruzhinin。 - 🌐
docs/docs/environment-variables.mdのベトナム語翻訳を追加しました。PR #13287 by @ptt3199。 - 🌐
docs/docs/fastapi-cli.mdのベトナム語翻訳を追加しました。PR #13294 by @ptt3199。 - 🌐
docs/docs/features.mdのウクライナ語翻訳を追加しました。PR #13308 by @valentinDruzhinin。 - 🌐
docs/docs/learn/index.mdのウクライナ語翻訳を追加しました。PR #13306 by @valentinDruzhinin。 - 🌐
docs/docs/deployment/https.mdのポルトガル語翻訳を更新しました。PR #13317 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/index.mdのポルトガル語翻訳を更新しました。PR #13328 by @ceb10n。 - 🌐
docs/docs/advanced/websockets.mdのロシア語翻訳を追加しました。PR #13279 by @Rishat-F。
内部¶
- ✅ テスト
tests/test_modules_same_name_body/test_main.pyのマイナーなバグを修正しました。PR #13411 by @alv2017。 - 👷
wrangler-actionv3を使用しました。PR #13415 by @joakimnordling。 - 🔧 スポンサーを更新: CodeRabbitを追加。PR #13402 by @tiangolo。
- 🔧 チームを更新: Ludovicoを追加。PR #13390 by @tiangolo。
- 🔧 スポンサーを更新: LambdaTestを追加。PR #13389 by @tiangolo。
- ⬆ cloudflare/wrangler-actionを3.13から3.14に更新しました。PR #13350 by @dependabot[bot]。
- ⬆ mkdocs-materialを9.5.18から9.6.1に更新しました。PR #13301 by @dependabot[bot]。
- ⬆ pillowを11.0.0から11.1.0に更新しました。PR #13300 by @dependabot[bot]。
- 👥 FastAPI People - スポンサーを更新しました。PR #13295 by @tiangolo。
- 👥 FastAPI People - エキスパートを更新しました。PR #13303 by @tiangolo。
- 👥 FastAPI GitHubトピックリポジトリを更新しました。PR #13302 by @tiangolo。
- 👥 FastAPI People - 貢献者と翻訳者を更新しました。PR #13293 by @tiangolo。
- ⬆ inline-snapshotを0.18.1から0.19.3に更新しました。PR #13298 by @dependabot[bot]。
- 🔧 スポンサーを更新、Permitを追加。PR #13288 by @tiangolo。
0.115.8¶
修正¶
- 🐛
OAuth2PasswordRequestFormおよびOAuth2PasswordRequestFormStrictの固定されたgrant_type"password" の正規表現を修正しました。PR #9783 by @skarfie123。
リファクタリング¶
- ✅
body_multiple_paramsのテストを簡素化しました。PR #13237 by @alejsdev。 - ♻️ 重複するコード部分を
APIKeyBaseスーパークラスの静的メソッドに移動しました。PR #3142 by @ShahriyarR。 - ✅
request_filesのテストを簡素化しました。PR #13182 by @alejsdev。
ドキュメント¶
- 📝
docs/en/docs/tutorial/extra-models.mdの「unwrap」という単語を「unpack」に変更しました。PR #13061 by @timothy-jeong。 - 📝 リクエストボディの
tutorial002を更新し、tax=0の場合に対応するようにしました。PR #13230 by @togogh。 - 👥 FastAPI People - エキスパートを更新しました。PR #13269 by @tiangolo。
翻訳¶
- 🌐
docs/docs/environment-variables.mdの日本語翻訳を追加しました。PR #13226 by @k94-ishi。 - 🌐
docs/docs/advanced/async-tests.mdのロシア語翻訳を追加しました。PR #13227 by @Rishat-F。 - 🌐
docs/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.mdのロシア語翻訳を更新しました。PR #13252 by @Rishat-F。 - 🌐
docs/docs/tutorial/bigger-applications.mdのロシア語翻訳を追加しました。PR #13154 by @alv2017。
内部¶
- ⬆️ Python 3.13のサポートを追加しました。PR #13274 by @tiangolo。
- ⬆️ テスト用のAnyIOの最大バージョンをアップグレードしました。新しい範囲は
>=3.2.1,<5.0.0です。PR #13273 by @tiangolo。 - 🔧 スポンサーバッジを更新しました。PR #13271 by @tiangolo。
- ♻️ PRラベルイベントとworkflow_dispatchの空の環境変数処理を
notify_translations.pyで修正しました。PR #13272 by @tiangolo。 - ♻️
scripts/notify_translations.pyをリファクタリングして移動し、カスタムGitHub Actionは不要になりました。PR #13270 by @tiangolo。 - 🔨 FastAPI People Expertsスクリプトを更新し、レート制限を処理するためにデータフェッチをリファクタリングして最適化しました。PR #13267 by @tiangolo。
- ⬆ pypa/gh-action-pypi-publishを1.12.3から1.12.4に更新しました。PR #13251 by @dependabot[bot]。
0.115.7¶
アップグレード¶
- ⬆️
python-multipartを>=0.0.18にアップグレードしました。PR #13219 by @DanielKusyDev。 - ⬆️ Starletteを0.45.0まで許可するように更新:
>=0.40.0,<0.46.0。PR #13117 by @Kludex。 - ⬆️
jinja2を>=3.1.5にアップグレードしました。PR #13194 by @DanielKusyDev。
リファクタリング¶
- ✅ ウェブソケットのテストを簡素化しました。PR #13202 by @alejsdev。
- ✅
request_form_modelsのテストを簡素化しました。PR #13183 by @alejsdev。 - ✅
separate_openapi_schemasのテストを簡素化しました。PR #13201 by @alejsdev。 - ✅ セキュリティのテストを簡素化しました。PR #13200 by @alejsdev。
- ✅
schema_extra_exampleのテストを簡素化しました。PR #13197 by @alejsdev。 - ✅
request_modelのテストを簡素化しました。PR #13195 by @alejsdev。 - ✅
request_forms_and_filesのテストを簡素化しました。PR #13185 by @alejsdev。 - ✅
request_formsのテストを簡素化しました。PR #13184 by @alejsdev。 - ✅
path_query_paramsのテストを簡素化しました。PR #13181 by @alejsdev。 - ✅
path_operation_configurationsのテストを簡素化しました。PR #13180 by @alejsdev。 - ✅
header_paramsのテストを簡素化しました。PR #13179 by @alejsdev。 - ✅ extra_models のテストを簡素化しました。PR #13178 by @alejsdev。
- ✅ extra_data_types のテストを簡素化しました。PR #13177 by @alejsdev。
- ✅ cookie_params のテストを簡素化しました。PR #13176 by @alejsdev。
- ✅ dependencies のテストを簡素化しました。PR #13174 by @alejsdev。
- ✅ body_updates のテストを簡素化しました。PR #13172 by @alejsdev。
- ✅ body_nested_models のテストを簡素化しました。PR #13171 by @alejsdev。
- ✅ body_multiple_params のテストを簡素化しました。PR #13170 by @alejsdev。
- ✅ body_fields のテストを簡素化しました。PR #13169 by @alejsdev。
- ✅ body のテストを簡素化しました。PR #13168 by @alejsdev。
- ✅ bigger_applications のテストを簡素化しました。PR #13167 by @alejsdev。
- ✅ background_tasks のテストを簡素化しました。PR #13166 by @alejsdev。
- ✅ additional_status_codes のテストを簡素化しました。PR #13149 by @tiangolo。
Docs¶
- ✏️ Strawberry 統合ドキュメントを更新しました。PR #13155 by @kinuax。
- 🔥 未使用の Peewee チュートリアルファイルを削除しました。PR #13158 by @alejsdev。
- 📝 body-nested-model ドキュメントの画像を更新しました。PR #11063 by @untilhamza。
- 📝 ドキュメントの
fastapi-cliUI 例を更新しました。PR #13107 by @Zhongheng-Cheng。 - 👷 貢献者、翻訳者、翻訳レビュー担当者を更新する新しい GitHub Action を追加しました。PR #13136 by @tiangolo。
- ✏️
docs/en/docs/virtual-environments.mdの誤字を修正しました。PR #13124 by @tiangolo。 - ✏️
docs/en/docs/contributing.mdのエラーを修正しました。PR #12899 by @kingsubin。 - 📝
docs/en/docs/tutorial/sql-databases.mdの軽微な修正を行いました。PR #13081 by @alv2017。 - 📝
docs/docs/tutorial/query-param-models.mdのインクルードを更新しました。PR #12994 by @alejsdev。 - ✏️ README のインストール手順の誤字を修正しました。PR #13011 by @dave-hay。
- 📝
fastapi-cliのドキュメントを更新しました。PR #13031 by @tiangolo。
Translations¶
- 🌐
docs/docs/tutorial/request-forms.mdのポルトガル語翻訳を更新しました。PR #13216 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/advanced/settings.mdのポルトガル語翻訳を更新しました。PR #13209 by @ceb10n。 - 🌐
docs/docs/tutorial/security/oauth2-jwt.mdのポルトガル語翻訳を追加しました。PR #13205 by @ceb10n。 - 🌐
docs/docs/index.mdのインドネシア語翻訳を追加しました。PR #13191 by @gerry-sabar。 - 🌐
docs/docs/tutorial/static-files.mdのインドネシア語翻訳を追加しました。PR #13092 by @guspan-tanadi。 - 🌐
docs/docs/tutorial/security/get-current-user.mdのポルトガル語翻訳を追加しました。PR #13188 by @ceb10n。 - 🌐
docs/docs/advanced/benchmarks.mdの誤ったポルトガル語翻訳の場所を削除しました。PR #13187 by @ceb10n。 - 🌐 ポルトガル語翻訳を更新しました。PR #13156 by @nillvitor。
- 🌐
docs/docs/tutorial/security/first-steps.mdのロシア語翻訳を更新しました。PR #13159 by @Yarous。 - ✏️
docs/docs/tutorial/path-params-numeric-validations.mdの不要なバックスペースを削除しました。PR #12238 by @FakeDocument。 - 🌐
docs/docs/fastapi-cli.mdの中国語翻訳を更新しました。PR #13102 by @Zhongheng-Cheng。 - 🌐 新しい LLM 支援システム PydanticAI を使用して、すべてのドキュメントの新しいスペイン語翻訳を追加しました。PR #13122 by @tiangolo。
- 🌐 新しい LLM 支援システム PydanticAI を使用して、既存のスペイン語翻訳を更新しました。PR #13118 by @tiangolo。
- 🌐
docs/docs/advanced/security/oauth2-scopes.mdの中国語翻訳を更新しました。PR #13110 by @ChenPu2002。 - 🌐
docs/docs/tutorial/path-params.mdのインドネシア語翻訳を追加しました。PR #13086 by @gerry-sabar。 - 🌐
docs/docs/tutorial/sql-databases.mdの韓国語翻訳を追加しました。PR #13093 by @GeumBinLee。 - 🌐
docs/docs/async.mdの中国語翻訳を更新しました。PR #13095 by @Zhongheng-Cheng。 - 🌐
docs/docs/advanced/openapi-webhooks.mdの中国語翻訳を追加しました。PR #13091 by @Zhongheng-Cheng。 - 🌐
docs/docs/advanced/async-tests.mdの中国語翻訳を追加しました。PR #13074 by @Zhongheng-Cheng。 - 🌐
docs/docs/fastapi-cli.mdのウクライナ語翻訳を追加しました。PR #13020 by @ykertytsky。 - 🌐
docs/docs/advanced/events.mdの中国語翻訳を追加しました。PR #12512 by @ZhibangYue。 - 🌐
/docs/docs/tutorial/sql-databases.mdのロシア語翻訳を追加しました。PR #13079 by @alv2017。 - 🌐
docs/docs/advanced/testing-dependencies.mdの中国語翻訳を更新しました。PR #13066 by @Zhongheng-Cheng。 - 🌐
docs/docs/tutorial/index.mdの繁体字中国語翻訳を更新しました。PR #13075 by @codingjenny。 - 🌐
docs/docs/tutorial/sql-databases.mdの中国語翻訳を追加しました。PR #13051 by @Zhongheng-Cheng。 - 🌐
docs/docs/tutorial/query-params-str-validations.mdの中国語翻訳を更新しました。PR #12928 by @Vincy1230。 - 🌐
docs/docs/tutorial/header-param-models.mdの中国語翻訳を追加しました。PR #13040 by @Zhongheng-Cheng。 - 🌐
docs/docs/tutorial/path-params.mdの中国語翻訳を更新しました。PR #12926 by @Vincy1230。 - 🌐
docs/docs/tutorial/first-steps.mdの中国語翻訳を更新しました。PR #12923 by @Vincy1230。 - 🌐
docs/docs/deployment/docker.mdのロシア語翻訳を更新しました。PR #13048 by @anklav24。 - 🌐
docs/docs/advanced/generate-clients.mdのポルトガル語翻訳を追加しました。PR #13030 by @vitumenezes。 - 🌐
docs/docs/tutorial/first-steps.mdのインドネシア語翻訳を追加しました。PR #13042 by @gerry-sabar。 - 🌐
docs/docs/tutorial/cookie-param-models.mdの中国語翻訳を追加しました。PR #13038 by @Zhongheng-Cheng。 - 🌐
docs/docs/tutorial/request-form-models.mdの中国語翻訳を追加しました。PR #13045 by @Zhongheng-Cheng。 - 🌐
docs/docs/virtual-environments.mdのロシア語翻訳を追加しました。PR #13026 by @alv2017。 - 🌐
docs/docs/tutorial/testing.mdの韓国語翻訳を追加しました。PR #12968 by @jts8257。 - 🌐
docs/docs/advanced/async-test.mdの韓国語翻訳を追加しました。PR #12918 by @icehongssii。 - 🌐
docs/docs/tutorial/security/oauth2-jwt.mdのロシア語翻訳を追加しました。PR #10601 by @AlertRED。 - 🌐
docs/docs/tutorial/security/simple-oauth2.mdのロシア語翻訳を追加しました。PR #10599 by @AlertRED。 - 🌐
docs/docs/tutorial/security/get-current-user.mdのロシア語翻訳を追加しました。PR #10594 by @AlertRED。 - 🌐
docs/docs/features.mdの繁体字中国語翻訳を追加しました。PR #12441 by @codingjenny。 - 🌐
docs/docs/virtual-environments.mdの繁体字中国語翻訳を追加しました。PR #12791 by @Vincy1230。 - 🌐
docs/docs/advanced/templates.mdの韓国語翻訳を追加しました。PR #12726 by @Heumhub。 - 🌐
docs/docs/fastapi-cli.mdのロシア語翻訳を追加しました。PR #13041 by @alv2017。 - 🌐
docs/docs/tutorial/cookie-param-models.mdの韓国語翻訳を追加しました。PR #13000 by @hard-coders。 - 🌐
docs/docs/tutorial/header-param-models.mdの韓国語翻訳を追加しました。PR #13001 by @hard-coders。 - 🌐
docs/docs/tutorial/request-form-models.mdの韓国語翻訳を追加しました。PR #13002 by @hard-coders。 - 🌐
docs/docs/tutorial/request-forms.mdの韓国語翻訳を追加しました。PR #13003 by @hard-coders。 - 🌐
docs/docs/resources/index.mdの韓国語翻訳を追加しました。PR #13004 by @hard-coders。 - 🌐
docs/docs/how-to/configure-swagger-ui.mdの韓国語翻訳を追加しました。PR #12898 by @nahyunkeem。 - 🌐
docs/docs/advanced/additional-status-codes.mdの韓国語翻訳を追加しました。PR #12715 by @nahyunkeem。 - 🌐
docs/docs/tutorial/first-steps.mdの繁体字中国語翻訳を追加しました。PR #12467 by @codingjenny。
Internal¶
- 🔧 Pydantic 2 トローブ分類子を追加しました。PR #13199 by @johnthagen。
- 👥 FastAPI People - スポンサーを更新しました。PR #13231 by @tiangolo。
- 👷 FastAPI People スポンサーを 2 つのトークンを使用するようにリファクタリングしました。PR #13228 by @tiangolo。
- 👷 FastAPI People - スポンサーのトークンを更新しました。PR #13225 by @tiangolo。
- 👷 FastAPI People - スポンサー向けに独立した CI 自動化を追加しました。PR #13221 by @tiangolo。
- 👷 Smokeshow に再試行を追加しました。PR #13151 by @tiangolo。
- 🔧 Speakeasy スポンサーグラフィックを更新しました。PR #13147 by @chailandau。
- 👥 FastAPI GitHub トピックリポジトリを更新しました。PR #13146 by @tiangolo。
- 👷♀️ GitHub Topic Repositories 用のスクリプトを追加し、外部リンクを更新しました。PR #13135 by @alejsdev。
- 👥 FastAPI People - 貢献者と翻訳者を更新しました。PR #13145 by @tiangolo。
- ⬆ markdown-include-variants を 0.0.3 から 0.0.4 に更新しました。PR #13129 by @dependabot[bot]。
- ⬆ inline-snapshot を 0.14.0 から 0.18.1 に更新しました。PR #13132 by @dependabot[bot]。
- ⬆ mkdocs-macros-plugin を 1.0.5 から 1.3.7 に更新しました。PR #13133 by @dependabot[bot]。
- 🔨 PydanticAI を使用して言語翻訳を生成する内部スクリプトを追加し、スペイン語プロンプトを含めました。PR #13123 by @tiangolo。
- ⬆ astral-sh/setup-uv を 4 から 5 に更新しました。PR #13096 by @dependabot[bot]。
- 🔧 スポンサーを更新しました: CryptAPI を BlockBee に変更しました。PR #13078 by @tiangolo。
- ⬆ pypa/gh-action-pypi-publish を 1.12.2 から 1.12.3 に更新しました。PR #13055 by @dependabot[bot]。
- ⬆ types-ujson を 5.7.0.1 から 5.10.0.20240515 に更新しました。PR #13018 by @dependabot[bot]。
- ⬆ black を 24.3.0 から 24.10.0 に更新しました。PR #13014 by @dependabot[bot]。
- ⬆ inline-snapshot を 0.13.0 から 0.14.0 に更新しました。PR #13017 by @dependabot[bot]。
- ⬆ dirty-equals を 0.6.0 から 0.8.0 に更新しました。PR #13015 by @dependabot[bot]。
- ⬆ cloudflare/wrangler-action を 3.12 から 3.13 に更新しました。PR #12996 by @dependabot[bot]。
- ⬆ astral-sh/setup-uv を 3 から 4 に更新しました。PR #12982 by @dependabot[bot]。
- 🔧
notify-translations.ymlの重複する actions/checkout を削除しました。PR #12915 by @tinyboxvk。 - 🔧 チームメンバーを更新しました。PR #13033 by @tiangolo。
- 📝 スポンサーを更新しました: Codacy を削除しました。PR #13032 by @tiangolo。
0.115.6¶
Fixes¶
Refactors¶
Docs¶
- 📝 自動スクリプトでドキュメントのインクルード形式を更新しました。PR #12950 by @tiangolo。
- 📝
docs/docs/advanced/using-request-directly.mdのインクルードを更新しました。PR #12685 by @alissadb。 - 📝
docs/docs/how-to/conditional-openapi.mdのインクルードを更新しました。PR #12689 by @alissadb。
Translations¶
- 🌐
docs/docs/async.mdの繁体字中国語翻訳を追加しました。PR #12990 by @ILoveSorasakiHina。 - 🌐
docs/docs/tutorial/query-param-models.mdの繁体字中国語翻訳を追加しました。PR #12932 by @Vincy1230。 - 🌐
docs/docs/advanced/testing-dependencies.mdの韓国語翻訳を追加しました。PR #12992 by @Limsunoh。 - 🌐
docs/docs/advanced/websockets.mdの韓国語翻訳を追加しました。PR #12991 by @kwang1215。 - 🌐
docs/docs/tutorial/response-model.mdのポルトガル語翻訳を追加しました。PR #12933 by @AndreBBM。 - 🌐
docs/docs/advanced/middlewares.mdの韓国語翻訳を追加しました。PR #12753 by @nahyunkeem。 - 🌐
docs/docs/advanced/openapi-webhooks.mdの韓国語翻訳を追加しました。PR #12752 by @saeye。 - 🌐
docs/docs/tutorial/query-param-models.mdの中国語翻訳を追加しました。PR #12931 by @Vincy1230。 - 🌐
docs/docs/tutorial/query-param-models.mdのロシア語翻訳を追加しました。PR #12445 by @gitgernit。 - 🌐
docs/docs/tutorial/query-param-models.mdの韓国語翻訳を追加しました。PR #12940 by @jts8257。 - 🔥
docs/docs/tutorial/sql-databases.mdの古くなった中国語チュートリアル翻訳を削除しました。リポジトリに存在しないファイルを参照していたためです。PR #12949 by @tiangolo。
Internal¶
- ⬆ [pre-commit.ci] pre-commit の自動更新。PR #12954 by @pre-commit-ci[bot]。
0.115.5¶
Refactors¶
Docs¶
- 📝
docs/en/docs/tutorial/body.mdのインクルードを更新しました。PR #12757 by @gsheni。 - 📝
docs/en/docs/advanced/testing-dependencies.mdのインクルードを更新しました。PR #12647 by @AyushSinghal1794。 - 📝
docs/en/docs/tutorial/metadata.mdのインクルードを更新しました。PR #12773 by @Nimitha-jagadeesha。 - 📝
docs/en/docs/tutorial/dependencies/dependencies-with-yield.mdを更新しました。PR #12045 by @xuvjso。 - 📝
docs/en/docs/tutorial/dependencies/global-dependencies.mdのインクルードを更新しました。PR #12653 by @vishnuvskvkl。 - 📝
docs/en/docs/tutorial/body-updates.mdのインクルードを更新しました。PR #12712 by @davioc。 - 📝 プロジェクトジェネレーターの Celery の言及を削除しました。PR #12742 by @david-caro。
- 📝
docs/en/docs/tutorial/header-param-models.mdのインクルードを更新しました。PR #12814 by @zhaohan-dong。 - 📝
contributing.mdドキュメントを更新し、このページを翻訳しないように注意書きを追加しました。PR #12841 by @tiangolo。 - 📝
docs/en/docs/tutorial/request-forms.mdのインクルードを更新しました。PR #12648 by @vishnuvskvkl。 - 📝
docs/en/docs/tutorial/request-form-models.mdのインクルードを更新しました。PR #12649 by @vishnuvskvkl。 - 📝
docs/en/docs/tutorial/security/oauth2-jwt.mdのインクルードを更新しました。PR #12650 by @OCE1960。 - 📝
docs/docs/tutorial/first-steps.mdのインクルードを更新しました。PR #12754 by @MxPy。 - 📝
docs/docs/advanced/wsgi.mdのインクルードを更新しました。PR #12769 by @Nimitha-jagadeesha。 - 📝
docs/en/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.mdのインクルードを更新しました。PR #12815 by @handabaldeep。 - 📝
docs/en/docs/tutorial/dependencies/classes-as-dependencies.mdのインクルードを更新しました。PR #12813 by @handabaldeep。 - ✏️
docs/en/docs/tutorial/middleware.mdのエラーを修正しました。PR #12819 by @alejsdev。 - 📝
docs/en/docs/tutorial/security/get-current-user.mdのインクルードを更新しました。PR #12645 by @OCE1960。 - 📝
docs/en/docs/tutorial/security/first-steps.mdのインクルードを更新しました。PR #12643 by @OCE1960。 - 📝
docs/docs/advanced/additional-responses.mdのインクルードを更新しました。PR #12821 by @zhaohan-dong。 - 📝
docs/en/docs/advanced/generate-clients.mdのインクルードを更新しました。PR #12642 by @AyushSinghal1794。 - 📝 新しい構文で admonition の二重引用符を修正しました。PR #12835 by @tiangolo。
- 📝
docs/docs/advanced/additional-responses.mdのインクルードを更新しました。PR #12828 by @zhaohan-dong。 - 📝
docs/en/docs/tutorial/path-params-numeric-validations.mdのインクルードを更新しました。PR #12825 by @zhaohan-dong。 - 📝
docs/en/docs/advanced/testing-websockets.mdのインクルードを更新しました。PR #12761 by @hamidrasti。 - 📝
docs/en/docs/advanced/using-request-directly.mdのインクルードを更新しました。PR #12760 by @hamidrasti。 - 📝
docs/advanced/wsgi.mdのインクルードを更新しました。PR #12758 by @hamidrasti。 - 📝
docs/docs/tutorial/middleware.mdのインクルードを更新しました。PR #12729 by @paintdog。 - 📝
docs/en/docs/tutorial/schema-extra-example.mdのインクルードを更新しました。PR #12822 by @tiangolo。 - 📝
docs/docs/advanced/additional-responses.mdのインクルードを更新しました。PR #12634 by @fegmorte。 - 📝
docs/docs/advanced/path-operation-advanced-configuration.mdのインクルードを更新しました。PR #12633 by @kantandane。 - 📝
docs/docs/advanced/response-directly.mdのインクルードを更新しました。PR #12632 by @kantandane。 - 📝
docs/en/docs/tutorial/header-params.mdのインクルードを更新しました。PR #12640 by @vishnuvskvkl。 - 📝
docs/en/docs/tutorial/cookie-param-models.mdのインクルードを更新しました。PR #12639 by @vishnuvskvkl。 - 📝
docs/en/docs/tutorial/extra-models.mdのインクルードを更新しました。PR #12638 by @vishnuvskvkl。 - 📝
docs/en/docs/tutorial/cors.mdのインクルードを更新しました。PR #12637 by @vishnuvskvkl。 - 📝
docs/en/docs/tutorial/dependencies/sub-dependencies.mdのインクルードを更新しました。PR #12810 by @handabaldeep。 - 📝
docs/en/docs/tutorial/body-nested-models.mdのインクルードを更新しました。PR #12812 by @zhaohan-dong。 - 📝
docs/en/docs/tutorial/path-operation-configuration.mdのインクルードを更新しました。PR #12809 by @AlexWendland。 - 📝
docs/en/docs/tutorial/request-files.mdのインクルードを更新しました。PR #12818 by @zhaohan-dong。 - 📝
docs/en/docs/tutorial/query-param-models.mdのインクルードを更新しました。PR #12817 by @handabaldeep。 - 📝
docs/en/docs/tutorial/path-params.mdのインクルードを更新しました。PR #12811 by @AlexWendland。 - 📝
docs/en/docs/tutorial/response-model.mdのインクルードを更新しました。PR #12621 by @kantandane。 - 📝
docs/en/docs/advanced/websockets.mdのインクルードを更新しました。PR #12606 by @vishnuvskvkl。 - 📝
docs/en/docs/tutorial/cookie-params.mdのインクルードを更新しました。PR #12808 by @handabaldeep。 - 📝
docs/en/docs/tutorial/middleware.mdのインクルードを更新しました。PR #12807 by @AlexWendland。 - 📝
docs/en/docs/advanced/sub-applications.mdのインクルードを更新しました。PR #12806 by @zhaohan-dong。 - 📝
docs/en/docs/advanced/response-headers.mdのインクルードを更新しました。PR #12805 by @zhaohan-dong。 - 📝
docs/docs/tutorial/first-steps.mdのインクルードを更新しました。PR #12594 by @kantandane。 - 📝
docs/en/docs/advanced/response-cookies.mdのインクルードを更新しました。PR #12804 by @zhaohan-dong。 - 📝
docs/en/docs/advanced/path-operation-advanced-configuration.mdのインクルードを更新しました。PR #12802 by @zhaohan-dong。 - 📝
docs/en/docs/advanced/response-directly.mdのインクルードを更新しました。PR #12803 by @handabaldeep。 - 📝
docs/docs/tutorial/background-tasks.mdのインクルードを更新しました。PR #12798 by @zhaohan-dong。 - 📝
docs/docs/tutorial/body-multiple-params.mdのインクルードを更新しました。PR #12699 by @alissadb。 - 📝
docs/docs/tutorial/body-updates.mdのインクルードを更新しました。PR #12799 by @AlexWendland。 - 📝
docs/en/docs/advanced/response-change-status-code.mdのインクルードを更新しました。PR #12801 by @handabaldeep。 - 📝
docs/en/docs/advanced/openapi-callbacks.mdのインクルードを更新しました。PR #12800 by @handabaldeep。 - 📝
docs/docs/tutorial/body-multiple-params.mdのインクルードを更新しました。PR #12598 by @kantandane。 - 📝
docs/en/docs/tutorial/body-multiple-params.mdのインクルードを更新しました。PR #12593 by @Tashanam-Shahbaz。 - 📝
docs/docs/tutorial/background-tasks.mdのインクルードを更新しました。PR #12736 by @bhunao。 - 📝
docs/en/docs/advanced/custom-response.mdのインクルードを更新しました。PR #12797 by @handabaldeep。 - 📝
docs/docs/python-types.mdのインクルードを更新しました。PR #12671 by @ceb10n。 - 📝
docs/docs/python-types.mdのインクルードを更新しました。PR #12660 by @alissadb。 - 📝
docs/docs/advanced/dataclasses.mdのインクルードを更新しました。PR #12658 by @alissadb。 - 📝
docs/docs/tutorial/path-params.mdのインクルードを更新しました。PR #12592 by @kantandane。 - 📝
docs/docs/how-to/configure-swagger-ui.mdのインクルードを更新しました。PR #12690 by @alissadb。 - 📝
docs/en/docs/advanced/security/oauth2-scopes.mdのインクルードを更新しました。PR #12572 by @krishnamadhavan。 - 📝
docs/en/docs/how-to/conditional-openapi.mdのインクルードを更新しました。PR #12624 by @rabinlamadong。 - 📝
docs/en/docs/tutorial/dependencies/index.mdのインクルードを更新しました。PR #12615 by @bharara。 - 📝
docs/en/docs/tutorial/response-status-code.mdのインクルードを更新しました。PR #12620 by @kantandane。 - 📝
docs/en/docs/how-to/custom-docs-ui-assets.mdのインクルードを更新しました。PR #12623 by @rabinlamadong。 - 📝
docs/en/docs/advanced/openapi-webhooks.mdのインクルードを更新しました。PR #12605 by @salmantec。 - 📝
docs/en/docs/advanced/events.mdのインクルードを更新しました。PR #12604 by @salmantec。 - 📝
docs/en/docs/advanced/dataclasses.mdのインクルードを更新しました。PR #12603 by @salmantec。 - 📝
docs/docs/tutorial/cookie-params.mdのインクルードを更新しました。PR #12602 by @antonyare93。 - 📝
docs/docs/tutorial/path-params-numeric-validations.mdのインクルードを更新しました。PR #12601 by @kantandane。 - 📝
docs/docs/tutorial/background-tasks.mdのインクルードを更新しました。PR #12600 by @kantandane。 - 📝
docs/en/docs/tutorial/encoder.mdのインクルードを更新しました。PR #12597 by @tonyjly。 - 📝
docs/en/docs/how-to/custom-docs-ui-assets.mdのインクルードを更新しました。PR #12557 by @philipokiokio。 - 🎨 間隔を調整しました。PR #12635 by @alejsdev。
- 📝
docs/en/docs/how-to/custom-request-and-route.mdのインクルードを更新しました。PR #12560 by @philipokiokio。
Translations¶
- 🌐
docs/docs/advanced/testing-websockets.mdの韓国語翻訳を追加しました。PR #12739 by @Limsunoh。 - 🌐
docs/docs/environment-variables.mdの繁体字中国語翻訳を追加しました。PR #12785 by @Vincy1230。 - 🌐
docs/docs/environment-variables.mdの中国語翻訳を追加しました。PR #12784 by @Vincy1230。 - 🌐
ko/docs/advanced/response-headers.mdの韓国語翻訳を追加しました。PR #12740 by @kwang1215。 - 🌐
docs/docs/virtual-environments.mdの中国語翻訳を追加しました。PR #12790 by @Vincy1230。 - 🌐
/docs/docs/environment-variables.mdの韓国語翻訳を追加しました。PR #12526 by @Tolerblanc。 - 🌐
docs/docs/history-design-future.mdの韓国語翻訳を追加しました。PR #12646 by @saeye。 - 🌐
docs/docs/advanced/advanced-dependencies.mdの韓国語翻訳を追加しました。PR #12675 by @kim-sangah。 - 🌐
docs/docs/how-to/conditional-openapi.mdの韓国語翻訳を追加しました。PR #12731 by @sptcnl。 - 🌐
docs/docs/advanced/using_request_directly.mdの韓国語翻訳を追加しました。PR #12738 by @kwang1215。 - 🌐
docs/docs/advanced/testing-events.mdの韓国語翻訳を追加しました。PR #12741 by @9zimin9。 - 🌐
docs/docs/security/index.mdの韓国語翻訳を追加しました。PR #12743 by @kim-sangah。 - 🌐
docs/docs/advanced/path-operation-advanced-configuration.mdのポルトガル語翻訳を追加しました。PR #12762 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/advanced/wsgi.mdの韓国語翻訳を追加しました。PR #12659 by @Limsunoh。 - 🌐
docs/docs/advanced/websockets.mdのポルトガル語翻訳を追加しました。PR #12703 by @devfernandoa。 - 🌐
docs/docs/tutorial/security/simple-oauth2.mdのポルトガル語翻訳を追加しました。PR #12520 by @LidiaDomingos。 - 🌐
docs/docs/advanced/response-directly.mdの韓国語翻訳を追加しました。PR #12674 by @9zimin9。 - 🌐
docs/docs/advanced/middleware.mdのポルトガル語翻訳を追加しました。PR #12704 by @devluisrodrigues。 - 🌐
docs/docs/advanced/openapi-callbacks.mdのポルトガル語翻訳を追加しました。PR #12705 by @devfernandoa。 - 🌐
docs/docs/tutorial/request-files.mdのポルトガル語翻訳を追加しました。PR #12706 by @devluisrodrigues。 - 🌐
docs/docs/advanced/custom-response.mdのポルトガル語翻訳を追加しました。PR #12631 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/tutorial/metadata.mdのポルトガル語翻訳を追加しました。PR #12538 by @LinkolnR。 - 🌐
docs/docs/tutorial/metadata.mdの韓国語翻訳を追加しました。PR #12541 by @kwang1215。 - 🌐
docs/docs/advanced/response-cookies.mdの韓国語翻訳を追加しました。PR #12546 by @kim-sangah。 - 🌐
docs/docs/fastapi-cli.mdの韓国語翻訳を追加しました。PR #12515 by @dhdld。 - 🌐
docs/docs/advanced/response-change-status-code.mdの韓国語翻訳を追加しました。PR #12547 by @9zimin9。
Internal¶
- ⬆ [pre-commit.ci] pre-commit の自動更新。PR #12907 by @pre-commit-ci[bot]。
- 🔨 ドキュメントプレビュースクリプトを更新し、以前のバージョンと英語版を表示するようにしました。PR #12856 by @tiangolo。
- ⬆ tiangolo/latest-changes を 0.3.1 から 0.3.2 に更新しました。PR #12794 by @dependabot[bot]。
- ⬆ pypa/gh-action-pypi-publish を 1.12.0 から 1.12.2 に更新しました。PR #12788 by @dependabot[bot]。
- ⬆ pypa/gh-action-pypi-publish を 1.11.0 から 1.12.0 に更新しました。PR #12781 by @dependabot[bot]。
- ⬆ cloudflare/wrangler-action を 3.11 から 3.12 に更新しました。PR #12777 by @dependabot[bot]。
- ⬆ [pre-commit.ci] pre-commit の自動更新。PR #12766 by @pre-commit-ci[bot]。
- ⬆ pypa/gh-action-pypi-publish を 1.10.3 から 1.11.0 に更新しました。PR #12721 by @dependabot[bot]。
- ⬆ pre-commit の要件を <4.0.0,>=2.17.0 から >=2.17.0,<5.0.0 に更新しました。PR #12749 by @dependabot[bot]。
- ⬆ typer を 0.12.3 から 0.12.5 に更新しました。PR #12748 by @dependabot[bot]。
- ⬆ flask の要件を <3.0.0,>=1.1.2 から >=1.1.2,<4.0.0 に更新しました。PR #12747 by @dependabot[bot]。
- ⬆ pillow を 10.4.0 から 11.0.0 に更新しました。PR #12746 by @dependabot[bot]。
- ⬆ pytest の要件を <8.0.0,>=7.1.3 から >=7.1.3,<9.0.0 に更新しました。PR #12745 by @dependabot[bot]。
- 🔧 スポンサーを更新しました: Render を追加しました。PR #12733 by @tiangolo。
- ⬆ [pre-commit.ci] pre-commit の自動更新。PR #12707 by @pre-commit-ci[bot]。
0.115.4¶
Refactors¶
Docs¶
- 📝
docs/docs/tutorial/body.mdのインクルードを更新しました。PR #12596 by @kantandane。 - 📝
docs/docs/tutorial/debugging.mdのインクルードを更新しました。PR #12595 by @kantandane。 - 📝
docs/docs/tutorial/query-params-str-validations.mdのインクルードを更新しました。PR #12591 by @kantandane。 - 📝
docs/docs/tutorial/query-params.mdのインクルードを更新しました。PR #12589 by @kantandane。 - 📝
docs/en/tutorial/body-fields.mdのインクルードを更新しました。PR #12588 by @lucaromagnoli。 - 📝
docs/docs/tutorial/response-status-code.mdのインクルードを更新しました。PR #12585 by @abejaranoh。 - 📝
docs/en/docs/tutorial/body.mdのインクルードを更新しました。PR #12586 by @lucaromagnoli。 - 📝
docs/en/docs/advanced/behind-a-proxy.mdのインクルードを更新しました。PR #12583 by @imjuanleonard。 - 📝
docs/docs/tutorial/first-steps.mdのインクルード構文を更新しました。PR #12584 by @sebkozlo。 - 📝
docs/en/docs/advanced/middleware.mdのインクルードを更新しました。PR #12582 by @montanarograziano。 - 📝
docs/en/docs/advanced/additional-status-codes.mdのインクルードを更新しました。PR #12577 by @krishnamadhavan。 - 📝
docs/en/docs/advanced/advanced-dependencies.mdのインクルードを更新しました。PR #12578 by @krishnamadhavan。 - 📝
docs/en/docs/advanced/additional-responses.mdのインクルードを更新しました。PR #12576 by @krishnamadhavan。 - 📝
docs/en/docs/tutorial/static-files.mdのインクルードを更新しました。PR #12575 by @lucaromagnoli。 - 📝
docs/en/docs/advanced/async-tests.mdのインクルードを更新しました。PR #12568 by @krishnamadhavan。 - 📝
docs/docs/advanced/behind-a-proxy.mdのインクルードを更新しました。PR #12563 by @asmioglou。 - 📝
docs/docs/advanced/security/http-basic-auth.mdのインクルードを更新しました。PR #12561 by @Nimitha-jagadeesha。 - 📝
docs/en/docs/tutorial/background-tasks.mdのインクルードを更新しました。PR #12559 by @FarhanAliRaza。 - 📝
docs/docs/python-types.mdのインクルードを更新しました。PR #12558 by @Ismailtlem。 - 📝
docs/en/docs/how-to/graphql.mdのインクルードを更新しました。PR #12564 by @philipokiokio。 - 📝
docs/en/docs/how-to/extending-openapi.mdのインクルードを更新しました。PR #12562 by @philipokiokio。 - 📝
docs/en/docs/how-to/configure-swagger-ui.mdのインクルードを更新しました。PR #12556 by @tiangolo。 - 📝
docs/en/docs/how-to/separate-openapi-schemas.mdのインクルードを更新しました。PR #12555 by @tiangolo。 - 📝
docs/en/docs/advanced/security/http-basic-auth.mdのインクルードを更新しました。PR #12553 by @tiangolo。 - 📝
docs/en/docs/tutorial/first-steps.mdのインクルードを更新しました。PR #12552 by @tiangolo。 - 📝
docs/en/docs/python-types.mdのインクルードを更新しました。PR #12551 by @tiangolo。 - 📝 OAuth2 ドキュメントのリンク切れを修正しました。PR #12550 by @tiangolo。
- 📝 外部リンクを追加しました: FastAPI do Zero。PR #12533 by @rennerocha。
- 📝 ドキュメントの軽微な誤字を修正しました。PR #12516 by @kkirsche。
- 🌐 翻訳のレンダリング問題を修正しました。PR #12509 by @alejsdev。
Translations¶
- 📝
docs/docs/advanced/async-tests.mdのインクルードを更新しました。PR #12567 by @imjuanleonard。 - 🌐
docs/docs/tutorial/sql-databases.mdのポルトガル語翻訳を追加しました。PR #12530 by @ilacftemp。 - 🌐
docs/docs/benchmarks.mdの韓国語翻訳を追加しました。PR #12540 by @Limsunoh。 - 🌐
docs/docs/how-to/separate-openapi-schemas.mdのポルトガル語翻訳を追加しました。PR #12518 by @ilacftemp。 - 🌐
docs/docs/deployment/index.mdの繁体字中国語翻訳を更新しました。PR #12521 by @codingjenny。 - 🌐
docs/docs/deployment/cloud.mdの繁体字中国語翻訳を更新しました。PR #12522 by @codingjenny。 - 🌐
docs/docs/how-to/index.mdの繁体字中国語翻訳を更新しました。PR #12523 by @codingjenny。 - 🌐
docs/docs/tutorial/index.mdの繁体字中国語翻訳を更新しました。PR #12524 by @codingjenny。 - 🌐
docs/docs/how-to/index.mdの繁体字中国語翻訳を追加しました。PR #12468 by @codingjenny。 - 🌐
docs/docs/tutorial/index.mdの繁体字中国語翻訳を追加しました。PR #12466 by @codingjenny。 - 🌐
docs/docs/tutorial/header-param-models.mdのポルトガル語翻訳を追加しました。PR #12437 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/how-to/extending-openapi.mdのポルトガル語翻訳を追加しました。PR #12470 by @ilacftemp。 - 🌐
docs/docs/advanced/dataclasses.mdのポルトガル語翻訳を追加しました。PR #12475 by @leoscarlato。 - 🌐
docs/docs/how-to/custom-request-and-route.mdのポルトガル語翻訳を追加しました。PR #12483 by @devfernandoa。
Internal¶
- ⬆ cloudflare/wrangler-action を 3.9 から 3.11 に更新しました。PR #12544 by @dependabot[bot]。
- 👷 Docs プレビューをデプロイする GitHub Action を更新し、不足しているデプロイコメントを処理するようにしました。PR #12527 by @tiangolo。
- ⬆ [pre-commit.ci] pre-commit の自動更新。PR #12505 by @pre-commit-ci[bot]。
0.115.3¶
Upgrades¶
Docs¶
- 📝 ドキュメントのリンク切れを修正しました。PR #12495 by @eltonjncorreia。
Translations¶
- 🌐
docs/docs/fastapi-cli.mdの繁体字中国語翻訳を追加しました。PR #12444 by @codingjenny。 - 🌐
docs/docs/deployment/index.mdの繁体字中国語翻訳を追加しました。PR #12439 by @codingjenny。 - 🌐
docs/docs/how-to/testing-database.mdのポルトガル語翻訳を追加しました。PR #12472 by @GuilhermeRameh。 - 🌐
docs/docs/how-to/custom-docs-ui-assets.mdのポルトガル語翻訳を追加しました。PR #12473 by @devluisrodrigues。 - 🌐
docs/docs/advanced/response-headers.mdのポルトガル語翻訳を追加しました。PR #12458 by @leonardopaloschi。 - 🌐
docs/docs/deployment/cloud.mdの繁体字中国語翻訳を追加しました。PR #12440 by @codingjenny。 - 🌐
docs/docs/python-types.mdのポルトガル語翻訳を更新しました。PR #12428 by @ceb10n。 - 🌐
docs/docs/environment-variables.mdのロシア語翻訳を追加しました。PR #12436 by @wisderfin。 - 🌐
docs/docs/resources/index.mdの繁体字中国語翻訳を追加しました。PR #12443 by @codingjenny。 - 🌐
docs/docs/about/index.mdの繁体字中国語翻訳を追加しました。PR #12438 by @codingjenny。 - 🌐
docs/docs/tutorial/query-param-models.mdのポルトガル語翻訳を追加しました。PR #12414 by @ceb10n。 - 🌐
docs/docs/deployment.mdのポルトガル語翻訳を削除しました。PR #12427 by @ceb10n。 - 🌐
docs/docs/tutorial/body-updates.mdのポルトガル語翻訳を追加しました。PR #12381 by @andersonrocha0。 - 🌐
docs/docs/advanced/response-cookies.mdのポルトガル語翻訳を追加しました。PR #12417 by @Paulofalcao2002。
Internal¶
- 👷 issue manager ワークフローを更新しました。PR #12457 by @alejsdev。
- 🔧 チームを更新し、YuriiMotov 🚀 を含めました。PR #12453 by @tiangolo。
- 👷 label-approved をリファクタリングし、外部の GitHub Action ではなく内部スクリプトにしました。PR #12280 by @tiangolo。
- 👷 smokeshow を修正し、CI でファイルをチェックアウトするようにしました。PR #12434 by @tiangolo。
- 👷 CI で uv を使用するようにしました。PR #12281 by @tiangolo。
- ⬆ httpx の要件を <0.25.0,>=0.23.0 から >=0.23.0,<0.28.0 に更新しました。PR #11509 by @dependabot[bot]。
0.115.2¶
Upgrades¶
0.115.1¶
Fixes¶
- 🐛 responses kwarg で OpenAPI 生成を修正しました。PR #10895 by @flxdot。
- 🐛 Pydantic v2 を使用している FastAPI から
Requiredのシャドウイングを削除しました。PR #12197 by @pachewise。
Refactors¶
Docs¶
- ✨ SQLModel を使用した SQL データベースの新しいチュートリアルを追加しました。PR #12285 by @tiangolo。
- 📝 外部リンクを追加しました: FastAPI 非同期リクエストのプロファイル方法。PR #12389 by @brouberol。
- 🔧 MkDocs の
mdx_includeMarkdown 拡張機能のbase_pathを削除しました。PR #12391 by @tiangolo。 - 📝 Swagger UI 設定ドキュメントへのリンクを更新しました。PR #12264 by @makisukurisu。
- 📝
docs/project-generation.mdに Playwright と Vite のリンクを追加しました。PR #12274 by @kayqueGovetri。 - 📝 ドキュメントの軽微な誤字を修正しました。PR #12213 by @svlandeg。
Translations¶
- 🌐
docs/docs/tutorial/cookie-param-models.mdのポルトガル語翻訳を追加しました。PR #12298 by @ceb10n。 - 🌐
docs/docs/how-to/graphql.mdのポルトガル語翻訳を追加しました。PR #12215 by @AnandaCampelo。 - 🌐
docs/docs/advanced/security/oauth2-scopes.mdのポルトガル語翻訳を追加しました。PR #12263 by @ceb10n。 - 🌐
docs/docs/deployment/concepts.mdのポルトガル語翻訳を追加しました。PR #12219 by @marcelomarkus。 - 🌐
docs/docs/how-to/conditional-openapi.mdのポルトガル語翻訳を追加しました。PR #12221 by @marcelomarkus。 - 🌐
docs/docs/advanced/response-directly.mdのポルトガル語翻訳を追加しました。PR #12266 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/tutorial/cookie-params.mdのポルトガル語翻訳を更新しました。PR #12297 by @ceb10n。 - 🌐
docs/docs/tutorial/index.mdの韓国語翻訳を修正しました。PR #12278 by @kkotipy。 - 🌐
docs/docs/advanced/security/http-basic-auth.mdのポルトガル語翻訳を更新しました。PR #12275 by @andersonrocha0。 - 🌐
docs/docs/deployment/cloud.mdのポルトガル語翻訳を追加しました。PR #12217 by @marcelomarkus。 - ✏️
docs/docs/python-types.mdの誤字を修正しました。PR #12235 by @JavierSanchezCastro。 - 🌐
docs/docs/environment-variables.mdのオランダ語翻訳を追加しました。PR #12200 by @maxscheijen。 - 🌐
docs/docs/deployment/manually.mdのポルトガル語翻訳を追加しました。PR #12210 by @JoaoGustavoRogel。 - 🌐
docs/docs/deployment/server-workers.mdのポルトガル語翻訳を追加しました。PR #12220 by @marcelomarkus。 - 🌐
docs/docs/how-to/configure-swagger-ui.mdのポルトガル語翻訳を追加しました。PR #12222 by @marcelomarkus。
Internal¶
- ⬆ [pre-commit.ci] pre-commit の自動更新。PR #12396 by @pre-commit-ci[bot]。
- 🔨 ファイルのバリアントを生成するスクリプトを追加しました。PR #12405 by @tiangolo。
- 🔧
sponsors_badge.ymlに speakeasy-api を追加しました。PR #12404 by @tiangolo。 - ➕ ドキュメントの依存関係を追加しました: markdown-include-variants。PR #12399 by @tiangolo。
- 📝 余分な mdx-base-path パスを修正しました。PR #12397 by @tiangolo。
- 👷 ラベラーを微調整し、カスタムラベルを上書きしないようにしました。PR #12398 by @tiangolo。
- 👷 workflow deploy-docs-notify URL を更新しました。PR #12392 by @tiangolo。
- 👷 Cloudflare GitHub Action を更新しました。PR #12387 by @tiangolo。
- ⬆ pypa/gh-action-pypi-publish を 1.10.1 から 1.10.3 に更新しました。PR #12386 by @dependabot[bot]。
- ⬆ mkdocstrings[python] を 0.25.1 から 0.26.1 に更新しました。PR #12371 by @dependabot[bot]。
- ⬆ griffe-typingdoc を 0.2.6 から 0.2.7 に更新しました。PR #12370 by @dependabot[bot]。
- ⬆ [pre-commit.ci] pre-commit の自動更新。PR #12331 by @pre-commit-ci[bot]。
- 🔧 スポンサーを更新し、Fine.dev を削除しました。PR #12271 by @tiangolo。
- ⬆️ [pre-commit.ci] pre-commit の自動更新。PR #12253 by @pre-commit-ci[bot]。
- ✏️ HTTPセキュリティのdocstringのタイプミスを修正。PR #12223 by @albertvillanova。
0.115.0¶
ハイライト¶
Pydantic モデルで Query、Header、Cookie パラメーターを宣言できるようになりました。🎉
Query パラメーターモデル¶
Query パラメーターに Pydantic モデルを使用する
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)
order_by: Literal["created_at", "updated_at"] = "created_at"
tags: list[str] = []
@app.get("/items/")
async def read_items(filter_query: Annotated[FilterParams, Query()]):
return filter_query
新しいドキュメントを読む: クエリパラメーターモデル。
Header パラメーターモデル¶
Header パラメーターに Pydantic モデルを使用する
from typing import Annotated
from fastapi import FastAPI, Header
from pydantic import BaseModel
app = FastAPI()
class CommonHeaders(BaseModel):
host: str
save_data: bool
if_modified_since: str | None = None
traceparent: str | None = None
x_tag: list[str] = []
@app.get("/items/")
async def read_items(headers: Annotated[CommonHeaders, Header()]):
return headers
新しいドキュメントを読む: ヘッダーパラメーターモデル。
Cookie パラメーターモデル¶
Cookie パラメーターに Pydantic モデルを使用する
from typing import Annotated
from fastapi import Cookie, FastAPI
from pydantic import BaseModel
app = FastAPI()
class Cookies(BaseModel):
session_id: str
fatebook_tracker: str | None = None
googall_tracker: str | None = None
@app.get("/items/")
async def read_items(cookies: Annotated[Cookies, Cookie()]):
return cookies
新しいドキュメントを読む: クッキーパラメーターモデル。
余分なクエリ(Cookie、Header)パラメーターを禁止する¶
Pydantic モデルを使用して、Query パラメーター(Header および Cookie パラメーターにも適用されます)の余分な値を制限します。
これを実現するには、Pydantic の model_config = {"extra": "forbid"} を使用します。
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 read_items(filter_query: Annotated[FilterParams, Query()]):
return filter_query
これは Query、Header、および Cookie パラメーターに適用されます。新しいドキュメントを参照してください。
機能¶
翻訳¶
内部¶
- ⬆️ [pre-commit.ci] pre-commit の自動更新。PR #12204 by @pre-commit-ci[bot]。
0.114.2¶
修正¶
- 🐛
aliasによるフォームフィールドの回帰を修正。PR #12194 by @Wurstnase。
翻訳¶
- 🌐
docs/docs/tutorial/request-form-models.mdのポルトガル語翻訳を追加。PR #12175 by @ceb10n。 - 🌐
docs/docs/project-generation.mdの中国語翻訳を追加。PR #12170 by @waketzheng。 - 🌐
docs/docs/python-types.mdのオランダ語翻訳を追加。PR #12158 by @maxscheijen。
内部¶
- 💡 Playwrightスクリーンショットスクリプトの指示コメントを追加。PR #12193 by @tiangolo。
- ➕ テストに inline-snapshot を追加。PR #12189 by @tiangolo。
0.114.1¶
リファクタリング¶
ドキュメント¶
翻訳¶
- 🌐
docs/docs/virtual-environments.mdのポルトガル語翻訳を追加。PR #12163 by @marcelomarkus。 - 🌐
docs/docs/environment-variables.mdのポルトガル語翻訳を追加。PR #12162 by @marcelomarkus。 - 🌐
docs/docs/tutorial/testing.mdのポルトガル語翻訳を追加。PR #12164 by @marcelomarkus。 - 🌐
docs/docs/tutorial/debugging.mdのポルトガル語翻訳を追加。PR #12165 by @marcelomarkus。 - 🌐
docs/docs/project-generation.mdの韓国語翻訳を追加。PR #12157 by @BORA040126。
内部¶
- ⬆️ tiangolo/issue-manager を 0.5.0 から 0.5.1 にバンプ。PR #12173 by @dependabot[bot]。
- ⬆️ [pre-commit.ci] pre-commit の自動更新。PR #12176 by @pre-commit-ci[bot]。
- 👷
issue-manager.ymlを更新。PR #12159 by @tiangolo。 - ✏️
fastapi/params.pyのタイプミスを修正。PR #12143 by @surreal30。
0.114.0¶
Pydantic モデルで宣言されたフォームフィールドのみを含み、リクエストで送信された余分なフィールドを禁止するように制限することができます(Pydantic の model_config = {"extra": "forbid"} を使用)。
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
新しいドキュメントを読む: フォームモデル - 余分なフォームフィールドを禁止する。
機能¶
ドキュメント¶
内部¶
0.113.0¶
Pydantic モデルでフォームフィールドを宣言できるようになりました。
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
新しいドキュメントを読む: フォームモデル。
機能¶
内部¶
0.112.4¶
このリリースは主に、Form フィールドの Pydantic モデルのサポートを追加できるようにするための大規模な内部リファクタリングですが、その機能は次のリリースで提供されます。
このリリースは FastAPI を使用するアプリには影響しないはずです。まだこのバージョンにアップグレードする必要もありません。これは単なるチェックポイントです。🤓
リファクタリング¶
- ♻️
embedボディフィールドを決定するリファクタリング、フィールドを上書きしない、ルーターごとに一度計算する、Form、Queryなどで Pydantic モデルの準備のために内部をリファクタリング。PR #12117 by @tiangolo。
内部¶
- ⏪️ 「✨
Formパラメーターで Pydantic モデルのサポートを追加」を一時的に元に戻し、チェックポイントリリースを作成。PR #12128 by @tiangolo。PR #12129 で復元。 - ✨
Formパラメーターで Pydantic モデルのサポートを追加。PR #12127 by @tiangolo。リファクタリングのみのチェックポイントリリースを作成するために PR #12128 で元に戻された。PR #12129 で復元。
0.112.3¶
このリリースは主に内部リファクタリングであり、FastAPI を使用するアプリには影響しないはずです。まだこのバージョンにアップグレードする必要もありません。すぐにいくつかの大きなリリースが続きます。🚀
リファクタリング¶
- ♻️ 内部の
check_file_field()をリファクタリングし、目的を明確にするためにensure_multipart_is_installed()に名前変更。PR #12106 by @tiangolo。 - ♻️ 内部の
create_response_field()をcreate_model_field()に名前変更。これはレスポンスモデル以外にも使用されるため。PR #12103 by @tiangolo。 - ♻️ dataclass を使用して
solve_dependencies()からの内部データをリファクタリングし、簡素化。PR #12100 by @tiangolo。 - ♻️ 内部の
analyze_param()をリファクタリングし、タプルではなく dataclass でデータを構造化するように簡素化。PR #12099 by @tiangolo。 - ♻️ dataclass を使用して依存関係のデータ構造をリファクタリングし、簡素化。PR #12098 by @tiangolo。
ドキュメント¶
- 📝 外部リンクを追加: FastAPI における SQLAlchemy グローバルフィルターのテクニックとアプリケーション。PR #12109 by @TheShubhendra。
- 📝 ミドルウェアの
time.perf_counter()についてのメモを追加。PR #12095 by @tiangolo。 - 📝 ミドルウェアのコードサンプルを
time.time()からtime.perf_counter()に調整。PR #11957 by @domdent。 - 🔧 スポンサーを更新: Coherence。PR #12093 by @tiangolo。
- 📝 DeprecationWarning をトリガーしないように async テストの例を修正。PR #12084 by @marcinsulikowski。
- 📝
docs_src/path_params_numeric_validations/tutorial006.pyを更新。PR #11478 by @MuhammadAshiqAmeer。 - 📝
docs/en/docs/async.mdのカンマを更新。PR #12062 by @Alec-Gillis。 - 📝 FastAPI の提供に関するドキュメントを更新: ASGI サーバー、Docker コンテナなど。PR #12069 by @tiangolo。
- 📝
response_classパラメーター、バリデーション、レスポンスを直接返すことについて明確化。PR #12067 by @tiangolo。 - 📝 ドキュメントの軽微なタイプミスと問題を修正。PR #12063 by @svlandeg。
- 📝 Docker ドキュメントに、
CMDexec 形式でグレースフルシャットダウンとライフスパンイベントを確保するための注意を追加。PR #11960 by @GPla。
翻訳¶
- 🌐
docs/docs/features.mdのオランダ語翻訳を追加。PR #12101 by @maxscheijen。 - 🌐
docs/docs/advanced/testing-events.mdのポルトガル語翻訳を追加。PR #12108 by @ceb10n。 - 🌐
docs/docs/advanced/security/index.mdのポルトガル語翻訳を追加。PR #12114 by @ceb10n。 - 🌐
docs/docs/index.mdのオランダ語翻訳を追加。PR #12042 by @svlandeg。 - 🌐
docs/docs/how-to/index.mdの中国語翻訳を更新。PR #12070 by @synthpop123。
内部¶
- ⬆️ [pre-commit.ci] pre-commit の自動更新。PR #12115 by @pre-commit-ci[bot]。
- ⬆️ pypa/gh-action-pypi-publish を 1.10.0 から 1.10.1 にバンプ。PR #12120 by @dependabot[bot]。
- ⬆️ pillow を 10.3.0 から 10.4.0 にバンプ。PR #12105 by @dependabot[bot]。
- 💚
upload-artifactGH アクションを使用する際にinclude-hidden-filesをTrueに設定。PR #12118 by @svlandeg。 - ⬆️ pypa/gh-action-pypi-publish を 1.9.0 から 1.10.0 にバンプ。PR #12112 by @dependabot[bot]。
- 🔧 スポンサーリンクを更新: Coherence。PR #12097 by @tiangolo。
- 🔧 スポンサーシップデータを処理するようにラベル設定を更新。PR #12096 by @tiangolo。
- 🔧 スポンサーを更新、Kong を削除。PR #12085 by @tiangolo。
- ⬆️ [pre-commit.ci] pre-commit の自動更新。PR #12076 by @pre-commit-ci[bot]。
- 👷
latest-changesGitHub アクションを更新。PR #12073 by @tiangolo。
0.112.2¶
修正¶
- 🐛 Param および Body クラスの
allow_inf_nanオプションを修正。PR #11867 by @giunio-prc。 - 🐛
app.include_routerがネストされたライフスパンをマージするように確保。PR #9630 by @Lancetnik。
リファクタリング¶
- 🎨 準内部
FastAPI.add_api_route()の型注釈を修正。PR #10240 by @ordinary-jamie。 - ⬆️ Ruff のバージョンをアップグレードし、再フォーマット。PR #12032 by @tiangolo。
ドキュメント¶
- 📝
docs/en/docs/virtual-environments.mdのタイプミスを修正。PR #12064 by @aymenkrifa。 - 📝 環境変数と仮想環境に関するドキュメントを追加。PR #12054 by @tiangolo。
- 📝 非同期ドキュメントに Asyncer の言及を追加。PR #12037 by @tiangolo。
- 📝 メインページメニューを改善するために機能ドキュメントをトップレベルに移動。PR #12036 by @tiangolo。
- ✏️
Securityの参照例でインポートのタイプミスを修正。PR #11168 by @0shah0。 - 📝 チュートリアルの
docs/en/docs/tutorial/body-multiple-params.mdで正しい行をハイライト。PR #11978 by @svlandeg。 - 🔥 高度なミドルウェアのドキュメントから Sentry リンクを削除。PR #12031 by @alejsdev。
- 📝 翻訳の管理タスク、1つの PR で複数のファイルについて明確化。PR #12030 by @tiangolo。
- 📝 「OpenAPI の追加レスポンス」セクションで OpenAPI の「Responses Object」と「Response Object」セクションへのリンクを編集。PR #11996 by @VaitoSoi。
- 🔨
email-validator依存関係をダッシュで指定。PR #11515 by @jirikuncar。 - 🌐
docs/docs/project-generation.mdのスペイン語翻訳を追加。PR #11947 by @alejsdev。 - 📝 軽微なタイプミスを修正。PR #12026 by @MicaelJarniac。
- 📝 ドキュメントのいくつかの改善、調整、明確化。PR #11390 by @nilslindemann。
- 📝
GZipMiddlewareのドキュメントに不足しているcompresslevelパラメーターを追加。PR #11350 by @junah201。 - 📝 テストのドキュメントで項目が既に存在する場合の一貫性のないレスポンスコードを修正。PR #11818 by @lokomilo。
- 📝 Python 3.10 ユニオン型例で
docs/en/docs/tutorial/body.mdを更新。PR #11415 by @rangzen。
翻訳¶
- 🌐
docs/docs/tutorial/request_file.mdのポルトガル語翻訳を追加。PR #12018 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/learn/index.mdの日本語翻訳を追加。PR #11592 by @ukwhatn。 - 📝 一貫性のためにスペイン語翻訳のドキュメントを更新。PR #12044 by @alejsdev。
- 🌐
docs/docs/tutorial/dependencies/dependencies-with-yield.mdの中国語翻訳を更新。PR #12028 by @xuvjso。 - 📝 FastAPI People を更新、最新の情報を保持するために翻訳しない。PR #12034 by @tiangolo。
- 🌐
docs/docs/benchmarks.mdのウルドゥー語翻訳を更新。PR #10046 by @AhsanSheraz。
内部¶
- ⬆️ [pre-commit.ci] pre-commit の自動更新。PR #12046 by @pre-commit-ci[bot]。
- 🔧 カバレッジ設定ファイルを更新。PR #12035 by @tiangolo。
- 🔨 シェルスクリプト間でシーバンを標準化。PR #11942 by @gitworkflows。
- ⬆️ sqlalchemy の要件を <1.4.43,>=1.3.18 から >=1.3.18,<2.0.33 に更新。PR #11979 by @dependabot[bot]。
- 🔊 古い警告を削除。PR #11950 by @tiangolo。
- ⬆️ ドキュメントの griffe-typingdoc をアップグレード。PR #12029 by @tiangolo。
- 🙈
.gitignoreに .coverage* を追加。PR #11940 by @gitworkflows。 - ⚙️ テストカバレッジコンテキストを記録し表示(どのテストがどの行をカバーするか)。PR #11518 by @slafs。
0.112.1¶
アップグレード¶
- ⬆️ Starlette 0.38.x を許可し、ピンを
>=0.37.2,<0.39.0に更新。PR #11876 by @musicinmybrain。
ドキュメント¶
- 📝 「これらのページは翻訳しない」に関するドキュメントセクションを更新。PR #12022 by @tiangolo。
- 📝 翻訳されないページとそれらを検証するスクリプトのドキュメントを追加。PR #12020 by @tiangolo。
- 📝 ディスカッションの質問に関するドキュメントを更新。PR #11985 by @tiangolo。
翻訳¶
- 🌐
docs/docs/tutorial/bigger-applications.mdのポルトガル語翻訳を追加。PR #11971 by @marcelomarkus。 - 🌐
docs/docs/advanced/testing-websockets.mdのポルトガル語翻訳を追加。PR #11994 by @ceb10n。 - 🌐
docs/docs/advanced/testing-dependencies.mdのポルトガル語翻訳を追加。PR #11995 by @ceb10n。 - 🌐
docs/docs/advanced/using-request-directly.mdのポルトガル語翻訳を追加。PR #11956 by @ceb10n。 - 🌐
docs/docs/tutorial/body-multiple-params.mdのフランス語翻訳を追加。PR #11796 by @pe-brian。 - 🌐
docs/docs/tutorial/query-params.mdの中国語翻訳を更新。PR #11557 by @caomingpei。 - 🌐
docs/docs/advanced/testing-dependencies.mdの中国語翻訳のタイプミスを更新。PR #11944 by @bestony。 - 🌐
docs/docs/advanced/sub-applications.mdとdocs/docs/advanced/behind-a-proxy.mdのポルトガル語翻訳を追加。PR #11856 by @marcelomarkus。 - 🌐
docs/docs/tutorial/cors.mdとdocs/docs/tutorial/middleware.mdのポルトガル語翻訳を追加。PR #11916 by @wesinalves。 - 🌐
docs/docs/tutorial/path-params-numeric-validations.mdのフランス語翻訳を追加。PR #11788 by @pe-brian。
内部¶
- ⬆️ pypa/gh-action-pypi-publish を 1.8.14 から 1.9.0 にバンプ。PR #11727 by @dependabot[bot]。
- 🔧
pyproject.tomlに変更ログ URL を追加、PyPI に表示される。PR #11152 by @Pierre-VF。 - 👷 手動で追加されたラベルを上書きするため、ラベルを同期しない。PR #12024 by @tiangolo。
- 👷🏻 Labeler GitHub Actions を更新。PR #12019 by @tiangolo。
- 🔧 言語とソーシャルカードの MkDocs 設定を更新。PR #12016 by @tiangolo。
- 👷 ラベラー GitHub Action の権限と設定を更新。PR #12008 by @tiangolo。
- 👷🏻 GitHub Action の label-checker を追加。PR #12005 by @tiangolo。
- 👷 label checker GitHub Action を追加。PR #12004 by @tiangolo。
- 👷 GitHub Action add-to-project を更新。PR #12002 by @tiangolo。
- 🔧 labeler GitHub Action を更新。PR #12001 by @tiangolo。
- 👷 GitHub Action labeler を追加。PR #12000 by @tiangolo。
- 👷 GitHub Action add-to-project を追加。PR #11999 by @tiangolo。
- 📝 ドキュメントの警告表示を修正。PR #11998 by @tiangolo。
- 🔨
docs.pyスクリプトをリファクタリングし、条件付きでダーティーリロードを有効にする。PR #11986 by @tiangolo。 - 🔧 MkDocs のインスタントプレビューを更新。PR #11982 by @tiangolo。
- 🐛 ドキュメントプレビュースクリプトが mkdocs.yml ファイルを処理するように修正。PR #11984 by @tiangolo。
- 💡 カスタム Termynal の行の高さに関するコメントを追加。PR #11976 by @tiangolo。
- 👷 test-redistribute の alls-green を追加。PR #11974 by @tiangolo。
- 👷 ドキュメントの変更がない場合の docs-previews を処理するように更新。PR #11975 by @tiangolo。
- 🔨 スクリプト
deploy_docs_status.pyをリファクタリングし、末尾のスラッシュの有無に関わらずデプロイ URL を考慮に入れる。PR #11965 by @tiangolo。 - 🔒️ deploy-docs アクションの権限を更新。PR #11964 by @tiangolo。
- 👷🏻 PR にデプロイドキュメントのステータスとプレビューリンクを追加。PR #11961 by @tiangolo。
- 🔧 最新の設定とプラグインでドキュメント設定を更新。PR #11953 by @tiangolo。
- 🔇 Trio の attrs からの警告を無視。PR #11949 by @tiangolo。
0.112.0¶
破壊的変更¶
概要¶
インストール方法
pip install "fastapi[standard]"
その他の変更¶
- これにより、CLI を次のように呼び出すことができます。
python -m fastapi
- そして
fastapi-cli[standard] >=0.0.5にアップグレードされます。
技術的な詳細¶
これまでは、fastapi には Uvicorn や fastapi-cli など、標準の依存関係が含まれていました。
そして fastapi-slim にはそれらの標準依存関係は含まれていませんでした。
現在、fastapi には、pip install "fastapi[standard]" でインストールしない限り、これらの標準依存関係は含まれていません。
以前は pip install fastapi をインストールしていましたが、現在では standard オプションの依存関係を含める必要があります(これらのいずれかを除外したい場合を除く):pip install "fastapi[standard]"。
この変更は、デフォルトで標準のオプション依存関係がインストールされることが一部のユーザーにとって不便であり、代わりに fastapi-slim をインストールすることが実現可能な解決策ではなかったためです。
ここで議論されています: #11522 およびここで: #11525
ドキュメント¶
- ✏️ ドキュメントのタイプミスを修正。PR #11926 by @jianghuyiyuan。
- 📝 管理ドキュメントを調整。PR #11918 by @tiangolo。
- 🚚 GitHub リンクを tiangolo/fastapi から fastapi/fastapi に変更。PR #11913 by @tiangolo。
- 📝 FastAPI チームとプロジェクト管理に関するドキュメントを追加。PR #11908 by @tiangolo。
- 📝 ドキュメントのメインメニューを再構成。PR #11904 by @tiangolo。
- 📝 Speakeasy URL を更新。PR #11871 by @ndimares。
翻訳¶
- 🌐
docs/docs/alternatives.mdのポルトガル語翻訳を更新。PR #11931 by @ceb10n。 - 🌐
docs/docs/tutorial/dependencies/sub-dependencies.mdのロシア語翻訳を追加。PR #10515 by @AlertRED。 - 🌐
docs/docs/advanced/response-change-status-code.mdのポルトガル語翻訳を追加。PR #11863 by @ceb10n。 - 🌐
docs/docs/reference/background.mdのポルトガル語翻訳を追加。PR #11849 by @lucasbalieiro。 - 🌐
docs/docs/tutorial/dependencies/dependencies-with-yield.mdのポルトガル語翻訳を追加。PR #11848 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/reference/apirouter.mdのポルトガル語翻訳を追加。PR #11843 by @lucasbalieiro。
内部¶
- 🔧 スポンサーを更新: liblab を追加。PR #11934 by @tiangolo。
- 👷 GitHub Action の label-approved 権限を更新。PR #11933 by @tiangolo。
- 👷 ドキュメントデプロイ URL をコメントし、トークンを更新するように GitHub Action をリファクタリング。PR #11925 by @tiangolo。
- 👷 GitHub Actions のトークンを更新。PR #11924 by @tiangolo。
- 👷 ドキュメントのデプロイ URL をコメントするためにトークン権限を更新。PR #11917 by @tiangolo。
- 👷 GitHub Actions のトークン権限を更新。PR #11915 by @tiangolo。
- 👷 GitHub Actions のトークン使用状況を更新。PR #11914 by @tiangolo。
- 👷 ラベル
approved-1で翻訳を通知するように GitHub Action を更新。PR #11907 by @tiangolo。 - 🔧 スポンサーを更新、Reflex を削除。PR #11875 by @tiangolo。
- 🔧 スポンサーを更新: TalkPython を削除。PR #11861 by @tiangolo。
- 🔨 ドキュメントの Termynal スクリプトを更新し、ローカル開発では行番号を含まないようにする。PR #11854 by @tiangolo。
0.111.1¶
アップグレード¶
- ➖ デフォルトの依存関係から
orjsonとujsonを削除。PR #11842 by @tiangolo。- これらの依存関係は、
pip install "fastapi[all]"でインストールすると引き続きインストールされます。しかし、pip install fastapiには含まれていません。
- これらの依存関係は、
- 📝 Swagger-UI リンクを可能な限り最新バージョンを使用するように復元。PR #11459 by @UltimateLobster。
ドキュメント¶
- ✏️
docs/en/docs/fastapi-cli.mdの言い回しを修正。PR #11716 by @alejsdev。 - 📝 すべてのドキュメントで Hypercorn リンクを更新。PR #11744 by @kittydoor。
- 📝 Starlette から FastAPI への Ariadne 参照でドキュメントを更新。PR #11797 by @DamianCzajkowski。
- 📝 fastapi 計測の外部リンクを更新。PR #11317 by @softwarebloat。
- ✏️ alembic の例リポジトリへのドキュメント内のリンクを修正。PR #11628 by @augiwan。
- ✏️
docs/en/docs/fastapi-cli.mdを更新。PR #11715 by @alejsdev。 - 📝 外部リンクを更新。PR #11500 by @devon2018。
- 📝 外部リンクを追加: Tutorial de FastAPI, ¿el mejor framework de Python?。PR #11618 by @EduardoZepeda。
- 📝
docs/en/docs/tutorial/body-multiple-params.mdのタイプミスを修正。PR #11698 by @mwb-u。 - 📝 外部リンクを追加: Deploy a Serverless FastAPI App with Neon Postgres and AWS App Runner at any scale。PR #11633 by @ananis25。
- 📝
security/first-steps.mdを更新。PR #11674 by @alejsdev。 - 📝
security/first-steps.mdを更新。PR #11673 by @alejsdev。 - 📝
path-params-numeric-validations.mdのメモを更新。PR #11672 by @alejsdev。 - 📝
AnnotatedとQuery()パラメーターに関する入門ドキュメントを調整。PR #11664 by @tiangolo。 - 📝 JWT 認証ドキュメントを更新し、pyhon-jose の代わりに PyJWT を使用するようにする。PR #11589 by @estebanx64。
- 📝 ドキュメントを更新。PR #11603 by @alejsdev。
- ✏️ タイプミスを修正: すべての 're-use' を 'reuse' に変換。PR #11598 by @hasansezertasan。
- ✏️
fastapi/applications.pyのタイプミスを修正。PR #11593 by @petarmaric。 - ✏️
fastapi-cli.mdのリンクを修正。PR #11524 by @svlandeg。
翻訳¶
- 🌐
docs/docs/how-to/graphql.mdのスペイン語翻訳を追加。PR #11697 by @camigomezdev。 - 🌐
docs/docs/reference/index.mdのポルトガル語翻訳を追加。PR #11840 by @lucasbalieiro。 - 🌐 ドイツ語翻訳のリンクを修正。PR #11836 by @anitahammer。
- 🌐
docs/docs/tutorial/dependencies/sub-dependencies.mdのポルトガル語翻訳を追加。PR #11792 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/tutorial/request-forms.mdのトルコ語翻訳を追加。PR #11553 by @hasansezertasan。 - 🌐
docs/docs/reference/exceptions.mdのポルトガル語翻訳を追加。PR #11834 by @lucasbalieiro。 - 🌐
docs/docs/tutorial/dependencies/global-dependencies.mdのポルトガル語翻訳を追加。PR #11826 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/how-to/general.mdのポルトガル語翻訳を追加。PR #11825 by @lucasbalieiro。 - 🌐
docs/docs/advanced/async-tests.mdのポルトガル語翻訳を追加。PR #11808 by @ceb10n。 - 🌐
docs/docs/tutorial/first-steps.mdのウクライナ語翻訳を追加。PR #11809 by @vkhoroshchak。 - 🌐
docs/docs/tutorial/dependencies/dependencies-in-path-operation-operators.mdのポルトガル語翻訳を追加。PR #11804 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/fastapi-cli.mdの中国語翻訳を追加。PR #11786 by @logan2d5。 - 🌐
docs/docs/advanced/openapi-webhooks.mdのポルトガル語翻訳を追加。PR #11791 by @ceb10n。 - 🌐
docs/tutorial/security/oauth2-jwt.mdの中国語翻訳を更新。PR #11781 by @logan2d5。 - 📝
docs/docs/async.mdのフランス語翻訳で画像が不足しているのを修正。PR #11787 by @pe-brian。 - 🌐
docs/docs/advanced/advanced-dependencies.mdのポルトガル語翻訳を追加。PR #11775 by @ceb10n。 - 🌐
docs/docs/tutorial/dependencies/classes-as-dependencies.mdのポルトガル語翻訳を追加。PR #11768 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/advanced/additional-status-codes.mdのポルトガル語翻訳を追加。PR #11753 by @ceb10n。 - 🌐
docs/docs/tutorial/dependencies/index.mdのポルトガル語翻訳を追加。PR #11757 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/advanced/settings.mdのポルトガル語翻訳を追加。PR #11739 by @Joao-Pedro-P-Holanda。 - 🌐
docs/docs/learn/index.mdのフランス語翻訳を追加。PR #11712 by @benjaminvandammeholberton。 - 🌐
docs/docs/how-to/index.mdのポルトガル語翻訳を追加。PR #11731 by @vhsenna。 - 🌐
docs/docs/advanced/additional-responses.mdのポルトガル語翻訳を追加。PR #11736 by @ceb10n。 - 🌐
docs/docs/advanced/benchmarks.mdのポルトガル語翻訳を追加。PR #11713 by @ceb10n。 - 🌐
docs/docs/tutorial/response-status-code.mdの韓国語翻訳を修正。PR #11718 by @nayeonkinn。 - 🌐
docs/docs/tutorial/extra-data-types.mdの韓国語翻訳を追加。PR #11711 by @nayeonkinn。 - 🌐
docs/docs/tutorial/body-nested-models.mdの韓国語翻訳を修正。PR #11710 by @nayeonkinn。 - 🌐
docs/docs/advanced/fastapi-cli.mdのポルトガル語翻訳を追加。PR #11641 by @ayr-ton。 - 🌐
docs/docs/fastapi-people.mdの繁体字中国語翻訳を追加。PR #11639 by @hsuanchi。 - 🌐
docs/docs/advanced/index.mdのトルコ語翻訳を追加。PR #11606 by @hasansezertasan。 - 🌐
docs/docs/deployment/cloud.mdのトルコ語翻訳を追加。PR #11610 by @hasansezertasan。 - 🌐
docs/docs/advanced/security/index.mdのトルコ語翻訳を追加。PR #11609 by @hasansezertasan。 - 🌐
docs/docs/advanced/testing-websockets.mdのトルコ語翻訳を追加。PR #11608 by @hasansezertasan。 - 🌐
docs/docs/how-to/general.mdのトルコ語翻訳を追加。PR #11607 by @hasansezertasan。 - 🌐
docs/docs/advanced/templates.mdの中国語翻訳を更新。PR #11620 by @chaoless。 - 🌐
docs/docs/deployment/index.mdのトルコ語翻訳を追加。PR #11605 by @hasansezertasan。 - 🌐
docs/docs/tutorial/static-files.mdのトルコ語翻訳を追加。PR #11599 by @hasansezertasan。 - 🌐
docs/docs/fastapi-people.mdのポーランド語翻訳。PR #10196 by @isulim。 - 🌐
docs/docs/advanced/wsgi.mdのトルコ語翻訳を追加。PR #11575 by @hasansezertasan。 - 🌐
docs/docs/tutorial/cookie-params.mdのトルコ語翻訳を追加。PR #11561 by @hasansezertasan。 - 🌐
docs/docs/about/index.mdのロシア語翻訳を追加。PR #10961 by @s111d。 - 🌐
docs/docs/tutorial/sql-databases.mdの中国語翻訳を更新。PR #11539 by @chaoless。 - 🌐
docs/docs/how-to/configure-swagger-ui.mdの中国語翻訳を追加。PR #11501 by @Lucas-lyh。 - 🌐
/docs/advanced/security/http-basic-auth.mdの中国語翻訳を更新。PR #11512 by @nick-cjyx9。
内部¶
- ♻️ 内部ドキュメントスクリプトを簡素化。PR #11777 by @gitworkflows。
- 🔧 スポンサーを更新: Fine を追加。PR #11784 by @tiangolo。
- 🔧 スポンサーを調整: Kong URL。PR #11765 by @tiangolo。
- 🔧 スポンサーを調整: Kong URL。PR #11764 by @tiangolo。
- 🔧 スポンサーを更新、Stainless を追加。PR #11763 by @tiangolo。
- 🔧 スポンサーを更新、Zuplo を追加。PR #11729 by @tiangolo。
- 🔧 スポンサーリンクを更新: Coherence。PR #11730 by @tiangolo。
- 👥 FastAPI People を更新。PR #11669 by @tiangolo。
- 🔧 スポンサー Kong を追加。PR #11662 by @tiangolo。
- 👷 Smokeshow を更新、sync download artifact と smokeshow configs を修正。PR #11563 by @tiangolo。
- 👷 Smokeshow download artifact GitHub Action を更新。PR #11562 by @tiangolo。
- 👷 ドキュメントとカバレッジのために、アーティファクトをダウンロードおよびアップロードする GitHub アクションを v4 に更新。PR #11550 by @tamird。
- 👷 test-redistribute の CI を調整、slim に必要な環境変数を追加。PR #11549 by @tiangolo。
- 👥 FastAPI People を更新。PR #11511 by @tiangolo。
0.111.0¶
機能¶
- ✨ FastAPI CLI、新しい
fastapiコマンドを追加。PR #11522 by @tiangolo。- 新しいドキュメント: FastAPI CLI。
以下で試すことができます。
$ 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.
リファクタリング¶
- 🔧
fastapi-slimの設定とセットアップを追加。オプションの extrasfastapi-slim[standard]を含み、fastapiはデフォルトで同じstandardextras を含む。PR #11503 by @tiangolo。
0.110.3¶
ドキュメント¶
- 📝 Python バージョンへの参照を更新。FastAPI は現在のすべてのバージョンをサポートしており、バージョンを明示する必要はない。PR #11496 by @tiangolo。
- ✏️
fastapi/security/api_key.pyのタイプミスを修正。PR #11481 by @ch33zer。 - ✏️
security/http.pyのタイプミスを修正。PR #11455 by @omarmoo5。
翻訳¶
- 🌐
docs/benchmarks.mdの繁体字中国語翻訳を追加。PR #11484 by @KNChiu。 - 🌐
docs/docs/fastapi-people.mdの中国語翻訳を更新。PR #11476 by @billzhong。 - 🌐
docs/docs/how-to/index.mdとdocs/docs/how-to/general.mdの中国語翻訳を追加。PR #11443 by @billzhong。 - 🌐 cookie-params
docs/docs/tutorial/cookie-params.mdのスペイン語翻訳を追加。PR #11410 by @fabianfalon。
内部¶
- ⬆️ mkdocstrings[python] を 0.23.0 から 0.24.3 にバンプ。PR #11469 by @dependabot[bot]。
- 🔨 内部スクリプトを更新し、未使用のスクリプトを削除。PR #11499 by @tiangolo。
- 🔧 内部ビルドを Hatch から PDM に移行。PR #11498 by @tiangolo。
- ⬆️ MkDocs Material をアップグレードし、カードを再有効化。PR #11466 by @tiangolo。
- ⬆️ pillow を 10.2.0 から 10.3.0 にバンプ。PR #11403 by @dependabot[bot]。
- 🔧 dependabot の更新をグループ化解除。PR #11465 by @tiangolo。
0.110.2¶
修正¶
- 🐛 リスト型クエリパラメーターのサポートを修正、JSON エンコーディング Pydantic
UndefinedTypeを処理。PR #9929 by @arjwilliams。
リファクタリング¶
- ♻️
fastapi/openapi/models.pyの OpenAPI モデルで Pydantic 設定を簡素化。PR #10886 by @JoeTanto2。 - ✨ Pydantic の 2.7 の新しい非推奨 Field パラメーターのサポートを追加、バリデーションエラーレスポンスから URL を削除。PR #11461 by @tiangolo。
ドキュメント¶
- 📝
docs_src/extra_data_typesの例の型を修正。PR #10535 by @nilslindemann。 - 📝 UJSON への参照を更新。PR #11464 by @tiangolo。
- 📝 ドキュメントと翻訳リンク、タイプミス、フォーマットを調整。PR #11389 by @nilslindemann。
- 📝
docs/docs/async.mdのタイプミスを修正。PR #11400 by @fabianfalon。 - 📝 OpenAPI クライアント生成ドキュメントを更新し、
@hey-api/openapi-tsを使用するようにする。PR #11339 by @jordanshatford。
翻訳¶
- 🌐
docs/docs/index.htmlの中国語翻訳を更新。PR #11430 by @waketzheng。 - 🌐
docs/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.mdのロシア語翻訳を追加。PR #11411 by @anton2yakovlev。 - 🌐
learn/index.mdresources/index.mdhelp/index.mdabout/index.mdのポルトガル語翻訳を追加。PR #10807 by @nazarepiedady。 - 🌐 デプロイメントドキュメントのロシア語翻訳を更新。PR #11271 by @Lufa1u。
- 🌐
docs/docs/python-types.mdのベンガル語翻訳を追加。PR #11376 by @imtiaz101325。 - 🌐
docs/docs/tutorial/security/simple-oauth2.mdの韓国語翻訳を追加。PR #5744 by @KdHyeon0661。 - 🌐
docs/docs/help-fastapi.mdの韓国語翻訳を追加。PR #4139 by @kty4119。 - 🌐
docs/docs/advanced/events.mdの韓国語翻訳を追加。PR #5087 by @pers0n4。 - 🌐
docs/docs/tutorial/path-operation-configuration.mdの日本語翻訳を追加。PR #1954 by @SwftAlpc。 - 🌐
docs/docs/tutorial/request-forms-and-files.mdの日本語翻訳を追加。PR #1946 by @SwftAlpc。 - 🌐
docs/docs/tutorial/dependencies/dependencies-with-yield.mdのロシア語翻訳を追加。PR #10532 by @AlertRED。 - 🌐
docs/docs/tutorial/debugging.mdの韓国語翻訳を追加。PR #5695 by @JungWooGeon。
内部¶
0.110.1¶
修正¶
リファクタリング¶
- ♻️ mypy を更新。PR #11049 by @k0t3n。
- ♻️
fastapi/applications.pyの f-strings で文字列フォーマットを簡素化。PR #11335 by @igeni。
アップグレード¶
ドキュメント¶
- 📝 ドキュメントと翻訳リンクを調整し、古いドキュメント翻訳を削除。PR #11381 by @tiangolo。
- ✏️
fastapi/security/oauth2.pyのタイプミスを修正。PR #11368 by @shandongbinzhou。 - 📝 Pydantic ドキュメントへのリンクを新しいウェブサイトを指すように更新。PR #11328 by @alejsdev。
- ✏️
docs/en/docs/tutorial/extra-models.mdのタイプミスを修正。PR #11329 by @alejsdev。 - 📝
project-generation.mdを更新。PR #11326 by @alejsdev。 - 📝 外部リンクを更新。PR #11327 by @alejsdev。
- 🔥 他の i18n ページで Pydantic のベンチマークへのリンクを削除。PR #11224 by @hirotoKirimaru。
- ✏️ docstring のタイプミスを修正。PR #11295 by @davidhuser。
- 🛠️ ドキュメントの Node.js スクリプトを改善し、TypeScript クライアントを生成するようにする。PR #11293 by @alejsdev。
- 📝 テストの例を更新し、「inexistent」を「nonexistent」に置き換える。PR #11220 by @Homesteady。
- 📝 すべてのドキュメントで
python-multipartGitHub リンクをhttps://andrew-d.github.io/python-multipart/からhttps://github.com/Kludex/python-multipartに更新。PR #11239 by @joshjhans。
翻訳¶
- 🌐
docs/docs/tutorial/response-status-code.mdのドイツ語翻訳を追加。PR #10357 by @nilslindemann。 - 🌐
docs/docs/tutorial/query-params.mdの中国語翻訳を更新。PR #3480 by @jaystone776。 - 🌐
docs/docs/tutorial/body.mdの中国語翻訳を更新。PR #3481 by @jaystone776。 - 🌐
docs/docs/tutorial/path-params.mdの中国語翻訳を更新。PR #3479 by @jaystone776。 - 🌐
docs/tutorial/body-fields.mdの中国語翻訳を更新。PR #3496 by @jaystone776。 - 🌐
docs/tutorial/extra-models.mdの中国語翻訳を更新。PR #3497 by @jaystone776。 - 🌐
docs/docs/tutorial/metadata.mdの日本語翻訳を追加。PR #2667 by @tokusumi。 - 🌐
docs/docs/contributing.mdのドイツ語翻訳を追加。PR #10487 by @nilslindemann。 - 🌐
docs/docs/tutorial/query-params.mdの日本語翻訳を更新。PR #10808 by @urushio。 - 🌐
docs/docs/tutorial/security/get-current-user.mdの中国語翻訳を更新。PR #3842 by @jaystone776。 - 🌐
docs/docs/advanced/openapi-callbacks.mdの中国語翻訳を追加。PR #3825 by @jaystone776。 - 🌐
docs/docs/advanced/extending-openapi.mdの中国語翻訳を追加。PR #3823 by @jaystone776。 - 🌐
docs/docs/advanced/testing-dependencies.mdの中国語翻訳を追加。PR #3819 by @jaystone776。 - 🌐
docs/docs/advanced/custom-request-and-route.mdの中国語翻訳を追加。PR #3816 by @jaystone776。 - 🌐
docs/docs/external-links.mdの中国語翻訳を追加。PR #3833 by @jaystone776。 - 🌐
docs/docs/advanced/templates.mdの中国語翻訳を追加。PR #3812 by @jaystone776。 - 🌐
docs/docs/advanced/sub-applications.mdの中国語翻訳を追加。PR #3811 by @jaystone776。 - 🌐
docs/docs/advanced/async-sql-databases.mdの中国語翻訳を追加。PR #3805 by @jaystone776。 - 🌐
docs/docs/advanced/middleware.mdの中国語翻訳を追加。PR #3804 by @jaystone776。 - 🌐
docs/docs/advanced/dataclasses.mdの中国語翻訳を追加。PR #3803 by @jaystone776。 - 🌐
docs/docs/advanced/using-request-directly.mdの中国語翻訳を追加。PR #3802 by @jaystone776。 - 🌐
docs/docs/advanced/security/http-basic-auth.mdの中国語翻訳を追加。PR #3801 by @jaystone776。 - 🌐
docs/docs/advanced/security/oauth2-scopes.mdの中国語翻訳を追加。PR #3800 by @jaystone776。 - 🌐
docs/docs/tutorial/cookie-params.mdの中国語翻訳を更新。PR #3486 by @jaystone776。 - 🌐
docs/docs/tutorial/header-params.mdの中国語翻訳を更新。PR #3487 by @jaystone776。 - 🌐
docs/tutorial/response-status-code.mdの中国語翻訳を更新。PR #3498 by @jaystone776。 - 🌐
docs/docs/tutorial/security/first-steps.mdのドイツ語翻訳を追加。PR #10432 by @nilslindemann。 - 🌐
docs/docs/advanced/events.mdのドイツ語翻訳を追加。PR #10693 by @nilslindemann。 - 🌐
docs/docs/deployment/cloud.mdのドイツ語翻訳を追加。PR #10746 by @nilslindemann。 - 🌐
docs/docs/advanced/behind-a-proxy.mdのドイツ語翻訳を追加。PR #10675 by @nilslindemann。 - 🌐
docs/docs/help-fastapi.mdのドイツ語翻訳を追加。PR #10455 by @nilslindemann。 - 🌐
docs/docs/python-types.mdのドイツ語翻訳を更新。PR #10287 by @nilslindemann。 - 🌐
docs/docs/tutorial/path-params.mdのドイツ語翻訳を追加。PR #10290 by @nilslindemann。 - 🌐
docs/docs/tutorial/handling-errors.mdのドイツ語翻訳を追加。PR #10379 by @nilslindemann。 - 🌐
docs/docs/index.mdのドイツ語翻訳を更新。PR #10283 by @nilslindemann。 - 🌐
docs/docs/advanced/security/http-basic-auth.mdのドイツ語翻訳を追加。PR #10651 by @nilslindemann。 - 🌐
docs/docs/tutorial/bigger-applications.mdのドイツ語翻訳を追加。PR #10554 by @nilslindemann。 - 🌐
docs/docs/advanced/path-operation-advanced-configuration.mdのドイツ語翻訳を追加。PR #10612 by @nilslindemann。 - 🌐
docs/docs/tutorial/static-files.mdのドイツ語翻訳を追加。PR #10584 by @nilslindemann。 - 🌐
docs/docs/tutorial/security/oauth2-jwt.mdのドイツ語翻訳を追加。PR #10522 by @nilslindemann。 - 🌐
docs/docs/tutorial/response-model.mdのドイツ語翻訳を追加。PR #10345 by @nilslindemann。 - 🌐
docs/docs/tutorial/extra-models.mdのドイツ語翻訳を追加。PR #10351 by @nilslindemann。 - 🌐
docs/docs/tutorial/body-updates.mdのドイツ語翻訳を追加。PR #10396 by @nilslindemann。 - 🌐
docs/docs/alternatives.mdのドイツ語翻訳を追加。PR #10855 by @nilslindemann。 - 🌐
docs/docs/advanced/templates.mdのドイツ語翻訳を追加。PR #10678 by @nilslindemann。 - 🌐
docs/docs/advanced/security/oauth2-scopes.mdのドイツ語翻訳を追加。PR #10643 by @nilslindemann。 - 🌐
docs/docs/advanced/async-tests.mdのドイツ語翻訳を追加。PR #10708 by @nilslindemann。 - 🌐
docs/docs/tutorial/metadata.mdのドイツ語翻訳を追加。PR #10581 by @nilslindemann。 - 🌐
docs/docs/tutorial/testing.mdのドイツ語翻訳を追加。PR #10586 by @nilslindemann。 - 🌐
docs/docs/tutorial/schema-extra-example.mdのドイツ語訳を追加しました。PR #10597 by @nilslindemann。 - 🌐
docs/docs/advanced/index.mdのドイツ語訳を追加しました。PR #10611 by @nilslindemann。 - 🌐
docs/docs/advanced/response-directly.mdのドイツ語訳を追加しました。PR #10618 by @nilslindemann。 - 🌐
docs/docs/advanced/additional-responses.mdのドイツ語訳を追加しました。PR #10626 by @nilslindemann。 - 🌐
docs/docs/advanced/response-cookies.mdのドイツ語訳を追加しました。PR #10627 by @nilslindemann。 - 🌐
docs/docs/advanced/response-headers.mdのドイツ語訳を追加しました。PR #10628 by @nilslindemann。 - 🌐
docs/docs/advanced/response-change-status-code.mdのドイツ語訳を追加しました。PR #10632 by @nilslindemann。 - 🌐
docs/docs/advanced/advanced-dependencies.mdのドイツ語訳を追加しました。PR #10633 by @nilslindemann。 - 🌐
docs/docs/advanced/security/index.mdのドイツ語訳を追加しました。PR #10635 by @nilslindemann。 - 🌐
docs/docs/advanced/using-request-directly.mdのドイツ語訳を追加しました。PR #10653 by @nilslindemann。 - 🌐
docs/docs/advanced/dataclasses.mdのドイツ語訳を追加しました。PR #10667 by @nilslindemann。 - 🌐
docs/docs/advanced/middleware.mdのドイツ語訳を追加しました。PR #10668 by @nilslindemann。 - 🌐
docs/docs/advanced/sub-applications.mdのドイツ語訳を追加しました。PR #10671 by @nilslindemann。 - 🌐
docs/docs/advanced/websockets.mdのドイツ語訳を追加しました。PR #10687 by @nilslindemann。 - 🌐
docs/docs/advanced/testing-websockets.mdのドイツ語訳を追加しました。PR #10703 by @nilslindemann。 - 🌐
docs/docs/advanced/testing-events.mdのドイツ語訳を追加しました。PR #10704 by @nilslindemann。 - 🌐
docs/docs/advanced/testing-dependencies.mdのドイツ語訳を追加しました。PR #10706 by @nilslindemann。 - 🌐
docs/docs/advanced/openapi-callbacks.mdのドイツ語訳を追加しました。PR #10710 by @nilslindemann。 - 🌐
docs/docs/advanced/settings.mdのドイツ語訳を追加しました。PR #10709 by @nilslindemann。 - 🌐
docs/docs/advanced/wsgi.mdのドイツ語訳を追加しました。PR #10713 by @nilslindemann。 - 🌐
docs/docs/deployment/index.mdのドイツ語訳を追加しました。PR #10733 by @nilslindemann。 - 🌐
docs/docs/deployment/https.mdのドイツ語訳を追加しました。PR #10737 by @nilslindemann。 - 🌐
docs/docs/deployment/manually.mdのドイツ語訳を追加しました。PR #10738 by @nilslindemann。 - 🌐
docs/docs/deployment/concepts.mdのドイツ語訳を追加しました。PR #10744 by @nilslindemann。 - 🌐
docs/docs/features.mdのドイツ語訳を更新しました。PR #10284 by @nilslindemann。 - 🌐
docs/docs/deployment/server-workers.mdのドイツ語訳を追加しました。PR #10747 by @nilslindemann。 - 🌐
docs/docs/deployment/docker.mdのドイツ語訳を追加しました。PR #10759 by @nilslindemann。 - 🌐
docs/docs/how-to/index.mdのドイツ語訳を追加しました。PR #10769 by @nilslindemann。 - 🌐
docs/docs/how-to/general.mdのドイツ語訳を追加しました。PR #10770 by @nilslindemann。 - 🌐
docs/docs/how-to/graphql.mdのドイツ語訳を追加しました。PR #10788 by @nilslindemann。 - 🌐
docs/docs/how-to/custom-request-and-route.mdのドイツ語訳を追加しました。PR #10789 by @nilslindemann。 - 🌐
docs/docs/how-to/conditional-openapi.mdのドイツ語訳を追加しました。PR #10790 by @nilslindemann。 - 🌐
docs/docs/how-to/separate-openapi-schemas.mdのドイツ語訳を追加しました。PR #10796 by @nilslindemann。 - 🌐
docs/docs/how-to/configure-swagger-ui.mdのドイツ語訳を追加しました。PR #10804 by @nilslindemann。 - 🌐
docs/docs/how-to/custom-docs-ui-assets.mdのドイツ語訳を追加しました。PR #10803 by @nilslindemann。 - 🌐
docs/docs/reference/parameters.mdのドイツ語訳を追加しました。PR #10814 by @nilslindemann。 - 🌐
docs/docs/reference/status.mdのドイツ語訳を追加しました。PR #10815 by @nilslindemann。 - 🌐
docs/docs/reference/uploadfile.mdのドイツ語訳を追加しました。PR #10816 by @nilslindemann。 - 🌐
docs/docs/reference/exceptions.mdのドイツ語訳を追加しました。PR #10817 by @nilslindemann。 - 🌐
docs/docs/reference/dependencies.mdのドイツ語訳を追加しました。PR #10818 by @nilslindemann。 - 🌐
docs/docs/reference/apirouter.mdのドイツ語訳を追加しました。PR #10819 by @nilslindemann。 - 🌐
docs/docs/reference/websockets.mdのドイツ語訳を追加しました。PR #10822 by @nilslindemann。 - 🌐
docs/docs/reference/httpconnection.mdのドイツ語訳を追加しました。PR #10823 by @nilslindemann。 - 🌐
docs/docs/reference/response.mdのドイツ語訳を追加しました。PR #10824 by @nilslindemann。 - 🌐
docs/docs/reference/middleware.mdのドイツ語訳を追加しました。PR #10837 by @nilslindemann。 - 🌐
docs/docs/reference/openapi/*.mdのドイツ語訳を追加しました。PR #10838 by @nilslindemann。 - 🌐
docs/docs/reference/security/index.mdのドイツ語訳を追加しました。PR #10839 by @nilslindemann。 - 🌐
docs/docs/reference/staticfiles.mdのドイツ語訳を追加しました。PR #10841 by @nilslindemann。 - 🌐
docs/docs/reference/testclient.mdのドイツ語訳を追加しました。PR #10843 by @nilslindemann。 - 🌐
docs/docs/project-generation.mdのドイツ語訳を追加しました。PR #10851 by @nilslindemann。 - 🌐
docs/docs/history-design-future.mdのドイツ語訳を追加しました。PR #10865 by @nilslindemann。 - 🌐
docs/docs/tutorial/dependencies/dependencies-with-yield.mdのドイツ語訳を追加しました。PR #10422 by @nilslindemann。 - 🌐
docs/docs/tutorial/dependencies/global-dependencies.mdのドイツ語訳を追加しました。PR #10420 by @nilslindemann。 - 🌐
docs/docs/fastapi-people.mdのドイツ語訳を更新しました。PR #10285 by @nilslindemann。 - 🌐
docs/docs/tutorial/dependencies/sub-dependencies.mdのドイツ語訳を追加しました。PR #10409 by @nilslindemann。 - 🌐
docs/docs/tutorial/security/index.mdのドイツ語訳を追加しました。PR #10429 by @nilslindemann。 - 🌐
docs/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.mdのドイツ語訳を追加しました。PR #10411 by @nilslindemann。 - 🌐
docs/docs/tutorial/extra-data-types.mdのドイツ語訳を追加しました。PR #10534 by @nilslindemann。 - 🌐
docs/docs/tutorial/security/simple-oauth2.mdのドイツ語訳を追加しました。PR #10504 by @nilslindemann。 - 🌐
docs/docs/tutorial/security/get-current-user.mdのドイツ語訳を追加しました。PR #10439 by @nilslindemann。 - 🌐
docs/docs/tutorial/request-forms-and-files.mdのドイツ語訳を追加しました。PR #10368 by @nilslindemann。 - 🌐
docs/docs/tutorial/encoder.mdのドイツ語訳を追加しました。PR #10385 by @nilslindemann。 - 🌐
docs/docs/tutorial/request-forms.mdのドイツ語訳を追加しました。PR #10361 by @nilslindemann。 - 🌐
docs/docs/deployment/versions.mdのドイツ語訳を追加しました。PR #10491 by @nilslindemann。 - 🌐
docs/docs/async.mdのドイツ語訳を追加しました。PR #10449 by @nilslindemann。 - 🌐
docs/docs/tutorial/cookie-params.mdのドイツ語訳を追加しました。PR #10323 by @nilslindemann。 - 🌐
docs/docs/tutorial/dependencies/classes-as-dependencies.mdのドイツ語訳を追加しました。PR #10407 by @nilslindemann。 - 🌐
docs/docs/tutorial/dependencies/index.mdのドイツ語訳を追加しました。PR #10399 by @nilslindemann。 - 🌐
docs/docs/tutorial/header-params.mdのドイツ語訳を追加しました。PR #10326 by @nilslindemann。 - 🌐
docs/docs/tutorial/path-params-numeric-validations.mdのドイツ語訳を追加しました。PR #10307 by @nilslindemann。 - 🌐
docs/docs/tutorial/query-params-str-validations.mdのドイツ語訳を追加しました。PR #10304 by @nilslindemann。 - 🌐
docs/docs/tutorial/request-files.mdのドイツ語訳を追加しました。PR #10364 by @nilslindemann。 - :globe_with_meridians:
docs/docs/advanced/templates.mdのポルトガル語訳を追加しました。PR #11338 by @SamuelBFavarin。 - 🌐
docs/docs/learn/index.mdのベンガル語訳を追加しました。PR #11337 by @imtiaz101325。 - 🌐
docs/docs/index.mdの韓国語訳を修正しました。PR #11296 by @choi-haram。 - 🌐
docs/docs/about/index.mdの韓国語訳を追加しました。PR #11299 by @choi-haram。 - 🌐
docs/docs/advanced/index.mdの韓国語訳を追加しました。PR #9613 by @ElliottLarsen。 - 🌐
docs/docs/how-to/extending-openapi.mdのドイツ語訳を追加しました。PR #10794 by @nilslindemann。 - 🌐
docs/docs/tutorial/metadata.mdの中国語訳を更新しました。PR #11286 by @jackleeio。 - 🌐
docs/docs/contributing.mdの中国語訳を更新しました。PR #10887 by @Aruelius。 - 🌐
docs/docs/fastapi-people.mdのアゼルバイジャン語訳を追加しました。PR #11195 by @vusallyv。 - 🌐
docs/docs/tutorial/dependencies/index.mdのロシア語訳を追加しました。PR #11223 by @kohiry。 - 🌐
docs/docs/tutorial/query-params.mdの中国語訳を更新しました。PR #11242 by @jackleeio。 - 🌐
docs/learn/index.mdのアゼルバイジャン語訳を追加しました。PR #11192 by @vusallyv。
Internal¶
- 👥 FastAPI People を更新しました。PR #11387 by @tiangolo。
- ⬆ actions/cache を 3 から 4 にアップデートしました。PR #10988 by @dependabot[bot]。
- ⬆ pypa/gh-action-pypi-publish を 1.8.11 から 1.8.14 にアップデートしました。PR #11318 by @dependabot[bot]。
- ⬆ pillow を 10.1.0 から 10.2.0 にアップデートしました。PR #11011 by @dependabot[bot]。
- ⬆ black を 23.3.0 から 24.3.0 にアップデートしました。PR #11325 by @dependabot[bot]。
- 👷 週に一度月曜日にテストを実行する cron を追加しました。PR #11377 by @estebanx64。
- ➕ mkdocs-markdownextradata-plugin を mkdocs-macros-plugin に置き換えました。PR #11383 by @tiangolo。
- 👷 MkDocs Material の問題が解決されるまで、MkDocs insiders ソーシャルプラグインを無効化しました。PR #11373 by @tiangolo。
- 👷 MkDocs Insiders のインストールと使用のロジックを修正しました。PR #11372 by @tiangolo。
- 👷 公開時に Python パッケージキャッシュを使用しないようにしました。PR #11366 by @tiangolo。
- 👷 再配布用 (例: Linux ディストリビューション) の sdist をテストする CI を追加しました。PR #11365 by @tiangolo。
- 👷 build-docs GitHub Action のパスフィルターを更新しました。PR #11354 by @tiangolo。
- 🔧 Ruff 設定を更新し、SQLModel からの追加の無視ルールを追加しました。PR #11353 by @tiangolo。
- ⬆️ Ruff v0.2.0 の設定をアップグレードしました。PR #11075 by @charliermarsh。
- 🔧 スポンサーを更新し、MongoDB を追加しました。PR #11346 by @tiangolo。
- ⬆ dorny/paths-filter を 2 から 3 にアップデートしました。PR #11028 by @dependabot[bot]。
- ⬆ dawidd6/action-download-artifact を 3.0.0 から 3.1.4 にアップデートしました。PR #11310 by @dependabot[bot]。
- ♻️ FastAPI People の計算をリファクタリングし、コメント日ではなくディスカッション日に基づいて3ヶ月、6ヶ月、1年を含めるようにしました。PR #11304 by @tiangolo。
- 👥 FastAPI People を更新しました。PR #11228 by @tiangolo。
- 🔥 Jina AI QA Bot をドキュメントから削除しました。PR #11268 by @nan-wang。
- 🔧 スポンサーを更新し、Jina を削除し、Powens を削除し、TestDriven.io を移動しました。PR #11213 by @tiangolo。
0.110.0¶
破壊的変更¶
- 🐛 内部サーバーエラーによるメモリ増加の未処理を修正し、通常の Python と同様に再 raise するように
yieldとexceptを伴う依存関係をリファクタリングしました。PR #11191 by @tiangolo。- これは、
yieldを伴う依存関係を使用し、その依存関係でexceptを使用し、再 raise しなかった場合に(わずかに)破壊的な変更となります。 - @rushilsrivastava から、サーバーが未処理の例外で内部サーバーエラーを生成した場合にメモリリークが発生し、その時点で割り当てられたメモリが解放されないと報告されました。
- 新しいドキュメントを読んでください:
yieldとexceptを伴う依存関係。
- これは、
要するに、次のような依存関係があった場合
def my_dep():
try:
yield
except SomeException:
pass
今度は、通常の Python と同様に、except の後に再 raise する必要があります。
def my_dep():
try:
yield
except SomeException:
raise
ドキュメント¶
- ✏️
docs/docs/の軽微な誤植を修正しました。PR #11126 by @KaniKim。 - ✏️
fastapi/applications.pyの軽微な誤植を修正しました。PR #11099 by @JacobHayes。
翻訳¶
- 🌐
docs/docs/reference/background.mdのドイツ語訳を追加しました。PR #10820 by @nilslindemann。 - 🌐
docs/docs/reference/templating.mdのドイツ語訳を追加しました。PR #10842 by @nilslindemann。 - 🌐
docs/docs/external-links.mdのドイツ語訳を追加しました。PR #10852 by @nilslindemann。 - 🌐
docs/docs/tutorial/query-params.mdのトルコ語訳を更新しました。PR #11162 by @hasansezertasan。 - 🌐
docs/docs/reference/encoders.mdのドイツ語訳を追加しました。PR #10840 by @nilslindemann。 - 🌐
docs/docs/reference/responses.mdのドイツ語訳を追加しました。PR #10825 by @nilslindemann。 - 🌐
docs/docs/reference/request.mdのドイツ語訳を追加しました。PR #10821 by @nilslindemann。 - 🌐
docs/docs/tutorial/query-params.mdのトルコ語訳を追加しました。PR #11078 by @emrhnsyts。 - 🌐
docs/docs/reference/fastapi.mdのドイツ語訳を追加しました。PR #10813 by @nilslindemann。 - 🌐
docs/docs/newsletter.mdのドイツ語訳を追加しました。PR #10853 by @nilslindemann。 - 🌐
docs/docs/learn/index.mdの繁体中国語訳を追加しました。PR #11142 by @hsuanchi。 - 🌐
/docs/docs/tutorial/dependencies/global-dependencies.mdの韓国語訳を追加しました。PR #11123 by @riroan。 - 🌐
/docs/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.mdの韓国語訳を追加しました。PR #11124 by @riroan。 - 🌐
/docs/docs/tutorial/schema-extra-example.mdの韓国語訳を追加しました。PR #11121 by @KaniKim。 - 🌐
/docs/docs/tutorial/body-fields.mdの韓国語訳を追加しました。PR #11112 by @KaniKim。 - 🌐
/docs/docs/tutorial/cookie-params.mdの韓国語訳を追加しました。PR #11118 by @riroan。 - 🌐
/docs/docs/dependencies/index.mdの韓国語訳を更新しました。PR #11114 by @KaniKim。 - 🌐
/docs/docs/deployment/docker.mdの韓国語訳を更新しました。PR #11113 by @KaniKim。 - 🌐
docs/docs/tutorial/first-steps.mdのトルコ語訳を更新しました。PR #11094 by @hasansezertasan。 - 🌐
docs/docs/advanced/security/index.mdのスペイン語訳を追加しました。PR #2278 by @Xaraxx。 - 🌐
docs/docs/advanced/response-headers.mdのスペイン語訳を追加しました。PR #2276 by @Xaraxx。 - 🌐
docs/docs/deployment/index.mdおよび~/deployment/versions.mdのスペイン語訳を追加しました。PR #9669 by @pabloperezmoya。 - 🌐
docs/docs/benchmarks.mdのスペイン語訳を追加しました。PR #10928 by @pablocm83。 - 🌐
docs/docs/advanced/response-change-status-code.mdのスペイン語訳を追加しました。PR #11100 by @alejsdev。
0.109.2¶
アップグレード¶
翻訳¶
Internal¶
0.109.1¶
セキュリティ修正¶
- ⬆️ フォームデータと ReDos 攻撃を使用する際の脆弱性を修正するため、
python-multipartの最小バージョンを>=0.0.7にアップグレードしました。python-multipartをアップグレードするだけでも構いません。
アドバイザリ: Content-Type ヘッダー ReDoS で詳細をご確認ください。
機能¶
リファクタリング¶
- ✅ FastAPI テストスイートを実行する他のツールとの互換性のため、重複する操作 ID 生成のテストをリファクタリングしました。PR #10876 by @emmettbutler。
- ♻️
fastapi/utils.pyの f-strings で文字列フォーマットを簡素化しました。PR #10576 by @eukub。 - 🔧 Ruff の設定が意図せず mccabe の複雑度チェックを有効化・無効化していたのを修正しました。PR #10893 by @jiridanek。
- ✅ Starlette での修正後、
tests/test_tutorial/test_header_params/test_tutorial003.pyのテストを再有効化しました。PR #10904 by @ooknimm。
ドキュメント¶
- 📝
help-fastapi.mdの文言を微調整しました。PR #11040 by @tiangolo。 - 📝 プロキシの背後にあるドキュメントを微調整しました。PR #11038 by @tiangolo。
- 📝 外部リンク: FastAPI に SQLAlchemy を追加するための10のヒントを追加しました。PR #11036 by @Donnype。
- 📝 外部リンク: Flask から FastAPI への移行と逆のヒントを追加しました。PR #11029 by @jtemporal。
- 📝 古いチュートリアル (Peewee, Couchbase, encode/databases) を非推奨にしました。PR #10979 by @tiangolo。
- ✏️
fastapi/security/oauth2.pyの誤植を修正しました。PR #10972 by @RafalSkolasinski。 - 📝
docs/en/docs/tutorial/handling-errors.mdのHTTPExceptionの詳細を更新しました。PR #5418 by @papb。 - ✏️
docs/docs/tutorial/first-steps.mdのいくつかの微調整。PR #10959 by @nilslindemann。 - ✏️
docs/en/docs/advanced/async-tests.mdのリンク切れを修正しました。PR #10960 by @nilslindemann。 - ✏️ スペイン語のドキュメントの誤植を修正しました。PR #10957 by @jlopezlira。
- 📝 ライフスパン関数とイベントとの後方互換性に関する警告を追加しました。PR #10734 by @jacob-indigo。
- ✏️ 複数言語の
docs/tutorial/sql-databases.mdのリンク切れを修正しました。PR #10716 by @theoohoho。 - ✏️
external_links.ymlからリンク切れを削除しました。PR #10943 by @Torabek。 - 📝
url_forに関するより多くの情報を含むテンプレートドキュメントを更新しました。PR #5937 by @EzzEddin。 - 📝 セキュリティドキュメントの Token モデルの使用法を更新しました。PR #9313 by @piotrszacilowski。
- ✏️
docs/en/docs/tutorial/bigger-applications.mdのハイライトされた行を更新しました。PR #5490 by @papb。 - 📝 外部リンク: JWT を FastAPI で効果的に使用する方法を探る、を追加しました。PR #10212 by @aanchlia。
- 📝
docs/en/docs/tutorial/static-files.mdへのハイパーリンクを追加しました。PR #10243 by @hungtsetse。 - 📝 外部リンク: OpenTelemetry でトレーシングを追加し、Grafana Tempo でトレースを送信/表示する FastAPI サービスの計測を追加しました。PR #9440 by @softwarebloat。
- 📝
en/docs/contributing.mdのレビューと再編集。PR #10480 by @nilslindemann。 - 📝 外部リンク: FastAPI と Evidently を使用した ML サービス提供とモニタリングを追加しました。PR #9701 by @mnrozhkov。
- 📝 ドキュメントの言い回しを「have in mind」から「keep in mind」に変更しました。PR #10376 by @malicious。
- 📝 外部リンク: Jeny Sadadia によるトークを追加しました。PR #10265 by @JenySadadia。
- 📝
tutorial/bigger-applications.mdに場所情報を追加しました。PR #10552 by @nilslindemann。 - ✏️
docs/en/docs/advanced/path-operation-advanced-configuration.mdの Pydantic メソッド名を修正しました。PR #10826 by @ahmedabdou14。
翻訳¶
- 🌐
docs/docs/external-links.mdのスペイン語訳を追加しました。PR #10933 by @pablocm83。 - 🌐
docs/docs/tutorial/first-steps.md,docs/docs/tutorial/index.md,docs/docs/tutorial/path-params.md, およびdocs/docs/tutorial/query-params.mdの韓国語訳を更新しました。PR #4218 by @SnowSuno。 - 🌐
docs/docs/tutorial/dependencies/dependencies-with-yield.mdの中国語訳を追加しました。PR #10870 by @zhiquanchi。 - 🌐
docs/docs/deployment/concepts.mdの中国語訳を追加しました。PR #10282 by @xzmeng。 - 🌐
docs/docs/index.mdのアゼルバイジャン語訳を追加しました。PR #11047 by @aykhans。 - 🌐
docs/docs/tutorial/middleware.mdの韓国語訳を追加しました。PR #2829 by @JeongHyeongKim。 - 🌐
docs/docs/tutorial/body-nested-models.mdのドイツ語訳を追加しました。PR #10313 by @nilslindemann。 - 🌐
docs/docs/tutorial/middleware.mdのペルシャ語訳を追加しました。PR #9695 by @mojtabapaso。 - 🌐
docs/docs/index.mdのペルシャ語訳を更新しました。PR #10216 by @theonlykingpin。 - 🌐
docs/docs/tutorial/body-fields.mdのドイツ語訳を追加しました。PR #10310 by @nilslindemann。 - 🌐
docs/docs/tutorial/body.mdのドイツ語訳を追加しました。PR #10295 by @nilslindemann。 - 🌐
docs/docs/tutorial/body-multiple-params.mdのドイツ語訳を追加しました。PR #10308 by @nilslindemann。 - 🌐
docs/docs/tutorial/security/get-current-user.mdの日本語訳を追加しました。PR #2681 by @sh0nk。 - 🌐
docs/docs/advanced/advanced-dependencies.mdの中国語訳を追加しました。PR #3798 by @jaystone776。 - 🌐
docs/docs/advanced/events.mdの中国語訳を追加しました。PR #3815 by @jaystone776。 - 🌐
docs/docs/advanced/behind-a-proxy.mdの中国語訳を追加しました。PR #3820 by @jaystone776。 - 🌐
docs/docs/advanced/testing-events.mdの中国語訳を追加しました。PR #3818 by @jaystone776。 - 🌐
docs/docs/advanced/testing-websockets.mdの中国語訳を追加しました。PR #3817 by @jaystone776。 - 🌐
docs/docs/advanced/testing-database.mdの中国語訳を追加しました。PR #3821 by @jaystone776。 - 🌐
docs/docs/deployment/deta.mdの中国語訳を追加しました。PR #3837 by @jaystone776。 - 🌐
docs/docs/history-design-future.mdの中国語訳を追加しました。PR #3832 by @jaystone776。 - 🌐
docs/docs/project-generation.mdの中国語訳を追加しました。PR #3831 by @jaystone776。 - 🌐
docs/docs/deployment/docker.mdの中国語訳を追加しました。PR #10296 by @xzmeng。 - 🌐
docs/docs/features.mdのスペイン語訳を更新しました。PR #10884 by @pablocm83。 - 🌐
docs/docs/newsletter.mdのスペイン語訳を追加しました。PR #10922 by @pablocm83。 - 🌐
docs/docs/tutorial/background-tasks.mdの韓国語訳を追加しました。PR #5910 by @junah201。 - :globe_with_meridians:
docs/docs/alternatives.mdのトルコ語訳を追加しました。PR #10502 by @alperiox。 - 🌐
docs/docs/tutorial/dependencies/index.mdの韓国語訳を追加しました。PR #10989 by @KaniKim。 - 🌐
/docs/docs/tutorial/body.mdの韓国語訳を追加しました。PR #11000 by @KaniKim。 - 🌐
docs/docs/tutorial/schema-extra-example.mdのポルトガル語訳を追加しました。PR #4065 by @luccasmmg。 - 🌐
docs/docs/history-design-future.mdのトルコ語訳を追加しました。PR #11012 by @hasansezertasan。 - 🌐
docs/docs/resources/index.mdのトルコ語訳を追加しました。PR #11020 by @hasansezertasan。 - 🌐
docs/docs/how-to/index.mdのトルコ語訳を追加しました。PR #11021 by @hasansezertasan。 - 🌐
docs/docs/tutorial/query-params.mdのドイツ語訳を追加しました。PR #10293 by @nilslindemann。 - 🌐
docs/docs/benchmarks.mdのドイツ語訳を追加しました。PR #10866 by @nilslindemann。 - 🌐
docs/docs/learn/index.mdのトルコ語訳を追加しました。PR #11014 by @hasansezertasan。 - 🌐
docs/docs/tutorial/security/index.mdのペルシャ語訳を追加しました。PR #9945 by @mojtabapaso。 - 🌐
docs/docs/help/index.mdのトルコ語訳を追加しました。PR #11013 by @hasansezertasan。 - 🌐
docs/docs/about/index.mdのトルコ語訳を追加しました。PR #11006 by @hasansezertasan。 - 🌐
docs/docs/benchmarks.mdのトルコ語訳を更新しました。PR #11005 by @hasansezertasan。 - 🌐
docs/docs/index.mdのイタリア語訳を追加しました。PR #5233 by @matteospanio。 - 🌐
docs/docs/help/index.mdの韓国語訳を追加しました。PR #10983 by @KaniKim。 - 🌐
docs/docs/features.mdの韓国語訳を追加しました。PR #10976 by @KaniKim。 - 🌐
docs/docs/tutorial/security/get-current-user.mdの韓国語訳を追加しました。PR #5737 by @KdHyeon0661。 - 🌐
docs/docs/tutorial/security/first-steps.mdのロシア語訳を追加しました。PR #10541 by @AlertRED。 - 🌐
docs/docs/tutorial/handling-errors.mdのロシア語訳を追加しました。PR #10375 by @AlertRED。 - 🌐
docs/docs/tutorial/encoder.mdのロシア語訳を追加しました。PR #10374 by @AlertRED。 - 🌐
docs/docs/tutorial/body-updates.mdのロシア語訳を追加しました。PR #10373 by @AlertRED。 - 🌐 ロシア語訳:
fastapi-people.mdを更新しました。PR #10255 by @NiKuma0。 - 🌐
docs/docs/tutorial/security/index.mdの日本語訳を追加しました。PR #5798 by @3w36zj6。 - 🌐
docs/docs/advanced/generate-clients.mdのドイツ語訳を追加しました。PR #10725 by @nilslindemann。 - 🌐
docs/docs/advanced/openapi-webhooks.mdのドイツ語訳を追加しました。PR #10712 by @nilslindemann。 - 🌐
docs/docs/advanced/custom-response.mdのドイツ語訳を追加しました。PR #10624 by @nilslindemann。 - 🌐
docs/docs/advanced/additional-status-codes.mdのドイツ語訳を追加しました。PR #10617 by @nilslindemann。 - 🌐
docs/docs/tutorial/middleware.mdのドイツ語訳を追加しました。PR #10391 by @JohannesJungbluth。 - 🌐 ドイツ語の紹介ドキュメントを追加しました。PR #10497 by @nilslindemann。
- 🌐
docs/docs/tutorial/encoder.mdの日本語訳を追加しました。PR #1955 by @SwftAlpc。 - 🌐
docs/docs/tutorial/extra-data-types.mdの日本語訳を追加しました。PR #1932 by @SwftAlpc。 - 🌐
docs/docs/async.mdのトルコ語訳を追加しました。PR #5191 by @BilalAlpaslan。 - 🌐
docs/docs/project-generation.mdのトルコ語訳を追加しました。PR #5192 by @BilalAlpaslan。 - 🌐
docs/docs/deployment/docker.mdの韓国語訳を追加しました。PR #5657 by @nearnear。 - 🌐
docs/docs/deployment/server-workers.mdの韓国語訳を追加しました。PR #4935 by @jujumilk3。 - 🌐
docs/docs/deployment/index.mdの韓国語訳を追加しました。PR #4561 by @jujumilk3。 - 🌐
docs/docs/tutorial/path-operation-configuration.mdの韓国語訳を追加しました。PR #3639 by @jungsu-kwon。 - 🌐
zh- 繁体中国語 の説明を修正しました。PR #10889 by @cherinyy。 - 🌐
docs/docs/tutorial/static-files.mdの韓国語訳を追加しました。PR #2957 by @jeesang7。 - 🌐
docs/docs/tutorial/response-model.mdの韓国語訳を追加しました。PR #2766 by @hard-coders。 - 🌐
docs/docs/tutorial/body-multiple-params.mdの韓国語訳を追加しました。PR #2461 by @PandaHun。 - 🌐
docs/docs/tutorial/query-params-str-validations.mdの韓国語訳を追加しました。PR #2415 by @hard-coders。 - 🌐
docs/docs/python-types.mdの韓国語訳を追加しました。PR #2267 by @jrim。 - 🌐
docs/docs/tutorial/body-nested-models.mdの韓国語訳を追加しました。PR #2506 by @hard-coders。 - 🌐
docs/docs/learn/index.mdの韓国語訳を追加しました。PR #10977 by @KaniKim。 - 🌐 繁体中国語の翻訳を初期化しました。PR #10505 by @hsuanchi。
- ✏️
docs/docs/tutorial/index.mdのドイツ語訳を微調整しました。PR #10962 by @nilslindemann。 - ✏️
docs/docs/tutorial/path-params.mdの誤字を修正しました。PR #10758 by @2chanhaeng。 - 🌐
docs/docs/tutorial/dependencies/dependencies-with-yield.mdの日本語訳を追加しました。PR #1961 by @SwftAlpc。 - 🌐
docs/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.mdの日本語訳を追加しました。PR #1960 by @SwftAlpc。 - 🌐
docs/docs/tutorial/dependencies/sub-dependencies.mdの日本語訳を追加しました。PR #1959 by @SwftAlpc。 - 🌐
docs/docs/tutorial/background-tasks.mdの日本語訳を追加しました。PR #2668 by @tokusumi。 - 🌐
docs/docs/tutorial/dependencies/index.mdおよびdocs/docs/tutorial/dependencies/classes-as-dependencies.mdの日本語訳を追加しました。PR #1958 by @SwftAlpc。 - 🌐
docs/docs/tutorial/response-model.mdの日本語訳を追加しました。PR #1938 by @SwftAlpc。 - 🌐
docs/docs/tutorial/body-multiple-params.mdの日本語訳を追加しました。PR #1903 by @SwftAlpc。 - 🌐
docs/docs/tutorial/path-params-numeric-validations.mdの日本語訳を追加しました。PR #1902 by @SwftAlpc。 - 🌐
docs/docs/python-types.mdの日本語訳を追加しました。PR #1899 by @SwftAlpc。 - 🌐
docs/docs/tutorial/handling-errors.mdの日本語訳を追加しました。PR #1953 by @SwftAlpc。 - 🌐
docs/docs/tutorial/response-status-code.mdの日本語訳を追加しました。PR #1942 by @SwftAlpc。 - 🌐
docs/docs/tutorial/extra-models.mdの日本語訳を追加しました。PR #1941 by @SwftAlpc。 - 🌐
docs/docs/tutorial/schema-extra-example.mdの日本語訳を追加しました。PR #1931 by @SwftAlpc。 - 🌐
docs/docs/tutorial/body-nested-models.mdの日本語訳を追加しました。PR #1930 by @SwftAlpc。 - 🌐
docs/docs/tutorial/body-fields.mdの日本語訳を追加しました。PR #1923 by @SwftAlpc。 - 🌐
docs/docs/tutorial/index.mdのドイツ語訳を追加しました。PR #9502 by @fhabers21。 - 🌐
docs/docs/tutorial/background-tasks.mdのドイツ語訳を追加しました。PR #10566 by @nilslindemann。 - ✏️
docs/docs/index.mdの誤字を修正しました。PR #10672 by @Delitel-WEB。 - ✏️
docs/docs/tutorial/extra-data-types.mdの誤字を修正しました。PR #10727 by @HiemalBeryl。 - 🌐
docs/docs/tutorial/dependencies/classes-as-dependencies.mdのロシア語訳を追加しました。PR #10410 by @AlertRED。
Internal¶
- 👥 FastAPI People を更新しました。PR #11074 by @tiangolo。
- 🔧 スポンサーを更新し、Coherence を追加しました。PR #11066 by @tiangolo。
- 👷 GitHub Action issue-manager をアップグレードしました。PR #11056 by @tiangolo。
- 🍱 スポンサーを更新: TalkPython バッジ。PR #11052 by @tiangolo。
- 🔧 スポンサーを更新: TalkPython バッジ画像。PR #11048 by @tiangolo。
- 🔧 スポンサーを更新し、Deta を削除しました。PR #11041 by @tiangolo。
- 💄 RTL 言語を壊す CSS を修正しました (以前の RTL PR によって誤って導入されました)。PR #11039 by @tiangolo。
- 🔧
mkdocs.ymlにイタリア語を追加しました。PR #11016 by @alejsdev。 - 🔨 CI で
mkdocs.ymlの言語を検証し、docs.pyを更新しました。PR #11009 by @tiangolo。 - 🔧
label-approved.ymlの設定を更新し、1人のレビューアで翻訳を承認できるようにしました。PR #11007 by @alejsdev。 - 👷 GitHub Action issue manager で変更要求の処理を追加しました。PR #10971 by @tiangolo。
- 🔧 Dependabot の更新で依存関係をグループ化しました。PR #10952 by @Kludex。
- ⬆ actions/setup-python を 4 から 5 にアップデートしました。PR #10764 by @dependabot[bot]。
- ⬆ pypa/gh-action-pypi-publish を 1.8.10 から 1.8.11 にアップデートしました。PR #10731 by @dependabot[bot]。
- ⬆ dawidd6/action-download-artifact を 2.28.0 から 3.0.0 にアップデートしました。PR #10777 by @dependabot[bot]。
- 🔧
zh-hantのように長いコード名の言語への翻訳をサポートしました。PR #10950 by @tiangolo。
0.109.0¶
機能¶
アップグレード¶
ドキュメント¶
- ✏️
docs/en/docs/alternatives.mdの誤字を修正しました。PR #10931 by @s111d。 - 📝
docs_src/security/tutorial007のコード例でemailをusernameに置き換えました。PR #10649 by @nilslindemann。 - 📝 VS Code チュートリアルリンクを追加しました。PR #10592 by @nilslindemann。
- 📝 Pydantic v2 の新しい
.model_dump()についてのメモを追加しました。PR #10929 by @tiangolo。 - 📝
docs/en/docs/tutorial/sql-databases.mdのリンク切れを修正しました。PR #10765 by @HurSungYun。 - 📝 外部リンク: FastAPI アプリケーションモニタリングを簡単に、を追加しました。PR #10917 by @tiangolo。
- ✨ ドキュメント翻訳の言語名を自動生成するようにしました。PR #5354 by @jakul。
- ✏️
docs/en/docs/alternatives.mdおよびdocs/en/docs/tutorial/dependencies/index.mdの誤字を修正しました。PR #10906 by @s111d。 - ✏️
docs/en/docs/tutorial/dependencies/dependencies-with-yield.mdの誤字を修正しました。PR #10834 by @Molkree。 - 📝 記事: 「FastAPI で RESTful API を構築: セキュアなサインアップとログイン機能を含む」を追加しました。PR #9733 by @dxphilo。
- 📝
AsyncClientを使用したライフサイクルイベントに関する警告を追加しました。PR #4167 by @andrew-chang-dewitt。 - ✏️
/docs/reference/exceptions.mdおよび/en/docs/reference/status.mdの誤字を修正しました。PR #10809 by @clarencepenz。 - ✏️
openapi-callbacks.mdの誤字を修正しました。PR #10673 by @kayjan。 - ✏️
fastapi/routing.pyの誤字を修正しました。PR #10520 by @sepsh。 - 📝 テスト用のドキュメントで、既存ユーザーエラーの場合に返される HTTP コードを更新しました。PR #4482 by @TristanMarion。
- 📝 FastAPI & Supabase のブログを追加しました。PR #6018 by @theinfosecguy。
- 📝 SQLAlchemy を使用した SQL データベースの例ソースファイルを更新しました。PR #9508 by @s-mustafa。
- 📝 ボディに関するドキュメントのコード例を更新し、適切な箇所で
create_itemをupdate_itemに置き換えました。PR #5913 by @OttoAndrey。 - ✏️ yield を伴う依存関係のソース例の誤字を修正しました。PR #10847 by @tiangolo。
翻訳¶
- 🌐
docs/docs/index.mdのベンガル語訳を追加しました。PR #9177 by @Fahad-Md-Kamal。 - ✏️ 複数言語の
index.mdの Python バージョンを更新しました。PR #10711 by @tamago3keran。 - 🌐
docs/docs/tutorial/request-forms-and-files.mdのロシア語訳を追加しました。PR #10347 by @AlertRED。 - 🌐
docs/docs/index.mdのウクライナ語訳を追加しました。PR #10362 by @rostik1410。 - ✏️
docs/docs/index.mdの Python バージョンを更新しました。PR #10680 by @Eeap。 - 🌐
docs/docs/features.mdのペルシャ語訳を追加しました。PR #5887 by @amirilf。 - 🌐
docs/docs/advanced/additional-responses.mdの中国語訳を追加しました。PR #10325 by @ShuibeiC。 - 🌐
docs/docs/tutorial/background-tasks.md,docs/docs/tutorial/body-nested-models.md,docs/docs/tutorial/debugging.md,docs/docs/tutorial/testing.mdのロシア語訳の誤字を修正しました。PR #10311 by @AlertRED。 - 🌐
docs/docs/tutorial/request-files.mdのロシア語訳を追加しました。PR #10332 by @AlertRED。 - 🌐
docs/docs/deployment/server-workers.mdの中国語訳を追加しました。PR #10292 by @xzmeng。 - 🌐
docs/docs/deployment/cloud.mdの中国語訳を追加しました。PR #10291 by @xzmeng。 - 🌐
docs/docs/deployment/manually.mdの中国語訳を追加しました。PR #10279 by @xzmeng。 - 🌐
docs/docs/deployment/https.mdの中国語訳を追加しました。PR #10277 by @xzmeng。 - 🌐
docs/docs/deployment/index.mdの中国語訳を追加しました。PR #10275 by @xzmeng。 - 🌐
docs/docs/tutorial/first-steps.mdのドイツ語訳を追加しました。PR #9530 by @fhabers21。 - 🌐
docs/docs/index.mdのトルコ語訳を更新しました。PR #10444 by @hasansezertasan。 - 🌐
docs/docs/learn/index.mdの中国語訳を追加しました。PR #10479 by @KAZAMA-DREAM。 - 🌐
docs/docs/learn/index.mdのロシア語訳を追加しました。PR #10539 by @AlertRED。 - 🌐 中国語訳
docs/docs/tutorial/sql-databases.mdの SQLAlchemy の指示を更新しました。PR #9712 by @Royc30ne。 - 🌐
docs/docs/external-links.mdのトルコ語訳を追加しました。PR #10549 by @hasansezertasan。 - 🌐
docs/docs/learn/index.mdのスペイン語訳を追加しました。PR #10885 by @pablocm83。 - 🌐
docs/docs/tutorial/body-fields.mdのウクライナ語訳を追加しました。PR #10670 by @ArtemKhymenko。 - 🌐
/docs/docs/index.mdのハンガリー語訳を追加しました。PR #10812 by @takacs。 - 🌐
docs/docs/newsletter.mdのトルコ語訳を追加しました。PR #10550 by @hasansezertasan。 - 🌐
docs/docs/help/index.mdのスペイン語訳を追加しました。PR #10907 by @pablocm83。 - 🌐
docs/docs/about/index.mdのスペイン語訳を追加しました。PR #10908 by @pablocm83。 - 🌐
docs/docs/resources/index.mdのスペイン語訳を追加しました。PR #10909 by @pablocm83。
Internal¶
- 👥 FastAPI People を更新しました。PR #10871 by @tiangolo。
- 👷 カスタム GitHub Action comment-docs-preview-in-pr をアップグレードしました。PR #10916 by @tiangolo。
- ⬆️ GitHub Action latest-changes をアップグレードしました。PR #10915 by @tiangolo。
- 👷 GitHub Action label-approved をアップグレードしました。PR #10913 by @tiangolo。
- ⬆️ GitHub Action label-approved をアップグレードしました。PR #10905 by @tiangolo。
0.108.0¶
アップグレード¶
- ⬆️ Starlette を
>=0.29.0,<0.33.0にアップグレードし、新しい Starlette の引数に合わせてドキュメントとテンプレートの使用法を更新しました。AnyIO>=3.7.1,<4.0.0のピンを削除し、AnyIO 4.x.x のサポートを追加しました。PR #10846 by @tiangolo。
0.107.0¶
アップグレード¶
ドキュメント¶
- 📝 ドキュメントを追加: 生成されたクライアントのために OpenAPI を更新する Node.js スクリプトの代替。PR #10845 by @alejsdev。
- 📝 貢献ページでドキュメントセクションを再構成しました。PR #10844 by @alejsdev。
0.106.0¶
破壊的変更¶
バックグラウンドタスクで yield を伴う依存関係からのリソースの使用はサポートされなくなりました。
この変更は新機能をサポートするためのものであり、以下をお読みください。🤓
yield、HTTPException およびバックグラウンドタスクを伴う依存関係¶
yield を伴う依存関係で、yield の後に HTTPException およびその他の例外を発生させることができるようになりました。🎉
新しいドキュメントはこちらをお読みください: yield と HTTPException を伴う依存関係。
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 get_username():
try:
yield "Rick"
except OwnerError as e:
raise HTTPException(status_code=400, detail=f"Owner error: {e}")
@app.get("/items/{item_id}")
def get_item(item_id: str, username: Annotated[str, Depends(get_username)]):
if item_id not in data:
raise HTTPException(status_code=404, detail="Item not found")
item = data[item_id]
if item["owner"] != username:
raise OwnerError(username)
return item
FastAPI 0.106.0 より前は、yield の後に例外を発生させることはできませんでした。yield を伴う依存関係の終了コードは、レスポンスが送信された後で実行されていたため、例外ハンドラはすでに実行されていました。
これは主に、バックグラウンドタスク内で依存関係によって「yield」された同じオブジェクトを使用できるようにするためにこのように設計されました。なぜなら、終了コードはバックグラウンドタスクが完了した後に実行されるためです。
しかし、これはレスポンスがネットワークを介して伝送される間、依存関係内のリソース(例えばデータベース接続)を不必要に保持することを意味するため、FastAPI 0.106.0 で変更されました。
さらに、バックグラウンドタスクは通常、独自のロジックの独立したセットであり、独自のリソース(例:独自のデータベース接続)で個別に処理されるべきです。
もしこの動作に依存していた場合は、バックグラウンドタスクのリソースをバックグラウンドタスク自体の中で作成し、yield を伴う依存関係のリソースに依存しないデータのみを内部的に使用するようにする必要があります。
例えば、同じデータベースセッションを使用する代わりに、バックグラウンドタスク内で新しいデータベースセッションを作成し、この新しいセッションを使用してデータベースからオブジェクトを取得します。そして、データベースからのオブジェクトをバックグラウンドタスク関数へのパラメータとして渡す代わりに、そのオブジェクトの ID を渡し、バックグラウンドタスク関数内でそのオブジェクトを再度取得します。
FastAPI 0.106.0 より前の実行シーケンスは次の図のようでした。
時間は上から下へ流れます。各列は、対話またはコード実行を行う各部分です。
sequenceDiagram
participant client as Client
participant handler as Exception handler
participant dep as Dep with yield
participant operation as Path Operation
participant tasks as Background tasks
Note over client,tasks: Can raise exception for dependency, handled after response is sent
Note over client,operation: Can raise HTTPException and can change the response
client ->> dep: Start request
Note over dep: Run code up to yield
opt raise
dep -->> handler: Raise HTTPException
handler -->> client: HTTP error response
dep -->> dep: Raise other exception
end
dep ->> operation: Run dependency, e.g. DB session
opt raise
operation -->> dep: Raise HTTPException
dep -->> handler: Auto forward exception
handler -->> client: HTTP error response
operation -->> dep: Raise other exception
dep -->> handler: Auto forward exception
end
operation ->> client: Return response to client
Note over client,operation: Response is already sent, can't change it anymore
opt Tasks
operation -->> tasks: Send background tasks
end
opt Raise other exception
tasks -->> dep: Raise other exception
end
Note over dep: After yield
opt Handle other exception
dep -->> dep: Handle exception, can't change response. E.g. close DB session.
end
新しい実行フローはドキュメントで確認できます: yield を伴う依存関係の実行。
機能¶
- ✨ 終了コードで
yieldを伴う依存関係で例外 (HTTPExceptionを含む) を発生させるサポートを追加しましたが、バックグラウンドタスクではサポートしません。PR #10831 by @tiangolo。
Internal¶
0.105.0¶
機能¶
リファクタリング¶
ドキュメント¶
Internal¶
- 🔧 スポンサーを更新し、Scalar を追加しました。PR #10728 by @tiangolo。
- 🔧 スポンサーを更新し、PropelAuth を追加しました。PR #10760 by @tiangolo。
- 👷 ドキュメントのビルドを更新し、CI で README を検証しました。PR #10750 by @tiangolo。
- 🔧 スポンサーを更新し、Fern を削除しました。PR #10729 by @tiangolo。
- 🔧 スポンサーを更新し、Codacy を追加しました。PR #10677 by @tiangolo。
- 🔧 スポンサーを更新し、Reflex を追加しました。PR #10676 by @tiangolo。
- 📝 リリースノートを更新し、最新の変更を移動および確認しました。PR #10588 by @tiangolo。
- 👷 latest-changes GitHub Action をアップグレードしました。PR #10587 by @tiangolo。
0.104.1¶
修正¶
- 📌 5.9.1 でクラッシュするバグに対処するため、一時的に Swagger UI のバージョンを 5.9.0 に固定しました。PR #10529 by @alejandraklachquin。
- これは実際にはFastAPIのバグではなく、Swagger UIのバグですが、Swagger UI側で解決策が見つかるまで、バージョンを固定することで機能します。
ドキュメント¶
- 📝 外部リンクのデータ構造を更新し、レンダリングを修正しました。PR #10495 by @tiangolo。
- ✏️
docs/en/docs/tutorial/metadata.mdのSPDXライセンス識別子へのリンクを修正しました。PR #10433 by @worldworm。 - 📝
docs/en/docs/tutorial/path-params.mdのPydantic v1からPydantic v2に合わせたバリデーションエラーの例を更新しました。PR #10043 by @giuliowaitforitdavide。 - ✏️ 絵文字ドキュメントと一部のソース例のタイプミスを修正しました。PR #10438 by @afuetterer。
- ✏️
docs/en/docs/reference/dependencies.mdのタイプミスを修正しました。PR #10465 by @suravshresth。 - ✏️
docs/en/docs/tutorial/body-nested-models.mdのタイプミスと表現を修正しました。PR #10468 by @yogabonito。 - 📝 ドキュメントを更新し、
docs/en/docs/tutorial/query-params-str-validations.mdで削除されたpydantic.Requiredへの参照を削除しました。PR #10469 by @yogabonito。 - ✏️
docs/en/docs/reference/index.mdのタイプミスを修正しました。PR #10467 by @tarsil。 - 🔥 不要な重複するドキュメント文字列を削除しました。PR #10484 by @tiangolo。
内部¶
- ✏️ dotenvサポートへのPydanticリンクを更新しました。PR #10511 by @White-Mask。
- ✏️
docs/en/docs/async.mdとdocs/docs/async.mdのリンクを相対パスに変更しました。PR #10498 by @hasnatsajid。 - ✏️
docs/docs/async.mdのリンクを修正しました。PR #10507 by @hasnatsajid。 - ✏️
docs/docs/index.mdのPython 3.8のタイプミスを修正しました。PR #10521 by @kerriop。 - ⬆ Pillowを9.5.0から10.1.0にバンプしました。PR #10446 by @dependabot[bot]。
- ⬆ mkdocs-materialの要件を<9.0.0,>=8.1.4から>=8.1.4,<10.0.0に更新しました。PR #5862 by @dependabot[bot]。
- ⬆ mkdocs-materialを9.1.21から9.4.7にバンプしました。PR #10545 by @dependabot[bot]。
- 👷 Dependabotのために、シークレットが利用可能な場合にのみMkDocs Material Insidersをインストールするようにしました。PR #10544 by @tiangolo。
- 🔧 スポンサーバッジ(Databento)を更新しました。PR #10519 by @tiangolo。
- 👷 Ruffフォーマットを採用しました。PR #10517 by @tiangolo。
- 🔧 学術引用のための
CITATION.cffファイルを追加しました。PR #10496 by @tiangolo。 - 🐛 フックでMKDocsテーマの言語が上書きされる問題を修正しました。PR #10490 by @tiangolo。
- 🔥 Gitterチャットを削除/終了しました。質問はGitHub Discussionsへ、自由な会話はDiscordへ。PR #10485 by @tiangolo。
0.104.0¶
新機能¶
- ✨ PEP 727を使用した参照 (コードAPI) ドキュメントを追加し、
BackgroundTasksのカスタムドキュメント文字列を持つサブクラスを追加し、ドキュメント構造をリファクタリングしました。PR #10392 by @tiangolo。新しいドキュメントは FastAPI Reference - Code API。
アップグレード¶
内部¶
- ⬆ dawidd6/action-download-artifactを2.27.0から2.28.0にバンプしました。PR #10268 by @dependabot[bot]。
- ⬆ actions/checkoutを3から4にバンプしました。PR #10208 by @dependabot[bot]。
- ⬆ pypa/gh-action-pypi-publishを1.8.6から1.8.10にバンプしました。PR #10061 by @dependabot[bot]。
- 🔧 スポンサーを更新し、Bump.shの画像を修正しました。PR #10381 by @tiangolo。
- 👥 FastAPI Peopleを更新しました。PR #10363 by @tiangolo。
0.103.2¶
リファクタリング¶
翻訳¶
- 🌐
docs/docs/tutorial/extra-data-types.mdのウクライナ語翻訳を追加しました。PR #10132 by @ArtemKhymenko。 - 🌐
docs/docs/advanced/path-operation-advanced-configuration.md,docs/docs/alternatives.md,docs/docs/async.md,docs/docs/features.md,docs/docs/help-fastapi.md,docs/docs/index.md,docs/docs/python-types.md,docs/docs/tutorial/body.md,docs/docs/tutorial/first-steps.md,docs/docs/tutorial/query-params.mdのフランス語翻訳のタイプミスを修正しました。PR #10154 by @s-rigaud。 - 🌐
docs/docs/async.mdの中国語翻訳を追加しました。PR #5591 by @mkdir700。 - 🌐
docs/tutorial/security/simple-oauth2.mdの中国語翻訳を更新しました。PR #3844 by @jaystone776。 - 🌐
docs/docs/deployment/cloud.mdの韓国語翻訳を追加しました。PR #10191 by @Sion99。 - 🌐
docs/docs/deployment/https.mdの日本語翻訳を追加しました。PR #10298 by @tamtam-fitness。 - 🌐
docs/docs/tutorial/body-fields.mdのロシア語翻訳のタイプミスを修正しました。PR #10224 by @AlertRED。 - 🌐
docs/docs/help-fastapi.mdのポーランド語翻訳を追加しました。PR #10121 by @romabozhanovgithub。 - 🌐
docs/docs/tutorial/header-params.mdのロシア語翻訳を追加しました。PR #10226 by @AlertRED。 - 🌐
docs/docs/deployment/versions.mdの中国語翻訳を追加しました。PR #10276 by @xzmeng。
内部¶
- 🔧 スポンサーを更新し、Flintを削除しました。PR #10349 by @tiangolo。
- 🔧 検索クエリを簡素化するために、ラベル "awaiting review" を "awaiting-review" に変更しました。PR #10343 by @tiangolo。
- 🔧 スポンサーを更新し、Svixを有効にしました(#10228を元に戻す)。PR #10253 by @tiangolo。
- 🔧 スポンサーを更新し、Svixを削除しました。PR #10228 by @tiangolo。
- 🔧 スポンサーを更新し、Bump.shを追加しました。PR #10227 by @tiangolo。
0.103.1¶
修正¶
ドキュメント¶
- ✏️ ドキュメントのバリデーションパラメータ名を
regexからpatternに修正しました。PR #10085 by @pablodorrio。 - ✏️
docs/en/docs/deployment/server-workers.mdのインデント形式を修正しました。PR #10066 by @tamtam-fitness。 - ✏️ Python型のチュートリアルのPydanticの例を修正しました。PR #9961 by @rahulsalgare。
- ✏️
docs/en/docs/tutorial/extra-data-types.mdのPydanticドキュメントへのリンクを修正しました。PR #10155 by @hasnatsajid。 - ✏️
docs/en/docs/tutorial/handling-errors.mdのタイプミスを修正しました。PR #10170 by @poupapaa。 - ✏️
docs/en/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.mdのタイプミスを修正しました。PR #10172 by @ragul-kachiappan。
翻訳¶
- 🌐
docs/docs/tutorial/path-params.mdの翻訳で重複する行を削除しました。PR #10126 by @LecoOliveira。 - 🌐
docs/docs/index.mdのヨルバ語翻訳を追加しました。PR #10033 by @AfolabiOlaoluwa。 - 🌐
docs/docs/python-types.mdのウクライナ語翻訳を追加しました。PR #10080 by @rostik1410。 - 🌐
docs/docs/tutorial/first-steps.mdとdocs/docs/tutorial/index.mdのベトナム語翻訳を追加しました。PR #10088 by @magiskboy。 - 🌐
docs/docs/alternatives.mdのウクライナ語翻訳を追加しました。PR #10060 by @whysage。 - 🌐
docs/docs/tutorial/index.mdのウクライナ語翻訳を追加しました。PR #10079 by @rostik1410。 - ✏️
docs/en/docs/how-to/separate-openapi-schemas.mdとdocs/en/docs/tutorial/schema-extra-example.mdのタイプミスを修正しました。PR #10189 by @xzmeng。 - 🌐
docs/docs/advanced/generate-clients.mdの中国語翻訳を追加しました。PR #9883 by @funny-cat-happy。
リファクタリング¶
- ✏️
fastapi/applications.pyのコメントのタイプミスを修正しました。PR #10045 by @AhsanSheraz。 - ✅ OpenAPIの例の不足していたテストを追加しました。カバレッジから漏れていました。PR #10188 by @tiangolo。
内部¶
0.103.0¶
新機能¶
- ✨ すべてのFastAPIパラメータで
openapi_examplesのサポートを追加しました。PR #10152 by @tiangolo。- 新しいドキュメント:OpenAPI-specific examples。
ドキュメント¶
0.102.0¶
新機能¶
- ✨ Pydantic v2で
separate_input_output_schemas=Falseを使用してOpenAPIの入出力JSONスキーマの分離を無効にするサポートを追加しました。PR #10145 by @tiangolo。- 新しいドキュメント Separate OpenAPI Schemas for Input and Output or Not。
- このPRには、ドキュメントのスクリーンショットを生成するための新しい設定(内部ツール)も含まれています。
リファクタリング¶
ドキュメント¶
- 📝 新しいドキュメントセクション「How To - Recipes」を追加し、誰もが読む必要のないドキュメントを「How To」に移動しました。PR #10114 by @tiangolo。
- 📝 高度なドキュメントを更新し、スポンサーコースへのリンクを追加しました。PR #10113 by @tiangolo。
- 📝 クライアント生成に関するドキュメントを更新しました。PR #10112 by @tiangolo。
- 📝 MkDocsを調整し、リダイレクトを追加しました。PR #10111 by @tiangolo。
- 📝 クラウドプロバイダーのドキュメントを再構築し、スポンサーへのリンクを含めました。PR #10110 by @tiangolo。
内部¶
0.101.1¶
修正¶
リファクタリング¶
- ✏️
fastapi/params.pyの非推奨警告のタイプミスを修正しました。PR #9854 by @russbiggs。 - ✏️
fastapi/concurrency.pyとfastapi/routing.pyの内部コードのコメントのタイプミスを修正しました。PR #9590 by @ElliottLarsen。
ドキュメント¶
- ✏️ リリースノートのタイプミスを修正しました。PR #9835 by @francisbergin。
- 📝 外部記事を追加しました:FaunaDBとFastAPIでSMSスパム分類器サーバーレスデータベースを構築する。PR #9847 by @adejumoridwan。
- 📝
docs/en/docs/contributing.mdのタイプミスを修正しました。PR #9878 by @VicenteMerino。 - 📝
docs/en/docs/tutorial/bigger-applications.mdのコードハイライトを修正しました。PR #9806 by @theonlykingpin。
翻訳¶
- 🌐
docs/docs/deployment/concepts.mdの日本語翻訳を追加しました。PR #10062 by @tamtam-fitness。 - 🌐
docs/docs/deployment/server-workers.mdの日本語翻訳を追加しました。PR #10064 by @tamtam-fitness。 - 🌐
docs/docs/deployment/docker.mdの日本語翻訳を更新しました。PR #10073 by @tamtam-fitness。 - 🌐
docs/docs/fastapi-people.mdのウクライナ語翻訳を追加しました。PR #10059 by @rostik1410。 - 🌐
docs/docs/tutorial/cookie-params.mdのウクライナ語翻訳を追加しました。PR #10032 by @rostik1410。 - 🌐
docs/docs/deployment/docker.mdのロシア語翻訳を追加しました。PR #9971 by @Xewus。 - 🌐
docs/docs/python-types.mdのベトナム語翻訳を追加しました。PR #10047 by @magiskboy。 - 🌐
docs/docs/tutorial/dependencies/global-dependencies.mdのロシア語翻訳を追加しました。PR #9970 by @dudyaosuplayer。 - 🌐
docs/docs/benchmarks.mdのウルドゥー語翻訳を追加しました。PR #9974 by @AhsanSheraz。
内部¶
- 🔧 スポンサーPorterを追加しました。PR #10051 by @tiangolo。
- 🔧 スポンサーを更新し、Jinaをブロンズスポンサーとして再度追加しました。PR #10050 by @tiangolo。
- ⬆ mypyを1.4.0から1.4.1にバンプしました。PR #9756 by @dependabot[bot]。
- ⬆ mkdocs-materialを9.1.17から9.1.21にバンプしました。PR #9960 by @dependabot[bot]。
0.101.0¶
新機能¶
- ✨ レスポンスのPydanticのシリアライゼーションモードを有効にし、Pydanticの
computed_fieldのサポートを追加し、レスポンスモデルのより良いOpenAPI、適切な必須属性、より良い生成クライアントを実現しました。PR #10011 by @tiangolo。
リファクタリング¶
- ✅ pydantic 2.1.1との互換性のためのテストを修正しました。PR #9943 by @dmontagu。
- ✅
jsonable_encoderのWindowsでのテストエラーを修正しました。PR #9840 by @iudeen。
アップグレード¶
翻訳¶
- 🌐
docs/docs/tutorial/security/index.mdのロシア語翻訳を追加しました。PR #9963 by @eVery1337。 - 🌐 翻訳不足に関するベトナム語の注意書きを削除しました。PR #9957 by @tiangolo。
内部¶
- 👷 外部障害をデバッグするためにGitHub Actionsのステップダンプコンテキストを追加しました。PR #10008 by @tiangolo。
- 🔧 修正後にMkDocs Materialのピンを復元しました。PR #10001 by @tiangolo。
- 🔧 質問テンプレートを更新し、Pydanticのバージョンを尋ねるようにしました。PR #10000 by @tiangolo。
- 📍 MkDocs Materialの依存関係を更新しました。PR #9986 by @tiangolo。
- 👥 FastAPI Peopleを更新しました。PR #9999 by @tiangolo。
- 🐳 後でアップグレードするために、Dockerファイルを互換性のあるバージョンで更新しました。PR #9998 by @tiangolo。
- ➕ pydantic-settingsをFastAPI Peopleの依存関係に追加しました。PR #9988 by @tiangolo。
- ♻️ 新しいPydanticでFastAPI Peopleのロジックを更新しました。PR #9985 by @tiangolo。
- 🍱 スポンサーを更新し、Fernのバッジを修正しました。PR #9982 by @tiangolo。
- 👷 Cloudflare Pagesにドキュメントをデプロイしました。PR #9978 by @tiangolo。
- 🔧 スポンサーFernを更新しました。PR #9979 by @tiangolo。
- 👷 Tmateを使用してCIデバッグモードを更新しました。PR #9977 by @tiangolo。
0.100.1¶
修正¶
ドキュメント¶
翻訳¶
- 🌐
docs/docs/tutorial/body.mdのウクライナ語翻訳を追加しました。PR #4574 by @ss-o-furda。 - 🌐
docs/docs/features.mdとdocs/docs/index.mdのベトナム語翻訳を追加しました。PR #3006 by @magiskboy。 - 🌐
docs/docs/async.mdの韓国語翻訳を追加しました。PR #4179 by @NinaHwang。 - 🌐
docs/docs/tutorial/background-tasks.mdの中国語翻訳を追加しました。PR #9812 by @wdh99。 - 🌐
docs/docs/tutorial/query-params-str-validations.mdのフランス語翻訳を追加しました。PR #4075 by @Smlep。 - 🌐
docs/docs/tutorial/index.mdのフランス語翻訳を追加しました。PR #2234 by @JulianMaurin。 - 🌐
docs/docs/contributing.mdのフランス語翻訳を追加しました。PR #2132 by @JulianMaurin。 - 🌐
docs/docs/benchmarks.mdのフランス語翻訳を追加しました。PR #2155 by @clemsau。 - 🌐 新しいソースファイルで中国語翻訳を更新しました。PR #9738 by @mahone3297。
- 🌐
docs/docs/tutorial/request-forms.mdのロシア語翻訳を追加しました。PR #9841 by @dedkot01。 - 🌐
docs/docs/tutorial/handling-errors.mdの中国語翻訳を更新しました。PR #9485 by @Creat55。
内部¶
- 🔧 スポンサーを更新し、Fernを追加しました。PR #9956 by @tiangolo。
- 👷 FastAPI Peopleトークンを更新しました。PR #9844 by @tiangolo。
- 👥 FastAPI Peopleを更新しました。PR #9775 by @tiangolo。
- 👷 MkDocs Materialトークンを更新しました。PR #9843 by @tiangolo。
- 👷 最新の変更のためにトークンを更新しました。PR #9842 by @tiangolo。
0.100.0¶
✨ Pydantic v2 のサポート ✨
Pydanticバージョン2は、コアがRustで書き直され、多くの改善と機能が含まれています。例えば、
- コーナーケースにおける正確性の向上。
- より安全な型。
- より良いパフォーマンスと少ないエネルギー消費。
- より良い拡張性。
- など
...これらすべてを同じPython APIを維持しながら実現しています。ほとんどの場合、シンプルなモデルであれば、Pydanticのバージョンをアップグレードするだけで、すべてのメリットが得られます。🚀
純粋なデータバリデーションと処理の場合、20倍以上のパフォーマンス向上が得られることがあります。これは2,000%以上の意味です。🤯
FastAPIを使用する場合、リクエストとレスポンスの処理、依存関係のハンドリング、独自のコードの実行、特にネットワークの待機など、他にも多くのことが行われます。しかし、アップグレードするだけで、いくつかの良いパフォーマンス向上が得られるでしょう。
このリリースは、Pydantic v1とv2の互換性に焦点を当てており、現在のアプリが引き続き機能することを確認しています。後には、リファクタリング、正確性、コードの改善、そしてパフォーマンスの向上にさらに焦点を当てます。FastAPIのベータリリースでベンチマークを実行した一部のサードパーティの早期ベータテスターは、2〜3倍の改善を報告しています。これは pip install --upgrade fastapi pydantic を実行するだけで得られるものとしては悪くありません。これは公式なベンチマークではなく、私自身は確認していませんが、良い兆候です。
移行¶
Pydantic移行ガイドを確認してください。
Pydanticモデルで変更が必要な事項については、Pydanticチームがbump-pydanticを作成しました。
これはコードを処理し、ほとんどの事項を自動的に更新するコマンドラインツールです。まずコードをgitに保存し、変更をコミットする前に各変更をレビューしてすべてが正しいことを確認してください。
Pydantic v1¶
このFastAPIバージョンはPydantic v1をまだサポートしています。そして、Pydantic v1はいずれ非推奨になりますが、しばらくの間はサポートされます。
これは、新しいPydantic v2をインストールし、もし何らかの問題が発生した場合は、最新のFastAPIを維持しつつPydantic v1をインストールして問題を修正できることを意味します。
Pydantic v1とv2の両方でテストがあり、テストのカバレッジは100%に保たれています。
変更点¶
-
Pydantic
Field()でサポートされる新しいパラメータフィールドがあります。Path()Query()Header()Cookie()Body()Form()File()
-
新しいパラメータフィールドは次のとおりです。
default_factoryalias_priorityvalidation_aliasserialization_aliasdiscriminatorstrictmultiple_ofallow_inf_nanmax_digitsdecimal_placesjson_schema_extra
...これらについてはPydanticのドキュメントで読むことができます。
- パラメータ
regexは非推奨となり、patternに置き換えられました。- クエリパラメータと文字列のバリデーション:正規表現の追加 のドキュメントで詳しく読むことができます。
- 新しいPydanticモデルは、内部クラス
Configの代わりにシンプルな辞書を受け取る、改良された簡素化された属性model_configを使用します。- リクエスト例データを宣言する のドキュメントで詳しく読むことができます。
- 内部クラス
Configの属性schema_extraは、新しいmodel_config辞書のキーjson_schema_extraに置き換えられました。- リクエスト例データを宣言する のドキュメントで詳しく読むことができます。
"fastapi[all]"をインストールすると、以下のものも含まれるようになりました。pydantic-settings- 設定管理用。pydantic-extra-types- Pydanticで使用する追加型。
-
Pydantic Settingsは追加のオプションパッケージになりました(
"fastapi[all]"に含まれています)。設定を使用するには、直接pydanticからインポートするのではなく、from pydantic_settings import BaseSettingsをインポートする必要があります。- 設定と環境変数 のドキュメントで詳しく読むことができます。
-
PR #9816 by @tiangolo には、ベータブランチ (
main-pv2) で行われたすべての作業 (複数のPR) が含まれています。
0.99.1¶
修正¶
- 🐛 JSON Schemaがbool値を有効なJSON Schemaとして受け入れてしまう問題を修正しました(例:
additionalProperties: false)。PR #9781 by @tiangolo。
ドキュメント¶
0.99.0¶
新機能¶
-
✨ OpenAPI 3.1.0のサポートを追加しました。PR #9770 by @tiangolo。
- ウェブフックのドキュメント化の新しいサポート。新しいドキュメントはこちらで読むことができます: 高度なユーザーガイド: OpenAPIウェブフック。
- OpenAPI 3.1.0にアップグレードし、JSON Schema 2020-12を使用します。
- OpenAPI 3.1.0をサポートするSwagger UIをバージョン5.x.xにアップグレードしました。
Query()、Cookie()、Body()などのexamplesフィールドを最新のJSON SchemaとOpenAPIに基づいて更新しました。現在、例のリストを受け取り、JSON Schemaの外部ではなく直接含まれています。詳細(歴史的な技術詳細を含む)は、更新されたドキュメントで読むことができます: チュートリアル: リクエスト例データの宣言。
-
✨
jsonable_encoderでdequeオブジェクトとその子孫のサポートを追加しました。PR #9433 by @cranium。
ドキュメント¶
翻訳¶
- 🌐
docs/docs/advanced/sub-applications.mdのペルシャ語翻訳を追加しました。PR #9692 by @mojtabapaso。 - 🌐
docs/docs/tutorial/response-model.mdのロシア語翻訳を追加しました。PR #9675 by @glsglsgls。
内部¶
- 🔨 ローカルライブ開発中にMkDocs Materialでlinenumsを有効にし、コードのハイライトを簡素化しました。PR #9769 by @tiangolo。
- ⬆ httpxの要件を<0.24.0,>=0.23.0から>=0.23.0,<0.25.0に更新しました。PR #9724 by @dependabot[bot]。
- ⬆ mkdocs-materialを9.1.16から9.1.17にバンプしました。PR #9746 by @dependabot[bot]。
- 🔥 不要になった翻訳不足のダミーページを削除しました。PR #9751 by @tiangolo。
- ⬆ [pre-commit.ci] pre-commitを自動更新しました。PR #9259 by @pre-commit-ci[bot]。
- ✨ Material for MkDocs Insidersの機能とカードを追加しました。PR #9748 by @tiangolo。
- 🔥 翻訳のない言語を削除しました。PR #9743 by @tiangolo。
- ✨ スクリプトのビルドのためのドキュメントをリファクタリングし、MkDocsフックを使用し、言語の設定を簡素化(削除)しました。PR #9742 by @tiangolo。
- 🔨 最初のインデックスファイルに基づいてセクション名を変更するMkDocsフックを追加しました。PR #9737 by @tiangolo。
- 👷 cronジョブがメインリポジトリでのみ実行され、フォークでは実行されないようにし、トークン不足によるエラー通知を回避しました。PR #9735 by @tiangolo。
- 🔧 その他の言語のMkDocsを更新しました。PR #9734 by @tiangolo。
- 👷 Docs CIをリファクタリングし、速度を最適化するために動的マトリックスで複数のワーカーで実行するようにしました。PR #9732 by @tiangolo。
- 🔥 不要になった古い内部GitHubアクション watch-previews を削除しました。PR #9730 by @tiangolo。
- ⬆️ MkDocsとMkDocs Materialをアップグレードしました。PR #9729 by @tiangolo。
- 👷 ドキュメントの変更があった場合にのみ、ドキュメントをビルドしてデプロイするようにしました。PR #9728 by @tiangolo。
0.98.0¶
新機能¶
ドキュメント¶
- 📝 Pydanticが内部的にujsonを使用することに関するドキュメントを更新しました。PR #5804 by @mvasilkov。
- ✏
docs/en/docs/tutorial/debugging.mdの表現を修正しました。PR #9581 by @ivan-abc。 - 📝 ドイツ語のブログ記事(PythonとFastAPIによるドメイン駆動設計)を追加しました。PR #9261 by @msander。
- ✏️
docs/en/docs/tutorial/security/index.mdの表現を調整しました。PR #9561 by @jyothish-mohan。 - 📝
docs/en/docs/tutorial/schema-extra-example.mdのAnnotatedの注意書きを更新しました。PR #9620 by @Alexandrhub。 - ✏️
docs/en/docs/tutorial/query-params-str-validations.mdのタイプミスAnnotation->Annotatedを修正しました。PR #9625 by @mccricardo。 - 📝 ドキュメントのSQLテストにインメモリデータベースを使用するようにしました。PR #1223 by @HarshaLaxman。
翻訳¶
- 🌐
docs/docs/tutorial/metadata.mdのロシア語翻訳を追加しました。PR #9681 by @TabarakoAkula。 - 🌐
docs/docs/tutorial/first-steps.mdのスペイン語翻訳のタイプミスを修正しました。PR #9571 by @lilidl-nft。 - 🌐
docs/tutorial/path-operation-configuration.mdのロシア語翻訳を追加しました。PR #9696 by @TabarakoAkula。 - 🌐
docs/docs/advanced/security/index.mdの中国語翻訳を追加しました。PR #9666 by @lordqyxz。 - 🌐
docs/docs/advanced/settings.mdの中国語翻訳を追加しました。PR #9652 by @ChoyeonChern。 - 🌐
docs/docs/advanced/websockets.mdの中国語翻訳を追加しました。PR #9651 by @ChoyeonChern。 - 🌐
docs/docs/tutorial/testing.mdの中国語翻訳を追加しました。PR #9641 by @wdh99。 - 🌐
docs/tutorial/extra-models.mdのロシア語翻訳を追加しました。PR #9619 by @ivan-abc。 - 🌐
docs/tutorial/cors.mdのロシア語翻訳を追加しました。PR #9608 by @ivan-abc。 - 🌐
docs/docs/features.mdのポーランド語翻訳を追加しました。PR #5348 by @mbroton。 - 🌐
docs/docs/tutorial/body-nested-models.mdのロシア語翻訳を追加しました。PR #9605 by @Alexandrhub。
内部¶
- ⬆ ruffを0.0.272から0.0.275にバンプしました。PR #9721 by @dependabot[bot]。
- ⬆ uvicorn[standard]の要件を<0.21.0,>=0.12.0から>=0.12.0,<0.23.0に更新しました。PR #9463 by @dependabot[bot]。
- ⬆ mypyを1.3.0から1.4.0にバンプしました。PR #9719 by @dependabot[bot]。
- ⬆ pre-commitの要件を<3.0.0,>=2.17.0から>=2.17.0,<4.0.0に更新しました。PR #9251 by @dependabot[bot]。
- ⬆ pypa/gh-action-pypi-publishを1.8.5から1.8.6にバンプしました。PR #9482 by @dependabot[bot]。
- ✏️ ドキュメントのライト/ダークテーマ切り替えのツールチップを修正しました。PR #9588 by @pankaj1707k。
- 🔧 パッケージをビルドするために必要な最小限のhatchlingバージョンを設定しました。PR #9240 by @mgorny。
- 📝 PyPIにリポジトリリンクを追加しました。PR #9559 by @JacobCoffee。
- ✏️ テストデータ内のタイプミスを修正しました。PR #4958 by @ryanrussell。
- 🔧 スポンサーを更新し、Flintを追加しました。PR #9699 by @tiangolo。
- 👷 CIでのLintは一度だけ、1つのPythonバージョンでのみ実行し、すべてのバージョンでテストを実行するようにしました。PR #9686 by @tiangolo。
0.97.0¶
新機能¶
- ✨ WebSocketルートでの
dependenciesのサポートを追加しました。PR #4534 by @paulo-raca。 - ✨
WebSocketRequestValidationErrorの例外ハンドラを追加しました(これによりオーバーライドも可能になります)。PR #6030 by @kristjanvalur。
リファクタリング¶
- ⬆️ Ruffにアップグレードして完全に移行し、isortを削除し、新しいバージョンのRuffが提案するいくつかの調整を含めました。PR #9660 by @tiangolo。
- ♻️ 内部型アノテーションを更新し、mypyをアップグレードしました。PR #9658 by @tiangolo。
- ♻️ Python 3.6以降では
AsyncExitStackが常に利用可能であるため、AsyncExitStackMiddlewareを簡素化しました。PR #9657 by @tiangolo。
アップグレード¶
内部¶
- 💚 依存関係が変更された場合にインストールを修正するためにCIキャッシュを更新しました。PR #9659 by @tiangolo。
- ⬇️ 開発に必要な要件を独自のrequirements.txtファイルに分離しました。これらはextrasであるべきではありません。PR #9655 by @tiangolo。
0.96.1¶
修正¶
- 🐛
HTTPExceptionヘッダーの型アノテーションを修正しました。PR #9648 by @tiangolo。 - 🐛 OpenAPIモデルフィールドのintバリデーション、
gteをgeに修正しました。PR #9635 by @tiangolo。
アップグレード¶
- 📌 Pydanticの最小バージョンを
>=1.7.4に更新しました。これにより、古いバージョンのPydanticを使用しようとした場合の問題が修正されます。PR #9567 by @Kludex。
リファクタリング¶
- ♻
ORJSONResponseからmedia_typeを削除しました。これは親クラスから継承されています。PR #5805 by @Kludex。 - ♻
HTTPExceptionを必要な場合にのみインスタンス化するように最適化リファクタリングを行いました。PR #5356 by @pawamoy。
ドキュメント¶
翻訳¶
- 🌐
docs/docs/tutorial/index.mdのインドネシア語翻訳のスペルを修正しました。PR #5635 by @purwowd。 - 🌐
docs/docs/tutorial/index.mdのロシア語翻訳を追加しました。PR #5896 by @Wilidon。 - 🌐
docs/docs/advanced/response-change-status-code.mdとdocs/docs/advanced/response-headers.mdの中国語翻訳を追加しました。PR #9544 by @ChoyeonChern。 - 🌐
docs/docs/tutorial/schema-extra-example.mdのロシア語翻訳を追加しました。PR #9621 by @Alexandrhub。
内部¶
- 🔧 スポンサーPlatform.shを追加しました。PR #9650 by @tiangolo。
- 👷 APIレート制限を防ぐため、SmokeshowとPreview Docsのdownload-artifactにカスタムトークンを追加しました。PR #9646 by @tiangolo。
- 👷 レート制限を回避するため、GitHub Actionsにカスタムトークンを追加しました。PR #9647 by @tiangolo。
0.96.0¶
新機能¶
- ⚡
create_cloned_fieldを更新し、グローバルキャッシュを使用して起動パフォーマンスを向上させました。PR #4645 by @madkinsz および以前の元のPR by @huonw。
ドキュメント¶
- 📝 Deta Spaceとの互換性のためにDetaデプロイメントチュートリアルを更新しました。PR #6004 by @mikBighne98。
- ✏️ Detaデプロイメントチュートリアルのタイプミスを修正しました。PR #9501 by @lemonyte。
翻訳¶
- 🌐
docs/tutorial/body.mdのロシア語翻訳を追加しました。PR #3885 by @solomein-sv。 - 🌐
docs/docs/tutorial/static-files.mdのロシア語翻訳を追加しました。PR #9580 by @Alexandrhub。 - 🌐
docs/docs/tutorial/query-params.mdのロシア語翻訳を追加しました。PR #9584 by @Alexandrhub。 - 🌐
docs/docs/tutorial/first-steps.mdのロシア語翻訳を追加しました。PR #9471 by @AGolicyn。 - 🌐
docs/docs/tutorial/debugging.mdのロシア語翻訳を追加しました。PR #9579 by @Alexandrhub。 - 🌐
docs/docs/tutorial/path-params.mdのロシア語翻訳を追加しました。PR #9519 by @AGolicyn。 - 🌐
docs/docs/tutorial/static-files.mdの中国語翻訳を追加しました。PR #9436 by @wdh99。 - 🌐
docs/docs/async.mdの新しいイラストを含むスペイン語翻訳を更新しました。PR #9483 by @andresbermeoq。 - 🌐
docs/docs/tutorial/path-params-numeric-validations.mdのロシア語翻訳を追加しました。PR #9563 by @ivan-abc。 - 🌐
docs/docs/deployment/concepts.mdのロシア語翻訳を追加しました。PR #9577 by @Xewus。 - 🌐
docs/docs/tutorial/body-multiple-params.mdのロシア語翻訳を追加しました。PR #9586 by @Alexandrhub。
内部¶
- 👥 FastAPI Peopleを更新しました。PR #9602 by @github-actions[bot]。
- 🔧 スポンサーを更新し、InvestSuiteを削除しました。PR #9612 by @tiangolo。
0.95.2¶
- ⬆️ セキュリティリリースのため、Starletteのバージョンを
>=0.27.0にアップグレードしました。PR #9541 by @tiangolo。詳細はStarletteのセキュリティアドバイザリを参照してください。
翻訳¶
- 🌐
docs/docs/advanced/events.mdのポルトガル語翻訳を追加しました。PR #9326 by @oandersonmagalhaes。 - 🌐
docs/docs/deployment/manually.mdのロシア語翻訳を追加しました。PR #9417 by @Xewus。 - 🌐 ラオス語への翻訳設定を追加しました。PR #9396 by @TheBrown。
- 🌐
docs/docs/tutorial/testing.mdのロシア語翻訳を追加しました。PR #9403 by @Xewus。 - 🌐
docs/docs/deployment/https.mdのロシア語翻訳を追加しました。PR #9428 by @Xewus。 - ✏ Windowsで必要なものをインストールするコマンドを修正しました。PR #9445 by @MariiaRomanuik。
- 🌐
docs/docs/advanced/response-directly.mdのフランス語翻訳を追加しました。PR #9415 by @axel584。 - 🌐 チェコ語翻訳の設定を開始しました。PR #9288 by @3p1463k。
- ✏
docs/docs/index.mdのポルトガル語ドキュメントのタイプミスを修正しました。PR #9337 by @lucasbalieiro。 - 🌐
docs/docs/tutorial/response-status-code.mdのロシア語翻訳を追加しました。PR #9370 by @nadia3373。
内部¶
- 🐛 内部テストの
flask.escape警告を修正しました。PR #9468 by @samuelcolvin。 - ✅ 一貫性と簡素化のために2つのテストをリファクタリングしました。PR #9504 by @tiangolo。
- ✅ OpenAPIテストをリファクタリングし、Pydantic v2に備えました。PR #9503 by @tiangolo。
- ⬆ dawidd6/action-download-artifactを2.26.0から2.27.0にバンプしました。PR #9394 by @dependabot[bot]。
- 💚 CIでsetup-python pipキャッシュを無効にしました。PR #9438 by @tiangolo。
- ⬆ pypa/gh-action-pypi-publishを1.6.4から1.8.5にバンプしました。PR #9346 by @dependabot[bot]。
0.95.1¶
修正¶
- 🐛 ルーターやパス操作で複数回デコレートされた
Annotatedの使用を修正しました。PR #9315 by @sharonyogev。
ドキュメント¶
- 🌐 🔠 📄 🐢 ドキュメントを絵文字に翻訳しました🥳 🎉 💥 🤯 🤯。PR #5385 by @LeeeeT。
- 📝 古いFastAPIバージョンが
Annotatedをサポートしていないことに関する警告メッセージを追加しました。PR #9298 by @grdworkin。 - 📝
docs/en/docs/advanced/behind-a-proxy.mdのタイプミスを修正しました。PR #5681 by @Leommjr。 - ✏
docs/docs/index.mdのペルシャ語翻訳で、typingモジュールからの誤ったインポートを修正しました。PR #6083 by @Kimiaattaei。 - ✏️
docs/en/docs/help-fastapi.mdのフォーマットを修正し、不要なアスタリスクを削除しました。PR #9249 by @armgabrielyan。 - ✏
docs/en/docs/tutorial/query-params-str-validations.mdのタイプミスを修正しました。PR #9272 by @nicornk。 - ✏
docs/en/docs/tutorial/query-params-str-validations.mdのインラインコード例のタイプミス/バグを修正しました。PR #9273 by @tim-habitat。 - ✏
docs/en/docs/tutorial/path-params-numeric-validations.mdのタイプミスを修正しました。PR #9282 by @aadarsh977。 - ✏
docs/en/docs/tutorial/query-params-str-validations.mdのタイプミス 'wll' を 'will' に修正しました。PR #9380 by @dasstyxx。
翻訳¶
- 🌐
docs/docs/advanced/index.mdのフランス語翻訳を追加しました。PR #5673 by @axel584。 - 🌐
docs/docs/tutorial/body-nested-models.mdのポルトガル語翻訳を追加しました。PR #4053 by @luccasmmg。 - 🌐
docs/docs/alternatives.mdのロシア語翻訳を追加しました。PR #5994 by @Xewus。 - 🌐
docs/docs/tutorial/extra-models.mdのポルトガル語翻訳を追加しました。PR #5912 by @LorhanSohaky。 - 🌐
docs/docs/tutorial/path-operation-configuration.mdのポルトガル語翻訳を追加しました。PR #5936 by @LorhanSohaky。 - 🌐
docs/docs/contributing.mdのロシア語翻訳を追加しました。PR #6002 by @stigsanek。 - 🌐
docs/tutorial/dependencies/classes-as-dependencies.mdの韓国語翻訳を追加しました。PR #9176 by @sehwan505。 - 🌐
docs/docs/project-generation.mdのロシア語翻訳を追加しました。PR #9243 by @Xewus。 - 🌐
docs/docs/index.mdのフランス語翻訳を追加しました。PR #9265 by @frabc。 - 🌐
docs/docs/tutorial/query-params-str-validations.mdのロシア語翻訳を追加しました。PR #9267 by @dedkot01。 - 🌐
docs/docs/benchmarks.mdのロシア語翻訳を追加しました。PR #9271 by @Xewus。
内部¶
- 🔧 スポンサーを更新:Jinaを削除しました。PR #9388 by @tiangolo。
- 🔧 スポンサーを更新し、databentoを追加し、InesのコースとStriveWorksを削除しました。PR #9351 by @tiangolo。
0.95.0¶
ハイライト¶
このリリースでは、Annotated を使用した依存関係とパラメータのサポートが追加され、その使用が推奨されています。✨
これにはいくつかの利点があり、主なものの1つは、Annotated を使用した関数のパラメータがまったく影響を受けないことです。
コードの他の場所でこれらの関数を呼び出す場合、実際のデフォルト値が保持され、エディタが不足している必須引数に気づくのに役立ち、Pythonは実行時に必須引数を渡すことを要求し、さまざまなことやさまざまなライブラリ(たとえば、Typerも間もなく Annotated をサポートする予定であり、その場合、APIとCLIで同じ関数を使用できます)で同じ関数を使用できます。
Annotated は標準Pythonなので、オートコンプリートやインラインエラーなどのエディタやツールのすべての利点を享受できます。
最大の利点の1つは、複数の *パス操作関数* で共有される Annotated 依存関係を作成できるようになったことです。これにより、エディタやツールのすべてのサポートを維持しながら、コードベースのコード重複を大幅に削減できます。
たとえば、次のようなコードがあるとします。
def get_current_user(token: str):
# authenticate user
return User()
@app.get("/items/")
def read_items(user: User = Depends(get_current_user)):
...
@app.post("/items/")
def create_item(*, user: User = Depends(get_current_user), item: Item):
...
@app.get("/items/{item_id}")
def read_item(*, user: User = Depends(get_current_user), item_id: int):
...
@app.delete("/items/{item_id}")
def delete_item(*, user: User = Depends(get_current_user), item_id: int):
...
依存関係に少しコードの重複があります。
user: User = Depends(get_current_user)
...コードベースが大きくなるほど、より顕著になります。
これで、次のようにアノテーション付きの依存関係を一度作成できます。
CurrentUser = Annotated[User, Depends(get_current_user)]
そして、この Annotated 依存関係を再利用できます。
CurrentUser = Annotated[User, Depends(get_current_user)]
@app.get("/items/")
def read_items(user: CurrentUser):
...
@app.post("/items/")
def create_item(user: CurrentUser, item: Item):
...
@app.get("/items/{item_id}")
def read_item(user: CurrentUser, item_id: int):
...
@app.delete("/items/{item_id}")
def delete_item(user: CurrentUser, item_id: int):
...
...そして CurrentUser は User と同じ型情報を持っているので、エディタは期待通りに機能し(オートコンプリートなど)、FastAPIは Annotated で定義された依存関係を理解できます。😎
ほぼすべてのドキュメントが、パラメータと依存関係を宣言する主要な方法として Annotated を使用するように書き直されました。ドキュメントのすべての例には、各Pythonバージョン(最近のバージョンで小さな違い/改善がある場合)について、Annotated を使用したバージョンと使用しないバージョンが含まれています。ドキュメント、例、テストの間に約23K行の新しい行が追加されました。🚀
主な更新されたドキュメントは次のとおりです。
- Pythonの型イントロ
- チュートリアル
コア実装を提供してくれた @nzig と、Xpressoでのインスピレーションとアイデアを提供してくれた @adriangb に特別な感謝を。🚀
新機能¶
ドキュメント¶
- 📝 ドキュメントの
Annotatedを推奨するヒントを調整しました。PR #9270 by @tiangolo。 - 📝 例の順序を更新し、最新のPythonバージョンを最初に、バージョンタブ名を簡素化しました。PR #9269 by @tiangolo。
- 📝 すべてのドキュメントを更新し、
Annotatedを主な推奨事項として使用し、新しい例とテストを追加しました。PR #9268 by @tiangolo。
0.94.1¶
修正¶
0.94.0¶
アップグレード¶
- ⬆️ python-multipartを0.0.6をサポートするようにアップグレード。PR #9212 by @musicinmybrain。
- ⬆️ Starletteのバージョンをアップグレードし、ステート付きの新しい
lifespanをサポート。PR #9239 by @tiangolo。
ドキュメント¶
翻訳¶
内部¶
- ➕ PyPI分類子に
pydanticを追加。PR #5914 by @yezz123。 - ⬆️ blackを22.10.0から23.1.0にバンプ。PR #5953 by @dependabot[bot]。
- ⬆️ types-ujsonを5.6.0.0から5.7.0.1にバンプ。PR #6027 by @dependabot[bot]。
- ⬆️ dawidd6/action-download-artifactを2.24.3から2.26.0にバンプ。PR #6034 by @dependabot[bot]。
- ⬆️ [pre-commit.ci] pre-commitの自動更新。PR #5709 by @pre-commit-ci[bot]。
0.93.0¶
新機能¶
今後は、個別のstartupおよびshutdownイベントを使用する代わりに、@asynccontextmanager(非同期コンテキストマネージャ)でデコレートされたyieldを持つ単一の関数でそのロジックを定義できます。
例えば
from contextlib import asynccontextmanager
from fastapi import FastAPI
def fake_answer_to_everything_ml_model(x: float):
return x * 42
ml_models = {}
@asynccontextmanager
async def lifespan(app: FastAPI):
# Load the ML model
ml_models["answer_to_everything"] = fake_answer_to_everything_ml_model
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["answer_to_everything"](x)
return {"result": result}
注:これは、startupおよびshutdownイベントを使用する代わりに、今後の推奨される方法です。
新しいドキュメントで詳細を読む: 高度なユーザーガイド: ライフスパンイベント。
ドキュメント¶
翻訳¶
- 🌐 タミル語翻訳 - 初期設定。PR #5564 by @gusty1g。
- 🌐
docs/docs/advanced/path-operation-advanced-configuration.mdのフランス語翻訳を追加。PR #9221 by @axel584。 - 🌐
docs/tutorial/debugging.mdのフランス語翻訳を追加。PR #9175 by @frabc。 - 🌐 アルメニア語翻訳設定を開始。PR #5844 by @har8。
- 🌐
deployment/manually.mdのフランス語翻訳を追加。PR #3693 by @rjNemo。
内部¶
- 👷 翻訳ボットのメッセージを更新。PR #9206 by @tiangolo。
- 👷 翻訳ボットを更新し、Discussionsを使用し、PRが完了したときに通知するように変更。PR #9183 by @tiangolo。
- 🔧 スポンサーバッジを更新。PR #9182 by @tiangolo。
- 👥 FastAPI Peopleを更新。PR #9181 by @github-actions[bot]。
- 🔊 FastAPI PeopleでGraphQLエラーをログに記録。エラーを含むペイロードで200を返すため。PR #9171 by @tiangolo。
- 💚 FastAPI PeopleのDockerとgitでのGitHub Actionsの修正/回避策。PR #9169 by @tiangolo。
- ♻️ FastAPI Expertsをリファクタリングし、質問が移行されたため、Discussionsのみを使用するように変更。PR #9165 by @tiangolo。
- ⬆️ アナリティクスをアップグレード。PR #6025 by @tiangolo。
- ⬆️ Typer-CLIのインストールをアップグレードして再有効化。PR #6008 by @tiangolo。
0.92.0¶
🚨 これはセキュリティ修正です。できるだけ早くアップグレードしてください。
アップグレード¶
- ⬆️ Starletteを0.25.0にアップグレード。PR #5996 by @tiangolo。
- これにより、多数の小さなマルチパートフィールド/ファイル(パーツ)を使用することで、高いCPUとメモリを消費し、サービス拒否攻撃を許容する可能性のある脆弱性が解決されます。
- フォーム(例:ファイルアップロード)を使用するアプリケーションのみが影響を受ける可能性があります。
- ほとんどの場合、アップグレードしても破壊的な変更はありません。
0.91.0¶
アップグレード¶
- ⬆️ Starletteのバージョンを
0.24.0にアップグレードし、互換性のために内部をリファクタリング。PR #5985 by @tiangolo。- これにより、ミドルウェアを使用する際の微妙なエラーが解決される可能性があります。Starlette
0.24.0以前では、新しいミドルウェアが追加されるたびに、各ミドルウェアクラスの新しいインスタンスが作成されていました。これは通常問題ありませんでしたが、ミドルウェアクラスが1つのインスタンスで一度だけ作成されることを期待している場合に問題が発生しました。このアップグレードにより、これらのケースが解決されます(@adriangbに感謝!Starlette PR #2017)。これで、ミドルウェアクラスのインスタンスは、最初のリクエストの直前(アプリが最初に呼び出されたとき)に一度だけ作成されます。 - 以前の動作に依存していた場合は、コードを更新する必要があるかもしれません。いつものように、アップグレードをマージする前にテストがすべてパスすることを確認してください。
- これにより、ミドルウェアを使用する際の微妙なエラーが解決される可能性があります。Starlette
0.90.1¶
アップグレード¶
ドキュメント¶
- ✏️
docs/en/docs/project-generation.mdを明確にするために文言を調整。PR #5930 by @chandra-deb。 - ✏️ Pydantic GitHubのURLを更新。PR #5952 by @yezz123。
- 📝 Ciscoからの意見を追加。PR #5981 by @tiangolo。
翻訳¶
内部¶
- ✏️
zip-docs.sh内部スクリプトを更新し、余分なスペースを削除。PR #5931 by @JuanPerdomo00。
0.90.0¶
アップグレード¶
ドキュメント¶
- 📝 外部リンクに記事「Tortoise ORM / FastAPI 整合快速筆記」を追加。PR #5496 by @Leon0824。
- 👥 FastAPI Peopleを更新。PR #5954 by @github-actions[bot]。
- 📝 ヘルプドキュメントを微調整。PR #5960 by @tiangolo。
- 🔧 新しいイシュー選択ツールをGitHub Discussionsに誘導するように更新。PR #5948 by @tiangolo。
- 📝 質問にはGitHub Discussionsを推奨。PR #5944 by @tiangolo。
翻訳¶
- 🌐
docs/docs/tutorial/body-fields.mdのロシア語翻訳を追加。PR #5898 by @simatheone。 - 🌐
docs/docs/help-fastapi.mdのロシア語翻訳を追加。PR #5970 by @tiangolo。 - 🌐
docs/docs/tutorial/static-files.mdのポルトガル語翻訳を追加。PR #5858 by @batlopes。 - 🌐
docs/docs/tutorial/encoder.mdのポルトガル語翻訳を追加。PR #5525 by @felipebpl。 - 🌐
docs/docs/contributing.mdのロシア語翻訳を追加。PR #5870 by @Xewus。
内部¶
- ⬆️ ドキュメントワークフローのUbuntuバージョンをアップグレード。PR #5971 by @tiangolo。
- 🔧 スポンサーバッジを更新。PR #5943 by @tiangolo。
- ✨ GitHub Discussionsを含むFastAPI Expertsを計算。PR #5941 by @tiangolo。
- ⬆️ isortをアップグレードし、pre-commitを更新。PR #5940 by @tiangolo。
- 🔧 Discussionsに質問用のテンプレートを追加。PR #5920 by @tiangolo。
- 🔧 Sponsor Budget InsightをPowensに更新。PR #5916 by @tiangolo。
- 🔧 GitHub Sponsorsバッジデータを更新。PR #5915 by @tiangolo。
0.89.1¶
修正¶
ドキュメント¶
- 📝 戻り値型アノテーション付きレスポンスモデルのドキュメントと例を更新し、ランタイムエラーを更新。PR #5873 by @tiangolo。新しいドキュメントはレスポンスモデル - 戻り値型: その他の戻り値型アノテーション。
- 📝 外部リンクを追加: FastAPI lambda container: serverless simplified。PR #5784 by @rafrasenberg。
翻訳¶
- 🌐
docs/docs/tutorial/first_steps.mdのトルコ語翻訳を追加。PR #5691 by @Kadermiyanyedi。
0.89.0¶
新機能¶
関数戻り値型アノテーションで戻り値型 / response_modelを宣言できるようになりました。
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は戻り値型アノテーションを使用して実行します
- データ検証
- 自動ドキュメント
- 自動クライアントジェネレータを強化できます
- データフィルタリング
このバージョン以前は、response_modelパラメーターを介してのみサポートされていました。
新しいドキュメントで詳細を読む: レスポンスモデル - 戻り値型。
ドキュメント¶
- 📝 外部リンクを追加: Casbinを使用したFastAPIでの認証。PR #5712 by @Xhy-5000。
- ✏️
docs/en/docs/async.mdのタイプミスを修正。PR #5785 by @Kingdageek。 - ✏️
docs/en/docs/deployment/concepts.mdのタイプミスを修正。PR #5824 by @kelbyfaessler。
翻訳¶
- 🌐
docs/docs/fastapi-people.mdのロシア語翻訳を追加。PR #5577 by @Xewus。 - 🌐
docs/docs/benchmarks.mdの中国語翻訳のタイプミスを修正。PR #4269 by @15027668g。 - 🌐
docs/tutorial/cors.mdの韓国語翻訳を追加。PR #3764 by @NinaHwang。
内部¶
- ⬆️ coverage[toml]の要件を<7.0,>=6.5.0から>=6.5.0,<8.0に更新。PR #5801 by @dependabot[bot]。
- ⬆️ 開発用にuvicorn[standard]の要件を<0.19.0,>=0.12.0から>=0.12.0,<0.21.0に更新。PR #5795 by @dependabot[bot]。
- ⬆️ dawidd6/action-download-artifactを2.24.2から2.24.3にバンプ。PR #5842 by @dependabot[bot]。
- 👥 FastAPI Peopleを更新。PR #5825 by @github-actions[bot]。
- ⬆️ types-ujsonを5.5.0から5.6.0.0にバンプ。PR #5735 by @dependabot[bot]。
- ⬆️ pypa/gh-action-pypi-publishを1.5.2から1.6.4にバンプ。PR #5750 by @dependabot[bot]。
- 👷 GitHubアクションゲート/チェックを追加。PR #5492 by @webknjaz。
- 🔧 スポンサーを更新し、Svixを追加。PR #5848 by @tiangolo。
- 🔧 Doistスポンサーを削除。PR #5847 by @tiangolo。
- ⬆️ sqlalchemyの要件を<=1.4.41,>=1.3.18から>=1.3.18,<1.4.43に更新。PR #5540 by @dependabot[bot]。
- ⬆️ nwtgck/actions-netlifyを1.2.4から2.0.0にバンプ。PR #5757 by @dependabot[bot]。
- 👷 ドキュメントプレビューのためにCIアーティファクトのアップロード/ダウンロードをリファクタリング。PR #5793 by @tiangolo。
- ⬆️ pypa/gh-action-pypi-publishを1.5.1から1.5.2にバンプ。PR #5714 by @dependabot[bot]。
- 👥 FastAPI Peopleを更新。PR #5722 by @github-actions[bot]。
- 🔧 スポンサーを更新し、コースバンドルを無効化。PR #5713 by @tiangolo。
- ⬆️ typer[all]の要件を<0.7.0,>=0.6.1から>=0.6.1,<0.8.0に更新。PR #5639 by @dependabot[bot]。
0.88.0¶
アップグレード¶
ドキュメント¶
- ✏️
docs/en/docs/advanced/middleware.mdのドキュメントのタイプミスを修正。PR #5376 by @rifatrakib。
翻訳¶
内部¶
- 👷 CIパフォーマンスを向上させるためにbuild-docsを調整。PR #5699 by @tiangolo。
- ⬆️ [pre-commit.ci] pre-commitの自動更新。PR #5566 by @pre-commit-ci[bot]。
- ⬆️ Ruffをアップグレード。PR #5698 by @tiangolo。
- 👷 requirements.txtに依存するため、Smokeshowのpipキャッシュを削除。PR #5700 by @tiangolo。
- 💚 Smokeshowのpipキャッシュを修正。PR #5697 by @tiangolo。
- 👷 CIキャッシュ処理を修正および調整。PR #5696 by @tiangolo。
- 👷 テストの
setup-pythonアクションを更新し、新しいキャッシュ機能を使用するように変更。PR #5680 by @madkinsz。 - ⬆️ blackを22.8.0から22.10.0にバンプ。PR #5569 by @dependabot[bot]。
0.87.0¶
今回のリリースのハイライト
- Starletteをアップグレード
TestClientがRequestsの代わりにHTTPXをベースにするようになりました。🚀TestClientの使用法には破壊的な変更がある可能性がありますが、@Kludexはテストの移行を自動化するのに役立つbump-testclientを構築しました。bump-testclientを使用する前に、Gitを使用しており、不要な変更(誤検出など)を元に戻せることを確認してください。
- Starletteから再エクスポートされた新しいWebSocketException (およびドキュメント)。
"fastapi[all]"をインストールする際に、パッケージの追加機能all(新しいUvicornバージョンを含む)の依存関係をアップグレードし、緩和しました。- FastAPIの保守を支援する方法に関する新しいドキュメント: FastAPIの保守を支援する。
新機能¶
- ⬆️ エクストラの依存関係を「すべて」にアップグレードし、緩和。PR #5634 by @tiangolo。
- ✨ Starletteの
WebSocketExceptionを再エクスポートし、ドキュメントに追加。PR #5629 by @tiangolo。 - 📝 テストのRequestsへの参照をHTTPXに更新し、HTTPXをエクストラに追加。PR #5628 by @tiangolo。
- ⬆️ Starletteを
0.21.0にアップグレード。新しいHTTPXベースのTestClientを含む。PR #5471 by @pawelrubin。
ドキュメント¶
- ✏️ マージ後のPRレビューからHelp FastAPIを調整。PR #5633 by @tiangolo。
- ✏️ CORSに関するドキュメントを明確化。PR #5627 by @paxcodes。
- 📝 Help FastAPI: FastAPIの保守を支援を更新。PR #5632 by @tiangolo。
翻訳¶
- 🌐
docs/tutorial/query-params.mdの日本語翻訳のハイライト行を修正。PR #2969 by @ftnext。 - 🌐
docs/docs/advanced/additional-status-code.mdのフランス語翻訳を追加。PR #5477 by @axel584。 - 🌐
docs/docs/tutorial/request-forms-and-files.mdのポルトガル語翻訳を追加。PR #5579 by @batlopes。 - 🌐
docs/docs/advanced/websockets.mdの日本語翻訳を追加。PR #4983 by @xryuseix。
内部¶
- ✨ LintingにRuffを使用。PR #5630 by @tiangolo。
- 🛠 Notify Translations GitHubアクションにアラビア語のイシュー番号を追加。PR #5610 by @tiangolo。
- ⬆️ dawidd6/action-download-artifactを2.24.1から2.24.2にバンプ。PR #5609 by @dependabot[bot]。
- ⬆️ dawidd6/action-download-artifactを2.24.0から2.24.1にバンプ。PR #5603 by @dependabot[bot]。
- 📝 カバレッジバッジをSamuel ColvinのSmokeshowを使用するように更新。PR #5585 by @tiangolo。
0.86.0¶
新機能¶
修正¶
ドキュメント¶
- ✏️
docs/en/docs/tutorial/security/oauth2-jwt.mdのタイプミスを修正。PR #5584 by @vivekashok1221。
翻訳¶
- 🌐
docs/docs/python-types.mdの中国語翻訳の文言を更新。PR #5416 by @supercaizehua。 - 🌐
docs/docs/deployment/index.mdのロシア語翻訳を追加。PR #5336 by @Xewus。 - 🌐
docs/tutorial/security/oauth2-jwt.mdの中国語翻訳を更新。PR #3846 by @jaystone776。
内部¶
- 👷 FastAPI Peopleを更新し、ボット(pre-commit-ci、dependabot)を除外。PR #5586 by @tiangolo。
- 🎨
test_starlette_exception.pyでOpenAPI JSONをフォーマット。PR #5379 by @iudeen。 - 👷 内部テストのためにCodecovからSmokeshowとpytest-covを純粋なカバレッジに切り替え。PR #5583 by @tiangolo。
- 👥 FastAPI Peopleを更新。PR #5571 by @github-actions[bot]。
0.85.2¶
ドキュメント¶
- ✏️
docs/en/docs/async.mdの文法を修正し、依存関係への役立つリンクを追加。PR #5432 by @pamelafox。 - ✏️
alternatives.mdの壊れたリンクを修正。PR #5455 by @su-shubham。 - ✏️
pipのZshでの互換性のための貢献に関するドキュメントのタイプミスを修正。PR #5523 by @zhangbo2012。 - 📝 Python 3.9ではなくPython 3.10の例を含むドキュメントのタイプミスを修正。PR #5545 by @feliciss。
翻訳¶
- 🌐
docs/docs/tutorial/request-forms.mdのポルトガル語翻訳を追加。PR #4934 by @batlopes。 - 🌐
docs/docs/tutorial/dependencies/classes-as-dependencies.mdの中国語翻訳を追加。PR #4971 by @Zssaer。 - 🌐
deployment/deta.mdのフランス語翻訳を追加。PR #3692 by @rjNemo。 - 🌐
docs/docs/tutorial/query-params-str-validations.mdの中国語翻訳を更新。PR #5255 by @hjlarry。 - 🌐
docs/docs/tutorial/sql-databases.mdの中国語翻訳を追加。PR #4999 by @Zssaer。 - 🌐
docs/docs/advanced/wsgi.mdの中国語翻訳を追加。PR #4505 by @ASpathfinder。 - 🌐
docs/docs/tutorial/body-multiple-params.mdのポルトガル語翻訳を追加。PR #4111 by @lbmendes。 - 🌐
docs/docs/tutorial/path-params-numeric-validations.mdのポルトガル語翻訳を追加。PR #4099 by @lbmendes。 - 🌐
deployment/versions.mdのフランス語翻訳を追加。PR #3690 by @rjNemo。 - 🌐
docs/docs/help-fastapi.mdのフランス語翻訳を追加。PR #2233 by @JulianMaurin。 - 🌐
docs/docs/tutorial/security/first-steps.mdの中国語翻訳のタイプミスを修正。PR #5530 by @yuki1sntSnow。 - 🌐
docs/docs/tutorial/response-status-code.mdのポルトガル語翻訳を追加。PR #4922 by @batlopes。 - 🔧 タミル語翻訳の設定を追加。PR #5563 by @tiangolo。
内部¶
- ⬆️ 内部依存関係mypyを0.971から0.982にバンプ。PR #5541 by @dependabot[bot]。
- ⬆️ nwtgck/actions-netlifyを1.2.3から1.2.4にバンプ。PR #5507 by @dependabot[bot]。
- ⬆️ 内部依存関係types-ujsonを5.4.0から5.5.0にバンプ。PR #5537 by @dependabot[bot]。
- ⬆️ dawidd6/action-download-artifactを2.23.0から2.24.0にバンプ。PR #5508 by @dependabot[bot]。
- ⬆️ 内部依存関係pytest-covの要件を<4.0.0,>=2.12.0から>=2.12.0,<5.0.0に更新。PR #5539 by @dependabot[bot]。
- ⬆️ [pre-commit.ci] pre-commitの自動更新。PR #5536 by @pre-commit-ci[bot]。
- 🐛 内部のTrioテストの警告を修正。PR #5547 by @samuelcolvin。
- ⬆️ [pre-commit.ci] pre-commitの自動更新。PR #5408 by @pre-commit-ci[bot]。
- ⬆️ Typerをアップグレードし、ドキュメントのスクリプトにRichを含める。PR #5502 by @tiangolo。
- 🐛 MkDocs Material検索プラグインを修正/有効にするために、サブプロセスとして言語の
mkdocsを呼び出すことを修正。PR #5501 by @tiangolo。
0.85.1¶
修正¶
- 🐛 OpenAPIステータスコードの文字列(
default、1XX、2XX、3XX、4XX、5XX)のサポートを修正。PR #5187 by @JarroVGIT。
ドキュメント¶
内部¶
- 👥 FastAPI Peopleを更新。PR #5447 by @github-actions[bot]。
- 🔧 Material for MkDocs検索プラグインを無効化。PR #5495 by @tiangolo。
- 🔇 CIのTrioテストでの警告を無視。PR #5483 by @samuelcolvin。
0.85.0¶
新機能¶
- ⬆️ Starletteの必須バージョンを
0.19.1から0.20.4にアップグレード。最初のPR #4820 by @Kludex。- これにはStarletteのいくつかのバグ修正が含まれています。
- ⬆️ 公開エクストラのUvicornの最大バージョンをアップグレード: all.
>=0.12.0,<0.18.0から>=0.12.0,<0.19.0へ。PR #5401 by @tiangolo。
内部¶
- ⬆️ ドキュメントと開発の内部エクストラの依存関係をアップグレード: Typer、Uvicorn。PR #5400 by @tiangolo。
- ⬆️ テストの依存関係をアップグレード: Black、HTTPX、databases、types-ujson。PR #5399 by @tiangolo。
- ⬆️ mypyをアップグレードし、内部の型アノテーションを調整。PR #5398 by @tiangolo。
- 🔧 テストの依存関係を更新し、Pytestをアップグレードし、依存関係をdevからtestに移動。PR #5396 by @tiangolo。
0.84.0¶
破壊的変更¶
このバージョンのFastAPIはPython 3.6のサポートを終了します。🔥 サポートされているPythonバージョン(3.7以降)にアップグレードしてください。Python 3.6はかなり前にEOLに達しています。😅☠
0.83.0¶
🚨 これはPython 3.6をサポートする最後のリリース(または最後のリリースの1つ)になるでしょう。🔥
Python 3.6は、約1年前にEOLに達し、Pythonによってサポートされなくなりました。
皆さんは、すでにサポートされているPythonバージョンに更新したことでしょう。まだ更新していない場合は、本当に更新すべきです。
新機能¶
修正¶
- 🐛
HTTPExceptionがコンテンツのないステータスコードを持つ場合に発生するRuntimeErrorを修正。PR #5365 by @iudeen。 - 🐛 デフォルトの
status_codeが空だが、response.status_codeを持つResponseパラメーターが設定されている場合に、空の応答ボディとなる問題を修正。PR #5360 by @tmeckel。
ドキュメント¶
内部¶
- ⬆️ [pre-commit.ci] pre-commitの自動更新。PR #5352 by @pre-commit-ci[bot]。
0.82.0¶
🚨 これはPython 3.6をサポートする最後のリリース(または最後のリリースの1つ)になるでしょう。🔥
Python 3.6は、約1年前にEOLに達し、Pythonによってサポートされなくなりました。
皆さんは、すでにサポートされているPythonバージョンに更新したことでしょう。まだ更新していない場合は、本当に更新すべきです。
新機能¶
- ✨
fastapi.websocketsでWebSocketStateをエクスポート。PR #4376 by @matiuszka。 - ✨ Pydanticモデルのドキュメント文字列にPythonの内部記述をサポート。PR #3032 by @Kludex。
- ✨
ORJSONResponseを更新し、非strキーとNumpy配列のシリアル化をサポート。PR #3892 by @baby5。
修正¶
- 🐛
yieldを持つ依存関係の終了コードが常に実行されるように、それらの容量リミッターを削除し、デッドロックなしでDB接続を閉じることを可能にする。PR #5122 by @adriangb。 - 🐛 FastAPI People GitHub Actionを修正: GraphQLクエリリクエストのHTTPXタイムアウトを設定。PR #5222 by @iudeen。
- 🐛 必須として定義されたパラメーターが、他の依存関係でオプションとして定義されていても、OpenAPIで必須として維持されることを確認。PR #4319 by @cd17822。
- 🐛 WebSocketsでのパスパラメーターのサポートを修正。PR #3879 by @davidbrochart。
ドキュメント¶
- ✏️ Hypercornリンクを更新。現在はGitHubを指している。PR #5346 by @baconfield。
- ✏️
docs/en/docs/advanced/dataclasses.mdの文言を調整。PR #3698 by @pfackeldey。 - 📝 Response Modelsの説明にPython 3.10の
X | Y演算子に関する注記を追加。PR #5307 by @MendyLanda。 - 📝 New Relicの記事へのリンクを追加: 「Pythonエージェントを使用してFastAPIアプリケーションのパフォーマンスを監視する方法」。PR #5260 by @sjyothi54。
- 📝
ORJSONResponseのドキュメントを更新し、パフォーマンス向上に関する詳細を追加。PR #2615 by @falkben。 - 📝 カスタムResponseクラスを作成するためのドキュメントを追加。PR #5331 by @tiangolo。
- 📝 フォームデータフィールドのエイリアス使用に関するヒントを追加。PR #5329 by @tiangolo。
翻訳¶
- 🌐
docs/docs/features.mdのロシア語翻訳を追加。PR #5315 by @Xewus。 - 🌐
docs/docs/tutorial/request-files.mdの中国語翻訳を更新。PR #4529 by @ASpathfinder。 - 🌐
docs/docs/tutorial/encoder.mdの中国語翻訳を追加。PR #4969 by @Zssaer。 - 🌐
background-task.mdのポルトガル語翻訳のMkDocsファイル行を修正。PR #5242 by @ComicShrimp。
内部¶
- 👥 FastAPI Peopleを更新。PR #5347 by @github-actions[bot]。
- ⬆️ dawidd6/action-download-artifactを2.22.0から2.23.0にバンプ。PR #5321 by @dependabot[bot]。
- ⬆️ [pre-commit.ci] pre-commitの自動更新。PR #5318 by @pre-commit-ci[bot]。
- ✏️ 小さなコードハイライト行エラーを修正。PR #5256 by @hjlarry。
- ♻️ 内部の小さなリファクタリング。コードとの整合性を保つため、削除メソッドの
operation_idパラメーターの位置を移動。PR #4474 by @hiel。 - 🔧 スポンサーを更新し、ImgWhaleを無効化。PR #5338 by @tiangolo。
0.81.0¶
新機能¶
- ✨ JSが無効な場合にReDoc
<noscript>警告を追加。PR #5074 by @evroon。 - ✨ パラメーター(例:クエリ)での
FrozenSetのサポートを追加。PR #2938 by @juntatalor。 - ✨ カスタムミドルウェアが
HTTPExceptionを発生させ、それらを伝播できるようにする。PR #2036 by @ghandic。 - ✨ リクエストボディの無効なJSONを処理する際に
json.JSONDecodeError情報を保持し、その情報を使用するカスタム例外ハンドラーをサポート。PR #4057 by @UKnowWhoIm。
修正¶
- 🐛 Pydantic互換フィールドを持つデータクラスの
jsonable_encoderを修正。PR #3607 by @himbeles。 - 🐛 パラメーターリストで
openapi_extrasを拡張するサポートを修正。PR #4267 by @orilevari。
ドキュメント¶
- ✏️
docs/en/docs/python-types.mdの簡単なタイプミスを修正。PR #5193 by @GlitchingCore。 - ✏️
tests/test_schema_extra_examples.pyのタイプミスを修正。PR #5126 by @supraaxdd。 - ✏️
docs/en/docs/tutorial/path-params-numeric-validations.mdのタイプミスを修正。PR #5142 by @invisibleroads。 - 📝 依存関係のインストール時にエラーを避けるため、venvでpipをアップグレードする手順を
docs/en/docs/contributing.mdに追加。PR #5181 by @edisnake。 - ✏️ チュートリアル
docs/en/docs/tutorial/body-nested-models.mdのテキストを書き直し、明確化。PR #5169 by @papb。 - ✏️
docs/en/docs/features.mdの軽微なタイプミスを修正。PR #5206 by @OtherBarry。 - ✏️
docs/en/docs/async.mdの軽微なタイプミスを修正。PR #5125 by @Ksenofanex。 - 📝 ドキュメントに外部リンクを追加: "Fastapi, Docker(Docker compose) and Postgres"。PR #5033 by @krishnardt。
- 📝 Additional Responsesのドキュメントの例を簡素化し、不要な
elseを削除。PR #4693 by @adriangb。 - 📝 ドキュメントを更新し、列挙型を等価性ではなく同一性で比較。PR #4905 by @MicaelJarniac。
- ✏️
docs/en/docs/python-types.mdのタイプミスを修正。PR #4886 by @MicaelJarniac。 - 🎨 OpenAPIコールバックのドキュメントの構文ハイライトを修正。PR #4368 by @xncbf。
- ✏️ ドキュメントファイル
typo-fix-path-params-numeric-validations.mdの紛らわしい文を書き直し。PR #3219 by @ccrenfroe。 - 📝 非ASCII文字に対応するため、HTTP Basic認証を
secrets.compare_digest()で処理するドキュメントを更新。PR #3536 by @lewoudar。 - 📝 テストのドキュメントを更新し、相対インポートの例を修正。PR #5302 by @tiangolo。
翻訳¶
- 🌐
docs/docs/index.mdのロシア語翻訳を追加。PR #5289 by @impocode。 - 🌐
docs/docs/deployment/versions.mdのロシア語翻訳を追加。PR #4985 by @emp7yhead。 - 🌐
docs/docs/tutorial/header-params.mdのポルトガル語翻訳を追加。PR #4921 by @batlopes。 - 🌐 欠落しているリンクのために
ko/mkdocs.ymlを更新。PR #5020 by @dalinaum。
内部¶
- ⬆️ dawidd6/action-download-artifactを2.21.1から2.22.0にバンプ。PR #5258 by @dependabot[bot]。
- ⬆️ [pre-commit.ci] pre-commitの自動更新。PR #5196 by @pre-commit-ci[bot]。
- 🔥
tests/test_tutorial/test_sql_databases/test_sql_databases.pyの重複テストを削除。PR #5040 by @raccoonyy。 - ♻️
fastapi/utils.pyでのdict値抽出を簡素化し、キー検索を最小限に抑える。PR #5057 by @pylounge。 - 🔧
auto_errorのタイプヒントを修正。Optional[bool]である必要はない。PR #4933 by @DavidKimDY。 - 🔧 mypyの設定を更新し、手動設定の代わりに
strict = trueを使用。PR #4605 by @michaeloliverx。 - ♻️
fastapi/utils.pyでdict()を{}に変更。PR #3138 by @ShahriyarR。 - ♻️
jsonable_encoder内のエラーの内部変数を移動し、関連コードを近づける。PR #4560 by @GuilleQP。 - ♻️
fastapi/dependencies/utils.pyでの条件付き代入を簡素化。PR #4597 by @cikay。 - ⬆️ 内部コードのFlake8の許容バージョンを
flake8 >=3.8.3,<6.0.0にアップグレード。PR #4097 by @jamescurtin。 - 🍱 Jinaバナーを更新し、タイプミスを修正。PR #5301 by @tiangolo。
0.80.0¶
破壊的変更 - 修正¶
response_modelがNoneを含まない型で使用されているにもかかわらず、関数がNoneを返すと、内部サーバーエラーが発生するようになりました。これは、response_modelの契約に違反する無効なデータが返されているためです。このリリース以前は、Noneを返すことでその契約を破ることが許されていました。
たとえば、次のようなアプリがある場合
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", response_model=Item)
def get_invalid_none():
return None
...パス/items/invalidnoneを呼び出すとエラーが発生します。NoneはItemで宣言されたresponse_modelの有効な型ではないためです。
また、気づかずに暗黙的にNoneを返している場合もあります。
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", response_model=Item)
def get_invalid_none():
if flag:
return {"name": "foo"}
# if flag is False, at this point the function will implicitly return None
response_modelを使用するパス操作があり、Noneを返すことが許可される必要がある場合は、Union[Something, None]を使用してresponse_modelで明示的に指定してください。
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", response_model=Union[Item, None])
def get_invalid_none():
return None
このようにすることで、データは正しく検証され、内部サーバーエラーは発生せず、このパス操作がNone(またはJSONではnull)を返す可能性があることもドキュメントに反映されます。
修正¶
- ⬆️ Swagger UIの
oauth2-redirect.htmlコピーをアップグレードし、Swagger UIの認可コードフローのフレーバーの修正を含める。PR #3439 最初のPR by @koonpeng。 - ♻️ ドキュメント文字列から抽出された説明から空の空白を削除。PR #2821 by @and-semakin。
- 🐛
Security()と他の場所(例:Depends())で異なるOAuth2スコープを持つ依存関係を使用する場合のキャッシュされた依存関係を修正。PR #2945 by @laggardkernel。 - 🎨
response_modelの型アノテーションを更新し、Union[str, None]のようなものを許可。PR #5294 by @tiangolo。
翻訳¶
- 🌐
docs/docs/features.mdのドイツ語翻訳のタイプミスを修正。PR #4533 by @0xflotus。 - 🌐 韓国語翻訳の
encoder.mdにナビゲーターの不足を追加。PR #5238 by @joonas-yoon。 - (誤って空のPRをマージ) #4913。
0.79.1¶
修正¶
- 🐛 Pydantic以外のオブジェクトで
includeおよびexcludeパラメーターを使用するjsonable_encoderを修正。PR #2606 by @xaviml。 - 🐛 重複するエイリアス名がOpenAPIに表示されないエッジケースを修正。PR #2351 by @klaa97。
- 📝 チュートリアルドキュメントにその他の依存関係のインストールを追加。PR #2126 by @TeoZosa。
ドキュメント¶
- 📝 イラストのクレジットをKetrina Thompsonに付記。PR #5284 by @tiangolo。
- ✏️
python-types.mdのタイプミスを修正。PR #5116 by @Kludex。 - ✏️
docs/en/docs/python-types.mdのタイプミスを修正。PR #5007 by @atiabbz。 - 📝 非同期トピックの導入から不要なDjango/Flaskへの参照を削除。PR #5280 by @carltongibson。
- ✨ 同時バーガーと並列バーガーのイラストを追加。PR #5277 by @tiangolo。更新されたドキュメントは以下で確認できます: 並行性とバーガー。
翻訳¶
- 🌐
docs/docs/tutorial/query-params.mdのポルトガル語翻訳を追加。PR #4775 by @batlopes。 - 🌐
docs/docs/tutorial/security/first-steps.mdのポルトガル語翻訳を追加。PR #4954 by @FLAIR7。 - 🌐
docs/docs/advanced/response-cookies.mdの翻訳を追加。PR #4638 by @zhangbo2012。 - 🌐
docs/docs/deployment/index.mdのフランス語翻訳を追加。PR #3689 by @rjNemo。 - 🌐
tutorial/handling-errors.mdのポルトガル語翻訳を追加。PR #4769 by @frnsimoes。 - 🌐
docs/docs/history-design-future.mdのフランス語翻訳を追加。PR #3451 by @rjNemo。 - 🌐
docs/docs/tutorial/background-tasks.mdのロシア語翻訳を追加。PR #4854 by @AdmiralDesu。 - 🌐
docs/tutorial/security/first-steps.mdの中国語翻訳を追加。PR #3841 by @jaystone776。 - 🌐
docs/docs/advanced/nosql-databases.mdの日本語翻訳を追加。PR #4205 by @sUeharaE4。 - 🌐
docs/docs/tutorial/index.mdのインドネシア語翻訳を追加。PR #4705 by @bas-baskara。 - 🌐
docs/docs/index.mdのペルシャ語翻訳を追加し、右から左へのCSSを調整。PR #2395 by @mohsen-mahmoodi。
内部¶
- 🔧 Jinaのスポンサーシップを更新。PR #5283 by @tiangolo。
- 🔧 Jinaのスポンサーシップを更新。PR #5272 by @tiangolo。
- 🔧 スポンサー、Striveworksバッジを更新。PR #5179 by @tiangolo。
0.79.0¶
修正 - 破壊的変更¶
- 🐛 ボディをサポートしないステータスコードからボディを削除するのを修正。PR #5145 by @tiangolo。
status_codeを204、304、または200未満(1xx)の任意のコードに設定すると、レスポンスからボディが削除されます。- これにより、Uvicornで発生する可能性のあるエラー
RuntimeError: Response content longer than Content-Lengthが修正されます。 - これにより、
fastapi.openapi.constants.STATUS_CODES_WITH_NO_BODYが削除され、utils内の関数に置き換えられます。
翻訳¶
- 🌐 ヘブライ語翻訳の開始。PR #5050 by @itay-raveh。
- 🔧 スウェーデン語翻訳通知の設定を追加。PR #5147 by @tiangolo。
- 🌐 スウェーデン語翻訳の開始。PR #5062 by @MrRawbin。
- 🌐
docs/docs/advanced/index.mdの日本語翻訳を追加。PR #5043 by @wakabame。 - 🌐🇵🇱
docs/docs/tutorial/first-steps.mdのポーランド語翻訳を追加。PR #5024 by @Valaraucoo。
内部¶
- 🔧 ヘブライ語の翻訳通知を更新。PR #5158 by @tiangolo。
- 🔧 Dependabotのコミットメッセージを更新。PR #5156 by @tiangolo。
- ⬆️ actions/upload-artifactを2から3にバンプ。PR #5148 by @dependabot[bot]。
- ⬆️ actions/cacheを2から3にバンプ。PR #5149 by @dependabot[bot]。
- 🔧 スポンサーバッジの設定を更新。PR #5155 by @tiangolo。
- 👥 FastAPI Peopleを更新。PR #5154 by @tiangolo。
- 🔧 Jinaスポンサーバッジを更新。PR #5151 by @tiangolo。
- ⬆️ actions/checkoutを2から3にバンプ。PR #5133 by @dependabot[bot]。
- ⬆️ [pre-commit.ci] pre-commitの自動更新。PR #5030 by @pre-commit-ci[bot]。
- ⬆️ nwtgck/actions-netlifyを1.1.5から1.2.3にバンプ。PR #5132 by @dependabot[bot]。
- ⬆️ codecov/codecov-actionを2から3にバンプ。PR #5131 by @dependabot[bot]。
- ⬆️ dawidd6/action-download-artifactを2.9.0から2.21.1にバンプ。PR #5130 by @dependabot[bot]。
- ⬆️ actions/setup-pythonを2から4にバンプ。PR #5129 by @dependabot[bot]。
- 👷 Dependabotを追加。PR #5128 by @tiangolo。
- ♻️ 内部ユーティリティで
Optional[X]からUnion[X, None]に移動。PR #5124 by @tiangolo。 - 🔧 スポンサーを更新し、Dropbaseを削除し、Doistを追加。PR #5096 by @tiangolo。
- 🔧 スポンサーを更新し、Classiqを削除し、ImgWhaleを追加。PR #5079 by @tiangolo。
0.78.0¶
新機能¶
-
✨ 必須パラメーターを宣言する際に
...を省略するサポートを追加。 -
Path() Query()Header()Cookie()Body()Form()File()
新しいドキュメントはチュートリアル - クエリパラメーターと文字列検証 - 必須にする。PR #4906 by @tiangolo。
これまでは、追加の検証やメタデータを追加しながら必須パラメーターを宣言するには、...(Ellipsis)を使用する必要がありました。
例えば
from fastapi import Cookie, FastAPI, Header, Path, Query
app = FastAPI()
@app.get("/items/{item_id}")
def main(
item_id: int = Path(default=..., gt=0),
query: str = Query(default=..., max_length=10),
session: str = Cookie(default=..., min_length=3),
x_trace: str = Header(default=..., title="Tracing header"),
):
return {"message": "Hello World"}
...これらすべてのパラメーターは、デフォルト値が...(Ellipsis)であるため必須です。
しかし、今ではPydanticフィールドで行われるように、デフォルト値を省略するだけで、パラメーターは引き続き必須と見なされます。
✨ 例えば、これがサポートされるようになりました。
from fastapi import Cookie, FastAPI, Header, Path, Query
app = FastAPI()
@app.get("/items/{item_id}")
def main(
item_id: int = Path(gt=0),
query: str = Query(max_length=10),
session: str = Cookie(min_length=3),
x_trace: str = Header(title="Tracing header"),
):
return {"message": "Hello World"}
パラメーターをオプション(必須ではない)として宣言するには、常にデフォルト値を設定できます。例えば、Noneを使用します。
from typing import Union
from fastapi import Cookie, FastAPI, Header, Path, Query
app = FastAPI()
@app.get("/items/{item_id}")
def main(
item_id: int = Path(gt=0),
query: Union[str, None] = Query(default=None, max_length=10),
session: Union[str, None] = Cookie(default=None, min_length=3),
x_trace: Union[str, None] = Header(default=None, title="Tracing header"),
):
return {"message": "Hello World"}
ドキュメント¶
- 📝
OptionalではなくUnionを推奨するドキュメントを追加し、ソース例を移行。新しいドキュメントはPython型入門 -UnionまたはOptionalの使用。PR #4908 by @tiangolo。 - 🎨 パス操作の高度な設定のチュートリアルで設定されたデフォルト値を修正。PR #4899 by @tiangolo。
- 📝 再定義されたパス操作に関するドキュメントを追加。PR #4864 by @madkinsz。
- 📝 Celeryドキュメントのリンクを更新。PR #4736 by @sammyzord。
- ✏️ ボディの入れ子モデルのチュートリアルで、セットを含むサンプルコードを修正。PR #3030 by @hitrust。
- ✏️ Pydanticドキュメントへのリンクを修正。PR #4670 by @kinuax。
- 📝 Swagger UIのセルフホスティングに関するドキュメントを、新しいソースリンクで更新。PR #4813 by @Kastakin。
- 📝 外部記事へのリンクを追加: DjangoチュートリアルからFastAPIとReactで投票アプリを構築。PR #4778 by @jbrocher。
- 📝 「ボディ - フィールド」ドキュメントに、追加のスキーマ拡張機能に関するOpenAPI警告を追加。PR #4846 by @ml-evs。
翻訳¶
- 🌐
docs/docs/tutorial/testing.mdの日本語翻訳のコード例を修正。PR #4623 by @hirotoKirimaru。
内部¶
- ♻️
fastapi/utils.pyでdict値の抽出をリファクタリングし、キー検索を最小限に抑える。PR #3139 by @ShahriyarR。 - ✅ 必須のnull許容パラメーターとボディフィールドのテストを追加。PR #4907 by @tiangolo。
- 👷 CIでのMkDocs InsidersのMaterialのインストールを修正。PR #4897 by @tiangolo。
- 👷 カスタムGitHubアクションの代わりにpre-commit CIを追加。PR #4896 by @tiangolo。
- 👷 pre-commit GitHubアクションワークフローを追加。PR #4895 by @tiangolo。
- 📝 OSの設定に基づいてドキュメントのダークモード自動切り替えを追加。PR #4869 by @ComicShrimp。
- 🔥 すでに他の場所でカバーされている、使用されていない古い保留中のテストを削除。PR #4891 by @tiangolo。
- 🔧 pre-commitにPythonフォーマットフックを追加。PR #4890 by @tiangolo。
- 🔧 最初の設定と最初のフォーマットパスでpre-commitを追加。PR #4888 by @tiangolo。
- 👷 フォークでのMkDocsのMaterialのCIインストールを無効化。PR #4410 by @dolfinus。
0.77.1¶
アップグレード¶
ドキュメント¶
- 📝 ドイツ語記事「REST-API Programmieren mittels Python und dem FastAPI Modul」へのリンクを追加。PR #4624 by @fschuermeyer。
- 📝 外部リンクを追加: PyCharm Guide to FastAPI。PR #4512 by @mukulmantosh。
- 📝 外部記事へのリンクを追加: FastAPIとSupabaseでAPIを構築し、Detaにデプロイ。PR #4440 by @aUnicornDev。
- ✏️
docs/en/docs/tutorial/security/first-steps.mdの小さなタイプミスを修正。PR #4515 by @KikoIlievski。
翻訳¶
- 🌐
docs/docs/tutorial/index.mdのポーランド語翻訳を追加。PR #4516 by @MKaczkow。 - ✏️ デプロイのタイプミスを修正。PR #4629 by @raisulislam541。
- 🌐
docs/docs/help-fastapi.mdのポルトガル語翻訳を追加。PR #4583 by @mateusjs。
内部¶
0.77.0¶
アップグレード¶
- ⬆️ Starletteを0.18.0から0.19.0にアップグレード。PR #4488 by @Kludex。
- 明示的な
JSONResponseを作成する場合、content引数が必須になりました。
- 明示的な
ドキュメント¶
- 📝 記事への外部リンクを追加:ConfZでFastAPIをシームレスに設定。PR #4414 by @silvanmelchior。
- 📝 記事への外部リンクを追加:FastAPIの試すべき5つの高度な機能。PR #4436 by @kaustubhgupta。
- ✏
TestClientに関するドキュメントの読みやすさを改善するため、表現を修正。PR #4389 by @rgilton。 - 📝 Kafka、FastAPI、およびAblyに関するブログ記事への外部リンクを追加。PR #4044 by @Ugbot。
- ✏
docs/en/docs/tutorial/sql-databases.mdのタイプミスを修正。PR #4875 by @wpyoga。 - ✏
docs/en/docs/async.mdのタイプミスを修正。PR #4726 by @Prezu。
翻訳¶
- 🌐
docs/docs/tutorial/query-params-str-validations.mdのソース例のハイライトを更新。PR #4237 by @caimaoy。 - 🌐 AnyIO以降不要になったため、aiofilesへの翻訳ドキュメントの参照を削除。PR #3594 by @alonme。
- ✏ 🌐
docs/docs/tutorial/path-params.mdのポルトガル語翻訳のタイプミスを修正。PR #4722 by @CleoMenezesJr。 - 🌐 一部の言語の翻訳向けライブドキュメントサーバーを修正。PR #4729 by @wakabame。
- 🌐
docs/docs/tutorial/cookie-params.mdのポルトガル語翻訳を追加。PR #4112 by @lbmendes。 - 🌐
docs/tutorial/body.mdのフランス語翻訳を修正。PR #4332 by @Smlep。 - 🌐
docs/docs/advanced/conditional-openapi.mdの日本語翻訳を追加。PR #2631 by @sh0nk。 - 🌐
docs/docs/tutorial/body.mdの日本語翻訳を修正。PR #3062 by @a-takahashi223。 - 🌐
docs/docs/tutorial/background-tasks.mdのポルトガル語翻訳を追加。PR #2170 by @izaguerreiro。 - 🌐
docs/deployment/deta.mdのポルトガル語翻訳を追加。PR #4442 by @lsglucas。 - 🌐
docs/async.mdのロシア語翻訳を追加。PR #4036 by @Winand。 - 🌐
docs/tutorial/body.mdのポルトガル語翻訳を追加。PR #3960 by @leandrodesouzadev。 - 🌐
tutorial/extra-data-types.mdのポルトガル語翻訳を追加。PR #4077 by @luccasmmg。 - 🌐
docs/features.mdのドイツ語翻訳を更新。PR #3905 by @jomue。
0.76.0¶
アップグレード¶
内部¶
- 👥 FastAPI Peopleを更新。PR #4847 by @github-actions[bot]。
- 🔧 Budget Insightスポンサーを追加。PR #4824 by @tiangolo。
- 🍱 スポンサー、ExoFlareバッジを更新。PR #4822 by @tiangolo。
- 🔧 スポンサーを更新し、Dropbaseを再度有効にし、TalkPythonのリンクを更新。PR #4821 by @tiangolo。
0.75.2¶
このリリースには、セキュリティ問題に対処するサードパーティパッケージのアップグレードが含まれています。これらの問題が特定のユーザーに影響しない可能性もありますが、できるだけ早くアップグレードしてください。
修正¶
- ✅ 新しい固定された
ValidationErrorJSONスキーマで新規/最近のテストを修正。PR #4806 by @tiangolo。 - 🐛 フィールド
locでのValidationErrorのJSONスキーマを修正。PR #3810 by @dconathan。 - 🐛 APIRouter WebSocketsのプレフィックスサポートを修正。PR #2640 by @Kludex。
アップグレード¶
- ⬆️ CVE-2021-45958のujson範囲を更新。PR #4804 by @tiangolo。
- ⬆️ エクストラ「all」の依存関係の上限範囲をアップグレード。PR #4803 by @tiangolo。
- ⬆ Swagger UI - swagger-ui-dist@4をアップグレード。これはSwagger UI自体におけるセキュリティ問題に対処するもので、HTMLがSwagger UIに挿入される可能性がありました。特にSwagger UI(
/docs)を非専門家ユーザーに公開している場合は、できるだけ早くアップグレードしてください。PR #4347 by @RAlanWright。
内部¶
- 🔧 スポンサーを更新。追加:ExoFlare、Ines Course;削除:Dropbase、Vim.so、Calmcode;更新:Striveworks、TalkPython、TestDriven.io。PR #4805 by @tiangolo。
- ⬆️ Codecov GitHub Actionをアップグレード。PR #4801 by @tiangolo。
0.75.1¶
翻訳¶
- 🌐 オランダ語翻訳を開始。PR #4703 by @tiangolo。
- 🌐 ペルシャ語/ファルシ語翻訳を開始。PR #4243 by @aminalaee。
- ✏ エラー処理に関する文を修正。PR #1993 by @khuhroproeza。
内部¶
- 👥 FastAPI Peopleを更新。PR #4752 by @github-actions[bot]。
- ➖ Pydantic CIをブロック解除するため、一時的にtyper-cliを依存関係から削除し、Blackをアップグレード。PR #4754 by @tiangolo。
- 🔧 オランダ語翻訳を通知する設定を追加。PR #4702 by @tiangolo。
- 👥 FastAPI Peopleを更新。PR #4699 by @github-actions[bot]。
- 🐛 コミットに不足しているファイルを含めるため、FastAPI People生成を修正。PR #4695 by @tiangolo。
- 🔧 Classiqスポンサーリンクを更新。PR #4688 by @tiangolo。
- 🔧 Classiqスポンサーを追加。PR #4671 by @tiangolo。
- 📝 すばやい質問をしたい人を助けるため、JinaのQA Botをドキュメントに追加。PR #4655 by @tiangolo (元のPR #4626 by @hanxiaoに基づく)。
0.75.0¶
機能¶
- ✨ カスタム
generate_unique_id_functionのサポートとクライアント生成に関するドキュメントを追加。新ドキュメント: Advanced - Generate Clients. PR #4650 by @tiangolo。
0.74.1¶
機能¶
0.74.0¶
破壊的変更¶
yieldを持つ依存関係は、HTTPExceptionおよびカスタム例外をキャッチできるようになりました。例えば
async def get_database():
with Session() as session:
try:
yield session
except HTTPException:
session.rollback()
raise
finally:
session.close()
yieldを持つ依存関係が例外を処理した後(または処理しなかった場合)、例外は再度発生します。これにより、例外ハンドラーがそれをキャッチしたり、最終的にはデフォルトの内部ServerErrorMiddlewareがキャッチしたりできます。
yieldを持つ依存関係が例外を受け取らないことに依存していて、例外を受け取るとyieldの後のコードが壊れる場合、tryとfinallyブロックを使用できます。
async def do_something():
try:
yield something
finally:
some_cleanup()
...そうすれば、どんな例外が発生してもfinallyブロックが実行されます。
機能¶
- 上記の同じPR #4575は、
yieldの前後のコードのcontextvarsコンテキストも修正します。これがこのPRの主な目的でした。
これは、yieldの前にコンテキスト変数に値を設定した場合、その値がyieldの後でも利用可能になることを意味します(直感的に期待される通り)。また、その後トークンでコンテキスト変数をリセットできることも意味します。
例えば、これは現在正しく動作します
from contextvars import ContextVar
from typing import Any, Dict, Optional
legacy_request_state_context_var: ContextVar[Optional[Dict[str, Any]]] = ContextVar(
"legacy_request_state_context_var", default=None
)
async def set_up_request_state_dependency():
request_state = {"user": "deadpond"}
contextvar_token = legacy_request_state_context_var.set(request_state)
yield request_state
legacy_request_state_context_var.reset(contextvar_token)
...この変更以前は、実装方法の違いによりcontextvarsコンテキストが異なっていたため、コンテキスト変数をリセットする際にエラーが発生していました。
注: おそらくcontextvarsは必要なく、使用を避けるべきでしょう。しかし、それらは強力で、Flaskのgセミグローバル変数を使用したコードからの移行など、一部の高度なシナリオでは有用です。
技術的詳細: 技術的詳細についてさらに知りたい場合は、PRの説明#4575を確認してください。
内部¶
- 🔧 Striveworksスポンサーを追加。PR #4596 by @tiangolo。
- 💚 PRからの重複実行を避けるため、masterへのプッシュ時のみドキュメントをビルド。PR #4564 by @tiangolo。
- 👥 FastAPI Peopleを更新。PR #4502 by @github-actions[bot]。
0.73.0¶
機能¶
- ✨ 明示的な
File()なしでUploadFileパラメータを宣言するサポートを追加。PR #4469 by @tiangolo。新ドキュメント: Request Files - File Parameters with UploadFile。 - ✨ Enumsによるタグのサポートを追加。PR #4468 by @tiangolo。新ドキュメント: Path Operation Configuration - Tags with Enums。
- ✨ OpenAPI(およびSwagger UI)から
Query、Cookie、Header、およびPathパラメータを非表示にできるようにする。PR #3144 by @astraldawn。新ドキュメント: Query Parameters and String Validations - Exclude from OpenAPI。
ドキュメント¶
修正¶
- 🐛 タプルを使用する際にOpenAPIが使用できないバグを修正。PR #3874 by @victorbenichoux。
- 🐛
jsonable_encoderで指定された場合、デフォルトよりもカスタムエンコーダを優先。PR #2061 by @viveksunder。
内部¶
- 🐛 最新のMkDocs用Materialを取得するため、ドキュメントの依存関係キャッシュを修正。PR #4466 by @tiangolo。
- 🔧 スポンサーDropbaseを追加。PR #4465 by @tiangolo。
0.72.0¶
機能¶
- ✨ Swagger UIパラメータの設定を有効にする。元のPR #2568 by @jmriebold。新ドキュメント: Configuring Swagger UI。
ドキュメント¶
翻訳¶
- 🌐
docs/help-fastapi.mdの中国語翻訳を更新。PR #3847 by @jaystone776。 - 🌐
docs/docs/index.mdの韓国語翻訳を修正。PR #4195 by @kty4119。 - 🌐
docs/docs/index.mdのポーランド語翻訳を追加。PR #4245 by @MicroPanda123。 - 🌐
docs\tutorial\path-operation-configuration.mdの中国語翻訳を追加。PR #3312 by @jaystone776。
内部¶
0.71.0¶
機能¶
- ✨ Python 3.9およびPython 3.10のドキュメントとテストを追加。PR #3712 by @tiangolo。
- Python Types Introから始めることができます。これは、Python 3.9とPython 3.10で異なるPythonバージョン間の変更点について説明しています。
- FastAPIのすべてのドキュメントが更新されました。ドキュメント内のコード例でPython 3.9またはPython 3.10で異なる構文を使用できるものは、すべてタブで代替案が示されています。
- ⬆️ Starletteを0.17.1にアップグレード。PR #4145 by @simondale00。
内部¶
- 👥 FastAPI Peopleを更新。PR #4354 by @github-actions[bot]。
- 🔧 PyPI用のFastAPI Trove Classifierを追加(今では1つになったため)🤷😁。PR #4386 by @tiangolo。
- ⬆ MkDocs Materialと設定をアップグレード。PR #4385 by @tiangolo。
0.70.1¶
このFastAPIのリリースには、特に興味深い点はありません。主に、Pydanticの次のバージョン(機能と改善が満載)のリリースを有効化/ブロック解除するためのものです。🤩
修正¶
- 🐛 Pydantic 1.9の修正をサポートするため、データクラスのJSONスキーマを修正。PR #4272 by @PrettyWood。
翻訳¶
- 🌐
docs/tutorial/request-forms-and-files.mdの韓国語翻訳を追加。PR #3744 by @NinaHwang。 - 🌐
docs/tutorial/request-files.mdの韓国語翻訳を追加。PR #3743 by @NinaHwang。 - 🌐
docs/tutorial/query-params-str-validations.mdのポルトガル語翻訳を追加。PR #3965 by @leandrodesouzadev。 - 🌐
docs/tutorial/response-status-code.mdの韓国語翻訳を追加。PR #3742 by @NinaHwang。 - 🌐 チュートリアル - JSON互換エンコーダの韓国語翻訳を追加。PR #3152 by @NEONKID。
- 🌐 チュートリアル - パスパラメータと数値検証の韓国語翻訳を追加。PR #2432 by @hard-coders。
- 🌐
docs/docs/deployment/versions.mdの韓国語翻訳を追加。PR #4121 by @DevDae。 - 🌐
docs/docs/tutorial/index.mdの韓国語翻訳を修正。PR #4193 by @kimjaeyoonn。 - 🔧 CryptAPIスポンサーを追加。PR #4264 by @tiangolo。
- 📝
docs/tutorial/dependencies/classes-as-dependenciesを更新:Classes as dependenciesの説明にクエリパラメータの型を追加。PR #4015 by @0417taehyun。 - 🌐 チュートリアル - はじめにのフランス語翻訳を追加。PR #3455 by @Smlep。
- 🌐
docs/tutorial/path-params.mdのフランス語翻訳を追加。PR #3548 by @Smlep。 - 🌐
docs/tutorial/query-params.mdのフランス語翻訳を追加。PR #3556 by @Smlep。 - 🌐
docs/python-types.mdのトルコ語翻訳を追加。PR #3926 by @BilalAlpaslan。
内部¶
- 👥 FastAPI Peopleを更新。PR #4274 by @github-actions[bot]。
0.70.0¶
このリリースは、Starletteを最新バージョン0.16.0にアップグレードするのみであり、いくつかのバグ修正といくつかの小さな破壊的変更が含まれています。
これら最後の3つの連続リリースは独立しているため、段階的に移行できます。
- まずFastAPI
0.68.2へ。破壊的変更はありませんが、すべてのサブ依存関係がアップグレードされます。 - 次にFastAPI
0.69.0へ。StarletteをAnyIOサポート付きの0.15.0にアップグレードし、コードに破壊的変更が生じる可能性が高くなります。 - 最後にFastAPI
0.70.0へ。追加のバグ修正を含む最新バージョン0.16.0にStarletteをアップグレードするだけです。
このように、いずれかのリリースでコードに破壊的変更があった場合でも、以前のアップグレードの恩恵を受けることができます。✨
破壊的変更 - アップグレード¶
オプションの依存関係の範囲もアップグレードされます。
"jinja2 >=2.11.2,<4.0.0""itsdangerous >=1.1.0,<3.0.0"
0.69.0¶
破壊的変更 - アップグレード¶
このリリースでは、Trioのサポートが追加されました。✨
Starletteのバージョンが0.15.0にアップグレードされ、AnyIOをベースとするようになりました。また、FastAPIの内部非同期コンポーネントもAnyIOをベースとするようになり、asyncioとTrioの両方と互換性を持つようになりました。
HypercornでTrioを使用してFastAPIを実行する方法に関するドキュメントを読むことができます。
このリリースでは、GraphQLのオプション依存関係としてgrapheneが削除されました。GraphQLを操作する必要がある場合、現在推奨されているライブラリはStrawberryです。新しいFastAPI with GraphQL docsを読むことができます。
機能¶
- ✨ AnyIOを介したTrioのサポートを追加し、Starletteを
0.15.0にアップグレード。PR #3372 by @graingert。 - ➖
grapheneをオプションの依存関係から削除。PR #4007 by @tiangolo。
ドキュメント¶
- 📝 HypercornでTrioを使用するためのドキュメントを追加。PR #4014 by @tiangolo。
- ✏ デプロイメントガイドのタイプミスを修正。PR #3975 by @ghandic。
- 📝 エクストラを角括弧で囲んで使用する場合のpip install呼び出しでドキュメントを更新し、Zshとの互換性のために引用符を使用。PR #3131 by @tomwei7。
- 📝 記事への外部リンクを追加:FastAPIとHerokuを使用してMLモデルをAPIとしてデプロイ。PR #3904 by @kaustubhgupta。
- ✏
docs/en/docs/contributing.mdのファイルパスのタイプミスを修正。PR #3752 by @NinaHwang。 - ✏
docs/en/docs/advanced/path-operation-advanced-configuration.mdとdocs/en/docs/release-notes.mdのタイプミスを修正。PR #3750 by @saintmalik。 - ✏️ セキュリティチュートリアルのカンマの欠落を追加。PR #3564 by @jalvaradosegura。
- ✏
docs/en/docs/help-fastapi.mdのタイプミスを修正。PR #3760 by @jaystone776。 - ✏
docs/en/docs/tutorial/bigger-applications.mdのファイルパスに関するタイプミスを修正。PR #3285 by @HolyDorus。 - ✏
docs/en/docs/tutorial/testing.mdのテストクライアントを明確にするため、表現を修正。PR #3382 by @Bharat123rox。 - 📝 ハイライトされたコードの誤りを修正。PR #3325 by @paxcodes。
- 📝 記事への外部リンクを追加:FastAPIアプリをHerokuにデプロイする方法。PR #3241 by @Jarmos-san。
- ✏
docs/en/docs/advanced/templates.mdのタイプミス(誤訳)を修正。PR #3211 by @oerpli。 - 📝
docs/en/docs/tutorial/request-files.mdのSwagger UIからの(現在サポートされている)機能に関する注意書きを削除。PR #2803 by @gsganden。 - ✏
docs/tutorial/handling-errors.mdのタイプミスを修正し、表現を修正。PR #2700 by @graue70。
翻訳¶
- 🌐 アゼルバイジャン語翻訳を初期化。PR #3941 by @madatbay。
- 🌐
docs/fastapi-people.mdのトルコ語翻訳を追加。PR #3848 by @BilalAlpaslan。
内部¶
- 📝 サポートされているPythonバージョンのバッジを追加。PR #2794 by @hramezani。
- ✏
docs/docs/deployment/docker.mdの日本語ドキュメントのリンクを修正。PR #3245 by @utamori。 - 🔧 pytest設定のDeprecationWarning設定とコメントを修正。PR #4008 by @graingert。
- 🔧 ライト/ダークテーマボタンのアイコンを交換。PR #3246 by @eddsalkield。
- 🔧 Python 3.7以降でのみLintを実行。PR #4006 by @tiangolo。
- 🔧 アゼルバイジャン語のGitHub Action notify-translations設定を追加。PR #3995 by @tiangolo。
0.68.2¶
このリリースには破壊的変更はありません。🎉
FastAPIを使用するアプリケーションが簡単にアップグレードできるように、サブ依存関係のバージョン範囲をアップグレードします。
まもなく、Starletteをアップグレードして最近の改善を活用する新しいFastAPIリリースが登場しますが、それには破壊的変更が含まれる可能性が高いため、別のリリースとなります。
機能¶
- ⬆警告を抑制するためにaiofilesのサポートバージョンを増やす。PR #2899 by @SnkSynthesis。
- ➖ Python >= 3.7ではバックポートを不要にする。PR #1880 by @FFY00。
- ⬆ Pydanticが使用するtyping.Dequeに必要なPythonバージョンを>= 3.6.1にアップグレード。PR #2733 by @hukkin。
- ⬆️ Uvicornの最大範囲を0.15.0に引き上げ。PR #3345 by @Kludex。
ドキュメント¶
- 📝 GraphQLドキュメントを更新し、Strawberryを推奨。PR #3981 by @tiangolo。
- 📝 デプロイメントガイドを書き直し拡張:概念、Uvicorn、Gunicorn、Docker、コンテナ、Kubernetes。PR #3974 by @tiangolo。
- 📝 HTTPSガイドをより詳細な説明と図でアップグレード。PR #3950 by @tiangolo。
翻訳¶
- 🌐
docs/features.mdのトルコ語翻訳を追加。PR #1950 by @ycd。 - 🌐
docs/benchmarks.mdのトルコ語翻訳を追加。PR #2729 by @Telomeraz。 - 🌐
docs/index.mdのトルコ語翻訳を追加。PR #1908 by @ycd。 - 🌐
docs/tutorial/body.mdのフランス語翻訳を追加。PR #3671 by @Smlep。 - 🌐
deployment/docker.mdのフランス語翻訳を追加。PR #3694 by @rjNemo。 - 🌐
docs/tutorial/path-params.mdのポルトガル語翻訳を追加。PR #3664 by @FelipeSilva93。 - 🌐
docs/deployment/https.mdのポルトガル語翻訳を追加。PR #3754 by @lsglucas。 - 🌐
docs/features.mdのドイツ語翻訳を追加。PR #3699 by @mawassk。
内部¶
- ✨ GitHub Action: notify-translationsを更新し、競合状態を回避。PR #3989 by @tiangolo。
- ⬆️ 複数行のインポートをサポートする開発用
autoflakeをアップグレード。PR #3988 by @tiangolo。 - ⬆️ テストおよびドキュメントの依存関係範囲を拡大:pytest-cov、pytest-asyncio、black、httpx、sqlalchemy、databases、mkdocs-markdownextradata-plugin。PR #3987 by @tiangolo。
- 👥 FastAPI Peopleを更新。PR #3986 by @github-actions[bot]。
- 💚 READMEとメインページのバッジを修正。PR #3979 by @ghandic。
- ⬆ 内部テスト依存関係をアップグレード: mypyをバージョン0.910に、新しく必要な型パッケージを追加。PR #3350 by @ArcLightSlavik。
- ✨ Deepsetスポンサーシップを追加。PR #3976 by @tiangolo。
- 🎨 シェルアニメーションのCSSスタイルを微調整。PR #3888 by @tiangolo。
- 🔧 新しいスポンサー Calmcode.ioを追加。PR #3777 by @tiangolo。
0.68.1¶
翻訳¶
- 🌐
docs/fastapi-people.mdのポルトガル語翻訳を追加。PR #3461 by @ComicShrimp。 - 🌐
docs/tutorial/dependencies/dependencies-in-path-operation-decorators.mdの中国語翻訳を追加。PR #3492 by @jaystone776。 - 🔧 ドイツ語とインドネシア語の新しい翻訳追跡イシューを追加。PR #3718 by @tiangolo。
- 🌐
docs/tutorial/dependencies/sub-dependencies.mdの中国語翻訳を追加。PR #3491 by @jaystone776。 - 🌐
docs/advanced/index.mdのポルトガル語翻訳を追加。PR #3460 by @ComicShrimp。 - 🌐
docs/async.mdのポルトガル語翻訳。PR #1330 by @Serrones。 - 🌐
docs/async.mdのフランス語翻訳を追加。PR #3416 by @Smlep。
内部¶
- ✨ GitHub Action: Notify Translationsを追加。PR #3715 by @tiangolo。
- ✨ FastAPI Peopleとスポンサーの計算を更新。PR #3714 by @tiangolo。
- ✨ 最近のMaterial for MkDocs Insiders機能を有効にする。PR #3710 by @tiangolo。
- 🔥 機能のドキュメント例から不要なインポートを削除/クリーンアップ。PR #3709 by @tiangolo。
- ➕ ドキュメントライブラリを更新し、Markdownにソースを含めるようにする。PR #3648 by @tiangolo。
- ⬆ Python 3.9のテストを有効にする。PR #2298 by @Kludex。
- 👥 FastAPI Peopleを更新。PR #3642 by @github-actions[bot]。
0.68.0¶
機能¶
- ✨ 各パス操作におけるOpenAPIスキーマの拡張と更新のサポートを追加。新ドキュメント: FastAPI パス操作の高度な設定 - OpenAPI Extra。最初のPR #1922 by @edouardlp。
- ✨ 自動APIドキュメントUIに表示される
FastAPIクラスに追加のOpenAPIメタデータパラメータを追加。新ドキュメント: メタデータとドキュメントURL。最初のPR #1812 by @dkreeft。 - ✨ すべてのセキュリティスキームクラスに
descriptionパラメータを追加。例:APIKeyQuery(name="key", description="A very cool API key")。PR #1757 by @hylkepostma。 - ✨ 再帰モデルと拡張機能をサポートするよう、OpenAPIモデルを更新。PR #3628 by @tiangolo。
- ✨ Starletteからリクエストプロパティで使用されるデータ構造を
fastapi.datastructuresにインポートし、再エクスポート。最初のPR #1872 by @jamescurtin。
ドキュメント¶
- 📝 非同期およびレスポンスモデルに関するドキュメントを、よりジェンダーニュートラルな表現で更新。PR #1869 by @Edward-Knight。
翻訳¶
- 🌐
docs/python-types.mdのロシア語翻訳を追加。PR #3039 by @dukkee。 - 🌐
docs/tutorial/dependencies/index.mdの中国語翻訳を追加。PR #3489 by @jaystone776。 - 🌐
docs/external-links.mdのロシア語翻訳を追加。PR #3036 by @dukkee。 - 🌐
docs/tutorial/dependencies/global-dependencies.mdの中国語翻訳を追加。PR #3493 by @jaystone776。 - 🌐
docs/deployment/versions.mdのポルトガル語翻訳を追加。PR #3618 by @lsglucas。 - 🌐
docs/tutorial/security/oauth2-jwt.mdの日本語翻訳を追加。PR #3526 by @sattosan。
内部¶
- ✅
docs_srcディレクトリをテストカバレッジに追加し、テストを更新。最初のPR #1904 by @Kludex。 - 🔧 新しいイシュー用フォーム付きGitHubテンプレートを追加。PR #3612 by @tiangolo。
- 📝 FastAPI公式Twitterをドキュメントに追加: @fastapi。PR #3578 by @tiangolo。
0.67.0¶
機能¶
- ✨ リクエストボディと
response_modelにおけるdataclassesのサポートを追加。新ドキュメント: Advanced User Guide - Using Dataclasses。PR #3577 by @tiangolo。 - ✨ レスポンスにおける
dataclassesをサポート。PR #3576 by @tiangolo (最初のPR #2722 by @amitlissackの続き)。
ドキュメント¶
- 📝 外部リンクを追加: FastAPI用の偽の認証局を作成し、TLS証明書を生成する方法。PR #2839 by @aitoehigie。
- ✏
body-nested-models.mdのコードハイライト行を修正。PR #3463 by @jaystone776。 - ✏
body-nested-models.mdのタイプミスを修正。PR #3462 by @jaystone776。 - ✏
docs/en/docs/tutorial/schema-extra-example.mdのタイプミス "might me" -> "might be" を修正。PR #3362 by @dbrakman。 - 📝 外部リンクを追加: NuxtJSとFastAPIでシンプルなEコマースを構築。PR #3271 by @ShahriyarR。
- 📝 外部リンクを追加: Sklearn、FastAPI、Dockerを使用して機械学習モデルをAPIとして提供。PR #2974 by @rodrigo-arenas。
- ✏️ datastructuresファイルのドキュメント文字列のタイプミスを修正。PR #2887 by @Kludex。
- 📝 外部リンクを追加: FastAPIをUbuntuにデプロイし、Caddy 2 Webサーバーを使用して提供。PR #3572 by @tiangolo。
- 📝 外部リンクを追加、#1898を置き換え。PR #3571 by @tiangolo。
内部¶
- 🎨 スポンサーのスタイルを改善し、角丸の境界線を追加。PR #2388 by @Kludex。
- 👷 GitHub Action latest-changesを更新。PR #3574 by @tiangolo。
- 👷 GitHub Action latest-changesを更新。PR #3573 by @tiangolo。
- 👷 CIワークフロージョブ名を変更および明確化。PR #3570 by @tiangolo。
- 👷 GitHub Action latest-changesを更新、ストライク2⚾。PR #3575 by @tiangolo。
- 🔧 ドキュメント内の外部リンクを最新のものが上になるようにソート。PR #3568 by @tiangolo。
0.66.1¶
翻訳¶
- 🌐 ドイツ語翻訳の基本設定を追加。PR #3522 by @0x4Dark。
- 🌐
docs/tutorial/security/index.mdのポルトガル語翻訳を追加。PR #3507 by @oandersonmagalhaes。 - 🌐
docs/deployment/index.mdのポルトガル語翻訳を追加。PR #3337 by @lsglucas。
内部¶
- 🔧 厳密なpytestオプションを設定し、テストを更新/リファクタリング。pytestを
>=6.2.4,<7.0.0に、pytest-covを>=2.12.0,<3.0.0にアップグレード。最初のPR #2790 by @graingert。 - ⬆️ テストのためにpython-joseの依存関係を
>=3.3.0,<4.0.0にアップグレード。PR #3468 by @tiangolo。
0.66.0¶
機能¶
- ✨
response_classをRedirectResponseまたはFileResponseに設定し、関数からURLを返すことを許可。新しいおよび更新されたドキュメントは、チュートリアルセクションカスタムレスポンス - HTML、ストリーム、ファイル、その他のRedirectResponseとFileResponseにあります。PR #3457 by @tiangolo。
修正¶
- 🐛
jsonable_encoderの辞書のインクルード/エクスクルードを修正。PR #2016 by @Rubikoid。 - 🐛 生成されたOpenAPIにカスタムOpenAPI / JSON Schemaフィールドをサポート。PR #1429 by @jmagnusson。
翻訳¶
- 🌐
tutorial/query-params.mdのスペイン語翻訳を追加。PR #2243 by @mariacamilagl。 - 🌐
advanced/response-directly.mdのスペイン語翻訳を追加。PR #1253 by @jfunez。 - 🌐
advanced/additional-status-codes.mdのスペイン語翻訳を追加。PR #1252 by @jfunez。 - 🌐
advanced/path-operation-advanced-configuration.mdのスペイン語翻訳を追加。PR #1251 by @jfunez。
0.65.3¶
修正¶
- ♻ Content-Typeヘッダーが提供されていない場合、リクエストボディにJSONが含まれていると仮定。これは、0.65.2のPR #2118で導入された破壊的変更を修正するものです。これにより、
Content-TypeヘッダーなしでJSONデータを送信するクライアントを持つFastAPIアプリケーションをアップグレードできるようになるはずです。また、CSRFに対する保護も引き続き提供されます。PR #3456 by @tiangolo。
翻訳¶
- 🌐 インドネシア語翻訳を初期化。PR #3014 by @pace-noge。
- 🌐 チュートリアル - パスパラメータのスペイン語翻訳を追加。PR #2219 by @mariacamilagl。
- 🌐 チュートリアル - はじめにのスペイン語翻訳を追加。PR #2208 by @mariacamilagl。
- 🌐 チュートリアル - ボディ - フィールドのポルトガル語翻訳。PR #3420 by @ComicShrimp。
- 🌐 チュートリアル - リクエスト - フォーム - ファイルの中国語翻訳を追加。PR #3249 by @jaystone776。
- 🌐 チュートリアル - エラー処理の中国語翻訳を追加。PR #3299 by @jaystone776。
- 🌐 チュートリアル - フォームデータの中国語翻訳を追加。PR #3248 by @jaystone776。
- 🌐 チュートリアル - ボディ - 更新の中国語翻訳を追加。PR #3237 by @jaystone776。
- 🌐 FastAPI Peopleの中国語翻訳を追加。PR #3112 by @hareru。
- 🌐 プロジェクト生成のフランス語翻訳を追加。PR #3197 by @Smlep。
- 🌐 Python Types Introのフランス語翻訳を追加。PR #3185 by @Smlep。
- 🌐 外部リンクのフランス語翻訳を追加。PR #3103 by @Smlep。
- 🌐 代替案、インスピレーション、比較のフランス語翻訳を追加。PR #3020 by @rjNemo。
- 🌐 チュートリアル - Python Types Introの中国語翻訳コードスニペットの不一致を修正。PR #2573 by @BoYanZh。
- 🌐 開発貢献のポルトガル語翻訳を追加。PR #1364 by @Serrones。
- 🌐 チュートリアル - リクエスト - ファイルの中国語翻訳を追加。PR #3244 by @jaystone776。
内部¶
- 👥 FastAPI Peopleを更新。PR #3450 by @github-actions[bot]。
- 👥 FastAPI Peopleを更新。PR #3319 by @github-actions[bot]。
- ⬆ pipリゾルバの競合を修正するため、ドキュメント開発依存関係の
typer-cliを>=0.0.12にアップグレード。PR #3429 by @tiangolo。
0.65.2¶
セキュリティ修正¶
- 🔒 JSONと仮定する前にContent-Typeリクエストヘッダーをチェック。最初のPR #2118 by @patrickkwang。
この変更は、ブラウザから送信されるJSONペイロードを持つパス操作で認証にCookieを使用している場合に、CSRFのセキュリティ脆弱性を修正します。
0.65.2より前のバージョンでは、content-typeヘッダーがapplication/jsonまたは互換性のあるJSONメディアタイプ(例:application/geo+json)に設定されていなくても、FastAPIはリクエストペイロードをJSONとして読み取ろうとしていました。
したがって、JSONデータを含むtext/plainのContent-Typeを持つリクエストは受け入れられ、JSONデータは抽出されていました。
しかし、text/plainのContent-Typeを持つリクエストは、CORSプリフライトから免除され、シンプルリクエストと見なされます。そのため、ブラウザはCookieを含めてすぐにそれらを実行し、テキストコンテンツはFastAPIアプリケーションによってパースされ、受け入れられるJSON文字列である可能性がありました。
詳細については、CVE-2021-32677を参照してください。
セキュリティレポートを提供してくれたDima Bogerに感謝します!🙇🔒
内部¶
- 🔧 スポンサーバッジ、コースバンドルを更新。PR #3340 by @tiangolo。
- 🔧 新しいゴールドスポンサーJinaを追加 🎉。PR #3291 by @tiangolo。
- 🔧 FastAPIコースバンドル用の新しいバナー広告バッジを追加。PR #3288 by @tiangolo。
- 👷 Issue Manager GitHub Actionをアップグレード。PR #3236 by @tiangolo。
0.65.1¶
セキュリティ修正¶
- 📌 セキュリティ脆弱性CVE-2021-29510に対処するため、Pydanticのピンをアップグレード。PR #3213 by @tiangolo。
0.65.0¶
破壊的変更 - アップグレード¶
- ⬆️ Starletteを
0.14.2にアップグレード。Starletteから移行された内部UJSONResponseを含む。これにはStarletteからのいくつかのバグ修正と機能が含まれる。PR #2335 by @hanneskuettner。
翻訳¶
- 🌐 新言語ポーランド語の翻訳を初期化。PR #3170 by @neternefer。
内部¶
- 👷 CIのインストールを高速化するため、GitHub Actionキャッシュを追加。PR #3204 by @tiangolo。
- ⬆️ setup-python GitHub Actionをv2にアップグレード。PR #3203 by @tiangolo。
- 🐛
overridesボイラープレートを使用して新しい翻訳言語を生成するドキュメントスクリプトを修正。PR #3202 by @tiangolo。 - ✨ 新しいDetaバナーバッジを新しいスポンサーシップ層で追加🙇。PR #3194 by @tiangolo。
- 👥 FastAPI Peopleを更新。PR #3189 by @github-actions[bot]。
- 🔊 デバッグを改善するため、FastAPI Peopleを更新。PR #3188 by @tiangolo。
0.64.0¶
機能¶
- ✨ リクエストボディおよびパス、クエリ、クッキー、ヘッダーパラメータで複数の
examplesを追加するサポートを追加。新ドキュメント: リクエスト例データを宣言する。最初のPR #1267 by @austinorr。
修正¶
- 📌 SQLAlchemyはSemVerを使用しないため、テスト用に範囲を固定。PR #3001 by @tiangolo。
- 🎨 mypyに新しく必要な型アノテーションを追加。PR #2882 by @tiangolo。
- 🎨 内部の「type: ignore」を削除。不要になった。PR #2424 by @AsakuraMizu。
ドキュメント¶
- 📝 ロシア語の記事「FastAPI: знакомимся с фреймворком」へのリンクを追加。PR #2564 by @trkohler。
- 📝 ブログ記事「Auth0でFastAPIアプリを認証する」への外部リンクを追加。PR #2172 by @dompatmore。
- 📝 記事への壊れたリンクを修正: FastAPIとStreamlitを使用してPythonで機械学習モデルを提供する。PR #2557 by @davidefiocco。
- 📝 FastAPI Mediumの記事を追加: ドッカライズされたFastAPIアプリケーションをAWSにデプロイする。PR #2515 by @vjanz。
- ✏ チュートリアル - エラー処理のタイプミスを修正。PR #2486 by @johnthagen。
- ✏ Security OAuth2スコープのタイプミスを修正。PR #2407 by @jugmac00。
- ✏ SQL(リレーショナル)データベースに関するドキュメントのタイプミスを修正/明確化。PR #2393 by @kangni。
- 📝 「FastAPI for Flask Users」への外部リンクを追加。PR #2280 by @amitness。
翻訳¶
- 🌐 チュートリアル - クエリパラメータの中国語翻訳を修正し、古くなったコンテンツを削除。PR #3051 by @louis70109。
- 🌐 チュートリアル - バックグラウンドタスクのフランス語翻訳を追加。PR #3098 by @Smlep。
- 🌐 docs/docs/index.mdの韓国語翻訳を修正。PR #3159 by @SueNaEunYang。
- 🌐 チュートリアル - クエリパラメータの韓国語翻訳を追加。PR #2390 by @hard-coders。
- 🌐 FastAPI Peopleのフランス語翻訳を追加。PR #2232 by @JulianMaurin。
- 🌐 チュートリアル - パスパラメータの韓国語翻訳を追加。PR #2355 by @hard-coders。
- 🌐 機能のフランス語翻訳を追加。PR #2157 by @Jefidev。
- 👥 FastAPI Peopleを更新。PR #3031 by @github-actions[bot]。
- 🌐 チュートリアル - デバッグの中国語翻訳を追加。PR #2737 by @blt232018。
- 🌐 チュートリアル - セキュリティ - OAuth2(パスワードとハッシュ化)、JWTトークン付きBearerの中国語翻訳を追加。PR #2642 by @waynerv。
- 🌐 チュートリアル - ヘッダーパラメータの韓国語翻訳を追加。PR #2589 by @mode9。
- 🌐 チュートリアル - メタデータとドキュメントURLの中国語翻訳を追加。PR #2559 by @blt232018。
- 🌐 チュートリアル - はじめにの韓国語翻訳を追加。PR #2323 by @hard-coders。
- 🌐 チュートリアル - CORS(Cross-Origin Resource Sharing)の中国語翻訳を追加。PR #2540 by @blt232018。
- 🌐 チュートリアル - ミドルウェアの中国語翻訳を追加。PR #2334 by @lpdswing。
- 🌐 チュートリアル - Introの韓国語翻訳を追加。PR #2317 by @hard-coders。
- 🌐 チュートリアル - 大規模アプリケーション - 複数ファイルの中国語翻訳を追加。PR #2453 by @waynerv。
- 🌐 チュートリアル - セキュリティ - セキュリティ入門の中国語翻訳を追加。PR #2443 by @waynerv。
- 🌐 チュートリアル - ヘッダーパラメータの中国語翻訳を追加。PR #2412 by @maoyibo。
- 🌐 チュートリアル - 追加データ型の中国語翻訳を追加。PR #2410 by @maoyibo。
- 🌐 デプロイ - Dockerの日本語翻訳を追加。PR #2312 by @tokusumi。
- 🌐 デプロイ - バージョンの日本語翻訳を追加。PR #2310 by @tokusumi。
- 🌐 チュートリアル - クッキーパラメータの中国語翻訳を追加。PR #2261 by @alicrazy1947。
- 🌐 チュートリアル - 静的ファイルの日本語翻訳を追加。PR #2260 by @tokusumi。
- 🌐 チュートリアル - テストの日本語翻訳を追加。PR #2259 by @tokusumi。
- 🌐 チュートリアル - デバッグの日本語翻訳を追加。PR #2256 by @tokusumi。
- 🌐 チュートリアル - ミドルウェアの日本語翻訳を追加。PR #2255 by @tokusumi。
- 🌐 並行処理とasync / awaitの日本語翻訳を追加。PR #2058 by @tokusumi。
- 🌐 チュートリアル - セキュリティ - パスワードとBearerによるシンプルなOAuth2の中国語翻訳を追加。PR #2514 by @waynerv。
- 🌐 デプロイ - Detaの日本語翻訳を追加。PR #2314 by @tokusumi。
- 🌐 チュートリアル - セキュリティ - 現在のユーザーの取得の中国語翻訳を追加。PR #2474 by @waynerv。
- 🌐 デプロイ - 手動の日本語翻訳を追加。PR #2313 by @tokusumi。
- 🌐 デプロイ - Introの日本語翻訳を追加。PR #2309 by @tokusumi。
- 🌐 FastAPI Peopleの日本語翻訳を追加。PR #2254 by @tokusumi。
- 🌐 Advanced User Guide - 追加ステータスコードの日本語翻訳を追加。PR #2124 by @Attsun1031。
- 🌐 外部リンクの日本語翻訳を追加。PR #2070 by @tokusumi。
- 🌐 チュートリアル - ボディ - 更新の日本語翻訳を追加。PR #1956 by @SwftAlpc。
- 🌐 チュートリアル - フォームデータの日本語翻訳を追加。PR #1943 by @SwftAlpc。
- 🌐 チュートリアル - クッキーパラメータの日本語翻訳を追加。PR #1933 by @SwftAlpc。
内部¶
- 🔧 トップバナーを更新し、ニュースレターへのリンクを設定。PR #3003 by @tiangolo。
- 🔧 スポンサーWeTransferを無効化。PR #3002 by @tiangolo。
- 👥 FastAPI Peopleを更新。PR #2880 by @github-actions[bot]。
- 👥 FastAPI Peopleを更新。PR #2739 by @github-actions[bot]。
- 🔧 新しいゴールドスポンサーTalk Python 🎉を追加。PR #2673 by @tiangolo。
- 🔧 新しいゴールドスポンサーvim.so 🎉を追加。PR #2669 by @tiangolo。
- 🔧 FastAPIユーザーアンケートバナーを追加。PR #2623 by @tiangolo。
- 🔧 新しいブロンズスポンサーを追加 🥉🎉。PR #2622 by @tiangolo。
- 📝 ソーシャルリンクを更新:Discordを追加、GitHubを修正。PR #2621 by @tiangolo。
- 🔧 FastAPI People GitHub Sponsorsの順序を更新。PR #2620 by @tiangolo。
- 🔧 InvestSuiteスポンサーデータを更新。PR #2608 by @tiangolo。
- 👥 FastAPI Peopleを更新。PR #2590 by @github-actions[bot]。
0.63.0¶
機能¶
破壊的変更¶
- ⬆️
fastapi[all]をインストールする際にUvicornを最新バージョン(uvloopを含む)にアップグレード。新しい範囲はuvicorn[standard] >=0.12.0,<0.14.0。PR #2548 by @tiangolo。
修正¶
- 🐛 PR #2547(上記を参照)は、
callbacksパラメータやOAuth2クラスを使用する際のいくつかの偽陽性mypyエラーも修正します。
ドキュメント¶
- 📝 Uvicornのインストール手順を更新し、uvicorn[standard](uvloopを含む)を使用するようにする。PR #2543 by @tiangolo。
- 📝 Detaチュートリアルのタイトルを更新。PR #2466 by @tiangolo。
- 👥 FastAPI Peopleを更新。PR #2454 by @github-actions[bot]。
翻訳¶
- 🌐 ドキュメントの言語セレクタウィジェットを追加。PR #2542 by @tiangolo。
- 🌐 チュートリアル - レスポンスステータスコードの中国語翻訳を追加。PR #2442 by @waynerv。
- 🌐 アルバニア語のドキュメント翻訳を開始。PR #2516 by @vjanz。
- 🌐 チュートリアル - Extra Modelsの中国語翻訳を追加。PR #2416 by @waynerv。
- 🌐 チュートリアル - レスポンスモデルの中国語翻訳を追加。PR #2414 by @waynerv。
- 🌐 チュートリアル - スキーマ追加例の中国語翻訳を追加。PR #2411 by @maoyibo。
- 🌐 Indexの韓国語翻訳を追加。PR #2192 by @hard-coders。
- 🌐 Advanced User Guide - 追加ステータスコードの日本語翻訳を追加。PR #2145 by @Attsun1031。
内部¶
- 🐛 翻訳用のドキュメントオーバーライドディレクトリを修正。PR #2541 by @tiangolo。
- ➖ pipリゾルバの競合を修正するため、ドキュメントビルド依存関係からTyperを削除(typer-cliでカバーされる)。PR #2539 by @tiangolo。
- ✨ ニュースレターを追加: FastAPI and friends。PR #2509 by @tiangolo。
- ✨ 新しいゴールドスポンサー: InvestSuite 🎉を追加。PR #2508 by @tiangolo。
- 🔧 イシューテンプレート設定を追加。PR #2476 by @tiangolo。
0.62.0¶
機能¶
これまで、いくつかのオプションをパス操作のグループに適用する唯一の方法は、include_router内でした。これはうまく機能しますが、app.include_router()またはrouter.include_router()の呼び出しは通常別のファイルで行われます。
つまり、例えば、ルーター内のすべてのパス操作に認証を適用する場合、関連するロジックをまとめておくのではなく、別のファイルで処理することになっていました。
include_routerでオプションを設定することは、サードパーティのルーターをアプリに含めたり、設定を上書きまたは追加したりする場合など、依然として意味があります。しかし、より大きなアプリケーションの一部であるルーターでは、APIRouterを作成する際にそれらの設定を追加する方が理にかなっているでしょう。
FastAPIで
これにより、(既存のパラメータに加えて)以下の(ほとんど新しい)パラメータを設定できます。
default_response_class:APIRouterとinclude_routerのデフォルトを処理するように更新。dependencies: アプリケーション全体に適用される✨トップレベルの依存関係✨を含めるため。例えば、グローバル認証を追加する場合。callbacks: すべてのパス操作に適用されるOpenAPIコールバック。deprecated: すべてのパス操作を非推奨としてマークするため。🤷include_in_schema: すべてのパス操作をOpenAPIスキーマから除外できるようにするため。responses: すべてのパス操作に適用されるOpenAPIレスポンス。
例えば
from fastapi import FastAPI, Depends
async def some_dependency():
return
app = FastAPI(dependencies=[Depends(some_dependency)])
APIRouterで
これにより、(既存のパラメータに加えて)以下の(ほとんど新しい)パラメータを設定できます。
default_response_class:APIRouterおよびinclude_routerのデフォルトを処理するように更新。たとえば、コールバックを作成する際に明示的に設定する必要はありません。dependencies: ルーター内のすべてのパス操作に適用される✨ルーターレベルの依存関係✨を含めるため。これまでは、include_routerでのみ可能でした。callbacks: このルーター内のすべてのパス操作に適用されるOpenAPIコールバック。deprecated: ルーター内のすべてのパス操作を非推奨としてマークするため。include_in_schema: ルーター内のすべてのパス操作をOpenAPIスキーマから除外できるようにするため。responses: このルーター内のすべてのパス操作に適用されるOpenAPIレスポンス。prefix: ルーターのパスプレフィックスを設定するため。これまでは、include_routerを呼び出すときにのみ可能でした。tags: このルーター内のすべてのパス操作に適用されるOpenAPIタグ。
例えば
from fastapi import APIRouter, Depends
async def some_dependency():
return
router = APIRouter(prefix="/users", dependencies=[Depends(some_dependency)])
include_routerで
これらの設定のほとんどは、関連コードに近いAPIRouterでサポートされるようになりました。そのため、可能であればAPIRouterを使用することをお勧めします。
しかし、include_routerは、例えば、サードパーティのルーターや複数のプロジェクト間で共有される汎用ルーターを含める際に、オプション(dependencies、prefix、tagsなど)を追加する場合に依然として有用です。
このPRは、(既存のパラメータに加えて)以下の(ほとんど新しい)パラメータを設定できます。
default_response_class:APIRouterとFastAPIのデフォルトを処理するように更新。deprecated: OpenAPIでルーター内のすべてのパス操作を非推奨としてマークするため。include_in_schema: すべてのパス操作をOpenAPIスキーマに表示させないようにするため。callbacks: このルーター内のすべてのパス操作に適用されるOpenAPIコールバック。
注: 以前のパラメータはすべて残っているので、include_routerでdependenciesを宣言することも引き続き可能です。
破壊的変更¶
- PR #2434には、通常のユースケースには影響しないが、高度なシナリオでは影響する可能性のあるいくつかの改善が含まれています。
- 生成されたOpenAPIをテストしている場合 (テストする必要はありません。FastAPIが広範囲にテストしています):
include_routerとパスオペレーションのtagsの順序は一貫性のため更新されましたが、単なる順序の変更です。 - 各ルートの
route.response_class、またはrouter.default_response_class、またはapp.default_response_classにアクセスするための高度なカスタムロジックがある場合:APIRouteのresponse_classとAPIRouterおよびFastAPIのdefault_response_classのデフォルト値は、デフォルト値とオーバーライドを処理および解決するために内部で使用されるDefaultPlaceholderになりました。DefaultPlaceholder内の実際のレスポンスクラスはroute.response_class.valueで利用できます。
- 生成されたOpenAPIをテストしている場合 (テストする必要はありません。FastAPIが広範囲にテストしています):
ドキュメント¶
-
PR #2434(上記)には、新規または更新されたドキュメントが含まれています。
-
📝 FastAPI監視ブログ投稿を外部リンクに追加。 @louisguittonによるPR #2324。
- ✏️ Detaチュートリアルの誤植を修正。 @tiangoloによるPR #2320。
- ✨ Discordチャットを追加。 @tiangoloによるPR #2322。
- 📝 スポンサーの画像リンクを修正。 @tiangoloによるPR #2304。
翻訳¶
- 🌐 高度な機能 - カスタムレスポンスの日本語訳を追加。 @Attsun1031によるPR #2193。
- 🌐 ベンチマークの中国語翻訳を追加。 @spaceackによるPR #2119。
- 🌐 チュートリアル - ボディ - ネストされたモデルの中国語翻訳を追加。 @waynervによるPR #1609。
- 🌐 高度な機能 - カスタムレスポンスの中国語翻訳を追加。 @RunningIkkyuによるPR #1459。
- 🌐 高度な機能 - レスポンスを直接返すの中国語翻訳を追加。 @RunningIkkyuによるPR #1452。
- 🌐 高度な機能 - 追加のステータスコードの中国語翻訳を追加。 @RunningIkkyuによるPR #1451。
- 🌐 高度な機能 - パスオペレーションの高度な設定の中国語翻訳を追加。 @RunningIkkyuによるPR #1447。
- 🌐 高度なユーザーガイド - 概要の中国語翻訳を追加。 @RunningIkkyuによるPR #1445。
内部¶
- 🔧 スポンサーセクションのTestDrivenリンクをコースに更新。 @tiangoloによるPR #2435。
- 🍱 スポンサーロゴを更新。 @tiangoloによるPR #2418。
- 💚 フォークでのMaterial for MkDocs Insidersのインストール無効化を修正、第1ストライク⚾。 @tiangoloによるPR #2340。
- 🐛 フォークでのMaterial for MkDocs Insidersのインストール無効化を修正。 @tiangoloによるPR #2339。
- ✨ シルバースポンサーとしてWeTransferを追加。 @tiangoloによるPR #2338。
- ✨ ドキュメントにMaterial for MkDocs Insidersを設定して有効化。 @tiangoloによるPR #2325。
0.61.2¶
修正¶
- 📌 Swagger UIのバージョン固定を緩和。 @jmrieboldによるPR #2089。
- 🐛
exception_handlersからのカスタムHTTPExceptionとRequestValidationErrorのオーバーライドに関するバグを修正。 @uriyyoによるPR #1924。 - ✏️ 依存関係ユーティリティの誤植を修正し、未使用の変数をクリーンアップ。 @KludexによるPR #1912。
ドキュメント¶
- ✏️ チュートリアル - パスパラメータの誤植を修正。 @mariacamilaglによるPR #2231。
- ✏ ドキュメントのスタイルの誤りを修正。 @ddobrinskiyによるPR #2206。
- ✏ ドキュメントの大文字表記の誤りを修正。 @imba-tjdによるPR #2204。
- ✏ ドキュメントの誤植を修正。 @ammarasmroによるPR #2179。
- 📝 ドキュメントのリンクをHTTPSを使用するように更新/修正。 @imba-tjdによるPR #2165。
- ✏ ドキュメントの誤植を修正し、表現を修正。 @nukopyによるPR #2159。
- 📝 チュートリアル - ユーザーガイド - パスパラメータの例のコードの一貫性を修正。 @nukopyによるPR #2158。
- 📝 名前が変更されたパラメーター
content_typeの誤植を修正。 @TeoZosaによるPR #2135。 - ✏ ドキュメントの軽微な誤植を修正。 @TeoZosaによるPR #2122。
- ✏ ドキュメントとソース例の誤植を修正。 @AdrianDeAndaによるPR #2102。
- ✏ ドキュメントの誤ったCelery URLを修正。 @CircleOnCirclesによるPR #2100。
- 📝 Python型への導入を簡素化、現在サポートされているすべてのPythonバージョンは型ヒントを含みます🎉。 @ninjaaronによるPR #2085。
- 📝 チュートリアル - ボディ - ネストされたモデル 3のセットを使用した例のコードを修正。 @hitrustによるPR #2054。
- 📝 チュートリアル - ボディ - ネストされたモデル 2のセットを使用した例のコードを修正。 @hitrustによるPR #2053。
- 📝 チュートリアル - ボディ - ネストされたモデルのセットを使用した例のコードを修正。 @hitrustによるPR #2052。
- ✏ ベンチマークの誤植を修正。 @AlejoAsdによるPR #1995。
- 📝 CORSチュートリアルに、
["*"]とallow_credentialsを使用したallow_originsに関する注意を追加。 @dsmurrellによるPR #1895。 - 📝 最初のゴールドスポンサーであるDetaへのデプロイを追加🎉。 @tiangoloによるPR #2303。
- 👥 FastAPI Peopleを更新。 @github-actions[bot]によるPR #2282。
- ✏️ チュートリアル - クエリパラメータの大文字を修正。 @mariacamilaglによるPR #2245。
- 📝 外部リンクに記事を追加。 @tiangoloによるPR #2247。
- ✏ スペイン語チュートリアルインデックスの誤植を修正。 @avilonchoによるPR #2020。
翻訳¶
- 🌐 Advanced Tutorial - Response Directlyの日本語翻訳を追加。 @Attsun1031によるPR #2191。
- 📝 チュートリアル - セキュリティ - ファーストステップの日本語翻訳を追加。 @komtakiによるPR #2153。
- 🌐 チュートリアル - クエリパラメータと文字列の検証の日本語翻訳を追加。 @SwftAlpcによるPR #1901。
- 🌐 外部リンクのポルトガル語翻訳を追加。 @SerronesによるPR #1443。
- 🌐 チュートリアル - CORSの日本語翻訳を追加。 @tokusumiによるPR #2125。
- 🌐 貢献の日本語翻訳を追加。 @komtakiによるPR #2067。
- 🌐 プロジェクト生成の日本語翻訳を追加。 @tokusumiによるPR #2050。
- 🌐 代替案の日本語翻訳を追加。 @Attsun1031によるPR #2043。
- 🌐 歴史、設計、未来の日本語翻訳を追加。 @komtakiによるPR #2002。
- 🌐 ベンチマークの日本語翻訳を追加。 @komtakiによるPR #1992。
- 🌐 チュートリアル - ヘッダーパラメータの日本語翻訳を追加。 @SwftAlpcによるPR #1935。
- 🌐 チュートリアル - ファーストステップのポルトガル語翻訳を追加。 @jessicapazによるPR #1861。
- 🌐 Pythonタイプスのポルトガル語翻訳を追加。 @izaguerreiroによるPR #1796。
- 🌐 FastAPIを助けるの日本語翻訳を追加。 @tokusumiによるPR #1692。
- 🌐 チュートリアル - ボディの日本語翻訳を追加。 @tokusumiによるPR #1683。
- 🌐 チュートリアル - クエリパラメータの日本語翻訳を追加。 @tokusumiによるPR #1674。
- 🌐 tutorial/path-params.mdの日本語翻訳を追加。 @tokusumiによるPR #1671。
- 🌐 tutorial/first-steps.mdの日本語翻訳を追加。 @tokusumiによるPR #1658。
- 🌐 tutorial/index.mdの日本語翻訳を追加。 @tokusumiによるPR #1656。
- 🌐 プロジェクト生成のポルトガル語翻訳を追加。 @SerronesによるPR #1602。
- 🌐 機能の日本語翻訳を追加。 @tokusumiによるPR #1625。
- 🌐 翻訳のために新しい言語である韓国語を初期化。 @hard-codersによるPR #2018。
- 🌐 デプロイメントのポルトガル語翻訳を追加。 @SerronesによるPR #1374。
内部¶
- 🔥 Docs Previews GitHub Actionのアップグレード後のクリーンアップ。 @tiangoloによるPR #2248。
- 🐛 CIドキュメントプレビューを修正、ドキュメントを解凍。 @tiangoloによるPR #2246。
- ✨ フォークからのPRに対して即座のドキュメントデプロイプレビューを追加。 @tiangoloによるPR #2244。
- ⚡️ CIの高速化のため、言語のドキュメントをサブプロセスで並行ビルド。 @tiangoloによるPR #2242。
- 🐛 部分翻訳のドキュメント生成順序を修正。 @tiangoloによるPR #2238。
- 👥 FastAPI Peopleを更新。 @github-actions[bot]によるPR #2202。
- ♻️ FastAPI People GitHub Actionを更新し、PRをgithub-actionsとして送信するように。 @tiangoloによるPR #2201。
- 🔧 FastAPI People GitHub Action設定を更新、毎月実行。 @tiangoloによるPR #2199。
- 🐛 FastAPI People GitHub Action Dockerの依存関係を修正、第1ストライク⚾。 @tiangoloによるPR #2198。
- 🐛 FastAPI People GitHub Action Dockerの依存関係を修正。 @tiangoloによるPR #2197。
- 🐛 FastAPI People GitHub Actionで変更がない場合の動作を修正。 @tiangoloによるPR #2196。
- 👥 新しいセクションFastAPI Peopleを追加。 @tiangoloによるPR #2195。
- ⬆️ GitHub Action Latest Changesをアップグレード。 @tiangoloによるPR #2190。
- ⬆️ GitHub Action Label Approvedをアップグレード。 @tiangoloによるPR #2189。
- 🔧 GitHub Action Label Approvedを更新、12:00に実行。 @tiangoloによるPR #2185。
- 👷 GitHub Action Latest Changesをアップグレード。 @tiangoloによるPR #2184。
- 👷 GitHub Action Label Approvedを毎日実行するよう設定、毎分ではない。 @tiangoloによるPR #2163。
- 🔥 pr-approvals GitHub Actionがフォークと互換性がないため削除。新しいものを使用。 @tiangoloによるPR #2162。
- 👷 GitHub Action Latest Changesを追加。 PR #2160。
- 👷 GitHub Action Label Approvedを追加。 PR #2161。
0.61.1¶
修正¶
- SQLAlchemyモデルを直接使用した
jsonable_encoderの問題を修正。 PR #1987。
ドキュメント¶
- NoSQLドキュメントの誤植を修正。 @facundojmaeroによるPR #1980。
翻訳¶
- メインページの日本語翻訳を追加。 @ryuckelによるPR #1571。
- フランス語翻訳を初期化。 @JulianMaurin-BMによるPR #1975。
- トルコ語翻訳を初期化。 @ycdによるPR #1905。
内部¶
0.61.0¶
機能¶
HTTPConnection(RequestおよびWebSocketとして)の注入をサポート。依存関係でアプリの状態を共有するのに役立ちます。 @nsidnevによるPR #1827。WebSocketDisconnectをエクスポートし、WebSocket切断の処理例をドキュメントに追加。 @rkbeatssによるPR #1822。
互換性のない変更¶
- Pydantic >
1.0.0を必須とします。- 非推奨のPydantic
0.32.2のサポートを削除。これにより保守性が向上し、新機能が可能になります。 FastAPIおよびAPIRouterの場合- パスオペレーションデコレータに関連する/非推奨のパラメータ
response_model_skip_defaultsを削除(代わりにresponse_model_exclude_unsetを使用)。 - パスオペレーションデコレータのパラメータ
response_model_excludeのデフォルトをset()からNoneに変更(Pydanticと同様)。
- パスオペレーションデコレータに関連する/非推奨のパラメータ
encoders.jsonable_encoderの場合- 非推奨の
skip_defaultsを削除し、代わりにexclude_unsetを使用。 excludeのデフォルトをset()からNoneに変更(Pydanticと同様)。
- 非推奨の
- PR #1862。
- 非推奨のPydantic
encoders.jsonable_encoderからパラメータsqlalchemy_safeを削除。- これはSQLAlchemyモデルを返すことを許可するための初期のハックでしたが、文書化されておらず、推奨される方法はチュートリアルで説明されているPydanticの
orm_modeを使用することです: SQL(リレーショナル)データベース。 - PR #1864。
- これはSQLAlchemyモデルを返すことを許可するための初期のハックでしたが、文書化されておらず、推奨される方法はチュートリアルで説明されているPydanticの
ドキュメント¶
- TestDriven.ioによるコースへのリンクを追加: FastAPIとDockerによるテスト駆動開発。 PR #1860。
- エラー処理に関するドキュメントの例における空のログメッセージを修正。 @manlixによるPR #1815。
- 性別を特定しないように、曖昧さを減らすためにテキストを再構成。 @MauseによるPR #1824。
内部¶
- Flake8リンティングを追加。元のPR @MashhadiNimaによる#1774。
- 現在壊れており、Gitterの応答が問題を示さないため、Gitterボットを無効化。 PR #1853。
0.60.2¶
- クエリパラメータに関するドキュメントの誤植を修正。 @ycdによるPR #1832。
- 非同期テストに関するドキュメントを追加。 @empicanoによるPR #1619。
python-multipartがインストールされていない状態でフォームデータ(Form、File)を使用すると例外を発生させるようになりました。- これまでアプリケーションは実行され、フォームデータを含むリクエストを受信したときにのみ例外を発生させていましたが、新しい動作では、早期に例外を発生させることで、壊れた依存関係を持つアプリケーションのデプロイを防ぎます。
- また、誤った
multipartではなく、正しいパッケージpython-multipartがインストールされているかどうかも検出します(どちらもmultipartとしてインポート可能)。 - @chrisngyn、@YKo20010、@kx-chenによる元のPR #1627に基づいたPR #1851。
- Gitterリリースボットを再有効化。 PR #1831。
- メインSQLチュートリアルから非同期SQLデータベースチュートリアルへのリンクを追加。 @short2stringsによるPR #1813。
- プロキシの背後にあるチュートリアルの誤植を修正。 @toidiによるPR #1807。
- ポルトガル語ドキュメントの誤植を修正。 @izaguerreiroによるPR #1795。
- ウクライナ語の翻訳設定を追加。 PR #1830。
- 外部リンクFastAPIを使用して高速データサイエンスアプリケーションを構築およびホストするを追加。 @KludexによるPR #1786。
- カスタム
json_encodersを持つ他のモデルから継承するPydanticモデルのエンコーディングを修正。 @henrybettsによるPR #1769。 jsonable_encoderを簡素化および改善。 @MashhadiNimaによるPR #1754。- いくつかの点で内部コード構文を簡素化。 @uriyyoによるPR #1753。
- 内部型付けを改善し、
Optionalパラメータを宣言。 @MashhadiNimaによるPR #1731。 - 外部リンクFastAPIをAzure App Serviceにデプロイするをドキュメントに追加。 @windsonによるPR #1726。
- WebSocketテストに関するStarletteドキュメントへのリンクを追加。 @hellocoldworldによるPR #1717。
- 依存関係の生成をリファクタリングし、forループをマージ。 @BloodielieによるPR #1714。
- Jinjaテンプレートの例を更新し、HTMLメディアタイプを含めるように。 @frafraによるPR #1690。
- セキュリティに関するドキュメントの誤植を修正。 @nilslindemannによるPR #1678。
- 依存関係に関するドキュメントの誤植を修正。 @nilslindemannによるPR #1675。
FastAPIの**extraパラメータの型アノテーションを修正。 @bharelによるPR #1659。- MkDocs Materialをバージョンアップし、ダークモードブラウザでのドキュメント表示を修正。 @adriencacciaによるPR #1789。
- 各コミットからドキュメントプレビューコメントを削除。 PR #1826。
- Gitter通知ボットのGitHubコンテキスト抽出を更新。 PR #1766。
0.60.1¶
- GitHubの隠れたコンテキストを調査するためのGitHubアクションのデバッグログを追加。 PR #1764。
- オンラインドキュメントにOSのテーマ設定を使用。 @adriencacciaによるPR #1760。
- Windowsで静的ファイルを使用する際の脆弱性に対応するため、Starletteをバージョン
0.13.6にアップグレード。 @jamesag26によるPR #1759。 - swagger-api/swagger-ui#6249の修正を待つため、Swagger UIを一時的に固定。 PR #1763。
- GitHub Actionsを更新、ドキュメントプレビューにはマージ前のコミットではなくPRからのコミットを使用。 PR #1761。
- GitHub Actionsを更新、Gitterボットをリファクタリング。 PR #1746。
0.60.0¶
- 不足しているプレビュードキュメントを監視し、プレビューデプロイをトリガーするGitHubアクションを追加。 PR #1740。
- ドキュメントプレビュー付きアーティファクトを取得するカスタムGitHubアクションを追加。 PR #1739。
- PRからのドキュメントをプレビューするための新しいGitHubアクションを追加。 PR #1738。
- GitHub ActionsをサポートするためにXMLテストカバレッジを追加。 PR #1737。
- バッジを更新し、GitHub Actionsが主要なCIになったためTravisを削除。 PR #1736。
- CIのためにGitHub Actionsを追加、Travisから移行。 PR #1735。
- ボディ付きGETリクエストのOpenAPIスキーマ追加をサポート。 @victorphoenix3によるPR #1626。
0.59.0¶
- OAuth2ユーティリティのdocstringの誤植を修正。 @tomarv2によるPR #1621。
- JWTドキュメントを更新し、PyJWTの代わりにPython-joseを使用するように。 @asheuxによる最初のPR #1610。
- ドキュメントの検索バーを修正/再有効化。 PR #1703。
- すべての
pathsにプレフィックスを付ける代わりに、root_pathがある場合にOpenAPIserversに「サーバー」を自動生成する - 外部リンクの誤植/リンクを修正。 PR #1702。
- 外部リンクの処理を更新し、データファイルを使用するようにし、新しいリンクが追加されたときにすぐに古くならないようにヘッダーの翻訳を許可。 PR #https://github.com/tiangolo/fastapi/pull/1701。
- 外部リンクFastAPIとStreamlitを使用したPythonでの機械学習モデル提供をドキュメントに追加。 @davidefioccoによるPR #1669。
- Pydanticユニオンの順序に関する注記をドキュメントに追加。 @kbancによるPR #1591。
- エディタでのテストのサポートを改善。 PR #1699。
- 依存関係を固定。 PR #1697。
- isortをバージョン5.x.xに更新。 @asheuxによるPR #1670。
0.58.1¶
- Pydanticデータ型へのリンクをドキュメントに追加。 @tayoogunbiyiによるPR #1612。
openapi_prefixの警告ログ内のリンクを修正。 @bavaria95によるPR #1611。- ドキュメント内の壊れたリンクを修正。 @molto0504によるPR #1603。
- Vimを使用する貢献者のために、Vimの一時ファイルを
.gitignoreに追加。 @asheuxによるPR #1590。 - サブアプリケーションに関するドキュメントの誤植を修正。 @schlpbchによるPR #1578。
- ドキュメント内のすべての例で
Optionalを使用。元のPRは@chrisngyn、@kx-chen、@YKo20010による#1574。更新およびマージされたPRは#1644。 response_model_by_aliasのテストと処理を更新。 PR #1642。- ボディ - フィールド - 请求体 - 字段の中国語翻訳を追加。 @waynervによるPR #1569。
- メインページの中国語翻訳を更新。 @waynervによるPR #1564。
- ボディ - 複数のパラメータ - 请求体 - 多个参数の中国語翻訳を追加。 @waynervによるPR #1532。
- パスパラメータと数値の検証 - 路径参数和数值校验の中国語翻訳を追加。 @waynervによるPR #1506。
- 承認されたPR(主に翻訳)に自動的にラベルを付けるGitHubアクションを追加。 PR #1638。
0.58.0¶
- OpenAPIレスポンスをディープマージして、すべての追加メタデータを保持。 PR #1577。
- メインアプリのイベントのみが実行される(サブアプリは実行されない)ことをドキュメントで言及。 @amacfieによるPR #1554。
- ボディのバリデーションエラーレスポンスを修正。ボディ変数が埋め込まれていない場合は含めない。 @amacfieによるPR #1553。
- 依存関係オーバーライドを使用している場合のOAuth2セキュリティスコープのテストを修正。 @amacfieによるPR #1549。
- JSONスキーマの代わりにJSONスキーマキーワード
notのモデルを修正。 @v-doによるPR #1548。 - OpenAPI
serversのサポートを追加。 @mikaelloによるPR #1547。
0.57.0¶
- 「外部リンク」から壊れたリンクを削除。 @victorphoenix3によるPR #1565。
- 依存関係を持つWebSocketsのドキュメントを更新/修正。元のPRは@ChihSeanHsuによる#1540。
status_codeパラメータでのPythonのhttp.HTTPStatusのサポートを追加。 @retniktによるPR #1534。__root__を持つPydanticモデルを使用する場合、jsonable_encoderで内部値を使用。 @patrickkwangによるPR #1524。- パスパラメータのドキュメントを更新。 @yankeexeによるPR #1521。
- 最初のステップ、リンク、および言い回しに関するドキュメントを更新。 @yankeexeによるPR #1518。
- Swagger UIで
showCommonExtensionsを有効にして、maxLengthなどの追加の検証を表示。 @TiewKHによるPR #1466。 OAuth2PasswordRequestFormStrictをfastapi.securityから直接インポートできるように。 @RichardHoekstraによるPR #1462。- デフォルトのレスポンスクラスに関するドキュメントを追加。 @TezRomacHによるPR #1455。
- レスポンスモデルに、追加パラメータ
response_model_exclude_defaultsとresponse_model_exclude_noneに関する注記を追加。 @wshayesによるPR #1427。 - PyCharm Pydanticプラグインに関する注記をドキュメントに追加。 @koxudaxiによるPR #1420。
- テスト関数名を更新し、明確化。 @chenlによるPR #1395。
- リクエストを直接使用する間接的な依存関係によって作成される重複ヘッダーを修正。 @scottsmith2gmailのテストに基づいた@obatakuによるPR #1386。
- Starletteのバージョンを
0.13.4にアップグレード。 @rushtonによるPR #1361。 - 無効なJSONを持つリクエストのエラー処理とフィードバックを改善。 @aviramhaによるPR #1354。
- OpenAPIでタグのメタデータを宣言するサポートを追加。新しいドキュメントはチュートリアル - メタデータとドキュメントURL - タグのメタデータにあります。 @thomas-maschlerによるPR #1348。
- ロシア語翻訳の基本的な設定を追加。 PR #1566。
- 公式コミュニティ翻訳の追加後、古い中国語の記事を削除。 @waynervによるPR #1510。
- デバッグを簡素化するために、パスオペレーション関数のパラメータヘルパー(
Query、Dependsなど)に__repr__を追加。 @rkbeatssと@victorphoenix3によるPR #1560。
0.56.1¶
- チュートリアルから高度なドキュメントへのリンクを追加。 @kx-chenによるPR #1512。
- 内部の不要なf-文字列を削除。 @kotamatsuokaによるPR #1526。
- クエリパラメータと文字列検証 - 查询参数和字符串校验の中国語翻訳を追加。 @waynervによるPR #1500。
- リクエストボディ - 请求体の中国語翻訳を追加。 @waynervによるPR #1492。
- FastAPIのヘルプ - ヘルプを得る - 帮助 FastAPI - 获取帮助の中国語翻訳を追加。 @waynervによるPR #1465。
- クエリパラメータ - 查询参数の中国語翻訳を追加。 @waynervによるPR #1454。
- 貢献 - 开发 - 贡献の中国語翻訳を追加。 @waynervによるPR #1460。
- パスパラメータ - 路径参数の中国語翻訳を追加。 @waynervによるPR #1453。
- Microsoftの公式プロジェクトジェネレータ(spaCyをFastAPIとAzure Cognitive Skillsで提供するためのもの)をプロジェクトジェネレータに追加。 @kabirkhanによるPR #1390。
- Python型入門のドキュメントを更新し、
Optionalに関する情報を含めるように。元のPRは@yaegassyによる#1377。 yieldを持つ呼び出し可能なクラス依存関係のサポートを修正。 @mrosalesによるPR #1365。- クライアントが無効なペイロードを送信した場合の誤ったエラーロギングを修正/削除。 @dbantyによるPR #1351。
- 最初のステップ - 第一步の中国語翻訳を追加。 @waynervによるPR #1323。
- Pydanticモデルを含むルーターでコールバックを使用するアプリのOpenAPI生成を修正。 @nsidnevによるPR #1322。
get_path_param_names()内の内部正規表現のパフォーマンスを最適化。 @heckadによるPR #1243。- ドキュメントで不要な関数の
*,を削除。 @pankaj-giriによるPR #1239。 - イタリア語翻訳を開始。 @csrによるPR #1557。
0.56.0¶
- ASGI
root_pathのサポートを追加- マウントされたアプリケーションのために内部的に
root_pathを使用し、OpenAPIとドキュメントUIが追加設定やパラメータなしで自動的に機能するようにします。 - コマンドラインで設定できる場合(例:UvicornおよびHypercornの場合、パラメータ
--root-pathを使用)、FastAPIアプリケーションに新しいroot_pathパラメータを提供します。 - 新しい
root_pathパラメータに賛成し、openapi_prefixパラメータを非推奨にします。 - サブアプリケーション - マウントの新しい/更新されたドキュメント(
openapi_prefixは自動的に処理されるため不要)。 - Traefikを使用したローカルテストプロキシの設定方法と
root_pathの使用方法を含む、プロキシの背後の新しい/更新されたドキュメント。 - OpenAPIの拡張のドキュメントを、新しい
openapi_prefixパラメータ(root_pathから内部的に生成される)が渡されるように更新。 - @iksteenによる元のPR #1199。
- マウントされたアプリケーションのために内部的に
- 新しい問題テンプレートとドキュメントを更新: FastAPIを助ける - ヘルプを得る。 PR #1531。
- GitHubアクションissue-managerを更新。 PR #1520。
- 新しいリンクを追加
- 英語記事:
- PythonとPostgresを使用したリアルタイム通知(Guillermo Cruz著)。
- FastAPIを使用したPythonでのマイクロサービス(Paurakh Sharma Humagain著)。
- Python FastAPIでシンプルなAPIサービスを構築する — パート1(cuongld2著)。
- FastAPI + Zeit.co = 🚀(Paul Sec著)。
- FastAPIでウェブAPIをゼロから構築する - ワークショップ(Sebastián Ramírez (tiangolo)著)。
- PythonとFastAPIで安全なTwilioウェブフックを構築する(Twilio著)。
- DjangoでFastAPIを使用する(Stavros Korokithakis著)。
- Dispatchの紹介(Netflix著)。
- ポッドキャスト:
- トーク:
- PR #1467。
- 英語記事:
- Python型入門 - Python 类型提示简介の中国語翻訳を追加。 @waynervによるPR #1197。
0.55.1¶
- パスパラメータで独自のスキーマを持つEnumの処理を修正。FastAPIでpydantic/pydantic#1432をサポートするため。 PR #1463。
0.55.0¶
- EnumがOpenAPIで独自のスキーマを持つことを許可。FastAPIでpydantic/pydantic#1432をサポートするため。 PR #1461。
- GitHubスポンサーを通じた資金提供のリンクを追加。 PR #1425。
- 質問用イシューテンプレートを更新。 @retniktによるPR #1344。
- ドキュメントのパスワード保存に関する警告を更新。 @skorokithakisによるPR #1336。
- 誤植を修正。 @chenlによるPR #1326。
- 代替案、インスピレーション、比較 - Alternativas, Inspiração e Comparaçõesのポルトガル語翻訳を追加。 @SerronesによるPR #1325。
- ドキュメントの誤植を2箇所修正。 @waynervによるPR #1324。
- CORSドキュメントを更新し、
max_age=600の正しいデフォルトを修正。 @derekbekoeによるPR #1301。 - メインページのポルトガル語翻訳を追加。 @SerronesによるPR #1300。
- フィールドの追加情報に関するドキュメントを再構成し、明確化。 @chris-allnuttによるPR #1299。
- ドキュメントの短い機能にある
*が、すべての言語で一貫している(.の後ろ)ことを確認。 PR #1424。 - SQLAlchemyチュートリアルで
get_dbの実行順序を更新。 @bcbによるPR #1293。 - 非同期ドキュメントの誤植を修正。 PR #1423。
0.54.2¶
- 同時実行とasync / await - Concurrencia y async / awaitのスペイン語翻訳を追加。 @alvaropernasによるPR #1290。
- 古い投票リンクを削除。 @donhuiによるPR #1289。
openapi_url=NoneでOpenAPIを無効にするだけで、ドキュメントUIを無効にできるように。ドキュメントに新しい例を追加: 高度な機能: 条件付きOpenAPI。 PR #1421。- ベンチマーク - Comparaçõesのポルトガル語翻訳を追加。 @SerronesによるPR #1274。
- チュートリアル - ユーザーガイド - イントロ - Tutorial - Guia de Usuário - Introduçãoのポルトガル語翻訳を追加。 @marcosmmbによるPR #1259。
- 翻訳のためにMkDocsでUnicodeを使用できるように。 PR #1419。
- 高度なユーザーガイド - イントロ - Guía de Usuario Avanzada - Introducciónのスペイン語翻訳を追加。 @jfunezによるPR #1250。
- 歴史、設計、未来 - História, Design e Futuroのポルトガル語翻訳を追加。 @marcosmmbによるPR #1249。
- 機能 - Recursosのポルトガル語翻訳を追加。 @marcosmmbによるPR #1248。
- チュートリアル - ユーザーガイド - イントロ - Tutorial - Guía de Usuario - Introducciónのスペイン語翻訳を追加。 @MartinEliasQによるPR #1244。
- デプロイメント - 部署の中国語翻訳を追加。 @RunningIkkyuによるPR #1203。
- チュートリアル - ユーザーガイド - イントロ - 教程 - 用户指南 - 简介の中国語翻訳を追加。 @waynervによるPR #1202。
- 機能 - 特性の中国語翻訳を追加。 @DustyposaによるPR #1192。
- メインページの中国語翻訳を追加。 @waynervによるPR #1191。
- プロジェクト生成のドキュメントを更新。 PR #1287。
- Python型入門(Python Types Intro)のスペイン語翻訳を追加。 @mariacamilaglによるPR #1237。
- 機能(Features)のスペイン語翻訳を追加。 @mariacamilaglによるPR #1220。
0.54.1¶
- データベーステスト設定を更新。 PR #1226。
- テストが失敗した場合にレスポンステキストを表示することで、テストのデバッグを改善。 @samuelcolvinによるPR #1222。
0.54.0¶
- 非同期ドキュメントの文法上の誤りを修正。 @mickeypashによるPR #1188。
response_model_exclude_defaultsおよびresponse_model_exclude_noneのサポートを追加- データベースのテストに関する例を追加。最初のPRは@duganchenによる#1144。
- 開発 - 貢献: 翻訳に関するドキュメントを更新し、翻訳PRのレビューに関する注記を含める。 #1215。
- GitHub Markdown互換性のためにREADME.mdのログスタイルを更新。 #geekgaoによるPR #1200。
- Python venv
envを.gitignoreに追加。 @cassiobotaroによるPR #1212。 - ポルトガル語翻訳を開始。 @cassiobotaroによるPR #1210。
- Pydanticの
Settingsに関するドキュメントを、@lru_cache()を持つ依存関係を使用するように更新。 PR #1214。 - スペイン語の最初の翻訳FastAPIを追加。 @mariacamilaglによるPR #1201。
- 設定と環境変数に関するドキュメントを追加。最初のPRは@alexmitelmanによる1118。
0.53.2¶
- 依存関係とサブ依存関係のボディフィールドの自動埋め込みを修正。元のPRは@Toad2186による#1079。
- WebSocketテストにおける依存関係のオーバーライドを修正。 @amitlissackによるPR #1122。
- ドキュメントスクリプトを修正し、言語が常にソートされるように。 PR #1189。
- 中国語翻訳を開始。 @RunningIkkyuによるPR #1187。
- スキーマエクストラ - 例のドキュメントを追加。 PR #1185。
0.53.1¶
- 翻訳のリファクタリング後、含まれる例を修正。 PR #1182。
Fieldのexampleに関するドキュメントの例を追加。Body - Fields: JSON Schema extrasのドキュメント。 @JohnPatonによるPR #1106。response_modelで再帰モデルを使用する問題を修正。 @voegtlelによるPR #1164。- Pycharmデバッグのドキュメントを追加。 @youngquanによるPR #1096。
- ドキュメントの誤植を修正。 @PLNechによるPR #1148。
- Windows開発環境の指示を更新。 PR #1179。
0.53.0¶
- テストカバレッジバッジを更新。 PR #1175。
pip install fastapi[all]にorjsonを追加。 @michael0liverによるPR #1161。GZipMiddlewareの含まれる例を修正。 @arimbrによるPR #1138。OAuth2PasswordRequestFormStrictのdocstringのクラス名を修正。 @adg-mhによるPR #1126。- ドキュメントの例における関数名を明確化。 @tmsickによるPR #1121。
- 外部リンクFastAPIとaiokafkaを使用したApache Kafkaプロデューサーとコンシューマーをドキュメントに追加。 @iwpndによるPR #1112。
by_aliasまたはexclude_unsetを使用し、Pydanticモデルでデータを返す際のシリアライズを修正。 @juhovh-aivenによるPR #1074。- Gitterチャットをドキュメントに追加。 @aakashnandによるPR #1061。
- 翻訳ドキュメントを更新し、簡素化。 PR #1171。
- FastAPIドキュメントの開発を更新し、Windowsサポートを改善するためにアドレスを
127.0.0.1に設定。 @mariacamilaglによるPR #1169。 - ドキュメント翻訳のサポートを追加。新しいドキュメント: 開発 - 貢献: ドキュメント: 翻訳。 PR #1168。
- ドキュメントのターミナルスタイルを更新し、Typer、CLIのFastAPIに関する注記を追加。 PR #1139。
0.52.0¶
orjsonを使用した新しい高性能JSONレスポンスクラスを追加。新しいドキュメント: カスタムレスポンス - HTML、ストリーム、ファイル、その他:ORJSONResponse。 PR #1065。
0.51.0¶
- Starletteからのユーティリティを再エクスポート
- これにより、
from starlette.responses import JSONResponseの代わりにfrom fastapi.responses import JSONResponseのような使用が可能になります。 - これは主にシンタックスシュガーであり、開発者体験のための利便性です。
- 現在、
Request、Response、WebSocket、statusはfrom fastapi import Responseのようにfastapiから直接インポートできます。これは、これらの要素がリクエストを直接使用したり、ヘッダーとクッキーを設定したり、ステータスコードを取得したりするために頻繁に使用されるためです。 - 多くの場所でドキュメントが変更されましたが、新しいドキュメントと顕著な改善点があります。
- PR #1064。
- これにより、
0.50.0¶
- デプロイメントのバージョン固定に関するドキュメントからリリースノートへのリンクを追加。 PR #1058。
- Starletteの最新バージョンを使用するようにコードをアップグレード
- いくつかのバグ修正。
- スラッシュのオプションのSリダイレクト(末尾に
/がある場合とない場合)。 - ルーターのイベント、
"startup"、および"shutdown"。 - PR #1057。
- デプロイメントのためのFastAPIバージョンの固定に関するドキュメントを追加: デプロイメント: FastAPIバージョン。 PR #1056。
0.49.2¶
- リリースノートのリンクを修正。 @sattosanによるPR #1052。
- リリースノートの誤植を修正。 @sattosanによるPR #1051。
- 混乱を避けるために
serialize_responseパラメータ名をリファクタリング/明確化。 @patrickmckennaによるPR #1031。 - プロファイリングを簡素化するために、各パスオペレーションのハンドラ関数を独立した関数で呼び出すようにリファクタリング。 @sm-FifteenによるPR #1027。
- テストに不足している依存関係を追加。 @sm-FifteenによるPR #1026。
- Python型
List[int]を含むレスポンスモデルの有効な型を受け入れるように修正。 @patrickmckennaによるPR #1017。 - SQLチュートリアルのフォーマットを修正。 @vegarstiによるPR #1015。
0.49.1¶
- 依存関係とパスオペレーション関数で使用される場合のパスオペレーションの重複パラメータを修正。 @merowinger92によるPR #994。
- NetlifyプレビューデプロイのGitHubアクションを更新。修正はすでにマージされており、新しいリリースがあるため。 PR #1047。
- mypy設定をconfigファイルに移動。 @hukkinj1によるPR #987。
- フォークからのPRでNetlifyプレビューがデプロイできない一時的な修正。 @mariacamilaglによるPR #1046。
0.49.0¶
jsonable_encoder内のpathlibパスのエンコーディングを修正。 @patrickmckennaによるPR #978。- 外部リンクに記事を追加: PythonのWeb frameworkのパフォーマンス比較 (Django, Flask, responder, FastAPI, japronto)と[FastAPI] Python製のASGI Web フレームワーク FastAPIに入門する。 @tokusumiによるPR #974。
- ドキュメント内の壊れたリンクを修正。 @tsotnikovによるPR #949。
- 小さな誤植を修正。 @NikitaKolesovによるPR #941。
yieldを使用した依存関係のドキュメントを更新し、明確化。 PR #986。- ドキュメントに図用のMermaid JSサポートを追加。最初の図を依存関係: 最初のステップと
yieldとHTTPExceptionを持つ依存関係に追加。 PR #985。 - CIを更新し、GitHubアクションでドキュメントのデプロイを実行するように。 PR #983。
functools.partialで変更された関数など、パスオペレーション関数でcallableを許可。 PR #977。
0.48.0¶
- テストで最初にリンターを実行し、より早くエラーを検出するように。 PR #948。
email-validatorが使用された場合のみ警告をログに記録。 PR #946。yieldを含む二重依存関係を使用してPeeweeドキュメントを簡素化。 PR #947。- 外部リンクに記事を追加: FastAPIアプリをHerokuに作成およびデプロイする。 @windsonによるPR #942。
- Sanicの説明を更新。現在ASGIもサポートしているため。 @raphaelauvによるPR #932。
- メインページの誤植を修正。 @mMarzetaによるPR #920。
- おそらく無効なボディの解析を修正。 @dmontaguによるPR #918。
- 誤植を修正#916(@adursunによる)。
- OpenAPIのEnumで
Any型を許可。 @songzhiによるPR #906。 - 外部リンクに記事を追加: AWS SAMでFastAPIをAWS Lambdaに継続的にデプロイする方法。 @iwpndによるPR #901。
- Pydanticなしでボディパラメータを使用する際の注意を追加。 @pawamoyによるPR #900。
- Pydanticフィールドのクローンロジックを修正。 @deuce2367によるPR #899。
- ミドルウェアドキュメントのリンクを修正。 @linchiwei123によるPR #893。
- 一貫性のため、デフォルトのAPIタイトルを「Fast API」から「FastAPI」に改名。 PR #890。
0.47.1¶
response_modelのモデルフィルタリング、サブモデルのクローン作成を修正。 PR #889。- ORMモードを使用しているPydanticモデルのFastAPIシリアライゼーションがイベントループをブロックする問題を修正。 PR #888。
0.47.0¶
- ドキュメントをリファクタリングし、よりシンプルで短いチュートリアル - ユーザーガイドと、すべての追加ドキュメントを含む高度なユーザーガイドを追加。 PR #887。
- 外部リンク、Markdown形式、誤植を調整。 PR #881。
- チュートリアルにおけるHTTP基本認証の
usernameとpasswordの処理のバグを修正。 @isaevpdによるPR #865。 list、tupleなどの純粋なクラスで宣言されたフォームパス操作パラメータの処理を修正。 @nsidnevによるPR #856。RequestValidationErrorにリクエストbodyを追加、新しいドキュメント:RequestValidationErrorbody の使用。最初の PR #853 by @aviramha。- 外部リンクを新しいリンクと
fastapiトピックを持つ動的な GitHub プロジェクトで更新。PR #850。 - Peewee
contextvarsのドキュメントでの扱いを修正: Peewee を使用した SQL (リレーショナル) データベース。PR #879。 - 余分な依存関係を重複させる Pipenv を要求する代わりに、Python の Venv と Flit を使用して開発環境をセットアップ。更新されたドキュメント: 開発 - 貢献。PR #877。
- HTTP Basic Auth のドキュメントを更新し、タイミング攻撃に対するセキュリティを向上。最初の PR #807 by @zwass。
0.46.0¶
- タイプミスを修正し、設定を調整。PR #837。
- 外部リンクに中国語記事へのリンクを追加。PR 810 by @wxq0309。
OAuth2AuthorizationCodeBearerクラスを実装。PR #797 by @kuwv。- ドキュメントのメインページのアップグレード例を更新。PR #795 by @cdeil。
- サブ・ルーターのコールバック処理を修正。PR #792 by @jekirl。
- タイプミスを修正。PR #784 by @kkinder。
- 外部リンクに日本語の記事を4件追加。PR #783 by @HymanZHAN。
jsonable_encoderでメインタイプ (例: asyncpg の UUID) のサブタイプをサポート。PR #756 by @RmStorm。- ドキュメントで Pydantic の
HttpUrlの使用を修正。PR #832 by @Dustyposa。 - ドキュメントの Twitter リンクを修正。PR #813 by @justindujardin。
- FastAPI と Peewee ORM を正しく使用するためのドキュメントを追加。Peewee の一部を上書きして非同期スレッドを正しく処理する方法を含む。PR #789。
0.45.0¶
- OpenAPI コールバックのサポートを追加
- 新しいドキュメント: OpenAPI コールバック。
operationIdの生成をリファクタリングし、有効な Python 名 (ほとんどの言語で有効な変数) にする。APIRouterにdefault_response_classパラメータを追加。- 元の PR #722 by @booooh。
- ロギングをリファクタリングしてどこでも同じロガーを使用し、ログ文字列とレベルを更新。PR #781。
- 外部リンクに記事を追加: FastAPI を試すべき理由は何ですか?。PR #766 by @prostomarkeloff。
- エラー処理に関するドキュメントのジェンダーバイアスを削除。PR #780。元のアイデアは PR #761 by @classywhetten。
- ドキュメントと参照の
body-schemaを Pydantic に合わせてbody-fieldsに改名。PR #746 by @prostomarkeloff。
0.44.1¶
- GitHub ソーシャルプレビュー画像を git に追加。PR #752。
- PyPI "trove classifiers" を更新。PR #751。
- Python 3.8 の完全なサポートを追加。Travis で Python 3.8 を完全に有効化。PR 749。
- "新しいイシュー" テンプレートを更新。PR #749。
- エキゾチックな Pydantic タイプのエラーのシリアライズを修正。PR #748 by @dmontagu。
0.44.0¶
- GitHub アクション Issue Manager を追加。PR #742。
- ドキュメントのタイプミスを修正。PR 734 by @bundabrg。
jsonable_encoderでのcustom_encoderの使用を修正。PR #715 by @matrixise。- 無効な XML 例を修正。PR 710 by @OcasoProtal。
- デプロイメントドキュメントのタイプミスと文言を修正。PR #700 by @marier-nico。
APIRouterドキュメントに依存関係に関する注記を追加。PR #698 by @marier-nico。- 依存関係としての非同期クラスメソッドのサポートを追加 #681 by @frankie567。
- 外部リンクに FastAPI with Swagger UI チートシートを追加。PR #671 by @euri10。
- CORS 例の HTTP プロトコルのタイプミスを修正。PR #647 by @forestmonster。
- Pydantic バージョン
1.0.0以降のサポートを追加し、Pydantic0.32.2との一時的な (非推奨の) 後方互換性を持つ。PR #646 by @dmontagu。
0.43.0¶
- ドキュメントを更新してジェンダーバイアスを減らす。PR #645 by @ticosax。
- すべての パスオペレーション の
operationIdをその関数名に基づいて上書きすることに関するドキュメントを追加。PR #642 by @SKalt。 - 誤ったキー順序を生成するモデルのバリデーターを修正。PR #637 by @jaddison。
- コンテンツのないレスポンスに対して正しい OpenAPI ドキュメントを生成。PR #621 by @brotskydotcom。
- ドキュメントの Bash コードブロックから一貫性のために
$を削除。PR #613 by @nstapelbroek。 - ドキュメント (Swagger UI) の静的アセットをセルフホストするためのドキュメントを追加。例えば、ドキュメントをオフラインで、またはインターネットなしで使用するため。最初の PR #557 by @svalouch。
- アップグレード後の
blackリンティングを修正。PR #682 by @frankie567。
0.42.0¶
yieldを伴う依存関係 (別名: 終了ステップ、コンテキストマネージャー、クリーンアップ、ティアダウンなど) を追加- これにより、依存関係が完了した後に余分なコードを追加できます。例えば、データベース接続を閉じるために使用できます。
yieldを伴う依存関係は通常の依存関係でもasync依存関係でも構いません。FastAPI は通常の依存関係をスレッドプールで実行します。- これらは通常の依存関係と組み合わせることができます。
yieldを伴う依存関係と終了ステップは、任意のツリー/レベルで自動的に正しい順序で処理されます。- Python 3.7 以降ではデフォルトで動作します。Python 3.6 の場合、追加のバックポート依存関係が必要です。
async-exit-stackasync-generator
- 新しいドキュメント:
yieldを伴う依存関係。 - 更新されたデータベースドキュメント: SQL (リレーショナル) データベース: メイン FastAPI アプリ。
- PR #595。
- ウェブサイトの
sitemap.xmlを修正。PR #598 by @samuelcolvin。
0.41.0¶
- 必須 Starlette を
0.12.9にアップグレード。新しい範囲は>=0.12.9,<=0.12.9。- FastAPI アプリに
Stateをapp.stateとして追加。 - PR #593。
- FastAPI アプリに
RequestとAPIRouteのカスタムクラスの処理を改善。- これにより、次のようなユースケースをより簡単に解決できます。
- リクエストの前後にボディを読み込む (ミドルウェアに相当)。
- ミドルウェアのようなコードを パスオペレーション の一部のみで実行する。
- パスオペレーション関数 に渡す前にリクエストを処理する。例: 解凍、逆シリアル化など。
- パスオペレーション関数 によって生成された後、返される前にレスポンスを処理する。例: カスタムヘッダーの追加、ロギング、追加メタデータの追加。
- 新しいドキュメントセクション: カスタム Request および APIRoute クラス。
- PR #589 by @dmontagu。
- これにより、次のようなユースケースをより簡単に解決できます。
- 他のサブルーターを含める際にルーターのカスタムルートクラスが保持されるように修正。PR #538 by @dmontagu。
0.40.0¶
- フォームを使用する際の
python-multipartのインストールに関する注記をドキュメントに追加。PR #574 by @sliptonic。 - OpenAPI スキーマをアルファベット順で生成。PR #554 by @dmontagu。
- パスオペレーション関数 の docstring を切り詰めるサポートを追加。
- 新しいドキュメント: docstring からの高度な説明。
- PR #556 by @svalouch。
- Swagger UI および ReDoc のために生成された HTML ファイルの
DOCTYPEを修正。PR #537 by @Trim21。 - デフォルトの
422バリデーションエラーレスポンスをオーバーライドする4XXレスポンスの処理を修正。PR #517 by @tsouvarev。 - Simple HTTP Basic Auth のドキュメントのタイプミスを修正。PR #514 by @prostomarkeloff。
- 最初のステップのドキュメントの誤った例を修正。PR #511 by @IgnatovFedor。
swagger_ui_init_oauthパラメータで Swagger UI の initOauth 設定をサポート。PR #499 by @zamiramir。
0.39.0¶
- パスパラメータがデフォルト値 (例:
None) を持つことを許可し、エラーを発生させる代わりにそれらを破棄する。- これにより、クエリパラメータから取得できる
user_id: str = Noneのようなパラメータを宣言できますが、同じ パスオペレーション はパス/users/{user_id}を持つルーターに含まれることができ、その場合、パスから取得され、必須になります。 - PR #464 by @jonathanunderwood。
- これにより、クエリパラメータから取得できる
FastAPIインスタンスまたはinclude_routerでdefault_response_classを設定するサポートを追加。最初の PR #467 by @toppk。- 文字列と
from __future__ import annotationsを使用した型アノテーションのサポートを追加。PR #451 by @dmontagu。
0.38.1¶
- 誤った
Requestクラスのインポートを修正。PR #493 by @kamalgill。
0.38.0¶
- 外部リンクに最近の記事と最近の意見を追加。PR #490。
- Starlette のサポート範囲を
0.12.8を含むようにアップグレード。新しい範囲は>=0.11.1,<=0.12.8"。PR #477 by @dmontagu。 - Pydantic バージョン 0.32.2 へのサポートをアップグレードし、内部コードをそれを使用するように更新 (破壊的変更)。PR #463 by @dmontagu。
0.37.0¶
- 高度なユースケース向けのカスタムルートクラスのサポートを追加。PR #468 by @dmontagu。
- ReDoc で Google フォントを無効にできるようにする。PR #481 by @b1-luettje。
- セキュリティ問題を修正: レスポンスモデルのサブクラスを返し、
skip_defaultsを使用すると情報漏洩の可能性があった。PR #485 by @dmontagu。 - Python 3.8-dev のテストを有効化。PR #465 by @Jamim。
response_modelで Pydantic データクラスのサポートとテストを追加。PR #454 by @dconathan。- OAuth2 JWT チュートリアルのタイプミスを修正。PR #447 by @pablogamboa。
Body()パラメータのmedia_typeパラメータを使用して、OpenAPI のrequestBodyでメディアタイプを設定。PR #439 by @divums。- Nico Axtmann による記事 Deploying a scikit-learn model with ONNX and FastAPI を追加。PR #438 by @naxty。
- OpenAPI でカスタムの
422(バリデーションエラー) レスポンス/スキーマを設定できるようにする。 "default"の追加レスポンスをステータスコードと同時に使用する問題を修正。PR #489。- 追加レスポンスがステータスコード範囲 (
5XXや4XXなど) と"default"を使用できるようにする。PR #435 by @divums。
0.36.0¶
- Pydantic モデルを返す際の
skip_defaultsの実装を修正。PR #422 by @dmontagu。 - 同じ パスオペレーション の複数の場所で同じ依存関係を使用する場合の OpenAPI 生成を修正。PR #417 by @dmontagu。
include_routerとprefixで使用される パスオペレーション で空のパスを許可する。- PR #415 マージ後の mypy エラーを修正。PR #462。
0.35.0¶
- ルーティングの
assertのタイプミスを修正。PR #419 by @pablogamboa。 - ドキュメントのタイプミスを修正。PR #411 by @bronsen。
Unionで宣言されたボディタイプの解析を修正。PR #400 by @koxudaxi。
0.34.0¶
-
Starlette サポート範囲を最新の
0.12.7を含むようにアップグレード。新しい範囲は0.11.1,<=0.12.7。PR #367 by @dedsm。 -
PR #333 by @dmontagu からの重複モデルを持つ OpenAPI スキーマのテストを追加。PR #385。
0.33.0¶
0.32.0¶
-
機能に関するドキュメントのタイプミスを修正。PR #380 by @MartinoMensio。
-
OAuth2 スコープに関するドキュメントの文言を更新。PR #371 by @cjw296。
-
Enumがstrを継承するようにドキュメントを更新し、Swagger UI のレンダリングを改善。PR #351。 -
リグレッションを修正し、Swagger UI のディープリンクを再度追加。PR #350。
-
.include_routerのprefixにパステンプレートを持つ場合のテストを追加。PR #349。 -
ドキュメントに注記を追加: 異なる
prefixで同じルーターを複数回含める。PR #348。 -
同じ合成ボディを持つ同じ名前 (異なるモジュール内) の2つの関数に対する OpenAPI/JSON Schema 生成を修正。
- 合成ボディの ID は、自動生成された名前が関数名を使用し、異なるモジュールで重複する可能性があるため、ルート名だけでなくパスに基づいています。
- 同じ新しい ID 生成がレスポンスモデルにも適用されます。
- これにより、これらのモデルの生成されたタイトルも変更されます。
- 影響を受けるのは合成ボディとレスポンスモデルのみです。これらは動的に生成され、モジュール (Python ファイル) を持たないためです。
- これにより、
.include_router()を同じAPIRouterで 複数回、異なるプレフィックス (例:/api/v2と/api/latest) で使用できる可能性も追加され、正しく動作するようになります。 - PR #347。
0.31.0¶
- Pydantic サポートバージョンを
0.29.0にアップグレード。
0.30.1¶
-
Pipfile.lockは FastAPI の貢献者 (FastAPI 自体の開発者) のみが使用するため、リポジトリから削除。詳細については PR を参照。PR #340。 -
FastAPI を支援する - ヘルプを得るに関するセクションを更新。PR #339。
-
ユーザーのコードにおける Mypy エラーを改善/削除するために、内部型宣言を洗練。PR #338。
-
SQLAlchemy を使用した SQL チュートリアルを更新し、明確化。PR #331 by @mariacamilagl。
-
SQLite オンラインビューアーをドキュメントに追加。PR #330 by @cyrilbois。
0.30.0¶
-
Pydantic の ORM モードのサポートを追加
- SQLAlchemy を使用した SQL に関するドキュメントを更新。ORM モードの Pydantic モデル、リレーションを持つ SQLAlchemy モデル、ファイルの分離、コードの簡素化、その他の変更を含む。新しいドキュメント: SQL (リレーショナル) データベース。
- ORM モードの新しいサポートにより、遅延読み込み、ハイブリッドプロパティ、動的/ゲッター (
@propertyデコレータを使用) などの ORM 関連の問題が修正/機能が追加されます。 - これは SQLAlchemy、Peewee、Tortoise ORM、GINO ORM などの ORM に適用されます。
- パスオペレーション が属性を持つ任意のオブジェクト (例:
my_item["name"]の代わりにmy_item.name) を返し、かつresponse_modelを使用している場合、ドキュメント (上記リンク) に記載されているように、Pydantic モデルをorm_mode = Trueで更新してください。 - プレーンな
dictをリクエストボディとして受け取る新しいドキュメント: 任意のdictのボディ。 - レスポンスで任意の
dictを返す新しいドキュメント: 任意のdictを伴うレスポンス。 - 技術的な詳細:
response_modelを宣言すると、パスオペレーション関数 から返されたものから直接レスポンスコンテンツを生成するために使用されます。- 以前は、返されたコンテンツは最初に
jsonable_encoderを介して渡され、属性を持つ任意のオブジェクト (ORM モデルなど) の代わりにdictのような「jsonable」なオブジェクトであることを確認していました。そのため、属性を持つオブジェクトの Pydantic モデルを更新してorm_mode = Trueを使用するようにしてください。 response_modelがない場合でも、返されたオブジェクトは最初にjsonable_encoderを介して渡されます。response_modelが宣言されると、同じresponse_model型宣言はそのまま使用されず、新しいものを作成するために「クローン」されます (すべてのサブモデルもクローンされた PydanticField)。- これにより、潜在的なセキュリティ問題が回避/修正されます。返されたオブジェクトが Pydantic に直接渡されるため、返されたオブジェクトが
response_modelのサブクラスであった場合 (例:Userを継承するがhashed_passwordのような追加フィールドを含むUserInDBを返し、response_modelでUserが使用されている場合)、バリデーションは通過し (UserInDBはUserのサブクラスであるため)、オブジェクトはhashed_passwordを含めそのまま返されます。これを修正するために、宣言されたresponse_modelがクローンされます。Pydantic モデルクラスである場合 (またはList[Item]のように Pydantic モデルクラスを含む場合)、Pydantic モデルクラスは別のもの (「クローンされた」もの) になります。したがって、サブクラスであるオブジェクトは、クローンされたresponse_modelのサブクラスではないため、単にバリデーションを通過してそのまま返されることはありません。代わりに、返されたオブジェクトの内容を持つ新しい Pydantic モデルオブジェクトが作成されます。したがって、新しいオブジェクト (返されたデータから作成されたもの) になり、クローンされたresponse_modelによってフィルタリングされ、通常どおり宣言されたフィールドのみが含まれます。
- PR #322。
-
追加レスポンスにデフォルトのレスポンスステータスコードの説明を使用。PR #313 by @duxiaoyao。
0.29.1¶
-
必須ボディパラメータを持つ空ボディのリクエストの処理を修正。PR #311。
-
ドキュメントの破損したリンクを修正: 直接レスポンスを返す。PR #306 by @dmontagu。
-
レスポンスモデルのドキュメントの記述の食い違いを修正。PR #288 by @awiddersheim。
0.29.0¶
Responseパラメータを宣言するサポートを追加- これにより、次を宣言できます。
- レスポンスクッキー.
- レスポンスヘッダー.
- デフォルトとは異なる HTTP ステータスコード: レスポンス - ステータスコードの変更。
- これらすべてを、任意のオブジェクト (
dict、DB モデルなど) を返すことができるまま行います。 responseパラメータパターンをインスパイアした Hug への帰属を更新。- PR #294。
- これにより、次を宣言できます。
0.28.0¶
-
リクエストごとの依存関係キャッシュを実装。
- これにより、同じリクエストに対して各依存関係が複数回呼び出されるのを防ぎます。
- これは、外部サービスを呼び出す場合、費用のかかる計算を実行する場合などに役立ちます。
- また、依存関係が パスオペレーションデコレータ 依存関係として宣言されており、ルーターレベル (
.include_router()を使用) で宣言され、その後特定の パスオペレーション で再度宣言された場合でも、依存関係は一度だけ呼び出されます。 - キャッシュは、
Depends(your_dependency, use_cache=False)のようにuse_cache=Falseを使用して依存関係の宣言ごとに無効にできます。 - 更新されたドキュメント: 同じ依存関係を複数回使用する。
- PR #292。
-
テスト用の依存関係のオーバーライドを実装。
- これにより、テスト中に依存関係のオーバーライド/モックを使用できます。
- 新しいドキュメント: オーバーライドを使用した依存関係のテスト。
- PR #291。
0.27.2¶
dictを有効な型として受け取るパスおよびクエリパラメータの修正。ボディペイロードにマップされるべき。PR #287。更新されたドキュメント: デフォルト値を持つクエリパラメータリスト / 複数値:listの使用。
0.27.1¶
-
HTTPBearerセキュリティスキームでのauto_error=Falseの処理を修正。auto_error=Falseの場合、不正なAuthorizationヘッダーがあってもraiseしない。PR #282。 -
HTTPExceptionの型宣言を修正。PR #279。
0.27.0¶
-
スコープを持つ OAuth 2.0 に関するドキュメントの破損したリンクを修正。PR #275 by @dmontagu。
-
Pydantic
Fieldを使用したパラメータ抽出のリファクタリング- パスオペレーション からのパラメータ抽出の大規模なリファクタリング、改善、簡素化。
- デフォルト値を持つリスト クエリパラメータ のサポートを修正/追加。新しいドキュメント: デフォルト値を持つクエリパラメータリスト / 複数値。
- パスオペレーション パラメータでの列挙型のサポートを追加。新しいドキュメント: パスパラメータ: 事前定義された値。
param: Optional[str] = NoneのようなOptionalを使用した型アノテーションのサポートを追加。新しいドキュメント: Optional 型宣言。- PR #278。
0.26.0¶
-
バリデーションエラーのエラー処理を分離。
- これにより、開発者は例外ハンドラーをカスタマイズできるようになります。
- 例外の処理方法とエラーハンドラーの使用方法をより詳しく説明する。
RequestValidationErrorとWebSocketRequestValidationErrorを含める (後者は encode/starlette#527 または同等のものがマージされた場合に役立つ)。- 例外ハンドラーに関する新しいドキュメント
- PR #273。
-
明示的な
Path(...)なしで パスパラメータ の パス のサポートを修正。- PR #256。
- PR #272 by @wshayes でドキュメント化されました。
- 新しいドキュメント: パスを含むパスパラメータ。
-
FastAPI のテストに関するドキュメントを更新。
POSTの使用、JSON の送信、ヘッダーのテストなどを含む。新しいドキュメント: テスト。PR #271。 -
response_modelの型宣言をList[Model]のような汎用 Python 型を許可するように修正。主にユーザー向けのmypyエラーを修正するため。PR #266。
0.25.0¶
-
Pydantic の
include,exclude,by_aliasのサポートを追加。 -
新規貢献者を支援するため、GitHub に
CONTRIBUTING.mdファイルを追加。PR #255 by @wshayes。 -
Pydantic の
skip_defaultsのサポートを追加- 新しい パスオペレーションデコレータ パラメータ
response_model_skip_defaultsがあります。- このパラメータの名前は、将来のバージョンで
response_skip_defaults、model_skip_defaults、または同様のものに変更される可能性が非常に高いです。
- このパラメータの名前は、将来のバージョンで
response_model_skip_defaultsの使用に関する新しい ドキュメントセクション。- PR #248 by @wshayes。
- 新しい パスオペレーションデコレータ パラメータ
0.24.0¶
-
依存関係とパラメータを持つ WebSockets のサポートを追加。
- サポート対象
DependsセキュリティCookieHeaderPathQuery- ...これらは WebSockets プロトコルと互換性があるため (例:
Bodyは互換性がない)。
- WebSockets のドキュメントを更新.
- PR #178 by @jekirl。
- サポート対象
-
Pydantic の互換バージョンを
0.26.0にアップグレード。
0.23.0¶
-
Starlette の互換バージョンを
0.12.0にアップグレード。- これには ASGI 3 (最新バージョンの標準) のサポートが含まれます。
- イテレータ (
open()が返すような ファイルライクオブジェクト) を使用して、Starlette のStreamingResponseを使用できるようになりました。 starlette.concurrencyからの低レベルユーティリティiterate_in_threadpoolを使用できるようになりました (高度なシナリオの場合)。- PR #243。
-
Swagger UI 用の OAuth2 リダイレクトページを追加。これにより、Swagger UI のドキュメントで委任認証が可能になります。これを機能させるには、OAuth2 プロバイダー (Auth0、Facebook、Google など) の許可されたコールバックに
{your_origin}/docs/oauth2-redirectを追加する必要があります。- たとえば、開発中は
https://:8000/docs/oauth2-redirectになる可能性があります。 - このコールバック URL は、フロントエンドが使用するコールバック URL とは独立していることに注意してください。
https://yourdomain.com/login/callbackに別のコールバックがあるかもしれません。 - これは、Swagger UI で API ドキュメント内の委任認証を許可するためだけです。
- PR #198 by @steinitzu。
- たとえば、開発中は
-
Swagger UI と ReDoc のルートハンドラー (パスオペレーション) をラムダではなく
async関数にして、パフォーマンスを向上させる。PR #241 by @Trim21。 -
Swagger UI と ReDoc の URL をパラメータ化可能にし、それらのローカルバージョンをホストして提供し、オフラインドキュメントを持つことを可能にする。PR #112 by @euri10。
0.22.0¶
-
dependenciesパラメータのサポートを追加- パスオペレーションデコレータ のパラメータで、実行されるべきだが戻り値が重要でない、または パスオペレーション関数 で使用されない依存関係用。
- FastAPI アプリケーションとルーターの
.include_router()メソッドのパラメータで、ルーター内の各 パスオペレーション で実行されるべき依存関係を含めるため。- これは、たとえば、特定の パスオペレーション のグループで認証または権限を要求する場合に役立ちます。
- 異なる
dependenciesを異なるルーターに適用できます。
- これらの
dependenciesは通常のパラメータの依存関係の前に実行されます。通常の依存関係も実行されます。これらは組み合わせることができます。 - ルーターで宣言された依存関係が最初に実行され、次に パスオペレーションデコレータ で定義されたもの、次に通常のパラメータで宣言されたものが実行されます。それらはすべて組み合わされて実行されます。
- これらすべては、より高度な OAuth 2.0 セキュリティシナリオでスコープを使用するそれらの
dependenciesパラメータでSecurityをscopesとともに使用することもサポートしています。 - パスオペレーションデコレータ の依存関係に関する新しいドキュメント: Dependencies in Path Operation Decorators。
include_router()メソッドの依存関係に関する新しいドキュメント: プレフィックス、タグ、レスポンス、依存関係を持つ APIRouter を含める。- PR #235。
-
Starlette の URL コンバーターの OpenAPI ドキュメントを修正。特に
/some/url/{p:path}のようにパス全体をパラメータとして取るpathコンバーターを使用する場合に役立つ。PR #234 by @euri10。 -
fastapiからエクスポートされるデフォルトのパラメータユーティリティをクラスではなく関数にする (新しい関数はそれらのクラスのインスタンスを返す)。戻り値の型をオーバーライドし、FastAPI ユーザーのコードのmypyエラーを修正するため。Path、Query、Header、Cookie、Body、Form、File、Depends、およびSecurityに適用される。PR #226 および PR #231。 -
開発スクリプト
test.sh、lint.sh、およびformat.shを分離。PR #232。 -
Python 3.7 の
blackフォーマットチェックを再有効化。PR #229 by @zamiramir。
0.21.0¶
-
ボディ解析エラーで、以前の例外から
raiseし、ロギングコードでのより良いイントロスペクションを可能にする。PR #192 by @ricardomomm。 -
ルートロガーの代わりに「
fastapi」という名前の Python ロガーを使用。PR #222 by @euri10。 -
ルーティングのタイプミスを修正。PR #221 by @djlambert。
0.20.1¶
-
py.typedファイルを含む型情報をパッケージに追加。PR #209 by @meadsteve。 -
Gitter 用の FastAPI ボットを追加。新しいリリースを自動的にアナウンスするため。PR #189。
0.20.0¶
-
OAuth2 のアップグレード
- Bearer トークンを使用したパスワードフローを、
WWW-Authenticateヘッダーを持つ正しい HTTP ステータスコード 401UNAUTHORIZEDを使用するようにアップグレード。 - すべての セキュリティドキュメント を更新、簡素化、改善。
SecurityScopesに新しいscope_strを追加し、ドキュメントを更新: OAuth2 スコープ。- ドキュメント、画像、テストを更新。
- PR #188。
- Bearer トークンを使用したパスワードフローを、
0.19.0¶
-
パスオペレーションデコレータ パラメータ
content_typeをresponse_classに改名。PR #183。 -
ドキュメントを追加
- JSON 互換エンコーダで
jsonable_encoderを使用する方法。 - 直接レスポンスを返す方法。
- カスタムレスポンスクラスの使用方法を更新。
- PR #184。
- JSON 互換エンコーダで
0.18.0¶
-
HTTP Basic Auth のドキュメントを追加。PR #177。
-
自動ヘッダー (自動ブラウザログインプロンプト) による HTTP Basic Auth 処理をアップグレード。PR #175。
-
セキュリティのために依存関係を更新。PR #174。
0.17.0¶
-
Flit を CI から公開するようにする。PR #170。
-
CORS (Cross-Origin Resource Sharing) の処理に関するドキュメントを追加。PR #169。
-
デフォルトでエイリアスでエンコード。これにより、Pydantic
aliasパラメータがデフォルトで機能するようになる。PR #168。
0.16.0¶
-
パスオペレーション の
docstring解析をアップグレードし、適切な Markdown 記述をサポートする。新しいドキュメント: パスオペレーション設定。PR #163。 -
Pydantic の内部使用をリファクタリングし、正しいデータ型を使用するようにする。PR #164。
-
Extra Models に関するチュートリアルのタイプミスを修正。PR #159 by @danielmichaels。
-
ドキュメントの クエリパラメータ の URL 例を修正。PR #157 by @hayata-yamamoto。
0.15.0¶
-
複数のファイルアップロード (単一のフォームフィールドとして) のサポートを追加。新しいドキュメント: 複数ファイルアップロード。PR #158。
-
追加のステータスコードのドキュメントを追加。PR #156。
0.14.0¶
-
OpenAPI (API ドキュメント) の パスオペレーション の自動生成名を改善。関数
read_itemsは「Read Items Get」ではなく「Read Items」という生成名を持つようになる。PR #155。 -
FastAPI のテストのドキュメントを追加。PR #151。
-
/docsSwagger UI を更新し、ディープリンクを有効にする。これにより、ドキュメント内の パスオペレーション ドキュメントに直接リンクする URL を共有できるようになる。PR #148 by @wshayes。 -
開発依存関係、
Pipfile.lockを更新。PR #150。 -
代替、インスピレーション、比較に Falcon と Hug を含める。
0.13.0¶
SecurityScopesを使用した OAuth2 スコープサポートの改善/アップグレードSecurityScopesは、すべてのスーパー依存関係/依存オブジェクトのスコープを取得するために、Requestのようなパラメータとして宣言できます。Securityの処理を改善し、SecurityScopesを宣言する際にスコープをマージする。Dependsと一緒にSecurityBase(OAuth2のような) クラスを使用し、それらをドキュメント化できるようにする。Securityはscopesを宣言するためだけに必要となる。- OAuth2 with Password (and hashing), Bearer with JWT tokens に関するドキュメントを更新。
- OAuth2 scopes に関する新しいドキュメント。
- PR #141。
0.12.1¶
-
バグ修正:
APIRouter.include_router()で追加のresponsesを処理する。PR #140。 -
SQL チュートリアルのタイプミスを修正。PR #138 by @mostaphaRoudsari。
-
ネストされたモデルと OAuth2 with JWT のセクションのタイプミスを修正。PR #127 by @mmcloud。
0.12.0¶
- OpenAPI (および API ドキュメント) でレスポンスを拡張するための、パスオペレーションデコレータ への追加の
responsesパラメータを追加。- また、
response_modelから生成された既存のレスポンスを拡張したり、他のメディアタイプ (画像など) を宣言したりすることもできます。 - 新しいドキュメントはこちら: 追加レスポンス。
responsesは.include_router()にも追加でき、更新されたドキュメントはこちら: 大規模なアプリケーション。- PR #97 は元々 @barsi によって開始されました。
- また、
- 開発用に
-vvなどの追加パラメータを渡せるようにscripts/test-cov-html.shを更新。
0.11.0¶
-
セキュリティユーティリティ関数に
auto_errorパラメータを追加。これにより、それらをオプションにすることができます。また、複数の代替セキュリティスキームを許可し、それらが満たされない場合にそれぞれが検証して自動的にクライアントにエラーを返すのではなく、単一の依存関係でそれらをチェックすることも可能にします。PR #134。 -
SQL チュートリアルを更新し、例外発生時でもデータベースセッションを閉じるようにする。PR #89 by @alexiri。
0.10.3¶
-
Gitter チャット、バッジ、リンクなどを追加。https://gitter.im/tiangolo/fastapi。PR #117。
-
OpenAPI の拡張に関するドキュメントを追加。PR #126。
-
Travis が Python 3.7-dev の代わりに Ubuntu Xenial (新しいバージョン) と Python 3.7 を実行するようにする。PR #92 by @blueyed。
-
レスポンスモデルのドキュメントに関数戻り値の型アノテーションの代わりに、関数パラメータを使用する理由に関する注記を追加。PR #109 by @JHSaunders。
-
イベントドキュメント (startup/shutdown) の関数名を修正。PR #105 by @stratosgear。
0.10.2¶
-
Python
Unionの宣言に対する OpenAPI (JSON Schema) を修正 (JSON SchemaadditionalProperties)。PR #121。 -
バックグラウンドタスクに Celery に関する注記を追加。
-
ユニオンとリストを使用したレスポンスモデルをドキュメント化し、Extra Models で更新。PR #108。
0.10.1¶
- encode/databases のドキュメントとテストを追加。新しいドキュメント: 非同期 SQL (リレーショナル) データベース。PR #107。
0.10.0¶
-
パスオペレーション関数 および依存関係でのバックグラウンドタスクのサポートを追加。バックグラウンドタスクに関する新しいドキュメントはこちら。PR #103。
-
イベント: startup - shutdown に関する新しいドキュメントセクション。PR #99。
0.9.1¶
- 同じクエリパラメータで複数の値を受け取る場合と 重複するヘッダー をドキュメント化。PR #95。
0.9.0¶
-
互換性のある Pydantic バージョンを
0.21.0にアップグレード。PR #90。 -
アプリケーション設定のドキュメントを追加。
-
ドキュメントのタイプミスを修正。PR #76 by @matthewhegarty。
-
「Deployment」から「Bigger Applications」へのリンクを修正。
0.8.0¶
-
app.include_router()でtagsを追加するサポートを追加。PR #55 by @euri10。ドキュメントは以下のセクションで更新されました: より大規模なアプリケーション。 -
Uvicorn に関連するドキュメントを更新し、バージョン
0.5.xからの新しい--reloadオプションを使用するようにする。PR #74。 -
isortインポートとスクリプトを新しいバージョンと互換性があるように更新。PR #75。
0.7.1¶
-
以前のフレームワークとの関連で
async def処理に関する技術的な詳細を更新。PR #64 by @haizaar。 -
Raspberry Pi およびその他のアーキテクチャ向けの Docker の デプロイメントドキュメントを追加。
-
Travis CI で Docker イメージのビルドを自動的にトリガー。PR #65。
0.7.0¶
FileパラメータアノテーションでUploadFileのサポートを追加。- これにはファイルライクなインターフェースが含まれます。
UploadFileを使用したFileパラメータ の宣言に関する更新されたドキュメントはこちら。- そして、
FormパラメータとFileパラメータを同時に使用し、bytesとUploadFileをサポートするための更新されたドキュメントはこちら。 - PR #63。
0.6.4¶
-
エディタでの FastAPI アプリケーションのデバッグに関するドキュメントを追加。
-
Docker でデプロイされた より大規模なアプリケーションを明確化。
-
ドキュメントのタイプミスを修正。
-
歴史、設計、未来に関するセクションを追加。
-
FastAPI で WebSockets を使用するためのドキュメントを追加。PR #62。
0.6.3¶
- ドキュメントにファビコンを追加。PR #53。
0.6.2¶
-
FastAPI と PostgreSQL に基づく新しいプロジェクトジェネレータを導入: https://github.com/tiangolo/full-stack-fastapi-postgresql。PR #52。
-
SQLAlchemy を使用した SQL チュートリアルを更新し、
Dependsを使用してエディタのサポートを改善し、コードの重複を減らす。PR #52。 -
SQLAlchemy を使用した SQL チュートリアルのミドルウェア名を改善 https://fastapi.dokyumento.jp/tutorial/sql-databases/。
0.6.1¶
- GraphQL のドキュメントを追加: https://fastapi.dokyumento.jp/advanced/graphql/。PR #48。
0.6.0¶
-
新しい公式の
request.stateを使用して、https://fastapi.dokyumento.jp/tutorial/sql-databases/ の SQLAlchemy を使用した SQL チュートリアルを更新。PR #45。 -
Starlette をバージョン
0.11.1にアップグレードし、必要な互換性の変更を追加。PR #44。
0.5.1¶
-
FastAPI のヘルプと支援に関するセクションを追加。
-
ドキュメントのパス操作の順序に関する注意を追加。
-
エラー処理に関するセクションをさらに情報を提供し、Starlette のエラー処理ユーティリティとの関係をより明確にするために更新。PR #41。
-
ドキュメントに開発 - 貢献セクションを追加。PR #42。
0.5.0¶
-
カスタムヘッダーをサポートする新しい
HTTPExceptionを追加。エラー処理に関する新しいドキュメント: https://fastapi.dokyumento.jp/tutorial/handling-errors/。PR #35。 -
Starlette の
Requestオブジェクトを直接使用するためのドキュメントを追加。#25 by @euri10 を確認。 -
バグ報告、ヘルプの取得などを簡素化するためのイシューテンプレートを追加: #34。
-
SQLAlchemy チュートリアルの例を更新し、ミドルウェアとリクエストにアタッチされたデータベースセッションを使用するようにする: https://fastapi.dokyumento.jp/tutorial/sql-databases/。
0.4.0¶
-
openapi_prefix、リバースプロキシおよびサブアプリケーションのマウントのサポートを追加。https://fastapi.dokyumento.jp/advanced/sub-applications-proxy/ のドキュメントを参照: #26 by @kabirkhan。 -
SQLAlchemy のドキュメント/チュートリアルを更新し、DB Browser for SQLite に関する注記を追加。
0.3.0¶
- ORM を含む SQLAlchemy サポートを修正/追加し、SQLAlchemy のドキュメントを更新: #30。
0.2.1¶
Configはあるがjson_encodersのない Pydantic モデルのjsonable_encoderを修正: #29。