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 |
1.4.0 |
Correctly initialize V8's ICU component - path to libv8 library is now baked into the library to find icudtl.dat file - if icudtl.dat file is moved after compile time, set v8js.icudtl_dat_path php.ini variable |
1.3.6 |
Bugfixes - fix compilation with GCC7 (include necessary headers) - fix build with recent V8 5.9 versions (libv8_libplatform not found) - adapt exception_start_column.phpt test to changed output of recent V8 5.9 versions - fix compilation with PHP 7.1.3 Refactorings - drop TSRM stuff unneeded since PHP 7 - remove unused variables - make memory_limit a size_t internally (and throw if negative values are provided on PHP interface) |
1.3.5 | - Fix long vs. zend_long issues on x64 Windows |
1.3.4 |
- Bugfix: Reset fatal_error_abort on RSHUTDOWN - Improve auto configuration (V8 detection) - Improve build instructions on Linux & Windows |
1.3.3 |
- fix detection of libv8_libbase.a during configuration - fix license URIs in package.xml |
1.3.2 |
- fix reference counting issue (and hence use-after-free memory error) - fix another use-after-free issue with registerExtension - fix build against PHP 7.1 (beta) - correctly export reference-type variables to JavaScript |
1.3.1 | Fix build against V8 5.3.337 (and higher) |
1.3.0 |
This release merges changes from V8Js for PHP 5.x (version 0.6.3) to PHP 7.0 branch. New Features - Allow to adjust the considered "amount of external memory" by objects exported to V8 Bug Fixes - Pass back V8Object instances, don't re-wrap - Retain object identity on 'return $this' - Retain object identity on JS-side 'return this' - Send LowMemoryNotification signals to V8 before imposing memory limit - Fix build against V8 version 5.2 (deprecated WeakCallbackInfo & GetHiddenValue et al) - Improve/Clarify README Code Cleanup - Removed support for "old-age" V8 versions (i.e. V8 < 4.6.76) - Removed old examples and pre-phpt test script |
1.2.0 |
- allow to pass generators from PHP to JS and vice versa Merge improvements from V8Js for PHP 5.x (version 0.5.0) to PHP 7.0 branch: - Export public methods on classes derived from \V8Js to V8 - Support V8 compiled with external snapshots - Allow to create custom snapshots of V8 heaps - Allow to create V8 contexts based on custom snapshots generated earlier - Support V8 5.1 well |
1.1.0 |
- fix build on Windows with Visual Studio 2015 - use libv8_platform on Windows - fix double free on object export - fix use after free regarding pending exceptions - fix memory leaks on bailouts caused in V8 contexts - don't abort PHP process on fatal V8 error (but trigger a warning instead) This release also merges in new features from V8Js 0.4.0, namely - Improve -Wno-c++11-narrowing/-Wno-narrowing flag detection (clang/gcc5 support) - Added ability to set properties on V8Function - CommonJS modules now have access to V8Js' var_dump function - V8JsScriptExtensions now reference the normalised module id (instead of just "require") - fatal PHP errors triggered in setModuleLoader callback are now handled gracefully - setModuleLoader callback is now allowed to return an empty string as source of module - V8Js' internal module path normalisation may now be overrode using setModuleNormaliser |
1.0.0 | First PHP 7 release |
0.6.4 | Fix build against V8 5.3.337 (and higher) |
0.6.3 |
Bug Fixes - Send LowMemoryNotification signals to V8 before imposing memory limit - Fix build against V8 version 5.2 (deprecated WeakCallbackInfo & GetHiddenValue et al) - Improve/Clarify README Code Cleanup - Removed support for "old-age" V8 versions (i.e. V8 < 4.6.76) - Removed old examples and pre-phpt test script |
0.6.2 |
- Pass back V8Object instances, don't re-wrap - Retain object identity on 'return $this' - Retain object identity on JS-side 'return this' |
0.6.1 | - Fix configuration on MacOS platform |
0.6.0 | - Allow to adjust the considered "amount of external memory" by objects exported to V8 |
0.5.0 |
- Export public methods on classes derived from \V8Js to V8 - Support V8 compiled with external snapshots - Allow to create custom snapshots of V8 heaps - Allow to create V8 contexts based on custom snapshots generated earlier - Support V8 5.1 well |
0.4.1 |
- Fix PHP.var_dump output on regexp objects (for consistency over all V8 versions) - Fix "this" on V8Object method invocations |
0.4.0 |
- Improve -Wno-c++11-narrowing/-Wno-narrowing flag detection (clang/gcc5 support) - Added ability to set properties on V8Function - CommonJS modules now have access to V8Js' var_dump function - V8JsScriptExtensions now reference the normalised module id (instead of just "require") - fatal PHP errors triggered in setModuleLoader callback are now handled gracefully - setModuleLoader callback is now allowed to return an empty string as source of module - V8Js' internal module path normalisation may now be overrode using setModuleNormaliser |
0.3.0 |
- Fix multi-threading with pthreads extension - Remove v8 debug agent support (which is unsupported by V8 since 3.28.4) |
0.2.6 | - Fix reference counting issue on PHP->JS->PHP exception propagation |
0.2.5 |
- Stop JS execution on PHP exceptions (instead of continuing silently) - Allow propagation of PHP exceptions to JS context (disabled by default) - Add v8js.compat_php_exceptions php.ini switch to switch previous behaviour back on |
0.2.4 | - Fix memory leak with repeated Array exports from PHP to JS |
0.2.3 |
- Fix FLAG_FORCE_ARRAY affecting V8Function objects - Fix memory leak with repeated calls of methods on exported PHP objects |
0.2.2 |
- Fix CommonJS module caching - Fix use-after-free issue on CommonJS module reuse - Fix memory leaks in CommonJS module loader - Fix memory leak regarding lost script resources (compileScript call et al) - Improve V8Function call performance |
0.2.1 |
- adapt to latest v8 API (v8 versions from 3.24.6 up to latest 4.6 branch supported now) - fixed FLAG_FORCE_ARRAY behaviour regarding property assignments - properly stop (and restart) timer thread (for memory & cpu limits) - fixed crash on failed module bootstrapping |
0.2.0 |
- adapt to latest v8 API (v8 versions from 3.24.6 up to latest 4.3 branch supported now) - v8 debugging support - apply time & memory limits to V8Function calls - support mapping of PHP objects implementing ArrayAccess to native arrays - new API to set limits: setTimeLimit & setMemoryLimit methods on V8Js object - typesafe JavaScript function wrappers - improved back-and-forth object passing (rewrapping, correcty isolate unlocking) - fix property and method visibility issues - fix memory leaks |
0.1.5 | - Fix package |
0.1.4 |
- Added time/memory limit support - Moved to The MIT License (MIT) |
0.1.3 |
- Fixed build in PHP 5.4+ - Fixed bug #59553 (can't build due to missing class member) |
0.1.2 | - Removed unnecessary notice added to registerExtension() in previous release |
0.1.1 |
- Fixed crash bug in setting v8.flags ini directive. - Added notice to registerExtension() if trying to use it when V8 is already initialized. |
0.1.0 | - Initial PECL release |