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

  • Post author:
  • Post category:其他


大家好,我是煎鱼。

根据 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 面试、工作经验、架构设计,加微信拉读者交流群,和大家交流!



版权声明:本文为EDDYCJY原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。