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
readonly
data 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
JitAHotSize
andJitAProfSize
runtime options are removed- Ban
UNSAFE_CAST
in lvalues andawait
operands. 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
clone
of areadonly
object 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.