Facebookは6月18日(米国時間)、「HHVM 3.27.0|HHVM」において、高速PHP仮想マシン「HHVM」の最新版となる「HHVM 3.27.0」の公開を伝えた。

HHVMはPHPおよびHackで開発されたプログラムを実行することを目的として開発されたオープンソースの仮想マシン。PHPの提供する柔軟な開発を支援しつつ、JITコンパイラ技術を使った高速な実行速度を実現することを目的としている

今回のリリースはスケジュールよりも2週間先行して行われた。このため、HHVM 3.27のサポート期間はHHVM 3.33がリリースされる2019年9月5日頃まで、約50週間のサポートとなる。通常は48週間のサポートであることから、平均的なサポート期間よりも2週間延びることになる。

HHVM 3.27.0の主な特徴は次のとおり。

  • サポートフロントエンドをHackCに変更。古いパーサも含まれているものの、次のバージョンでは削除される予定
  • Shapes::removeKey()を引数として参照ではなくinoutパラメータを取るように変更
  • finallyブロックにおけるawaitとyieldを許可
  • Generatorsにおけるキータイプを不変から共変に変更
  • XDebugのサポートを廃止。代わりにVSCode Debug Protocolを使用
  • ODBCエクステンションを削除
  • .hhconfigにおいてforward_compatibility_levelオプションを追加
  • HackCにおけるPHPサポートの改善
  • シールドインターフェースおよびシールドクラスをサポート
  • Hackエラーに新しいLSP標準関連情報フィールドを使用。Visual Studio Codeなどに分析でより詳しい情報取得が可能
  • LSPエディタにおけるシンボルのリネームをサポート
  • LSPエディタにおけるシンボルリストをサポート
  • PHP7に関連したクラッシュバグを修正
  • シールドクラスおよびシールドインターフェースのサンプル - 資料: Facebook提供

    シールドクラスおよびシールドインターフェースのサンプル - 資料: Facebook

HHVM 3.27.0に導入されたシールドインタフェースおよびシールドクラスはオプション機能となっており、次のリリースで必須機能に変更される見とおし。