由 zzak 發表於 2013-12-21
翻譯: Juanito Fatas
從 Ruby 2.1.0 發佈起,我們決定版號方針開始採用語意化版本。
為了更好的善用 Ruby 的版本號,會漸漸的朝如下維護方針靠攏。
方針變更
本方針基於 ruby-lang.org 系統管理員柴田博志(@hsbt)的提案。
版本架構
MAJOR
:有向下不相容且無法在MINOR
發佈的更動- 為特別事件保留
MINOR
:每年聖誕節發佈,API 可能向下相容TEENY
:與 API 相容性有關的安全性或 bug 修復- 每 2-3 個月發佈,可能超過 10 次,如
2.1.11
- 每 2-3 個月發佈,可能超過 10 次,如
PATCH
:自從MINOR
版本發佈後有多少補丁(每次發佈MINOR
時歸零)
分支架構
未來會持續維護下列分支:
- trunk
ruby_{MAJOR}_{MINOR}_{TEENY}
API 相容性
具有下列特性的更動是不相容的改動,需要增加 MINOR
版本:
- 移除 C 語言層的 API 功能
- 向下不相容的新增或修改
ABI 相容性
ABI 會採用下列架構 {MAJOR}.{MINOR}.0
。
我們盡力保證 MINOR
版本下,ABI 之間的相容性,所以 TEENY
可保持在 0 的狀態。
參考
閱讀更多關於此提案的內容,請參考下列連結:
致謝!
感謝所有參與討論的人,我們正一步步朝著更高效穩定的 Ruby 邁進。