Ruby编程语言版本发布规则及2.7.x系列版本构建版本疑问
Ruby版本发布与版本控制全解析
嘿,刚好对Ruby的版本策略比较熟悉,来给你拆解下你的问题:
版本号的核心规则
Ruby采用的是三段式版本号:主版本号.次版本号.补丁版本号,每个段位的作用很明确:
- 主版本号(比如
2在2.7.x里):只有当出现不兼容的重大语法/API变更时才会升级,比如从2.x跳到3.x就是因为引入了Ractor等突破性特性 - 次版本号(比如
7):用来承载向后兼容的新特性,每个次版本系列有固定的生命周期(比如2.7已经在2023年3月停止维护了) - 补丁版本号(比如
5在2.7.5里):完全用于bug修复、安全补丁这类维护性更新,不会加任何新特性
每个补丁版本对应唯一发布构建
你观察的完全正确!像Ruby 2.7.5、2.7.4这类补丁版本,每个版本号都只对应一个正式发布的构建包,发布日期就是这个版本的唯一上线时间。Ruby核心团队绝对不会对同一个补丁版本号发布多次不同的构建——简单说,不会有两个不同日期的2.7.5版本存在。
新维护构建的命名方式
如果2.7.x系列需要推出新的构建(比如发现了新的安全漏洞要修复),核心团队会直接把补丁版本号加1,也就是发布Ruby 2.7.6(假设之前最高是2.7.5)。补丁版本号的递增就是用来标识这类维护更新的,每一个新的维护构建都会用全新的补丁版本号,不会复用旧的。
额外提一句:当某个次版本系列(比如2.7)到达生命周期终点后,官方就不会再发布任何新的补丁版本了,所以现在2.7.x系列已经不会有新版本啦。
内容的提问来源于stack exchange,提问作者Jingguo Yao
相关产品推荐
相关产品推荐

