Open ma8ma opened 3 weeks ago
RFCのpull requestを開きました。 https://github.com/JDimproved/rfcs/pull/10 コメントやフィードバックはこちらでも募集しています。
個人的な意見としては:
dev
を使われると、alpha
の a
とか beta
の b
よりも d
の方が後ろなので、そのまま使うと dev
から beta
だとバージョンが巻き戻っているように判断されかねないので、好みではないんですよね...
@mtasaka コメントありがとうございます。 パッケージでバージョンの順序がどう処理されるのかは頭から抜けていました。
dev を使われると、alpha の a とか beta の b よりも d の方が後ろなので、そのまま使うと dev から beta だとバージョンが巻き戻っているように判断されかねないので、
アルファベット順になるalphaでやってみます。
奇数開発 + 偶数stable , 0.12.0 -> 0.13.1 -> 0.13.2 -> 0.13.900 -> 0.13.901 -> 0.14.0 のやり方
JDimは開発者やテスターじゃない方もソースからビルドして使うので 偶数奇数の使い分けや番号で開発を表現するのに馴染みがない方が少なからずいると思います。 知名度で考えるとalphaのほうが伝わりやすいかなと…
了解です。では alpha タグでお願いします。
alpha版に更新しました。 https://github.com/JDimproved/JDim/pull/1414
alphaタグ導入による開発バージョン管理の提案
背景や動機
JDim のバージョンは番号、開発段階タグ、日付の3つで構成されています。
YYYYMMDD
, 例えば2024年7月10日なら20240710
となります。<番号>-<開発段階タグ><日付>
となります。例:
現状の問題点
リリース後に修正が加えられてもバージョン番号が変わらなければ、一見して最新版かそうでないか判別できません。 このため、ユーザーがリリース版と開発版どちらを使っているか判断しづらく、issue や掲示板での対応が難しくなっています。
解決方法
edit(2024-07-09): 下記コメントで指摘がありalphaを使います。
0.12.0をリリースした後から
devalphaタグ、ならびにバグ修正版のブランチを試験的に導入することを提案します。alphaタグ:
リリース後から機能フリーズまでの開発期間中は、master ブランチのバージョンに alpha タグを追加します。
<次期リリースの番号>-alpha<日付>
とします。alphaタグを用いたバージョンの例:
バージョン表記例:
※バージョンは例です。実際のバージョンとは異なります。
バグ修正版のブランチ:
リリース後 master ブランチに alpha タグを付与する場合、バグ修正版をリリースする必要が生じた際は旧バージョンへ戻す必要があります。 一つのブランチで管理すると、リリース版と開発版が混在し、履歴を追跡するのが困難になるため Gitリポジトリの tag が付けられたリリースのコミットからブランチを分岐して管理します。
バグ修正版のリリースは、リソース状況を考慮し、メンテナーが判断します。 バグ修正版が必要になった場合は、改めてissueを作成し、その際にブランチを作成します。
代替案
タグの案と候補から外した理由
~~alpha
理由: 多くのソフトウェアで開発版リリースに使用されていますが、 alpha版は次のバージョンに入る主要な機能が追加された段階を指すことが多く、 リリース直後の早期開発段階には合わないため候補から外しました。~~
nightly
理由: 毎日更新される開発バージョンに使用されますが、 JDim は CI/CD でsnapパッケージを毎日更新しているわけではないため候補から外しました。
weekly や monthly
理由: 毎週/毎月更新される開発バージョンに使用されますが、定期的リリースを行わない場合は適切ではないため候補から外しました。
canary
理由: Webブラウザ Google Chrome やその派生物で使用されていますが、 JDim は Chrome と技術的に無関係であるため、誤解を避けるために候補から外しました。
通常の開発では到達不可能な、次のリリースバージョンに近い値にする (例: 開発中: 0.12.99 → リリース: 0.13.0)
理由: 一部のソフトウェアでは、大きなバージョンアップを予告するために使用されますが、 開発に関わっていないと意味やニュアンスが伝わりにくい可能性があるため、候補から外しました。
dev https://github.com/JDimproved/JDim/issues/1411#issuecomment-2214228914
追加の情報
~~開発中のバージョンを表すために "dev" を使用しているソフトウェアの例として、Android 用2ch互換掲示板アプリの ChMate があります。 "dev" は、ユーザーにとって他の案より馴染みのある表記である可能性が高いです。~~
バージョンの付け方の更新は開発保守に影響を与えるため RFC があるとよいですが、 まずは試験的に導入し、RFC の草案を公開して検討したいと思います。
参考資料