HHVM 4.98
HHVM 4.98 is released! This release marks the end of support for 4.92; HHVM 4.93–4.97 remain supported, as do the 4.56 and 4.80 LTS releases.
Highlights
- Minor improvements to various typechecker error messages.
Breaking Changes
- The typechecker now correctly reports errors when a class inherits multiple conflicting definitions of the same non-abstract constant from its parent class/interfaces/traits. These had already been runtime errors, but previously wouldn’t be caught by the typechecker.
Future Changes
- We expect the built-in function
inst_meth
to be removed in a future release (anonymous functions ormeth_caller
can be used instead).- The
.hhconfig
flagdisallow_inst_meth=true
and the INI optionhhvm.hack.lang.disallow_inst_meth=true
can be used to enforce the future behavior now.
- The
- As mentioned
last week,
we expect string concatenation (
'hello '.$name
) and interpolation ("hello $name"
) to become restricted tostring
andint
values in the future.- This release adds the runtime (INI) option
hhvm.notice_on_coerce_for_str_concat
which can be used to raise a notice (if set to1
) or throw anInvalidOperationException
(if set to2
) when concatenating/interpolating other types, in addition to the typechecker flag added in last week’s release.
- This release adds the runtime (INI) option