リリースノート¶
最新の変更点¶
ドキュメント¶
翻訳¶
- 🌐
docs/pt/docs/deployment/cloud.md
のポルトガル語訳を追加しました。PR #12217 by @marcelomarkus. - ✏️
docs/es/docs/python-types.md
のタイプミスを修正しました。PR #12235 by @JavierSanchezCastro. - 🌐
docs/nl/docs/environment-variables.md
のオランダ語訳を追加しました。PR #12200 by @maxscheijen. - 🌐
docs/pt/docs/deployment/manually.md
のポルトガル語訳を追加しました。PR #12210 by @JoaoGustavoRogel. - 🌐
docs/pt/docs/deployment/server-workers.md
のポルトガル語訳を追加しました。PR #12220 by @marcelomarkus. - 🌐
docs/pt/docs/how-to/configure-swagger-ui.md
のポルトガル語訳を追加しました。PR #12222 by @marcelomarkus.
内部¶
- 🔧 スポンサーを更新し、Fine.dev を削除しました。PR #12271 by @tiangolo.
- ⬆ [pre-commit.ci] pre-commit 自動更新。PR #12253 by @pre-commit-ci[bot].
- ✏️ http セキュリティのドキュメントストリングのタイプミスを修正しました。PR #12223 by @albertvillanova.
0.115.0¶
ハイライト¶
Pydanticモデルを使用して、Query
、Header
、およびCookie
パラメータを宣言できるようになりました。🎉
Query
パラメータモデル¶
Query
パラメータにPydanticモデルを使用する
from typing import Annotated, Literal
from fastapi import FastAPI, Query
from pydantic import BaseModel, Field
app = FastAPI()
class FilterParams(BaseModel):
limit: int = Field(100, gt=0, le=100)
offset: int = Field(0, ge=0)
order_by: Literal["created_at", "updated_at"] = "created_at"
tags: list[str] = []
@app.get("/items/")
async def read_items(filter_query: Annotated[FilterParams, Query()]):
return filter_query
新しいドキュメントはこちら: クエリパラメータモデル.
Header
パラメータモデル¶
Header
パラメータにPydanticモデルを使用する
from typing import Annotated
from fastapi import FastAPI, Header
from pydantic import BaseModel
app = FastAPI()
class CommonHeaders(BaseModel):
host: str
save_data: bool
if_modified_since: str | None = None
traceparent: str | None = None
x_tag: list[str] = []
@app.get("/items/")
async def read_items(headers: Annotated[CommonHeaders, Header()]):
return headers
新しいドキュメントはこちら: ヘッダーパラメータモデル.
Cookie
パラメータモデル¶
Cookie
パラメータにPydanticモデルを使用する
from typing import Annotated
from fastapi import Cookie, FastAPI
from pydantic import BaseModel
app = FastAPI()
class Cookies(BaseModel):
session_id: str
fatebook_tracker: str | None = None
googall_tracker: str | None = None
@app.get("/items/")
async def read_items(cookies: Annotated[Cookies, Cookie()]):
return cookies
新しいドキュメントはこちら: クッキーパラメータモデル.
余分なクエリ(クッキー、ヘッダー)パラメータの禁止¶
Pydanticモデルを使用して、Query
パラメータの余分な値を制限します(Header
およびCookie
パラメータにも適用されます)。
これを実現するには、Pydanticのmodel_config = {"extra": "forbid"}
を使用します。
from typing import Annotated, Literal
from fastapi import FastAPI, Query
from pydantic import BaseModel, Field
app = FastAPI()
class FilterParams(BaseModel):
model_config = {"extra": "forbid"}
limit: int = Field(100, gt=0, le=100)
offset: int = Field(0, ge=0)
order_by: Literal["created_at", "updated_at"] = "created_at"
tags: list[str] = []
@app.get("/items/")
async def read_items(filter_query: Annotated[FilterParams, Query()]):
return filter_query
これはQuery
、Header
、およびCookie
パラメータに適用されます。新しいドキュメントを参照してください。
機能¶
翻訳¶
内部¶
- ⬆ [pre-commit.ci] pre-commit autoupdate。PR #12204 by @pre-commit-ci[bot].
0.114.2¶
修正¶
- 🐛
alias
を使用した場合のフォームフィールドの回帰を修正しました。PR #12194 by @Wurstnase.
翻訳¶
- 🌐
docs/pt/docs/tutorial/request-form-models.md
にポルトガル語翻訳を追加しました。PR #12175 by @ceb10n. - 🌐
docs/zh/docs/project-generation.md
に中国語翻訳を追加しました。PR #12170 by @waketzheng. - 🌐
docs/nl/docs/python-types.md
にオランダ語翻訳を追加しました。PR #12158 by @maxscheijen.
内部¶
- 💡 Playwrightスクリーンショットスクリプトの指示付きコメントを追加しました。PR #12193 by @tiangolo.
- ➕ テスト用のインラインスナップショットを追加しました。PR #12189 by @tiangolo.
0.114.1¶
リファクタ¶
ドキュメント¶
翻訳¶
- 🌐
docs/pt/docs/virtual-environments.md
にポルトガル語翻訳を追加しました。PR #12163 by @marcelomarkus. - 🌐
docs/pt/docs/environment-variables.md
にポルトガル語翻訳を追加しました。PR #12162 by @marcelomarkus. - 🌐
docs/pt/docs/tutorial/testing.md
にポルトガル語翻訳を追加しました。PR #12164 by @marcelomarkus. - 🌐
docs/pt/docs/tutorial/debugging.md
にポルトガル語翻訳を追加しました。PR #12165 by @marcelomarkus. - 🌐
docs/ko/docs/project-generation.md
に韓国語翻訳を追加しました。PR #12157 by @BORA040126.
内部¶
- ⬆ tiangolo/issue-managerを0.5.0から0.5.1に更新しました。PR #12173 by @dependabot[bot].
- ⬆ [pre-commit.ci] pre-commit autoupdate。PR #12176 by @pre-commit-ci[bot].
- 👷
issue-manager.yml
を更新しました。PR #12159 by @tiangolo. - ✏️
fastapi/params.py
のタイプミスを修正しました。PR #12143 by @surreal30.
0.114.0¶
フォームフィールドをPydanticモデルで宣言されたもののみに制限し、Pydanticのmodel_config = {"extra": "forbid"}
を使用してリクエストで送信された余分なフィールドを禁止できます。
from typing import Annotated
from fastapi import FastAPI, Form
from pydantic import BaseModel
app = FastAPI()
class FormData(BaseModel):
username: str
password: str
model_config = {"extra": "forbid"}
@app.post("/login/")
async def login(data: Annotated[FormData, Form()]):
return data
新しいドキュメントはこちら: フォームモデル - 余分なフォームフィールドの禁止。
機能¶
ドキュメント¶
内部¶
0.113.0¶
Pydanticモデルを使用してフォームフィールドを宣言できるようになりました
from typing import Annotated
from fastapi import FastAPI, Form
from pydantic import BaseModel
app = FastAPI()
class FormData(BaseModel):
username: str
password: str
@app.post("/login/")
async def login(data: Annotated[FormData, Form()]):
return data
新しいドキュメントはこちら: フォームモデル。
機能¶
内部¶
0.112.4¶
このリリースは、主にForm
フィールドのPydanticモデルのサポートを追加できるようにするための大規模な内部リファクタです。ただし、その機能は次のリリースで提供されます。
このリリースは、FastAPIを使用するアプリに何の影響も与えないはずです。このバージョンにまだアップグレードする必要もありません。これは単なるチェックポイントです。🤓
リファクタ¶
- ♻️
embed
ボディフィールドを決定し、フィールドを上書きせず、ルーターごとに1回計算し、Form
、Query
などのPydanticモデルの準備のために内部をリファクタリングしました。PR #12117 by @tiangolo.
内部¶
- ⏪️ チェックポイントリリースを作成するために、「✨
Form
パラメータでのPydanticモデルのサポートを追加」を一時的に元に戻しました。PR #12128 by @tiangolo. PR #12129によって復元されました。 - ✨
Form
パラメータでのPydanticモデルのサポートを追加しました。PR #12127 by @tiangolo. リファクタのみのチェックポイントリリースを作成するために、PR #12128によって元に戻されました。PR #12129によって復元されました。
0.112.3¶
このリリースは主に内部リファクタリングであり、FastAPIを使用するアプリに何の影響も与えないはずです。このバージョンにまだアップグレードする必要もありません。直後にいくつかの大きなリリースが予定されています。🚀
リファクタ¶
- ♻️ 内部の
check_file_field()
をリファクタリングし、その目的を明確にするためにensure_multipart_is_installed()
に名前を変更しました。PR #12106 by @tiangolo. - ♻️ 内部の
create_response_field()
を、応答モデル以外にも使用されるため、create_model_field()
に名前を変更しました。PR #12103 by @tiangolo. - ♻️ dataclassesを使用して、
solve_dependencies()
からの内部データをリファクタリングおよび簡素化しました。PR #12100 by @tiangolo. - ♻️ 内部の
analyze_param()
をリファクタリングし、タプルではなくdataclassesでデータを構造化するように簡素化しました。PR #12099 by @tiangolo. - ♻️ dataclassesを使用して、依存関係のデータ構造をリファクタリングおよび簡素化しました。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をトリガーしないように修正しました。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/nl/docs/features.md
にオランダ語翻訳を追加しました。PR #12101 by @maxscheijen. - 🌐
docs/pt/docs/advanced/testing-events.md
にポルトガル語翻訳を追加しました。PR #12108 by @ceb10n. - 🌐
docs/pt/docs/advanced/security/index.md
にポルトガル語翻訳を追加しました。PR #12114 by @ceb10n. - 🌐
docs/nl/docs/index.md
にオランダ語翻訳を追加しました。PR #12042 by @svlandeg. - 🌐
docs/zh/docs/how-to/index.md
の中国語翻訳を更新しました。PR #12070 by @synthpop123.
内部¶
- ⬆ [pre-commit.ci] pre-commit autoupdate。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-files
をTrue
に設定しました。PR #12118 by @svlandeg。 - ⬆️ pypa/gh-action-pypi-publish を 1.9.0 から 1.10.0 に更新しました。PR #12112 by @dependabot[bot]。
- 🔧 スポンサーリンクを更新: Coherence。PR #12097 by @tiangolo。
- 🔧 スポンサーシップデータを処理するようにラベラーの設定を更新しました。PR #12096 by @tiangolo。
- 🔧 スポンサーを更新、Kong を削除しました。PR #12085 by @tiangolo。
- ⬆️ [pre-commit.ci] pre-commit 自動更新。PR #12076 by @pre-commit-ci[bot]。
- 👷
latest-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の追加レスポンス」セクションで修正しました。PR #11996 by @VaitoSoi。
- 🔨
email-validator
の依存関係をダッシュ付きで指定しました。PR #11515 by @jirikuncar。 - 🌐
docs/es/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。
- 📝
docs/en/docs/tutorial/body.md
を Python 3.10 の union 型の例で更新しました。PR #11415 by @rangzen。
翻訳¶
- 🌐
docs/pt/docs/tutorial/request_file.md
のポルトガル語翻訳を追加しました。PR #12018 by @Joao-Pedro-P-Holanda。 - 🌐
docs/ja/docs/learn/index.md
の日本語翻訳を追加しました。PR #11592 by @ukwhatn。 - 📝 一貫性を保つため、スペイン語翻訳ドキュメントを更新しました。PR #12044 by @alejsdev。
- 🌐
docs/zh/docs/tutorial/dependencies/dependencies-with-yield.md
の中国語翻訳を更新しました。PR #12028 by @xuvjso。 - 📝 FastAPI のメンバーを更新しました。最新情報を得るため、翻訳は行わないでください。PR #12034 by @tiangolo。
- 🌐
docs/ur/docs/benchmarks.md
のウルドゥー語翻訳を更新しました。PR #10046 by @AhsanSheraz。
内部¶
- ⬆️ [pre-commit.ci] pre-commit 自動更新。PR #12046 by @pre-commit-ci[bot]。
- 🔧 カバレッジ設定ファイルを更新しました。PR #12035 by @tiangolo。
- 🔨 シェルスクリプト全体で shebang を標準化しました。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/pt/docs/tutorial/bigger-applications.md
のポルトガル語翻訳を追加しました。PR #11971 by @marcelomarkus。 - 🌐
docs/pt/docs/advanced/testing-websockets.md
のポルトガル語翻訳を追加しました。PR #11994 by @ceb10n。 - 🌐
docs/pt/docs/advanced/testing-dependencies.md
のポルトガル語翻訳を追加しました。PR #11995 by @ceb10n。 - 🌐
docs/pt/docs/advanced/using-request-directly.md
のポルトガル語翻訳を追加しました。PR #11956 by @ceb10n。 - 🌐
docs/fr/docs/tutorial/body-multiple-params.md
のフランス語翻訳を追加しました。PR #11796 by @pe-brian。 - 🌐
docs/zh/docs/tutorial/query-params.md
の中国語翻訳を更新しました。PR #11557 by @caomingpei。 - 🌐
docs/zh/docs/advanced/testing-dependencies.md
の中国語翻訳のタイプミスを更新しました。PR #11944 by @bestony。 - 🌐
docs/pt/docs/advanced/sub-applications.md
およびdocs/pt/docs/advanced/behind-a-proxy.md
のポルトガル語翻訳を追加しました。PR #11856 by @marcelomarkus。 - 🌐
docs/pt/docs/tutorial/cors.md
およびdocs/pt/docs/tutorial/middleware.md
のポルトガル語翻訳を追加しました。PR #11916 by @wesinalves。 - 🌐
docs/fr/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。
- 👷🏻 ラベラー GitHub アクションを更新しました。PR #12019 by @tiangolo。
- 🔧 言語とソーシャルカード用の MkDocs の設定を更新しました。PR #12016 by @tiangolo。
- 👷 ラベラー GitHub アクションのアクセス許可と設定を更新しました。PR #12008 by @tiangolo。
- 👷🏻 GitHub アクション label-checker を追加しました。PR #12005 by @tiangolo。
- 👷 ラベルチェッカー GitHub アクションを追加しました。PR #12004 by @tiangolo。
- 👷 GitHub アクション add-to-project を更新しました。PR #12002 by @tiangolo。
- 🔧 ラベラー GitHub アクションを更新しました。PR #12001 by @tiangolo。
- 👷 GitHub アクション ラベラーを追加しました。PR #12000 by @tiangolo。
- 👷 GitHub アクション 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。
- 🔨 末尾のスラッシュがある場合とない場合のデプロイURLを考慮するようにスクリプト
deploy_docs_status.py
をリファクタリング。PR #11965 by @tiangolo。 - 🔒️ deploy-docsアクションの権限を更新。PR #11964 by @tiangolo。
- 👷🏻 PRにドキュメントのデプロイ状況とプレビューリンクを追加。PR #11961 by @tiangolo。
- 🔧 最新の設定とプラグインでドキュメントの設定を更新。PR #11953 by @tiangolo。
- 🔇 Trioのattrsからの警告を無視。PR #11949 by @tiangolo。
0.112.0¶
破壊的変更¶
概要¶
インストール方法
pip install "fastapi[standard]"
その他の変更¶
- これにより、CLIを次のように呼び出すサポートが追加されます。
python -m fastapi
- そして、
fastapi-cli[standard] >=0.0.5
にアップグレードします。
技術的な詳細¶
これまでは、fastapi
には、Uvicornやfastapi-cli
などの標準依存関係が含まれていました。
そして、fastapi-slim
にはそれらの標準依存関係は含まれていませんでした。
現在、fastapi
は、pip install "fastapi[standard]"
でインストールしない限り、これらの標準依存関係は含まれません。
以前は、pip install fastapi
でインストールしていましたが、標準オプション依存関係を含める必要があります(それらのいずれかを除外したい場合を除き):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/pt/docs/alternatives.md
のポルトガル語翻訳を更新。PR #11931 by @ceb10n。 - 🌐
docs/ru/docs/tutorial/dependencies/sub-dependencies.md
のロシア語翻訳を追加。PR #10515 by @AlertRED。 - 🌐
docs/pt/docs/advanced/response-change-status-code.md
のポルトガル語翻訳を追加。PR #11863 by @ceb10n。 - 🌐
docs/pt/docs/reference/background.md
のポルトガル語翻訳を追加。PR #11849 by @lucasbalieiro。 - 🌐
docs/pt/docs/tutorial/dependencies/dependencies-with-yield.md
のポルトガル語翻訳を追加。PR #11848 by @Joao-Pedro-P-Holanda。 - 🌐
docs/pt/docs/reference/apirouter.md
のポルトガル語翻訳を追加。PR #11843 by @lucasbalieiro。
内部¶
- 🔧 スポンサーを更新:liblabを追加。PR #11934 by @tiangolo。
- 👷 GitHub Actionのlabel-approved権限を更新。PR #11933 by @tiangolo。
- 👷 ドキュメントのデプロイURLをコメントし、トークンを更新するようにGitHub Actionをリファクタリング。PR #11925 by @tiangolo。
- 👷 GitHub Actionsのトークンを更新。PR #11924 by @tiangolo。
- 👷 ドキュメントのデプロイURLをコメントするためのトークン権限を更新。PR #11917 by @tiangolo。
- 👷 GitHub Actionsのトークン権限を更新。PR #11915 by @tiangolo。
- 👷 GitHub Actionsのトークン使用を更新。PR #11914 by @tiangolo。
- 👷 ラベル
approved-1
で翻訳を通知するようにGitHub Actionを更新。PR #11907 by @tiangolo。 - 🔧 スポンサーを更新、Reflexを削除。PR #11875 by @tiangolo。
- 🔧 スポンサーを更新:TalkPythonを削除。PR #11861 by @tiangolo。
- 🔨 ローカル開発では行番号を含めないようにドキュメントのTermynalスクリプトを更新。PR #11854 by @tiangolo。
0.111.1¶
アップグレード¶
- ➖ デフォルトの依存関係から
orjson
とujson
を削除。PR #11842 by @tiangolo。- これらの依存関係は、
pip install "fastapi[all]"
でインストールするとインストールされます。ただし、pip install fastapi
には含まれていません。
- これらの依存関係は、
- 📝 Swagger-UIリンクを可能な限り最新バージョンを使用するように復元。PR #11459 by @UltimateLobster。
ドキュメント¶
- ✏️
docs/en/docs/fastapi-cli.md
の言い換え。PR #11716 by @alejsdev。 - 📝 すべてのドキュメントのHypercornリンクを更新。PR #11744 by @kittydoor。
- 📝 StarletteからFastAPIへのAriadne参照を使用してドキュメントを更新。PR #11797 by @DamianCzajkowski。
- 📝 fastapiインストルメンテーションの外部リンクを更新。PR #11317 by @softwarebloat。
- ✏️ ドキュメント内のalembicサンプルリポジトリへのリンクを修正。PR #11628 by @augiwan。
- ✏️
docs/en/docs/fastapi-cli.md
を更新。PR #11715 by @alejsdev。 - 📝 外部リンクを更新。PR #11500 by @devon2018。
- 📝 外部リンクを追加:Tutorial de FastAPI, ¿el mejor framework de Python?. PR #11618 by @EduardoZepeda。
- 📝
docs/en/docs/tutorial/body-multiple-params.md
のタイプミスを修正。PR #11698 by @mwb-u。 - 📝 外部リンクを追加:Deploy a Serverless FastAPI App with Neon Postgres and AWS App Runner at any scale。PR #11633 by @ananis25。
- 📝
security/first-steps.md
を更新。PR #11674 by @alejsdev。 - 📝
security/first-steps.md
を更新。PR #11673 by @alejsdev。 - 📝
path-params-numeric-validations.md
のノートを更新。PR #11672 by @alejsdev。 - 📝
Annotated
およびQuery()
パラメーターに関する入門ドキュメントを調整。PR #11664 by @tiangolo。 - 📝 JWT認証ドキュメントをpyhon-joseの代わりにPyJWTを使用するように更新。PR #11589 by @estebanx64。
- 📝 ドキュメントを更新。PR #11603 by @alejsdev。
- ✏️ タイプミスを修正:「re-use」をすべて「reuse」に変換。PR #11598 by @hasansezertasan。
- ✏️
fastapi/applications.py
のタイプミスを修正。PR #11593 by @petarmaric。 - ✏️
fastapi-cli.md
のリンクを修正。PR #11524 by @svlandeg。
翻訳¶
- 🌐
docs/es/docs/how-to/graphql.md
のスペイン語翻訳を追加。PR #11697 by @camigomezdev。 - 🌐
docs/pt/docs/reference/index.md
のポルトガル語翻訳を追加。PR #11840 by @lucasbalieiro。 - 🌐 ドイツ語翻訳のリンクを修正。PR #11836 by @anitahammer。
- 🌐
docs/pt/docs/tutorial/dependencies/sub-dependencies.md
のポルトガル語翻訳を追加。PR #11792 by @Joao-Pedro-P-Holanda。 - 🌐
docs/tr/docs/tutorial/request-forms.md
のトルコ語翻訳を追加。PR #11553 by @hasansezertasan。 - 🌐
docs/pt/docs/reference/exceptions.md
のポルトガル語翻訳を追加。PR #11834 by @lucasbalieiro。 - 🌐
docs/pt/docs/tutorial/dependencies/global-dependencies.md
のポルトガル語翻訳を追加。PR #11826 by @Joao-Pedro-P-Holanda。 - 🌐
docs/pt/docs/how-to/general.md
のポルトガル語翻訳を追加。PR #11825 by @lucasbalieiro。 - 🌐
docs/pt/docs/advanced/async-tests.md
のポルトガル語翻訳を追加。PR #11808 by @ceb10n。 - 🌐
docs/uk/docs/tutorial/first-steps.md
のウクライナ語翻訳を追加。PR #11809 by @vkhoroshchak。 - 🌐
docs/pt/docs/tutorial/dependencies/dependencies-in-path-operation-operators.md
のポルトガル語翻訳を追加しました。PR #11804 by @Joao-Pedro-P-Holanda. - 🌐
docs/zh/docs/fastapi-cli.md
の中国語翻訳を追加しました。PR #11786 by @logan2d5. - 🌐
docs/pt/docs/advanced/openapi-webhooks.md
のポルトガル語翻訳を追加しました。PR #11791 by @ceb10n. - 🌐
docs/tutorial/security/oauth2-jwt.md
の中国語翻訳を更新しました。PR #11781 by @logan2d5. - 📝
docs/fr/docs/async.md
のフランス語翻訳で画像が欠落していたのを修正しました。PR #11787 by @pe-brian. - 🌐
docs/pt/docs/advanced/advanced-dependencies.md
のポルトガル語翻訳を追加しました。PR #11775 by @ceb10n. - 🌐
docs/pt/docs/tutorial/dependencies/classes-as-dependencies.md
のポルトガル語翻訳を追加しました。PR #11768 by @Joao-Pedro-P-Holanda. - 🌐
docs/pt/docs/advanced/additional-status-codes.md
のポルトガル語翻訳を追加しました。PR #11753 by @ceb10n. - 🌐
docs/pt/docs/tutorial/dependencies/index.md
のポルトガル語翻訳を追加しました。PR #11757 by @Joao-Pedro-P-Holanda. - 🌐
docs/pt/docs/advanced/settings.md
のポルトガル語翻訳を追加しました。PR #11739 by @Joao-Pedro-P-Holanda. - 🌐
docs/fr/docs/learn/index.md
のフランス語翻訳を追加しました。PR #11712 by @benjaminvandammeholberton. - 🌐
docs/pt/docs/how-to/index.md
のポルトガル語翻訳を追加しました。PR #11731 by @vhsenna. - 🌐
docs/pt/docs/advanced/additional-responses.md
のポルトガル語翻訳を追加しました。PR #11736 by @ceb10n. - 🌐
docs/pt/docs/advanced/benchmarks.md
のポルトガル語翻訳を追加しました。PR #11713 by @ceb10n. - 🌐
docs/ko/docs/tutorial/response-status-code.md
の韓国語翻訳を修正しました。PR #11718 by @nayeonkinn. - 🌐
docs/ko/docs/tutorial/extra-data-types.md
の韓国語翻訳を追加しました。PR #11711 by @nayeonkinn. - 🌐
docs/ko/docs/tutorial/body-nested-models.md
の韓国語翻訳を修正しました。PR #11710 by @nayeonkinn. - 🌐
docs/pt/docs/advanced/fastapi-cli.md
のポルトガル語翻訳を追加しました。PR #11641 by @ayr-ton. - 🌐
docs/zh-hant/docs/fastapi-people.md
の繁体字中国語翻訳を追加しました。PR #11639 by @hsuanchi. - 🌐
docs/tr/docs/advanced/index.md
のトルコ語翻訳を追加しました。PR #11606 by @hasansezertasan. - 🌐
docs/tr/docs/deployment/cloud.md
のトルコ語翻訳を追加しました。PR #11610 by @hasansezertasan. - 🌐
docs/tr/docs/advanced/security/index.md
のトルコ語翻訳を追加しました。PR #11609 by @hasansezertasan. - 🌐
docs/tr/docs/advanced/testing-websockets.md
のトルコ語翻訳を追加しました。PR #11608 by @hasansezertasan. - 🌐
docs/tr/docs/how-to/general.md
のトルコ語翻訳を追加しました。PR #11607 by @hasansezertasan. - 🌐
docs/zh/docs/advanced/templates.md
の中国語翻訳を更新しました。PR #11620 by @chaoless. - 🌐
docs/tr/docs/deployment/index.md
のトルコ語翻訳を追加しました。PR #11605 by @hasansezertasan. - 🌐
docs/tr/docs/tutorial/static-files.md
のトルコ語翻訳を追加しました。PR #11599 by @hasansezertasan. - 🌐
docs/pl/docs/fastapi-people.md
のポーランド語翻訳を修正しました。PR #10196 by @isulim. - 🌐
docs/tr/docs/advanced/wsgi.md
のトルコ語翻訳を追加しました。PR #11575 by @hasansezertasan. - 🌐
docs/tr/docs/tutorial/cookie-params.md
のトルコ語翻訳を追加しました。PR #11561 by @hasansezertasan. - 🌐
docs/ru/docs/about/index.md
のロシア語翻訳を追加しました。PR #10961 by @s111d. - 🌐
docs/zh/docs/tutorial/sql-databases.md
の中国語翻訳を更新しました。PR #11539 by @chaoless. - 🌐
docs/zh/docs/how-to/configure-swagger-ui.md
の中国語翻訳を追加しました。PR #11501 by @Lucas-lyh. - 🌐
/docs/advanced/security/http-basic-auth.md
の中国語翻訳を更新しました。PR #11512 by @nick-cjyx9.
Internal¶
- ♻️ 内部ドキュメントスクリプトを簡略化しました。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を更新し、同期ダウンロードアーティファクトとSmokeshowの設定を修正しました。PR #11563 by @tiangolo.
- 👷 SmokeshowダウンロードアーティファクトのGitHub Actionを更新しました。PR #11562 by @tiangolo.
- 👷 ドキュメントとカバレッジのために、アーティファクトをv4にダウンロードおよびアップロードするGitHubアクションを更新しました。PR #11550 by @tamird.
- 👷 test-redistributeのCIを調整し、slimに必要な環境変数を追加しました。PR #11549 by @tiangolo.
- 👥 FastAPI Peopleを更新しました。PR #11511 by @tiangolo.
0.111.0¶
Features¶
- ✨ 新しい
fastapi
コマンドであるFastAPI CLIを追加しました。PR #11522 by @tiangolo.- 新しいドキュメント: FastAPI CLI。
以下でお試しください
$ pip install --upgrade fastapi
$ fastapi dev main.py
╭────────── FastAPI CLI - Development mode ───────────╮
│ │
│ Serving at: http://127.0.0.1:8000 │
│ │
│ API docs: http://127.0.0.1:8000/docs │
│ │
│ Running in development mode, for production use: │
│ │
│ fastapi run │
│ │
╰─────────────────────────────────────────────────────╯
INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [2248755] using WatchFiles
INFO: Started server process [2248757]
INFO: Waiting for application startup.
INFO: Application startup complete.
Refactors¶
- 🔧 オプションのextras
fastapi-slim[standard]
を含むfastapi-slim
、およびデフォルトで同じstandard
extrasを含むfastapi
の構成とセットアップを追加しました。PR #11503 by @tiangolo.
0.110.3¶
Docs¶
- 📝 Pythonバージョンの参照を更新しました。FastAPIは現在のすべてのバージョンをサポートしているため、バージョンを明示的にする必要はありません。PR #11496 by @tiangolo.
- ✏️
fastapi/security/api_key.py
のタイプミスを修正しました。PR #11481 by @ch33zer. - ✏️
security/http.py
のタイプミスを修正しました。PR #11455 by @omarmoo5.
Translations¶
- 🌐
docs/zh-hant/benchmarks.md
の繁体字中国語翻訳を追加しました。PR #11484 by @KNChiu. - 🌐
docs/zh/docs/fastapi-people.md
の中国語翻訳を更新しました。PR #11476 by @billzhong. - 🌐
docs/zh/docs/how-to/index.md
およびdocs/zh/docs/how-to/general.md
の中国語翻訳を追加しました。PR #11443 by @billzhong. - 🌐 cookie-params
docs/es/docs/tutorial/cookie-params.md
のスペイン語翻訳を追加しました。PR #11410 by @fabianfalon.
Internal¶
- ⬆ 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¶
Fixes¶
- 🐛 リスト型を持つクエリパラメーターのサポートを修正し、Pydanticの
UndefinedType
のJSONエンコードを処理しました。PR #9929 by @arjwilliams.
Refactors¶
- ♻️
fastapi/openapi/models.py
のOpenAPIモデルでPydanticの構成を簡略化しました。PR #10886 by @JoeTanto2. - ✨ Pydanticの2.7の新しい非推奨のFieldパラメーターのサポートを追加し、検証エラーレスポンスからURLを削除しました。PR #11461 by @tiangolo.
Docs¶
- 📝
docs_src/extra_data_types
の下の例で型を修正しました。PR #10535 by @nilslindemann. - 📝 UJSONへの参照を更新しました。PR #11464 by @tiangolo.
- 📝 ドキュメントと翻訳リンク、タイプミス、フォーマットを調整しました。PR #11389 by @nilslindemann.
- 📝
docs/es/docs/async.md
のタイプミスを修正しました。PR #11400 by @fabianfalon. - 📝 OpenAPIクライアント生成ドキュメントを
@hey-api/openapi-ts
を使用するように更新しました。PR #11339 by @jordanshatford.
翻訳¶
- 🌐
docs/zh/docs/index.html
の中国語翻訳を更新しました。PR #11430 by @waketzheng. - 🌐
docs/ru/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/bn/docs/python-types.md
のベンガル語翻訳を追加しました。PR #11376 by @imtiaz101325. - 🌐
docs/ko/docs/tutorial/security/simple-oauth2.md
の韓国語翻訳を追加しました。PR #5744 by @KdHyeon0661. - 🌐
docs/ko/docs/help-fastapi.md
の韓国語翻訳を追加しました。PR #4139 by @kty4119. - 🌐
docs/ko/docs/advanced/events.md
の韓国語翻訳を追加しました。PR #5087 by @pers0n4. - 🌐
docs/ja/docs/tutorial/path-operation-configuration.md
の日本語翻訳を追加しました。PR #1954 by @SwftAlpc. - 🌐
docs/ja/docs/tutorial/request-forms-and-files.md
の日本語翻訳を追加しました。PR #1946 by @SwftAlpc. - 🌐
docs/ru/docs/tutorial/dependencies/dependencies-with-yield.md
のロシア語翻訳を追加しました。PR #10532 by @AlertRED. - 🌐
docs/ko/docs/tutorial/debugging.md
の韓国語翻訳を追加しました。PR #5695 by @JungWooGeon.
内部¶
0.110.1¶
修正¶
リファクタリング¶
- ♻️ mypyを更新しました。PR #11049 by @k0t3n.
- ♻️
fastapi/applications.py
でのf-stringを使用した文字列形式を簡略化しました。PR #11335 by @igeni.
アップグレード¶
- ⬆️ Starletteを>=0.37.2,<0.38.0にアップグレードし、内部テスト用のStarlette filterwarningを削除しました。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.
- 🔥 Pydanticのベンチマークへのリンクを他のi18nページから削除しました。PR #11224 by @hirotoKirimaru.
- ✏️ ドキュメント文字列のタイプミスを修正しました。PR #11295 by @davidhuser.
- 🛠️ TypeScriptクライアントを生成するためにドキュメント内のNode.jsスクリプトを改善しました。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/de/docs/tutorial/response-status-code.md
のドイツ語翻訳を追加しました。PR #10357 by @nilslindemann. - 🌐
docs/zh/docs/tutorial/query-params.md
の中国語翻訳を更新しました。PR #3480 by @jaystone776. - 🌐
docs/zh/docs/tutorial/body.md
の中国語翻訳を更新しました。PR #3481 by @jaystone776. - 🌐
docs/zh/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/ja/docs/tutorial/metadata.md
の日本語翻訳を追加しました。PR #2667 by @tokusumi. - 🌐
docs/de/docs/contributing.md
のドイツ語翻訳を追加しました。PR #10487 by @nilslindemann. - 🌐
docs/ja/docs/tutorial/query-params.md
の日本語翻訳を更新しました。PR #10808 by @urushio. - 🌐
docs/zh/docs/tutorial/security/get-current-user.md
の中国語翻訳を更新しました。PR #3842 by @jaystone776. - 🌐
docs/zh/docs/advanced/openapi-callbacks.md
の中国語翻訳を追加しました。PR #3825 by @jaystone776. - 🌐
docs/zh/docs/advanced/extending-openapi.md
の中国語翻訳を追加しました。PR #3823 by @jaystone776. - 🌐
docs/zh/docs/advanced/testing-dependencies.md
の中国語翻訳を追加しました。PR #3819 by @jaystone776. - 🌐
docs/zh/docs/advanced/custom-request-and-route.md
の中国語翻訳を追加しました。PR #3816 by @jaystone776. - 🌐
docs/zh/docs/external-links.md
の中国語翻訳を追加しました。PR #3833 by @jaystone776. - 🌐
docs/zh/docs/advanced/templates.md
の中国語翻訳を追加しました。PR #3812 by @jaystone776. - 🌐
docs/zh/docs/advanced/sub-applications.md
の中国語翻訳を追加しました。PR #3811 by @jaystone776. - 🌐
docs/zh/docs/advanced/async-sql-databases.md
の中国語翻訳を追加しました。PR #3805 by @jaystone776. - 🌐
docs/zh/docs/advanced/middleware.md
の中国語翻訳を追加しました。PR #3804 by @jaystone776. - 🌐
docs/zh/docs/advanced/dataclasses.md
の中国語翻訳を追加しました。PR #3803 by @jaystone776. - 🌐
docs/zh/docs/advanced/using-request-directly.md
の中国語翻訳を追加しました。PR #3802 by @jaystone776. - 🌐
docs/zh/docs/advanced/security/http-basic-auth.md
の中国語翻訳を追加しました。PR #3801 by @jaystone776. - 🌐
docs/zh/docs/advanced/security/oauth2-scopes.md
の中国語翻訳を追加しました。PR #3800 by @jaystone776. - 🌐
docs/zh/docs/tutorial/cookie-params.md
の中国語翻訳を更新しました。PR #3486 by @jaystone776. - 🌐
docs/zh/docs/tutorial/header-params.md
の中国語翻訳を更新しました。PR #3487 by @jaystone776. - 🌐
docs/tutorial/response-status-code.md
の中国語翻訳を更新しました。PR #3498 by @jaystone776. - 🌐
docs/de/docs/tutorial/security/first-steps.md
のドイツ語翻訳を追加しました。PR #10432 by @nilslindemann. - 🌐
docs/de/docs/advanced/events.md
のドイツ語翻訳を追加しました。PR #10693 by @nilslindemann. - 🌐
docs/de/docs/deployment/cloud.md
のドイツ語翻訳を追加しました。PR #10746 by @nilslindemann. - 🌐
docs/de/docs/advanced/behind-a-proxy.md
のドイツ語翻訳を追加しました。PR #10675 by @nilslindemann. - 🌐
docs/de/docs/help-fastapi.md
のドイツ語翻訳を追加しました。PR #10455 by @nilslindemann. - 🌐
docs/de/docs/python-types.md
のドイツ語翻訳を更新しました。PR #10287 by @nilslindemann. - 🌐
docs/de/docs/tutorial/path-params.md
のドイツ語翻訳を追加しました。PR #10290 by @nilslindemann. - 🌐
docs/de/docs/tutorial/handling-errors.md
のドイツ語翻訳を追加しました。PR #10379 by @nilslindemann. - 🌐
docs/de/docs/index.md
のドイツ語翻訳を更新しました。PR #10283 by @nilslindemann. - 🌐
docs/de/docs/advanced/security/http-basic-auth.md
のドイツ語翻訳を追加しました。PR #10651 by @nilslindemann. - 🌐
docs/de/docs/tutorial/bigger-applications.md
のドイツ語翻訳を追加しました。PR #10554 by @nilslindemann. - 🌐
docs/de/docs/advanced/path-operation-advanced-configuration.md
のドイツ語翻訳を追加しました。PR #10612 by @nilslindemann. - 🌐
docs/de/docs/tutorial/static-files.md
のドイツ語翻訳を追加しました。PR #10584 by @nilslindemann. - 🌐
docs/de/docs/tutorial/security/oauth2-jwt.md
のドイツ語翻訳を追加しました。PR #10522 by @nilslindemann. - 🌐
docs/de/docs/tutorial/response-model.md
のドイツ語翻訳を追加しました。PR #10345 by @nilslindemann. - 🌐
docs/de/docs/tutorial/extra-models.md
のドイツ語翻訳を追加しました。PR #10351 by @nilslindemann. - 🌐
docs/de/docs/tutorial/body-updates.md
のドイツ語翻訳を追加しました。PR #10396 by @nilslindemann. - 🌐
docs/de/docs/alternatives.md
のドイツ語翻訳を追加しました。PR #10855 by @nilslindemann. - 🌐
docs/de/docs/advanced/templates.md
のドイツ語翻訳を追加しました。PR #10678 by @nilslindemann. - 🌐
docs/de/docs/advanced/security/oauth2-scopes.md
のドイツ語翻訳を追加しました。PR #10643 by @nilslindemann. - 🌐
docs/de/docs/advanced/async-tests.md
のドイツ語翻訳を追加しました。PR #10708 by @nilslindemann. - 🌐
docs/de/docs/tutorial/metadata.md
のドイツ語翻訳を追加しました。PR #10581 by @nilslindemann. - 🌐
docs/de/docs/tutorial/testing.md
のドイツ語翻訳を追加しました。PR #10586 by @nilslindemann. - 🌐
docs/de/docs/tutorial/schema-extra-example.md
のドイツ語翻訳を追加しました。PR #10597 by @nilslindemann. - 🌐
docs/de/docs/advanced/index.md
のドイツ語翻訳を追加しました。PR #10611 by @nilslindemann. - 🌐
docs/de/docs/advanced/response-directly.md
のドイツ語翻訳を追加しました。PR #10618 by @nilslindemann. - 🌐
docs/de/docs/advanced/additional-responses.md
のドイツ語翻訳を追加しました。PR #10626 by @nilslindemann. - 🌐
docs/de/docs/advanced/response-cookies.md
のドイツ語翻訳を追加しました。PR #10627 by @nilslindemann. - 🌐
docs/de/docs/advanced/response-headers.md
のドイツ語翻訳を追加しました。PR #10628 by @nilslindemann. - 🌐
docs/de/docs/advanced/response-change-status-code.md
のドイツ語翻訳を追加しました。PR #10632 by @nilslindemann. - 🌐
docs/de/docs/advanced/advanced-dependencies.md
のドイツ語翻訳を追加しました。PR #10633 by @nilslindemann. - 🌐
docs/de/docs/advanced/security/index.md
のドイツ語翻訳を追加しました。PR #10635 by @nilslindemann. - 🌐
docs/de/docs/advanced/using-request-directly.md
のドイツ語翻訳を追加しました。PR #10653 by @nilslindemann. - 🌐
docs/de/docs/advanced/dataclasses.md
のドイツ語翻訳を追加しました。PR #10667 by @nilslindemann. - 🌐
docs/de/docs/advanced/middleware.md
のドイツ語翻訳を追加しました。PR #10668 by @nilslindemann. - 🌐
docs/de/docs/advanced/sub-applications.md
のドイツ語翻訳を追加しました。PR #10671 by @nilslindemann. - 🌐
docs/de/docs/advanced/websockets.md
のドイツ語翻訳を追加しました。PR #10687 by @nilslindemann. - 🌐
docs/de/docs/advanced/testing-websockets.md
のドイツ語翻訳を追加しました。PR #10703 by @nilslindemann. - 🌐
docs/de/docs/advanced/testing-events.md
のドイツ語翻訳を追加しました。PR #10704 by @nilslindemann. - 🌐
docs/de/docs/advanced/testing-dependencies.md
のドイツ語翻訳を追加しました。PR #10706 by @nilslindemann. - 🌐
docs/de/docs/advanced/openapi-callbacks.md
のドイツ語翻訳を追加しました。PR #10710 by @nilslindemann. - 🌐
docs/de/docs/advanced/settings.md
のドイツ語翻訳を追加しました。PR #10709 by @nilslindemann. - 🌐
docs/de/docs/advanced/wsgi.md
のドイツ語翻訳を追加しました。PR #10713 by @nilslindemann. - 🌐
docs/de/docs/deployment/index.md
のドイツ語翻訳を追加しました。PR #10733 by @nilslindemann. - 🌐
docs/de/docs/deployment/https.md
のドイツ語翻訳を追加しました。PR #10737 by @nilslindemann. - 🌐
docs/de/docs/deployment/manually.md
のドイツ語翻訳を追加しました。PR #10738 by @nilslindemann. - 🌐
docs/de/docs/deployment/concepts.md
のドイツ語翻訳を追加しました。PR #10744 by @nilslindemann. - 🌐
docs/de/docs/features.md
のドイツ語翻訳を更新しました。PR #10284 by @nilslindemann. - 🌐
docs/de/docs/deployment/server-workers.md
のドイツ語翻訳を追加しました。PR #10747 by @nilslindemann. - 🌐
docs/de/docs/deployment/docker.md
のドイツ語翻訳を追加しました。PR #10759 by @nilslindemann. - 🌐
docs/de/docs/how-to/index.md
のドイツ語翻訳を追加しました。PR #10769 by @nilslindemann. - 🌐
docs/de/docs/how-to/general.md
のドイツ語翻訳を追加しました。PR #10770 by @nilslindemann. - 🌐
docs/de/docs/how-to/graphql.md
のドイツ語翻訳を追加しました。PR #10788 by @nilslindemann. - 🌐
docs/de/docs/how-to/custom-request-and-route.md
のドイツ語翻訳を追加しました。PR #10789 by @nilslindemann. - 🌐
docs/de/docs/how-to/conditional-openapi.md
のドイツ語翻訳を追加しました。PR #10790 by @nilslindemann. - 🌐
docs/de/docs/how-to/separate-openapi-schemas.md
のドイツ語翻訳を追加しました。PR #10796 by @nilslindemann. - 🌐
docs/de/docs/how-to/configure-swagger-ui.md
のドイツ語翻訳を追加しました。PR #10804 by @nilslindemann. - 🌐
docs/de/docs/how-to/custom-docs-ui-assets.md
のドイツ語翻訳を追加しました。PR #10803 by @nilslindemann. - 🌐
docs/de/docs/reference/parameters.md
のドイツ語翻訳を追加しました。PR #10814 by @nilslindemann. - 🌐
docs/de/docs/reference/status.md
のドイツ語翻訳を追加しました。PR #10815 by @nilslindemann. - 🌐
docs/de/docs/reference/uploadfile.md
のドイツ語翻訳を追加しました。PR #10816 by @nilslindemann. - 🌐
docs/de/docs/reference/exceptions.md
のドイツ語翻訳を追加しました。PR #10817 by @nilslindemann. - 🌐
docs/de/docs/reference/dependencies.md
のドイツ語翻訳を追加しました。PR #10818 by @nilslindemann. - 🌐
docs/de/docs/reference/apirouter.md
のドイツ語翻訳を追加しました。PR #10819 by @nilslindemann. - 🌐
docs/de/docs/reference/websockets.md
のドイツ語翻訳を追加しました。PR #10822 by @nilslindemann. - 🌐
docs/de/docs/reference/httpconnection.md
のドイツ語翻訳を追加しました。PR #10823 by @nilslindemann. - 🌐
docs/de/docs/reference/response.md
のドイツ語翻訳を追加しました。PR #10824 by @nilslindemann. - 🌐
docs/de/docs/reference/middleware.md
のドイツ語翻訳を追加しました。PR #10837 by @nilslindemann. - 🌐
docs/de/docs/reference/openapi/*.md
のドイツ語翻訳を追加しました。PR #10838 by @nilslindemann. - 🌐
docs/de/docs/reference/security/index.md
のドイツ語翻訳を追加しました。PR #10839 by @nilslindemann. - 🌐
docs/de/docs/reference/staticfiles.md
のドイツ語翻訳を追加しました。PR #10841 by @nilslindemann. - 🌐
docs/de/docs/reference/testclient.md
のドイツ語翻訳を追加しました。PR #10843 by @nilslindemann. - 🌐
docs/de/docs/project-generation.md
のドイツ語翻訳を追加しました。PR #10851 by @nilslindemann. - 🌐
docs/de/docs/history-design-future.md
のドイツ語翻訳を追加しました。PR #10865 by @nilslindemann. - 🌐
docs/de/docs/tutorial/dependencies/dependencies-with-yield.md
のドイツ語翻訳を追加しました。PR #10422 by @nilslindemann. - 🌐
docs/de/docs/tutorial/dependencies/global-dependencies.md
のドイツ語翻訳を追加しました。PR #10420 by @nilslindemann. - 🌐
docs/de/docs/fastapi-people.md
のドイツ語翻訳を更新しました。PR #10285 by @nilslindemann. - 🌐
docs/de/docs/tutorial/dependencies/sub-dependencies.md
のドイツ語翻訳を追加しました。PR #10409 by @nilslindemann. - 🌐
docs/de/docs/tutorial/security/index.md
のドイツ語翻訳を追加しました。PR #10429 by @nilslindemann. - 🌐
docs/de/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
のドイツ語翻訳を追加しました。PR #10411 by @nilslindemann. - 🌐
docs/de/docs/tutorial/extra-data-types.md
のドイツ語翻訳を追加しました。PR #10534 by @nilslindemann. - 🌐
docs/de/docs/tutorial/security/simple-oauth2.md
のドイツ語翻訳を追加しました。PR #10504 by @nilslindemann. - 🌐
docs/de/docs/tutorial/security/get-current-user.md
のドイツ語翻訳を追加しました。PR #10439 by @nilslindemann. - 🌐
docs/de/docs/tutorial/request-forms-and-files.md
のドイツ語翻訳を追加しました。PR #10368 by @nilslindemann. - 🌐
docs/de/docs/tutorial/encoder.md
のドイツ語翻訳を追加しました。PR #10385 by @nilslindemann. - 🌐
docs/de/docs/tutorial/request-forms.md
のドイツ語翻訳を追加しました。PR #10361 by @nilslindemann. - 🌐
docs/de/docs/deployment/versions.md
のドイツ語翻訳を追加しました。PR #10491 by @nilslindemann. - 🌐
docs/de/docs/async.md
のドイツ語翻訳を追加しました。PR #10449 by @nilslindemann。 - 🌐
docs/de/docs/tutorial/cookie-params.md
のドイツ語翻訳を追加しました。PR #10323 by @nilslindemann。 - 🌐
docs/de/docs/tutorial/dependencies/classes-as-dependencies.md
のドイツ語翻訳を追加しました。PR #10407 by @nilslindemann。 - 🌐
docs/de/docs/tutorial/dependencies/index.md
のドイツ語翻訳を追加しました。PR #10399 by @nilslindemann。 - 🌐
docs/de/docs/tutorial/header-params.md
のドイツ語翻訳を追加しました。PR #10326 by @nilslindemann。 - 🌐
docs/de/docs/tutorial/path-params-numeric-validations.md
のドイツ語翻訳を追加しました。PR #10307 by @nilslindemann。 - 🌐
docs/de/docs/tutorial/query-params-str-validations.md
のドイツ語翻訳を追加しました。PR #10304 by @nilslindemann。 - 🌐
docs/de/docs/tutorial/request-files.md
のドイツ語翻訳を追加しました。PR #10364 by @nilslindemann。 - :globe_with_meridians:
docs/pt/docs/advanced/templates.md
のポルトガル語翻訳を追加しました。PR #11338 by @SamuelBFavarin。 - 🌐
docs/bn/docs/learn/index.md
のベンガル語翻訳を追加しました。PR #11337 by @imtiaz101325。 - 🌐
docs/ko/docs/index.md
の韓国語翻訳を修正しました。PR #11296 by @choi-haram。 - 🌐
docs/ko/docs/about/index.md
の韓国語翻訳を追加しました。PR #11299 by @choi-haram。 - 🌐
docs/ko/docs/advanced/index.md
の韓国語翻訳を追加しました。PR #9613 by @ElliottLarsen。 - 🌐
docs/de/docs/how-to/extending-openapi.md
のドイツ語翻訳を追加しました。PR #10794 by @nilslindemann。 - 🌐
docs/zh/docs/tutorial/metadata.md
の中国語翻訳を更新しました。PR #11286 by @jackleeio。 - 🌐
docs/zh/docs/contributing.md
の中国語翻訳を更新しました。PR #10887 by @Aruelius。 - 🌐
docs/az/docs/fastapi-people.md
のアゼルバイジャン語翻訳を追加しました。PR #11195 by @vusallyv。 - 🌐
docs/ru/docs/tutorial/dependencies/index.md
のロシア語翻訳を追加しました。PR #11223 by @kohiry。 - 🌐
docs/zh/docs/tutorial/query-params.md
の中国語翻訳を更新しました。PR #11242 by @jackleeio。 - 🌐
docs/az/learn/index.md
のアゼルバイジャン語翻訳を追加しました。PR #11192 by @vusallyv。
内部¶
- 👥 FastAPI の貢献者を更新しました。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 インサイダーズのソーシャルプラグインを無効にしました。PR #11373 by @tiangolo。
- 👷 MkDocs インサイダーズをインストールして使用するタイミングのロジックを修正しました。PR #11372 by @tiangolo。
- 👷 公開に Python パッケージキャッシュを使用しないようにしました。PR #11366 by @tiangolo。
- 👷 再配布用の sdist(例:Linuxディストリビューション)をテストするための CI を追加しました。PR #11365 by @tiangolo。
- 👷 build-docs GitHub アクションのパスフィルターを更新しました。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 の貢献者の計算をリファクタリングし、議論日ではなくコメント日に基づいて、3ヶ月、6ヶ月、1年を含めました。PR #11304 by @tiangolo。
- 👥 FastAPI の貢献者を更新しました。PR #11228 by @tiangolo。
- 🔥 ドキュメントから Jina AI QA ボットを削除しました。PR #11268 by @nan-wang。
- 🔧 スポンサーを更新し、Jina を削除し、Powens を削除し、TestDriven.io を移動しました。PR #11213 by @tiangolo。
0.110.0¶
破壊的変更¶
- 🐛 内部サーバーエラーによる未処理のメモリ増加を修正し、
yield
とexcept
を使用した依存関係を、通常のPythonのように再度raiseすることを要求するようにリファクタリングしました。PR #11191 by @tiangolo。- これは、
yield
を使用した依存関係を使用し、それらの依存関係でexcept
を使用し、再度raiseしなかった場合、破壊的な変更(そしてわずかに)です。 - これは、サーバーが内部サーバーエラーを生成する未処理の例外を抱えていた場合、その時点で割り当てられたメモリが解放されないメモリリークとして、@rushilsrivastavaによって内部的に報告されました。
- 新しいドキュメントを読む:
yield
とexcept
を使用した依存関係。
- これは、
要するに、次のような依存関係があった場合
def my_dep():
try:
yield
except SomeException:
pass
これで、通常のPythonの場合と同様に、except
の後に再度raiseする必要があることを確認する必要があります。
def my_dep():
try:
yield
except SomeException:
raise
ドキュメント¶
- ✏️
docs/ko/docs/
の軽微なタイプミスを修正しました。PR #11126 by @KaniKim。 - ✏️
fastapi/applications.py
の軽微なタイプミスを修正しました。PR #11099 by @JacobHayes。
翻訳¶
- 🌐
docs/de/docs/reference/background.md
のドイツ語翻訳を追加しました。PR #10820 by @nilslindemann。 - 🌐
docs/de/docs/reference/templating.md
のドイツ語翻訳を追加しました。PR #10842 by @nilslindemann。 - 🌐
docs/de/docs/external-links.md
のドイツ語翻訳を追加しました。PR #10852 by @nilslindemann。 - 🌐
docs/tr/docs/tutorial/query-params.md
のトルコ語翻訳を更新しました。PR #11162 by @hasansezertasan。 - 🌐
docs/de/docs/reference/encoders.md
のドイツ語翻訳を追加しました。PR #10840 by @nilslindemann。 - 🌐
docs/de/docs/reference/responses.md
のドイツ語翻訳を追加しました。PR #10825 by @nilslindemann。 - 🌐
docs/de/docs/reference/request.md
のドイツ語翻訳を追加しました。PR #10821 by @nilslindemann。 - 🌐
docs/tr/docs/tutorial/query-params.md
のトルコ語翻訳を追加しました。PR #11078 by @emrhnsyts。 - 🌐
docs/de/docs/reference/fastapi.md
のドイツ語翻訳を追加しました。PR #10813 by @nilslindemann。 - 🌐
docs/de/docs/newsletter.md
のドイツ語翻訳を追加しました。PR #10853 by @nilslindemann。 - 🌐
docs/zh-hant/docs/learn/index.md
の繁体字中国語翻訳を追加しました。PR #11142 by @hsuanchi。 - 🌐
/docs/ko/docs/tutorial/dependencies/global-dependencies.md
の韓国語翻訳を追加しました。PR #11123 by @riroan。 - 🌐
/docs/ko/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
の韓国語翻訳を追加しました。PR #11124 by @riroan。 - 🌐
/docs/ko/docs/tutorial/schema-extra-example.md
の韓国語翻訳を追加しました。PR #11121 by @KaniKim。 - 🌐
/docs/ko/docs/tutorial/body-fields.md
の韓国語翻訳を追加しました。PR #11112 by @KaniKim。 - 🌐
/docs/ko/docs/tutorial/cookie-params.md
の韓国語翻訳を追加しました。PR #11118 by @riroan。 - 🌐
/docs/ko/docs/dependencies/index.md
の韓国語翻訳を更新しました。PR #11114 by @KaniKim。 - 🌐
/docs/ko/docs/deployment/docker.md
の韓国語翻訳を更新しました。PR #11113 by @KaniKim。 - 🌐
docs/tr/docs/tutorial/first-steps.md
のトルコ語翻訳を更新しました。PR #11094 by @hasansezertasan。 - 🌐
docs/es/docs/advanced/security/index.md
のスペイン語翻訳を追加しました。PR #2278 by @Xaraxx。 - 🌐
docs/es/docs/advanced/response-headers.md
のスペイン語翻訳を追加しました。PR #2276 by @Xaraxx。 - 🌐
docs/es/docs/deployment/index.md
と~/deployment/versions.md
のスペイン語翻訳を追加しました。PR #9669 by @pabloperezmoya。 - 🌐
docs/es/docs/benchmarks.md
のスペイン語翻訳を追加しました。PR #10928 by @pablocm83。 - 🌐
docs/es/docs/advanced/response-change-status-code.md
のスペイン語翻訳を追加しました。PR #11100 by @alejsdev。
0.109.2¶
アップグレード¶
翻訳¶
内部¶
0.109.1¶
セキュリティ修正¶
- ⬆️ ReDos攻撃でフォームデータを使用する際の脆弱性を修正するため、
python-multipart
の最小バージョンを>=0.0.7
にアップグレードしました。または、python-multipart
を単にアップグレードすることもできます。
アドバイザリ: Content-Type ヘッダー ReDoSで詳細をご覧ください。
機能¶
リファクタリング¶
- ✅ FastAPI テストスイートを実行する他のツールとの互換性のために、重複した操作 ID 生成のテストをリファクタリング。PR #10876 by @emmettbutler。
- ♻️
fastapi/utils.py
で f-strings を使用して文字列形式を簡素化。PR #10576 by @eukub。 - 🔧 Ruff の設定で、意図せずに mccabe 複雑性チェックが有効および無効になる問題を修正。PR #10893 by @jiridanek。
- ✅ Starlette の修正後、
tests/test_tutorial/test_header_params/test_tutorial003.py
のテストを再度有効化。PR #10904 by @ooknimm。
ドキュメント¶
- 📝
help-fastapi.md
の表現を調整。PR #11040 by @tiangolo。 - 📝 Behind a Proxy のドキュメントを調整。PR #11038 by @tiangolo。
- 📝 外部リンクを追加: 10 Tips for adding SQLAlchemy to FastAPI。PR #11036 by @Donnype。
- 📝 外部リンクを追加: Tips on migrating from Flask to FastAPI and vice-versa。PR #11029 by @jtemporal。
- 📝 古いチュートリアルを非推奨化: Peewee, Couchbase, encode/databases。PR #10979 by @tiangolo。
- ✏️
fastapi/security/oauth2.py
のタイプミスを修正。PR #10972 by @RafalSkolasinski。 - 📝
docs/en/docs/tutorial/handling-errors.md
のHTTPException
の詳細を更新。PR #5418 by @papb。 - ✏️
docs/de/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。 - 📝 外部リンクを追加: Explore How to Effectively Use JWT With FastAPI。PR #10212 by @aanchlia。
- 📝
docs/en/docs/tutorial/static-files.md
にハイパーリンクを追加。PR #10243 by @hungtsetse。 - 📝 外部リンクを追加: Instrument a FastAPI service adding tracing with OpenTelemetry and send/show traces in Grafana Tempo。PR #9440 by @softwarebloat。
- 📝
en/docs/contributing.md
のレビューと表現の変更。PR #10480 by @nilslindemann。 - 📝 外部リンクを追加: ML serving and monitoring with FastAPI and Evidently。PR #9701 by @mnrozhkov。
- 📝 ドキュメントで "have in mind" を "keep in mind" に修正。PR #10376 by @malicious。
- 📝 外部リンクを追加: Talk by 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/es/docs/external-links.md
のスペイン語翻訳を追加。PR #10933 by @pablocm83。 - 🌐
docs/ko/docs/tutorial/first-steps.md
,docs/ko/docs/tutorial/index.md
,docs/ko/docs/tutorial/path-params.md
, およびdocs/ko/docs/tutorial/query-params.md
の韓国語翻訳を更新。PR #4218 by @SnowSuno。 - 🌐
docs/zh/docs/tutorial/dependencies/dependencies-with-yield.md
の中国語翻訳を追加。PR #10870 by @zhiquanchi。 - 🌐
docs/zh/docs/deployment/concepts.md
の中国語翻訳を追加。PR #10282 by @xzmeng。 - 🌐
docs/az/docs/index.md
のアゼルバイジャン語翻訳を追加。PR #11047 by @aykhans。 - 🌐
docs/ko/docs/tutorial/middleware.md
の韓国語翻訳を追加。PR #2829 by @JeongHyeongKim。 - 🌐
docs/de/docs/tutorial/body-nested-models.md
のドイツ語翻訳を追加。PR #10313 by @nilslindemann。 - 🌐
docs/fa/docs/tutorial/middleware.md
のペルシア語翻訳を追加。PR #9695 by @mojtabapaso。 - 🌐
docs/fa/docs/index.md
のペルシア語翻訳を更新。PR #10216 by @theonlykingpin。 - 🌐
docs/de/docs/tutorial/body-fields.md
のドイツ語翻訳を追加。PR #10310 by @nilslindemann。 - 🌐
docs/de/docs/tutorial/body.md
のドイツ語翻訳を追加。PR #10295 by @nilslindemann。 - 🌐
docs/de/docs/tutorial/body-multiple-params.md
のドイツ語翻訳を追加。PR #10308 by @nilslindemann。 - 🌐
docs/ja/docs/tutorial/security/get-current-user.md
の日本語翻訳を追加。PR #2681 by @sh0nk。 - 🌐
docs/zh/docs/advanced/advanced-dependencies.md
の中国語翻訳を追加。PR #3798 by @jaystone776。 - 🌐
docs/zh/docs/advanced/events.md
の中国語翻訳を追加。PR #3815 by @jaystone776。 - 🌐
docs/zh/docs/advanced/behind-a-proxy.md
の中国語翻訳を追加。PR #3820 by @jaystone776。 - 🌐
docs/zh/docs/advanced/testing-events.md
の中国語翻訳を追加。PR #3818 by @jaystone776。 - 🌐
docs/zh/docs/advanced/testing-websockets.md
の中国語翻訳を追加。PR #3817 by @jaystone776。 - 🌐
docs/zh/docs/advanced/testing-database.md
の中国語翻訳を追加。PR #3821 by @jaystone776。 - 🌐
docs/zh/docs/deployment/deta.md
の中国語翻訳を追加。PR #3837 by @jaystone776。 - 🌐
docs/zh/docs/history-design-future.md
の中国語翻訳を追加。PR #3832 by @jaystone776。 - 🌐
docs/zh/docs/project-generation.md
の中国語翻訳を追加。PR #3831 by @jaystone776。 - 🌐
docs/zh/docs/deployment/docker.md
の中国語翻訳を追加。PR #10296 by @xzmeng。 - 🌐
docs/es/docs/features.md
のスペイン語翻訳を更新。PR #10884 by @pablocm83。 - 🌐
docs/es/docs/newsletter.md
のスペイン語翻訳を追加。PR #10922 by @pablocm83。 - 🌐
docs/ko/docs/tutorial/background-tasks.md
の韓国語翻訳を追加。PR #5910 by @junah201。 - 🌐
docs/tr/docs/alternatives.md
のトルコ語翻訳を追加。PR #10502 by @alperiox。 - 🌐
docs/ko/docs/tutorial/dependencies/index.md
の韓国語翻訳を追加。PR #10989 by @KaniKim。 - 🌐
/docs/ko/docs/tutorial/body.md
の韓国語翻訳を追加。PR #11000 by @KaniKim。 - 🌐
docs/pt/docs/tutorial/schema-extra-example.md
のポルトガル語翻訳を追加。PR #4065 by @luccasmmg。 - 🌐
docs/tr/docs/history-design-future.md
のトルコ語翻訳を追加。PR #11012 by @hasansezertasan。 - 🌐
docs/tr/docs/resources/index.md
のトルコ語翻訳を追加。PR #11020 by @hasansezertasan。 - 🌐
docs/tr/docs/how-to/index.md
のトルコ語翻訳を追加。PR #11021 by @hasansezertasan。 - 🌐
docs/de/docs/tutorial/query-params.md
のドイツ語翻訳を追加。PR #10293 by @nilslindemann。 - 🌐
docs/de/docs/benchmarks.md
のドイツ語翻訳を追加。PR #10866 by @nilslindemann。 - 🌐
docs/tr/docs/learn/index.md
のトルコ語翻訳を追加。PR #11014 by @hasansezertasan。 - 🌐
docs/fa/docs/tutorial/security/index.md
のペルシア語翻訳を追加。PR #9945 by @mojtabapaso。 - 🌐
docs/tr/docs/help/index.md
のトルコ語翻訳を追加。PR #11013 by @hasansezertasan。 - 🌐
docs/tr/docs/about/index.md
のトルコ語翻訳を追加。PR #11006 by @hasansezertasan。 - 🌐
docs/tr/docs/benchmarks.md
のトルコ語翻訳を更新。PR #11005 by @hasansezertasan。 - 🌐
docs/it/docs/index.md
のイタリア語翻訳を追加。PR #5233 by @matteospanio。 - 🌐
docs/ko/docs/help/index.md
の韓国語翻訳を追加。PR #10983 by @KaniKim。 - 🌐
docs/ko/docs/features.md
の韓国語翻訳を追加。PR #10976 by @KaniKim。 - 🌐
docs/ko/docs/tutorial/security/get-current-user.md
の韓国語翻訳を追加しました。PR #5737 by @KdHyeon0661。 - 🌐
docs/ru/docs/tutorial/security/first-steps.md
のロシア語翻訳を追加しました。PR #10541 by @AlertRED。 - 🌐
docs/ru/docs/tutorial/handling-errors.md
のロシア語翻訳を追加しました。PR #10375 by @AlertRED。 - 🌐
docs/ru/docs/tutorial/encoder.md
のロシア語翻訳を追加しました。PR #10374 by @AlertRED。 - 🌐
docs/ru/docs/tutorial/body-updates.md
のロシア語翻訳を追加しました。PR #10373 by @AlertRED。 - 🌐 ロシア語翻訳:
fastapi-people.md
を更新しました。PR #10255 by @NiKuma0。 - 🌐
docs/ja/docs/tutorial/security/index.md
の日本語翻訳を追加しました。PR #5798 by @3w36zj6。 - 🌐
docs/de/docs/advanced/generate-clients.md
のドイツ語翻訳を追加しました。PR #10725 by @nilslindemann。 - 🌐
docs/de/docs/advanced/openapi-webhooks.md
のドイツ語翻訳を追加しました。PR #10712 by @nilslindemann。 - 🌐
docs/de/docs/advanced/custom-response.md
のドイツ語翻訳を追加しました。PR #10624 by @nilslindemann。 - 🌐
docs/de/docs/advanced/additional-status-codes.md
のドイツ語翻訳を追加しました。PR #10617 by @nilslindemann。 - 🌐
docs/de/docs/tutorial/middleware.md
のドイツ語翻訳を追加しました。PR #10391 by @JohannesJungbluth。 - 🌐 ドイツ語の導入ドキュメント翻訳を追加しました。PR #10497 by @nilslindemann。
- 🌐
docs/ja/docs/tutorial/encoder.md
の日本語翻訳を追加しました。PR #1955 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/extra-data-types.md
の日本語翻訳を追加しました。PR #1932 by @SwftAlpc。 - 🌐
docs/tr/docs/async.md
のトルコ語翻訳を追加しました。PR #5191 by @BilalAlpaslan。 - 🌐
docs/tr/docs/project-generation.md
のトルコ語翻訳を追加しました。PR #5192 by @BilalAlpaslan。 - 🌐
docs/ko/docs/deployment/docker.md
の韓国語翻訳を追加しました。PR #5657 by @nearnear。 - 🌐
docs/ko/docs/deployment/server-workers.md
の韓国語翻訳を追加しました。PR #4935 by @jujumilk3。 - 🌐
docs/ko/docs/deployment/index.md
の韓国語翻訳を追加しました。PR #4561 by @jujumilk3。 - 🌐
docs/ko/docs/tutorial/path-operation-configuration.md
の韓国語翻訳を追加しました。PR #3639 by @jungsu-kwon。 - 🌐
zh
- 繁体字の説明を修正しました。PR #10889 by @cherinyy。 - 🌐
docs/ko/docs/tutorial/static-files.md
の韓国語翻訳を追加しました。PR #2957 by @jeesang7。 - 🌐
docs/ko/docs/tutorial/response-model.md
の韓国語翻訳を追加しました。PR #2766 by @hard-coders。 - 🌐
docs/ko/docs/tutorial/body-multiple-params.md
の韓国語翻訳を追加しました。PR #2461 by @PandaHun。 - 🌐
docs/ko/docs/tutorial/query-params-str-validations.md
の韓国語翻訳を追加しました。PR #2415 by @hard-coders。 - 🌐
docs/ko/docs/python-types.md
の韓国語翻訳を追加しました。PR #2267 by @jrim。 - 🌐
docs/ko/docs/tutorial/body-nested-models.md
の韓国語翻訳を追加しました。PR #2506 by @hard-coders。 - 🌐
docs/ko/docs/learn/index.md
の韓国語翻訳を追加しました。PR #10977 by @KaniKim。 - 🌐 繁体字中国語の翻訳を初期化しました。PR #10505 by @hsuanchi。
- ✏️
docs/de/docs/tutorial/index.md
のドイツ語翻訳を調整しました。PR #10962 by @nilslindemann。 - ✏️
docs/ko/docs/tutorial/path-params.md
のタイプミスを修正しました。PR #10758 by @2chanhaeng。 - 🌐
docs/ja/docs/tutorial/dependencies/dependencies-with-yield.md
の日本語翻訳を追加しました。PR #1961 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
の日本語翻訳を追加しました。PR #1960 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/dependencies/sub-dependencies.md
の日本語翻訳を追加しました。PR #1959 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/background-tasks.md
の日本語翻訳を追加しました。PR #2668 by @tokusumi。 - 🌐
docs/ja/docs/tutorial/dependencies/index.md
およびdocs/ja/docs/tutorial/dependencies/classes-as-dependencies.md
の日本語翻訳を追加しました。PR #1958 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/response-model.md
の日本語翻訳を追加しました。PR #1938 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/body-multiple-params.md
の日本語翻訳を追加しました。PR #1903 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/path-params-numeric-validations.md
の日本語翻訳を追加しました。PR #1902 by @SwftAlpc。 - 🌐
docs/ja/docs/python-types.md
の日本語翻訳を追加しました。PR #1899 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/handling-errors.md
の日本語翻訳を追加しました。PR #1953 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/response-status-code.md
の日本語翻訳を追加しました。PR #1942 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/extra-models.md
の日本語翻訳を追加しました。PR #1941 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/schema-extra-example.md
の日本語翻訳を追加しました。PR #1931 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/body-nested-models.md
の日本語翻訳を追加しました。PR #1930 by @SwftAlpc。 - 🌐
docs/ja/docs/tutorial/body-fields.md
の日本語翻訳を追加しました。PR #1923 by @SwftAlpc。 - 🌐
docs/de/docs/tutorial/index.md
のドイツ語翻訳を追加しました。PR #9502 by @fhabers21。 - 🌐
docs/de/docs/tutorial/background-tasks.md
のドイツ語翻訳を追加しました。PR #10566 by @nilslindemann。 - ✏️
docs/ru/docs/index.md
のタイプミスを修正しました。PR #10672 by @Delitel-WEB。 - ✏️
docs/zh/docs/tutorial/extra-data-types.md
のタイプミスを修正しました。PR #10727 by @HiemalBeryl。 - 🌐
docs/ru/docs/tutorial/dependencies/classes-as-dependencies.md
のロシア語翻訳を追加しました。PR #10410 by @AlertRED。
内部¶
- 👥 FastAPIのメンバーを更新しました。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言語(以前のRTL PRで誤って導入された)でCSSが崩れるのを修正しました。PR #11039 by @tiangolo。
- 🔧
mkdocs.yml
にイタリア語を追加しました。PR #11016 by @alejsdev。 - 🔨 CIで
mkdocs.yml
の言語を検証し、docs.py
を更新しました。PR #11009 by @tiangolo。 - 🔧 レビューアが1人でも翻訳を受け入れるように
label-approved.yml
の設定を更新しました。PR #11007 by @alejsdev。 - 👷 GitHub Action issue managerに変更リクエストの処理を追加しました。PR #10971 by @tiangolo。
- 🔧 dependabotの更新で依存関係をグループ化しました。PR #10952 by @Kludex。
- ⬆ actions/setup-python を 4 から 5 に上げました。PR #10764 by @dependabot[bot]。
- ⬆ pypa/gh-action-pypi-publish を 1.8.10 から 1.8.11 に上げました。PR #10731 by @dependabot[bot]。
- ⬆ dawidd6/action-download-artifact を 2.28.0 から 3.0.0 に上げました。PR #10777 by @dependabot[bot]。
- 🔧
zh-hant
のようにコード名が長い言語への翻訳をサポートしました。PR #10950 by @tiangolo。
0.109.0¶
機能¶
アップグレード¶
ドキュメント¶
- ✏️
docs/en/docs/alternatives.md
のタイプミスを修正しました。PR #10931 by @s111d。 - 📝
docs_src/security/tutorial007
のコード例でemail
をusername
に置き換えました。PR #10649 by @nilslindemann。 - 📝 VS Code のチュートリアルリンクを追加しました。PR #10592 by @nilslindemann。
- 📝 Pydantic v2 の新しい
.model_dump()
に関する注釈を追加しました。PR #10929 by @tiangolo。 - 📝
docs/en/docs/tutorial/sql-databases.md
の壊れたリンクを修正しました。PR #10765 by @HurSungYun。 - 📝 外部リンク:FastAPIアプリケーションのモニタリングを簡単に。PR #10917 by @tiangolo。
- ✨ ドキュメント翻訳用の言語名を自動生成するようにしました。PR #5354 by @jakul。
- ✏️
docs/en/docs/alternatives.md
とdocs/en/docs/tutorial/dependencies/index.md
のタイプミスを修正しました。PR #10906 by @s111d。 - ✏️
docs/en/docs/tutorial/dependencies/dependencies-with-yield.md
のタイプミスを修正しました。PR #10834 by @Molkree。 - 📝 記事「Building a RESTful API with FastAPI: Secure Signup and Login Functionality Included」を追加しました。PR #9733 by @dxphilo。
- 📝
AsyncClient
を使用したライフサイクルイベントに関する警告を追加しました。PR #4167 by @andrew-chang-dewitt。 - ✏️
/docs/reference/exceptions.md
と/en/docs/reference/status.md
のタイプミスを修正しました。PR #10809 by @clarencepenz。 - ✏️
openapi-callbacks.md
のタイプミスを修正しました。PR #10673 by @kayjan。 - ✏️
fastapi/routing.py
のタイプミスを修正しました。PR #10520 by @sepsh。 - 📝 テスト用のドキュメントで、既存のユーザーエラーの場合に返されるHTTPコードを置き換えました。PR #4482 by @TristanMarion。
- 📝 FastAPI & Supabase のブログを追加しました。PR #6018 by @theinfosecguy。
- 📝 SQLAlchemy を使用した SQL データベースのサンプルソースファイルを更新しました。PR #9508 by @s-mustafa。
- 📝 ドキュメントの本文のコード例を更新し、必要に応じて名前
create_item
をupdate_item
に置き換えました。PR #5913 by @OttoAndrey。 - ✏️ yield を使用した依存関係のソース例のタイプミスを修正しました。PR #10847 by @tiangolo。
翻訳¶
- 🌐
docs/bn/docs/index.md
のベンガル語翻訳を追加しました。PR #9177 by @Fahad-Md-Kamal。 - ✏️ いくつかの言語の
index.md
の Python バージョンを更新しました。PR #10711 by @tamago3keran。 - 🌐
docs/ru/docs/tutorial/request-forms-and-files.md
のロシア語翻訳を追加しました。PR #10347 by @AlertRED。 - 🌐
docs/uk/docs/index.md
のウクライナ語翻訳を追加しました。PR #10362 by @rostik1410。 - ✏️
docs/ko/docs/index.md
の Python バージョンを更新しました。PR #10680 by @Eeap。 - 🌐
docs/fa/docs/features.md
のペルシャ語翻訳を追加しました。PR #5887 by @amirilf。 - 🌐
docs/zh/docs/advanced/additional-responses.md
の中国語翻訳を追加しました。PR #10325 by @ShuibeiC。 - 🌐
docs/ru/docs/tutorial/background-tasks.md
,docs/ru/docs/tutorial/body-nested-models.md
,docs/ru/docs/tutorial/debugging.md
,docs/ru/docs/tutorial/testing.md
のロシア語翻訳のタイプミスを修正しました。PR #10311 by @AlertRED。 - 🌐
docs/ru/docs/tutorial/request-files.md
のロシア語翻訳を追加しました。PR #10332 by @AlertRED。 - 🌐
docs/zh/docs/deployment/server-workers.md
の中国語翻訳を追加しました。PR #10292 by @xzmeng。 - 🌐
docs/zh/docs/deployment/cloud.md
の中国語翻訳を追加しました。PR #10291 by @xzmeng。 - 🌐
docs/zh/docs/deployment/manually.md
の中国語翻訳を追加しました。PR #10279 by @xzmeng。 - 🌐
docs/zh/docs/deployment/https.md
の中国語翻訳を追加しました。PR #10277 by @xzmeng。 - 🌐
docs/zh/docs/deployment/index.md
の中国語翻訳を追加しました。PR #10275 by @xzmeng。 - 🌐
docs/de/docs/tutorial/first-steps.md
のドイツ語翻訳を追加しました。PR #9530 by @fhabers21。 - 🌐
docs/tr/docs/index.md
のトルコ語翻訳を更新しました。PR #10444 by @hasansezertasan。 - 🌐
docs/zh/docs/learn/index.md
の中国語翻訳を追加しました。PR #10479 by @KAZAMA-DREAM。 - 🌐
docs/ru/docs/learn/index.md
のロシア語翻訳を追加しました。PR #10539 by @AlertRED。 - 🌐 中国語翻訳
docs/zh/docs/tutorial/sql-databases.md
の SQLAlchemy の手順を更新しました。PR #9712 by @Royc30ne。 - 🌐
docs/tr/docs/external-links.md
のトルコ語翻訳を追加しました。PR #10549 by @hasansezertasan。 - 🌐
docs/es/docs/learn/index.md
のスペイン語翻訳を追加しました。PR #10885 by @pablocm83。 - 🌐
docs/uk/docs/tutorial/body-fields.md
のウクライナ語翻訳を追加しました。PR #10670 by @ArtemKhymenko。 - 🌐
/docs/hu/docs/index.md
のハンガリー語翻訳を追加しました。PR #10812 by @takacs。 - 🌐
docs/tr/docs/newsletter.md
のトルコ語翻訳を追加しました。PR #10550 by @hasansezertasan。 - 🌐
docs/es/docs/help/index.md
のスペイン語翻訳を追加しました。PR #10907 by @pablocm83。 - 🌐
docs/es/docs/about/index.md
のスペイン語翻訳を追加しました。PR #10908 by @pablocm83。 - 🌐
docs/es/docs/resources/index.md
のスペイン語翻訳を追加しました。PR #10909 by @pablocm83。
内部¶
- 👥 FastAPI People を更新しました。PR #10871 by @tiangolo。
- 👷 カスタム GitHub Action comment-docs-preview-in-pr をアップグレードしました。PR #10916 by @tiangolo。
- ⬆️ GitHub Action latest-changes をアップグレードしました。PR #10915 by @tiangolo。
- 👷 GitHub Action label-approved をアップグレードしました。PR #10913 by @tiangolo。
- ⬆️ GitHub Action label-approved をアップグレードしました。PR #10905 by @tiangolo。
0.108.0¶
アップグレード¶
- ⬆️ Starlette を
>=0.29.0,<0.33.0
にアップグレードし、新しい Starlette 引数を使用してドキュメントとテンプレートの使用法を更新しました。AnyIO の固定を削除しました>=3.7.1,<4.0.0
, AnyIO 4.x.x のサポートを追加しました。PR #10846 by @tiangolo。
0.107.0¶
アップグレード¶
ドキュメント¶
- 📝 ドキュメントを追加しました:生成されたクライアントの OpenAPI を更新するための Node.js スクリプトの代替。PR #10845 by @alejsdev。
- 📝 貢献ページでドキュメントセクションを再構成しました。PR #10844 by @alejsdev。
0.106.0¶
破壊的な変更¶
バックグラウンドタスクでの yield
を使用した依存関係からのリソースの使用は、サポートされなくなりました。
この変更は、以下の新しい機能をサポートするものです。🤓
yield
、HTTPException
、およびバックグラウンドタスクを使用した依存関係¶
yield
を使用した依存関係は、yield
の後に HTTPException
およびその他の例外を発生させることができるようになりました。🎉
新しいドキュメントはこちらをご覧ください:yield
と HTTPException
を使用した依存関係。
from fastapi import Depends, FastAPI, HTTPException
from typing_extensions import Annotated
app = FastAPI()
data = {
"plumbus": {"description": "Freshly pickled plumbus", "owner": "Morty"},
"portal-gun": {"description": "Gun to create portals", "owner": "Rick"},
}
class OwnerError(Exception):
pass
def get_username():
try:
yield "Rick"
except OwnerError as e:
raise HTTPException(status_code=400, detail=f"Owner error: {e}")
@app.get("/items/{item_id}")
def get_item(item_id: str, username: Annotated[str, Depends(get_username)]):
if item_id not in data:
raise HTTPException(status_code=404, detail="Item not found")
item = data[item_id]
if item["owner"] != username:
raise OwnerError(username)
return item
FastAPI 0.106.0 より前は、yield
の後に例外を発生させることはできませんでした。yield
を使用した依存関係の終了コードは、応答が送信された後に実行されていたため、例外ハンドラはすでに実行されています。
これは主に、バックグラウンドタスク内で依存関係によって「yield」された同じオブジェクトを使用できるようにするために、このように設計されました。なぜなら、終了コードはバックグラウンドタスクが完了した後に実行されるからです。
それにもかかわらず、これにより、応答がネットワークを通過するのを待機しながら、yieldを使用した依存関係でリソース(たとえば、データベース接続)を不必要に保持することになるため、これはFastAPI 0.106.0で変更されました。
さらに、バックグラウンドタスクは通常、独立したロジックのセットであり、独自のリソース(独自のデータベース接続など)を使用して個別に処理する必要があります。
この動作に依存していた場合は、バックグラウンドタスク自体の中にバックグラウンドタスクのリソースを作成し、yield
を使用した依存関係のリソースに依存しないデータのみを内部で使用する必要があります。
たとえば、同じデータベースセッションを使用する代わりに、バックグラウンドタスク内で新しいデータベースセッションを作成し、この新しいセッションを使用してデータベースからオブジェクトを取得します。そして、データベースからのオブジェクトをバックグラウンドタスク関数のパラメーターとして渡す代わりに、そのオブジェクトの ID を渡して、バックグラウンドタスク関数内でオブジェクトを再度取得します。
FastAPI 0.106.0 より前の実行シーケンスは、この図のようでした。
時間は上から下に流れます。そして、各列は、コードを対話または実行する部分の1つです。
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。
内部¶
0.105.0¶
機能¶
リファクタリング¶
ドキュメント¶
内部¶
- 🔧 スポンサーを更新し、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。
- 📝 リリースノートを更新し、latest-changesを移動してチェックします。PR #10588 by @tiangolo。
- 👷 latest-changes GitHub Actionをアップグレードします。PR #10587 by @tiangolo。
0.104.1¶
修正¶
- 📌 Swagger UIのバージョンを5.9.0に一時的に固定し、5.9.1でクラッシュするバグに対処します。PR #10529 by @alejandraklachquin。
- これは実際にはFastAPIのバグではなく、Swagger UIのバグですが、バージョンを固定することで、Swagger UI側で解決策が見つかるまで対応できます。
ドキュメント¶
- 📝 外部リンクのデータ構造とレンダリングを更新しました。PR #10495 by @tiangolo。
- ✏️
docs/en/docs/tutorial/metadata.md
のSPDXライセンス識別子へのリンクを修正しました。PR #10433 by @worldworm。 - 📝
docs/en/docs/tutorial/path-params.md
で、Pydantic v1からPydantic v2に一致するように、例のバリデーションエラーを更新しました。PR #10043 by @giuliowaitforitdavide。 - ✏️ 絵文字ドキュメントといくつかのソース例のタイプミスを修正しました。PR #10438 by @afuetterer。
- ✏️
docs/en/docs/reference/dependencies.md
のタイプミスを修正しました。PR #10465 by @suravshresth。 - ✏️
docs/en/docs/tutorial/body-nested-models.md
のタイプミスと表現の修正を行いました。PR #10468 by @yogabonito。 - 📝
docs/en/docs/tutorial/query-params-str-validations.md
で、削除されたpydantic.Required
への参照を削除し、ドキュメントを更新しました。PR #10469 by @yogabonito。 - ✏️
docs/en/docs/reference/index.md
のタイプミスを修正しました。PR #10467 by @tarsil。 - 🔥 不要な重複したドキュメント文字列を削除しました。PR #10484 by @tiangolo。
内部¶
- ✏️ dotenvサポートへのPydanticリンクを更新しました。PR #10511 by @White-Mask。
- ✏️
docs/en/docs/async.md
とdocs/zh/docs/async.md
のリンクを相対リンクに変更しました。PR #10498 by @hasnatsajid。 - ✏️
docs/em/docs/async.md
のリンクを修正しました。PR #10507 by @hasnatsajid。 - ✏️
docs/em/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リファレンス - コードAPIで確認できます。
アップグレード¶
内部¶
- ⬆ dawidd6/action-download-artifactを2.27.0から2.28.0に更新しました。PR #10268 by @dependabot[bot]。
- ⬆ actions/checkoutを3から4に更新しました。PR #10208 by @dependabot[bot]。
- ⬆ pypa/gh-action-pypi-publishを1.8.6から1.8.10に更新しました。PR #10061 by @dependabot[bot]。
- 🔧 スポンサーを更新し、Bump.shの画像を更新しました。PR #10381 by @tiangolo。
- 👥 FastAPIの人々を更新しました。PR #10363 by @tiangolo。
0.103.2¶
リファクタリング¶
- ⬆️ Pydantic v2.4との互換性をアップグレードしました。新しい名前変更された関数とデフォルト値を持つJSON Schemaの入力/出力モデルが含まれます。PR #10344 by @tiangolo。
翻訳¶
- 🌐
docs/uk/docs/tutorial/extra-data-types.md
のウクライナ語訳を追加しました。PR #10132 by @ArtemKhymenko。 - 🌐
docs/fr/docs/advanced/path-operation-advanced-configuration.md
,docs/fr/docs/alternatives.md
,docs/fr/docs/async.md
,docs/fr/docs/features.md
,docs/fr/docs/help-fastapi.md
,docs/fr/docs/index.md
,docs/fr/docs/python-types.md
,docs/fr/docs/tutorial/body.md
,docs/fr/docs/tutorial/first-steps.md
,docs/fr/docs/tutorial/query-params.md
のフランス語翻訳のタイプミスを修正しました。PR #10154 by @s-rigaud。 - 🌐
docs/zh/docs/async.md
の中国語訳を追加しました。PR #5591 by @mkdir700。 - 🌐
docs/tutorial/security/simple-oauth2.md
の中国語訳を更新しました。PR #3844 by @jaystone776。 - 🌐
docs/ko/docs/deployment/cloud.md
の韓国語訳を追加しました。PR #10191 by @Sion99。 - 🌐
docs/ja/docs/deployment/https.md
の日本語訳を追加しました。PR #10298 by @tamtam-fitness。 - 🌐
docs/ru/docs/tutorial/body-fields.md
のロシア語訳のタイプミスを修正しました。PR #10224 by @AlertRED。 - 🌐
docs/pl/docs/help-fastapi.md
のポーランド語訳を追加しました。PR #10121 by @romabozhanovgithub。 - 🌐
docs/ru/docs/tutorial/header-params.md
のロシア語訳を追加しました。PR #10226 by @AlertRED。 - 🌐
docs/zh/docs/deployment/versions.md
の中国語訳を追加しました。PR #10276 by @xzmeng。
内部¶
- 🔧 スポンサーを更新し、Flintを削除しました。PR #10349 by @tiangolo。
- 🔧 検索クエリを簡素化するために、「awaiting review」ラベルを「awaiting-review」に名前変更しました。PR #10343 by @tiangolo。
- 🔧 スポンサーを更新し、Svixを有効にしました(#10228をリバート)。PR #10253 by @tiangolo。
- 🔧 スポンサーを更新し、Svixを削除しました。PR #10228 by @tiangolo。
- 🔧 スポンサーを更新し、Bump.shを追加しました。PR #10227 by @tiangolo。
0.103.1¶
修正¶
ドキュメント¶
- ✏️ ドキュメントのバリデーションパラメータ名を、
regex
からpattern
に修正しました。PR #10085 by @pablodorrio。 - ✏️
docs/en/docs/deployment/server-workers.md
のインデント形式を修正しました。PR #10066 by @tamtam-fitness。 - ✏️ Python型のチュートリアルのPydanticの例を修正しました。PR #9961 by @rahulsalgare。
- ✏️
docs/en/docs/tutorial/extra-data-types.md
のPydanticドキュメントへのリンクを修正しました。PR #10155 by @hasnatsajid。 - ✏️
docs/en/docs/tutorial/handling-errors.md
のタイプミスを修正しました。PR #10170 by @poupapaa。 - ✏️
docs/en/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
のタイプミスを修正しました。PR #10172 by @ragul-kachiappan。
翻訳¶
- 🌐
docs/pt/docs/tutorial/path-params.md
の翻訳で重複した行を削除しました。PR #10126 by @LecoOliveira。 - 🌐
docs/yo/docs/index.md
にヨルバ語の翻訳を追加しました。PR #10033 by @AfolabiOlaoluwa。 - 🌐
docs/uk/docs/python-types.md
にウクライナ語の翻訳を追加しました。PR #10080 by @rostik1410。 - 🌐
docs/vi/docs/tutorial/first-steps.md
とdocs/vi/docs/tutorial/index.md
にベトナム語の翻訳を追加しました。PR #10088 by @magiskboy。 - 🌐
docs/uk/docs/alternatives.md
にウクライナ語の翻訳を追加しました。PR #10060 by @whysage。 - 🌐
docs/uk/docs/tutorial/index.md
にウクライナ語の翻訳を追加しました。PR #10079 by @rostik1410。 - ✏️
docs/en/docs/how-to/separate-openapi-schemas.md
とdocs/en/docs/tutorial/schema-extra-example.md
のタイプミスを修正しました。PR #10189 by @xzmeng。 - 🌐
docs/zh/docs/advanced/generate-clients.md
に中国語の翻訳を追加しました。PR #9883 by @funny-cat-happy。
リファクタリング¶
- ✏️
fastapi/applications.py
のコメントのタイプミスを修正しました。PR #10045 by @AhsanSheraz。 - ✅ OpenAPIの例に対する不足していたテストを追加しました。カバレッジで不足していました。PR #10188 by @tiangolo。
内部¶
0.103.0¶
機能¶
- ✨ すべてのFastAPIパラメータで
openapi_examples
のサポートを追加しました。PR #10152 by @tiangolo。- 新しいドキュメント: OpenAPI固有の例。
ドキュメント¶
0.102.0¶
機能¶
- ✨ Pydantic v2で
separate_input_output_schemas=False
を使用して、OpenAPIでの入出力JSONスキーマの分離を無効にするサポートを追加しました。PR #10145 by @tiangolo。- 新しいドキュメント: 入力と出力のための OpenAPI スキーマの分離。
- このPRには、ドキュメントのスクリーンショットを生成するための新しいセットアップ(内部ツール)も含まれています。
リファクタリング¶
ドキュメント¶
- 📝 新しいドキュメントセクション「How To - Recipes」を追加し、全員が読む必要のないドキュメントを「How To」に移動しました。PR #10114 by @tiangolo。
- 📝 高度なドキュメントを更新し、スポンサーコースへのリンクを追加しました。PR #10113 by @tiangolo。
- 📝 クライアント生成に関するドキュメントを更新しました。PR #10112 by @tiangolo。
- 📝 MkDocsを調整し、リダイレクトを追加しました。PR #10111 by @tiangolo。
- 📝 クラウドプロバイダーのドキュメントを再構築し、スポンサーへのリンクを含めました。PR #10110 by @tiangolo。
内部¶
0.101.1¶
修正¶
リファクタリング¶
- ✏️
fastapi/params.py
の非推奨警告のタイプミスを修正しました。PR #9854 by @russbiggs。 - ✏️
fastapi/concurrency.py
およびfastapi/routing.py
の内部コードのコメントのタイプミスを修正しました。PR #9590 by @ElliottLarsen。
ドキュメント¶
- ✏️ リリースノートのタイプミスを修正しました。PR #9835 by @francisbergin。
- 📝 外部記事を追加しました:FaunaDBとFastAPIでSMSスパム分類器サーバーレスデータベースを構築する。PR #9847 by @adejumoridwan。
- 📝
docs/en/docs/contributing.md
のタイプミスを修正しました。PR #9878 by @VicenteMerino。 - 📝
docs/en/docs/tutorial/bigger-applications.md
のコードのハイライトを修正しました。PR #9806 by @theonlykingpin。
翻訳¶
- 🌐
docs/ja/docs/deployment/concepts.md
に日本語の翻訳を追加しました。PR #10062 by @tamtam-fitness。 - 🌐
docs/ja/docs/deployment/server-workers.md
に日本語の翻訳を追加しました。PR #10064 by @tamtam-fitness。 - 🌐
docs/ja/docs/deployment/docker.md
の日本語翻訳を更新しました。PR #10073 by @tamtam-fitness。 - 🌐
docs/uk/docs/fastapi-people.md
にウクライナ語の翻訳を追加しました。PR #10059 by @rostik1410。 - 🌐
docs/uk/docs/tutorial/cookie-params.md
にウクライナ語の翻訳を追加しました。PR #10032 by @rostik1410。 - 🌐
docs/ru/docs/deployment/docker.md
にロシア語の翻訳を追加しました。PR #9971 by @Xewus。 - 🌐
docs/vi/docs/python-types.md
にベトナム語の翻訳を追加しました。PR #10047 by @magiskboy。 - 🌐
docs/ru/docs/tutorial/dependencies/global-dependencies.md
にロシア語の翻訳を追加しました。PR #9970 by @dudyaosuplayer。 - 🌐
docs/ur/docs/benchmarks.md
にウルドゥー語の翻訳を追加しました。PR #9974 by @AhsanSheraz。
内部¶
- 🔧 スポンサーのPorterを追加しました。PR #10051 by @tiangolo。
- 🔧 スポンサーを更新し、Jinaをブロンズスポンサーとして復帰させました。PR #10050 by @tiangolo。
- ⬆ mypyを1.4.0から1.4.1に上げました。PR #9756 by @dependabot[bot]。
- ⬆ mkdocs-materialを9.1.17から9.1.21に上げました。PR #9960 by @dependabot[bot]。
0.101.0¶
機能¶
- ✨ Pydanticのシリアル化モードをレスポンスに有効化し、Pydanticの
computed_field
のサポート、レスポンスモデルのより良いOpenAPI、適切な必須属性、より良い生成クライアントを追加しました。PR #10011 by @tiangolo。
リファクタリング¶
- ✅ pydantic 2.1.1との互換性のためにテストを修正しました。PR #9943 by @dmontagu。
- ✅
jsonable_encoder
のWindowsでのテストエラーを修正しました。PR #9840 by @iudeen。
アップグレード¶
翻訳¶
- 🌐
docs/ru/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の貢献者を更新しました。PR #9999 by @tiangolo。
- 🐳 後でアップグレードするために、互換性のあるバージョンでDockerfileを更新しました。PR #9998 by @tiangolo。
- ➕ FastAPI Peopleの依存関係にpydantic-settingsを追加しました。PR #9988 by @tiangolo。
- ♻️ 新しいPydanticでFastAPI Peopleのロジックを更新しました。PR #9985 by @tiangolo。
- 🍱 スポンサーのFernバッジを更新しました。PR #9982 by @tiangolo。
- 👷 ドキュメントをCloudflare Pagesにデプロイします。PR #9978 by @tiangolo。
- 🔧 スポンサーのFernを更新しました。PR #9979 by @tiangolo。
- 👷 TmateでCIデバッグモードを更新しました。PR #9977 by @tiangolo。
0.100.1¶
修正¶
ドキュメント¶
翻訳¶
- 🌐
docs/uk/docs/tutorial/body.md
にウクライナ語の翻訳を追加しました。PR #4574 by @ss-o-furda。 - 🌐
docs/vi/docs/features.md
とdocs/vi/docs/index.md
にベトナム語の翻訳を追加しました。PR #3006 by @magiskboy。 - 🌐
docs/ko/docs/async.md
に韓国語の翻訳を追加しました。PR #4179 by @NinaHwang。 - 🌐
docs/zh/docs/tutorial/background-tasks.md
に中国語の翻訳を追加しました。PR #9812 by @wdh99。 - 🌐
docs/fr/docs/tutorial/query-params-str-validations.md
にフランス語の翻訳を追加しました。PR #4075 by @Smlep。 - 🌐
docs/fr/docs/tutorial/index.md
にフランス語の翻訳を追加しました。PR #2234 by @JulianMaurin。 - 🌐
docs/fr/docs/contributing.md
にフランス語の翻訳を追加しました。PR #2132 by @JulianMaurin。 - 🌐
docs/fr/docs/benchmarks.md
にフランス語の翻訳を追加しました。PR #2155 by @clemsau。 - 🌐 中国語の翻訳を新しいソースファイルで更新しました。PR #9738 by @mahone3297。
- 🌐
docs/ru/docs/tutorial/request-forms.md
にロシア語の翻訳を追加しました。PR #9841 by @dedkot01。 - 🌐
docs/zh/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
- 設定管理用。pydantic-extra-types
- Pydanticで使用する追加の型。
-
現在、Pydantic Settingsは追加のオプションパッケージ(
"fastapi[all]"
に含まれています)です。設定を使用するには、pydantic
から直接インポートするのではなく、from pydantic_settings import BaseSettings
をインポートする必要があります。- 設定と環境変数のドキュメントで詳細を確認できます。
-
PR #9816 by @tiangoloには、ベータブランチ(
main-pv2
)で実行された(複数のPRの)すべての作業が含まれています。
0.99.1¶
修正¶
ドキュメント¶
0.99.0¶
機能¶
-
✨ OpenAPI 3.1.0のサポートを追加しました。PR #9770 by @tiangolo。
- Webhookのドキュメント作成の新しいサポートについて、こちらで新しいドキュメントをお読みください:高度なユーザーガイド:OpenAPI Webhooks。
- OpenAPI 3.1.0にアップグレードしました。これはJSON Schema 2020-12を使用します。
- Swagger UIをOpenAPI 3.1.0をサポートするバージョン5.x.xにアップグレードしました。
- 最新のJSONスキーマとOpenAPIに基づいて、
Query()
、Cookie()
、Body()
などのexamples
フィールドを更新しました。現在、例のリストを受け取り、JSONスキーマの外部ではなく、直接JSONスキーマに含まれます。詳細(および歴史的な技術的詳細)については、更新されたドキュメントを参照してください:チュートリアル:リクエストの例のデータを宣言する。
-
✨
jsonable_encoder
でdeque
オブジェクトとその子をサポートしました。PR #9433 by @cranium。
ドキュメント¶
翻訳¶
- 🌐
docs/fa/docs/advanced/sub-applications.md
にペルシア語の翻訳を追加しました。PR #9692 by @mojtabapaso。 - 🌐
docs/ru/docs/tutorial/response-model.md
にロシア語の翻訳を追加しました。PR #9675 by @glsglsgls。
内部¶
- 🔨 ローカルのライブ開発中にMkDocs Materialで行番号を有効にして、コードの強調表示を簡略化しました。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 autoupdate。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。
- 👷 ドキュメントCIをリファクタリングし、速度を最適化するために動的マトリックスを使用して複数のワーカーで実行します。PR #9732 by @tiangolo。
- 🔥 不要になった古い内部GitHub Actions watch-previewsを削除しました。PR #9730 by @tiangolo。
- ⬆️ MkDocsとMkDocs Materialをアップグレードしました。PR #9729 by @tiangolo。
- 👷 ドキュメントの変更があった場合にのみ、ドキュメントをビルドおよびデプロイします。PR #9728 by @tiangolo。
0.98.0¶
機能¶
ドキュメント¶
- 📝 内部でujsonを使用するPydanticに関するドキュメントを更新しました。PR #5804 by @mvasilkov。
- ✏
docs/en/docs/tutorial/debugging.md
の表現を修正しました。PR #9581 by @ivan-abc。 - 📝 ドイツ語のブログ記事(Domain-driven Design mit Python und FastAPI)を追加しました。PR #9261 by @msander。
- ✏️
docs/en/docs/tutorial/security/index.md
の表現を調整しました。PR #9561 by @jyothish-mohan。 - 📝
docs/en/docs/tutorial/schema-extra-example.md
のAnnotated
に関する注釈を更新しました。PR #9620 by @Alexandrhub。 - ✏️
docs/en/docs/tutorial/query-params-str-validations.md
のタイプミスAnnotation
->Annotated
を修正しました。PR #9625 by @mccricardo。 - 📝 ドキュメントでSQLをテストするためにインメモリデータベースを使用します。PR #1223 by @HarshaLaxman。
翻訳¶
- 🌐
docs/ru/docs/tutorial/metadata.md
のロシア語翻訳を追加しました。PR #9681 by @TabarakoAkula。 - 🌐
docs/es/docs/tutorial/first-steps.md
のスペイン語翻訳のタイプミスを修正しました。PR #9571 by @lilidl-nft。 - 🌐
docs/tutorial/path-operation-configuration.md
のロシア語翻訳を追加しました。PR #9696 by @TabarakoAkula。 - 🌐
docs/zh/docs/advanced/security/index.md
の中国語翻訳を追加しました。PR #9666 by @lordqyxz。 - 🌐
docs/zh/docs/advanced/settings.md
の中国語翻訳を追加しました。PR #9652 by @ChoyeonChern。 - 🌐
docs/zh/docs/advanced/websockets.md
の中国語翻訳を追加しました。PR #9651 by @ChoyeonChern。 - 🌐
docs/zh/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/pl/docs/features.md
のポーランド語翻訳を追加しました。PR #5348 by @mbroton。 - 🌐
docs/ru/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を一度だけ、Pythonの1つのバージョンのみで実行し、すべてのバージョンでテストを実行するようにしました。PR #9686 by @tiangolo。
0.97.0¶
機能¶
- ✨ WebSocketルートで
dependencies
のサポートを追加しました。PR #4534 by @paulo-raca。 - ✨
WebSocketRequestValidationError
の例外ハンドラーを追加しました(これによりオーバーライドも可能になります)。PR #6030 by @kristjanvalur。
リファクタリング¶
- ⬆️ Ruffにアップグレードして完全に移行し、isortを削除し、新しいバージョンのRuffで提案されたいくつかの調整を含めました。PR #9660 by @tiangolo。
- ♻️ 内部の型アノテーションを更新し、mypyをアップグレードしました。PR #9658 by @tiangolo。
- ♻️ Python 3.6がなければ
AsyncExitStack
は常に利用可能であるため、AsyncExitStackMiddleware
を簡素化しました。PR #9657 by @tiangolo。
アップグレード¶
内部¶
- 💚 依存関係が変更されたときにインストールを修正するために、CIキャッシュを更新しました。PR #9659 by @tiangolo。
- ⬇️ 開発用の要件を独自のrequirements.txtファイルに分割しました。それらはextrasであってはなりません。PR #9655 by @tiangolo。
0.96.1¶
修正¶
- 🐛
HTTPException
ヘッダーの型アノテーションを修正しました。PR #9648 by @tiangolo。 - 🐛 OpenAPIモデルフィールドのint検証で、
gte
をge
に修正しました。PR #9635 by @tiangolo。
アップグレード¶
- 📌 Pydanticの最小バージョンを>=1.7.4に更新しました。これにより、古いバージョンのPydanticを使用しようとしたときに発生する問題を修正します。PR #9567 by @Kludex。
リファクタリング¶
- ♻ 親クラスから継承されるため、
ORJSONResponse
からmedia_type
を削除しました。PR #5805 by @Kludex。 - ♻ 必要な場合にのみ
HTTPException
をインスタンス化しました。最適化のリファクタリングです。PR #5356 by @pawamoy。
ドキュメント¶
翻訳¶
- 🌐
docs/id/docs/tutorial/index.md
のインドネシア語翻訳のスペルを修正しました。PR #5635 by @purwowd。 - 🌐
docs/ru/docs/tutorial/index.md
のロシア語翻訳を追加しました。PR #5896 by @Wilidon。 - 🌐
docs/zh/docs/advanced/response-change-status-code.md
とdocs/zh/docs/advanced/response-headers.md
の中国語翻訳を追加しました。PR #9544 by @ChoyeonChern。 - 🌐
docs/ru/docs/tutorial/schema-extra-example.md
のロシア語翻訳を追加しました。PR #9621 by @Alexandrhub。
内部¶
- 🔧 スポンサーPlatform.shを追加しました。PR #9650 by @tiangolo。
- 👷 APIレート制限を防ぐために、ダウンロードアーティファクト用のSmokeshowとプレビュードキュメントにカスタムトークンを追加しました。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/ru/docs/tutorial/static-files.md
のロシア語翻訳を追加します。PR #9580 by @Alexandrhub。 - 🌐
docs/ru/docs/tutorial/query-params.md
のロシア語翻訳を追加します。PR #9584 by @Alexandrhub。 - 🌐
docs/ru/docs/tutorial/first-steps.md
のロシア語翻訳を追加します。PR #9471 by @AGolicyn。 - 🌐
docs/ru/docs/tutorial/debugging.md
のロシア語翻訳を追加します。PR #9579 by @Alexandrhub。 - 🌐
docs/ru/docs/tutorial/path-params.md
のロシア語翻訳を追加します。PR #9519 by @AGolicyn。 - 🌐
docs/zh/docs/tutorial/static-files.md
の中国語翻訳を追加します。PR #9436 by @wdh99。 - 🌐
docs/es/docs/async.md
に新しいイラストを含むスペイン語翻訳を更新します。PR #9483 by @andresbermeoq。 - 🌐
docs/ru/docs/tutorial/path-params-numeric-validations.md
のロシア語翻訳を追加します。PR #9563 by @ivan-abc。 - 🌐
docs/ru/docs/deployment/concepts.md
のロシア語翻訳を追加します。PR #9577 by @Xewus。 - 🌐
docs/ru/docs/tutorial/body-multiple-params.md
のロシア語翻訳を追加します。PR #9586 by @Alexandrhub。
内部¶
- 👥 FastAPIのメンバーを更新します。PR #9602 by @github-actions[bot]。
- 🔧 スポンサーを更新し、InvestSuiteを削除します。PR #9612 by @tiangolo。
0.95.2¶
- ⬆️ セキュリティリリースのため、Starletteのバージョンを
>=0.27.0
にアップグレードします。PR #9541 by @tiangolo。詳細はStarletteのセキュリティアドバイザリを参照してください。
翻訳¶
- 🌐
docs/pt/docs/advanced/events.md
のポルトガル語翻訳を追加します。PR #9326 by @oandersonmagalhaes。 - 🌐
docs/ru/docs/deployment/manually.md
のロシア語翻訳を追加します。PR #9417 by @Xewus。 - 🌐 ラオ語への翻訳設定を追加します。PR #9396 by @TheBrown。
- 🌐
docs/ru/docs/tutorial/testing.md
のロシア語翻訳を追加します。PR #9403 by @Xewus。 - 🌐
docs/ru/docs/deployment/https.md
のロシア語翻訳を追加します。PR #9428 by @Xewus。 - ✏ Windowsで要件をインストールするコマンドを修正します。PR #9445 by @MariiaRomanuik。
- 🌐
docs/fr/docs/advanced/response-directly.md
のフランス語翻訳を追加します。PR #9415 by @axel584。 - 🌐 チェコ語翻訳の設定を開始します。PR #9288 by @3p1463k。
- ✏
docs/pt/docs/index.md
のポルトガル語ドキュメントのタイプミスを修正します。PR #9337 by @lucasbalieiro。 - 🌐
docs/ru/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。
- 📝
Annotated
をサポートしていない古いバージョンのFastAPIに関する警告メッセージを追加します。PR #9298 by @grdworkin。 - 📝
docs/en/docs/advanced/behind-a-proxy.md
のタイプミスを修正します。PR #5681 by @Leommjr。 - ✏
docs/fa/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/fr/docs/advanced/index.md
のフランス語翻訳を追加します。PR #5673 by @axel584。 - 🌐
docs/pt/docs/tutorial/body-nested-models.md
のポルトガル語翻訳を追加します。PR #4053 by @luccasmmg。 - 🌐
docs/ru/docs/alternatives.md
のロシア語翻訳を追加します。PR #5994 by @Xewus。 - 🌐
docs/pt/docs/tutorial/extra-models.md
のポルトガル語翻訳を追加します。PR #5912 by @LorhanSohaky。 - 🌐
docs/pt/docs/tutorial/path-operation-configuration.md
のポルトガル語翻訳を追加します。PR #5936 by @LorhanSohaky。 - 🌐
docs/ru/docs/contributing.md
のロシア語翻訳を追加します。PR #6002 by @stigsanek。 - 🌐
docs/tutorial/dependencies/classes-as-dependencies.md
の韓国語翻訳を追加します。PR #9176 by @sehwan505。 - 🌐
docs/ru/docs/project-generation.md
のロシア語翻訳を追加します。PR #9243 by @Xewus。 - 🌐
docs/fr/docs/index.md
のフランス語翻訳を追加します。PR #9265 by @frabc。 - 🌐
docs/ru/docs/tutorial/query-params-str-validations.md
のロシア語翻訳を追加します。PR #9267 by @dedkot01。 - 🌐
docs/ru/docs/benchmarks.md
のロシア語翻訳を追加します。PR #9271 by @Xewus。
内部¶
- 🔧 スポンサーを更新し、Jinaを削除します。PR #9388 by @tiangolo。
- 🔧 スポンサーを更新し、databentoを追加し、InesのコースとStriveWorksを削除します。PR #9351 by @tiangolo。
0.95.0¶
ハイライト¶
このリリースでは、Annotated
を使用した依存関係とパラメーターのサポートが追加され、その使用が推奨されています。✨
これにはいくつかの利点があり、主なものの1つは、Annotated
を使用した関数のパラメーターがまったく影響を受けないことです。
コードの他の場所でそれらの関数を呼び出す場合、実際のデフォルト値が保持され、エディターは不足している必須引数に気づくのに役立ち、Pythonは実行時に必須引数を渡すことを要求し、異なる目的や異なるライブラリ(例:TyperもまもなくAnnotated
をサポートするため、APIとCLIに同じ関数を使用できるようになります)などで同じ関数を使用できるようになります。
Annotated
は標準Pythonであるため、オートコンプリート、インラインエラーなど、エディターやツールからのすべての利点を引き続き得ることができます。
最大の利点の1つは、複数のパス操作関数で共有されるAnnotated
依存関係を作成できるようになったことです。これにより、エディターとツールからのすべてのサポートを維持しながら、コードベース内のコードの重複を大幅に削減できます。
たとえば、次のようなコードを使用できます。
def get_current_user(token: str):
# authenticate user
return User()
@app.get("/items/")
def read_items(user: User = Depends(get_current_user)):
...
@app.post("/items/")
def create_item(*, user: User = Depends(get_current_user), item: Item):
...
@app.get("/items/{item_id}")
def read_item(*, user: User = Depends(get_current_user), item_id: int):
...
@app.delete("/items/{item_id}")
def delete_item(*, user: User = Depends(get_current_user), item_id: int):
...
依存関係には少しコードの重複があります。
user: User = Depends(get_current_user)
...コードベースが大きくなると、より顕著になります。
これで、以下のようにアノテーション付きの依存関係を一度作成できます。
CurrentUser = Annotated[User, Depends(get_current_user)]
そして、このAnnotated
依存関係を再利用できます。
CurrentUser = Annotated[User, Depends(get_current_user)]
@app.get("/items/")
def read_items(user: CurrentUser):
...
@app.post("/items/")
def create_item(user: CurrentUser, item: Item):
...
@app.get("/items/{item_id}")
def read_item(user: CurrentUser, item_id: int):
...
@app.delete("/items/{item_id}")
def delete_item(user: CurrentUser, item_id: int):
...
...また、CurrentUser
はUser
と同じすべての型情報を持つため、エディターは期待どおりに動作し(オートコンプリートなど)、FastAPIはAnnotated
で定義された依存関係を理解できます。😎
大まかに言うと、すべてのドキュメントは、パラメーターと依存関係を宣言する主な方法としてAnnotated
を使用するように書き直されました。ドキュメント内のすべての例には、特定のPythonバージョンごとに(より新しいバージョンでわずかな違い/改善がある場合)、Annotated
を使用したバージョンと、それを使用しないバージョンが含まれるようになりました。ドキュメント、例、テストの間で、約23,000行の新しい行が追加されました。🚀
主な更新されたドキュメントは以下のとおりです。
- Pythonの型入門
- チュートリアル
コア実装をしてくれた@nzig、そして@adriangbのXpressoでのインスピレーションとアイデアに特別な感謝を捧げます!🚀
機能¶
ドキュメント¶
- 📝ドキュメントで
Annotated
を推奨するヒントを調整。PR #9270 by @tiangolo。 - 📝例の順序を更新し、最新のPythonバージョンを最初に表示し、バージョンのタブ名を簡略化。PR #9269 by @tiangolo。
- 📝すべてのドキュメントを更新し、
Annotated
を主な推奨事項として使用し、新しい例とテストを追加。PR #9268 by @tiangolo。
0.94.1¶
修正¶
0.94.0¶
アップグレード¶
- ⬆ python-multipartを0.0.6をサポートするようにアップグレード。PR #9212 by @musicinmybrain。
- ⬆️Starletteバージョンをアップグレードし、状態を持つ新しい
lifespan
をサポート。PR #9239 by @tiangolo。
ドキュメント¶
翻訳¶
内部¶
- ➕
pydantic
をPyPI classifiersに追加。PR #5914 by @yezz123。 - ⬆ blackを22.10.0から23.1.0にバンプ。PR #5953 by @dependabot[bot]。
- ⬆ types-ujsonを5.6.0.0から5.7.0.1にバンプ。PR #6027 by @dependabot[bot]。
- ⬆ dawidd6/action-download-artifactを2.24.3から2.26.0にバンプ。PR #6034 by @dependabot[bot]。
- ⬆ [pre-commit.ci] pre-commit自動更新。PR #5709 by @pre-commit-ci[bot]。
0.93.0¶
機能¶
独立したstartup
とshutdown
イベントを使用する代わりに、@asynccontextmanager
で装飾されたyield
を持つ単一の関数(非同期コンテキストマネージャー)でそのロジックを定義できます。
例:
from contextlib import asynccontextmanager
from fastapi import FastAPI
def fake_answer_to_everything_ml_model(x: float):
return x * 42
ml_models = {}
@asynccontextmanager
async def lifespan(app: FastAPI):
# Load the ML model
ml_models["answer_to_everything"] = fake_answer_to_everything_ml_model
yield
# Clean up the ML models and release the resources
ml_models.clear()
app = FastAPI(lifespan=lifespan)
@app.get("/predict")
async def predict(x: float):
result = ml_models["answer_to_everything"](x)
return {"result": result}
注意:これは、startup
およびshutdown
イベントを使用する代わりに、今後推奨される方法です。
詳細については、新しいドキュメント「上級ユーザーガイド:ライフスパンイベント」を参照してください。
ドキュメント¶
翻訳¶
- 🌐タミル語翻訳 - 初期設定。PR #5564 by @gusty1g。
- 🌐
docs/fr/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。
- 👷翻訳ボットを更新して議論を使用し、PRが完了したときに通知。PR #9183 by @tiangolo。
- 🔧スポンサーバッジを更新。PR #9182 by @tiangolo。
- 👥FastAPIの人々を更新。PR #9181 by @github-actions[bot]。
- 🔊GraphQLエラーをFastAPI Peopleにログ記録。200を返し、エラーを含むペイロードがあるため。PR #9171 by @tiangolo。
- 💚FastAPI Peopleのgitを使用したDockerでのGitHub Actionsの修正/回避策。PR #9169 by @tiangolo。
- ♻️質問が移行されたため、FastAPIエキスパートをリファクタリングして、ディスカッションのみを使用するようにします。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回だけ作成され、1つのインスタンスのみを持つことを期待している場合、いくつかのケースで発生しました。このアップグレードはそれらのケースを解決します(@adriangbに感謝します!Starlette PR #2017)。ミドルウェアクラスのインスタンスは、最初の要求の直前(アプリが最初に呼び出されたとき)に1回作成されるようになりました。 - 以前の動作に依存していた場合は、コードを更新する必要があるかもしれません。いつものように、アップグレードをマージする前にテストに合格していることを確認してください。
- これにより、ミドルウェアを使用する際の微妙なエラーを解決できます。Starlette
0.90.1¶
アップグレード¶
ドキュメント¶
- ✏
docs/en/docs/project-generation.md
を明確にするために文言を調整。PR #5930 by @chandra-deb。 - ✏PydanticのGitHub URLを更新。PR #5952 by @yezz123。
- 📝Ciscoからの意見を追加。PR #5981 by @tiangolo。
翻訳¶
内部¶
- ✏
zip-docs.sh
内部スクリプトを更新し、余分なスペースを削除。PR #5931 by @JuanPerdomo00。
0.90.0¶
アップグレード¶
ドキュメント¶
- 📝外部リンクに記事「Tortoise ORM / FastAPI 整合快速筆記」を追加。PR #5496 by @Leon0824。
- 👥FastAPIの人々を更新。PR #5954 by @github-actions[bot]。
- 📝ヘルプドキュメントを微調整。PR #5960 by @tiangolo。
- 🔧新しい課題の選択肢を更新して、GitHubディスカッションに誘導。PR #5948 by @tiangolo。
- 📝質問についてはGitHubディスカッションを推奨。PR #5944 by @tiangolo。
翻訳¶
- 🌐
docs/ru/docs/tutorial/body-fields.md
のロシア語翻訳を追加。PR #5898 by @simatheone。 - 🌐
docs/ru/docs/help-fastapi.md
のロシア語翻訳を追加。PR #5970 by @tiangolo。 - 🌐
docs/pt/docs/tutorial/static-files.md
のポルトガル語翻訳を追加。PR #5858 by @batlopes。 - 🌐
docs/pt/docs/tutorial/encoder.md
のポルトガル語翻訳を追加。PR #5525 by @felipebpl。 - 🌐
docs/ru/docs/contributing.md
のロシア語翻訳を追加。PR #5870 by @Xewus。
内部¶
- ⬆️ドキュメントワークフローのUbuntuバージョンをアップグレード。PR #5971 by @tiangolo。
- 🔧 スポンサーバッジを更新しました。PR #5943 by @tiangolo。
- ✨ GitHub Discussions を含む FastAPI エキスパートを算出しました。PR #5941 by @tiangolo。
- ⬆️ isort をアップグレードし、pre-commit を更新しました。PR #5940 by @tiangolo。
- 🔧 Discussions の質問用テンプレートを追加しました。PR #5920 by @tiangolo。
- 🔧 スポンサー予算のインサイトを Powens に更新しました。PR #5916 by @tiangolo。
- 🔧 GitHub Sponsors バッジデータを更新しました。PR #5915 by @tiangolo。
0.89.1¶
修正¶
ドキュメント¶
- 📝 戻り値の型アノテーションを使用したレスポンスモデルに関するドキュメントと例を更新し、ランタイムエラーを更新しました。PR #5873 by @tiangolo。新しいドキュメントは、レスポンスモデル - 戻り値の型:その他の戻り値の型アノテーション を参照してください。
- 📝 外部リンクを追加しました:FastAPI lambda コンテナ:サーバーレスを簡素化。PR #5784 by @rafrasenberg。
翻訳¶
- 🌐
docs/tr/docs/tutorial/first_steps.md
のトルコ語翻訳を追加しました。PR #5691 by @Kadermiyanyedi。
0.89.0¶
機能¶
関数戻り値の型アノテーションで戻り値の型/ response_model
を宣言できるようになりました
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
@app.get("/items/")
async def read_items() -> list[Item]:
return [
Item(name="Portal Gun", price=42.0),
Item(name="Plumbus", price=32.0),
]
FastAPIは戻り値の型アノテーションを使用して、以下を実行します
- データ検証
- 自動ドキュメント
- 自動クライアントジェネレーターを強化できます
- データフィルタリング
このバージョン以前は、response_model
パラメーター経由でのみサポートされていました。
詳細については、新しいドキュメント:レスポンスモデル - 戻り値の型 を参照してください。
ドキュメント¶
- 📝 外部リンクを追加しました:Casbinを使用したFastAPIの認証。PR #5712 by @Xhy-5000。
- ✏
docs/en/docs/async.md
のタイプミスを修正しました。PR #5785 by @Kingdageek。 - ✏
docs/en/docs/deployment/concepts.md
のタイプミスを修正しました。PR #5824 by @kelbyfaessler。
翻訳¶
- 🌐
docs/ru/docs/fastapi-people.md
のロシア語翻訳を追加しました。PR #5577 by @Xewus。 - 🌐
docs/zh/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 Action ゲート/チェックを追加しました。PR #5492 by @webknjaz。
- 🔧 スポンサーを更新し、Svix を追加しました。PR #5848 by @tiangolo。
- 🔧 Doist スポンサーを削除しました。PR #5847 by @tiangolo。
- ⬆ sqlalchemy の要件を <=1.4.41,>=1.3.18 から >=1.3.18,<1.4.43 に更新しました。PR #5540 by @dependabot[bot]。
- ⬆ nwtgck/actions-netlify を 1.2.4 から 2.0.0 に更新しました。PR #5757 by @dependabot[bot]。
- 👷 ドキュメントプレビュー用のCI成果物のアップロード/ダウンロードをリファクタリングしました。PR #5793 by @tiangolo。
- ⬆ pypa/gh-action-pypi-publish を 1.5.1 から 1.5.2 に更新しました。PR #5714 by @dependabot[bot]。
- 👥 FastAPI People を更新しました。PR #5722 by @github-actions[bot]。
- 🔧 スポンサーを更新し、コースバンドルを無効にしました。PR #5713 by @tiangolo。
- ⬆ typer[all] の要件を <0.7.0,>=0.6.1 から >=0.6.1,<0.8.0 に更新しました。PR #5639 by @dependabot[bot]。
0.88.0¶
アップグレード¶
ドキュメント¶
- ✏️
docs/en/docs/advanced/middleware.md
のドキュメントのタイプミスを修正しました。PR #5376 by @rifatrakib。
翻訳¶
内部¶
- 👷 CIのパフォーマンスを向上させるためにbuild-docsを調整しました。PR #5699 by @tiangolo。
- ⬆ [pre-commit.ci] pre-commit を自動更新しました。PR #5566 by @pre-commit-ci[bot]。
- ⬆️ Ruff をアップグレードしました。PR #5698 by @tiangolo。
- 👷 Smokeshow が requirements.txt に依存しているため、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(およびドキュメント)。
- パッケージエクストラ
all
(新しいUvicornバージョンを含む)の依存関係をアップグレードおよび緩和しました。"fastapi[all]"
をインストールするときに適用されます。 - FastAPIのメンテナンスを支援する方法に関する新しいドキュメント。
機能¶
- ⬆️ エクストラ "all" の依存関係をアップグレードおよび緩和しました。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/fr/docs/advanced/additional-status-code.md
のフランス語翻訳を追加しました。PR #5477 by @axel584。 - 🌐
docs/pt/docs/tutorial/request-forms-and-files.md
のポルトガル語翻訳を追加しました。PR #5579 by @batlopes。 - 🌐
docs/ja/docs/advanced/websockets.md
の日本語翻訳を追加しました。PR #4983 by @xryuseix。
内部¶
- ✨ リンティングに Ruff を使用しました。PR #5630 by @tiangolo。
- 🛠 アラビア語の Issue 番号を Notify Translations GitHub Action に追加しました。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。
修正¶
ドキュメント¶
- ✏
docs/en/docs/tutorial/security/oauth2-jwt.md
のタイプミスを修正しました。PR #5584 by @vivekashok1221。
翻訳¶
- 🌐
docs/zh/docs/python-types.md
の中国語翻訳の文言を更新しました。PR #5416 by @supercaizehua. - 🌐
docs/ru/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. - ✏ Zsh での
pip
との互換性のために、貢献に関するドキュメントのタイプミスを修正しました。PR #5523 by @zhangbo2012. - 📝 Python 3.9 の代わりに Python 3.10 の例を使用したドキュメントのタイプミスを修正しました。PR #5545 by @feliciss.
翻訳¶
- 🌐
docs/pt/docs/tutorial/request-forms.md
のポルトガル語翻訳を追加しました。PR #4934 by @batlopes. - 🌐
docs/zh/docs/tutorial/dependencies/classes-as-dependencies.md
の中国語翻訳を追加しました。PR #4971 by @Zssaer. - 🌐
deployment/deta.md
のフランス語翻訳を追加しました。PR #3692 by @rjNemo. - 🌐
docs/zh/docs/tutorial/query-params-str-validations.md
の中国語翻訳を更新しました。PR #5255 by @hjlarry. - 🌐
docs/zh/docs/tutorial/sql-databases.md
の中国語翻訳を追加しました。PR #4999 by @Zssaer. - 🌐
docs/zh/docs/advanced/wsgi.md
の中国語翻訳を追加しました。PR #4505 by @ASpathfinder. - 🌐
docs/pt/docs/tutorial/body-multiple-params.md
のポルトガル語翻訳を追加しました。PR #4111 by @lbmendes. - 🌐
docs/pt/docs/tutorial/path-params-numeric-validations.md
のポルトガル語翻訳を追加しました。PR #4099 by @lbmendes. - 🌐
deployment/versions.md
のフランス語翻訳を追加しました。PR #3690 by @rjNemo. - 🌐
docs/fr/docs/help-fastapi.md
のフランス語翻訳を追加しました。PR #2233 by @JulianMaurin. - 🌐
docs/zh/docs/tutorial/security/first-steps.md
の中国語翻訳のタイプミスを修正しました。PR #5530 by @yuki1sntSnow. - 🌐
docs/pt/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 autoupdate。PR #5536 by @pre-commit-ci[bot].
- 🐛 内部 Trio テストの警告を修正しました。PR #5547 by @samuelcolvin.
- ⬆ [pre-commit.ci] pre-commit autoupdate。PR #5408 by @pre-commit-ci[bot].
- ⬆️ ドキュメント用のスクリプトに Rich を含めるように Typer をアップグレードしました。PR #5502 by @tiangolo.
- 🐛 MkDocs Material 検索プラグインを修正/有効にするために、サブプロセスとして言語用の
mkdocs
の呼び出しを修正しました。PR #5501 by @tiangolo.
0.85.1¶
修正¶
- 🐛 OpenAPI ステータスコードの文字列 (
default
,1XX
,2XX
,3XX
,4XX
,5XX
) のサポートを修正しました。PR #5187 by @JarroVGIT.
ドキュメント¶
内部¶
- 👥 FastAPI People を更新しました。PR #5447 by @github-actions[bot].
- 🔧 MkDocs 検索プラグインの Material を無効にしました。PR #5495 by @tiangolo.
- 🔇 CI のテストで Trio 警告を無視しました。PR #5483 by @samuelcolvin.
0.85.0¶
機能¶
- ⬆ Starlette の必要なバージョンを
0.19.1
から0.20.4
にアップグレードしました。最初の PR #4820 by @Kludex.- これには、Starlette のいくつかのバグ修正が含まれています。
- ⬆️ パブリック extras: all で Uvicorn の最大バージョンをアップグレードしました。
>=0.12.0,<0.18.0
から>=0.12.0,<0.19.0
へ。PR #5401 by @tiangolo.
内部¶
- ⬆️ ドキュメントと開発の内部 extras の依存関係をアップグレードしました。Typer、Uvicorn。PR #5400 by @tiangolo.
- ⬆️ テストの依存関係をアップグレードしました。Black, HTTPX, databases, types-ujson。PR #5399 by @tiangolo.
- ⬆️ mypy をアップグレードし、内部型アノテーションを調整しました。PR #5398 by @tiangolo.
- 🔧 テストの依存関係を更新し、Pytest をアップグレードし、依存関係を開発からテストに移動しました。PR #5396 by @tiangolo.
0.84.0¶
破壊的な変更¶
このバージョンの FastAPI では、Python 3.6 のサポートを削除しました。🔥 Python のサポートされているバージョン(3.7 以上)にアップグレードしてください。Python 3.6 はだいぶ前に寿命が尽きています。😅☠
0.83.0¶
🚨 これは、Python 3.6 をサポートする最後のリリース(または最後のリリースの一つ)である可能性があります。🔥
Python 3.6 は、約1年前から、寿命が尽きて、Python によってサポートされなくなりました。
うまくいけば、しばらく前に Python のサポートされているバージョンに更新したでしょう。まだ更新していない場合は、本当に更新する必要があります。
機能¶
修正¶
- 🐛
HTTPException
にコンテンツのないステータスコードがある場合に発生するRuntimeError
を修正しました。PR #5365 by @iudeen. - 🐛 デフォルトの
status_code
が空で、response.status_code
が設定されたResponse
パラメーターがある場合の空の応答本文を修正しました。PR #5360 by @tmeckel.
ドキュメント¶
内部¶
- ⬆ [pre-commit.ci] pre-commit autoupdate。PR #5352 by @pre-commit-ci[bot].
0.82.0¶
🚨 これは、Python 3.6 をサポートする最後のリリース(または最後のリリースの一つ)である可能性があります。🔥
Python 3.6 は、約1年前から、寿命が尽きて、Python によってサポートされなくなりました。
うまくいけば、しばらく前に Python のサポートされているバージョンに更新したでしょう。まだ更新していない場合は、本当に更新する必要があります。
機能¶
- ✨
fastapi.websockets
にWebSocketState
をエクスポートしました。PR #4376 by @matiuszka. - ✨ Pydantic モデルのドキュメンテーション文字列で Python 内部記述をサポートします。PR #3032 by @Kludex.
- ✨
ORJSONResponse
を更新して、非str
キーをサポートし、Numpy 配列をシリアル化するようにしました。PR #3892 by @baby5.
修正¶
- 🐛
yield
を使用した依存関係の終了コードが常に実行されるように、それらの容量制限を削除することで、例えばデッドロックなしで DB 接続を閉じることができます。PR #5122 by @adriangb. - 🐛 FastAPI People GitHub アクションを修正しました: 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. - 📝 レスポンスモデルの説明に 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/ru/docs/features.md
のロシア語翻訳を追加。PR #5315 by @Xewus. - 🌐
docs/zh/docs/tutorial/request-files.md
の中国語翻訳を更新。PR #4529 by @ASpathfinder. - 🌐
docs/zh/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 autoupdate。PR #5318 by @pre-commit-ci[bot].
- ✏ 小さなコードハイライトの行エラーを修正。PR #5256 by @hjlarry.
- ♻ 内部の小さなリファクタリング、コードとの一貫性を保つために delete メソッドの
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)、およびPostgres」。PR #5033 by @krishnardt.
- 📝 追加レスポンスのドキュメントの例を簡略化、不要な
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文字に対応するために、
secrets.compare_digest()
を使用したHTTP Basic Auth の処理に関するドキュメントを更新。PR #3536 by @lewoudar. - 📝 テストに関するドキュメントを更新、相対インポートを含む例を修正。PR #5302 by @tiangolo.
翻訳¶
- 🌐
docs/ru/docs/index.md
のロシア語翻訳を追加。PR #5289 by @impocode. - 🌐
docs/ru/docs/deployment/versions.md
のロシア語翻訳を追加。PR #4985 by @emp7yhead. - 🌐
docs/pt/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 autoupdate。PR #5196 by @pre-commit-ci[bot].
- 🔥
tests/test_tutorial/test_sql_databases/test_sql_databases.py
の重複したテストを削除。PR #5040 by @raccoonyy. - ♻
fastapi/utils.py
の内部の正規表現を簡略化。PR #5057 by @pylounge. - 🔧
auto_error
の型ヒントを修正、Optional[bool]
である必要はない。PR #4933 by @DavidKimDY. - 🔧 mypy 設定を更新、手動設定の代わりに
strict = true
を使用。PR #4605 by @michaeloliverx. - ♻
fastapi/utils.py
のdict()
を{}
に変更。PR #3138 by @ShahriyarR. - ♻ 関連コードを近づけるために、
jsonable_encoder
のエラーの内部変数を移動。PR #4560 by @GuilleQP. - ♻
fastapi/dependencies/utils.py
の条件付き代入を簡略化。PR #4597 by @cikay. - ⬆ 内部コードの Flake8 に受け入れられるバージョンピンを
flake8 >=3.8.3,<6.0.0
にアップグレード。PR #4097 by @jamescurtin. - 🍱 Jinaバナーを更新、タイプミスを修正。PR #5301 by @tiangolo.
0.80.0¶
破壊的な変更 - 修正¶
response_model
で None
を含まない型を使用しているが、関数が None
を返している場合、response_model
のコントラクトに違反する無効なデータを返しているため、内部サーバーエラーが発生するようになりました。このリリース以前は、None
を返すことでそのコントラクトを破ることができました。
たとえば、次のようなアプリがある場合
from fastapi import FastAPI
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: Optional[float] = None
owner_ids: Optional[List[int]] = None
app = FastAPI()
@app.get("/items/invalidnone", response_model=Item)
def get_invalid_none():
return None
...パス /items/invalidnone
を呼び出すと、エラーが発生します。None
は Item
で宣言された response_model
の有効な型ではないためです。
たとえば、次のように、気づかずに暗黙的に None
を返すこともあります。
from fastapi import FastAPI
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: Optional[float] = None
owner_ids: Optional[List[int]] = None
app = FastAPI()
@app.get("/items/invalidnone", response_model=Item)
def get_invalid_none():
if flag:
return {"name": "foo"}
# if flag is False, at this point the function will implicitly return None
None
を返すことを許可する必要がある response_model
を使用する *パスオペレーション* がある場合は、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 initial PR by @koonpeng. - ♻ docstrings から抽出された説明から空の空白を削除。PR #2821 by @and-semakin.
- 🐛 異なる OAuth2 スコープを使用して、
Security()
およびその他の場所(例:Depends()
)で依存関係を使用する場合のキャッシュされた依存関係を修正。PR #2945 by @laggardkernel. - 🎨
response_model
の型アノテーションを更新、Union[str, None]
のようなものを許可。PR #5294 by @tiangolo.
翻訳¶
- 🌐
docs/de/docs/features.md
のドイツ語翻訳のタイプミスを修正。PR #4533 by @0xflotus. - 🌐 韓国語翻訳で
encoder.md
のナビゲーターが欠落しているのを修正。PR #5238 by @joonas-yoon. - (誤って空のPRがマージされました)#4913。
0.79.1¶
修正¶
- 🐛 Pydanticオブジェクト以外のオブジェクトに対して
include
およびexclude
パラメータを使用するjsonable_encoder
を修正。PR #2606 by @xaviml. - 🐛 OpenAPI に表示されない、エイリアス名が繰り返されるエッジケースを修正。PR #2351 by @klaa97.
- 📝 チュートリアルドキュメントにその他の依存関係のインストールを追加。PR #2126 by @TeoZosa.
ドキュメント¶
- 📝 イラストのクレジットとして Ketrina Thompson への謝辞を追加しました。PR #5284 by @tiangolo。
- ✏
python-types.md
のタイプミスを修正しました。PR #5116 by @Kludex。 - ✏
docs/en/docs/python-types.md
のタイプミスを修正しました。PR #5007 by @atiabbz。 - 📝 非同期トピックのイントロから不要な Django/Flask の記述を削除しました。PR #5280 by @carltongibson。
- ✨ 並行バーガーと並列バーガーのイラストを追加しました。PR #5277 by @tiangolo。ドキュメントを更新しました: Concurrency and Burgers。
翻訳¶
- 🌐
docs/pt/docs/tutorial/query-params.md
のポルトガル語訳を追加しました。PR #4775 by @batlopes。 - 🌐
docs/pt/docs/tutorial/security/first-steps.md
のポルトガル語訳を追加しました。PR #4954 by @FLAIR7。 - 🌐
docs/zh/docs/advanced/response-cookies.md
の翻訳を追加しました。PR #4638 by @zhangbo2012。 - 🌐
docs/fr/docs/deployment/index.md
のフランス語訳を追加しました。PR #3689 by @rjNemo。 - 🌐
tutorial/handling-errors.md
のポルトガル語訳を追加しました。PR #4769 by @frnsimoes。 - 🌐
docs/fr/docs/history-design-future.md
のフランス語訳を追加しました。PR #3451 by @rjNemo。 - 🌐
docs/ru/docs/tutorial/background-tasks.md
のロシア語訳を追加しました。PR #4854 by @AdmiralDesu。 - 🌐
docs/tutorial/security/first-steps.md
の中国語訳を追加しました。PR #3841 by @jaystone776。 - 🌐
docs/ja/docs/advanced/nosql-databases.md
の日本語訳を追加しました。PR #4205 by @sUeharaE4。 - 🌐
docs/id/docs/tutorial/index.md
のインドネシア語訳を追加しました。PR #4705 by @bas-baskara。 - 🌐
docs/fa/docs/index.md
のペルシャ語訳を追加し、右から左への CSS を調整しました。PR #2395 by @mohsen-mahmoodi。
内部¶
- 🔧 Jina スポンサーシップを更新しました。PR #5283 by @tiangolo。
- 🔧 Jina スポンサーシップを更新しました。PR #5272 by @tiangolo。
- 🔧 スポンサーを更新し、Striveworks のバッジを追加しました。PR #5179 by @tiangolo。
0.79.0¶
修正 - 破壊的変更¶
- 🐛 サポートされていないステータスコードから本文を削除する問題を修正しました。PR #5145 by @tiangolo。
status_code
を204
、304
、または200
未満の任意のコード (1xx) に設定すると、レスポンスから本文が削除されます。- これにより、Uvicorn で発生していたエラー
RuntimeError: Response content longer than Content-Length
が修正されます。 fastapi.openapi.constants.STATUS_CODES_WITH_NO_BODY
を削除し、代わりに utils 内の関数を使用します。
翻訳¶
- 🌐 ヘブライ語翻訳を開始しました。PR #5050 by @itay-raveh。
- 🔧 スウェーデン語翻訳の通知設定を追加しました。PR #5147 by @tiangolo。
- 🌐 スウェーデン語翻訳を開始しました。PR #5062 by @MrRawbin。
- 🌐
docs/ja/docs/advanced/index.md
の日本語訳を追加しました。PR #5043 by @wakabame。 - 🌐🇵🇱
docs/pl/docs/tutorial/first-steps.md
のポーランド語訳を追加しました。PR #5024 by @Valaraucoo。
内部¶
- 🔧 ヘブライ語翻訳の通知を更新しました。PR #5158 by @tiangolo。
- 🔧 Dependabot のコミットメッセージを更新しました。PR #5156 by @tiangolo。
- ⬆ actions/upload-artifact を 2 から 3 にアップグレードしました。PR #5148 by @dependabot[bot]。
- ⬆ actions/cache を 2 から 3 にアップグレードしました。PR #5149 by @dependabot[bot]。
- 🔧 スポンサーバッジの設定を更新しました。PR #5155 by @tiangolo。
- 👥 FastAPI のメンバーを更新しました。PR #5154 by @tiangolo。
- 🔧 Jina スポンサーバッジを更新しました。PR #5151 by @tiangolo。
- ⬆ actions/checkout を 2 から 3 にアップグレードしました。PR #5133 by @dependabot[bot]。
- ⬆ [pre-commit.ci] pre-commit の自動アップデートを実行しました。PR #5030 by @pre-commit-ci[bot]。
- ⬆ nwtgck/actions-netlify を 1.1.5 から 1.2.3 にアップグレードしました。PR #5132 by @dependabot[bot]。
- ⬆ codecov/codecov-action を 2 から 3 にアップグレードしました。PR #5131 by @dependabot[bot]。
- ⬆ dawidd6/action-download-artifact を 2.9.0 から 2.21.1 にアップグレードしました。PR #5130 by @dependabot[bot]。
- ⬆ actions/setup-python を 2 から 4 にアップグレードしました。PR #5129 by @dependabot[bot]。
- 👷 Dependabot を追加しました。PR #5128 by @tiangolo。
- ♻️ 内部ユーティリティで
Optional[X]
からUnion[X, None]
に移行しました。PR #5124 by @tiangolo。 - 🔧 スポンサーを更新し、Dropbase を削除し、Doist を追加しました。PR #5096 by @tiangolo。
- 🔧 スポンサーを更新し、Classiq を削除し、ImgWhale を追加しました。PR #5079 by @tiangolo。
0.78.0¶
機能¶
-
✨ 必須パラメータを宣言する際に、デフォルト値として
...
を省略するサポートを追加しました。 -
Path()
Query()
Header()
Cookie()
Body()
Form()
File()
新しいドキュメント: チュートリアル - クエリパラメータと文字列の検証 - 必須にする。PR #4906 by @tiangolo。
これまで、追加の検証やメタデータを追加しながら必須パラメータを宣言するには、...
(Ellipsis) を使用する必要がありました。
例:
from fastapi import Cookie, FastAPI, Header, Path, Query
app = FastAPI()
@app.get("/items/{item_id}")
def main(
item_id: int = Path(default=..., gt=0),
query: str = Query(default=..., max_length=10),
session: str = Cookie(default=..., min_length=3),
x_trace: str = Header(default=..., title="Tracing header"),
):
return {"message": "Hello World"}
...これらのパラメータはすべて、デフォルト値が ...
(Ellipsis) であるため必須です。
しかし、Pydantic のフィールドと同様にデフォルト値を省略することも可能になり、パラメータは引き続き必須となります。
✨ たとえば、以下がサポートされるようになりました
from fastapi import Cookie, FastAPI, Header, Path, Query
app = FastAPI()
@app.get("/items/{item_id}")
def main(
item_id: int = Path(gt=0),
query: str = Query(max_length=10),
session: str = Cookie(min_length=3),
x_trace: str = Header(title="Tracing header"),
):
return {"message": "Hello World"}
パラメータをオプション (必須ではない) として宣言するには、常にデフォルト値を設定できます。たとえば、None
を使用します。
from typing import Union
from fastapi import Cookie, FastAPI, Header, Path, Query
app = FastAPI()
@app.get("/items/{item_id}")
def main(
item_id: int = Path(gt=0),
query: Union[str, None] = Query(default=None, max_length=10),
session: Union[str, None] = Cookie(default=None, min_length=3),
x_trace: Union[str, None] = Header(default=None, title="Tracing header"),
):
return {"message": "Hello World"}
ドキュメント¶
- 📝
Optional
よりもUnion
を推奨し、ソース例を移行するドキュメントを追加しました。新しいドキュメント: Python 型入門 -Union
またはOptional
の使用。PR #4908 by @tiangolo。 - 🎨 パス操作の高度な設定のチュートリアルで設定されているデフォルト値を修正しました。PR #4899 by @tiangolo。
- 📝 再定義されたパス操作に関するドキュメントを追加しました。PR #4864 by @madkinsz。
- 📝 Celery ドキュメントへのリンクを更新しました。PR #4736 by @sammyzord。
- ✏ ボディネストモデルのチュートリアルのセットを使用したコード例を修正しました。PR #3030 by @hitrust。
- ✏ Pydantic ドキュメントへのリンクを修正しました。PR #4670 by @kinuax。
- 📝 より新しいソースリンクで Swagger UI のセルフホスティングに関するドキュメントを更新しました。PR #4813 by @Kastakin。
- 📝 外部記事へのリンクを追加しました: Building the Poll App From Django Tutorial With FastAPI And React. PR #4778 by @jbrocher。
- 📝 追加のスキーマ拡張を含む "ボディ - フィールド" ドキュメントに OpenAPI の警告を追加しました。PR #4846 by @ml-evs。
翻訳¶
- 🌐
docs/ja/docs/tutorial/testing.md
の日本語訳のコード例を修正しました。PR #4623 by @hirotoKirimaru。
内部¶
- ♻️ キーの検索を最小限に抑えるために、辞書の値の抽出をリファクタリングしました (
fastapi/utils.py
)。PR #3139 by @ShahriyarR。 - ✅ 必須の非可能パラメータとボディフィールドのテストを追加しました。PR #4907 by @tiangolo。
- 👷 CI で Material for MkDocs Insiders のインストールを修正しました。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。
- 🔧 Python フォーマットフックを pre-commit に追加しました。PR #4890 by @tiangolo。
- 🔧 最初の設定と最初のフォーマットパスで pre-commit を追加しました。PR #4888 by @tiangolo。
- 👷 フォークでの Material for MkDocs のインストールを CI で無効化。PR #4410 by @dolfinus。
0.77.1¶
アップグレード¶
ドキュメント¶
- 📝 ドイツ語の記事へのリンクを追加:REST-API Programmieren mittels Python und dem FastAPI Modul。PR #4624 by @fschuermeyer。
- 📝 外部リンクを追加:PyCharm Guide to FastAPI。PR #4512 by @mukulmantosh。
- 📝 外部リンクを追加:Building an API with FastAPI and Supabase and Deploying on Deta。PR #4440 by @aUnicornDev。
- ✏
docs/en/docs/tutorial/security/first-steps.md
の小さなタイプミスを修正。PR #4515 by @KikoIlievski。
翻訳¶
- 🌐
docs/pl/docs/tutorial/index.md
にポーランド語翻訳を追加。PR #4516 by @MKaczkow。 - ✏ デプロイメントのタイプミスを修正。PR #4629 by @raisulislam541。
- 🌐
docs/pt/docs/help-fastapi.md
にポルトガル語翻訳を追加。PR #4583 by @mateusjs。
内部¶
0.77.0¶
アップグレード¶
- ⬆ Starlette を 0.18.0 から 0.19.0 にアップグレード。PR #4488 by @Kludex。
- 明示的な
JSONResponse
を作成する場合、content
引数が必須になりました。
- 明示的な
ドキュメント¶
- 📝 外部リンクを追加:Seamless FastAPI Configuration with ConfZ。PR #4414 by @silvanmelchior。
- 📝 外部リンクを追加:5 Advanced Features of FastAPI You Should Try。PR #4436 by @kaustubhgupta。
- ✏
TestClient
に関するドキュメントの可読性を向上させるために言い換え。PR #4389 by @rgilton。 - 📝 Kafka, FastAPI, and 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/zh/docs/tutorial/query-params-str-validations.md
のソース例のハイライトを更新。PR #4237 by @caimaoy。 - 🌐 AnyIO 以降不要になったため、aiofiles への翻訳ドキュメントの参照を削除。PR #3594 by @alonme。
- ✏ 🌐
docs/pt/docs/tutorial/path-params.md
のポルトガル語翻訳のタイプミスを修正。PR #4722 by @CleoMenezesJr。 - 🌐 一部の言語の翻訳でライブドキュメントサーバーを修正。PR #4729 by @wakabame。
- 🌐
docs/pt/docs/tutorial/cookie-params.md
にポルトガル語翻訳を追加。PR #4112 by @lbmendes。 - 🌐
docs/tutorial/body.md
のフランス語翻訳を修正。PR #4332 by @Smlep。 - 🌐
docs/ja/docs/advanced/conditional-openapi.md
に日本語翻訳を追加。PR #2631 by @sh0nk。 - 🌐
docs/ja/docs/tutorial/body.md
の日本語翻訳を修正。PR #3062 by @a-takahashi223。 - 🌐
docs/pt/docs/tutorial/background-tasks.md
にポルトガル語翻訳を追加。PR #2170 by @izaguerreiro。 - 🌐
docs/deployment/deta.md
にポルトガル語翻訳を追加。PR #4442 by @lsglucas。 - 🌐
docs/async.md
にロシア語翻訳を追加。PR #4036 by @Winand。 - 🌐
docs/tutorial/body.md
にポルトガル語翻訳を追加。PR #3960 by @leandrodesouzadev。 - 🌐
tutorial/extra-data-types.md
のポルトガル語翻訳を追加。PR #4077 by @luccasmmg。 - 🌐
docs/features.md
のドイツ語翻訳を更新。PR #3905 by @jomue。
0.76.0¶
アップグレード¶
内部¶
- 👥 FastAPI の人々を更新。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 (
/docs
) を専門家ではないユーザーに公開している場合は、できるだけ早くアップグレードしてください。PR #4347 by @RAlanWright。
内部¶
- 🔧 スポンサーを更新、追加: ExoFlare, Ines Course; 削除: Dropbase, Vim.so, Calmcode; 更新: Striveworks, TalkPython, TestDriven.io。PR #4805 by @tiangolo。
- ⬆️ Codecov GitHub Action をアップグレード。PR #4801 by @tiangolo。
0.75.1¶
翻訳¶
- 🌐 オランダ語翻訳を開始。PR #4703 by @tiangolo。
- 🌐 ペルシア語/ファルシ語翻訳を開始。PR #4243 by @aminalaee。
- ✏ エラー処理に関する文章を言い換え。PR #1993 by @khuhroproeza。
内部¶
- 👥 FastAPI の人々を更新。PR #4752 by @github-actions[bot]。
- ➖ Pydantic CI をブロック解除するため、typer-cli を依存関係から一時的に削除し、Black をアップグレード。PR #4754 by @tiangolo。
- 🔧 オランダ語翻訳を通知する構成を追加。PR #4702 by @tiangolo。
- 👥 FastAPI の人々を更新。PR #4699 by @github-actions[bot]。
- 🐛 コミットに欠落しているファイルを含めるように FastAPI の人々の生成を修正。PR #4695 by @tiangolo。
- 🔧 Classiq スポンサーリンクを更新。PR #4688 by @tiangolo。
- 🔧 Classiq スポンサーを追加。PR #4671 by @tiangolo。
- 📝 簡単な質問をしたい人のために、Jina の QA ボットをドキュメントに追加。PR #4655 by @tiangolo (元の PR #4626 by @hanxiao に基づく)。
0.75.0¶
機能¶
- ✨ カスタム
generate_unique_id_function
のサポートとクライアント生成に関するドキュメントを追加。新しいドキュメント: 上級 - クライアントの生成。PR #4650 by @tiangolo。
0.74.1¶
機能¶
0.74.0¶
破壊的な変更¶
yield
を使用した依存関係は、HTTPException
およびカスタム例外をキャッチできるようになりました。例:
async def get_database():
with Session() as session:
try:
yield session
except HTTPException:
session.rollback()
raise
finally:
session.close()
yield
を使用した依存関係が例外を処理した(またはしなかった)後、例外は再度発生します。そのため、例外ハンドラーがキャッチするか、最終的にデフォルトの内部 ServerErrorMiddleware
がキャッチします。
yield
を使用した依存関係で例外を受信せず、yield
の後のコードで例外を受信するとコードが破損する場合は、try
および finally
を使用したブロックを使用できます。
async def do_something():
try:
yield something
finally:
some_cleanup()
...そうすることで、finally
ブロックは、発生する可能性のある例外に関係なく実行されます。
機能¶
- 上記の同じ PR #4575 では、
yield
の前後のコードのcontextvars
コンテキストも修正されています。これがその PR の主な目的でした。
これは、yield
の前にコンテキスト変数に値を設定した場合、yield
の後でも(直感的に期待するように)値が使用可能になることを意味します。また、後でトークンを使用してコンテキスト変数をリセットできることも意味します。
たとえば、これは現在正しく動作します
from contextvars import ContextVar
from typing import Any, Dict, Optional
legacy_request_state_context_var: ContextVar[Optional[Dict[str, Any]]] = ContextVar(
"legacy_request_state_context_var", default=None
)
async def set_up_request_state_dependency():
request_state = {"user": "deadpond"}
contextvar_token = legacy_request_state_context_var.set(request_state)
yield request_state
legacy_request_state_context_var.reset(contextvar_token)
...この変更前は、contextvars
のコンテキストが実装方法の違いにより異なっていたため、コンテキスト変数をリセットする際にエラーが発生していました。
注意: おそらくcontextvars
は必要なく、使用は避けるべきでしょう。しかし、これは強力であり、いくつかの高度なシナリオで役立ちます。たとえば、Flaskのg
のような準グローバル変数を使用していたコードからの移行などです。
技術詳細: 技術的な詳細についてもっと知りたい場合は、PRの説明#4575をご確認ください。
内部¶
- 🔧 Striveworksのスポンサーを追加。PR #4596 by @tiangolo。
- 💚 PRからの重複実行を避けるため、masterブランチへのプッシュ時のみドキュメントをビルドするように変更。PR #4564 by @tiangolo。
- 👥 FastAPIのメンバーを更新。PR #4502 by @github-actions[bot]。
0.73.0¶
機能¶
- ✨ 明示的な
File()
なしでUploadFile
パラメーターを宣言するためのサポートを追加。PR #4469 by @tiangolo。新しいドキュメント: リクエストファイル - UploadFileを使用したファイルパラメータ。 - ✨ Enumを使用したタグのサポートを追加。PR #4468 by @tiangolo。新しいドキュメント: パス操作の設定 - Enumを使用したタグ。
- ✨ OpenAPI (およびSwagger UI) から
Query
、Cookie
、Header
、およびPath
パラメーターを非表示にすることを許可。PR #3144 by @astraldawn。新しいドキュメント: クエリパラメータと文字列の検証 - OpenAPIからの除外。
ドキュメント¶
修正¶
- 🐛 タプルを使用した場合にOpenAPIが使用できなくなるバグを修正。PR #3874 by @victorbenichoux。
- 🐛
jsonable_encoder
でカスタムエンコーダーが指定されている場合は、デフォルトよりもカスタムエンコーダーを優先。PR #2061 by @viveksunder。
内部¶
- 🐛 MkDocsの最新版Materialを取得するためのドキュメント依存関係キャッシュを修正。PR #4466 by @tiangolo。
- 🔧 スポンサーDropbaseを追加。PR #4465 by @tiangolo。
0.72.0¶
機能¶
- ✨ Swagger UIパラメータの設定を有効化。オリジナルPR #2568 by @jmriebold。新しいドキュメント: Swagger UIの設定。
ドキュメント¶
翻訳¶
- 🌐
docs/help-fastapi.md
の中国語翻訳を更新。PR #3847 by @jaystone776。 - 🌐
docs/ko/docs/index.md
の韓国語翻訳を修正。PR #4195 by @kty4119。 - 🌐
docs/pl/docs/index.md
のポーランド語翻訳を追加。PR #4245 by @MicroPanda123。 - 🌐
docs\tutorial\path-operation-configuration.md
の中国語翻訳を追加。PR #3312 by @jaystone776。
内部¶
0.71.0¶
機能¶
- ✨ Python 3.9およびPython 3.10のドキュメントとテストを追加。PR #3712 by @tiangolo。
- Python Typesの入門から始めることができます。ここでは、Python 3.9およびPython 3.10における、異なるPythonバージョン間の変更点が説明されています。
- すべてのFastAPIドキュメントが更新されました。ドキュメント内のコード例で、Python 3.9またはPython 3.10で異なる構文を使用できるものは、すべてタブで代替案が表示されるようになりました。
- ⬆️ Starletteを0.17.1にアップグレード。PR #4145 by @simondale00。
内部¶
- 👥 FastAPIのメンバーを更新。PR #4354 by @github-actions[bot]。
- 🔧 PyPI用のFastAPI Trove Classifierを追加(なぜか必要になった😁)。PR #4386 by @tiangolo。
- ⬆ MkDocs Materialと設定をアップグレード。PR #4385 by @tiangolo。
0.70.1¶
この特定のFastAPIリリースには特に興味深いものは何もありません。これは主に、機能と改善が満載されたPydanticの次のバージョンのリリースを有効化/ブロック解除するためのものです。🤩
修正¶
- 🐛 Pydantic 1.9の修正をサポートするdataclassのJSON Schemaを修正。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/ko/docs/deployment/versions.md
の韓国語翻訳を追加。PR #4121 by @DevDae。 - 🌐
docs/ko/docs/tutorial/index.md
の韓国語翻訳を修正。PR #4193 by @kimjaeyoonn。 - 🔧 CryptAPIのスポンサーを追加。PR #4264 by @tiangolo。
- 📝
docs/tutorial/dependencies/classes-as-dependencies
を更新:Classes as dependencies
の説明にクエリパラメータの型を追加。PR #4015 by @0417taehyun。 - 🌐 チュートリアル - 最初のステップのフランス語翻訳を追加。PR #3455 by @Smlep。
- 🌐
docs/tutorial/path-params.md
のフランス語翻訳を追加。PR #3548 by @Smlep。 - 🌐
docs/tutorial/query-params.md
のフランス語翻訳を追加。PR #3556 by @Smlep。 - 🌐
docs/python-types.md
のトルコ語翻訳を追加。PR #3926 by @BilalAlpaslan。
内部¶
- 👥 FastAPIのメンバーを更新。PR #4274 by @github-actions[bot]。
0.70.0¶
このリリースでは、Starletteを最新バージョン0.16.0
にアップグレードするだけです。これにはいくつかのバグ修正といくつかの小さな破壊的な変更が含まれています。
これら直近の3つの連続リリースは独立しているため、段階的に移行できます。
- まず、FastAPI
0.68.2
に移行します。破壊的な変更はありませんが、すべてのサブ依存関係がアップグレードされます。 - 次に、FastAPI
0.69.0
に移行します。これは、AnyIOをサポートするStarletteを0.15.0
にアップグレードし、コードに破壊的な変更が発生する可能性が高まります。 - 最後に、FastAPI
0.70.0
に移行します。これは、Starletteを最新バージョン0.16.0
にアップグレードし、追加のバグ修正が含まれています。
このようにすることで、いずれかのリリースでコードに破壊的な変更があった場合でも、以前のアップグレードの恩恵を受けることができます。✨
破壊的な変更 - アップグレード¶
また、オプションの依存関係の範囲をアップグレードします。
"jinja2 >=2.11.2,<4.0.0"
"itsdangerous >=1.1.0,<3.0.0"
0.69.0¶
破壊的な変更 - アップグレード¶
このリリースでは、Trioのサポートが追加されました。✨
Starletteのバージョンを0.15.0
にアップグレードし、AnyIOに基づいたものになりました。また、FastAPI内部の非同期コンポーネントもAnyIOに基づいたものになり、asyncioとTrioの両方と互換性を持つようになりました。
Hypercornを使用したTrioでのFastAPIの実行に関するドキュメントを読むことができます。
このリリースでは、GraphQLのオプションの依存関係としてgraphene
も削除されています。GraphQLを操作する必要がある場合、推奨されるライブラリはStrawberryになりました。新しいGraphQLに関するFastAPIのドキュメントを参照してください。
機能¶
- ✨ 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.
- 📝 extrasをブラケット付きで使用する場合のpip install呼び出しでドキュメントを更新し、Zshとの互換性のために引用符を使用します。PR #3131 by @tomwei7.
- 📝 外部記事へのリンクを追加しました:FastAPIとHerokuを使用したMLモデルのAPIとしてのデプロイ。PR #3904 by @kaustubhgupta.
- ✏️
docs/en/docs/contributing.md
のファイルパスのタイプミスを修正しました。PR #3752 by @NinaHwang. - ✏️
docs/en/docs/advanced/path-operation-advanced-configuration.md
およびdocs/en/docs/release-notes.md
のタイプミスを修正しました。PR #3750 by @saintmalik. - ✏️ セキュリティチュートリアルに不足しているカンマを追加しました。PR #3564 by @jalvaradosegura.
- ✏️
docs/en/docs/help-fastapi.md
のタイプミスを修正しました。PR #3760 by @jaystone776. - ✏️
docs/en/docs/tutorial/bigger-applications.md
のファイルパスに関するタイプミスを修正しました。PR #3285 by @HolyDorus. - ✏️
docs/en/docs/tutorial/testing.md
のテストクライアントを明確にするために言い換えました。PR #3382 by @Bharat123rox. - 📝 不正な強調表示されたコードを修正しました。PR #3325 by @paxcodes.
- 📝 外部記事へのリンクを追加しました:FastAPIアプリをHerokuにデプロイする方法。PR #3241 by @Jarmos-san.
- ✏️
docs/en/docs/advanced/templates.md
のタイプミス(誤訳)を修正しました。PR #3211 by @oerpli. - 📝
docs/en/docs/tutorial/request-files.md
のSwagger UIで(現在サポートされている)機能に関する注釈を削除しました。PR #2803 by @gsganden. - ✏️
docs/tutorial/handling-errors.md
のタイプミスを修正しました。PR #2700 by @graue70.
翻訳¶
- 🌐 アゼルバイジャン語の翻訳を初期化しました。PR #3941 by @madatbay.
- 🌐
docs/fastapi-people.md
のトルコ語翻訳を追加しました。PR #3848 by @BilalAlpaslan.
内部¶
- 📝 サポートされているPythonバージョンのバッジを追加しました。PR #2794 by @hramezani.
- ✏️
docs/ja/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でbackportsを必要としないようにしました。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の貢献者を更新しました。PR #3986 by @github-actions[bot].
- 💚 READMEとメインページのバッジを修正しました。PR #3979 by @ghandic.
- ⬆️ 内部テストの依存関係をアップグレードしました:mypyをバージョン0.910にし、新しく必要なタイプパッケージを追加しました。PR #3350 by @ArcLightSlavik.
- ✨ Deepsetスポンサーシップを追加しました。PR #3976 by @tiangolo.
- 🎨 シェルアニメーションのCSSスタイルを調整しました。PR #3888 by @tiangolo.
- 🔧 新しいスポンサーCalmcode.ioを追加しました。PR #3777 by @tiangolo.
0.68.1¶
翻訳¶
- 🌐
docs/fastapi-people.md
のポルトガル語翻訳を追加しました。PR #3461 by @ComicShrimp. - 🌐
docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
の中国語翻訳を追加しました。PR #3492 by @jaystone776. - 🔧 ドイツ語とインドネシア語の新しい翻訳追跡問題を追加しました。PR #3718 by @tiangolo.
- 🌐
docs/tutorial/dependencies/sub-dependencies.md
の中国語翻訳を追加しました。PR #3491 by @jaystone776. - 🌐
docs/advanced/index.md
のポルトガル語翻訳を追加しました。PR #3460 by @ComicShrimp. - 🌐
docs/async.md
のポルトガル語翻訳。PR #1330 by @Serrones. - 🌐
docs/async.md
のフランス語翻訳を追加しました。PR #3416 by @Smlep.
内部¶
- ✨ GitHub Action:Notify Translationsを追加しました。PR #3715 by @tiangolo.
- ✨ FastAPIの貢献者とスポンサーの計算を更新しました。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の貢献者を更新しました。PR #3642 by @github-actions[bot].
0.68.0¶
機能¶
- ✨ 各パス操作におけるOpenAPIスキーマへの拡張機能とアップデートのサポートを追加しました。新しいドキュメント:FastAPI パス操作の詳細設定 - OpenAPI エクストラ。初期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。
ドキュメント¶
- 📝 よりジェンダーニュートラルな言葉を使用して、asyncとresponse-modelに関するドキュメントを更新しました。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。 - 🔧 新しいissueのためのフォーム付きの新しいGitHubテンプレートを追加しました。PR #3612 by @tiangolo。
- 📝 公式FastAPI Twitterをドキュメントに追加:@fastapi。PR #3578 by @tiangolo。
0.67.0¶
機能¶
- ✨ リクエストボディと
response_model
でdataclasses
のサポートを追加しました。新しいドキュメント:高度なユーザーガイド - Dataclassesの使用。PR #3577 by @tiangolo。 - ✨ レスポンスで
dataclasses
をサポートしました。PR #3576 by @tiangolo。初期PR #2722 by @amitlissackからの継続。
ドキュメント¶
- 📝 外部リンクを追加:FastAPIの偽の認証局を作成し、TLS証明書を生成する方法。PR #2839 by @aitoehigie。
- ✏ コードのハイライト行を修正しました:
body-nested-models.md
。PR #3463 by @jaystone776。 - ✏
body-nested-models.md
のスペルミスを修正しました。PR #3462 by @jaystone776。 - ✏
docs/en/docs/tutorial/schema-extra-example.md
の "might me" のスペルミスを "might be" に修正しました。PR #3362 by @dbrakman。 - 📝 外部リンクを追加:NuxtJSとFastAPIを使用したシンプルなEコマースの構築。PR #3271 by @ShahriyarR。
- 📝 外部リンクを追加:Sklearn、FastAPI、Dockerを使用した機械学習モデルの提供。PR #2974 by @rodrigo-arenas。
- ✏️ datastructuresファイルのdocstringのスペルミスを修正しました。PR #2887 by @Kludex。
- 📝 外部リンクを追加:UbuntuにFastAPIをデプロイし、Caddy 2 Web Serverを使用して提供する。PR #3572 by @tiangolo。
- 📝 外部リンクを追加、#1898を置き換えます。PR #3571 by @tiangolo。
内部¶
- 🎨 スポンサーのスタイルを改善し、半径の境界線を追加しました。PR #2388 by @Kludex。
- 👷 GitHub Action latest-changesを更新しました。PR #3574 by @tiangolo。
- 👷 GitHub Action latest-changesを更新しました。PR #3573 by @tiangolo。
- 👷 CIワークフローのジョブ名を変更および明確化しました。PR #3570 by @tiangolo。
- 👷 GitHub Action latest-changes、ストライク2⚾。PR #3575 by @tiangolo。
- 🔧 ドキュメント内の外部リンクをソートして、最新のものが一番上になるようにしました。PR #3568 by @tiangolo。
0.66.1¶
翻訳¶
- 🌐 ドイツ語翻訳の基本設定を追加しました。PR #3522 by @0x4Dark。
- 🌐
docs/tutorial/security/index.md
のポルトガル語翻訳を追加しました。PR #3507 by @oandersonmagalhaes。 - 🌐
docs/deployment/index.md
のポルトガル語翻訳を追加しました。PR #3337 by @lsglucas。
内部¶
- 🔧 厳密なpytestオプションを構成し、テストを更新/リファクタリングしました。pytestを
>=6.2.4,<7.0.0
に、pytest-covを>=2.12.0,<3.0.0
にアップグレードしました。初期PR #2790 by @graingert。 - ⬆️ テストのためにpython-jose依存関係を
>=3.3.0,<4.0.0
にアップグレードしました。PR #3468 by @tiangolo。
0.66.0¶
機能¶
- ✨
response_class
をRedirectResponse
またはFileResponse
に設定し、関数からURLを返すことを許可しました。新しいドキュメントと更新されたドキュメントは、チュートリアルセクションのカスタムレスポンス - HTML、ストリーム、ファイルなど、RedirectResponseとFileResponseにあります。PR #3457 by @tiangolo。
修正¶
- 🐛
jsonable_encoder
のdictsのinclude/excludeを修正しました。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 with 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の型入門の中国語翻訳コードスニペットの不一致を修正。PR #2573 by @BoYanZh.
- 🌐 開発貢献に関するポルトガル語翻訳を追加。PR #1364 by @Serrones.
- 🌐 チュートリアル - リクエスト - ファイルの中国語翻訳を追加。PR #3244 by @jaystone776.
内部¶
- 👥 FastAPIのメンバーを更新。PR #3450 by @github-actions[bot].
- 👥 FastAPIのメンバーを更新。PR #3319 by @github-actions[bot].
- ⬆️ ドキュメント開発の依存関係である
typer-cli
を>=0.0.12にアップグレードし、競合を修正。PR #3429 by @tiangolo.
0.65.2¶
セキュリティ修正¶
- 🔒 JSONを想定する前にContent-Typeリクエストヘッダーを確認。最初のPR #2118 by @patrickkwang.
この変更により、ブラウザから送信されたJSONペイロードを使用したパス操作で、認証にCookieを使用する際のCSRFセキュリティ脆弱性が修正されます。
0.65.2
より前のバージョンでは、FastAPIは送信されたcontent-type
ヘッダーがapplication/json
または互換性のあるJSONメディアタイプ(例:application/geo+json
)に設定されていなくても、リクエストペイロードをJSONとして読み込もうとしていました。
そのため、text/plain
のcontent typeでJSONデータを含むリクエストが受け入れられ、JSONデータが抽出されていました。
しかし、text/plain
のcontent typeのリクエストは、CORSプリフライトから免除され、Simple requestsと見なされます。そのため、ブラウザは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¶
セキュリティ修正¶
- 📌 pydanticピンをアップグレードして、セキュリティ脆弱性CVE-2021-29510に対応。PR #3213 by @tiangolo.
0.65.0¶
破壊的な変更 - アップグレード¶
- ⬆️ Starletteを
0.14.2
にアップグレード。これには、Starletteから移行された内部UJSONResponse
が含まれます。これには、Starletteのいくつかのバグ修正と機能が含まれています。PR #2335 by @hanneskuettner.
翻訳¶
- 🌐 翻訳用に新しい言語ポーランド語を初期化。PR #3170 by @neternefer.
内部¶
- 👷 GitHub Actionキャッシュを追加して、CIインストールを高速化。PR #3204 by @tiangolo.
- ⬆️ setup-python GitHub Actionをv2にアップグレード。PR #3203 by @tiangolo.
- 🐛
overrides
ボイラープレートを使用して新しい翻訳言語を生成するためのドキュメントスクリプトを修正。PR #3202 by @tiangolo. - ✨ 新しいDetaバナーバッジを新しいスポンサーシップティア🙇とともに追加。PR #3194 by @tiangolo.
- 👥 FastAPIのメンバーを更新。PR #3189 by @github-actions[bot].
- 🔊 FastAPIのメンバーを更新して、より良いデバッグを可能にする。PR #3188 by @tiangolo.
0.64.0¶
機能¶
- ✨ リクエストボディおよびパス、クエリ、Cookie、ヘッダーパラメーターに複数の
examples
を追加するためのサポートを追加。新しいドキュメント:リクエストのサンプルデータの宣言。最初のPR #1267 by @austinorr.
修正¶
- 📌 SemVerを使用しないため、テスト用にSQLAlchemyの範囲を固定。PR #3001 by @tiangolo.
- 🎨 mypyに必要な新しい型アノテーションを追加。PR #2882 by @tiangolo.
- 🎨 内部の「type: ignore」を削除。現在は不要。PR #2424 by @AsakuraMizu.
ドキュメント¶
- 📝 ロシア語の記事「FastAPI: знакомимся с фреймворком」へのリンクを追加。PR #2564 by @trkohler.
- 📝 ブログ記事「Authenticate Your FastAPI App with Auth0」への外部リンクを追加。PR #2172 by @dompatmore.
- 📝 記事へのリンク切れを修正:Machine learning model serving in Python using FastAPI and Streamlit。PR #2557 by @davidefiocco.
- 📝 FastAPI Medium記事を追加:Deploy a dockerized FastAPI application to 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/ko/docs/index.mdの韓国語翻訳を修正。PR #3159 by @SueNaEunYang.
- 🌐 チュートリアル - クエリパラメーターの韓国語翻訳を追加。PR #2390 by @hard-coders.
- 🌐 FastAPIのメンバーのフランス語翻訳を追加。PR #2232 by @JulianMaurin.
- 🌐 チュートリアル - パスパラメーターの韓国語翻訳を追加。PR #2355 by @hard-coders.
- 🌐 機能のフランス語翻訳を追加。PR #2157 by @Jefidev.
- 👥 FastAPIのメンバーを更新。PR #3031 by @github-actions[bot].
- 🌐 チュートリアル - デバッグの中国語翻訳を追加。PR #2737 by @blt232018.
- 🌐 チュートリアル - セキュリティ - パスワード(およびハッシュ)、JWTトークンを使用したBearerによるOAuth2の中国語翻訳を追加。PR #2642 by @waynerv.
- 🌐 チュートリアル - ヘッダーパラメーターの韓国語翻訳を追加。PR #2589 by @mode9.
- 🌐 チュートリアル - メタデータとドキュメントURLの中国語翻訳を追加。PR #2559 by @blt232018.
- 🌐 チュートリアル - 最初のステップの韓国語翻訳を追加。PR #2323 by @hard-coders.
- 🌐 チュートリアル - CORS(クロスオリジンリソース共有)の中国語翻訳を追加。PR #2540 by @blt232018.
- 🌐 チュートリアル - ミドルウェアの中国語翻訳を追加。PR #2334 by @lpdswing.
- 🌐 チュートリアル - イントロの韓国語翻訳を追加。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.
- 🌐 チュートリアル - Cookieパラメーターの中国語翻訳を追加。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.
- 🌐 デプロイメント - はじめにの日本語訳を追加。PR #2309 by @tokusumi.
- 🌐 FastAPI People の日本語訳を追加。PR #2254 by @tokusumi.
- 🌐 応用 - パス操作の高度な設定の日本語訳を追加。PR #2124 by @Attsun1031.
- 🌐 外部リンクの日本語訳を追加。PR #2070 by @tokusumi.
- 🌐 チュートリアル - リクエストボディ - 更新の日本語訳を追加。PR #1956 by @SwftAlpc.
- 🌐 チュートリアル - フォームデータの日本語訳を追加。PR #1943 by @SwftAlpc.
- 🌐 チュートリアル - Cookie パラメータの日本語訳を追加。PR #1933 by @SwftAlpc.
内部¶
- 🔧 トップバナーを更新し、ニュースレターに誘導。PR #3003 by @tiangolo.
- 🔧 スポンサーのWeTransferを無効化。PR #3002 by @tiangolo.
- 👥 FastAPI People を更新。PR #2880 by @github-actions[bot].
- 👥 FastAPI People を更新。PR #2739 by @github-actions[bot].
- 🔧 新しいゴールドスポンサー Talk Python 🎉 を追加。PR #2673 by @tiangolo.
- 🔧 新しいゴールドスポンサー vim.so 🎉 を追加。PR #2669 by @tiangolo.
- 🔧 FastAPI ユーザーアンケートバナーを追加。PR #2623 by @tiangolo.
- 🔧 新しいブロンズスポンサーを追加 🥉🎉。PR #2622 by @tiangolo.
- 📝 ソーシャルリンクを更新:Discordを追加、GitHubを修正。PR #2621 by @tiangolo.
- 🔧 FastAPI People GitHub Sponsors の順序を更新。PR #2620 by @tiangolo.
- 🔧 InvestSuite のスポンサーデータを更新。PR #2608 by @tiangolo.
- 👥 FastAPI People を更新。PR #2590 by @github-actions[bot].
0.63.0¶
機能¶
破壊的な変更¶
- ⬆️
fastapi[all]
をインストールする際に Uvicorn を最新バージョン(uvloop
を含む)にアップグレード。新しい範囲はuvicorn[standard] >=0.12.0,<0.14.0
。PR #2548 by @tiangolo.
修正¶
- 🐛 PR #2547(上記参照)では、
callbacks
パラメータとOAuth2
クラス使用時の偽陽性の mypy エラーも修正。
ドキュメント¶
- 📝 Uvicorn のインストール手順を uvicorn[standard] を使うように更新(uvloop を含む)。PR #2543 by @tiangolo.
- 📝 Deta チュートリアルのタイトルを更新。PR #2466 by @tiangolo.
- 👥 FastAPI People を更新。PR #2454 by @github-actions[bot].
翻訳¶
- 🌐 ドキュメントの言語セレクターウィジェットを追加。PR #2542 by @tiangolo.
- 🌐 チュートリアル - レスポンスステータスコードの中国語訳を追加。PR #2442 by @waynerv.
- 🌐 アルバニア語のドキュメント翻訳を開始。PR #2516 by @vjanz.
- 🌐 チュートリアル - 拡張モデルの中国語訳を追加。PR #2416 by @waynerv.
- 🌐 チュートリアル - レスポンスモデルの中国語訳を追加。PR #2414 by @waynerv.
- 🌐 チュートリアル - スキーマの追加例の中国語訳を追加。PR #2411 by @maoyibo.
- 🌐 Index の韓国語訳を追加。PR #2192 by @hard-coders.
- 🌐 応用ユーザーガイド - 追加のステータスコードの日本語訳を追加。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.
- 🔧 Issue テンプレート設定を追加。PR #2476 by @tiangolo.
0.62.0¶
機能¶
これまで、いくつかのオプションをパス操作のグループに適用する唯一の方法は、include_router
でした。これはうまく機能しますが、app.include_router()
または router.include_router()
の呼び出しは通常、別のファイルで行われます。
つまり、たとえば、認証をルーター内のすべてのパス操作に適用するには、関連ロジックをまとめるのではなく、別のファイルで実行されることになります。
include_router
でオプションを設定することは、たとえば、アプリに含まれるサードパーティルーターからの構成を上書きまたは増やす場合など、一部のケースでは依然として意味があります。しかし、より大きなアプリケーションの一部であるルーターでは、APIRouter
を作成するときにこれらの設定を追加する方がおそらく理にかなっているでしょう。
FastAPI
で
これにより、(既にあるパラメータに加えて)(ほとんど新しい)パラメータを設定できます。
default_response_class
:APIRouter
およびinclude_router
のデフォルトを処理するように更新。dependencies
:アプリケーション全体に適用される ✨ トップレベル依存関係 ✨ を含めるため。例:グローバル認証を追加。callbacks
:すべてのパス操作に適用される OpenAPI コールバック。deprecated
:すべてのパス操作を非推奨としてマークするため。🤷include_in_schema
:OpenAPI スキーマからすべてのパス操作を除外できるようにするため。responses
:すべてのパス操作に適用される OpenAPI レスポンス。
例:
from fastapi import FastAPI, Depends
async def some_dependency():
return
app = FastAPI(dependencies=[Depends(some_dependency)])
APIRouter
で
これにより、(既にあるパラメータに加えて)(ほとんど新しい)パラメータを設定できます。
default_response_class
:APIRouter
およびinclude_router
のデフォルトを処理するように更新。たとえば、コールバックを作成するときに明示的に設定する必要はありません。dependencies
:ルーター内のすべてのパス操作に適用される ✨ ルーターレベル依存関係 ✨ を含めるため。これまで、これはinclude_router
でのみ可能でした。callbacks
:このルーター内のすべてのパス操作に適用される OpenAPI コールバック。deprecated
:ルーター内のすべてのパス操作を非推奨としてマークするため。include_in_schema
:OpenAPI スキーマからルーター内のすべてのパス操作を除外できるようにするため。responses
:ルーター内のすべてのパス操作に適用される OpenAPI レスポンス。prefix
:ルーターのパスプレフィックスを設定するため。これまで、これはinclude_router
を呼び出すときにのみ可能でした。tags
:このルーター内のすべてのパス操作に適用される OpenAPI タグ。
例:
from fastapi import APIRouter, Depends
async def some_dependency():
return
router = APIRouter(prefix="/users", dependencies=[Depends(some_dependency)])
include_router
で
これらの設定のほとんどは APIRouter
でサポートされるようになり、通常は関連するコードの近くにあるため、可能な場合は APIRouter
を使用することをお勧めします。
ただし、include_router
は、たとえば、サードパーティルーター、または複数のプロジェクト間で共有される汎用ルーターを含めるときにオプション(dependencies
、prefix
、tags
など)を追加するのに依然として役立ちます。
この PR により、(既にあるパラメータに加えて)(ほとんど新しい)パラメータを設定できます。
default_response_class
:APIRouter
およびFastAPI
のデフォルトを処理するように更新。deprecated
:OpenAPI でルーター内のすべてのパス操作を非推奨としてマークするため。include_in_schema
:OpenAPI スキーマでのすべてのパス操作の表示を無効にできるようにするため。callbacks
:このルーター内のすべてのパス操作に適用される OpenAPI コールバック。
注:以前のすべてのパラメータはまだ存在するため、include_router
で dependencies
を宣言することもできます。
破壊的な変更¶
- PR #2434 には、通常のユースケースには影響しないはずですが、高度なシナリオでは影響する可能性のあるいくつかの改善が含まれています
- 生成された OpenAPI をテストしている場合(FastAPI はすでに広範囲にテストしているため、そうすべきではありません):
include_router
およびパス操作のtags
の順序が整合性のために更新されましたが、これは単純な順序変更です。 - 各ルートの
route.response_class
、またはrouter.default_response_class
、またはapp.default_response_class
にアクセスするための高度なカスタムロジックがある場合:APIRoute
のresponse_class
と、APIRouter
およびFastAPI
のdefault_response_class
のデフォルト値は、デフォルト値とオーバーライドを処理および解決するために内部で使用されるDefaultPlaceholder
になりました。DefaultPlaceholder
内の実際のレスポンスクラスは、route.response_class.value
で利用できます。
- 生成された OpenAPI をテストしている場合(FastAPI はすでに広範囲にテストしているため、そうすべきではありません):
ドキュメント¶
-
PR #2434 (上記) には、新規または更新されたドキュメントが含まれています
-
📝 FastAPI モニタリングブログ記事を外部リンクに追加。PR #2324 by @louisguitton.
- ✏️ Deta チュートリアルでのタイプミスを修正。PR #2320 by @tiangolo.
- ✨ Discord チャットを追加。PR #2322 by @tiangolo.
- 📝 スポンサーの画像リンクを修正。PR #2304 by @tiangolo.
翻訳¶
- 🌐 応用 - カスタムレスポンスの日本語訳を追加。PR #2193 by @Attsun1031.
- 🌐 ベンチマークの中国語訳を追加。PR #2119 by @spaceack.
- 🌐 チュートリアル - リクエストボディ - ネストされたモデルの中国語訳を追加。PR #1609 by @waynerv.
- 🌐 高度なカスタムレスポンスの中国語翻訳を追加しました。PR #1459 by @RunningIkkyu.
- 🌐 高度なレスポンスの直接返却の中国語翻訳を追加しました。PR #1452 by @RunningIkkyu.
- 🌐 高度な追加ステータスコードの中国語翻訳を追加しました。PR #1451 by @RunningIkkyu.
- 🌐 高度なパス操作の高度な設定の中国語翻訳を追加しました。PR #1447 by @RunningIkkyu.
- 🌐 高度なユーザーガイド - はじめにの中国語翻訳を追加しました。PR #1445 by @RunningIkkyu.
内部¶
- 🔧 スポンサーセクションのTestDrivenへのリンクをコースに更新しました。PR #2435 by @tiangolo.
- 🍱 スポンサーロゴを更新しました。PR #2418 by @tiangolo.
- 💚 フォークでMaterial for MkDocs Insidersのインストールを無効にする問題を修正しました。1回目 ⚾。PR #2340 by @tiangolo.
- 🐛 フォークでのMaterial for MkDocs Insidersのインストール無効化を修正しました。PR #2339 by @tiangolo.
- ✨ シルバー スポンサー WeTransfer を追加しました。PR #2338 by @tiangolo.
- ✨ ドキュメント用にMaterial for MkDocs Insidersをセットアップして有効化しました。PR #2325 by @tiangolo.
0.61.2¶
修正¶
- 📌 Swagger UI バージョンのピン留めを緩和しました。PR #2089 by @jmriebold.
- 🐛 exception_handlersからのカスタム HTTPException および RequestValidationError のオーバーライドバグを修正しました。PR #1924 by @uriyyo.
- ✏️ 依存関係ユーティリティのタイプミスを修正し、未使用の変数をクリーンアップしました。PR #1912 by @Kludex.
ドキュメント¶
- ✏️ チュートリアル - パスパラメータのタイプミスを修正しました。PR #2231 by @mariacamilagl.
- ✏ ドキュメントのスタイルエラーを修正しました。PR #2206 by @ddobrinskiy.
- ✏ ドキュメントの大文字のタイプミスを修正しました。PR #2204 by @imba-tjd.
- ✏ ドキュメントのタイプミスを修正しました。PR #2179 by @ammarasmro.
- 📝 ドキュメント内のリンクをHTTPSを使用するように更新/修正しました。PR #2165 by @imba-tjd.
- ✏ ドキュメントのタイプミスを修正し、言い回しを追加しました。PR #2159 by @nukopy.
- 📝 チュートリアル - ユーザーガイド - パスパラメータの例のコードの一貫性を修正しました。PR #2158 by @nukopy.
- 📝 名前が変更されたパラメータ
content_type
のタイプミスを修正しました。PR #2135 by @TeoZosa. - ✏ ドキュメントの軽微なタイプミスを修正しました。PR #2122 by @TeoZosa.
- ✏ ドキュメントとソース例のタイプミスを修正しました。PR #2102 by @AdrianDeAnda.
- ✏ ドキュメントのCelery URLの間違いを修正しました。PR #2100 by @CircleOnCircles.
- 📝 Python型の入門を簡略化しました。現在サポートされているすべてのPythonバージョンに型ヒントが含まれています 🎉。PR #2085 by @ninjaaron.
- 📝 チュートリアル - Body - ネストされたモデル3のセットを使用したサンプルコードを修正しました。PR #2054 by @hitrust.
- 📝 チュートリアル - Body - ネストされたモデル2のセットを使用したサンプルコードを修正しました。PR #2053 by @hitrust.
- 📝 チュートリアル - Body - ネストされたモデルのセットを使用したサンプルコードを修正しました。PR #2052 by @hitrust.
- ✏ ベンチマークのタイプミスを修正しました。PR #1995 by @AlejoAsd.
- 📝 CORSチュートリアルに、["*"]を使用したallow_originsとallow_credentialsに関する注意事項を追加しました。PR #1895 by @dsmurrell.
- 📝 初のゴールドスポンサー🎉、Detaへのデプロイを追加しました。PR #2303 by @tiangolo.
- 👥 FastAPIのメンバーを更新しました。PR #2282 by @github-actions[bot].
- ✏️ チュートリアル - クエリパラメーターの大文字を修正しました。PR #2245 by @mariacamilagl.
- 📝 外部リンクに記事を追加しました。PR #2247 by @tiangolo.
- ✏ スペイン語チュートリアルのインデックスのタイプミスを修正しました。PR #2020 by @aviloncho.
翻訳¶
- 🌐 高度なチュートリアル - 直接レスポンスの日本語翻訳を追加しました。PR #2191 by @Attsun1031.
- 📝 チュートリアル - セキュリティ - 最初のステップの日本語翻訳を追加しました。PR #2153 by @komtaki.
- 🌐 チュートリアル - クエリパラメーターと文字列検証の日本語翻訳を追加しました。PR #1901 by @SwftAlpc.
- 🌐 外部リンクのポルトガル語翻訳を追加しました。PR #1443 by @Serrones.
- 🌐 チュートリアル - CORSの日本語翻訳を追加しました。PR #2125 by @tokusumi.
- 🌐 貢献の日本語翻訳を追加しました。PR #2067 by @komtaki.
- 🌐 プロジェクト生成の日本語翻訳を追加しました。PR #2050 by @tokusumi.
- 🌐 代替案の日本語翻訳を追加しました。PR #2043 by @Attsun1031.
- 🌐 歴史のデザインと将来の日本語翻訳を追加しました。PR #2002 by @komtaki.
- 🌐 ベンチマークの日本語翻訳を追加しました。PR #1992 by @komtaki.
- 🌐 チュートリアル - ヘッダーパラメーターの日本語翻訳を追加しました。PR #1935 by @SwftAlpc.
- 🌐 チュートリアル - 最初のステップのポルトガル語翻訳を追加しました。PR #1861 by @jessicapaz.
- 🌐 Python型のポルトガル語翻訳を追加しました。PR #1796 by @izaguerreiro.
- 🌐 FastAPIを支援するの日本語翻訳を追加しました。PR #1692 by @tokusumi.
- 🌐 チュートリアル - Bodyの日本語翻訳を追加しました。PR #1683 by @tokusumi.
- 🌐 チュートリアル - クエリパラメーターの日本語翻訳を追加しました。PR #1674 by @tokusumi.
- 🌐 tutorial/path-params.mdの日本語翻訳を追加しました。PR #1671 by @tokusumi.
- 🌐 tutorial/first-steps.mdの日本語翻訳を追加しました。PR #1658 by @tokusumi.
- 🌐 tutorial/index.mdの日本語翻訳を追加しました。PR #1656 by @tokusumi.
- 🌐 プロジェクト生成のポルトガル語翻訳を追加しました。PR #1602 by @Serrones.
- 🌐 機能の日本語翻訳を追加しました。PR #1625 by @tokusumi.
- 🌐 翻訳用に新しい言語である韓国語を初期化しました。PR #2018 by @hard-coders.
- 🌐 デプロイメントのポルトガル語翻訳を追加しました。PR #1374 by @Serrones.
内部¶
- 🔥 Docs Previews GitHub Actionのアップグレード後にクリーンアップしました。PR #2248 by @tiangolo.
- 🐛 CI ドキュメントプレビューを修正し、ドキュメントを解凍しました。PR #2246 by @tiangolo.
- ✨ フォークからのPR用のインスタントドキュメントデプロイプレビューを追加しました。PR #2244 by @tiangolo.
- ⚡️ CIを高速化するために、サブプロセスで言語のドキュメントを並行してビルドします。PR #2242 by @tiangolo.
- 🐛 部分的な翻訳に対するドキュメントの順序生成を修正しました。PR #2238 by @tiangolo.
- 👥 FastAPIのメンバーを更新しました。PR #2202 by @github-actions[bot].
- ♻️ FastAPIのメンバー GitHub Action を github-actions として PR を送信するように更新しました。PR #2201 by @tiangolo.
- 🔧 FastAPIのメンバー GitHub Action の設定を更新し、毎月実行するようにしました。PR #2199 by @tiangolo.
- 🐛 FastAPIのメンバー GitHub Action のDocker依存関係を修正しました。1回目 ⚾。PR #2198 by @tiangolo.
- 🐛 FastAPIのメンバー GitHub Action のDocker依存関係を修正しました。PR #2197 by @tiangolo.
- 🐛 変更がない場合にFastAPIのメンバー GitHub Actionを修正しました。PR #2196 by @tiangolo.
- 👥 FastAPIの新しいセクション「FastAPI People」を追加しました。PR #2195 by @tiangolo.
- ⬆️ GitHub Actions の最新の変更をアップグレードしました。PR #2190 by @tiangolo。
- ⬆️ GitHub Action Label Approved をアップグレードしました。PR #2189 by @tiangolo。
- 🔧 GitHub Action Label Approved を更新し、12:00 に実行するようにしました。PR #2185 by @tiangolo。
- 👷 GitHub Action Latest Changes をアップグレードしました。PR #2184 by @tiangolo。
- 👷 GitHub Action Label Approved を毎分ではなく、毎日実行するように設定しました。PR #2163 by @tiangolo。
- 🔥 pr-approvals GitHub Action はフォークと互換性がないため削除しました。新しいものを使用してください。PR #2162 by @tiangolo。
- 👷 GitHub Action Latest Changes を追加しました。PR #2160。
- 👷 GitHub Action Label Approved を追加しました。PR #2161。
0.61.1¶
修正¶
- SQLAlchemy モデルを
jsonable_encoder
で直接使用する際の問題を修正しました。PR #1987。
ドキュメント¶
- NoSQL ドキュメントのタイプミスを修正しました。PR #1980 by @facundojmaero。
翻訳¶
- メインページの日本語訳を追加しました。PR #1571 by @ryuckel。
- フランス語訳を初期化しました。PR #1975 by @JulianMaurin-BM。
- トルコ語訳を初期化しました。PR #1905 by @ycd。
内部¶
0.61.0¶
機能¶
HTTPConnection
(Request
およびWebSocket
として) の注入のサポートを追加しました。依存関係でアプリの状態を共有するのに便利です。PR #1827 by @nsidnev。WebSocketDisconnect
をエクスポートし、WebSocket の切断を処理する例をドキュメントに追加しました。PR #1822 by @rkbeatss。
破壊的な変更¶
- Pydantic >
1.0.0
が必要です。- 非推奨の Pydantic
0.32.2
のサポートを削除しました。これにより、保守性が向上し、新機能が可能になります。 FastAPI
およびAPIRouter
で- パス操作デコレーターの関連/非推奨パラメーター
response_model_skip_defaults
を削除しました (代わりにresponse_model_exclude_unset
を使用してください)。 - パス操作デコレーターのパラメーターのデフォルト値を
response_model_exclude
をset()
からNone
に変更しました (Pydantic と同様)。
- パス操作デコレーターの関連/非推奨パラメーター
encoders.jsonable_encoder
で- 非推奨の
skip_defaults
を削除し、代わりにexclude_unset
を使用します。 exclude
のデフォルト値をset()
からNone
に設定しました (Pydantic と同様)。
- 非推奨の
- PR #1862。
- 非推奨の Pydantic
encoders.jsonable_encoder
からパラメーターsqlalchemy_safe
を削除しました。- これは、SQLAlchemy モデルの返却を可能にする初期のハックでしたが、ドキュメント化されておらず、推奨される方法は、チュートリアルで説明されているように、Pydantic の
orm_mode
を使用することです: SQL (リレーショナル) データベース。 - PR #1864。
- これは、SQLAlchemy モデルの返却を可能にする初期のハックでしたが、ドキュメント化されておらず、推奨される方法は、チュートリアルで説明されているように、Pydantic の
ドキュメント¶
- TestDriven.io によるコースへのリンクを追加しました: FastAPI および Docker を使用したテスト駆動開発。PR #1860。
- エラー処理に関するドキュメント例の空のログメッセージを修正しました。PR #1815 by @manlix。
- 性別に依存しないように、あいまいさを減らすためにテキストを言い換えました。PR #1824 by @Mause。
内部¶
- Flake8 リンティングを追加しました。元の PR #1774 by @MashhadiNima。
- Gitter ボットは現在壊れており、Gitter の応答に問題が表示されないため、無効にしました。PR #1853。
0.60.2¶
- クエリパラメータのドキュメントのタイプミスを修正しました。PR #1832 by @ycd。
- 非同期テストに関するドキュメントを追加しました。PR #1619 by @empicano。
python-multipart
がインストールされていない状態でフォームデータ (Form
、File
) を使用すると例外を発生させるようにしました。- これまで、アプリケーションは実行され、フォームデータを含むリクエストを受信した場合にのみ例外を発生させていました。新しい動作では、早期に例外を発生させることで、破損した依存関係を持つアプリケーションのデプロイを防ぎます。
- また、正しくない
multipart
(両方ともmultipart
としてインポート可能) の代わりに、正しいパッケージpython-multipart
がインストールされているかどうかを検出します。 - PR #1851 は、元の PR #1627 をベースにしており、@chrisngyn, @YKo20010, @kx-chen によって作成されました。
- Gitter リリースボットを再度有効にしました。PR #1831。
- メインの SQL チュートリアルから非同期 SQL データベースのチュートリアルへのリンクを追加しました。PR #1813 by @short2strings。
- プロキシの背後にあるチュートリアルのタイプミスを修正しました。PR #1807 by @toidi。
- ポルトガル語ドキュメントのタイプミスを修正しました。PR #1795 by @izaguerreiro。
- ウクライナ語の翻訳セットアップを追加しました。PR #1830。
- 外部リンク FastAPI を使用して高速データサイエンスアプリケーションを構築およびホストする を追加しました。PR #1786 by @Kludex。
- カスタム
json_encoders
を持つ他のモデルから継承した Pydantic モデルのエンコードを修正しました。PR #1769 by @henrybetts。 jsonable_encoder
を簡略化および改善しました。PR #1754 by @MashhadiNima。- いくつかの点で内部コード構文を簡略化しました。PR #1753 by @uriyyo。
- 内部型指定を改善し、
Optional
パラメーターを宣言しました。PR #1731 by @MashhadiNima。 - ドキュメントに外部リンク Azure App Service に FastAPI をデプロイする を追加しました。PR #1726 by @windson。
- WebSocket テストに関する Starlette ドキュメントへのリンクを追加しました。PR #1717 by @hellocoldworld。
- 依存関係の生成をリファクタリングし、for ループをマージしました。PR #1714 by @Bloodielie。
- Jinja を使用したテンプレートの例を、HTML メディアタイプを含めるように更新しました。PR #1690 by @frafra。
- セキュリティに関するドキュメントのタイプミスを修正しました。PR #1678 by @nilslindemann。
- 依存関係に関するドキュメントのタイプミスを修正しました。PR #1675 by @nilslindemann。
FastAPI
の**extra
パラメータの型注釈を修正しました。PR #1659 by @bharel。- ダークモードのブラウザでドキュメントを修正するために、MkDocs Material をバンプしました。PR #1789 by @adriencaccia。
- 各コミットからドキュメントプレビューのコメントを削除しました。PR #1826。
- Gitter 通知ボットの GitHub コンテキスト抽出を更新しました。PR #1766。
0.60.1¶
- GitHub の隠されたコンテキストを調べるために、GitHub アクションのデバッグログを追加しました。PR #1764。
- オンラインドキュメントに OS 環境設定テーマを使用します。PR #1760 by @adriencaccia。
- Windows で静的ファイルを使用する場合の脆弱性に対処するために、Starlette をバージョン
0.13.6
にアップグレードしました。PR #1759 by @jamesag26。 - swagger-api/swagger-ui#6249 の修正を待って、Swagger UI を一時的にピン留めしました。PR #1763。
- GitHub Actions を更新し、プレマージからのコミットではなく、ドキュメントプレビューの PR からのコミットを使用するようにしました。PR #1761。
- GitHub Actions を更新し、Gitter ボットをリファクタリングしました。PR #1746。
0.60.0¶
- プレビュードキュメントの欠落を監視し、プレビューデプロイをトリガーする GitHub Action を追加しました。PR #1740。
- ドキュメントプレビューで成果物を取得するためのカスタム GitHub Action を追加しました。PR #1739。
- PR からドキュメントをプレビューするための新しい GitHub Actions を追加しました。PR #1738。
- GitHub Actions をサポートするために XML テストカバレッジを追加しました。PR #1737。
- バッジを更新し、GitHub Actions がメインの CI であるため、Travis を削除しました。PR #1736。
- CI 用に GitHub Actions を追加し、Travis から移行しました。PR #1735。
- 本体付きの GET リクエストの OpenAPI スキーマを追加するためのサポートを追加しました。PR #1626 by @victorphoenix3。
0.59.0¶
- OAuth2 ユーティリティの docstring のタイプミスを修正しました。PR #1621 by @tomarv2。
- PyJWT の代わりに Python-jose を使用するように JWT ドキュメントを更新しました。初期 PR #1610 by @asheux。
- ドキュメントの検索バーを修正/再有効化しました。PR #1703。
paths
全体をプレフィックスする代わりに、root_path
がある場合に OpenAPIservers
で "server" を自動生成します- 外部リンクのタイプミス/リンクを修正。PR #1702。
- 外部リンクの処理を更新し、データファイルを使用するようにして、新しいリンクが追加されたときにすぐに古くならないようにヘッダーを翻訳できるようにしました。PR #https://github.com/tiangolo/fastapi/pull/1701。
- 外部リンク FastAPIとStreamlitを使用したPythonでの機械学習モデルの提供をドキュメントに追加。PR #1669 by @davidefiocco。
- Pydantic Unionsの順序に関する注記をドキュメントに追加。PR #1591 by @kbanc。
- エディターでのテストのサポートを改善。PR #1699。
- 依存関係を固定。PR #1697。
- isortをバージョン5.x.xに更新。PR #1670 by @asheux。
0.58.1¶
- Pydanticのデータ型へのリンクをドキュメントに追加。PR #1612 by @tayoogunbiyi。
openapi_prefix
の警告ログのリンクを修正。PR #1611 by @bavaria95。- ドキュメントの誤ったリンクを修正。PR #1603 by @molto0504。
- Vimを使用しているコントリビューターのために、Vimの一時ファイルを
.gitignore
に追加。PR #1590 by @asheux。 - サブアプリケーションのドキュメントのタイプミスを修正。PR #1578 by @schlpbch。
- ドキュメントのすべての例で
Optional
を使用。オリジナルPR #1574 by @chrisngyn, @kx-chen, @YKo20010。更新されマージされたPR #1644。 response_model_by_alias
のテストと処理を更新。PR #1642。- Body - Fields - リクエストボディ - フィールドの中国語訳を追加。PR #1569 by @waynerv。
- メインページの中国語訳を更新。PR #1564 by @waynerv。
- Body - Multiple Parameters - リクエストボディ - 複数のパラメーターの中国語訳を追加。PR #1532 by @waynerv。
- Path Parameters and Numeric Validations - パスパラメーターと数値検証の中国語訳を追加。PR #1506 by @waynerv。
- 承認済みのPR(主に翻訳用)を自動ラベル付けするGitHubアクションを追加。PR #1638。
0.58.0¶
- すべての追加メタデータを保持するために、OpenAPIレスポンスをディープマージ。PR #1577。
- メインアプリのイベントのみが実行されること(サブアプリではない)をドキュメントで言及。PR #1554 by @amacfie。
- ボディ検証エラーレスポンスを修正し、埋め込まれていない場合はボディ変数を組み込まないようにします。PR #1553 by @amacfie。
- 依存関係のオーバーライドを使用する場合のOAuth2セキュリティスコープのテストを修正。PR #1549 by @amacfie。
- JSONスキーマキーワード
not
のモデルを、リストではなくJSONスキーマとして修正。PR #1548 by @v-do。 - OpenAPI
servers
のサポートを追加。PR #1547 by @mikaello。
0.57.0¶
- 「外部リンク」から壊れたリンクを削除。PR #1565 by @victorphoenix3。
- 依存関係のあるWebSocketsのドキュメントを更新/修正。オリジナルPR #1540 by @ChihSeanHsu。
status_code
パラメーターでPythonのhttp.HTTPStatus
のサポートを追加。PR #1534 by @retnikt。__root__
を持つPydanticモデルを使用する場合、jsonable_encoder
で内部値を使用。PR #1524 by @patrickkwang。- パスパラメーターのドキュメントを更新。PR #1521 by @yankeexe。
- 最初のステップ、リンク、および言い換えのドキュメントを更新。PR #1518 by @yankeexe。
- Swagger UIで
maxLength
などの追加の検証を表示するためにshowCommonExtensions
を有効化。PR #1466 by @TiewKH。 OAuth2PasswordRequestFormStrict
をfastapi.security
から直接インポートできるようにします。PR #1462 by @RichardHoekstra。- デフォルトレスポンスクラスに関するドキュメントを追加。PR #1455 by @TezRomacH。
- レスポンスモデルの追加パラメーター
response_model_exclude_defaults
およびresponse_model_exclude_none
に関するメモをドキュメントに追加。PR #1427 by @wshayes。 - PyCharm Pydanticプラグインに関するメモをドキュメントに追加。PR #1420 by @koxudaxi。
- テスト関数の名前を更新して明確化。PR #1395 by @chenl。
- リクエストを直接使用する間接的な依存関係によって作成された重複ヘッダーを修正。PR #1386 by @obataku from tests by @scottsmith2gmail。
- Starletteバージョンを
0.13.4
にアップグレード。PR #1361 by @rushton。 - 無効なJSONを使用したリクエストのエラー処理とフィードバックを改善。PR #1354 by @aviramha。
- OpenAPIでタグのメタデータを宣言するためのサポートを追加。チュートリアル - メタデータとドキュメントURL - タグのメタデータの新しいドキュメント。PR #1348 by @thomas-maschler。
- ロシア語翻訳の基本的なセットアップを追加。PR #1566。
- 公式のコミュニティ翻訳を追加した後、廃止された中国語の記事を削除。PR #1510 by @waynerv。
- デバッグを簡単にするために、パス操作関数パラメーターヘルパー(
Query
、Depends
など)に__repr__
を追加。PR #1560 by @rkbeatss and @victorphoenix3。
0.56.1¶
- チュートリアルから高度なドキュメントへのリンクを追加。PR #1512 by @kx-chen。
- 内部の不要なf文字列を削除。PR #1526 by @kotamatsuoka。
- Query Parameters and String Validations - クエリパラメーターと文字列検証の中国語訳を追加。PR #1500 by @waynerv。
- Request Body - リクエストボディの中国語訳を追加。PR #1492 by @waynerv。
- Help FastAPI - Get Help - 帮助 FastAPI - 获取帮助の中国語訳を追加。PR #1465 by @waynerv。
- Query Parameters - クエリパラメーターの中国語訳を追加。PR #1454 by @waynerv。
- Contributing - 開発 - 貢献の中国語訳を追加。PR #1460 by @waynerv。
- Path Parameters - パスパラメーターの中国語訳を追加。PR #1453 by @waynerv。
- FastAPIとAzure Cognitive SkillsでspaCyを提供するための公式Microsoftプロジェクトジェネレーターをプロジェクトジェネレーターに追加。PR #1390 by @kabirkhan。
Optional
に関する情報を含めるように、Python Types Introのドキュメントを更新。オリジナルPR #1377 by @yaegassy。yield
を使用する呼び出し可能クラスの依存関係のサポートを修正。PR #1365 by @mrosales。- クライアントが無効なペイロードを送信した場合の誤ったエラーログを修正/削除。PR #1351 by @dbanty。
- First Steps - 第一歩の中国語訳を追加。PR #1323 by @waynerv。
- Pydanticモデルを含むルーターでコールバックを使用するアプリのOpenAPI生成を修正。PR #1322 by @nsidnev。
get_path_param_names()
の内部正規表現のパフォーマンスを最適化。PR #1243 by @heckad。- ドキュメントで不要な関数の
*,
を削除。PR #1239 by @pankaj-giri。 - イタリア語の翻訳を開始。PR #1557 by @csr。
0.56.0¶
- ASGI
root_path
のサポートを追加- マウントされたアプリケーションに内部で
root_path
を使用することで、OpenAPIとドキュメントUIが追加の構成やパラメーターなしで自動的に動作するようにします。 FastAPI
アプリケーションに新しいroot_path
パラメーターを追加して、コマンドラインで設定できる場合(例:UvicornおよびHypercornの場合、パラメーター--root-path
を使用)に指定できるようにします。- 新しい
root_path
パラメーターを優先して、openapi_prefix
パラメーターを非推奨にします。 openapi_prefix
なしで(自動的に処理されるようになったため)、サブアプリケーション - マウントの新しい/更新されたドキュメントを追加します。- Traefikを使用したローカルテストプロキシの設定方法や、
root_path
の使用方法などを含めて、プロキシの背後の新しい/更新されたドキュメントを追加します。 - 新しい
openapi_prefix
パラメータ(内部的にはroot_path
から生成)を渡して、OpenAPIの拡張に関するドキュメントを更新しました。 - 元のPRは#1199、作成者は@iksteenです。
- マウントされたアプリケーションに内部で
- 新しいIssueテンプレートとドキュメントを更新しました:FastAPIのヘルプ - ヘルプを受ける。PRは#1531です。
- GitHub action issue-managerを更新しました。PRは#1520です。
- 新しいリンクを追加しました。
- 英語の記事:
- PythonとPostgresによるリアルタイム通知、著者:Guillermo Cruz。
- FastAPIを使ったPythonマイクロサービス、著者:Paurakh Sharma Humagain。
- Python FastAPIでシンプルなAPIサービスを構築する - パート1、著者:cuongld2。
- FastAPI + Zeit.co = 🚀、著者:Paul Sec。
- FastAPIでWeb APIをゼロから構築する - ワークショップ、著者:Sebastián Ramírez (tiangolo)。
- PythonとFastAPIで安全なTwilio Webhookを構築する、著者:Twilio。
- DjangoでFastAPIを使用する、著者:Stavros Korokithakis。
- Dispatchの紹介、著者:Netflix。
- ポッドキャスト:
- 講演:
- PR #1467。
- 英語の記事:
- Pythonの型入門 - Python タイプヒント概要の中国語翻訳を追加しました。PRは#1197、作成者は@waynervです。
0.55.1¶
- パスパラメータで独自のスキーマを持つenumの処理を修正しました。FastAPIでpydantic/pydantic#1432をサポートするためです。PRは#1463です。
0.55.0¶
- enumがOpenAPIで独自のスキーマを持つことができるようにしました。FastAPIでpydantic/pydantic#1432をサポートするためです。PRは#1461です。
- GitHub Sponsorsを通じて資金提供するためのリンクを追加しました。PRは#1425です。
- 質問のためのIssueテンプレートを更新しました。PRは#1344、作成者は@retniktです。
- ドキュメントにパスワードを保存することについての警告を更新しました。PRは#1336、作成者は@skorokithakisです。
- タイプミスを修正しました。PRは#1326、作成者は@chenlです。
- 代替、インスピレーション、比較 - Alternativas, Inspiração e Comparaçõesのポルトガル語翻訳を追加しました。PRは#1325、作成者は@Serronesです。
- ドキュメントのタイプミスを2つ修正しました。PRは#1324、作成者は@waynervです。
- CORSドキュメントを更新し、
max_age=600
の正しいデフォルトを修正しました。PRは#1301、作成者は@derekbekoeです。 - メインページのポルトガル語翻訳を追加しました。PRは#1300、作成者は@Serronesです。
- フィールドの追加情報に関するドキュメントを言い換え、明確にしました。PRは#1299、作成者は@chris-allnuttです。
- ドキュメントの短い機能の
*
が(.
の後で)すべての言語で一貫していることを確認しました。PRは#1424です。 - SQLAlchemyチュートリアルの
get_db
の実行順序を更新しました。PRは#1293、作成者は@bcbです。 - Asyncドキュメントのタイプミスを修正しました。PRは#1423です。
0.54.2¶
- 並行性とasync / await - Concurrencia y async / awaitのスペイン語翻訳を追加しました。PRは#1290、作成者は@alvaropernasです。
- 廃止された投票リンクを削除しました。PRは#1289、作成者は@donhuiです。
openapi_url=None
でOpenAPIを無効にするだけで、ドキュメントUIを無効にできるようにしました。ドキュメントの新しい例:高度:条件付きOpenAPI。PRは#1421です。- ベンチマーク - Comparaçõesのポルトガル語翻訳を追加しました。PRは#1274、作成者は@Serronesです。
- チュートリアル - ユーザーガイド - はじめに - Tutorial - Guia de Usuário - Introduçãoのポルトガル語翻訳を追加しました。PRは#1259、作成者は@marcosmmbです。
- 翻訳のために、MkDocsでUnicodeを使用できるようにしました。PRは#1419です。
- 高度なユーザーガイド - はじめに - Guía de Usuario Avanzada - Introducciónのスペイン語翻訳を追加しました。PRは#1250、作成者は@jfunezです。
- 歴史、設計、未来 - História, Design e Futuroのポルトガル語翻訳を追加しました。PRは#1249、作成者は@marcosmmbです。
- 機能 - Recursosのポルトガル語翻訳を追加しました。PRは#1248、作成者は@marcosmmbです。
- チュートリアル - ユーザーガイド - はじめに - Tutorial - Guía de Usuario - Introducciónのスペイン語翻訳を追加しました。PRは#1244、作成者は@MartinEliasQです。
- デプロイメント - 部署の中国語翻訳を追加しました。PRは#1203、作成者は@RunningIkkyuです。
- チュートリアル - ユーザーガイド - はじめに - 教程 - 用户指南 - 简介の中国語翻訳を追加しました。PRは#1202、作成者は@waynervです。
- 機能 - 特性の中国語翻訳を追加しました。PRは#1192、作成者は@Dustyposaです。
- メインページの中国語翻訳を追加しました。PRは#1191、作成者は@waynervです。
- プロジェクト生成に関するドキュメントを更新しました。PRは#1287です。
- Pythonの型入門(Python Types Intro)のスペイン語翻訳を追加しました。PRは#1237、作成者は@mariacamilaglです。
- 特徴(Features)のスペイン語翻訳を追加しました。PRは#1220、作成者は@mariacamilaglです。
0.54.1¶
- データベースのテスト設定を更新しました。PRは#1226です。
- 失敗したテストで応答テキストを表示することで、テストのデバッグを改善しました。PRは#1222、作成者は@samuelcolvinです。
0.54.0¶
- asyncドキュメントの文法ミスを修正しました。PRは#1188、作成者は@mickeypashです。
response_model_exclude_defaults
とresponse_model_exclude_none
のサポートを追加しました。- データベースのテストに関する例を追加しました。最初のPRは#1144、作成者は@duganchenです。
- 開発 - コントリビューション:翻訳に関するドキュメントを更新し、翻訳PRのレビューに関する注記を含めました。#1215。
- GitHub Markdownの互換性のために、README.mdのログスタイルを更新しました。PRは#1200、作成者は#geekgaoです。
- Python venv
env
を.gitignore
に追加しました。PRは#1212、作成者は@cassiobotaroです。 - ポルトガル語の翻訳を開始しました。PRは#1210、作成者は@cassiobotaroです。
@lru_cache()
を使用した依存関係を使用して、PydanticのSettings
に関するドキュメントを更新しました。PRは#1214です。- 最初のスペイン語翻訳FastAPIを追加しました。PRは#1201、作成者は@mariacamilaglです。
- 設定と環境変数に関するドキュメントを追加しました。最初のPRは1118、作成者は@alexmitelmanです。
0.53.2¶
- 依存関係とサブ依存関係のボディフィールドの自動埋め込みを修正しました。元のPRは#1079、作成者は@Toad2186です。
- WebSocketテストの依存関係のオーバーライドを修正しました。PRは#1122、作成者は@amitlissackです。
- 言語が常にソートされるようにドキュメントスクリプトを修正しました。PRは#1189です。
- 中国語の翻訳を開始しました。PRは#1187、作成者は@RunningIkkyuです。
- スキーマの追加 - 例に関するドキュメントを追加しました。PRは#1185です。
0.53.1¶
- 翻訳のリファクタリング後の含まれる例を修正しました。PRは#1182です。
Field
のexample
に関するドキュメントの例を追加しました。ドキュメントはボディ - フィールド:JSONスキーマの追加にあります。PRは#1106、作成者は@JohnPatonです。response_model
で再帰モデルを使用することを修正しました。PRは#1164、作成者は@voegtlelです。- Pycharmデバッグに関するドキュメントを追加しました。PRは#1096、作成者は@youngquanです。
- ドキュメントのタイプミスを修正しました。PRは#1148、作成者は@PLNechです。
- Windowsの開発環境の手順を更新しました。PRは#1179です。
0.53.0¶
- テストカバレッジバッジを更新しました。PRは#1175です。
orjson
をpip install fastapi[all]
に追加しました。PRは#1161、作成者は@michael0liverです。GZipMiddleware
の含まれる例を修正しました。PRは#1138、作成者は@arimbrです。OAuth2PasswordRequestFormStrict
のドキュメント文字列のクラス名を修正しました。PRは#1126、作成者は@adg-mhです。- ドキュメントの例の関数名を明確にしました。PRは#1121、作成者は@tmsickです。
- 外部リンクApache KafkaプロデューサーとコンシューマーをFastAPIとaiokafkaでをドキュメントに追加しました。PRは#1112、作成者は@iwpndです。
- Pydanticモデルでデータを返す際に、
by_alias
またはexclude_unset
を使用した場合のシリアライゼーションを修正しました。PR #1074 by @juhovh-aiven. - ドキュメントにGitterチャットを追加しました。PR #1061 by @aakashnand.
- 翻訳ドキュメントを更新および簡略化しました。PR #1171.
- FastAPIドキュメントの開発を更新し、Windowsのサポートを改善するためにアドレスを
127.0.0.1
に設定しました。PR #1169 by @mariacamilagl. - ドキュメントの翻訳サポートを追加しました。新しいドキュメント:開発 - 貢献:ドキュメント:翻訳。PR #1168.
- ドキュメントのターミナルスタイルを更新し、Typer、CLIのFastAPIに関する注記を追加しました。PR #1139.
0.52.0¶
orjson
を使用した新しい高パフォーマンスJSONレスポンスクラスを追加しました。新しいドキュメント:カスタムレスポンス - HTML、ストリーム、ファイル、その他:ORJSONResponse
。PR #1065.
0.51.0¶
- Starletteからユーティリティを再エクスポートしました。
- これにより、
from starlette.responses import JSONResponse
の代わりにfrom fastapi.responses import JSONResponse
のように使用できます。 - これは主にシンタックスシュガーであり、開発者エクスペリエンスのための便宜です。
Request
、Response
、WebSocket
、status
がfrom fastapi import Response
のように、fastapi
から直接インポートできるようになりました。これらはリクエストを直接使用したり、ヘッダーやクッキーを設定したり、ステータスコードを取得したりするためによく使用されるためです。- 多くの場所でドキュメントが変更されましたが、新しいドキュメントと顕著な改善があります。
- PR #1064.
- これにより、
0.50.0¶
- デプロイメント用のバージョンを固定することに関するドキュメントから、リリースノートへのリンクを追加しました。PR #1058.
- コードをアップグレードして、Starletteの最新バージョンを使用するようにしました。以下が含まれます。
- いくつかのバグ修正。
- スラッシュのオプションのリダイレクト。末尾が
/
で終わる場合も終わらない場合も。 - ルーターのイベント、
"startup"
、および"shutdown"
。 - PR #1057.
- デプロイメント用のFastAPIバージョンを固定することに関するドキュメントを追加しました:デプロイメント:FastAPIバージョン。PR #1056.
0.49.2¶
- リリースノートのリンクを修正しました。PR #1052 by @sattosan.
- リリースノートのタイプミスを修正しました。PR #1051 by @sattosan.
- 混乱を避けるために、
serialize_response
パラメータ名をリファクタリング/明確化しました。PR #1031 by @patrickmckenna. - プロファイリングを簡素化するために、各パス操作のハンドラー関数を分離された関数で呼び出すようにリファクタリングしました。PR #1027 by @sm-Fifteen.
- テスト用の不足している依存関係を追加しました。PR #1026 by @sm-Fifteen.
List[int]
のようなPython型を含む、レスポンスモデルの有効な型を受け入れるように修正しました。PR #1017 by @patrickmckenna.- SQLチュートリアルの書式を修正しました。PR #1015 by @vegarsti.
0.49.1¶
- 依存関係とパス操作関数で使用した場合の、パス操作の重複パラメータを修正しました。PR #994 by @merowinger92.
- 修正がすでにマージされ、新しいリリースがあるため、NetlifyプレビューのデプロイメントGitHubアクションを更新しました。PR #1047.
- mypy構成を構成ファイルに移動しました。PR #987 by @hukkinj1.
- フォークからのPRからNetlifyプレビューをデプロイできない問題を一時的に修正しました。PR #1046 by @mariacamilagl.
0.49.0¶
jsonable_encoder
でのpathlib
パスのエンコーディングを修正しました。PR #978 by @patrickmckenna.- 外部リンクに記事を追加しました:PythonのWeb frameworkのパフォーマンス比較 (Django, Flask, responder, FastAPI, japronto)と[FastAPI] Python製のASGI Web フレームワーク FastAPIに入門する。PR #974 by @tokusumi.
- ドキュメントの壊れたリンクを修正しました。PR #949 by @tsotnikov.
- 小さなタイプミスを修正しました。PR #941 by @NikitaKolesov.
yield
を使用した依存関係のドキュメントを更新および明確化しました。PR #986.- ドキュメントの図にMermaid JSのサポートを追加しました。依存関係:最初のステップと
yield
とHTTPException
を使用する依存関係に最初の図を追加しました。PR #985. - GitHubアクションでドキュメントのデプロイを実行するようにCIを更新しました。PR #983.
functools.partial
で変更された関数のように、パス操作関数でcallable
を許可しました。PR #977.
0.48.0¶
- エラーをより早く出すために、テストで最初にリンターを実行します。PR #948.
email-validator
は使用時のみ警告をログに記録します。PR #946.yield
を使用した二重依存関係で、Peeweeドキュメントを簡略化しました。PR #947.- 記事を外部リンクに追加しました:Create and Deploy FastAPI app to Heroku。PR #942 by @windson.
- Sanicが現在ASGIであるため、その説明を更新しました。PR #932 by @raphaelauv.
- メインページのタイプミスを修正しました。PR #920 by @mMarzeta.
- 可能性のある無効なボディの解析を修正しました。PR #918 by @dmontagu.
- タイプミスを修正しました #916 by @adursun.
- OpenAPIで列挙型の
Any
型を許可しました。PR #906 by @songzhi. - 外部リンクに記事を追加しました:How to continuously deploy a FastAPI to AWS Lambda with AWS SAM。PR #901 by @iwpnd.
- PydanticなしでBodyパラメータを使用することに関する注記を追加しました。PR #900 by @pawamoy.
- Pydanticフィールドのクローンロジックを修正しました。PR #899 by @deuce2367.
- ミドルウェアドキュメントのリンクを修正しました。PR #893 by @linchiwei123.
- 一貫性を保つために、デフォルトのAPIタイトルを "Fast API" から "FastAPI" に名前を変更しました。PR #890.
0.47.1¶
response_model
でのモデルフィルタリング、サブモデルの複製を修正しました。PR #889.- ORMモードを使用してイベントループをブロックするPydanticモデルのFastAPIシリアライゼーションを修正しました。PR #888.
0.47.0¶
- ドキュメントをリファクタリングして、よりシンプルで短いチュートリアル - ユーザーガイドと、すべての追加ドキュメントを含む追加の高度なユーザーガイドを作成しました。PR #887.
- 外部リンク、Markdown形式、タイプミスを調整しました。PR #881.
- チュートリアルでHTTP Basic Authの
username
とpassword
を処理するバグを修正しました。PR #865 by @isaevpd. list
、tuple
などの純粋なクラスで宣言されたフォームのパス操作パラメータの処理を修正しました。PR #856 by @nsidnev.- リクエストの
body
をRequestValidationError
に追加しました。新しいドキュメント:RequestValidationError
のbodyを使用する。最初のPR #853 by @aviramha. - 新しいリンクと、
fastapi
トピックを含む動的なGitHubプロジェクトで、外部リンクを更新しました。PR #850. - ドキュメントのPeewee
contextvars
処理を修正しました:Peeweeを使用したSQL(リレーショナル)データベース。PR #879. - 余分なPipenvの重複依存関係を必要とする代わりに、PythonのVenvとFlitを使用して開発環境をセットアップしました。更新されたドキュメント:開発 - 貢献。PR #877.
- タイミング攻撃に対するセキュリティを向上させるために、HTTP Basic Authのドキュメントを更新しました。最初のPR #807 by @zwass.
0.46.0¶
- タイプミスを修正し、設定を調整しました。PR #837.
- 外部リンクに中国語の記事へのリンクを追加しました。PR 810 by @wxq0309.
OAuth2AuthorizationCodeBearer
クラスを実装しました。PR #797 by @kuwv.- ドキュメントのメインページの例のアップグレードを更新しました。PR #795 by @cdeil.
- サブルーターのコールバック処理を修正しました。PR #792 by @jekirl.
- タイプミスを修正しました。PR #784 by @kkinder.
- 外部リンクに4つの日本語の記事を追加しました。PR #783 by @HymanZHAN.
jsonable_encoder
でメイン型のサブタイプ(例:asyncpgのUUID)のサポートを追加しました。PR #756 by @RmStorm.- ドキュメント内のPydanticの
HttpUrl
の用法を修正しました。PR #832 by @Dustyposa。 - ドキュメント内のTwitterリンクを修正しました。PR #813 by @justindujardin。
- FastAPIをPeewee ORMとともに正しく使用するためのドキュメントを追加しました。非同期スレッドを正しく処理するためにPeeweeの一部を上書きする方法を含みます。PR #789。
0.45.0¶
- OpenAPIコールバックのサポートを追加しました
- 新しいドキュメント: OpenAPIコールバック。
operationId
の生成をリファクタリングし、有効なPython名(ほとんどの言語で有効な変数でもある)になるようにしました。APIRouter
にdefault_response_class
パラメータを追加しました。- オリジナルのPR #722 by @booooh。
- ロギングをリファクタリングして、すべての場所で同じロガーを使用するようにし、ログ文字列とレベルを更新しました。PR #781。
- 外部リンクに記事を追加しました:Почему Вы должны попробовать FastAPI?。PR #766 by @prostomarkeloff。
- エラー処理に関するドキュメントでジェンダーバイアスを削除しました。PR #780。オリジナルのアイデアは、PR #761 by @classywhetten。
- Pydanticに合わせて、ドキュメントと
body-schema
への参照をbody-fields
に名前を変更しました。PR #746 by @prostomarkeloff。
0.44.1¶
- GitHubのソーシャルプレビュー画像をgitに追加しました。PR #752。
- PyPIの「トロブ分類子」を更新しました。PR #751。
- Python 3.8の完全なサポートを追加しました。TravisでPython 3.8を完全に有効にしました。PR 749。
- 「新しいissue」のテンプレートを更新しました。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とSwagger UIのチートシートを追加しました。PR #671 by @euri10。
- CORSの例のHTTPプロトコルのタイプミスを修正しました。PR #647 by @forestmonster。
- Pydanticバージョン
1.0.0
以降のサポートを追加しました。Pydantic0.32.2
の(非推奨の)一時的な後方互換性があります。PR #646 by @dmontagu。
0.43.0¶
- ジェンダーバイアスを減らすためにドキュメントを更新しました。PR #645 by @ticosax。
- 関数名に基づいてすべてのパス操作の
operationId
を上書きする方法に関するドキュメントを追加しました。PR #642 by @SKalt。 - モデル内のバリデーターが不正なキー順序を生成する問題を修正しました。PR #637 by @jaddison。
- コンテンツのないレスポンスに対して正しいOpenAPIドキュメントを生成するようにしました。PR #621 by @brotskydotcom。
- 一貫性のために、ドキュメントのBashコードブロックから
$
を削除しました。PR #613 by @nstapelbroek。 - ドキュメント(Swagger UI)の静的アセットを自己ホストするためのドキュメントを追加しました。例えば、ドキュメントをオフラインで使用したり、インターネットなしで使用したりできます。最初のPRは#557 by @svalouch。
- アップグレード後の
black
のリンティングを修正しました。PR #682 by @frankie567。
0.42.0¶
yield
付きの依存関係、別名、終了ステップ、コンテキストマネージャー、クリーンアップ、ティアダウンなどを追加しました。- これにより、依存関係の完了後に追加のコードを追加できます。例えば、データベース接続を閉じるために使用できます。
yield
を持つ依存関係は、通常またはasync
にすることができます。FastAPIは、スレッドプールで通常の依存関係を実行します。- それらは通常の依存関係と組み合わせることができます。
yield
を持つ任意のツリー/レベルの依存関係を持つことができ、終了ステップは正しい順序で自動的に処理されます。- Python 3.7以上ではデフォルトで動作します。Python 3.6の場合、追加のバックポート依存関係が必要です
async-exit-stack
async-generator
yield
を持つ依存関係の新しいドキュメント。- データベースドキュメントを更新しましたSQL (リレーショナル) データベース:メインのFastAPIアプリケーション。
- PR #595。
- Webサイトの
sitemap.xml
を修正しました。PR #598 by @samuelcolvin。
0.41.0¶
- 必要なStarletteを
0.12.9
にアップグレードしました。新しい範囲は>=0.12.9,<=0.12.9
です。- FastAPIアプリケーションに
State
をapp.state
で追加しました。 - PR #593。
- FastAPIアプリケーションに
Request
とAPIRoute
のカスタムクラスの処理を改善しました。- これにより、次のようなユースケースをより簡単に解決できます。
- リクエストの前または後にボディを読み込む(ミドルウェアと同等)。
- ミドルウェアのようなコードを、パス操作のサブセットに対してのみ実行する。
- リクエストをパス操作関数に渡す前に処理する。例:解凍、デシリアライズなど。
- パス操作関数によって生成された後、返される前にレスポンスを処理する。例:カスタムヘッダーの追加、ロギング、追加のメタデータの追加。
- 新しいドキュメントセクション:カスタムリクエストおよびAPIRouteクラス。
- PR #589 by @dmontagu。
- これにより、次のようなユースケースをより簡単に解決できます。
- 他のサブルーターを含める場合に、ルーター内のカスタムルートクラスの保持を修正しました。PR #538 by @dmontagu。
0.40.0¶
- フォームを使用する場合に
python-multipart
をインストールすることに関するメモをドキュメントに追加しました。PR #574 by @sliptonic。 - OpenAPIスキーマをアルファベット順に生成するようにしました。PR #554 by @dmontagu。
- パス操作関数からドキュメント文字列を切り捨てるためのサポートを追加しました。
- ドキュメント文字列からの高度な説明の新しいドキュメント。
- PR #556 by @svalouch。
- Swagger UIとReDoc用に生成されたHTMLファイルの
DOCTYPE
を修正しました。PR #537 by @Trim21。 - デフォルトの
422
バリデーションエラーレスポンスを上書きする4XX
レスポンスの処理を修正しました。PR #517 by @tsouvarev。 - シンプルなHTTP Basic認証に関するドキュメントのタイプミスを修正しました。PR #514 by @prostomarkeloff。
- 最初のステップの不適切なドキュメント例を修正しました。PR #511 by @IgnatovFedor。
- Swagger UI initOauth設定をパラメータ
swagger_ui_init_oauth
でサポートしました。PR #499 by @zamiramir。
0.39.0¶
- パスパラメータにデフォルト値(例:
None
)を持たせ、エラーを発生させる代わりにそれらを破棄できるようにしました。- これにより、クエリパラメータから取得できる
user_id: str = None
のようなパラメータを宣言できますが、同じパス操作をパス/users/{user_id}
を持つルーターに含めることができます。この場合、パスから取得され、必須になります。 - PR #464 by @jonathanunderwood。
- これにより、クエリパラメータから取得できる
FastAPI
インスタンスまたはinclude_router
でdefault_response_class
を設定するためのサポートを追加しました。最初のPRは#467 by @toppk。- 文字列と
from __future__ import annotations
を使用した型アノテーションのサポートを追加しました。PR #451 by @dmontagu。
0.38.1¶
- 不正な
Request
クラスのインポートを修正しました。PR #493 by @kamalgill。
0.38.0¶
- 外部リンクと最近の意見に最近の記事を追加しました。PR #490。
- Starletteのサポート範囲を
0.12.8
を含むようにアップグレードしました。新しい範囲は>=0.11.1,<=0.12.8"
です。PR #477 by @dmontagu。 - Pydanticバージョン0.32.2へのサポートをアップグレードし、それを使用するように内部コードを更新しました(破壊的変更)。PR #463 by @dmontagu。
0.37.0¶
- 高度なユースケースに対応したカスタムルートクラスのサポートを追加しました。PR #468 by @dmontagu。
- ReDocでGoogleフォントを無効にできるようにしました。PR #481 by @b1-luettje。
- セキュリティ上の問題を修正しました:レスポンスモデルのサブクラスを返し、
skip_defaults
を使用すると、情報が漏洩する可能性があります。PR #485 by @dmontagu。 - Python 3.8-devのテストを有効にしました。PR #465 by @Jamim。
response_model
でPydanticデータクラスのサポートとテストを追加しました。PR #454 by @dconathan。- OAuth2 JWTチュートリアルのタイプミスを修正しました。PR #447 by @pablogamboa。
Body()
パラメータのmedia_type
パラメータを使用して、requestBody
のOpenAPIのメディアタイプを設定しました。PR #439 by @divums。- Nico Axtmann氏による記事「ONNXとFastAPIを使ったscikit-learnモデルのデプロイ」を追加しました。Nico Axtmann氏著。PR #438 by @naxty。
- OpenAPIでカスタムの
422
(バリデーションエラー)レスポンス/スキーマを設定できるようにしました。 - ステータスコードと同時に
"default"
の追加レスポンスを使用する問題を修正しました。PR #489。 - 追加レスポンスでステータスコード範囲(
5XX
や4XX
など)と"default"
を使用できるようにしました。PR #435 by @divums。
0.36.0¶
- Pydanticモデルを返す際の
skip_defaults
の実装を修正しました。PR #422 by @dmontagu。 - 同じ*パスオペレーション*で複数の場所で同じ依存関係を使用する場合のOpenAPI生成を修正しました。PR #417 by @dmontagu。
include_router
とprefix
で使用する*パスオペレーション*で空のパスを持てるようにしました。- PR #415のマージ後のmypyエラーを修正しました。PR #462。
0.35.0¶
- ルーティングの
assert
のタイプミスを修正しました。PR #419 by @pablogamboa。 - ドキュメントのタイプミスを修正しました。PR #411 by @bronsen。
Union
で宣言されたボディタイプの解析を修正しました。PR #400 by @koxudaxi。
0.34.0¶
-
サポートされるStarletteの範囲を最新の
0.12.7
を含むようにアップグレードしました。新しい範囲は0.11.1,<=0.12.7
です。PR #367 by @dedsm。 -
PR #333 by @dmontaguの重複モデルを使用したOpenAPIスキーマのテストを追加しました。PR #385。
0.33.0¶
0.32.0¶
-
機能に関するドキュメントのタイプミスを修正しました。PR #380 by @MartinoMensio。
-
OAuth2スコープに関するドキュメントの文言を更新しました。PR #371 by @cjw296。
-
Enum
がstr
から継承し、Swagger UIのレンダリングを改善するようにドキュメントを更新しました。PR #351。 -
回帰を修正し、Swagger UIのディープリンクを再度追加しました。PR #350。
-
.include_router
のprefix
にパステンプレートがある場合のテストを追加しました。PR #349。 -
ドキュメントに注記を追加しました:「異なる
prefix
で同じルーターを複数回含める」。PR #348。 -
同じ複合ボディを持つ同じ名前の(異なるモジュールの)2つの関数のOpenAPI/JSONスキーマの生成を修正しました。
- 複合ボディのIDは、自動生成される名前が異なるモジュールで重複する可能性がある関数名を使用するため、ルート名だけでなくパスに基づいています。
- 同じ新しいID生成がレスポンスモデルにも適用されます。
- これにより、これらのモデルの生成されたタイトルも変更されます。
- 複合ボディとレスポンスモデルのみが影響を受けます。これらは動的に生成され、モジュール(Pythonファイル)がないためです。
- これにより、異なるプレフィックス(例えば、
/api/v2
と/api/latest
)で、同じAPIRouter
を複数回.include_router()
で使用できる可能性も追加され、正常に動作するようになりました。 - PR #347。
0.31.0¶
- サポートされるPydanticのバージョンを
0.29.0
にアップグレードしました。- 新しいサポートされるバージョン範囲は
"pydantic >=0.28,<=0.29.0"
です。 - これにより、Pydanticジェネリックモデルのサポートが追加されました。 @dmontaguに感謝します。
- PR #344。
- 新しいサポートされるバージョン範囲は
0.30.1¶
-
FastAPIコントリビューター(FastAPI自体の開発者)のみが使用するため、リポジトリから
Pipfile.lock
を削除しました。詳細については、PRを参照してください。PR #340。 -
FastAPIヘルプ - ヘルプを見るに関するセクションを更新しました。PR #339。
-
ユーザーのコードでMypyエラーを改善/削除するために、内部の型宣言を改良しました。PR #338。
-
SQLAlchemyを使用したSQLチュートリアルを更新し、明確にしました。PR #331 by @mariacamilagl。
-
SQLiteのドキュメントへのオンラインビューアを追加しました。PR #330 by @cyrilbois。
0.30.0¶
-
PydanticのORMモードのサポートを追加しました。
- ORMモードのPydanticモデル、リレーション付きのSQLAlchemyモデル、ファイルの分離、コードの簡略化、その他の変更を使用して、SQLAlchemyを使用したSQLに関するドキュメントを更新しました。新しいドキュメント:SQL(リレーショナル)データベース。
- ORMモードの新しいサポートにより、遅延読み込み、ハイブリッドプロパティ、動的/ゲッター(
@property
デコレーターを使用)を持つORMに関連する問題が修正/機能が追加されました。 - これは、SQLAlchemy、Peewee、Tortoise ORM、GINO ORMなどのORM、および事実上その他すべてのORMに適用されます。
- もしあなたの*パスオペレーション*が属性を持つ任意のオブジェクトを返した場合(例:
my_item["name"]
ではなくmy_item.name
)、かつresponse_model
を使用する場合は、ドキュメント(上記のリンク)で説明されているように、orm_mode = True
でPydanticモデルを更新してください。 - リクエストボディとしてプレーンな
dict
を受け取るに関する新しいドキュメント:任意のdict
のボディ。 - レスポンスで任意の
dict
を返すに関する新しいドキュメント:任意のdict
でのレスポンス。 - 技術的な詳細:
response_model
を宣言すると、*パスオペレーション関数*から返されたものからレスポンスコンテンツを生成するために直接使用されます。- これまでは、返されたコンテンツは、ORMモデルのように属性を持つ任意のオブジェクトではなく、
dict
のような「jsonable」オブジェクトであることを保証するために、最初にjsonable_encoder
を通過しました。そのため、属性を持つオブジェクトのPydanticモデルを、orm_mode = True
を使用するように必ず更新する必要があります。 - もし
response_model
がない場合は、返されたオブジェクトは、最初にjsonable_encoder
を通過します。 response_model
を宣言すると、同じresponse_model
型の宣言はそのまま使用されず、新しい宣言(すべてのサブモデルも複製された複製されたPydanticField
)を作成するために「複製」されます。- これは潜在的なセキュリティ問題を回避/修正します:返されたオブジェクトはPydanticに直接渡されるため、返されたオブジェクトが
response_model
のサブクラスの場合(例:User
から継承しているが、hashed_password
などの追加フィールドを含むUserInDB
を返し、User
がresponse_model
で使用されている場合)、(UserInDB
はUser
のサブクラスであるため)検証を通過し、オブジェクトはhashed_password
を含め、そのまま返されます。これを修正するために、宣言されたresponse_model
が複製されます。それがPydanticモデルクラスである場合(またはList[Item]
のようにPydanticモデルクラスが含まれている場合)、Pydanticモデルクラスは別のクラス(「複製された」クラス)になります。そのため、サブクラスであるオブジェクトは、複製されたresponse_model
のサブクラスではなくなったため、検証をそのまま通過して返されることはありません。代わりに、返されたオブジェクトの内容で新しいPydanticモデルオブジェクトが作成されます。そのため、それは新しいオブジェクト(返されたオブジェクトのデータで作成された)になり、通常どおり宣言されたフィールドのみを含む複製されたresponse_model
によってフィルタリングされます。
- PR #322。
-
追加レスポンスにデフォルトのレスポンスステータスコードの説明を使用します。PR #313 by @duxiaoyao。
0.29.1¶
-
必須のボディパラメーターを使用した空ボディのリクエストの処理を修正しました。PR #311。
-
ドキュメントの破損したリンクを修正しました:レスポンスを直接返す。PR #306 by @dmontagu。
-
レスポンスモデルのドキュメントの不一致を修正しました。PR #288 by @awiddersheim。
0.29.0¶
Response
パラメータの宣言のサポートを追加しました- これにより、宣言できるようになりました
- レスポンスクッキー.
- レスポンスヘッダー.
- デフォルトとは異なるHTTPステータスコード:レスポンス - ステータスコードの変更。
- これらすべてを、任意のオブジェクト(
dict
、DBモデルなど)を返せるようにしながら行います。 response
パラメータのパターンにインスピレーションを与えてくれた Hug に帰属を更新。- PR #294。
- これにより、宣言できるようになりました
0.28.0¶
-
リクエストごとに依存関係キャッシュを実装。
- これにより、同じリクエストに対して各依存関係が複数回呼び出されるのを回避します。
- これは、外部サービスを呼び出したり、コストのかかる計算を実行したりする場合に役立ちます。
- これは、依存関係が (
.include_router()
を使用して) ルーターレベルで*パス操作デコレータ*の依存関係として宣言され、その後、特定の*パス操作*で再度宣言された場合、依存関係が1回だけ呼び出されることも意味します。 - キャッシュは、
Depends(your_dependency, use_cache=False)
のように、依存関係宣言ごとにuse_cache=False
を使用して無効にできます。 - ドキュメントを更新しました: 同じ依存関係を複数回使用する。
- PR #292。
-
テスト用の依存関係オーバーライドを実装。
- これにより、テスト中に依存関係のオーバーライド/モックを使用できます。
- 新しいドキュメント: オーバーライドによる依存関係のテスト。
- PR #291。
0.27.2¶
dict
を有効な型として受け取るパスおよびクエリパラメータを修正しました。これは本文ペイロードにマッピングされるべきです。PR #287。ドキュメントを更新しました: デフォルトを持つクエリパラメータリスト / 複数の値:list
を使用する。
0.27.1¶
-
HTTPBearer
セキュリティスキームでのauto_error=False
の処理を修正しました。auto_error=False
の場合、不正なAuthorization
ヘッダーがある場合にraise
しないでください。PR #282。 -
HTTPException
の型宣言を修正しました。PR #279。
0.27.0¶
-
スコープを使用した OAuth 2.0 に関するドキュメントの壊れたリンクを修正しました。PR #275 by @dmontagu。
-
Pydantic
Field
を使用してパラメータ抽出をリファクタリング。- パス操作からのパラメータ抽出の大幅なリファクタリング、改善、簡略化。
- リストのデフォルトを持つリストのクエリパラメータのサポートを修正/追加しました。新しいドキュメント: デフォルト付きのクエリパラメータリスト / 複数の値。
- パス操作パラメータでの列挙型のサポートを追加しました。新しいドキュメント: パスパラメータ: 事前定義値。
param: Optional[str] = None
のように、Optional
を使用した型アノテーションのサポートを追加しました。新しいドキュメント: オプションの型宣言。- PR #278。
0.26.0¶
-
検証エラーのエラー処理を分離。
- これにより、開発者は例外ハンドラーをカスタマイズできるようになります。
- 例外の処理方法とエラーハンドラーの使用方法についてより適切に文書化します。
RequestValidationError
とWebSocketRequestValidationError
を含めます (後者は encode/starlette#527 または同等のものがマージされた場合に役立ちます)。- 例外ハンドラーに関する新しいドキュメント
- PR #273。
-
明示的な
Path(...)
を必要とせずに、パスパラメータのパスのサポートを修正しました。- PR #256。
- PR #272 by @wshayes で文書化しました。
- 新しいドキュメント: パスを含むパスパラメータ。
-
FastAPI のテストに関するドキュメントを更新しました。
POST
の使用、JSON の送信、ヘッダーのテストなどを含めます。新しいドキュメント: テスト。PR #271。 -
List[Model]
のように汎用的な Python 型を許可するようにresponse_model
の型宣言を修正しました。主にユーザー向けのmypy
を修正します。PR #266。
0.25.0¶
-
Pydantic の
include
,exclude
,by_alias
のサポートを追加。 -
新しい貢献者を支援するために、GitHub に
CONTRIBUTING.md
ファイルを追加しました。PR #255 by @wshayes。 -
Pydantic の
skip_defaults
のサポートを追加- 新しい*パス操作デコレータ*パラメーター
response_model_skip_defaults
があります。- パラメーターの名前は、今後のバージョンで
response_skip_defaults
、model_skip_defaults
、または同様のものに変更される可能性が非常に高いです。
- パラメーターの名前は、今後のバージョンで
response_model_skip_defaults
の使用に関する新しいドキュメントセクション。- PR #248 by @wshayes。
- 新しい*パス操作デコレータ*パラメーター
0.24.0¶
-
依存関係とパラメーターを使用した WebSocket のサポートを追加。
- サポート対象:
Depends
セキュリティ
Cookie
Header
Path
Query
- ...これらは WebSocket プロトコルと互換性があるためです (例:
Body
はそうではありません)。
- WebSocket のドキュメントを更新しました。.
- PR #178 by @jekirl。
- サポート対象:
-
Pydantic の互換バージョンを
0.26.0
にアップグレードします。
0.23.0¶
-
Starlette の互換バージョンを
0.12.0
にアップグレードします。- これには、ASGI 3 (標準の最新バージョン) のサポートが含まれます。
- Starlette の
StreamingResponse
を、ファイルライクオブジェクト (open()
によって返されるものなど) のようなイテレータで使用できるようになりました。 - 高度なシナリオでは、
starlette.concurrency
から低レベルユーティリティiterate_in_threadpool
を使用できるようになりました。 - PR #243。
-
Swagger UI の OAuth2 リダイレクトページを追加します。これにより、Swagger UI ドキュメントで委任された認証を行うことができます。これが機能するには、OAuth2 プロバイダー (Auth0、Facebook、Google など) の許可されたコールバックに
{your_origin}/docs/oauth2-redirect
を追加する必要があります。- たとえば、開発中は、
http://localhost:8000/docs/oauth2-redirect
になります。 - このコールバック 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
パラメータでscopes
を使用したSecurity
を使用することもサポートしています。 - *パス操作デコレータ*の依存関係に関する新しいドキュメント。
include_router()
メソッドの依存関係に関する新しいドキュメント。- PR #235。
-
Starlette URL コンバーターの OpenAPI ドキュメントを修正しました。
/some/url/{p:path}
のように、パス全体をパラメーターとして取得するために、path
コンバーターを使用する場合に特に役立ちます。PR #234 by @euri10。 -
fastapi
からエクスポートされたデフォルトのパラメータユーティリティをクラスではなく関数にします (新しい関数はそれらのクラスのインスタンスを返します)。FastAPI ユーザーのコードで戻り値の型をオーバーライドしてmypy
エラーを修正できるようにします。Path
,Query
,Header
,Cookie
,Body
,Form
,File
,Depends
, およびSecurity
に適用されます。PR #226 および PR #231。 -
開発スクリプト
test.sh
,lint.sh
, およびformat.sh
を分離。PR #232。 -
Python 3.7 の
black
フォーマットチェックを再度有効にします。PR #229 by @zamiramir。
0.21.0¶
-
本文の解析エラー時に、ログコードでのより良いイントロスペクションを可能にするために、前の例外から
from
を発生させます。PR #192 by @ricardomomm。 -
ルートロガーではなく、"
fastapi
" という名前の Python ロガーを使用します。PR #222 by @euri10。 -
ルーティングのタイプミスを修正しました。PR #221 by @djlambert。
0.20.1¶
-
ファイル
py.typed
を含むパッケージに型情報を追加します。PR #209 by @meadsteve。 -
Gitter 用の FastAPI ボットを追加します。新しいリリースを自動的にアナウンスします。PR #189。
0.20.0¶
-
OAuth2 のアップグレード
- Bearer トークンを使用するパスワードフローを、正しい HTTP ステータスコード 401
UNAUTHORIZED
とWWW-Authenticate
ヘッダーを使用するようにアップグレードします。 - セキュリティに関するドキュメントをすべて更新、簡素化、改善します。
SecurityScopes
に新しいscope_str
を追加し、ドキュメントを更新します: OAuth2 スコープ。- ドキュメント、画像、テストを更新します。
- PR #188。
- Bearer トークンを使用するパスワードフローを、正しい HTTP ステータスコード 401
-
レスポンス Cookieとレスポンスヘッダーの処理に関するドキュメントを追加します。PR #185。
0.19.0¶
-
パス操作デコレータのパラメータ
content_type
をresponse_class
にリネームします。PR #183。 -
ドキュメントを追加します
- JSON互換エンコーダーで
jsonable_encoder
を使用する方法。 - レスポンスを直接返す方法。
- カスタムレスポンスクラスを使用する方法を更新します。
- PR #184。
- JSON互換エンコーダーで
0.18.0¶
-
HTTP Basic Authのドキュメントを追加します。PR #177。
-
自動ヘッダー(ブラウザの自動ログインプロンプト)によるHTTP Basic Authの処理をアップグレードします。PR #175。
-
セキュリティのために依存関係を更新します。PR #174。
0.17.0¶
-
FlitをCIから公開するようにします。PR #170。
-
CORS (Cross-Origin Resource Sharing)の処理に関するドキュメントを追加します。PR #169。
-
デフォルトで、エイリアスでエンコードします。これにより、Pydanticの
alias
パラメーターがデフォルトで機能するようになります。PR #168。
0.16.0¶
-
パス操作の
docstring
解析をアップグレードし、適切なMarkdown記述をサポートします。パス操作の設定で新しいドキュメントを参照してください。PR #163。 -
正しいデータ型を使用するように、Pydanticの内部使用をリファクタリングします。PR #164。
-
Extra Modelsに関するチュートリアルのタイプミスを修正します。PR #159 by @danielmichaels。
-
ドキュメントのクエリパラメーターのURL例を修正します。PR #157 by @hayata-yamamoto。
0.15.0¶
-
複数のファイルアップロード(単一のフォームフィールドとして)のサポートを追加します。新しいドキュメントは、複数のファイルアップロードにあります。PR #158。
-
追加ステータスコードのドキュメントを追加します。PR #156。
0.14.0¶
-
OpenAPI(APIドキュメント内)で自動生成されるパス操作の名前を改善します。生成された名前 "Read Items Get"の代わりに、関数
read_items
は "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
など)クラスを使用することを許可し、それらをドキュメント化します。Security
はscopes
を宣言するためにのみ必要になりました。- に関するドキュメントを更新しました:OAuth2(パスワードとハッシュ)、JWTトークンを使用したBearer。
- に関する新しいドキュメント:OAuth2スコープ。
- PR #141。
0.12.1¶
-
バグを修正:
APIRouter.include_router()
で追加のresponses
を処理します。PR #140。 -
SQLチュートリアルのタイプミスを修正します。PR #138 by @mostaphaRoudsari。
-
ネストされたモデルとJWTを使用したOAuth2に関するセクションのタイプミスを修正します。PR #127 by @mmcloud。
0.12.0¶
- OpenAPI(およびAPIドキュメント)でレスポンスを拡張するために、パス操作デコレータに追加の
responses
パラメーターを追加します。- また、
response_model
から生成された既存のレスポンスを拡張したり、他のメディアタイプ(画像など)を宣言したりできます。 - 新しいドキュメントはこちらにあります:追加のレスポンス。
responses
は.include_router()
にも追加できます。更新されたドキュメントはここにあります:より大きなアプリケーション。- PR #97 originally initiated by @barsi。
- また、
scripts/test-cov-html.sh
を更新して、開発用に-vv
などの追加パラメーターを渡せるようにします。
0.11.0¶
-
セキュリティユーティリティ関数に
auto_error
パラメーターを追加します。それらをオプションにすることができます。また、複数の代替セキュリティスキームを持ち、それらを単一の依存関係でチェックする代わりに、満たされていない場合に自動的にクライアントにエラーを返すこともできます。PR #134。 -
例外がある場合でもデータベースセッションを閉じるようにSQLチュートリアルを更新します。PR #89 by @alexiri。
0.10.3¶
-
Gitterチャット、バッジ、リンクなどを追加します。 https://gitter.im/tiangolo/fastapi 。PR #117。
-
OpenAPIの拡張に関するドキュメントを追加します。PR #126。
-
TravisをUbuntu Xenial(新しいバージョン)とPython 3.7(Python 3.7-devの代わりに)で実行するようにします。PR #92 by @blueyed。
-
関数戻り値の型注釈の代わりに、関数パラメーターを使用する理由について、レスポンスモデルのドキュメントにメモを追加します。PR #109 by @JHSaunders。
-
イベントドキュメント(起動/シャットダウン)の関数名を修正します。PR #105 by @stratosgear。
0.10.2¶
-
Python
Union
(JSON SchemaadditionalProperties
)の宣言に対するOpenAPI(JSON Schema)を修正します。PR #121。 -
Celeryに関するメモを使用して、バックグラウンドタスクを更新します。
0.10.1¶
- encode/databases のドキュメントとテストを追加します。新しいドキュメントは、Async SQL(リレーショナル)データベースにあります。PR #107。
0.10.0¶
-
パス操作関数および依存関係でのバックグラウンドタスクのサポートを追加します。バックグラウンドタスクに関する新しいドキュメントはこちらにあります。PR #103。
-
APIRouter
での.websocket_route()
のサポートを追加します。PR #100 by @euri10。 -
イベント:起動-シャットダウンに関する新しいドキュメントセクション。PR #99。
0.9.1¶
- 同じクエリパラメーターで複数の値と重複したヘッダーの受信をドキュメント化します。PR #95。
0.9.0¶
-
互換性のあるPydanticバージョンを
0.21.0
にアップグレードします。PR #90。 -
に関するドキュメントを追加します:アプリケーション構成。
-
ドキュメント内のタイプミスを修正します。PR #76 by @matthewhegarty。
-
"デプロイメント"のリンクを"より大きなアプリケーション"に修正します。
0.8.0¶
-
app.include_router()
にtags
を追加するサポートを追加します。PR #55 by @euri10。ドキュメントはより大きなアプリケーションのセクションで更新されました。 -
Uvicornに関連するドキュメントを更新して、バージョン
0.5.x
の新しい--reload
オプションを使用します。PR #74。 -
isort
インポートとスクリプトを更新して、新しいバージョンと互換性を持たせます。PR #75。
0.7.1¶
-
以前のフレームワークに関する
async def
の処理に関する技術的な詳細を更新します。PR #64 by @haizaar。 -
Travis CIでDockerイメージのビルドを自動的にトリガーします。PR #65。
0.7.0¶
File
パラメーター注釈でUploadFile
のサポートを追加します。- これにはファイルのようなインターフェースが含まれます。
- 更新されたドキュメントを以下に示します:
UploadFile
を使用したFile
パラメーターの宣言。 Form
パラメータとFile
パラメータを混在させて、bytes
とUploadFile
を同時にサポートする、更新されたドキュメントはこちらです:https://fastapi.dokyumento.jp/tutorial/request-forms-and-files/。- PR #63。
0.6.4¶
-
async def
の処理に関する技術的な詳細をドキュメントに追加しました:https://fastapi.dokyumento.jp/async/#very-technical-details。PR #61。 -
エディタでの FastAPI アプリケーションのデバッグに関するドキュメントを追加しました:https://fastapi.dokyumento.jp/tutorial/debugging/。
-
Docker でデプロイされた大規模アプリケーションに関する説明を明確化しました:https://fastapi.dokyumento.jp/deployment/#bigger-applications。
-
ドキュメントの誤字を修正しました。
-
歴史、設計、将来に関するセクションを追加しました:https://fastapi.dokyumento.jp/history-design-future/。
-
FastAPI で WebSockets を使用するためのドキュメントを追加しました:https://fastapi.dokyumento.jp/advanced/websockets/。PR #62。
0.6.3¶
- ドキュメントに Favicon を追加しました。PR #53。
0.6.2¶
-
FastAPI と PostgreSQL をベースにした新しいプロジェクトジェネレーターを導入しました:https://github.com/tiangolo/full-stack-fastapi-postgresql。PR #52。
-
SQLAlchemy を使用した SQL チュートリアルを更新し、エディターサポートの向上とコードの繰り返しを減らすために
Depends
を使用しました:https://fastapi.dokyumento.jp/tutorial/sql-databases/。PR #52。 -
SQLAlchemy を使用した SQL のチュートリアルにおけるミドルウェアの命名を改善しました:https://fastapi.dokyumento.jp/tutorial/sql-databases/。
0.6.1¶
- GraphQL のドキュメントを追加しました:https://fastapi.dokyumento.jp/advanced/graphql/。PR #48。
0.6.0¶
-
新しい公式の
request.state
を使用して、https://fastapi.dokyumento.jp/tutorial/sql-databases/ の SQLAlchemy チュートリアルを更新しました。PR #45。 -
Starlette をバージョン
0.11.1
にアップグレードし、必要な互換性の変更を追加しました。PR #44。
0.5.1¶
-
FastAPI のヘルプとヘルプを得る方法に関するセクションを追加しました:https://fastapi.dokyumento.jp/help-fastapi/。
-
ドキュメントにパス操作の順序に関する注記を追加しました:https://fastapi.dokyumento.jp/tutorial/path-params/#order-matters。
-
エラー処理に関するセクションを、より多くの情報で更新し、Starlette のエラー処理ユーティリティとの関係をより明確にしました:https://fastapi.dokyumento.jp/tutorial/handling-errors/。PR #41。
-
ドキュメントに「開発 - 貢献」セクションを追加しました:開発 - 貢献セクション。PR #42。
0.5.0¶
-
カスタムヘッダーをサポートする新しい
HTTPException
を追加しました。エラー処理に関する新しいドキュメントは以下にあります:https://fastapi.dokyumento.jp/tutorial/handling-errors/。PR #35。 -
Starlette
Request
オブジェクトを直接使用するためのドキュメントを追加しました:https://fastapi.dokyumento.jp/advanced/using-request-directly/。@euri10 による #25 をご確認ください。 -
バグ報告やヘルプの取得などを簡略化するための issue テンプレートを追加しました:#34。
-
ミドルウェアとリクエストにアタッチされたデータベースセッションを使用して、https://fastapi.dokyumento.jp/tutorial/sql-databases/ の SQLAlchemy チュートリアルの例を更新しました。
0.4.0¶
-
openapi_prefix
、リバースプロキシ、およびサブアプリケーションのマウントのサポートを追加しました。ドキュメントは以下を参照してください:https://fastapi.dokyumento.jp/advanced/sub-applications-proxy/:#26、@kabirkhan による。 -
DB Browser for SQLite に関する注記を含め、SQLAlchemy のドキュメント/チュートリアルを更新しました。
0.3.0¶
- ORM を含む SQLAlchemy のサポートを修正/追加し、SQLAlchemy のドキュメントを更新しました:#30。
0.2.1¶
Config
を持つがjson_encoders
を持たない Pydantic モデルのjsonable_encoder
を修正しました:#29。