HHVM 4.105
HHVM 4.105 is released! This release marks the end of support for 4.99; HHVM 4.100–4.104 remain supported, as does the 4.80 LTS release.
Highlights
- Rust components are now built using Rust 1.51.0
- Fixed several bugs in the
new
enum classfeature - Improved runtime error message when too many arguments are passed to a
closure: the function is now reported as
Closure$func#num()instead of__invoke() - method overrides can now specify a more restricitve context than the original method definition
- Functions in Hack collection methods now have defined coeffects.
hh_server’s compression model can be changed to ZSTD by setting thesharedmem_compression.hhconfigoption to a ZSTD compression level; 3 is ZSTD’s default. This is essentially CPU vs memory tradeoff - large projects may wish to experiment with this option.- interface type constants can now be overridden by implementing classes.
Breaking Changes
- Removed the undocumented
<<__ConstFun>>attribute.
Future Changes
- A future release will be deprecating and later removing
json_last_error(),json_last_error_msg(), andpreg_last_error() _with_errorsuffixed variants of all json/preg functions have been added and should be used instead for error checking. e.g.json_encode()hasjson_encode_with_error()andpreg_match()haspreg_match_with_error()