Yii バージョン規約 ================== この文書は Yii のバージョン付与ポリシーを要約するものです。 私たちの現在のバージョン付与戦略は、[ferver](https://github.com/jonathanong/ferver) によって記述されているものです。 私たちはこれを [Semantic Versioning](http://semver.org/) より現実的で合理的であると考えます (詳細については [#7408](https://github.com/yiisoft/yii2/issues/7408) を参照してください)。 コア開発者チームの内部では、2.0.x リリースを 100% 後方互換に保つことが重要であることが、何度かに渡って強調されました。 しかし、これは理想としての計画です。 ferver の記事は、Semantic Versioning を使おうが使うまいが、これが現実には達成が困難な計画であることを示す現実世界の実例を示しています。 要約すれば、私たちのバージョン付与ポリシーは次のようになります。 ## パッチリリース `2.x.Y` パッチリリースは、100% 後方互換であるべきです。 理想的には、互換性が損なわれる可能性を減らすために、バグ修正のみを含ませたいと私たちは望んでいます。 実際には、2.0.x はより頻繁にリリースされており、また、小さな機能改良をも追加して、ユーザが新機能をより早く享受できるようにしています。 * `2.x` という名前のブランチ上で保守される。 * 主としてバグ修正と小さな機能強化を含む。 * 大きな機能拡張はしない。 * 不安無しのアップグレードを保証するために、100% 後方互換でなければならない。唯一の例外はセキュリティ問題で、その場合は後方互換性が破られることもある。 * リリースのサイクルは1~2ヶ月程度。 * プレリリース (alpha, beta, RC) は不要。 * 定期的に (少なくとも週に一回は手作業で) マスターブランチにマージバックされるべき。 ## マイナーリリース `2.X.0` 後方互換性を損ないうる大きな機能と変更を含む非後方互換なリリース。 以前のバージョンからのアップグレードは簡単ではないかもしれないが、完全なアップグレードのガイド、または可能であればスクリプトが提供される。 * マスターブランチ上で開発。 * 主として新機能とバグ修正を含む。 * パッチリリースからマージされた小さな機能強化とバグ修正を含む。 * `UPGRADE-2.X.md` ファイルに記録される非後方互換な変更を含みうる。 * リリースのサイクルは6~8ヶ月程度。 * プレリリースが必要: `2.X.0-alpha`, `2.X.0-beta`, `2.X.0-rc` * 大きなニュースリリースとマーケティング努力を必要とする。 ## メジャーリリース `X.0.0` 1.0 に対する 2.0 など。 これは外部的な技術の進歩 (例えば、PHP が 5.0 から 5.4 へアップグレードされた、など) に依存して、3年から5年の間に一度だけ生じるものであると私たちは予想しています。 > Note: 公式エクステンションも同じバージョン付与ポリシーに従っていますが、フレームワークとは独立にリリースされることがあります。 すなわち、フレームワークとエクステンションの間で、バージョン番号が異なることが予想されます。