我理解推断主要版本和次要版本的时间和原因。但是对于轻微的A.B
和未成年的C
有什么意义?我什么时候应该A
以及何时B
?为什么我们没有semantic versioning政策中的主要版本只有一个地方?
答案 0 :(得分:5)
有很多变化需要主要的版本碰撞,但实际上是对库的小改动。添加Functor
或Traversable
实例等内容的变化非常小,但需要进行重大版本修改。从api中删除函数需要一个主要的版本冲突。
但是许多库也经历了巨大的更改。整个重写API。更改核心类型和函数的语义。替换整个事物以寻求更好的抽象。
前者更改要求更新B.后者更新为A.当然,判断调用是在中间进行的。但粗略的规则是,对于需要主要版本碰撞的小事物,B会增加,并且对于重大的API更改,A会增加。