HHVM 4.3.0
HHVM 4.3 is released! This release will be supported for 6 weeks, and HHVM 4.1+ remain supported.
Improvements and New Features
- Fixed some cases where typechecker errors would be missing position data
- Fixed potential bugs when using
__LateInit
in repo-authoritative mode - Autocomplete for
parent::
now includes instance methods, not just static methods - VSDebug no longer intercepts STDERR when attaching to HHVM in server mode
- Improved typechecker error for
isset()
usage
Breaking Changes
- Improved consistency of raising errors for traits or interfaces that define constructors with parameter promotion; this is not supported.
- Errors are now raised if an XHP class contains multiple child or category declarations; the first declaration would always be used. Muiltiple children and categories are still supported, but they must be in a single declaration.
- Builtin function parameters will no longer be coerced - instead, an exception
is thrown. On prior versions, warnings can be enabled on coercion with the
hhvm.warn_on_coerce_builtin_params
INI setting - Removed the
<>
operator; this can be replaced with!=
, and is supported byhhast-migrate --hhvm-4.2-to-4.3
orhhast-migrate --ltgt-to-ne
- Type errors are now raised if
parent::__construct()
is called with parameters that violatewhere
constraints - Division by zero now throws an exception; this can be controlled with the
hhvm.forbid_division_by_zero
ini setting. - The typechecker is no longer aware of
ext_session
Other Notes
- Removed the
hhvm.jit_profile_interp_requests
INI setting as other changes made it unused - Removed the
disable_optional_and_unknown_shape_fields
experimental hhconfig option from 3.23.