仕様と実装が違っていて、実装を仕様にあわせる (不具合修正する) と、結果的に今の実装からの破壊的な変更 (breaking change) が発生する場合に semver の major を bump するべきか?がわからなかったため、ググったら面白いスレッドがあったから読んでた。
以下、かいつまんだ内容。
- SemVer は「何故 API に破壊的な変更を入れたか?」ではなく、「API に破壊的な変更を入れたかどうか?」を訊いている。
- SemVer が機能しないのはほとんどの場合、きちんと扱っていないから。
- SemVer は利用者のコードを修正することなく、アップデートしても大丈夫かどうかを利用者に伝えるもの。
- API が不安定で SemVer で適切に変更を通知しないなら、利用者に使ってもらうことは難しくなる。
- API が開発途中で毎日のように変化するなら
1.0.0
であるべきではない。1.0.0
は安定した API になったことを知らせるためのものである。
- API が開発途中で毎日のように変化するなら