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 aprivate
orprotected
method (even within the same class hierarchy), but these runtime errors are not detected by the Hack typechecker. A new.hhconfig
option,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.hhconfig
option 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).