ソース表示: Versioning #110432

== !OpenTween バージョン規則 ==

バージョン番号は「2.1.3」のように X.Y.Z の形式で表します。X はメジャーバージョン、Y はマイナーバージョン、Z はパッチバージョンと呼ばれます。

新しいバージョンがリリースされる際、前回のバージョンからどのような変更が加わるかによって、以下の規則に従って X, Y, Z の番号が増加します。

 * 動作環境の最小要件が変更される場合(動作に必要な .NET Framework や Windows のバージョンが引き上げられた場合など)、または既存の機能の削除を伴う場合には、メジャーバージョンの数値が増加します。この時、マイナーバージョンとパッチバージョンの数値はゼロにリセットされます。
 * 前項に該当せず、機能の追加が行われる場合にはマイナーバージョンの数値が増加します。この時、パッチバージョンの数値はゼロにリセットされます。
 * 前項に該当せず、バグ修正が行われる場合にはパッチバージョンの数値が増加します。

=== v1.4.2 までの古いバージョン規則とは何が違いますか? ===

!OpenTween v1.4.2 までのバージョンでも X.Y.Z の形式で番号が振られていました。しかし、ピリオドによる区切りは何ら意味を持っておらず、単に連番を1桁ずつ区切っただけのものでした。
v1.0.0 から開始した !OpenTween の 20 番目のリリースバージョンは v1.1.9 で、21 番目は必ず v1.2.0 になります。

新しいバージョン規則では、例えば v2.1.9 の次のバージョン番号が何になるかはそのバージョンの変更内容によって異なります。バグ修正のみを含むのであれば v2.1.10 になり、機能追加を含むのであれば v2.2.0 になり、.NET Framework のターゲットバージョンが変更されていば v3.0.0 になります。

=== ユーザーはバージョン番号のどこに注目すべきですか? ===

!OpenTween の新しいバージョンがリリースされたとき、今使用している !OpenTween のバージョンからメジャーバージョンが変化していないか注意してください。

もしメジャーバージョンが上がっていた場合には用心が必要です。もし !OpenTween の更新とは別に .NET Framework ランタイムのインストールが必要になった場合には、すべて完了するまでは !OpenTween を起動することができなくなる事態が予想されるためです。さらに悪い場合は、Windows のバージョンが古すぎるために最新の !OpenTween が起動できないことも有り得ます。

もしあなたが 1 日の大半を Twitter に費やしており常にタイムラインに張り付いていないと気が済まないようなツイ廃であるならば、メジャーバージョンの更新は時間に十分余裕のあるときに行い、作業が終わるまでの間に Twitter を眺める用のスマートフォンやタブレット端末を手元に用意しておくと良いでしょう。

=== 大きな変更が加わるとメジャーバージョンが上がるということですか? ===

いいえ。メジャーバージョンの変化は単に変更内容の大小を意味するものではありません。

メジャーバージョンは「動作環境の最小要件の変更」または「機能削除」を含む場合に上がります。もし新しい機能が一度にいくつ追加されたとしても、それだけではメジャーバージョンは上がりません。

メジャーバージョンを上げる最初のリリースでは、その直接の原因となる「動作環境の最小要件の変更」または「機能削除」以外にはなるべく変更を加えないように注意を払って新バージョンをリリースします。

=== これは Semantic Versioning ですか? ===

短い回答:はい。

長い回答:
[https://semver.org/lang/ja/ Semantic Versioning] は、近年 FLOSS において事実上の標準となっているバージョン規則です。この規則に従うことで、バージョン番号の変化から「パブリックAPI」にどのようなにどのような変更が加わるかが読み取れます。
この規則はライブラリを公開または利用する開発者にとっては便利な一方で、!OpenTween のようなエンドユーザーが利用するソフトウェアには Semantic Versioning における「パブリックAPI」に相当するものが存在せず、そのまま適用することができません。そのため、Semantic Versioning の規則を踏襲しつつ後方互換性のない変更を「動作環境の最小要件の変更」と「機能削除」と定義したものがこのバージョン規則です。