Moodleのバージョン (Dev docs)

提供:MoodleDocs
移動先:案内検索

Moodleのバージョンおよびブランチ

Moodleのバージョニングスキームを理解することは、あなたのコードを取得するために私たちのリポジトリを使用する際に役立ちます (例: アップグレード) 。正しいバージョンを知ることは、私たちのトラッカーでバグを報告する際にも非常に役に立ちます。

Schema of Moodle source code branches, versions and maturity levels


メジャーバージョンおよびマイナーバージョン

Moodleのバージョン番号は、1.9.11 または 2.0.2 のように、ドットで区切られた3つの数字で構成されています。1.9 や 2.0 などの最初の2つの数字は、メジャーバージョン を表します。3つ目の番号は、同じメジャーバージョン内の マイナーバージョン を区別するためのものです。新しいメジャーバージョンがリリースされた場合、マイナーバージョンを0 (ゼロ) に設定して開始します。つまり、Moodle 2.0.1 は Moodle 2.0.0 の最初のマイナーアップデートということになります。

一般的に、Moodle HQ チームは2つの最新メジャーバージョンを保守しています (例外として、Moodle 1.9 はより長くサポートされています) 。

バージョンおよびブランチ

Moodle の開発者は、ソースコード管理 (SCM) システム 'Git' を使用して、コードの変更を追跡しています。多くの SCM がそうであるように、Git における変更の履歴は、いわゆるブランチと呼ばれるもので表されます。ブランチは、ソースコードの変更点をラベル付けしたシーケンスと考えることができます。

Moodle のメジャーバージョンごとにブランチが作成されます。すべての Moodle 1.9 バージョンは MOODLE_19_STABLE ブランチから、すべての Moodle 2.0 バージョンは MOODLE_20_STABLE ブランチから来ています。また、マスターと呼ばれるメインの開発ブランチがあり、次の将来のバージョンに向けた変更が保持されています。現時点では、マスターブランチでの変更は、Moodle 2.1 リリースに含まれる予定です。

リリース情報

バージョン 2.0 以降、Moodle は約半年ごとに新しいメジャーバージョンをリリースすることを目標としています。スケジュールについては ロードマップ (Dev docs) ページをご覧ください。

マイナーバージョンは2ヶ月ごとにリリースされ、バグとセキュリティ問題の両方が修正されています。詳細や情報については、リリース情報 のページをご覧ください。

2つのリリースの間に、Moodle HQ チームは、最新の安定版へのアップデートを発行しています。これらのアップデートは、毎週、通常は木曜日に公開されます。これらは ウィークリービルド と呼ばれ、バージョンの小さな増分と 20200723 といった構築日により識別されるものです。これは、ウィークリービルドがリリースされた時のYYYYMMDD形式のタイムスタンプです。これらのウィークリービルドには、プラス記号の付いたバージョン番号が表示されます。つまり、3.9.1+ は、3.9.1 マイナーリリースを拡張したウィークリービルドを意味します。

ソースコードの成熟度

Moodle のライフサイクルの中で、コードブランチはいくつかの成熟度レベルを通過します。

  • 最初、ブランチは アルファ 状態であると考えられています。この間、ブランチに新機能が追加されます。API やデータベースの構成は、必要に応じて変更されることがあります。これらのバージョンは、何も保証されていないため、主に開発者向けです (例えば、バージョンはインストールやアップグレードができる場合とできない場合があります) 。
  • そのブランチに新しい機能を追加しないことが決定されると (いわゆる機能凍結) 、ベータ 成熟度に到達します。開発者は、テスト、バグフィックス、ブランチの安定化に注力します。
  • 既知の致命的なバグやブロッカーバグがすべて修正され、テスト期間中に新しいバグが報告されない場合、ブランチのプレビュー版をリリース候補と呼んでリリースすることができます。最初のリリース候補版 (RC1) が公開された時点で、リリース候補 の成熟度に達したと言えます。 この間、2.1RC1、2.1RC2、2.1RC3 など、複数の RC バージョンを発行することが可能です。
  • 最後に、新しいメジャーバージョンがリリースされ、そのブランチは 安定版 の成熟度に達します。今後、このブランチでは、データベースの構造や API は変更されません。対応する MOODLE_xx_STABLE が作成され、マイナーバージョンやウィークリービルドはそこから作成されます。

バージョン番号

各プラグインの version.php ファイルでは、プラグインが動作するために必要な Moodle の最小バージョンを指定することができます、例えば

$plugin->version = 2011080200;
$plugin->requires = 2011070101;

各リリースに関連するバージョン番号については、リリース情報 (Dev docs)のページをご覧ください。

コアでバージョン番号をインクリメントする方法

Moodle のコアでは、マスターからブランチする場合、バージョン番号もブランチします。つまり、安定版ブランチのどのバージョン番号も、マスター (あるいはそれより上位のブランチバージョン) よりも高くはならないということです。

バージョン番号は、YYYYMMDDRR.XX のように構成されています。

  • YYYYMMDD は分岐点の日付です。マスターの場合、ブランチが発生していないので、現在の日付に設定する必要があります。それ以外は変更すべきではありません(そのままにしておく)
  • RR はリリースインクリメントです。これは、1つのブランチや1日 (マスターの場合) の変更に対する増分カウンタです。
  • XX はマイクロインクリメントです。この '端数インクリメント' は、安定版のブランチに 99 以上のアップグレードステップが存在する可能性があることに気づいた後に導入されました (RR インクリメントにおいて) 。メインのバージョン番号ファイルにのみ使用される傾向があります。

安定版ブランチのルール

  • 'マイクロインクリメント' (.XX) が存在する場合
    • 開発者は 'マイクロインクリメント' の 'XX' だけをインクリメントしてください。
    • 統合チームは、ポイントリリース間の分岐に 'RR' の使用を留保しています。
  • 'マイクロインクリメント' (.XX) が存在しない場合
    • RRをインクリメントしてください。

マスターのルール

  • バージョン番号全体を現在の日付にインクリメントする必要があります。
  • つまり、2013年2月6日のバージョン番号の設定は: 2013020600.00

なぜバージョンを分岐させるのか

次のような問題のシナリオを想像してください:

  1. Moodle 2.4 がリリースされ、mod_forum のバージョンが 2012120300 に設定されました。
  2. マスターのみ、アップグレードステップで Eloy が DB フィールドを削除し、moodle のバージョンを 2013010100 に設定します。
  3. 2.4.1 と マスター で、Dan はケイパビリティ定義の問題を修正し、両方のブランチでバージョンを 2013010200 に設定しました。 (注: 大変です!未来の 2.4.x 全体のブランチングの日付を間違って変更してしまいました!)
  4. Moodle 2.5 がリリースされ、mod_forum のバージョンが 2013060100 に設定されました。
  5. リリース後、Helen は彼女の Moodle を Moodle 2.4.1 から 2.5 へアップデートします。

Dan がステップ 3 で 2.4.x のバージョンを 2013010200 に変更したことの意味は、Eloy のステップ 2 からのアップグレードが実行されないことを意味します。これは非常にまずいです!

STABLE とマスターの間に変更がないのはわかったのですが、バージョン番号を同じにしていいのでしょうか?

コアプラグインには適用されません、申し訳ありません。同じコードで作業している開発者が多すぎるので、コア用にはやらない方が事故を防げます。

関連項目