HHVM 4.122
HHVM 4.122 is released! This release marks the end of support for 4.116; HHVM 4.117–4.121 remain supported, as do the 4.80 and 4.102 LTS releases.
Highlights
- Improved JIT performance of non-async generators.
- Separately improved the JIT performance of async generators.
- HSL IO’s `BufferedReader::readByteAsync’ now operates correctly if a read happens with an empty buffer (usually at the 8kb boundary).
- Fixed bug leading to crash when INI files reference environment variables.
Breaking Changes
==
no longer converts types or warns by default; false is now returned. For example,var_dump(1 == '1')
printsbool(false)
.- comparison operators (e.g.
<
) now throw in cases where they would previously coerce types, such as1 < '2'
. hh_single_compile
is no longer included in our packages. HackC is now embedded in HHVM as a library. If you want to view the generated bytecode (e.g. for debugging), usehhvm -d hhvm.dump_hhas=1 foo.hack
.gettype()
will no longer ever returnarray
-vec
,dict
, orkeyset
will be returned instead. If you need to distinguish between arrays marked as legacy and other arrays, useHH\\is_array_marked_legacy($x)
.- Removed
curl_copy_handle
andCurlPool
due to thread safety issues. If similar behavior is required, we recommend usingCurlShareHandle
instead.