【发布时间】:2021-01-15 22:53:19
【问题描述】:
在SemVer guidelines 和x.y.z 之后,我知道我应该从0.1.0 版本开始我的开发,并在以下情况下执行以下操作:
- 重大更改:增加 y 而不是 x(在第一个生产版本之前应保留为
0)。 - 特点:???
- 补丁:增量z。
正如问号所暗示的那样,在我未发布的应用程序中添加新功能时,我应该增加 y 还是 z?
【问题讨论】:
在SemVer guidelines 和x.y.z 之后,我知道我应该从0.1.0 版本开始我的开发,并在以下情况下执行以下操作:
0)。正如问号所暗示的那样,在我未发布的应用程序中添加新功能时,我应该增加 y 还是 z?
【问题讨论】:
SemVer specification 给出了这些说明:
- 如果只引入了向后兼容的错误修复,补丁版本 Z (x.y.Z | x > 0) 必须递增。 [...]
- 如果向公共 API 引入新的向后兼容功能,则必须增加次要版本 Y (x.Y.z | x > 0)。 [...]
- 如果将任何向后不兼容的更改引入公共 API,则必须增加主版本 X (X.y.z | X > 0)。 [...]
所以基本上,Z 为修复而递增,Y 为特性而递增,X 为破坏性更改而递增 无论是关于特性还是修复。
在最初的开发阶段,我们只是不处理重大更改部分,因为我们没有生产用户。因此,我们应该为修复增加 Z,为特征增加 Y, 无论更改是否向后兼容。
【讨论】: