Semantic versioning存在于两个草稿中(截至本文撰写时,不包括beta版和候选版):1.0.0和2.0.0。显然,它本身就是版本。
答案 0 :(得分:1)
这些都是很棒的问题!
促使主要版本崩溃的1.0.0和2.0.0之间有什么突破性的变化?
有多项更改涉及规范中语言的细微收紧以及常见问题解答的增加,这可能会导致某些SemVer解析器(打包和工作流工具)中的某些代码更改,这些都不会让人震惊。最大的变化是:
使用semver时,我是否需要担心这个或将来的变化会引起混淆?
没有标准方法可以确定MyCoolGizmo 1.2.0是否在SemVer 1.0.0,2.x.x或未来x.x.x规范下进行了版本控制。但是,你不能从版本字符串中告诉任何潜在的语义,合同或工作流,我们需要某种版本元/模式(WIP)。关于GitHub semver/semver issues tab的一些提案如果被采纳对SemVer社区中的许多人来说非常令人不安,但是不太可能被全部或部分采用。
我与维护者就SemVer的未来进行了一些电子邮件讨论,并且有理由期待一些计划正在进行中,以便在今年的某个时间记录一些前瞻性陈述。版本3.x.x可能就在某个角落,但此时此角落可能已经过去了几年。该标准相当稳定,我相信它可能仍然如此。
编辑:了解问题的核心,semver.org site维护了可以从产品文档中引用的规范的五个版本的“不可变”副本。我希望随着新版本候选/发布的发布,该列表将会增长。您应始终能够参考产品声称遵守的版本。
如果semver在一个版本下进行了更改而在其他版本下没有进行更改会发生什么?
任何新版本的SemVer都将相对于2.0.0。当然,相对于2.x.x的任何突破性变化相对于1.0.0都是突破,那么有什么区别呢?如果您担心要移除的功能,那么这显然是一个需要另一个主要版本冲突的重大变化。
如果您有任何其他问题,可以在此处提出问题或将其带到SemVer issues site on GitHub。