Go1.21 速览:正式结束对 macOS 10.13 和 10.14 的支持

大家好,我是煎鱼。

根据 Go 语言的版本发布规律,一般是 2 月份和 8 月份各会发布一个新的版本。当前是 Go1.20。也就是在 8 月份会发布 Go1.21 这一个新版本。

在这个新版本,将会正式的结束对 macOS 10.13 和 10.14 的支持,并禁用相应的构建器。

18647b39f522c43da05b380794f55b4b.png

该次变更的提案状态已为 “Accepted”,流程已走完。一般情况下,不会发生其他改变。

但这个事。怎么再次拿出来讨论呢?

这是有背景的,因为在之前 Go1.20 发布这个消息后。国外社区和 golang/issues 里产生了不少的反对的声音,认为需要继续支持这两个大版本。

主要原因是:

  1. High Sierra(OSX 10.13.6) 是在旧硬件上运行的最后一个可用版本,例如:2015 年的 MacBookPro。会对其个人使用 Go 最新的版本特性产生影响。(via @glycerine)

  2. 同样期望 High Sierra 继续支持,原因是目前在 eBay 上有超过 300 台 Mac mini。将会导致无法在这些 macOS 上测试和运行更加新的 Go 代码。(via @mikeschinkel)

你会发现 macOS 10.13 和 10.14 其实是两个有里程碑意义的版本。失去对应的新特性支持,是有部分开发者不愿意的。(身边也有在用老式笔记本电脑工作的朋友)

无论如何,反对声音不少。但 Go 核心团队成员 @Russ Cox,很猛。基于 Go 声明的移植策略(PortingPolicy)标准中的 Removing old operating system and architecture versions[1],直接拒绝了此项支持,并结束了相关讨论。

25fbcf760caec5214423805971ece149.png

Russ Cox 也表达了自己的观点:

b9aca2b66d85c8cd033b70dc1f0b2fe8.png
  • 旧硬件(例如上文提到的 eBay 的 Mac mini)的存在并不足以证明投入时间让 Go 在这些旧系统上运行是合理的。

  • 如果 Apple 不再为该操作系统的版本发布安全更新和修复,那么 Go 继续尝试维护和支持它也没有意义。

  • Go 开发团队的工作时间有限,让 Go 在当前的 macOS 上运行已经很困难了。因此试图继续保持旧 Mac 硬件运行的开发者,可以选择继续运行旧的 Go 发行版。

如果你手上的笔记本电脑或 Mac mini 等家庭服务器的版本在此范围内,请及时安排升级!避免影响到后续新特性使用。

推荐阅读

参考资料

[1]

Removing old operating system and architecture versions: https://github.com/golang/go/wiki/PortingPolicy#removing-old-operating-system-and-architecture-versions

关注和加煎鱼微信,

一手消息和知识,拉你进技术交流群👇

68a0eed5fa731fa99feaeb7000b0bd50.jpeg

532662bc3efe9a4fc3453c71f882bd84.png

你好,我是煎鱼,出版过 Go 畅销书《Go 语言编程之旅》,再到获得 GOP(Go 领域最有观点专家)荣誉,点击蓝字查看我的出书之路

日常分享高质量文章,输出 Go 面试、工作经验、架构设计,加微信拉读者交流群,和大家交流!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值