语义化版本控制(SemVer) 语义化版本控制定义了一种版本号的格式和升级规则,以便于管理和预测软件的变更影响。
Major(主版本号)
Major版本号是语义化版本中的第一个数字,用于表示软件的主要版本变更。主要变更包括:
- 不兼容的API更改:当你修改了软件的API,以至于旧版本的代码无法与新版本一起正常工作时,应该升级Major版本号。这可能包括删除、更改或添加API端点、参数或行为。
- 重大功能新增:如果你引入了重要的新功能,这可能会改变用户的工作流程或提供新的能力,也应该升级Major版本号。
- 废弃旧功能:当你计划废弃或删除旧的功能时,通常需要增加Major版本号,以提醒用户进行迁移。
Minor(次版本号)
Minor版本号是语义化版本中的第二个数字,用于表示向后兼容的新功能添加。Minor版本号的变更包括:
- 新增功能:当你向软件添加新的功能,但这些功能不会破坏现有的API或功能,应该增加Minor版本号。
- 改进现有功能:如果你对现有功能进行了改进,但这些改进不会导致现有用户的代码无法工作,也应该升级Minor版本号。
- 向后兼容的API增强:如果你增加了现有API的参数、选项或能力,而这不会破坏已有的使用方式,也应该升级Minor版本号。
Patch(修订版本号)
Patch版本号是语义化版本中的第三个数字,用于表示向后兼容的错误修复或小的改进。Patch版本号的变更包括:
- 错误修复:当你解决现有功能或API中的错误时,应该升级Patch版本号。这些修复不应引入新的功能或改变现有的行为。
- 性能优化:如果你对现有功能进行性能优化,而不会改变其行为,也应该升级Patch版本号。
- 小的改进或修改:如果你进行了一些小的改进,但它们不会破坏向后兼容性,应该升级Patch版本号。