v8js 2.0.0

V8 Javascript Engine for PHP


This extension embeds Google's V8 Javascript Engine into PHP.

License: The MIT License (MIT)

Changes

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