Ruby 2.1.0 以降のセマンティックバージョニングについて
Posted by zzak on 21 Dec 2013
Translated by makimoto
Ruby 2.1.0 以降、Semantic Versioning (日本語訳) に寄せたバージョニングに移行することを決定しました。
Ruby に、より明確で適切なバージョニングスキーマを提供するため、われわれは以下のポリシーに段階的に移行します。
ポリシーの変更
このポリシーは、 ruby-lang.org の管理者である柴田博志 (@hsbt) の提案にもとづくものです。
バージョンスキーマ
MAJOR:MINORリリースで対応できない互換性のない変更がある場合に増加する。- 特別なイベントのために予約される。
MINOR: クリスマスごとに増加する。 API レベルでの非互換がありえる。TEENY: API 互換性を維持するセキュリティフィックスやバグフィックス。2.1.11のように10以上の値になりえる。2、3ヶ月おきにリリースされる。
PATCH: 直前のMINORリリースからのコミット数。 (MINORがリリースされるごとに 0 に戻る)
ブランチスキーマ
われわれは以下のブランチを管理することにします。
- trunk
ruby_{MAJOR}_{MINOR}
ruby_{MAJOR}_{MINOR} ブランチは TEENY リリースにわたって管理されます。
それぞれのリリースにはタグを用います。
API 互換性
以下のことが行われた際は非互換であるとして、 MINOR バージョンを増加させるものとします。
- C レベルの API 機能の削除
- 下位互換性のない変更および追加
ABI 互換性
ABI は {MAJOR}.{MINOR}.0 のスキーマに従うものとします。
われわれは同一の MINOR レベルのリリースにおける ABI 互換性の維持に最大限注力します。
したがって TEENY は0に固定されます。
参考文献
この提案についてのより詳しい情報は以下のリンクを参照してください。
ありがとう!
この議論に参加してくれたすべての方々に感謝します。 われわれの一つ一つの歩みは Ruby をより安定した効果的なものにしていくでしょう。
最近のニュース
Ruby 4.0.2 リリース
Ruby 4.0.2 がリリースされました。
Posted by k0kubun on 16 Mar 2026
Ruby 3.4.9 リリース
Ruby 3.4.9 がリリースされました。
Posted by nagachika on 11 Mar 2026
関西Ruby会議09の参加登録が開始されました
日本Rubyの会が後援する、地域Ruby会議(RegionalRubyKaigi)の1つである関西Ruby会議09の参加登録が開始されました。
Posted by Yudai Takada(@ydah) on 3 Mar 2026
Ruby 4.0.0 リリース
Ruby 4.0.0 が公開されました。 Ruby 4.0 には “Ruby Box”、”ZJIT” ほか多数の改善が含まれています。
Posted by naruse on 25 Dec 2025