👩🏼💻
セマンティックバージョニングによるバージョン表記方法
バージョン
2.0.0
表記方法
x.y.z というバージョンが与えられたとき
x をメジャーバージョン,
y をマイナーバージョン,
z をパッチバージョン
といいます。
メジャーバージョンを上げるときは互換性のない機能が追加されます。
マイナーバージョンを上げるときは互換性のある機能が追加されます。
パッチバージョンを上げるときはバグの修正がされます。
- 例
1.23.4 というバージョンナンバーが与えられたとき
メジャーバージョンは 1
マイナーバージョンは 23
パッチバージョンは 4 となります。
仕様書について
公式の仕様書では 11 コの仕様が書かれています。
その中からいくつかピックアップします。[1]
- メジャーバージョンが 0(つまり、0.y.z) のとき初期段階の開発用であることを表します。
変更が起こりえるため使用するには安定していません。 - パッチバージョンの直後にハイフンとドットで区切られた識別子を追加することでプレリリースバージョンを表現できます。プレリリースバージョンは不安定で、通常のバージョンが示す要件とは互換性を満たさない可能性があります。
ex. 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92 - パッチバージョンの直後またはプレリリースバージョンの直後にプラス記号とドットで区切られた識別子を追加することでビルドメタデータを表現できます。
ex. 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85
仕様書にはいろいろ書かれていますが、メジャーバージョンとマイナーバージョンとパッチバージョンのそれぞれの意味がわかれば十分だと考えています。
著者
Tom Preston-Wernerがセマンティックバージョニングの仕様書の著者です。意見があれば GitHub でissue を立てることができます。
Discussion