Rhyztech blog

よくわかるセマンティックバージョニング

tech

セマンティックバージョニングに関しては 公式サイト をみてもらうのが一番良いのだが、わかりやすいようにフローチャートを書きました。

補足

セマンティックバージョニングは、ライブラリを使う側が新しいバージョンを取り込むべきかを機械的に判断するためにあります。機械的に判断できるからこそ、Dependabot のようにバージョンアップを自動化することができるのです。

セマンティックバージョンでは、

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

となっていますが、そのライブラリを使う側は、

  • パッチバージョン: 何も考えずに取り込んで良い
  • マイナーバージョン: 自動テストが通る限り取り込んで良い
  • メジャーバージョン: 取り込むには何かしらの修正が必要

と考えることができるようになるのです。

Copyright 2021, rhyztech. All Rights Reserved.