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
__LateInitin 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_paramsINI setting - Removed the
<>operator; this can be replaced with!=, and is supported byhhast-migrate --hhvm-4.2-to-4.3orhhast-migrate --ltgt-to-ne - Type errors are now raised if
parent::__construct()is called with parameters that violatewhereconstraints - Division by zero now throws an exception; this can be controlled with the
hhvm.forbid_division_by_zeroini setting. - The typechecker is no longer aware of
ext_session
Other Notes
- Removed the
hhvm.jit_profile_interp_requestsINI setting as other changes made it unused - Removed the
disable_optional_and_unknown_shape_fieldsexperimental hhconfig option from 3.23.