HHVM 4.33 is released! This release marks the end of support for 4.27; 4.28–4.32 remain supported, as does the 4.8 LTS release.
- For developers working on the implementation of Hack itself (in rust/ocaml):
- the test suite now passes in open source builds
- the code generation tools for updating the parser and rust/ocaml FFI are now usable in opensource builds
- Fixed issue where some FIXMEs had no effect on the code they were attached to instead having action-at-a-distance. This could lead to errors being reported in the wrong file. This bugfix may require fixmes to be added or moved.
- An error is now raised if a reified function call is made without all required
generics; for example,
foo<vec>()now raises an error, as
vecrequires a generic type
- Type structures for type aliases are now keyed by opaqueness and the alias
name. In previous versions, if multiple types/type aliases resolved to the
same concrete type, the wrong type structure would sometimes be returned - for
newtype FOO = int;, it was previously unpredicable if the type stucture for
new MyClass<FOO>()would return the type alias information or not, and
new MyClass<int>()could return
FOO’s type alias information. The correct type structure will now consistently be returned. This only affects classes with reified generics - functions using reified generics are unaffected