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 propertyScriptEngine.DisableListIndexTypeRestriction to restore the previous behavior, orScriptEngine.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 supportES6 iteration andfor...of when exposed inV8ScriptEngine.
- 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 supporttoFunction(), 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 inMiB. For compatibility with hosts that predate an inadvertent breaking change in Version 5.4.1, values greater than 1048576 (1TiB) 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 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 {{ScriptEn