HHVM 4.87 is released! HHVM 4.81–4.86 remain supported, as do the 4.56 and 4.80 LTS releases.
- Packages for Ubuntu 20.10 are now available.
- The built-in functions
apc_storenow take a 4th, optional argument. If this argument is provided, then the value stored in APC will be evicted if it’s not accessed for the specified number of seconds (even if the TTL specified in the previous argument hasn’t been reached yet).
- Improved various typechecker error messages.
disallow_gotowas removed—it is no longer possible to enable
gotostatements. It had been
trueby default in all recent HHVM versions.
- Indexing into a string using a non-
string) now causes an
InvalidArgumentExceptionto be thrown at runtime. String indexes like
'42'stay supported for historical reasons, but generally shouldn’t be used. Using any non-
strings, had already been a typechecker error.
ArrayIteratorand all the collections’ iterators (
MapIterator, etc.) are deprecated. Most use cases can be replaced by
foreachloops, which HHVM can also optimize in the JIT. For the remaining cases, the current implementation can be replicated in pure Hack code.
- There are a few behaviors, like “casting to array” and serialization, where the runtime treats these classes specially; those won’t be supported going forward.