更新时进行语义版本控制,向后中断与以前的次要版本的兼容性



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

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

请阅读 SemVer 规范。它非常清楚地解释了要求。

所有重大更改都需要主要版本提升。以前的历史、分支等与问题无关。重要的是,您是否对即将公开的版本进行了重大更改?如果是,则碰撞主要,如果否,则更改是否具有足够的风险来碰撞主要仍然取决于您,否则将次要碰撞到新的向后兼容功能,而补丁则用于其他所有向后兼容的功能。

最新更新