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
inout
instead of by-reference in the HHIs; bothinout
and 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
darray
type 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.