如何增加语义版本号?

Posted

技术标签:

【中文标题】如何增加语义版本号?【英文标题】:How to increase the semantic version number? 【发布时间】:2014-02-21 19:07:42 【问题描述】:

我使用semver spec 2.0。 版本号应该增加多少 当前版本2.0.0-beta.1 已经发布。 现在,修复了一个错误。 如果版本2.0.1-beta.12.0.0-beta.2更好?

【问题讨论】:

漏洞是否向后兼容? 好的,它向后兼容 【参考方案1】:

如果错误修复向后兼容,您应该增加 PATCH 版本(例如 2.0.0-beta.1->2.0.1-beta.1)。如果错误修复与最后一个次要/主要版本不向后兼容,那么您应该增加次要或主要版本,具体取决于不向后兼容的内容。我认为,这意味着一个全新的测试版。例如。 2.0.1-beta.1->2.1.0-beta.1 或 2.0.1-beta.1->3.0.0-beta.1.

如果它是从以前的 beta 中修复的非向后错误修复,那么您真的可以决定在 beta 中需要什么级别的支持。

【讨论】:

你的意思是,beta 级别是冻结的,只有主要、次要和补丁版本是递增的?我什么时候应该将 beta.1 增加到 beta.2? 对于 semver,beta 版有很多余地。您可以大致遵循 MAJOR/MINOR 规则,并假设如果您对新版本中的 beta 1 进行重大更改,它只是 beta 2,因为您实际上并不需要支持 beta 2。更深入地研究它意味着您需要另一层 M/P 版本控制(例如 M1.m1.pbM2.m2。)通常,当您发布测试版时,您不会对同一次要版本的不同测试版之间的向后兼容性做出语义保证版本。例如如果你在 beta 1 中引入了一个新特性并在 b1 中破坏它,你可以将它称为 b2。

以上是关于如何增加语义版本号?的主要内容,如果未能解决你的问题,请参考以下文章

语义化版本号规则

Jenkins、Maven 和语义版本控制:如何增加主要或次要版本

DevOps: 自动部署语义化版本实操

DevOps: 自动与手动部署语义化版本(Semantic Versioning)实操

语义版本控制自动化

版本号严格遵守semver语义化标准