v3.0.0
Version: 3.0.0
Published: 12/25/2018
Change Set: 99c53cf
- In the
JsEngineSwitcher
class aInstance
property was renamed to theCurrent
property - Now you can implement your own version of the
JsEngineSwitcher
class - Format of the error messages was unified
- Created a new exception classes:
JsCompilationException
,JsEngineException
,JsFatalException
,JsInterruptedException
,JsTimeoutException
,JsScriptException
andJsUsageException
. These exceptions are responsible for handling errors, some of which were previously handled by theJsRuntimeException
class - In the
JsException
class was added two new properties:Category
andDescription
- From the
JsRuntimeException
class was removed one property -ErrorCode
- In the
JsRuntimeException
class was added three new properties:Type
,DocumentName
andCallStack
JsEngineLoadException
class now is inherited from theJsEngineException
class- Removed a
EmptyValueException
class Format
method of theJsErrorHelpers
class was renamed to theGenerateErrorDetails
- Part of the auxiliary code was moved to external libraries: PolyfillsForOldDotNet and AdvancedStringBuilder
- In
IJsEngine
interface was added two new properties:SupportsScriptInterruption
andSupportsScriptPrecompilation
, and four new methods:Interrupt
,Precompile
,PrecompileFile
andPrecompileResource
- In JavaScriptEngineSwitcher.Extensions.MsDependencyInjection added a overloaded versions of the
AddJsEngineSwitcher
extension method, which takes an instance of JS engine switcher - In JavaScriptEngineSwitcher.ChakraCore, JavaScriptEngineSwitcher.Msie, JavaScriptEngineSwitcher.V8 and JavaScriptEngineSwitcher.Vroom added a ability to interrupt execution of the script
- In JavaScriptEngineSwitcher.ChakraCore, JavaScriptEngineSwitcher.Jint, JavaScriptEngineSwitcher.Jurassic, JavaScriptEngineSwitcher.Msie and JavaScriptEngineSwitcher.V8 added a ability to pre-compile scripts
- In all modules, except the JavaScriptEngineSwitcher.V8, added support of .NET Standard 2.0
- In JavaScriptEngineSwitcher.ChakraCore:
- ChakraCore was updated to version 1.11.4
- No longer used the old ChakraCore API for Windows (Internet Explorer-like API)
- Now the ChakraCore for Windows requires the Microsoft Visual C++ Redistributable for Visual Studio 2017
- In configuration settings of the ChakraCore JS engine was added one new property -
MaxStackSize
(default492
or984
KB) - Added support of .NET Framework 4.7.1 and .NET Core App 2.1
- In JavaScriptEngineSwitcher.Jint:
- Jint was updated to version 2.11.58
- In configuration settings of the Jint JS engine a
Timeout
property has been replaced by theTimeoutInterval
property (defaultTimeSpan.Zero
) and was added one new property -LocalTimeZone
(defaultTimeZoneInfo.Local
)
- In JavaScriptEngineSwitcher.Jurassic added support of Jurassic version of February 24, 2018
- In JavaScriptEngineSwitcher.Msie:
- MSIE JavaScript Engine was updated to version 3.0.0
- In configuration settings of the MSIE JS engine was added one new property -
MaxStackSize
(default492
or984
KB)
- In JavaScriptEngineSwitcher.V8:
- Microsoft ClearScript.V8 was updated to version 5.5.4 (support of V8 version 7.0.276.42)
- Now requires .NET Framework 4.5 or higher
- Now the Microsoft ClearScript.V8 requires the Microsoft Visual C++ Redistributable for Visual Studio 2017
- In configuration settings of the V8 JS engine became obsolete the
MaxExecutableSize
property and added two new properties:AwaitDebuggerAndPauseOnStart
(defaultfalse
) andEnableRemoteDebugging
(defaultfalse
)
- In JavaScriptEngineSwitcher.Vroom added support of .NET Framework 4.7.1
- Added a module based on the NiL.JS
NuGet Packages
Before installing of NuGet packages, I recommend to first read “How to upgrade applications to version 3.X” section of the documentation.