目的
技术软件版本号定义的一般方法,供版本管理困难者参考。
版本号
软件版本号主要信息一般有“主版本号(Major)”、 “副版本号(Minor)”、 “微版本号(Micro)”、 “限定字符串(Qualifier)”四项。
版本号由这四项按照某种格式组装成一个字符串,格式由软件发布者或者组织自由定义,如version: 主版本号.副版本号.微版本号.build-限定子副创
。
示例:
version: 1.2.3.build-585448
根据一般软件版本发布习惯,“主版本号(Major)” + “副版本号(Minor)” + “微版本号(Micro)” + “限定字符串(Qualifier)”有约定俗成的含义:
- “主版本号(Major)” :表示与之前版本不兼容的重大功能升级。
- “副版本号(Minor)” :表示与上个版本兼容,但可能提供了新的特性或接口。
- “微版本号(Micro)” :表示API接口没有发生变化,只是程序内部实现改变,或者修正了某个错误。
- “限定字符串(Qualifier)”:通常用于表示编译时间戳或编译次数等信息。
版本号比较
版本号是可以比较的,比较时应遵循软件版本发布的格式,解析出版本号中的“主版本号(Major)”、 “副版本号(Minor)”、 “微版本号(Micro)”、 “限定字符串(Qualifier),从前往后逐项比较。
当且仅当所有项都完全一致时表示两个版本相等,否则以第一个出现差异的版本号的大小决定整个版本号的大小。但也必须处理限定字符串的,如
Maven的版本管理中 1.2.3.2022 <= 1.2.3