Page 1 Semantic Versioning! 宇佐見 公輔Page 2 Semantic Versioning って何?Page 3 バージョン番号の 付け方Page 4 主にライブラリ向けPage 5 なぜ必要か?Page 6 バージョン番号の 大小を機械的に判定Page 7 どこで使われているか?Page 8 パッケージを管理する システムPage 9 RubyGemsとか CocoaPodsとかPage 10 一般のアプリは 必ずしも守る必要はないPage 11 でも、迷うようなら 参考にしてはどうかPage 12 仕様の基本Page 13 Major.Minor.PatchPage 14 (例) 1.0.0 2.1.3 3.10.1Page 15 Patch番号 バグ修正とかPage 16 Minor番号 後方互換性がある変更Page 17 Major番号 後方互換性がない変更Page 18 基本の補足Page 19 Major番号 = 0 開発段階を示すPage 20 この場合は 厳密なルールはないPage 21 応用(1)Page 22 プレリリース (betaとかRCとか)Page 23 X.Y.Z-hogePage 24 プレリリースは 通常バージョンより 低いバージョンとなるPage 25 1.0.0 < 1.1.0-alpha < 1.1.0Page 26 1.1.0-alpha < 1.1.0-beta < 1.1.0-beta2 < 1.1.0-RCPage 27 応用(2)Page 28 ビルドメタデータPage 29 X.Y.Z+fuga X.Y.Z-hoge+fugaPage 30 ビルドメタデータは バージョンの大小に 影響を与えないPage 31 1.1.0 = 1.1.0+ext1 = 1.1.0+ext2Page 32 1.1.0-alpha = 1.1.0-alpha+ext1 = 1.1.0-alpha+ext2Page 33 仕様書の場所Page 34 semver.org