| Changelog for v8js | 
                
                                    
                        | Release | 
                        What has changed? | 
                    
                                            
                                                    
                                | 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)                                 | 
                            
                                                                    
                                                    
                                | 0.6.4 | 
                                
                                    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                                 | 
                            
                                                                    
                                                    
                                | 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                                 | 
                            
                                                                    
                                                    
                                | 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                                 | 
                            
                                                                    
                                                    
                                | 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                                 | 
                            
                                                                    
                                                    
                                | 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                                 | 
                            
                                                                    
                                                    
                                | 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                                 | 
                            
                                                                    
                                                    
                                | 1.0.0 | 
                                
                                    First PHP 7 release                                 | 
                            
                                                                    
                                                    
                                | 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                                 |