バージョン ライフサイクル

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Version lifecycle and the translation is 100% complete.

MediaWiki は「継続的なインテグレーション」という開発モデルで運営されており、ソフトウェアの変更は定期的にウィキペディアなどのウィキメディアのウェブサイト群に実際に展開されます。

理論的には、新しいメジャー リリースは半年単位で発行され、リリース ブランチは最初のリリース時点で最長1年間、セキュリティの更新を受け続けます。しかし、時間的な制約やコード ベースの急速なリファクタリングのため、古くなったリリースを永久にサポートすることはできませんし、ライフ サイクルが終了したリリースにはセキュリティの更新や重大な更新は適用されません。

リリース マネージャーの Tim Starling をはじめとする MediaWiki の開発者は、ウィキ運用者が mediawiki-announce メーリング リストに登録することを強く推奨します。これに参加するとすべてのリリースの告知を受け取れるため、自分のウィキを確実に最新のバージョンのソフトウェアで実行し続けることができます。同じアナウンスが mediawiki-lwikitech-l の各メーリング リストにも投稿されます。

バージョンとライフサイクル終了時期

完全な履歴については、w:MediaWiki version history を参照してください。
バージョン 状態 リリース ライフサイクル終了
1.37.x 将来のバージョン 2021年11月 2022年11月
1.36.x 現行の安定バージョン (2021-05-28) 2022年5月
1.35.x (LTS) 現行の長期間サポートバージョン (2020-09-25) 2023年9月
1.34.x 廃止されたバージョン (2019-12-19) 2020年11月
1.33.x 廃止されたバージョン (2019-07-02) 2020年6月
1.32.x 廃止されたバージョン (2019-01-11) 2020年1月
1.31.x (LTS) 旧版の長期間サポートバージョン (2018-06-14) 2021年9月
1.30.x 廃止されたバージョン (2017-12-12) 2019年6月

上記の表で「廃止されたバージョン」としているバージョンでは、列挙されていないバージョンと同様に、セキュリティ上の修正を受けられません。致命的なセキュリティ上の脆弱性や、その他の重大な不具合を抱えているおそれがあり、データの消失や破壊もありえます。リリース マネージャーは、実稼働環境では、上記の表の現行の「安定版」と「LTS」のいずれかのバージョンのみを使用することを強く推奨します

Special:MyLanguage/MediaWiki 1.19Special:MyLanguage/MediaWiki 1.20Special:MyLanguage/MediaWiki 1.21Special:MyLanguage/MediaWiki 1.22Special:MyLanguage/MediaWiki 1.23Special:MyLanguage/MediaWiki 1.24Special:MyLanguage/MediaWiki 1.25Special:MyLanguage/MediaWiki 1.26Special:MyLanguage/MediaWiki 1.27Special:MyLanguage/MediaWiki 1.28Special:MyLanguage/MediaWiki 1.29Special:MyLanguage/MediaWiki 1.30Special:MyLanguage/MediaWiki 1.31Special:MyLanguage/MediaWiki 1.32Special:MyLanguage/MediaWiki 1.33Special:MyLanguage/MediaWiki 1.34Special:MyLanguage/MediaWiki 1.35Special:MyLanguage/MediaWiki 1.36Special:MyLanguage/MediaWiki 1.37
MediaWiki のリリース タイムライン
  •   アルファ版の開発
  •   リリース版の開発
  •   安定版リリース
  •   長期間サポート リリース (LTS: Long-term support)


リリースの方針

  • それぞれのポイント リリースは、国際化ファイルの更新やあらゆるバグ修正を含んでいます。 新機能がポイントリリースにバックポートされることはありませんし、サポート対象には必ずしも一般的に同梱された拡張機能や外装 が含まれるとは限りません。
  • メジャー リリース6か月ごとに公開されます。
  • 長期間サポート リリース (LTS: Long Term Support) は、2 年ごとに公開されます。LTS のサポート期間は 1 年ずつ重なっています。例えば、1.23 のサポートは2017年5月まででした。その前年に 1.27 がリリースされたため、移行先の LTS として利用でき、1年間を移行期間として確保できます。
  • リリース ノートは、何が変更されたかを確認するための基礎となるものです。 ボランティアで運営されているプロジェクトの性質上、今後6~12か月の間に何が起こる予定かを確実に言うことはできません。

リリース日程

このタイムラインは、新しいバージョンがリリースされるまでに必要なことのスケジュールです。ここでは、実際のリリース日は、「T」(リリースの「時間」の意味) と接尾辞「-#」(「リリースの # 週間前」の意味) で示されます。

相対的な日程 作業内容
T - 7 1週間後にリリースブランチを作成すると発表します。進行中の機能を完成させるために必要なものは、それまでに必ずマージするようにお願いしましょう。Phabricator で「MW-X.XX-release」を作成します。
T - 6 コアおよびすべての拡張機能のブランチを Gerrit 内に作成します。
T - 5 X.XX-rc.0 タグを適用し、初回のリリース候補をリリースします。
T - 4 あらゆるバグ報告を収集し、それらをメーリングリスト内で要約します。
T - 3 X.XX-rc.1 タグを適用して、2 つめのリリース候補をリリースします。tarball に追加することが提案されている新しい拡張機能は、この時点ですべて含めるべきです。 この時点以降、拡張機能は変更されません。
T - 2 新しいバグ報告を収集し、修正をマージし、誤って含まれていた新しい不完全な機能を取り消し、X.XX-rc.2 タグを適用し、3 番目のリリース候補をリリースします。
T - 1 前の段階を繰り返し、X.XX-rc.final をタグ付けし、リリースします。 この時点以降、バックポートは受理されません。
T リポジトリに X.XX のタグを付けて、リリースします。

拡張機能のライフサイクルの管理

MediaWiki のインストレーションのほとんどは、多数の拡張機能を使用しています (ウィキメディアのウィキでは大抵、拡張機能は約 140 個に達します)。拡張機能の保守管理においてバグ修正、適切なバージョンの選択は課題であり、これは HEAD 開発バージョンが、MediaWiki コアの安定版や旧安定版ではまだ利用できない機能を含んでいるためです。

拡張機能のメンテナーには MediaWiki のバージョンごとに拡張機能の各バージョンの git ブランチを設定するよう強く推奨します。 (詳細は互換性#MediaWiki拡張機能 を参照。) ウィキメディアの git repo にホストした拡張機能では、それらの分岐 (名称が MediaWiki 1.30 ならREL1_30) は新しい MediaWiki 分岐ができると自動でマスターから生成されます (前提として拡張機能のマスターが常時、MediaWiki マスターと互換性があるはずという認識) 。 しかし、HEAD だけでなく旧安定バージョンや安定バージョンについても、バグの修正は拡張機能のメンテナーにお願いできれば助かります(必要に応じて修正を旧分岐にバックポートしてください)。

これらの規則は、MediaWiki をインストールする人や組織が最新のリリースをインストールするようにすることと、拡張機能のバージョンを簡単な手法で同期できるようにすること (例: 1.20.x のコアに合わせるには、Git のブランチ REL1_20 を使用する)、を目標としています。

関連項目