HHVM 4.108
HHVM 4.108 is released! HHVM 4.103–4.107 remain supported, as do the 4.80 and 4.102 LTS releases.
Highlights
- The
Hack Standard Library
is now a built-in part of HHVM. Hack projects can now call any HSL functions
without downloading and installing any extra packages.
- This includes HSL IO, which is no longer considered experimental. Other parts of hsl-experimental are not yet included.
- Constraints (
as/super) on abstract context constants are now supported. - The HHVM runtime currently doesn’t allow using
meth_caller()with aprivateorprotectedmethod (even within the same class hierarchy), but these runtime errors are not detected by the Hack typechecker. A new.hhconfigoption,meth_caller_only_public_visibility = true, can be used to raise Hack errors in these cases. However, the plan is to support private and protected methods inmeth_caller()in the future, at which point this.hhconfigoption will become unnecessary.
Future Changes
- Functions in the
Str\namespace in the (now built-in) Hack Standard Library will no longer respect the system/request locale. Instead, they will default to using thePOSIX(also known asC) locale.- In the future, we expect most of them to accept additional parameter(s) overriding the default locale and encoding, but these may not be available immediately.
- Removing the dependency on a global locale setting will allow these functions to be considered “pure” (they can be called from other functions with any contexts, including an empty context list).