HHVM 4.46
HHVM 4.46 is released! This release marks the end of support for 4.40; HHVM 4.41–4.45 remain supported, as do the 4.8 and 4.32 LTS releases.
Highlights
- clearer error message for unsuitably different expression types in
case foo_expr:vsswitch(bar_expr) - removed typechecker error for ‘exhaustive’ enum switch statements with a
defaultcase; as enums are not enforced at runtime, these defaults are not strictly unreachable. - added
HH\autoload_get_paths(), returning a list of all files known to the autoloader.
Future Changes
- Support for XHP
childrendeclarations will be removed; special syntax is no longer required to support this feature, and allows more easily making it compatible with the main XHP type system.- xhp-lib v3.1 provides
the new implementation, via two traits:
XHPChildDeclarationConsistencyValidationrequires that the new and old forms of child declaration are equivalentXHPChildValidationrequires that only a new declaration is present
- hhast-migrate v4.33.7
adds
--add-xhp-children-declaration-methodand--remove-xhp-child-declarations
- xhp-lib v3.1 provides
the new implementation, via two traits:
- After support for XHP
childrendeclarations is completely removed, we expect to remove support for XHPcategorydeclarations: they are only used with children declarations, and by moving children declarations to standard Hack code, they can be replaced with normal interfaces.