HHVM 4.83
HHVM 4.83 is released! This release marks the end of support for 4.77; HHVM 4.78–4.82 remain supported, as does the 4.56 LTS release.
Breaking Changes
- Attributes used on lambda functions must now be
defined, similarly to attributes used in any other position. To allow an attribute to
be used on lambda functions, its definition must implement the interface
\HH\LambdaAttribute
. - The option
hhvm.hack.lang.enable_first_class_function_pointers
was removed. The new function reference syntax is now always enabled. - The option
hhvm.emit_cls_meth_pointers
is now enabled by default. It causes the built-in functionclass_meth()
to return values in the same format as the new function reference syntax, which should make migrating easier.- For easier migration, the additional option
hhvm.is_compatible_cls_meth_type = 1
can be used to allow both formats to be considered valid.
- For easier migration, the additional option
Future Changes
- The built-in functions
fun()
andclass_meth()
will be removed in a future release. Use the new function reference syntax instead.- The INI option
hhvm.hack.lang.disallow_fun_and_cls_meth_pseudo_funcs = 1
and.hhconfig
optiondisallow_fun_and_cls_meth_pseudo_funcs = true
can be used to disable these functions in the current HHVM release.
- The INI option