We’re happy to announce that HHVM 3.9.0 is now available. You can try one of our prebuilt packages for Ubuntu and Debian, or build from source.

This release contains a variety of enhancements to the type-checker and runtime, and as always many changes designed to improve performance. Key type-checker changes include a new set of library functions to operate on Shapes, a new type to represent Foo::class strings, and improved reflection for type-constants. Runtime improvements include a new facility for pooling curl handles between requests, and a runtime setting to reclaim memory in the translation cache (TC) from dead translations.

The new TC garbage collection (enabled via hhvm.enable_reusable_tc = true ) should prove particularly helpful to anyone experiencing frequent crashes related to out of memory from TC exhaustion. Modifications to source files actively being served are a common source of TC leaks. This is a particularly prevalent pattern in development environments, where this setting will likely be helpful. Support for this feature is still experimental, if you experience crashes with it turned on please open issues on our GitHub repository.

The 3.9 release comprises the internal “Nash”, “Osborne”, and “Park” releases. This release is our third LTS and with it support for 3.3 (our first LTS) is ending. Support for 3.6 will continue for six months (when 3.12 is scheduled to be released), and 3.9 will be supported for 12 months.

Comments