5.4.1
5.4.0
- Fixed several issues affecting GlobalMembers on V8.
- Implemented a V8 debug agent to compensate for removed V8 API.
- V8Update now fetches V8 source and dependencies from Git repositories.
- Fixed V8 assembly unloading and patched V8 to tolerate redundant initialization (Issue #60).
- Added ScriptEngine.EnableAutoHostVariables.
- Fixed by-reference arguments to VBScript functions (Issue #58).
- Removed support for Visual Studio 2012 (V8 build now requires at least Visual Studio 2013).
- Added explicit loading of primary interop assemblies to fix Issue #68.
- Added host exception marshaling for V8.
- Fixed V8ScriptEngine crash when script code calls theHostObject constructor.
- Fixed host item caching for host variables.
- Added non-generic overloads of newArr() andfunc() to HostFunctions.
- Added ScriptEngine.Current.
- HostFunctions instances can now be exposed in multiple script engines.
- Added a GetDynamicMemberNames() override toMetaScriptItem (Issue #64).
- Fixed indexed property binding ambiguity for inherited interfaces (Issue #69).
- Added tests for bug fixes and new APIs.
- Tested with V8 3.30.33.16.
5.4.0
- Added COM object projection (Issue #38):
- New ScriptEngine methods: AddCOMObject() and AddCOMType().
- New ExtendedHostFunctions methods: newComObj() and comType().
- Improved performance and memory usage:
- Host methods, events, and const/readonly fields are now cached as direct V8 object properties.
- Added shared bind cache for improved performance and enhanced binder leak mitigation.
- Made V8ScriptEngine.CollectGarbage() much more aggressive.
- Switched to weak context/isolate bindings for V8 script objects and compiled scripts, fixingIssue #44.
- Bypassed reflection for Windows script item property and method access, fixingIssue #47.
- Added explicit disposal of cached V8 objects to fix Issue #48.
- Enhanced support for legacy scripts:
- Added null, decimal, and array marshaling options to WindowsScriptEngine.
- Added ScriptEngine.UseReflectionBindFallback.
- VBScript's For Each ... Next and JScript's Enumerator now operate on IEnumerable instances.
- Other enhancements:
- Added optional heap size monitoring to V8ScriptEngine andV8Runtime (experimental).
- Added HostFunctions.tryCatch().
- Added ScriptEngine.Invoke() and V8ScriptEngine.Execute(V8Script).
- Added ScriptEngine.DisableTypeRestriction.
- Enhanced error reporting for V8 assembly load failures (Issue #39).
- V8Update now supports branched V8 revisions.
- Miscellaneous fixes:
- Added a V8 array buffer allocator, fixing Issue #46.
- Overhauled ClearScriptV8 string usage to fix Issue #42 and improve performance.
- Hardened ClearScriptV8 smart pointers.
- Changed ActiveScript sites to return the current thread culture.
- Added defensive code to make V8-related API objects resurrection-safe, fixingIssue #51.
- Fixed exception when using WindowsScriptEngineFlags.EnableDebugging with no suitable script debugger installed (Issue #36).
- Updates for breaking V8 API changes.
- Added tests for bug fixes and new APIs.
- Tested with V8 3.26.31.15.