HHVM 4.11.0
HHVM 4.11 is released! This release marks the end of support for the 4.5.x series.
Highlights
- improved error locations for
inst_meth()/class_meth()with private or protected methods. - added an admin server endpoint to remove units from the unit cache; for
example:
curl 'http://localhost:8003/invalidate-units?path=/my/file.php&path=/my/other/file.php' - type mismatch errors (4110) now report the full types
- PHP sort functions are now annotated as
inoutinstead of by-reference in the HHIs; bothinoutand references continue to work at runtime. - added
hh_client --extract-standalone, to create self-contained files containing a function and all recursive dependencies. - bytecode is no longer regenerated for source files that are touched but have an unchanged SHA.
- if, at runtime, a class uses multiple traits that declare the same method, the error message now includes the trait names.
Breaking Changes
- the key generic for the
darraytype and theHH\darray()function (autoimported) is now required to be anarraykey. - PHP7-style anonymous function
use()clause positioning is now a parser error; Hack requiresuse()after the return type, while PHP7 hasuse()before the return type. dict(),vec(), andkeyset()are now in theHH\namespace; they remain autoimported, so this change only breaks fully-qualified references.