HHVM 4.156
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