這是一組關於 sbt 未來架構的文件。此文件的目標受眾是 sbt 外掛程式作者和 sbt 開發人員。另請參閱 我如何提供協助?
在 2008-12-18,Mark Harrah 宣佈 sbt 0.3.2 為 sbt 的初始版本。Mark 一直是 sbt 的主要作者,直到 sbt 0.13.1 (2013-12-11)。在 2014 年,sbt 專案被移交給本文的作者 Josh Suereth 和 Eugene Yokota。
隨著我們邁向 sbt 1.0,我們希望穩定已經穩定的部分,並在重要的部分進行創新。穩定性有幾個層次
從概念上講,sbt 在其功能方面一直保持穩定
我們計劃更改的唯一一件事是最後一點。在 sbt 1.0 中,我們將用可透過 JSON API 和基於文字的用戶端存取的 sbt 伺服器取代互動式 Shell。
原始碼相容性表示適用於 sbt 版本 A 的建置原始碼在未經修改的情況下適用於另一個版本 B。我們對 sbt 1.0 的目標是採用語意版本控制,並在 1.x.y 期間維持建置的原始碼相容性。
外掛程式的二進位相容性(“bincompat”)表示為 sbt 版本 A 發佈的外掛程式在未經重新編譯的情況下適用於另一個版本 B。截至 2015 年 3 月,sbt 0.13 已保持 18 個月的二進位相容性。此處的穩定性有助於維護 sbt 外掛程式生態系統。我們對 sbt 1.0 的目標是採用語意版本控制,並在 1.x.y 期間維持建置的二進位相容性。
從開發的角度來看,維護二進位相容性成為我們在進行變更時需要擔心的額外約束。問題的根源在於 sbt 0.13 沒有區分公用 API 和內部實作。大多數事物都對外掛程式開放。