发布月期待内容
2025 年 1 月 17 日
大家好,
Zig 软件基金会这边已经安静了好几个月了,所以现在是时候给大家更新一下情况了。
说实话,这些安静的日子是我个人最喜欢的——没有发布压力,没有即将到来的会议,可以长时间不间断地投入到大型项目中——那些需要连续数日或数周全神贯注的项目。最近我发现了一些美妙的迷幻音乐合辑,并且彻底听完了Infected Mushroom 的全部作品,这简直是纯粹的幸福。
就我个人而言,自从 Jakub 决定转向其他事情后,我接手了 Zig 的链接器代码。 Loris 一直在写一本书,Jacob 一直在重写 x86 后端,而 Veikka 一直在努力开发一个官方的translate-c 包,它使用 Aro 而不是 Clang。 Matthew 一直在做更直接可见的工作,进行语言增强、前端错误修复,并稳步推进增量编译。我们还有一位新的 Zig 核心团队成员,他将很快得到单独的新闻公布。
尽管从事大型子项目令人满意,但现在是时候发布新版本了。
此前,我曾估计 0.14.0 标签将于 1 月 1 日发布。该估计是基于等待所有 LLVM 错误修复补丁完成,这样我们就无需因 LLVM 而发布自己的错误修复版本。这个截止日期推迟了,主要是因为我被卷入了一个相当大的分支,我想把它完成。然而,LLVM 最终在 1 月 14 日发布了 19.1.7 版本,预计这是该系列的最后一个版本,所以结果是我们正好赶上计划。
无论如何,我现在为 0.14.0 标签设定了2 月 17 日的硬性截止日期。这给了我们一个月的时间来对发布进行质量保证。在此期间,我预计会搁置更大的目标,转而专注于最近确实有些疏忽的拉取请求队列,并对所有未解决的问题进行分类,制定一套切合实际的优先事项,以便在截止日期前完成。
本次发布周期的一大重点是改进 x86 后端,使其足以成为调试构建的默认选项。这能否在发布前实现还有待确定。并非不可能,但我们也不能保证。
另一个重点是增量编译,由于缺乏强健的测试,它不会在本次发布中默认启用,但其质量已达到 Beta 测试水平,因此有一个编译器标志可供选择和试用。更多详细信息将在发布说明中提供。
除了这些主要目标之外,这次发布也不容小觑。持续有显著的语言增强,例如带标签的 switch continue。此外,Alex 在 Zig 的支持表上投入了大量精力,因此您可以期待几乎每个目标都提升一个层级。
如果你的 Zig 项目固定在 Zig 0.13.0 版本上,现在是升级到最新主分支版本的好时机。我们在发布月的目标是确保每个人都能顺利升级,如果你的情况并非如此,请务必提出!
我知道大家迫不及待地想要一个 1.0 标签,但在项目准备好做出这样的承诺之前,还有很多工作要做。相反,我希望提供越来越稳定的版本,直到人们可以放心地使用它们,即使他们知道后续版本可能仍需要一些迁移。
祝您编程愉快,
Andrew