- Was made refactoring
- Optimized a memory usage in the
ReflectionHelpers.GetBestFitMethodmethod - Added support for .NET Standard 2.1 and .NET 10
- Performed a migration to the modern C# null/not-null checks
- In the
lockstatements for .NET 10 target now uses a instances of theSystem.Threading.Lockclass - Reduced a memory allocation by using collection expressions
- The value of a read-only field in an embedded object or type can no longer be changed
- Added a
README.mdfile to NuGet package
- Fixed a error that occurred in the
ReflectionHelpers.IsAllowedPropertymethod when running on .NET Core 1.0
- JSON2 library was updated to version of May 10, 2023
- Fixed a error due to which the global object to become read-only after embedding of the host objects and types. Special thanks to Denis Pushkarev.
- In JsRT modes improved a performance of .NET methods projection
- In JavaScript engine settings was added one new property -
AllowReflection(defaultfalse)
- In JsRT modes,
JsVariantToValueandJsValueToVariantnative methods are no longer used for embedding objects and types - JSON2 library was updated to version of October 30, 2022
- Now a case-sensitive cultural postfixes are used in the names of
.resxfiles
- Improved a implementation of the
Disposemethod
- Fixed a error “Program crash after function call with too much parameters”
- Fixed a errors leading to null reference exceptions in the
ReflectionHelpersclass. Special thanks to Vanjoge.
- Fixed a error that caused a crash during finalization
- In JsRT modes during calling of the
CollectGarbagemethod is again not performed blocking
- Slightly improved performance
- In JsRT modes the
CollectGarbagemethod is called synchronously again - Enabled a SourceLink in NuGet package
- Fixed a error that occurred during the recursive execution and evaluation of JS files (while without correct handling of host exception)
- In version for .NET Core improved a embedding of delegates and types
- Fixed a error, that occurred in the
Classicmode during calling an embedded delegate, which does not return a result - Fixed a error, that occurred during setting a value to field of embedded type
- Improved a performance of the embedding of objects and types
- Accelerated a conversion of script types to host types
- Format of the error messages was unified
- Created a new exception classes:
JsCompilationException,JsEngineException,JsFatalException,JsInterruptedException,JsScriptExceptionandJsUsageException. These exceptions are responsible for handling errors, some of which were previously handled by theJsRuntimeExceptionclass. - In the
JsExceptionclass was added two new properties:CategoryandDescription - From the
JsRuntimeExceptionclass was removed one property -ErrorCode - In the
JsRuntimeExceptionclass was added three new properties:Type,DocumentNameandCallStack JsEngineLoadExceptionclass now is inherited from theJsEngineExceptionclassFormatmethod of theJsErrorHelpersclass was renamed to theGenerateErrorDetails- One part of the auxiliary code was removed, and other part moved to an external library - AdvancedStringBuilder
- Added a ability to interrupt execution of the script
- In JsRT modes added a ability to pre-compile scripts
- In
MsieJsEngineclass was addedSupportsScriptPrecompilationproperty and four new methods:Interrupt,Precompile,PrecompileFileandPrecompileResource - In JavaScript engine settings was added one new property -
MaxStackSize(default492or984KB) - Added support of .NET Standard 2.0 (only supported
ChakraIeJsRtandChakraEdgeJsRtmodes)
- Improved performance of debugging in ActiveScript modes
GetSourceFragmentFromLinemethod ofJsErrorHelpersclass has been replaced by theGetTextFragmentFromLinemethod ofTextHelpersclass- One part of the auxiliary code was removed, and other part moved to an external library - AdvancedStringBuilder
- In the
IeNativeMethodsandEdgeNativeMethodsclasses for thenetstandardtargets was changed a calling convention fromStdCalltoCdecl
- Improved performance of debugging in ActiveScript modes
- JSON2 library was updated to version of June 12, 2017
- In JavaScript engine settings was added one new property -
MaxStackSize(default492or984KB) - JSON2 library was updated to version of June 12, 2017
- Fixed a error, that occurred during the generation of error message
- Changed a implementation of the
Disposemethod
- Changed a implementation of the
Disposemethod
- Fixed a error #18 “Block finalizer solved?”
- Fixed a error #18 “Block finalizer solved?”
- In
MsieJsEngineclass was addedSupportsScriptPrecompilationproperty and three new methods:Precompile,PrecompileFileandPrecompileResource - In JsRT modes added a ability to pre-compile scripts
- Fixed a minor errors
- Format of the error messages was unified
- Created a new exception classes:
JsCompilationException,JsEngineException,JsFatalExceptionandJsUsageException. These exceptions are responsible for handling errors, some of which were previously handled by theJsRuntimeExceptionclass. - In the
JsExceptionclass was added two new properties:CategoryandDescription - From the
JsRuntimeExceptionclass was removed one property -ErrorCode - In the
JsRuntimeExceptionclass was added three new properties:Type,DocumentNameandCallStack JsScriptInterruptedExceptionclass was renamed to theJsInterruptedExceptionclass and now is inherited from theJsRuntimeExceptionclassJsEngineLoadExceptionclass now is inherited from theJsEngineExceptionclassFormatmethod of theJsErrorHelpersclass was renamed to theGenerateErrorDetails
- In JsRT modes during calling of the
CollectGarbagemethod is no longer performed blocking
- Removed a redundant code
- Fixed a error, that occurred in the
Classicmode during removing the embedded host objects and types - Fixed a error, that occurred during finding the suitable method overload, that receives numeric values and interfaces as parameters, of the host object
- Added support of .NET Standard 2.0
- Fixed a error, that occurred in the
Classicmode during removing the embedded host objects and types - Removed a redundant code
- In JsRT modes during calling of the
CollectGarbagemethod is no longer performed blocking
- Fixed a error, that occurred during finding the suitable method overload, that receives numeric values and interfaces as parameters, of the host object
- Added a ability to interrupt execution of the script
- In ActiveScript modes now are uses the short names of error categories
- In
Classicmode during debugging now script error contains a full stack trace - In JsRT modes the compilation error messages now contains a information about the error location
- Now during the rethrowing of exceptions are preserved the full call stack trace
- Reduced a number of delegate-wrappers
- Switched to Apache license
- In JsRT modes fixed a problems in calculation of error locations
- An attempt was made to prevent occurrence of the access violation exception
- Now the original exception is added to instance of the
JsRuntimeExceptionclass as an inner exception - An attempt was made to prevent a blocking of finalizer's thread
- Added support of identifier names compliant with ECMAScript 5
- Now during debugging in ActiveScript modes the script error contains a error location
- Added support of .NET Core 1.0.4
- In JsRT modes now script error contains a full stack trace
- In
MsieJsEngineclass was added overloaded versions of theEvaluate,Evaluate<T>andExecutemethods, which take the document name as second parameter - Now all modes support the possibility to debug in Visual Studio by adding the
debuggerstatement to script code
- Fixed a error causing a crash during finalization
- Was made refactoring
- Added support of .NET Core 1.0.3
- Downgraded .NET Framework version from 4.5.1 to 4.5
- Now when you call the overloaded version of the
ExecuteResourcemethod, that takes the type, need to pass the resource name without the namespace - Fixed a error “Out of stack space”
- JSON2 library was updated to version of October 28, 2016
- Another attempt to prevent occurrence of the access violation exception in the
CallFunctionmethod
- All exceptions made serializable
- Added support of .NET Core 1.0.1 (only supported
ChakraIeJsRtandChakraEdgeJsRtmodes) and .NET Framework 4.5.1 - Added the
CollectGarbagemethod
- Added support of .NET Core 1.0.1
- Added the
CollectGarbagemethod
- Added support of .NET Core 1.0 (only supported
ChakraIeJsRtandChakraEdgeJsRtmodes) and .NET Framework 4.5.1
- An attempt was made to prevent occurrence of the access violation exception in the
CallFunctionmethod
- JSON2 library was updated to version of May 10, 2016
- Added the
EmbedHostObjectmethod (embeds a instance of simple class, structure or delegate to script code) - Added the
EmbedHostTypemethod (embeds a host type to script code) - Added a possibility to debug in Visual Studio by adding the
debuggerstatement to script code. This feature only works in theChakraIeJsRtandChakraEdgeJsRtmodes. - In JavaScript engine settings was added one new property -
EnableDebugging(defaultfalse) - Improved implementation of the
CallFunctionmethod for Chakra JsRT modes
- Added the
EmbedHostTypemethod (embeds a host type to script code)
- Added a possibility to debug in Visual Studio by adding the
debuggerstatement to script code. This feature only works in theChakraIeJsRtandChakraEdgeJsRtmodes. - In JavaScript engine settings was added one new property -
EnableDebugging(defaultfalse)
- Added the
EmbedHostObjectmethod (embeds a instance of simple class, structure or delegate to script code) - Improved implementation of the
CallFunctionmethod for Chakra JsRT modes
- Added support of “Edge” JsRT version of Chakra JavaScript engine
ChakraJsRtmode was renamed toChakraIeJsRt
- Source code of the
ChakraJsRtJsEnginewas synchronized with the Chakra Sample Hosts version of July 11, 2015
- Fixed an error, that occurs on computers with IE 6
- Removed
Obsoleteattribute from parameterless constructor
- In
ChakraActiveScriptmode added native support of ECMAScript 5 (without polyfills) - Added
JsEngineSettingsclass for any reason in the future to abandon redundant constructors
- JSON2 library was updated to version of May 3, 2015
- JSON2 library was updated to version of February 25, 2015
- In ECMAScript 5 Polyfill added polyfill for the
String.prototype.splitmethod
- Removed dependency on
System.Web.Extensions - Assembly is now targeted on the .NET Framework 4 Client Profile
- Source code of the
ChakraJsRtJsEnginewas synchronized with the Chakra Sample Hosts version of July 22, 2014
- In solution was enabled NuGet package restore
- Fixed JavaScriptEngineSwitcher.Msie's bug #7 "MsieJavaScriptEngine.ActiveScript.ActiveScriptException not wrapped"
- Fixed JavaScriptEngineSwitcher.Msie's bug #5 "MSIE "Catastrophic failure" when disposing"
- Fixed minor bugs
- Removed following methods:
HasProperty,GetPropertyValue,SetPropertyValueandRemoveProperty - Fixed bug #3 "execute code from different threads"
- Now in the
ChakraJsRtmode is available a more detailed information about errors - In ECMAScript 5 Polyfill improved a performance of the
String.prototype.trimmethod - JSON2 library was updated to version of February 4, 2014
- Added support of the JsRT version of Chakra
- Now the MSIE JavaScript Engine can work in 4 modes:
Auto(selected by default),Classic,ChakraActiveScriptandChakraJsRt - Following methods are obsolete:
HasProperty,GetPropertyValue,SetPropertyValueandRemoveProperty
- Fixed errors in ECMAScript 5 Polyfill
- Added support of JavaScript
undefinedtype
- Access modifier of the
JsEngineLoadExceptionclass has changed to public
- JSON2 library was updated to version of May 26, 2013
- Assembly
MsieJavaScriptEngine.dllnow signed
- Added ability of using the Douglas Crockford's JSON2 library
- By default using of the JSON2 library is disabled
- Changed the format of error messages
- Added the
ActiveScriptErrorFormatterclass
- JavaScript Array Polyfills from TutorialsPoint.com was replaced by the Douglas Crockford's ECMAScript 5 Polyfill
- By default using of the ECMAScript 5 Polyfill is disabled
- Added the
JsEngineLoadExceptionclass
- Initial version uploaded