Skip to content

Releases: microsoft/ClearScript

Version 5.4.7

26 Sep 16:16
Compare
Choose a tag to compare
  • 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.

Version 5.4.6

26 Sep 16:15
Compare
Choose a tag to compare
  • 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.

Version 5.4.5

26 Sep 16:13
Compare
Choose a tag to compare
  • 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.

Version 5.4.4

26 Sep 16:10
Compare
Choose a tag to compare
  • 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.

Version 5.4.3

26 Sep 16:06
Compare
Choose a tag to compare
  • 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.

Version 5.4.2.1

26 Sep 16:03
Compare
Choose a tag to compare
  • Fixed unnecessary assembly table construction (Issue #84).

Version 5.4.2

26 Sep 16:02
Compare
Choose a tag to compare
  • 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.

Version 5.4.1

26 Sep 15:58
Compare
Choose a tag to compare
  • 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.

ClearScript 5.4

26 Sep 15:54
Compare
Choose a tag to compare
  • 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 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, fixing Issue #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.

Version 5.3.11

26 Sep 15:36
Compare
Choose a tag to compare
  • Added support for building strong named assemblies (see ReadMe.txt).
  • Added AppDomain.AssemblyResolve hook for ClearScriptV8 (Issue #34).
  • Added WindowsScriptEngineFlags.EnableStandardsMode.
  • Fixed parameterless invocation of Windows script items from VB.NET.
  • Fixed WindowsScriptEngine execution result variant leak.
  • Hardened assembly table I/O (Issue #33).
  • Updates for breaking V8 API changes.
  • Added tests for bug fixes and new APIs.
  • Tested with V8 3.24.17.