我有一个大型个人软件库,我一直在努力,目前正在开发中。当前,其版本为0.1.0
。
拥有主版本1还不够成熟。我一直在修改代码并引入不兼容的更改,这些更改可能会增加主版本号。同时,我的其他一些库也依赖于该库,并通过版本号对其进行引用。
如果我引入了不兼容的更改,并且不想将主要版本从0增加到1,应该如何增加版本号?
SemVer网站对此并不十分清楚,只是说:
主要版本零(0.y.z)用于初始开发。任何事情都可能 随时更改。公共API不应被认为是稳定的。
“任何事情都可能随时改变”是否意味着对主要版本0进行了例外处理,并且我可以随意更改y和z数字?
例如,如果我的版本是0.1.0
,并且引入了不兼容的更改,那么具有该更改的新版本可以是0.2.0
吗?
别人怎么说
在this site上说:
实际上,SemVer规范定义了以“ 0”开头的任何内容。 不必应用任何SemVer规则。
Another site似乎还建议当主版本为0并且添加了不兼容的更改时,可以增加次版本。
因此,您只需继续在0.x.y范围内,每增加一个 向后兼容的更改,每个不兼容的更改都使用x。
答案 0 :(得分:0)
由您决定,因为
1.x.x
版本?1.0.0
版本?达到稳定版本后,它可以以3.0.0
或4.0.0
开头... 0
开始,您不必严格遵守semver规则。一切都围绕着所谓的“成熟”。您告诉您软件还不成熟,但这意味着什么?那可以改善吗?不能涵盖所有极端情况吗?尚未经过100%测试?
最后:如果您认为它不成熟,请继续使用0.x.y
版本控制并增加次要版本,但是您的未成熟软件已经被其他库使用,因此现在应该到达2.0.0
版本