Skip to content

Version 2.0.0

Compare
Choose a tag to compare
@stesie stesie released this 26 Nov 14:23
· 132 commits to php7 since this release
2.0.0
773c119

Backward-incompatible changes

  • normal script execution shares its context with modules now (like on Node.js)
  • expose a "global" symbol that references the global scope (like on Node.js)
  • modules may return arbitrary values (not just objects; now like on Node.js)
  • pick up exports from "module.exports" also (like on Node.js)
  • handle exceptions thrown in module loader/normaliser like in other PHP scopes called from JS
    (i.e. by default terminate execution, optionally propagate to JS side)

V8Js' modules vastly behave like Node.js modules now \o/

  • php.ini option v8js.compat_php_exceptions has been removed

Deprecations

  • V8Js::registerExtension and V8Js::getExtensions are now deprecated, use snapshots instead
  • likewise passing $extensions to V8Js::__construct
  • V8Js::getPendingException and and V8Js::clearPendingException are deprecated, use try/catch
  • likewise passing $report_uncaught_exceptions !== true to V8Js::__construct

Improvements

  • add documentation on heap snapshots

Bugfixes

  • fix build on Windows with VS2017 (thanks @Jan-E)
  • fix enumeration of methods on V8 6.3

This release also is available at http://pecl.php.net/package/v8js