v8js

V8 Javascript Engine for PHP


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

License: The MIT License (MIT)

Latest releases

Version Release Download
2.1.2 2020-08-21 v8js-2.1.2.tgz
2.1.1 2019-06-23 v8js-2.1.1.tgz
2.1.0 2018-01-07 v8js-2.1.0.tgz
2.0.0 2017-11-26 v8js-2.0.0.tgz
1.4.1 2017-08-01 v8js-1.4.1.tgz
Show all releases

Changelog

Version Message
2.1.2 - support PHP 7.4
- support V8 8.x
- pass pointer to (char*) instead of (zend_string*) to spprintf (issue #431)
- improve README
2.1.1 - support PHP 7.3
- support V8 7.x (now V8 > 6.9 is required)
- fix module path normaliser (issue #349)
- fix export bug w/ multiple derived classes (issue #410)
2.1.0 - emit warning when compiling against V8 without untrusted code mitigations
- support native modules (i.e. expose PHP objects via require('...'))
2.0.0 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
1.4.1 - omit usage of deprecated V8 API (#311)
- fix build against V8 version 6.0 (#313)
- don't clean properties hash while it is iterated (#316)
- fix build against PHP 7.2
Show complete changelog