跳至內容

關於 FastAPI 版本

FastAPI 已在許多應用程式和系統中投入生產環境使用。且測試覆蓋率維持在 100%。但它的開發仍在快速進行中。

新功能會頻繁新增,錯誤會定期修復,程式碼也持續改進中。

這就是為什麼目前的版本仍然是 0.x.x,這反映了每個版本都可能會有破壞性變更。這遵循了 語義化版本控制 規範。

您現在就可以使用 FastAPI 建立生產應用程式(而且您可能已經這樣做了一段時間),您只需要確保您使用的版本與您的其餘程式碼能夠正常運作。

固定您的 fastapi 版本

您應該做的第一件事是將您正在使用的 FastAPI 版本「固定」到您知道適用於您的應用程式的最新特定版本。

例如,假設您在您的應用程式中使用 0.112.0 版本。

如果您使用 requirements.txt 檔案,您可以使用以下方式指定版本

fastapi[standard]==0.112.0

這表示您將完全使用 0.112.0 版本。

或者,您也可以使用以下方式固定它

fastapi[standard]>=0.112.0,<0.113.0

這表示您將使用 0.112.0 或更高版本,但低於 0.113.0,例如,0.112.2 版本仍然可以接受。

如果您使用任何其他工具來管理您的安裝,例如 uv、Poetry、Pipenv 或其他工具,它們都有您可以用來定義套件特定版本的方法。

可用版本

您可以在 發行說明 中查看可用版本(例如,檢查目前的最新版本)。

關於版本

遵循語義化版本控制規範,任何低於 1.0.0 的版本都可能新增破壞性變更。

FastAPI 也遵循「修補程式」版本變更用於錯誤修復和非破壞性變更的慣例。

提示

「修補程式」是最後一個數字,例如,在 0.2.3 中,修補程式版本是 3

因此,您應該能夠固定到如下版本

fastapi>=0.45.0,<0.46.0

破壞性變更和新功能會新增到「次要」版本中。

提示

「次要」是中間的數字,例如,在 0.2.3 中,次要版本是 2

升級 FastAPI 版本

您應該為您的應用程式新增測試。

使用 FastAPI 非常容易(感謝 Starlette),請查看文件:測試

在您完成測試後,您可以將 FastAPI 版本升級到更新的版本,並透過執行測試來確保您的所有程式碼都能正常運作。

如果一切正常,或者在您進行必要的變更後,且所有測試都通過,則您可以將 fastapi 固定到該新的最新版本。

關於 Starlette

您不應該固定 starlette 的版本。

不同版本的 FastAPI 將使用特定較新版本的 Starlette。

因此,您可以讓 FastAPI 使用正確的 Starlette 版本。

關於 Pydantic

Pydantic 將 FastAPI 的測試包含在其自身的測試中,因此新版本的 Pydantic(高於 1.0.0)始終與 FastAPI 相容。

您可以將 Pydantic 固定到任何適用於您的 1.0.0 以上版本。

例如

pydantic>=2.7.0,<3.0.0