コンテンツへスキップ

リリースノート

最新の変更

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

アップグレード

  • ⬆️ Python 3.14のサポートを追加しました。PR #14165 by @svlandeg

0.118.2

修正

  • 🐛 タグ付けされた識別されたユニオンがボディフィールドとして認識されない問題を修正しました。PR #12942 by @frankie567

内部

0.118.1

アップグレード

  • 👽️ Pydantic 2.12.0との互換性を確保しました。PR #14036 by @cjwatson

ドキュメント

  • 📝 外部リンクを追加: FastAPIでのロギング入門。PR #14152 by @itssimon

翻訳

  • 🔨 ロシア語翻訳の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

修正

  • 🐛 StreamingResponseyieldまたはUploadFileを使用する依存関係のサポートを修正し、レスポンス完了後にクローズするようにしました。PR #14099 by @tiangolo

FastAPI 0.118.0以前は、yieldを使用する依存関係がある場合、パス操作関数が戻った後、レスポンスが送信される直前に終了コードが実行されていました。

この変更は、StreamingResponseを返した場合でも、yieldを持つ依存関係の終了コードがすでに実行されていたことを意味します。

例えば、yieldを持つ依存関係にデータベースセッションがあった場合、StreamingResponseはデータストリーミング中にそのセッションを使用できませんでした。これは、yield後の終了コードでセッションがすでに閉じられていたためです。

この動作は0.118.0で元に戻され、yield後の終了コードがレスポンス送信後に実行されるようになりました。

詳細については、高度な依存関係 - yieldHTTPExceptionexcept、およびバックグラウンドタスクを持つ依存関係のドキュメントを参照してください。これには、クライアントにレスポンスを返す前にデータベースセッションを早期に閉じたい場合の対処法も含まれています。

ドキュメント

  • 📝 tutorial/security/oauth2-jwt/を更新し、passlibの代わりにArgon2でpwdlibを使用するようにしました。PR #13917 by @Neizvestnyj
  • ✏️ OAuth2パスワードリクエストフォームのタイプミスを修正しました。PR #14112 by @alv2017
  • 📝 要件のインストールに関する貢献ガイドラインを更新しました。PR #14095 by @alejsdev

翻訳

内部

  • ⬆ [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から、言語enesukの古い書式設定を削除しました。PR #14059 by @svlandeg
  • 📝 英語のドキュメントを修正および改善しました。PR #14048 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.mddict() の非推奨情報ブロックを追加しました。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.pyscope クレームを標準に合わせました。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

アップグレード

  • ⬆️ Starletteのサポートバージョン範囲を>=0.40.0,<0.48.0にアップグレードしました。PR #13884 by @tiangolo

ドキュメント

  • 📝 docs/en/docs/contributing.mdに翻訳の変更が差し迫っていることに関する通知を追加しました。PR #13886 by @YuriiMotov

内部

0.116.0

機能

  • fastapi deploy でFastAPI Cloudへのデプロイをサポートしました。PR #13870 by @tiangolo

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

内部

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

内部

0.115.13

修正

  • 🐛 Pydantic V2でフォームフィード (\f) 文字を含むモデルの説明が切り詰められる問題を修正しました。PR #13698 by @YuriiMotov

リファクタリング

  • OAuth2PasswordBearerrefreshUrl パラメータを追加しました。PR #11460 by @snosratiershad
  • 🚸 OAuth2PasswordRequestFormpasswordclient_secret フィールドの形式をパスワードに設定し、ドキュメントにパスワードフィールドを表示するようにしました。PR #11032 by @Thodoris1999
  • settingsのテストを簡素化しました。PR #13505 by @valentinDruzhinin
  • validate_response_recursiveのテストを簡素化しました。PR #13507 by @valentinDruzhinin

アップグレード

ドキュメント

  • 📝 HTTPミドルウェアの例に注釈を追加しました。PR #11530 by @Kilo59
  • 📝 CORSドキュメントでワイルドカードとクレデンシャルが相互排他的であることを明確にしました。PR #9829 by @dfioravanti
  • ✏️ docstringのタイプミスを修正しました。PR #13532 by @comp64
  • 📝 async defawaitなしで使用する際のガイダンスを明確にしました。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

内部

0.115.12

修正

  • 🐛 ヘッダーPydanticモデルのconvert_underscores=Falseを修正しました。PR #13515 by @tiangolo

ドキュメント

  • 📝 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

内部

0.115.11

修正

翻訳

  • 🌐 docs/docs/tutorial/middleware.mdのロシア語翻訳を追加しました。PR #13412 by @alv2017

内部

  • 👥 FastAPI GitHubトピックリポジトリを更新しました。PR #13439 by @tiangolo
  • 👥 FastAPI People - 貢献者と翻訳者を更新しました。PR #13432 by @tiangolo
  • 👥 FastAPI People - スポンサーを更新しました。PR #13433 by @tiangolo

0.115.10

修正

  • ♻️ Pydantic 2.11との互換性のために、内部アノテーションの使用を更新しました。PR #13314 by @Viicos

アップグレード

  • ⬆️ 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

修正

  • 🐛 HTTPDigestauto_error is Trueの場合にのみ例外を発生させるようにしました。PR #2939 by @arthurio

リファクタリング

  • 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-action v3を使用しました。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-cli UI 例を更新しました。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

  • 🐛 yield を持つ同期依存関係で例外が発生した場合にトレースバックを保持するように修正しました。PR #5823 by @sombek

Refactors

  • ♻️ Pydantic >=2.10 との互換性のためにテストと内部を更新しました。PR #12971 by @tamird

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

0.115.5

Refactors

  • ♻️ Pydantic 2.10 をサポートするために内部チェックを更新しました。PR #12914 by @tiangolo

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

  • ♻️ python-multipart の新しいバージョンとの互換性のために、インポートとチェックのロジックを更新しました。PR #12627 by @tiangolo

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

  • ⬆️ Starlette を >=0.40.0,<0.42.0 にアップグレードしました。PR #12469 by @defnull

Docs

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

  • ⬆️ Starlette を >=0.37.2,<0.41.0 にアップグレードしました。PR #12431 by @tiangolo

0.115.1

Fixes

  • 🐛 responses kwarg で OpenAPI 生成を修正しました。PR #10895 by @flxdot
  • 🐛 Pydantic v2 を使用している FastAPI から Required のシャドウイングを削除しました。PR #12197 by @pachewise

Refactors

  • ♻️ python-multipart の改善された型アノテーションを更新しました。PR #12407 by @tiangolo

Docs

  • ✨ SQLModel を使用した SQL データベースの新しいチュートリアルを追加しました。PR #12285 by @tiangolo
  • 📝 外部リンクを追加しました: FastAPI 非同期リクエストのプロファイル方法。PR #12389 by @brouberol
  • 🔧 MkDocs の mdx_include Markdown 拡張機能の 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 モデルで QueryHeaderCookie パラメーターを宣言できるようになりました。🎉

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 パラメーターに 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

新しいドキュメントを読む: クッキーパラメーターモデル

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

これは QueryHeader、および Cookie パラメーターに適用されます。新しいドキュメントを参照してください。

機能

  • QueryCookieHeader を使用したパラメーターに対する Pydantic モデルのサポートを追加。PR #12199 by @tiangolo

翻訳

  • 🌐 docs/docs/advanced/security/http-basic-auth.md のポルトガル語翻訳を追加。PR #12195 by @ceb10n

内部

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

リファクタリング

  • ⚡️ 内部モデルフィールドのキャッシュにより、リクエストボディ解析のパフォーマンスを向上。PR #12184 by @tiangolo

ドキュメント

  • 📝 docs/en/docs/environment-variables.md のドキュメントから重複行を削除。PR #12169 by @prometek

翻訳

  • 🌐 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

内部

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

新しいドキュメントを読む: フォームモデル - 余分なフォームフィールドを禁止する

機能

  • ✨ Pydantic モデルで余分なフォームフィールドを禁止するサポートを追加。PR #12134 by @tiangolo

ドキュメント

  • 📝 フォームモデルセクションのタイトルを config 名に一致するように更新。PR #12152 by @tiangolo

内部

  • ✅ 最新の Pydantic の内部テストを更新。最新の Pydantic をインストールするための CI の調整を含む。PR #12147 by @tiangolo

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

新しいドキュメントを読む: フォームモデル

機能

  • Form パラメーターで Pydantic モデルのサポートを追加。PR #12129 by @tiangolo

内部

  • 🔧 スポンサーを更新: Coherence リンク。PR #12130 by @tiangolo

0.112.4

このリリースは主に、Form フィールドの Pydantic モデルのサポートを追加できるようにするための大規模な内部リファクタリングですが、その機能は次のリリースで提供されます。

このリリースは FastAPI を使用するアプリには影響しないはずです。まだこのバージョンにアップグレードする必要もありません。これは単なるチェックポイントです。🤓

リファクタリング

  • ♻️ embed ボディフィールドを決定するリファクタリング、フィールドを上書きしない、ルーターごとに一度計算する、FormQuery などで 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 ドキュメントに、CMD exec 形式でグレースフルシャットダウンとライフスパンイベントを確保するための注意を追加。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-artifact GH アクションを使用する際に include-hidden-filesTrue に設定。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-changes GitHub アクションを更新。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.mddocs/docs/advanced/behind-a-proxy.md のポルトガル語翻訳を追加。PR #11856 by @marcelomarkus
  • 🌐 docs/docs/tutorial/cors.mddocs/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

破壊的変更

  • ♻️ 標準依存関係と python -m fastapi を使用した pip install "fastapi[standard]" のサポートを追加。PR #11935 by @tiangolo

概要

インストール方法

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

アップグレード

  • ➖ デフォルトの依存関係から orjsonujson を削除。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
  • 📝 AnnotatedQuery() パラメーターに関する入門ドキュメントを調整。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

以下で試すことができます。

$ 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 の設定とセットアップを追加。オプションの extras fastapi-slim[standard] を含み、fastapi はデフォルトで同じ standard extras を含む。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.mddocs/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.md resources/index.md help/index.md about/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

内部

  • ⬆️ ドキュメントの typer のバージョンをアップグレード。PR #11393 by @tiangolo

0.110.1

修正

  • 🐛 ジェネリックを使用したパラメーターなしの Depends() を修正。PR #9479 by @nzig

リファクタリング

  • ♻️ mypy を更新。PR #11049 by @k0t3n
  • ♻️ fastapi/applications.py の f-strings で文字列フォーマットを簡素化。PR #11335 by @igeni

アップグレード

  • ⬆️ Starlette を >=0.37.2,<0.38.0 にアップグレード、内部テストの Starlette フィルター警告を削除。PR #11266 by @nothielf

ドキュメント

  • 📝 ドキュメントと翻訳リンクを調整し、古いドキュメント翻訳を削除。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-multipart GitHub リンクを 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 するように yieldexcept を伴う依存関係をリファクタリングしました。PR #11191 by @tiangolo
    • これは、yield を伴う依存関係を使用し、その依存関係で except を使用し、再 raise しなかった場合に(わずかに)破壊的な変更となります。
    • @rushilsrivastava から、サーバーが未処理の例外で内部サーバーエラーを生成した場合にメモリリークが発生し、その時点で割り当てられたメモリが解放されないと報告されました。
    • 新しいドキュメントを読んでください: yieldexcept を伴う依存関係

要するに、次のような依存関係があった場合

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

アップグレード

  • ⬆️ Starlette のバージョンを >= 0.36.3 にアップグレードしました。PR #11086 by @tiangolo

翻訳

  • 🌐 docs/docs/fastapi-people.md のトルコ語訳を更新しました。PR #10547 by @alperiox

Internal

  • 🍱 新しい FastAPI ロゴを追加しました。PR #11090 by @tiangolo

0.109.1

セキュリティ修正

  • ⬆️ フォームデータと ReDos 攻撃を使用する際の脆弱性を修正するため、python-multipart の最小バージョンを >=0.0.7 にアップグレードしました。python-multipart をアップグレードするだけでも構いません。

アドバイザリ: Content-Type ヘッダー ReDoS で詳細をご確認ください。

機能

  • ✨ ボディのないステータスコードに HTTP 205 を含めるようにしました。PR #10969 by @tiangolo

リファクタリング

  • ✅ 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.mdHTTPException の詳細を更新しました。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

機能

  • ✨ Python 3.12 のサポートを追加しました。PR #10666 by @Jamim

アップグレード

  • ⬆️ Starlette を >=0.35.0,<0.36.0 にアップグレードしました。PR #10938 by @tiangolo

ドキュメント

  • ✏️ docs/en/docs/alternatives.md の誤字を修正しました。PR #10931 by @s111d
  • 📝 docs_src/security/tutorial007 のコード例で emailusername に置き換えました。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_itemupdate_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

アップグレード

  • ⬆️ Starlette を 0.28.0 にアップグレードしました。PR #9636 by @adriangb

ドキュメント

  • 📝 ドキュメントを追加: 生成されたクライアントのために OpenAPI を更新する Node.js スクリプトの代替。PR #10845 by @alejsdev
  • 📝 貢献ページでドキュメントセクションを再構成しました。PR #10844 by @alejsdev

0.106.0

破壊的変更

バックグラウンドタスクで yield を伴う依存関係からのリソースの使用はサポートされなくなりました。

この変更は新機能をサポートするためのものであり、以下をお読みください。🤓

yieldHTTPException およびバックグラウンドタスクを伴う依存関係

yield を伴う依存関係で、yield の後に HTTPException およびその他の例外を発生させることができるようになりました。🎉

新しいドキュメントはこちらをお読みください: yieldHTTPException を伴う依存関係

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

機能

  • ✨ 複数の Annotated アノテーション (例: Annotated[str, Field(), Query()]) のサポートを追加しました。PR #10773 by @tiangolo

リファクタリング

  • 🔥 未使用の NoneType を削除しました。PR #10774 by @tiangolo

ドキュメント

  • 📝 クライアント生成のデフォルトの推奨設定を微調整しました。PR #10736 by @tiangolo

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.mddocs/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

アップグレード

  • ⬆️ Python 3.7のサポートを終了し、Python 3.8以降を必須としました。PR #10442 by @tiangolo

内部

  • ⬆ 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

リファクタリング

  • ⬆️ Pydantic v2.4との互換性をアップグレードし、新しい名前の関数とデフォルト値を持つJSON Schema入出力モデルを導入しました。PR #10344 by @tiangolo

翻訳

  • 🌐 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

修正

  • 📌 Starlette 0.31.1へのアップグレード中の非互換性に対処するため、AnyIOを<4.0.0に固定しました。PR #10194 by @tiangolo

ドキュメント

  • ✏️ ドキュメントのバリデーションパラメータ名を 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.mddocs/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.mddocs/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のバージョンで入出力スキーマを分離することに関する注意書きをドキュメントに追加しました。PR #10150 by @tiangolo

0.102.0

新機能

  • ✨ Pydantic v2で separate_input_output_schemas=False を使用してOpenAPIの入出力JSONスキーマの分離を無効にするサポートを追加しました。PR #10145 by @tiangolo

リファクタリング

  • ♻️ 新しいPydantic 2.2.1に合わせてテストをリファクタリングしました。PR #10115 by @tiangolo

ドキュメント

  • 📝 新しいドキュメントセクション「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

内部

  • 🔧 スポンサーを更新し、Speakeasyを追加しました。PR #10098 by @tiangolo

0.101.1

修正

  • ✨ サーバーエラーログに表示されるように、ResponseValidationError の印刷可能な詳細を追加しました。PR #10078 by @tiangolo

リファクタリング

  • ✏️ fastapi/params.py の非推奨警告のタイプミスを修正しました。PR #9854 by @russbiggs
  • ✏️ fastapi/concurrency.pyfastapi/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

アップグレード

  • 📌 動作しないPydantic 2.1.0を許可しないようにしました(2.1.1を必須とする)。PR #10012 by @tiangolo

翻訳

  • 🌐 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

修正

  • 🐛 古いバージョンのPydantic v1との互換性のため、MultHostUrlAnyUrl に置換しました。PR #9852 by @Kludex

ドキュメント

  • 📝 自己ホスト型Swagger UIへのリンクを更新し、OpenAPI 31.0のv5を指すようにしました。PR #9834 by @tiangolo

翻訳

  • 🌐 docs/docs/tutorial/body.md のウクライナ語翻訳を追加しました。PR #4574 by @ss-o-furda
  • 🌐 docs/docs/features.mddocs/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_factory
    • alias_priority
    • validation_alias
    • serialization_alias
    • discriminator
    • strict
    • multiple_of
    • allow_inf_nan
    • max_digits
    • decimal_places
    • json_schema_extra

...これらについてはPydanticのドキュメントで読むことができます。

  • パラメータ regex は非推奨となり、pattern に置き換えられました。
  • 新しいPydanticモデルは、内部クラス Config の代わりにシンプルな辞書を受け取る、改良された簡素化された属性 model_config を使用します。
  • 内部クラス Config の属性 schema_extra は、新しい model_config 辞書のキー json_schema_extra に置き換えられました。
  • "fastapi[all]" をインストールすると、以下のものも含まれるようになりました。
  • 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

ドキュメント

  • 📝 新しいJSON Schema examplesフィールドを使用するようにソース例を更新しました。PR #9776 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_encoderdeque オブジェクトとその子孫のサポートを追加しました。PR #9433 by @cranium

ドキュメント

  • 📝 FastAPIとその仲間たちのニュースレターのフォームを修正しました。PR #9749 by @tiangolo

翻訳

  • 🌐 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

新機能

  • ✨ FastAPIアプリレベルで redirect_slashes を無効にできるようにしました。PR #3432 by @cyberlis

ドキュメント

  • 📝 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.mdAnnotated の注意書きを更新しました。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

アップグレード

  • ⬆️ Blackをアップグレードしました。PR #9661 by @tiangolo

内部

  • 💚 依存関係が変更された場合にインストールを修正するためにCIキャッシュを更新しました。PR #9659 by @tiangolo
  • ⬇️ 開発に必要な要件を独自のrequirements.txtファイルに分離しました。これらはextrasであるべきではありません。PR #9655 by @tiangolo

0.96.1

修正

  • 🐛 HTTPException ヘッダーの型アノテーションを修正しました。PR #9648 by @tiangolo
  • 🐛 OpenAPIモデルフィールドのintバリデーション、gtege に修正しました。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

ドキュメント

  • 🔥 Pydanticのベンチマークへのリンクを削除しました。Pydantic側で削除されたためです。PR #5811 by @Kludex

翻訳

  • 🌐 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.mddocs/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

内部

0.95.2

翻訳

  • 🌐 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):
    ...

...そして CurrentUserUser と同じ型情報を持っているので、エディタは期待通りに機能し(オートコンプリートなど)、FastAPIAnnotated で定義された依存関係を理解できます。😎

ほぼすべてのドキュメントが、パラメータ依存関係を宣言する主要な方法として Annotated を使用するように書き直されました。ドキュメントのすべてのには、各Pythonバージョン(最近のバージョンで小さな違い/改善がある場合)について、Annotated を使用したバージョンと使用しないバージョンが含まれています。ドキュメント、例、テストの間に約23K行の新しい行が追加されました。🚀

主な更新されたドキュメントは次のとおりです。

コア実装を提供してくれた @nzig と、Xpressoでのインスピレーションとアイデアを提供してくれた @adriangb に特別な感謝を。🚀

新機能

  • ✨依存関係とパラメータを指定するためのPEP-593 Annotated のサポートを追加しました。PR #4871 by @nzig

ドキュメント

  • 📝 ドキュメントの Annotated を推奨するヒントを調整しました。PR #9270 by @tiangolo
  • 📝 例の順序を更新し、最新のPythonバージョンを最初に、バージョンタブ名を簡素化しました。PR #9269 by @tiangolo
  • 📝 すべてのドキュメントを更新し、Annotated を主な推奨事項として使用し、新しい例とテストを追加しました。PR #9268 by @tiangolo

0.94.1

修正

  • 🎨 ライフスパンの型を修正し、Starletteを0.26.1にアップグレード。PR #9245 by @tiangolo

0.94.0

アップグレード

  • ⬆️ python-multipartを0.0.6をサポートするようにアップグレード。PR #9212 by @musicinmybrain
  • ⬆️ Starletteのバージョンをアップグレードし、ステート付きの新しいlifespanをサポート。PR #9239 by @tiangolo

ドキュメント

  • 📝 ドキュメントのSentryリンクを更新。PR #9218 by @smeubank

翻訳

  • 🌐 docs/docs/history-design-future.mdのロシア語翻訳を追加。PR #5986 by @Xewus

内部

0.93.0

新機能

  • lifespan非同期コンテキストマネージャのサポートを追加(startupおよびshutdownイベントに代わるもの)。最初のPR #2944 by @uSpike

今後は、個別の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イベントを使用する代わりに、今後の推奨される方法です。

新しいドキュメントで詳細を読む: 高度なユーザーガイド: ライフスパンイベント

ドキュメント

  • ✏️ ReDocdocs/en/docs/tutorial/metadata.mdの書式を修正。PR #6005 by @eykamp

翻訳

  • 🌐 タミル語翻訳 - 初期設定。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)。これで、ミドルウェアクラスのインスタンスは、最初のリクエストの直前(アプリが最初に呼び出されたとき)に一度だけ作成されます。
    • 以前の動作に依存していた場合は、コードを更新する必要があるかもしれません。いつものように、アップグレードをマージする前にテストがすべてパスすることを確認してください。

0.90.1

アップグレード

  • ⬆️ Starletteの範囲を0.23.1を許可するようにアップグレード。PR #5980 by @tiangolo

ドキュメント

  • ✏️ docs/en/docs/project-generation.mdを明確にするために文言を調整。PR #5930 by @chandra-deb
  • ✏️ Pydantic GitHubのURLを更新。PR #5952 by @yezz123
  • 📝 Ciscoからの意見を追加。PR #5981 by @tiangolo

翻訳

  • 🌐 docs/docs/tutorial/cookie-params.mdのロシア語翻訳を追加。PR #5890 by @bnzone

内部

  • ✏️ zip-docs.sh内部スクリプトを更新し、余分なスペースを削除。PR #5931 by @JuanPerdomo00

0.90.0

アップグレード

  • ⬆️ Starletteを0.22.0から0.23.0にバンプ。最初のPR #5739 by @Kludex

ドキュメント

  • 📝 外部リンクに記事「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

修正

  • 🐛 戻り値のアノテーションでResponseクラスを無視。PR #5855 by @Kludex。以下のPRで新しいドキュメントを参照してください。

ドキュメント

翻訳

  • 🌐 docs/docs/tutorial/first_steps.mdのトルコ語翻訳を追加。PR #5691 by @Kadermiyanyedi

0.89.0

新機能

  • ✨ 関数戻り値型アノテーションを使用してresponse_modelを宣言するサポートを追加。最初のPR #1436 by @uriyyo

関数戻り値型アノテーションで戻り値型 / 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

アップグレード

  • ⬆️ 新しいTestClientでクエリパラメータのエンコーディング不良を修正するため、Starletteをバージョン0.22.0にバンプ。PR #5659 by @azogue

ドキュメント

  • ✏️ docs/en/docs/advanced/middleware.mdのドキュメントのタイプミスを修正。PR #5376 by @rifatrakib

翻訳

  • 🌐 docs/docs/deployment/docker.mdのポルトガル語翻訳を追加。PR #5663 by @ayr-ton

内部

  • 👷 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

新機能

  • ⬆️ Python 3.11を公式サポートバージョンに追加。PR #5587 by @tiangolo
  • ✅ Python 3.11のテストを有効化。PR #4881 by @tiangolo

修正

  • 🐛 リクエスト完了後にFormData(アップロードされたファイル)を閉じる。PR #5465 by @adriangb

ドキュメント

  • ✏️ 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ステータスコードの文字列(default1XX2XX3XX4XX5XX)のサポートを修正。PR #5187 by @JarroVGIT

ドキュメント

  • 📝 外部リンクセクションにWayScript x FastAPIチュートリアルを追加。PR #5407 by @moneeka

内部

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に達しています。😅☠

  • 🔧 パッケージメタデータを更新し、Python 3.6のサポートを終了し、ビルドの内部をFlitからHatchに移行。PR #5240 by @ofek

0.83.0

🚨 これはPython 3.6をサポートする最後のリリース(または最後のリリースの1つ)になるでしょう。🔥

Python 3.6は、約1年前にEOLに達し、Pythonによってサポートされなくなりました

皆さんは、すでにサポートされているPythonバージョンに更新したことでしょう。まだ更新していない場合は、本当に更新すべきです。

新機能

  • ✨ データクラスでのincludeとexcludeを持つjsonable_encoderのサポートを追加。PR #4923 by @DCsunset

修正

  • 🐛 HTTPExceptionがコンテンツのないステータスコードを持つ場合に発生するRuntimeErrorを修正。PR #5365 by @iudeen
  • 🐛 デフォルトのstatus_codeが空だが、response.status_codeを持つResponseパラメーターが設定されている場合に、空の応答ボディとなる問題を修正。PR #5360 by @tmeckel

ドキュメント

内部

0.82.0

🚨 これはPython 3.6をサポートする最後のリリース(または最後のリリースの1つ)になるでしょう。🔥

Python 3.6は、約1年前にEOLに達し、Pythonによってサポートされなくなりました

皆さんは、すでにサポートされているPythonバージョンに更新したことでしょう。まだ更新していない場合は、本当に更新すべきです。

新機能

  • fastapi.websocketsWebSocketStateをエクスポート。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.pydict(){}に変更。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_modelNoneを無効にしない問題を修正。PR #2725 by @hukkin

response_modelNoneを含まない型で使用されているにもかかわらず、関数が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を呼び出すとエラーが発生します。NoneItemで宣言された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

ドキュメント

翻訳

  • 🌐 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_code204304、または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

内部

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

アップグレード

  • ⬆️ Starletteを0.19.0から0.19.1にアップグレード。PR #4819 by @Kludex

ドキュメント

  • 📝 ドイツ語記事「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

内部

  • 🔧 ウズベク語翻訳のイシューに通知を追加。PR #4884 by @tiangolo

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

アップグレード

  • ⬆ Starletteを0.17.1から0.18.0にアップグレード。PR #4483 by @Kludex

内部

  • 👥 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

このリリースには、セキュリティ問題に対処するサードパーティパッケージのアップグレードが含まれています。これらの問題が特定のユーザーに影響しない可能性もありますが、できるだけ早くアップグレードしてください。

修正

  • ✅ 新しい固定されたValidationError JSONスキーマで新規/最近のテストを修正。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

翻訳

内部

  • 👥 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

機能

  • ✨ ミドルウェアやその他のツールが情報を抽出できるように、スコープにルートを含める。PR #4603 by @tiangolo

0.74.0

破壊的変更

  • yieldを持つ依存関係のコンテキストを修正するため、内部AsyncExitStackを更新。PR #4575 by @tiangolo

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の後のコードが壊れる場合、tryfinallyブロックを使用できます。

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

機能

ドキュメント

  • 📝 リクエストファイルのドキュメントを微調整し改善。PR #4470 by @tiangolo

修正

  • 🐛 タプルを使用する際にOpenAPIが使用できないバグを修正。PR #3874 by @victorbenichoux
  • 🐛 jsonable_encoderで指定された場合、デフォルトよりもカスタムエンコーダを優先。PR #2061 by @viveksunder
    • 💚 CIをトリガーするためにPRを複製。PR #4467 by @tiangolo

内部

  • 🐛 最新のMkDocs用Materialを取得するため、ドキュメントの依存関係キャッシュを修正。PR #4466 by @tiangolo
  • 🔧 スポンサーDropbaseを追加。PR #4465 by @tiangolo

0.72.0

機能

ドキュメント

  • 📝 Python Typesのドキュメントを更新し、不足していた3.6 / 3.9の例を追加。PR #4434 by @tiangolo

翻訳

  • 🌐 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

内部

  • 🔧 MkDocs Material Insidersのcontent.tabs.linkを有効にする。PR #4399 by @tiangolo

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

内部

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をアップグレードするだけです。

このように、いずれかのリリースでコードに破壊的変更があった場合でも、以前のアップグレードの恩恵を受けることができます。✨

破壊的変更 - アップグレード

  • ⬆️ Starletteを0.16.0にアップグレード。PR #4016 by @tiangolo

オプションの依存関係の範囲もアップグレードされます。

  • "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をベースとするようになり、asyncioTrioの両方と互換性を持つようになりました。

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.mddocs/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

  • SQLModelのリレーションシップ属性をサポートするため、read_with_orm_modeのサポートを追加。PR #3757 by @tiangolo

翻訳

  • 🌐 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

機能

ドキュメント

  • 📝 外部リンクを追加: 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_classRedirectResponseまたはFileResponseに設定し、関数からURLを返すことを許可。新しいおよび更新されたドキュメントは、チュートリアルセクションカスタムレスポンス - HTML、ストリーム、ファイル、その他RedirectResponseFileResponseにあります。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

内部

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

機能

修正

  • 📌 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

内部

0.63.0

機能

  • ✨ 型アノテーションを改善し、内部および外部パッケージの両方でmypy --strictをサポート。PR #2547 by @tiangolo

破壊的変更

  • ⬆️ 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

機能

  • ✨ 共有/トップレベルパラメータ(依存関係、タグなど)のサポートを追加。PR #2434 by @tiangolo

これまで、いくつかのオプションをパス操作のグループに適用する唯一の方法は、include_router内でした。これはうまく機能しますが、app.include_router()またはrouter.include_router()の呼び出しは通常別のファイルで行われます。

つまり、例えば、ルーター内のすべてのパス操作に認証を適用する場合、関連するロジックをまとめておくのではなく、別のファイルで処理することになっていました。

include_routerでオプションを設定することは、サードパーティのルーターをアプリに含めたり、設定を上書きまたは追加したりする場合など、依然として意味があります。しかし、より大きなアプリケーションの一部であるルーターでは、APIRouterを作成する際にそれらの設定を追加する方が理にかなっているでしょう。

FastAPI

これにより、(既存のパラメータに加えて)以下の(ほとんど新しい)パラメータを設定できます。

  • default_response_class: APIRouterinclude_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は、例えば、サードパーティのルーターや複数のプロジェクト間で共有される汎用ルーターを含める際に、オプション(dependenciesprefixtagsなど)を追加する場合に依然として有用です。

このPRは、(既存のパラメータに加えて)以下の(ほとんど新しい)パラメータを設定できます。

  • default_response_class: APIRouterFastAPIのデフォルトを処理するように更新。
  • deprecated: OpenAPIでルーター内のすべてのパス操作を非推奨としてマークするため。
  • include_in_schema: すべてのパス操作をOpenAPIスキーマに表示させないようにするため。
  • callbacks: このルーター内のすべてのパス操作に適用されるOpenAPIコールバック。

注: 以前のパラメータはすべて残っているので、include_routerdependenciesを宣言することも引き続き可能です。

破壊的変更

  • PR #2434には、通常のユースケースには影響しないが、高度なシナリオでは影響する可能性のあるいくつかの改善が含まれています。
    • 生成されたOpenAPIをテストしている場合 (テストする必要はありません。FastAPIが広範囲にテストしています): include_routerとパスオペレーションのtagsの順序は一貫性のため更新されましたが、単なる順序の変更です。
    • 各ルートのroute.response_class、またはrouter.default_response_class、またはapp.default_response_classにアクセスするための高度なカスタムロジックがある場合: APIRouteresponse_classAPIRouterおよびFastAPIdefault_response_classのデフォルト値は、デフォルト値とオーバーライドを処理および解決するために内部で使用されるDefaultPlaceholderになりました。DefaultPlaceholder内の実際のレスポンスクラスはroute.response_class.valueで利用できます。

ドキュメント

翻訳

  • 🌐 高度な機能 - カスタムレスポンスの日本語訳を追加。 @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からのカスタムHTTPExceptionRequestValidationErrorのオーバーライドに関するバグを修正。 @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

ドキュメント

翻訳

内部

  • hl_lines構文を範囲を使用するように更新することで、ドキュメントの保守性を向上。 @la-marによるPR #1863

0.61.0

機能

  • HTTPConnectionRequestおよび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
  • encoders.jsonable_encoderからパラメータsqlalchemy_safeを削除。
    • これはSQLAlchemyモデルを返すことを許可するための初期のハックでしたが、文書化されておらず、推奨される方法はチュートリアルで説明されているPydanticのorm_modeを使用することです: SQL(リレーショナル)データベース
    • PR #1864

ドキュメント

  • 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がインストールされていない状態でフォームデータ(FormFile)を使用すると例外を発生させるようになりました。
    • これまでアプリケーションは実行され、フォームデータを含むリクエストを受信したときにのみ例外を発生させていましたが、新しい動作では、早期に例外を発生させることで、壊れた依存関係を持つアプリケーションのデプロイを防ぎます。
    • また、誤った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がある場合にOpenAPI serversに「サーバー」を自動生成する
    • FastAPIクラスに新しいパラメータroot_path_in_serversを追加し、serversの自動生成を無効にする。
    • 追加のサーバーに関するroot_pathserversの新しいドキュメント。
    • OAuth2の例を更新し、リバースプロキシの背後でもこれらの例がそのまま機能するように、tokenUrl="token"に相対URLを使用するように。
    • @rkbeatssによる最初のPR #1596
  • 外部リンクの誤植/リンクを修正。 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

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

0.56.1

0.56.0

0.55.1

  • パスパラメータで独自のスキーマを持つEnumの処理を修正。FastAPIでpydantic/pydantic#1432をサポートするため。 PR #1463

0.55.0

0.54.2

0.54.1

  • データベーステスト設定を更新。 PR #1226
  • テストが失敗した場合にレスポンステキストを表示することで、テストのデバッグを改善。 @samuelcolvinによるPR #1222

0.54.0

  • 非同期ドキュメントの文法上の誤りを修正。 @mickeypashによるPR #1188
  • response_model_exclude_defaultsおよびresponse_model_exclude_noneのサポートを追加
    • jsonable_encoderのパラメータinclude_noneを非推奨にし、Pydanticとの同期を保つために逆のexclude_noneを追加。
    • @voegtlelによるPR #1166
  • データベースのテストに関する例を追加。最初の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

0.53.0

0.52.0

0.51.0

  • Starletteからのユーティリティを再エクスポート
    • これにより、from starlette.responses import JSONResponseの代わりにfrom fastapi.responses import JSONResponseのような使用が可能になります。
    • これは主にシンタックスシュガーであり、開発者体験のための利便性です。
    • 現在、RequestResponseWebSocketstatusfrom 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

0.48.0

0.47.1

  • response_modelのモデルフィルタリング、サブモデルのクローン作成を修正。 PR #889
  • ORMモードを使用しているPydanticモデルのFastAPIシリアライゼーションがイベントループをブロックする問題を修正。 PR #888

0.47.0

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 名 (ほとんどの言語で有効な変数) にする。
    • APIRouterdefault_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 以降のサポートを追加し、Pydantic 0.32.2 との一時的な (非推奨の) 後方互換性を持つ。PR #646 by @dmontagu

0.43.0

0.42.0

  • yield を伴う依存関係 (別名: 終了ステップ、コンテキストマネージャー、クリーンアップ、ティアダウンなど) を追加
    • これにより、依存関係が完了した後に余分なコードを追加できます。例えば、データベース接続を閉じるために使用できます。
    • yield を伴う依存関係は通常の依存関係でも async 依存関係でも構いません。FastAPI は通常の依存関係をスレッドプールで実行します。
    • これらは通常の依存関係と組み合わせることができます。
    • yield を伴う依存関係と終了ステップは、任意のツリー/レベルで自動的に正しい順序で処理されます。
    • Python 3.7 以降ではデフォルトで動作します。Python 3.6 の場合、追加のバックポート依存関係が必要です。
      • async-exit-stack
      • async-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 アプリに Stateapp.state として追加。
    • PR #593
  • RequestAPIRoute のカスタムクラスの処理を改善。
    • これにより、次のようなユースケースをより簡単に解決できます。
      • リクエストの前後にボディを読み込む (ミドルウェアに相当)。
      • ミドルウェアのようなコードを パスオペレーション の一部のみで実行する。
      • パスオペレーション関数 に渡す前にリクエストを処理する。例: 解凍、逆シリアル化など。
      • パスオペレーション関数 によって生成された後、返される前にレスポンスを処理する。例: カスタムヘッダーの追加、ロギング、追加メタデータの追加。
    • 新しいドキュメントセクション: カスタム 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 を切り詰めるサポートを追加。
  • 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_routerdefault_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 (バリデーションエラー) レスポンス/スキーマを設定できるようにする。
    • そして、固定の application/json (デフォルト) の代わりに、レスポンスクラスのメディアタイプを使用する。
    • PR #437 by @divums
  • "default" の追加レスポンスをステータスコードと同時に使用する問題を修正。PR #489
  • 追加レスポンスがステータスコード範囲 (5XX4XX など) と "default" を使用できるようにする。PR #435 by @divums

0.36.0

  • Pydantic モデルを返す際の skip_defaults の実装を修正。PR #422 by @dmontagu
  • 同じ パスオペレーション の複数の場所で同じ依存関係を使用する場合の OpenAPI 生成を修正。PR #417 by @dmontagu
  • include_routerprefix で使用される パスオペレーション で空のパスを許可する。
    • これにより、/cats のルーターとすべての パスオペレーション を持ちながら、そのうちの1つを /cats にすることができます。
    • 今では /cats/ (末尾のスラッシュ付き) である必要はありません。
    • これを使用するには、パスオペレーション のパスを空の文字列 ("") として宣言します。
    • PR #415 by @vitalik
  • 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

  • Pydantic バージョンを 0.30.0 にアップグレード。PR #384 by @jekirl

0.32.0

  • 機能に関するドキュメントのタイプミスを修正。PR #380 by @MartinoMensio

  • クエリパラメータの例のソースコード limit を修正。PR #366 by @Smashman

  • OAuth2 スコープに関するドキュメントの文言を更新。PR #371 by @cjw296

  • Enumstr を継承するようにドキュメントを更新し、Swagger UI のレンダリングを改善。PR #351

  • リグレッションを修正し、Swagger UI のディープリンクを再度追加。PR #350

  • .include_routerprefix にパステンプレートを持つ場合のテストを追加。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 にアップグレード。
    • 新しいサポートバージョン範囲は "pydantic >=0.28,<=0.29.0" です。
    • これにより、Pydantic の 汎用モデル のサポートが追加されました。 @dmontagu に感謝。
    • PR #344

0.30.1

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 型宣言はそのまま使用されず、新しいものを作成するために「クローン」されます (すべてのサブモデルもクローンされた Pydantic Field)。
      • これにより、潜在的なセキュリティ問題が回避/修正されます。返されたオブジェクトが Pydantic に直接渡されるため、返されたオブジェクトが response_model のサブクラスであった場合 (例: User を継承するが hashed_password のような追加フィールドを含む UserInDB を返し、response_modelUser が使用されている場合)、バリデーションは通過し (UserInDBUser のサブクラスであるため)、オブジェクトは hashed_password を含めそのまま返されます。これを修正するために、宣言された response_model がクローンされます。Pydantic モデルクラスである場合 (または List[Item] のように Pydantic モデルクラスを含む場合)、Pydantic モデルクラスは別のもの (「クローンされた」もの) になります。したがって、サブクラスであるオブジェクトは、クローンされた response_model のサブクラスではないため、単にバリデーションを通過してそのまま返されることはありません。代わりに、返されたオブジェクトの内容を持つ新しい Pydantic モデルオブジェクトが作成されます。したがって、新しいオブジェクト (返されたデータから作成されたもの) になり、クローンされた response_model によってフィルタリングされ、通常どおり宣言されたフィールドのみが含まれます。
    • PR #322
  • ルーティングの未使用の正規表現コードを削除/クリーンアップ。PR #314 by @dmontagu

  • 追加レスポンスにデフォルトのレスポンスステータスコードの説明を使用。PR #313 by @duxiaoyao

  • Pydantic サポートを 0.28 にアップグレード。PR #320 by @jekirl

0.29.1

0.29.0

0.28.0

  • リクエストごとの依存関係キャッシュを実装。

    • これにより、同じリクエストに対して各依存関係が複数回呼び出されるのを防ぎます。
    • これは、外部サービスを呼び出す場合、費用のかかる計算を実行する場合などに役立ちます。
    • また、依存関係が パスオペレーションデコレータ 依存関係として宣言されており、ルーターレベル (.include_router() を使用) で宣言され、その後特定の パスオペレーション で再度宣言された場合でも、依存関係は一度だけ呼び出されます。
    • キャッシュは、Depends(your_dependency, use_cache=False) のように use_cache=False を使用して依存関係の宣言ごとに無効にできます。
    • 更新されたドキュメント: 同じ依存関係を複数回使用する
    • PR #292
  • テスト用の依存関係のオーバーライドを実装。

0.27.2

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 を使用したパラメータ抽出のリファクタリング

0.26.0

  • バリデーションエラーのエラー処理を分離。

  • 明示的な Path(...) なしで パスパラメータパス のサポートを修正。

  • 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_defaultsmodel_skip_defaults、または同様のものに変更される可能性が非常に高いです。
    • response_model_skip_defaults の使用に関する新しい ドキュメントセクション
    • PR #248 by @wshayes

0.24.0

  • 依存関係とパラメータを持つ WebSockets のサポートを追加。

  • Pydantic の互換バージョンを 0.26.0 にアップグレード。

    • これには、IP アドレスおよびネットワークオブジェクトの JSON Schema サポート、バグ修正、およびその他の機能が含まれます。
    • PR #247 by @euri10

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 パラメータで Securityscopes とともに使用することもサポートしています。
    • パスオペレーションデコレータ の依存関係に関する新しいドキュメント: 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 エラーを修正するため。PathQueryHeaderCookieBodyFormFileDepends、および Security に適用される。PR #226 および PR #231

  • 開発スクリプト test.shlint.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

  • Pydantic をバージョン 0.25 にアップグレード。PR #225 by @euri10

  • ルーティングのタイプミスを修正。PR #221 by @djlambert

0.20.1

  • py.typed ファイルを含む型情報をパッケージに追加。PR #209 by @meadsteve

  • Gitter 用の FastAPI ボットを追加。新しいリリースを自動的にアナウンスするため。PR #189

0.20.0

0.19.0

0.18.0

  • HTTP Basic Auth のドキュメントを追加。PR #177

  • 自動ヘッダー (自動ブラウザログインプロンプト) による HTTP Basic Auth 処理をアップグレード。PR #175

  • セキュリティのために依存関係を更新。PR #174

  • ミドルウェアのドキュメントを追加。PR #173

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

  • Pydantic をバージョン 0.23 にアップグレード。PR #160 by @euri10

  • Extra Models に関するチュートリアルのタイプミスを修正。PR #159 by @danielmichaels

  • ドキュメントの クエリパラメータ の URL 例を修正。PR #157 by @hayata-yamamoto

0.15.0

0.14.0

  • OpenAPI (API ドキュメント) の パスオペレーション の自動生成名を改善。関数 read_items は「Read Items Get」ではなく「Read Items」という生成名を持つようになる。PR #155

  • FastAPI のテストのドキュメントを追加。PR #151

  • /docs Swagger UI を更新し、ディープリンクを有効にする。これにより、ドキュメント内の パスオペレーション ドキュメントに直接リンクする URL を共有できるようになる。PR #148 by @wshayes

  • 開発依存関係、Pipfile.lock を更新。PR #150

  • 代替、インスピレーション、比較に Falcon と Hug を含める。

0.13.0

  • SecurityScopes を使用した OAuth2 スコープサポートの改善/アップグレード
    • SecurityScopes は、すべてのスーパー依存関係/依存オブジェクトのスコープを取得するために、Request のようなパラメータとして宣言できます。
    • Security の処理を改善し、SecurityScopes を宣言する際にスコープをマージする。
    • Depends と一緒に SecurityBase (OAuth2 のような) クラスを使用し、それらをドキュメント化できるようにする。Securityscopes を宣言するためだけに必要となる。
    • 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

  • pyproject.toml の重複する依存関係を修正。PR #128 by @zxalif

0.10.3

0.10.2

  • Python Union の宣言に対する OpenAPI (JSON Schema) を修正 (JSON Schema additionalProperties)。PR #121

  • バックグラウンドタスクに Celery に関する注記を追加。

  • ユニオンとリストを使用したレスポンスモデルをドキュメント化し、Extra Models で更新。PR #108

0.10.1

0.10.0

  • パスオペレーション関数 および依存関係でのバックグラウンドタスクのサポートを追加。バックグラウンドタスクに関する新しいドキュメントはこちら。PR #103

  • APIRouter.websocket_route() のサポートを追加。PR #100 by @euri10

  • イベント: startup - shutdown に関する新しいドキュメントセクション。PR #99

0.9.1

0.9.0

  • 互換性のある Pydantic バージョンを 0.21.0 にアップグレード。PR #90

  • アプリケーション設定のドキュメントを追加。

  • ドキュメントのタイプミスを修正。PR #76 by @matthewhegarty

  • 「Deployment」から「Bigger Applications」へのリンクを修正。

0.8.0

  • 開発スクリプトを実行可能にする。PR #76 by @euri10

  • app.include_router()tags を追加するサポートを追加。PR #55 by @euri10。ドキュメントは以下のセクションで更新されました: より大規模なアプリケーション

  • Uvicorn に関連するドキュメントを更新し、バージョン 0.5.x からの新しい --reload オプションを使用するようにする。PR #74

  • isort インポートとスクリプトを新しいバージョンと互換性があるように更新。PR #75

0.7.1

0.7.0

0.6.4

0.6.3

  • ドキュメントにファビコンを追加。PR #53

0.6.2

0.6.1

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

0.5.0

0.4.0

0.3.0

0.2.1

  • Config はあるが json_encoders のない Pydantic モデルの jsonable_encoder を修正: #29

0.2.0

  • セキュリティセクションのタイプミスを修正: #24 by @kkinder

  • Pydantic のカスタム JSON エンコーダのサポートを追加: #21 by @euri10

0.1.19

  • Starlette バージョンを現在の最新の 0.10.1 にアップグレード: #17 by @euri10