HHVM 4.56 发布了!这个版本是 LTS 长期支持版本,因此:

  • 这个版本将提供大约 48 个星期的支持;
  • 下一个 LTS 版本将在大约 24 个星期内发布;
  • 我们将继续支持 HHVM 4.32 (LTS) 和 HHVM 4.51–4.55 版本;
  • 我们已结束对 HHVM 4.8 (LTS) 版本的支持。

HHVM 4.56 是最新版本,支持多个较旧的 Linux 发行版和 MacOS 系统。需要注意的是,我们希望这将是最后一次支持 Ubuntu 16.04 (Xenial),Debian 8 (Jessie) 和 Debian 9 (Stretch) 系统的更新。如果你想了解详细的信息,请阅读下文中的「更新计划」部分。

亮点聚焦

  • 现在已经将 apc_fetch() 的过期时间推迟到看到过期结果的第一个请求结束的时候;这个请求会返回 false,但是在第一个请求完成之前,并发请求得到的都是旧值。这个更新的目的是减少当多个请求同时尝试刷新一个 hot key 时引起的「惊群问题」

重大改动

  • HHI 的定义中已经移除了 \HH\INCORRECT_TYPE<T>
  • 从 HHVM 和语法分析器中已经移除了对 __get__set__isset,和 __unset 的支持。但是实现了新的内置类,可以通过固定属性名调用它们。
  • 已经移除了 Redis 拓展。这个扩展不包含任何原生代码,所以可以从旧的 HHVM 版本中提取出来,尽管我们不建议把它作为一个独立的库进行更新,但是如果需要的话,你也可以这样做。

更新计划

正如11月宣布的那样, 我们正在改变我们对各种系统支持的生命周期,从 Nightly 版本到下一次更新发布过程中:

  • MacOS:我们的目标是支持最新稳定版本的系统 —— 当前为 Catalina(版本10.15)。当新版本的 MacOS 发布后,我们计划在接下来的6个月中同时支持这两个版本的系统。
  • Debian:我们的目标是支持 Debian 稳定版。当新版本成为稳定版本后,我们计划在接下来的6个月中同时支持这两个版本的系统。
  • Ubuntu LTS:我们的目标是支持当前的 LTS 版本(20.04);当新版本的 Ubuntu LTS 发布后,我们计划在接下来的6个月中同时支持这两个版本的系统。
  • Ubuntu「临时」版本:我们计划和 Canonical 支持它们的时间一样,在9个月内支持这些版本。

在官方原始仓库中提供了依赖项之后,我们计划先打包 x.y.0 版本,然后针对其他 Linux 发行版打包成 x.y.z 发布;如果我们有 MacOS 系统的版本,我们也会为 MacOS 打包。

具体而言,这意味着我们不再继续支持以下版本的系统:

  • Debian 8 (Jessie)
  • Debian 9 (Stretch)
  • Ubuntu 16.04 (Xenial)
  • MacOS 10.14 (Mojave)

如果这些我们不再支持的系统可以继续运行,并且不会阻碍我们的开发,我们也会继续为它们构建软件包。也就是说,从 4.57 版本开始,我们将会立即停止对以下包含 GCC6 或更低版本系统的支持:

  • Debian 8 (Jessie)
  • Debian 9 (Stretch).
  • Ubuntu 16.04 (Xenial)

其他我们不再支持的发行版可能会在没有通知的情况下,从以后更新的版本中移除。


本文由 Evilran 翻译