HHVM 4.156 is released! This release marks the end of support of 4.149; 4.150 – 4.155 remain supported, as does the 4.128 LTS release.
Highlights
- A lint error is no longer raised for
HH\FIXME_UNSAFE_CAST<mixed, T>($expr)
if the type of$expr
is non-denotable and expression-dependent, e.g. if IDE hover information orhh_client --type-at-pos
shows a type like<expr#1>::T
HH\serialize_with_options
now supports adisallowObjects
option, which disallows serialization of objects except for legacy Hack Collections.- Numeric literals can now contain underscores to improve code readability; for example,
$x = 1_234_567_890;
sets$x
to the integer1234567890
. - Performance improvements for reified generics.
- All built-in attributes have IDE hover documentation.
Breaking Changes
- lambdas contained within an anonymous function will no longer implicitly capture variables from the parent scope of the anonymous function, unless the variable is in the anonymous function’s
use
clause
转自 https://hhvm.com/blog/2022/04/08/hhvm-4.156.html