HHVM 4.20.0 和 4.20.1 发布,新增使用 Rust 编写的解析器,结束对 4.14 的支持

来自:互联网
时间:2019-08-29
阅读:

HHVM 4.20.0 和 4.20.1 已发布,此次更新标志着对 HHVM 4.14 的支持已结束。不过对 4.15-4.19 版本的支持仍会继续,就跟 3.30 和 4.8 LTS 长期支持版本一样。

紧跟着发布的 4.20.1 主要是修复 macOS 平台上的问题,修复了与 mac OS 上的新 Rust 解析器相关的构建问题。至于 Linux 平台,两个版本均是一样。

此版本最值得关注的更新是新增了一个使用 Rust 编写的解析器,因为团队使用 Rust 代替 OCaml 重写了部分代码。可在hhvm.ini配置项中添加hack.lang.hack_compiler_use_rust_parser=1参数以测试此功能。如需反馈问题,请在 GitHub 中提交 issue

另外,新添加的hh_client --rewrite-return-type <filename>命令行可帮助迁移至严格模式,它基于推断的返回类型来添加<<__Soft>>类型注释。

还有一些破坏性的变更,如不再为 Ubuntu 14.04(Trusty Tahr)构建软件包,Hack 标准库和其他 Hack 库都提供了一个适用于 HHVM 4.20 和旧版 HHVM 的新版本。

最后,团队还提到了一些未来的变化,如默认情况下启用新的 Rust 解析器(可选功能),但在更久的将来,团队可能会直接移除旧的解析器,Rust 解析器则成为唯一可用的解析器。

上个版本 HHVM 4.19.0 也有一些值得关注的更新,例如为 proxygen 服务器添加了对 TLS 客户端证书的身份验证支持;可通过 hhvm.server.ssl_client_ca_file 和 hhvm.server.ssl_client_auth_level 选项进行配置;level 0 表示被禁用,1 表示可选,2 表示必需。如果 level 不为 0,则必须指定 CA 文件。该版本还有一个值得关注的破坏性变更:使用 PHP var关键字声明属性会出现解析错误。

返回顶部
顶部