跳到主要內容

Flutter 相容性政策

Flutter 團隊力求在 API 穩定性與持續演進 API 之間取得平衡,以修正錯誤、提升 API 的人體工學,並以一致的方式提供新功能。

為此,我們建立了一個測試註冊機制,您可以在其中為自己的應用程式或函式庫提供單元測試,我們會在每次變更時執行這些測試,以協助我們追蹤會破壞現有應用程式的變更。我們的承諾是,在未與這些測試的開發人員合作 (a) 判斷變更是否具有足夠價值,以及 (b) 為程式碼提供修正程式,使測試能夠繼續通過之前,我們不會進行任何會破壞這些測試的變更。

如果您想將測試納入此計畫的一部分,請將 PR 提交至 flutter/tests 儲存庫。該儲存庫上的 README 詳細說明了流程。

公告和移轉指南

#

如果我們確實進行了破壞性變更(定義為導致一或多個已提交的測試需要變更的變更),我們將在我們的 flutter-announce 郵件列表以及我們的發行說明中公告此變更。

我們提供一份受破壞性變更影響的程式碼遷移指南清單。

棄用政策

#

我們偶爾會棄用某些 API,而不是直接在一夜之間將其破壞。這與我們的相容性政策無關,相容性政策完全基於上述已提交的測試是否失敗。

Flutter 團隊不會定期移除已棄用的 API。如果團隊移除已棄用的 API,則會遵循與破壞性變更相同的程序。

Flutter 使用的 Dart 和其他程式庫

#

Dart 語言本身具有 單獨的破壞性變更政策,並在 Dart announce 上發布公告。

一般來說,Flutter 團隊目前對於其他相依性的破壞性變更沒有任何承諾。例如,使用新版 Skia(Flutter 上某些平台使用的圖形引擎)或 Harfbuzz(Flutter 使用的字體塑形引擎)的新版 Flutter 可能會進行影響已提交測試的變更。此類變更不一定會隨附遷移指南。