tests-passed では、3.2.0.beta1-dev 以降、Discourse のコアバージョン番号に -dev サフィックスが含まれるようになり、これらがベータ版の最終的な「リリース」バージョンではないことを示します。このサフィックスは UI には表示されないため、大多数の人には影響のない技術的な問題です。
技術的な詳細については、以下を参照してください。
Discourse 3.1 以前のベータ版シリーズでは、バージョン管理戦略として、ベータ版を「リリース」し、次のベータ版リリースまで tests-passed のバージョン番号をそのままにしていました。これにはいくつかの問題がありました。
-
バージョンを指定しようとすると、
3.1.0.beta2のようなバージョンが、数百もの異なる時点を指す可能性がありました。これは、互換性を正確に定義しようとする際に特に問題となります.discourse-compatibilityファイル経由 -
メジャーバージョンリリース後、tests-passed での開発を継続するために、すぐに次のバージョンの beta1 を「リリース」する必要がありました。そのため、冗長な beta1 リリース が発生しました。
状況を改善するために、ベータ版リリースの開発中はバージョン番号に -dev を追加するようになります。たとえば、3.2 の開発サイクルは 3.2.0.beta1-dev で開始します。それがリリース準備完了になったら、3.2.0.beta1 としてスタンプされ、その後すぐに 3.2.0.beta2-dev の開発を開始するコミットが続きます。
今後、メジャーリリースは以下のようになると想定しています。
%%{init: { 'logLevel': 'debug', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchOrder': 2}} }%%
gitGraph
branch stable order: 1
commit tag: "v3.1.8"
checkout main
commit id: "bump to v3.2.0.beta17" tag: "v3.2.0.beta17" type: HIGHLIGHT
commit id: "bump to v3.2.0.beta18-dev"
commit
commit id: "bump to v3.2.0.beta18" tag: "v3.2.0.beta18" type: HIGHLIGHT
checkout stable
merge main id: "merge"
commit id: "bump to v3.2.0" type: HIGHLIGHT tag: "v3.2.0"
checkout main
commit id: "bump to v3.3.0.beta1-dev"
マイナーリリースは以下のようになります。
%%{init: { 'logLevel': 'debug', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchOrder': 2}} }%%
gitGraph
branch stable order: 1
commit tag: "v3.1.1"
checkout main
commit id: "bump to v3.2.0.beta2-dev"
commit id: "... development of beta2 ..."
commit id: "bump to v3.2.0.beta2" tag: "v3.2.0.beta2" type: HIGHLIGHT
checkout stable
commit id: "backports"
commit id: "bump to v3.1.2" type: HIGHLIGHT tag: "v3.1.2"
checkout main
commit id: "bump to v3.2.0.beta3-dev"
(これらの図では、main と tests-passed は同等と見なすことができます)
これらのプロセスは、version_bump.rake で確認できるいくつかの rake タスクにコード化されています。