软件版本号规范及命名

package.json中的版本号都是什么含义呢?

版本号格式

我们通常使用的是X.Y.Z格式的版本号,它们分别表示主、次、修正版本号。

版本号的演进

版本号 含义
0.1.0 开发版第一次发布
0.1.1 第一次发布修正版
0.2.0 开发版重大更新
1.0.0 稳定版第一次发布
1.0.1 第一次稳定版修正
1.0.2 第二次稳定版修正
1.1.0 稳定版新功能推出
2.0.0 稳定版重大更新

版本符号说明

版本号符号 示例 说明
精确匹配 1.2.3 1.2.3
星号 1.0.* >=1.0<1.1
连字符 1.0-2.0 >=1.0.0<2.1
波浪线 ~1.2 >=1.2<2.0
脱字符 ^1.2.3
^0.3
>=1.2.3<2.0
>=0.3.0<0.4.0
版本标识 @stable
@dev
dev > alpha > beta > RC > stable
预设抓取stable,但可用@指定

Alpha、Beta、RC、GA 版本的区别

Alpha:是内部测试版,一般不向外部发布,会有很多Bug。一般只有测试人员使用。

Beta:也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。

RC:(Release Candidate) 顾名思义么 ! 用在软件上就是候选版本。系统平台上就是发行候选版本。RC 版不会再加入新的功能了,主要着重于除错。

GA:General Availability,正式发布的版本,在国外都是用 GA 来说明release版本的。

RTM:(Release to Manufacture)是给工厂大量压片的版本,内容跟正式版是一样的,不过 RTM 版也有出限制、评估版的。但是和正式版本的主要程序代码都是一样的。

OEM:是给计算机厂商随着计算机贩卖的,也就是随机版。只能随机器出货,不能零售。只能全新安装,不能从旧有操作系统升级。包装不像零售版精美,通常只有一面CD和说明书(授权书)。

RVL:号称是正式版,其实RVL根本不是版本的名称。它是中文版/英文版文档破解出来的。

EVAL:而流通在网络上的EVAL版,与“评估版”类似,功能上和零售版没有区别。

RTL:Retail(零售版)是真正的正式版,正式上架零售版。在安装盘的i386文件夹里有一个eula.txt,最后有一行EULAID,就是你的版本。比如简体中文正式版是EULAID:WX.4_PRO_RTL_CN,繁体中文正式版是WX.4_PRO_RTL_TW。其中:如果是WX.开头是正式版,WB.开头是测试版。_PRE,代表家庭版;_PRO,代表专业版。

α、β、λ常用来表示软件测试过程中的三个阶段,α是第一阶段,一般只供内部测试使用;β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用;λ是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。


参考资料

  1. 语义化版本 2.0.0
因为热爱,所以执着。