HHVM 4.133 is released! HHVM 4.128–4.131 remain supported, as do the 4.102 and 4.128 LTS releases. HHVM 4.132 was skipped due to issues with the nightly builds.
dynamicvalues can now be used as container keys. The containers will then be inferred to be keyed by
arraykeys, so can not be used as
- if a debugger is attached, the JIT will never be used, and the JIT will never be disabled in the middle of a request for the debugger. This improves debugger reliability.
- fixed order-dependent autoloader issues for enum classes including other enum classes.
- when a static property is used as an instance property, the error message now correctly says ‘static property’ instead of ‘static method’.
Str\format()accidentally using the request locale.
hackfmtadding unwanted blank lines to the top of files.
- updated build environment to OCaml 4.12 and Rust/Cargo v2021.10.21.
- hash comments are no longer supported, and are a parse error. Use
- Files without a
.hhiextension will now be consistently parsed as if they were
- previous behavior was context-dependent.
- this change includes both files with other extensions, and files with no extension.
- this may break legacy extensions such as
<?hhtokens are banned in
- it is now an error to call
parent::__construct()from a trait, unless the parent has
- it is now an error for a constructor to read properties defined by a parent
class before calling
- updated Thrift and mcrouter versions to v2021.11.18; supporting libraries and tools may need an update if you are using these extensions.
.phpfiles remain deprecated, and support may be removed in a future release;
.hackis strongly recommended instead
<?hh // partialremain deprecated, and support will likely be removed in a future release.
.hackis strongly recommended instead.