Major, Minor, Patch — 各数字の意味

セマンティックバージョニングの3つの数字の明確なガイド:MAJORは破壊的変更、MINORは機能追加、PATCHはバグ修正。

Version Comparison

詳細な説明

MAJOR.MINOR.PATCH の理解

セマンティックバージョニングは、リリース間の変更の性質を伝えるために3つの数字を使用します。

3つのコンポーネント

コンポーネント 位置 インクリメントするタイミング
MAJOR 1番目 互換性のないAPI変更 1.0.02.0.0
MINOR 2番目 後方互換性のある機能追加 1.0.01.1.0
PATCH 3番目 後方互換性のあるバグ修正 1.0.01.0.1

リセットルール

上位コンポーネントをインクリメントすると、下位コンポーネントはゼロにリセットされます:

  • MAJORバンプ:1.4.72.0.0(マイナーとパッチがリセット)
  • MINORバンプ:1.4.71.5.0(パッチがリセット)
  • PATCHバンプ:1.4.71.4.8(リセットなし)

「破壊的変更」とは?

一般的に、既存コードが動作しなくなる可能性のあるものが破壊的変更です:

  • パブリック関数やメソッドの削除
  • 関数シグネチャの変更
  • 設定オプションの名前変更や削除
  • ユーザーが依存するデフォルト動作の変更

0.xの例外

バージョン1.0.0未満ではAPIは不安定と見なされ、ルールは緩和されます。これが^0.2.3^1.2.3と異なる扱いを受ける理由です。

ユースケース

パッケージやライブラリを公開する際のバージョン番号の慣行を理解し、変更がメジャー、マイナー、パッチのバンプに相当するかを判断する場合。

試してみる — Semver Calculator

フルツールを開く