HHVM 4.110 发布,高速开源虚拟机
HHVM 4.110现已发布。这个版本的发布标志着对4.104 版本的支持已经结束,HHVM 4.105-4.109,以及 4.80 和 4.102 LTS 版本还会继续得到支持。 HHVM 4.110 更新内容如下: Highlights 修复了setlocale()在调用特殊值""或"0"时的行为。(#8834) 有关更多详细信息,看参见先前的公告。 现在,默认语言环境将始终为“C”。 当调用带有 shape-typed 参数的函数时,IDE集成现在会自动完成 shape field names。 在对 method reference进行 JSON 序列化时,运行时不再引发错误。 改进了 typechecker 对缺少主体的非抽象方法的错误信息。 Breaking Changes 内置函数preg_last_error(),json_last_error()和json_last_error_msg()已被删除。从HHVM 4.106开始,它们已经被废弃了。而是使用以下替代方法: json_decode_with_error() json_encode_with_error() preg_grep_with_error() preg_match_all_with_error() preg_match_with_error() preg_replace_with_error() preg_split_with_error() 如果<<__EntryPoint>>函数具有任何泛型类型参数,则 typechecker 将引发错误。 如果keyset,dict,Set,或Map的初始化具有泛型类型参数,如果 key type 是不是arraykey或其子类型(int或string),typechecker则会抛出一个错误。例如,$foo = keyset<bool>[];。 当附加到keyset($keyset[] = 'foo';)时,typechecker 现在可以正确地强制附加值是int或string。 现在,当使用不是int或string的索引对Map进行索引时,typechecker 会引发错误。这在其他集合类型中已经是一个错误了 。 更多详情可查看:https://hhvm.com/blog/2021/05/17/hhvm-4.110.html