Ruby on Rails のメンテナンスポリシー

Railsフレームワークのサポートは、新機能 (New feature)、バグ修正 (bug fixes)、セキュリティ問題 (security issues)、重大なセキュリティ問題 (severe security issue) の4つのグループに分割されています。これらは以下のように扱われています。バージョン表記はすべてX.Y.Zの形式に従います。

Railsのバージョン命名はsemverのSemantic Versioningをシフトしたものに従っています。

パッチZ

このパッチではバグ修正のみを行います。API変更や機能追加はこのパッチでは行いません。ただしセキュリティ修正については、必要であればこれらの変更を行なうこともあります。

マイナーY

新機能を追加します。ここにAPIの変更を含めることもできます (Semverでいうメジャーバージョンに相当)。重大な変更を行う場合は、必ず事前にマイナーリリースまたはメジャーリリースで非推奨通知を行います。

メジャーX

新機能を追加します。多くの場合API変更も含まれます。Railsにおけるマイナーリリースとメジャーリリースの違いは変更の重大性の度合いであり、通常は特別な場合に備えて予約されます。

1 新機能

新機能はmasterブランチにのみ追加されます。ポイントリリース (=Railsの場合はパッチリリース) で新機能を追加することはありません。

2 バグ修正

バグ修正は最新リリースのシリーズでのみ利用できます。バグ修正が十分に行われ、新しいgemをリリースする価値があると認められた場合は、そこからブランチを作成します。

特殊な状況として、サポート対象となるシリーズを拡大することにCore Teamメンバーの誰かが賛成した場合は、それらはサポート対象のシリーズに追加されます。

現在対象となっているシリーズ: 6.0.Z

3 セキュリティ問題

現在のリリースシリーズ (訳注: 複数のリリースに対する総称)、および次のリリースシリーズには、セキュリティ問題発生時にパッチと新バージョンが適用されます。

これらのリリースは、直前にリリースされたバージョンにセキュリティパッチを適用してリリースされます。続いて、それらのパッチはx-y-stable (安定版) ブランチの最後に適用されます。たとえば、仮に1.2.3というセキュリティリリースがあるとすると、このリリースは1.2.2を元にビルドされ、1-2-stableの最後に追加されます。つまり、最新のRailsを使用していればセキュリティリリースのアップグレードが容易に行えるということです。

現在対象となっているシリーズ: 6.0.Z5.2.Z

4 重大なセキュリティ問題

重大なセキュリティ問題については、最新のメジャーなシリーズにおけるすべてのリリースと、前回のメジャーなシリーズの最後のリリースに対してセキュリティパッチと新バージョンを提供します。セキュリティ問題の重大性の分類はコアチームによって行われます。

現在対象となっているシリーズ: 6.0.Z5.2.Z

5 サポート対象外となるリリースシリーズ

あるリリースシリーズがサポート対象外になった場合、バグ修正とセキュリティ問題の対応は各自の責任となります。場合によっては修正のバックポートの提供とgitへの公開が行われることもありますが、以後新バージョンがリリースされることはありません。アプリケーションで使用しているバージョンを維持しきれない場合は、サポート対象となっているバージョンにアップグレードしてください。