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_methto be removed in a future release (anonymous functions ormeth_callercan be used instead).- The
.hhconfigflagdisallow_inst_meth=trueand the INI optionhhvm.hack.lang.disallow_inst_meth=truecan 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 tostringandintvalues in the future.- This release adds the runtime (INI) option
hhvm.notice_on_coerce_for_str_concatwhich 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