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ブランチにのみ追加されます。ポイントリリース (=メジャーでないリリース) で新機能を追加することはありません。

2 バグ修正

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

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

現在対象となっているシリーズ: 4.2.Z4.1.Z (サポート担当: Rafael França)。

3 セキュリティ問題

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

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

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

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

重大なセキュリティ問題については、上と同様に新バージョンを提供し、かつ最新のメジャーリリースシリーズに対してセキュリティパッチと新バージョンを提供します。セキュリティ問題がどれほど重大であるかの判断はコアチームによって行われます。

現在対象となっているシリーズ: 4.2.Z4.1.Z3.2.Z

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

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