HHVM 4.170 is released! 4.167 - 4.169 remain supported, as does the 4.168 and 4.153 LTS releases.
- The typechecker now rejects calls to type_structure with an invalid type
as the first argument (e.g.
type MyCoolType = shape(...)Previously this was not flagged by the typechecker but would fatal at runtime. (commit)
- The lint for using UNSAFE_CAST with too broad an input type now suggests an autofix. (commit)
- The Eval.EmitClassPointers runtime option has been removed. The previous
default behavior (option value 2;
Foo::classexpressions emit ‘lazy’ class pointers) is now the only supported behavior. (commit)
- Removed support for referring to config values using a wildcard (e.g.
foo*bar = valueor
*foobar* = valuein HDF configs. Adding values to a vector-typed config node such as
MyVectorConfig.* = valueremains supported. (commit)
- Remove support for hdf.loadpaths to specify paths to search when including other HDF configs. (commit)
A Note Regarding This Release
We are still working on a fix for https://github.com/facebook/hhvm/issues/9236 (inability to compile a repo in gcc builds of hhvm since release 4.168). If you rely on this functionality consider skipping this release or using nix packages built with clang. We will release updated versions of all supported releases once the fix is available.