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_compileis 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, orkeysetwill 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_handleandCurlPooldue to thread safety issues. If similar behavior is required, we recommend usingCurlShareHandleinstead.