当更新向后破坏与先前次要版本的兼容性时的语义版本控制

时间:2018-04-09 00:36:55

标签: version versioning semantic-versioning

如果我使用版本v1.0.0在github上分叉项目,然后添加一些新功能。它仍然是向后兼容的,所以如果我正确理解语义版本控制,我将版本更改为v1.1.0。如果我现在决定要更改新功能的命令行参数,它会变为v1.2.0还是v2.0.0,因为此更改会破坏v1.1.0中引入的向后兼容性?

1 个答案:

答案 0 :(得分:0)

  

如果我现在决定要更改新功能的命令行参数,它是否会变成v1.2.0或v2.0.0,因为此更改会破坏v1.1.0中引入的向后兼容性?

请阅读the SemVer spec。它非常清楚地解释了这些要求。

所有重大更改都需要Major版本。以前的历史,分支等与问题无关。重要的是,您是否对您即将公开的版本进行了重大更改?如果是,请点击重大,如果不是,则仍然由您决定更改是否具有足够的风险来触发Major,否则会因为新的向后兼容功能而遭遇Minor,而Patch则向后兼容所有其他功能。