为什么 Go1.16.1 发布的第二天又发布 1.16.2?
2021-03-13 23:00:00 Author: mp.weixin.qq.com(查看原文) 阅读量:150 收藏

阅读本文大概需要 xx 分钟。

大家好,我是站长 polarisxu。

当我在 Go 语言中文网公众号发布 Go1.16.1 发布的消息时。有人留言说:我已经用上 1.16.2 了。我赶紧去确认了下,发现是真的:(对应北京时间分别是 3 月 11 日和 3 月 12 日)

这样的发布,多少会让人觉得版本发布太草率了。。。

但从 Go Team 的风格看,不至于做这样草率的事情,于是我深究了一下,找到了这么做的原因(至少我认为是这个原因)。

在 golang-announce 邮件组,官方在 3 月 6 日发布了一个预发布通知:

据此找到了 Go 的安全策略:https://docs.studygolang.com/security(提供一个国内可以访问版本)。

该策略详细描述了如何反馈安全漏洞,Go 官方会如何处理。其中有一点:

A notification is sent to the golang-announce mailing list to give users time to prepare their systems for the update.

Three working days following this notification, the fixes are applied to the public repository and a new Go release is issued.

首先,通过 golang-announce 邮件组通知用户将要发布一个安全修复版本,以便用户有时间提前准备。一般 3 个工作日后,会发布一个修复安全问题的版本。

如期的,在 3 月 10 日(北京时间 3 月 11 日)发布了 Go1.16.1 和 Go1.15.9。在这个发布通知中,有这么一句:

The upcoming minor releases of Go 1.16.2 and 1.15.10 will also include the fixes above.

也就是说,1.16.1 发布后,马上要发布 1.16.2 了。

总结一下:针对安全问题,Go 专门有一套处理、发布流程。而这次计划要发布 Go 1.16 后的一个小版本时,临时有安全问题插入,因此发布了一个修复安全的版本 1.16.1,而之前几乎普通 Bug 修复的版本改为 1.16.2。

可见连着发布两个版本并非草率,反而说明 Go 在严格遵循相关约定。点赞!


往期推荐

欢迎关注我


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxNzY0NDE3NA==&mid=2247486342&idx=1&sn=664c4403735c8c346a5cce1f41bdafe5&chksm=9be32467ac94ad71a3622226eb533c1020dc02ecfd98ad84cb479fb20a12d5de9fe0f268e0ab#rd
如有侵权请联系:admin#unsafe.sh