ClearScript

A library for adding scripting to .NET applications. Supports V8 (Windows, Linux, macOS) and JScript/VBScript (Windows).

MIT License

Stars
1.8K
Committers
11

Bot releases are visible (Hide)

ClearScript - Version 7.1.7

Published by ClearScriptLib almost 3 years ago

  • Fixed a crash affecting JavaScript iteration protocols in V8 (GitHub Issue #299).
  • Disabled V8 pointer compression to improve performance and fix GitHub Issue #291.
  • Added support for Visual Studio 2022.
  • Added symbols to managed component packages.
  • Tested with V8 9.5.172.21.
ClearScript - Version 7.1.7 Preview

Published by ClearScriptLib about 3 years ago

  • Disabled V8 pointer compression to improve performance and potentially fix GitHub Issue #291.
  • Added symbols to managed component packages.
  • Tested with V8 9.5.172.13 (Beta).
ClearScript - Version 7.1.6

Published by ClearScriptLib about 3 years ago

  • Optimized simple member access, addressing GitHub Issue #281.
  • Fixed a Windows Script error handling scenario (GitHub Issue #274).
  • Enabled 64-bit V8 features such as pointer compression.
  • Tested with V8 9.4.146.16.
ClearScript - Version 7.1.5

Published by ClearScriptLib about 3 years ago

ClearScript - Version 7.1.4

Published by ClearScriptLib over 3 years ago

  • Added initial support for macOS on arm64 (M1) hardware.
  • Fixed intermittent crashes in heavily multithreaded applications (GitHub Issue #268).
  • Merged @KurtGokhan's implicit conversion fix (GitHub PR #265).
  • Made CacheDocument and GetCachedDocument public to facilitate custom document loaders.
  • Updated API documentation.
  • Tested with V8 9.1.269.36.
ClearScript - Version 7.1.3

Published by ClearScriptLib over 3 years ago

ClearScript - Version 7.1.2

Published by ClearScriptLib over 3 years ago

  • Added optional ValueTask conversions (GitHub Issue #248).
  • Patched V8 to avoid Date.prototype.toLocaleString crash when ICU data is unavailable (GitHub Issue #246).
  • Added HostSettings.AuxiliarySearchPath.
  • Fixed default document loader issue with foreign file name extensions.
  • Updated V8 debug agent web responses for Node.js alignment.
  • Updated API documentation.
  • Tested with V8 9.0.257.19.
ClearScript - Version 7.1.1

Published by ClearScriptLib over 3 years ago

  • Added support for Linux on 32-bit ARM hardware (GitHub Issue #230).
  • Added support for .NET Standard 2.1 (GitHub Issue #151).
  • Added V8RuntimeConstraints.HeapExpansionMultiplier.
  • Fixed an intermittent crash related to V8 background tasks.
  • Updated API and build documentation.
  • Tested with V8 8.9.255.20.
ClearScript - ClearScript 7.1

Published by ClearScriptLib over 3 years ago

  • Breaking Changes:
    • A new assembly, ClearScript.Windows.Core, has been split out of ClearScript.Windows.
    • Added "core" Windows Script engine classes that don't require the Windows Desktop runtime.
  • Added support for Windows and Linux on arm64 hardware (GitHub Issue #206).
    • The Windows Desktop runtime is not available for arm64, so only V8 and the "core" Windows Script engines are supported.
  • Enabled the JavaScript Internationalization API in V8ScriptEngine (GitHub Issue #150).
    • An ICU Data file must be deployed with the application for full support of this API.
  • Added V8Runtime.WriteHeapSnapshot and V8ScriptEngine.WriteRuntimeHeapSnapshot (GitHub Issue #85).
  • Switched to static linking of C/C++ libraries to broaden Linux support (GitHub Issue #215).
  • Relaxed type comparison in HostTypeCollection (GitHub Issue #213).
  • Added experimental support for the Universal Windows Platform (V8 only).
  • Updated API and build documentation.
  • Tested with V8 8.8.278.14.
ClearScript - ClearScript 7.0

Published by ClearScriptLib almost 4 years ago

  • Breaking Changes:
    • V8 deployment no longer requires the v8-*.dll assemblies.
    • V8 deployment no longer requires the Visual C++ redistributables.
    • The ClearScript assembly has been split into ClearScript.Core, ClearScript.Windows, and ClearScript.V8.
    • ClearScriptV8 is now linked against a matching V8 configuration (Debug or Release).
    • The name of each ClearScriptV8 assembly now includes its Runtime Identifier:
      • ClearScriptV8.win-x86.dll
      • ClearScriptV8.win-x64.dll
      • ClearScriptV8.linux-x64.so
      • ClearScriptV8.osx-x64.dylib
  • Removed all C++/CLI code, paving the way for non-Windows builds.
    • The ClearScriptV8 assemblies are now 100% native code, resolving GitHub Issue #197.
    • Switched to static linking for V8 and C++ libraries.
  • Added initial support for .NET Core 3.1 and .NET 5.0 on Linux (x64) and macOS (x64).
    • Non-Windows builds are limited to V8; legacy script engines (JScript/VBScript) are non-functional.
    • Windows-specific integration features such as COM Interop are not available on Linux and macOS.
    • Built and tested on Ubuntu 20.10 and 20.04, Manjaro 20.1, and macOS Big Sur and Catalina.
  • Added support for .NET 5.0 on Windows.
  • Added V8ScriptEngineFlags.EnableTaskPromiseConversion to resolve GitHub Issue #198.
  • Updated managed code to leverage C# 7.3 features.
  • Overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209).
  • Updated build, deployment, and debugging documentation, resolving GitHub Issue #199.
  • Tested with V8 8.7.220.25.
ClearScript - ClearScript 7.0 RC5

Published by ClearScriptLib almost 4 years ago

  • Breaking Changes:
    • The ClearScript assembly has been split into ClearScript.Core, ClearScript.Windows, and ClearScript.V8.
    • The project no longer builds distinct .NET Core libraries for non-Windows platforms.
    • The name of each ClearScriptV8 assembly now includes its Runtime Identifier:
      • ClearScriptV8.win-x86.dll
      • ClearScriptV8.win-x64.dll
      • ClearScriptV8.linux-x64.so
      • ClearScriptV8.osx-x64.dylib
  • Enhanced support for cross-platform deployment of web projects.
  • Overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209).
  • Tested with V8 8.7.220.16.
ClearScript - ClearScript 7.0 RC4

Published by ClearScriptLib almost 4 years ago

  • Fixed support for multiple application domains (GitHub Issue #208).
  • Tested with V8 8.7.220.10
ClearScript - ClearScript 7.0 RC3

Published by ClearScriptLib almost 4 years ago

  • Fixed more task-promise conversion issues (GitHub Issue #198).
ClearScript - ClearScript 7.0 RC2

Published by ClearScriptLib almost 4 years ago

  • Fixed task-promise conversion issues (GitHub Issue #198).
ClearScript - ClearScript 7.0 RC

Published by ClearScriptLib about 4 years ago

  • Breaking Changes:
    • V8 deployment no longer requires the v8-*.dll assemblies.
    • V8 deployment no longer requires the Visual C++ redistributables.
    • ClearScriptV8 is now linked against a matching V8 configuration (Debug or Release).
  • Removed all C++/CLI code, paving the way for non-Windows builds.
    • The ClearScriptV8 assemblies are now 100% native code, resolving GitHub Issue #197.
    • Switched to static linking for V8 and C++ libraries.
  • Added initial support for .NET Core 3.1 on Linux (x64) and macOS (x64).
    • Non-Windows builds are limited to V8; legacy script engines (JScript/VBScript) are non-functional.
    • Windows-specific integration features such as COM Interop are not available on Linux and macOS.
    • Built and tested on Ubuntu 20.04, Manjaro 20.1, and macOS Catalina.
  • Added V8ScriptEngineFlags.EnableTaskPromiseConversion to resolve GitHub Issue #198.
  • Updated managed code to leverage C# 7.3 features.
  • Updated build, deployment, and debugging documentation, resolving GitHub Issue #199.
  • Tested with V8 8.6.395.17.
ClearScript - Version 6.0.2

Published by ClearScriptLib over 4 years ago

ClearScript - Version 6.0.1

Published by ClearScriptLib over 4 years ago

  • Breaking Changes:
    • The v8-libcpp-ia32.dll and v8-libcpp-x64.dll assemblies are no longer used.
    • V8 deployment requires two new assemblies: v8-zlib-ia32.dll and v8-zlib-x64.dll.
  • Improved support for IIS least-privilege accounts (GitHub Issue #160).
  • Fixed 64-bit V8 initialization on Azure App Service (GitHub Issue #166).
  • Enabled DirectAccess for ComVisible .NET objects (GitHub Issue #161).
  • Added ScriptEngine.ExposeHostObjectStaticMembers (GitHub Issue #152).
  • Added ScriptEngine.UndefinedImportValue and made Undefined.Value public (GitHub Issue #154).
  • Enhanced ExtendedHostFunctions.typeLibEnums to pull in external enumerations.
  • Added thread affinity enforcement in WindowsScriptEngine.Dispose.
  • Eliminated KeyNotFoundException when checking for system documents (GitHub Issue #169).
  • Enabled the use of the application's root folder as a backup for its local data folder (GitHub Issue #171).
  • Reduced minimum CPU profile and heap size sampling intervals to 125 ms.
  • Updated deployment and API documentation, resolving GitHub Issues #158 and #159.
  • Tested with V8 8.1.307.28.
ClearScript - ClearScript 6.0

Published by ClearScriptLib almost 5 years ago

  • Breaking Changes:
    • To build ClearScript you must now use Visual Studio 2019 Version 16.4 or later.
    • The assembly table has been deprecated and is now disabled by default.
  • Added preliminary support for .NET Core 3.1 on Windows (GitHub Issue #9).
    • .NET Core platform differences may impact some host integration features.
    • Hosts making heavy use of COM object scripting are advised not to migrate.
  • Added support for system documents (GitHub Issue #143).
  • Added IList implementation to V8 arrays.
  • Added ExtendedHostFunctions.typeLibEnums (GitHub Issue #147).
  • Added WindowsScriptEngineFlags.MarshalDateTimeAsDate (GitHub Issue #141).
  • Fixed generic type inference for COM interfaces.
  • Fixed enumeration of COM collections that don't provide class information (GitHub Issue #146).
  • Fixed memory leak impacting Windows Script object property assignment (GitHub Issue #135).
  • Updated build and API documentation.
  • Tested with V8 7.9.317.32.
ClearScript - ClearScript 5.6

Published by ClearScriptLib about 5 years ago

  • Breaking Changes:
    • V8 deployment requires two new assemblies: v8-libcpp-ia32.dll and v8-libcpp-x64.dll.
    • Visual Studio 2015 is no longer supported.
  • Added initial support for JavaScript modules (V8 only, GitHub Issue #114).
  • Added initial support for CommonJS modules (V8 and JScript).
  • Added ScriptEngine.ExecuteDocument and ScriptEngine.EvaluateDocument.
  • Added V8ScriptEngine.CompileDocument and V8Runtime.CompileDocument.
  • Added support for machine-level deployment (GitHub Issue #117).
  • Added Extensions and JavaScriptExtensions to facilitate specific scenarios.
  • Added implicit conversion of host method arguments via user-defined operators (GitHub Issue #115).
  • Patched a V8 issue that causes occasional script execution failure in 32-bit processes (GitHub Issue #111).
  • Fixed accessibility of public methods overriden by internal classes (GitHub Issue #112).
  • Updated deployment and API documentation.
  • Tested with V8 7.6.303.28.
ClearScript - Version 5.5.6

Published by ClearScriptLib over 5 years ago

  • Added experimental support for CPU profiling in V8ScriptEngine and V8Runtime.
  • Improved support for newer V8 features such as promises and WebAssembly.
  • Added Nothing class for better VBScript support (GitHub Issue #106).
  • Added readme.txt to NuGet package (GitHub Issue #109).
  • Updated API documentation.
  • Tested with V8 7.4.288.26.