HHVM 4.140
HHVM 4.140 is released! This release marks the end of support for 4.134; HHVM 4.135–4.139 remain supported, as do the 4.102 and 4.128 LTS releases.
v4.140 is the last release in 2021. Happy Holidays!
Highlights
- Various bug fixes for the
readonlydata types. - Various error message improvements.
- The typechecker now understands the coeffects of
\preg_replace_callback()and\preg_replace_callback_with_error(). See this commit for the new signature.
Breaking Changes
JitAHotSizeandJitAProfSizeruntime options are removed- Ban
UNSAFE_CASTin lvalues andawaitoperands. The following code does not type-check any more:HH\FIXME\UNSAFE_CAST<mixed, dict<int, string>>($m)[0] = "lvalue";await HH\FIXME\UNSAFE_CAST<Awaitable<mixed>, Awaitable<int>>(foo());
- Now a
cloneof areadonlyobject is alsoreadonly. - The functions
\preg_replace_callback()and\preg_replace_callback_with_error()now take a(function(darray<arraykey, string>)[_]: string)as the second parameter in the typechecker, instead of an untyped value.