HHVM 3.10.0 is out! You can get it from the usual places.

Major changes in this version include:

Core changes

  • Performance improvements for certain usages of strtr()

  • Fixes to rand() when requesting very large integers

  • XDebug compatibility and resource usage fixes

  • Improved reflection support

  • The usual myriad of bug fixes and general performance improvements

Hack language

  • Dramatically improved type inference for arrays

  • Improved typechecking for some standard library functions

  • Other minor fixes, e.g., improved type enforcement in some edge cases and fixes to using shapes inside namespaced code

As always, let us know how it goes! File an issue on Github if you run into any issues.

We already have one known issue in 3.10.0; the strtr performance improvement causes a crash in some cases. Version 3.10.1 will be on its way out by the time you read this, which fixes this issue.


  • Benoit Hudson: Where can we find discussion of what's in each new version after 3.10? There haven't been any blog posts or release notes posted for 3.11 or 3.12, nor is there a NEWS file anymore.
  • Josh Watzman: We held back the 3.11 announcement since there were some problems with 3.11.0 and we were going to post it with 3.11.1, but somehow that never happened. The biggest change in 3.11 was the PHP7 support, which you can read about here: http://hhvm.com/blog/10859/php-7-support As for 3.12, I'm not sure -- I'm not working on HHVM anymore but can follow up with the team. In the meantime, you can look at the comparison of the git branches for the full firehose of changes -- it's a lot to take in, but if you need some list of changes, might be useful: https://github.com/facebook/hhvm/compare/HHVM-3.11...HHVM-3.12