HHVM 4.110
HHVM 4.110 is released! This release marks the end of support for 4.104; HHVM 4.105–4.109 remain supported, as do the 4.80 and 4.102 LTS releases.
Highlights
- Fixed behavior of
setlocale()when called with the special values""or"0"(#8834).- More details in previous announcement.
- The default locale will now consistently be “C”.
- IDE integration will now autocomplete shape field names when calling a function with a shape-typed argument.
- The runtime no longer raises an error when JSON-serializing a method reference.
- Improved typechecker error message for a non-abstract method missing a body.
Breaking Changes
- The built-in functions
preg_last_error(),json_last_error(), andjson_last_error_msg()have been deleted. They have been deprecated since HHVM 4.106. Instead, use these alternatives: - The typechecker now raises an error if an
<<__EntryPoint>>function has any generic type parameters. - If a
keyset,dict,Set, orMapinitializer has generic type parameter(s), the typechecker now raises an error if the key type is notarraykeyor its subtype (intorstring). For example,$foo = keyset<bool>[];is an error. - When appending to a
keyset($keyset[] = 'foo';), the typechecker now correctly enforces that the appended value is anintorstring. - The typechecker now raises an error when indexing into a
Mapusing an index that is not anintorstring. This had already been an error for other collection types.