HHVM 4.101
HHVM 4.101 is released! This release marks the end of support for 4.95; HHVM 4.96–4.100 remain supported, as do the 4.56 and 4.80 LTS releases.
Highlights
- ‘Variable $x is undefined, or not always defined’ errors will no longer
suggest non-denotable internal variable names, such as
$0splice0
Breaking Changes
- The typechecker now checks that
switch($x)
is exhaustive for enum classes, not just for normal enums; the runtime continues to require that either a case matches, or there is a default case. array_slice()
no longer converts int-like string keys to ints- hhbbc now always runs in repo-authoritative mode
Future Changes
- Hack arrays: in the next 2-8 weeks, we expect to make
varray
an alias forvec
, anddarray
an alias fordict
;varray
anddarray
will no longer be distinct types to Hack arrays. This will also affect the runtime implementation of shapes and tuples, which are currently implemented withdarray
s andvarray
s respectively. You can test this behavior now with thehhvm.hack_arr_dv_arrs=1
ini setting.