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 class
feature - 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
.hhconfig
option 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_error
suffixed 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()