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
, orMap
initializer has generic type parameter(s), the typechecker now raises an error if the key type is notarraykey
or its subtype (int
orstring
). 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 anint
orstring
. - The typechecker now raises an error when indexing into a
Map
using an index that is not anint
orstring
. This had already been an error for other collection types.