LoginSignup
2
1

Semantic Versioning とは?

Posted at

最近、社内でnpmパッケージを配布していた時、versionはどのようなルールで決まるのかが気になりました。

そこで、バージョン管理について検索していたら、たまたまセマンティックバージョンという概念を知りました。

Semantic Versioningとは、

 バージョンナンバーは、メジャー.マイナー.パッチ とし、バージョンを上げるには、

  1. APIの変更に互換性のない場合はメジャーバージョンを、
  2. 後方互換性があり機能性を追加した場合はマイナーバージョンを、
  3. 後方互換性を伴うバグ修正をした場合はパッチバージョンを上げます。

 プレリリースやビルドナンバーなどのラベルに関しては、メジャー.マイナー.パッチ の形式を拡張する形で利用することができます。

上記のようなアイデアを持って、メジャー/マイナー/パッチバージョンを有意義に更新するバージョン管理方法です。
セマンティックバージョニングはパッケージ利用者に、そのパッケージがどのように変更してきたかを知ることができる。

セマンティックバージョンの詳細な説明は以下のリンクで確認することができます。
https://semver.org/lang/ja/

重要な内容だけまとめると

  1. 初回の配布バージョンは0.1.0とし、その後プロダクト化前までのリリースごとにマイナーバージョンあるいはパッチバージョンを更新する。
  2. 1.0.0はプロダクトして利用される初めてのバージョンとする。
  3. 特定のバージョンが配布された後、そのバージョンは絶対に変更されないこと。
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1