5.4.9
5.4.8
5.4.7
5.4.6
5.4.5
5.4.4
5.4.3
5.4.2.1
5.4.2
5.4.1
5.4.0
- Enabled V8 snapshot feature to accelerate V8ScriptEngine initialization.
- Overhauled V8 interface, eliminating deprecated API usage and fixing Issue #116.
- Tested with V8 5.5.372.40.
5.4.8
- Added support for V8 parser and code caching.
- Added ScriptObject to ease script object identification.
- Fixed argument validation for interop interface parameters.
- Fixed V8 crash when exceptions are thrown during script interruption (Issue #112).
- Fixed V8 crash when code that consumes iterable host objects is optimized.
- Fixed intermittent deadlocks during V8 runtime teardown.
- Added a 64-bit OS check in V8Update.cmd.
- Added tests for bug fixes and new APIs.
- Tested with V8 5.4.500.40.
5.4.7
- Added ImmutableValueAttribute and fixed canonical reference support.
- Hardened native timers and V8 background tasks, fixing intermittent V8 crashes.
- Fixed nested V8 syntax error reporting.
- Added tests for bug fixes and new APIs.
- Tested with V8 5.3.332.45.
5.4.6
- Expanded canonical reference support to all equatable value types.
- Fixed host-side and cross-engine assignment of VBScript class object properties (Issue #104).
- Fixed a bug preventing assembly-qualified type names from being used with ScriptEngine.AddHostType().
- Fixed double execution of exception-throwing code via C# dynamic (Issue #105).
- Added IScriptEngineException.ExecutionStarted.
- Fixed memory leak with shared V8 runtimes (Issue #107).
- Fixed cross-engine double execution of exception-throwing code (Issue #108).
- Tweaked V8 debug protocol implementation to support non-Eclipse debuggers.
- Added tests for bug fixes and new APIs.
- Tested with V8 5.1.281.50.
5.4.5
- Breaking Change: Added strongly-typed indexing support for IList<T>. Because IList<T> takes precedence over IList, array and list elements retrieved by index are now correctly type-restricted. Use the new property ScriptEngine.DisableListIndexTypeRestriction to restore the previous behavior, or ScriptEngine.DisableTypeRestriction to control type restriction globally.
- Added V8ScriptEngine.SuppressExtensionMethodEnumeration (Issue #101).
- Fixed native property hiding on V8 (Issue #98).
- Fixed host method clobbering on V8.
- Reduced V8 stack overflow detection false positives.
- Added HostItemFlags.DirectAccess.
- Added tests for bug fixes and new APIs.
- Tested with V8 4.9.385.30.
5.4.4
- Added fast data transfer between host arrays and JavaScript typed arrays (and other ArrayBuffer views) (Issue #83).
- IEnumerable instances now support ES6 iteration and for...of when exposed in V8ScriptEngine.
- Added fully dynamic treatment for exposed IDispatchEx instances (Issue #96).
- Fixed host member enumeration and deletion on JScript with Standards Mode (Issue #94).
- Improved numeric argument conversion and matching (Issue #95).
- Fixed nested termination behavior on V8.
- Added tests for bug fixes and new APIs.
- Tested with V8 4.7.80.25.
5.4.3
- Added support for Visual Studio 2015.
- Changed V8Update to use installed Python 2.x.
- Fixed hangs in V8 proxy finalizers during script execution (Issue #86).
- Fixed V8 weak handle callback context leak (Issue #90).
- Fixed dynamic method invocation with value-typed arguments (Issue #89).
- Improved V8ScriptEngine.Interrupt() latency and reliability.
- Added tests for bug fixes.
- Tested with V8 4.4.63.29.
5.4.2.1
- Fixed unnecessary assembly table construction (Issue #84).
5.4.2
- Updated ClearScriptBenchmarks to use SunSpider 1.0.2.
- Host methods and delegates in V8ScriptEngine now support toFunction(), which creates a native JavaScript function wrapper.
- Fixed syntax error reporting in nested WindowsScriptEngine invocations.
- Added defensive code to tolerate IProcessDebugManager::AddApplication() failure (Issue #76).
- Added ScriptEngine.AddHostType() overloads that derive the script item name from the type name.
- Implemented host item data sharing and other optimizations, boosting memory efficiency in many scenarios.
- Added default ScriptAccess settings at the type, assembly, and engine levels.
- Enhanced support for default properties, fixing Issue #74.
- Added IHostWindow and WindowsScriptEngine.HostWindow (Issue #73).
- V8RuntimeConstraints limits are now specified in MiB. For compatibility with hosts that predate an inadvertent breaking change in Version 5.4.1, values greater than 1048576 (1 TiB) are still interpreted as bytes.
- Fixed V8 debug agent in ASP.NET and eliminated excessive thread usage (Issue #75).
- Added ScriptMemberFlags.WrapNullResult, ScriptEngine.EnableNullResultWrapping, and HostFunctions.isNull() (Issue #72).
- Added enforcement of restricted access to non-public accessors of public properties (Issue #71).
- (Andrey Taritsyn) Switched assembly targets to .NET 4 Client Profile.
- Added tests for bug fixes and new APIs.
- Tested with V8 4.2.77.18.
5.4.1
- 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 the HostObject constructor.
- Fixed host item caching for host variables.
- Added non-generic overloads of newArr() and func() to HostFunctions.
- Added ScriptEngine.Current.
- HostFunctions instances can now be exposed in multiple script engines.
- Added a GetDynamicMemberNames() override to MetaScriptItem (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, fixing Issue #44.
- Bypassed reflection for Windows script item property and method access, fixing Issue #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 and V8Runtime (experimental).
- Added HostFunctions.tryCatch().
- Added ScriptEngine.Invoke() and V8ScriptEngine.Execute(V8Script).
- Added {{ScriptEn