Bump Jint from 3.0.0-beta-2049 to 4.5.0#2
Open
dependabot[bot] wants to merge 1 commit into
Open
Conversation
--- updated-dependencies: - dependency-name: Jint dependency-version: 4.5.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated Jint from 3.0.0-beta-2049 to 4.5.0.
Release notes
Sourced from Jint's releases.
4.5.0
This is a significant milestone as this release graduates generators functionality from experimental and contains proper suspension and resume logic for both generators and async/await logic. There are a lot of changes to internals so make sure you test thoroughly.
Task interop is still marked as experimental and requires enabling explicitly in Engine options, but it also has had improvements to make it work better in Engine's event loop.
For background work to complete without engine interaction (evaluation) you need to manually process the tasks (for example if you have a timeout pending after script has been run).
What's Changed
... (truncated)
4.4.2
What's Changed
BigIntmodulo assignment by @lahma in Fix BigInt modulo assignment sebastienros/jint#2178Object.iswhen providingBigIntvalues by @tomatosalat0 in Fix Object.is when providing BigInt values sebastienros/jint#2183Full Changelog: sebastienros/jint@v4.4.1...v4.4.2
4.4.1
What's Changed
Options.Constraints.PromiseTimeoutTo Control timeout forDisposeHint.AsyncandJintAwaitExpressionby @rocklau in AddOptions.Constraints.PromiseTimeoutTo Control timeout forDisposeHint.AsyncandJintAwaitExpressionsebastienros/jint#2150New Contributors
Options.Constraints.PromiseTimeoutTo Control timeout forDisposeHint.AsyncandJintAwaitExpressionsebastienros/jint#2150Full Changelog: sebastienros/jint@v4.4.0...v4.4.1
4.4.0
This release brings both
usingandawait usingstatements available to both native JS usage and NET interop. Interop will automatically wrapIDisposableandIAsyncDisposableto have handlers that will be called afterusingscope ends. Read more about the proposal.What's Changed
IListunder interop by @lahma in Support writing length to IList under interop sebastienros/jint#2135spacearg toOptions.Interop.SerializeToJsonby @Zaitonn in Passingspacearg toOptions.Interop.SerializeToJsonsebastienros/jint#2142usingandawait usingby @lahma in Add support for using and await using sebastienros/jint#2139New Contributors
spacearg toOptions.Interop.SerializeToJsonsebastienros/jint#2142Full Changelog: sebastienros/jint@v4.3.0...v4.4.0
4.3.0
What's Changed
ObjectAccessBenchmarktest by @mac-michael in Fix ObjectAccessBenchmark test sebastienros/jint#2100BuildTargetBinderDelegateby @warappa in #2114: Fix NRE in BuildTargetBinderDelegate sebastienros/jint#2116Halfinterop handling by @lahma in Improve Half interop handling sebastienros/jint#2121evalsyntax checks not descend into function declarations by @rg1 in Bugfix/2106 make eval syntax checks not descend into function declarations sebastienros/jint#2123Upsertby @lahma in Implement Upsert sebastienros/jint#2127New Contributors
Full Changelog: sebastienros/jint@v4.2.2...v4.3.0
4.2.2
This release improves interop performance when you target CLR methods with lambda functions, like
List<string>.Find(x => x === "test").What's Changed
Full Changelog: sebastienros/jint@v4.2.1...v4.2.2
4.2.1
What's Changed
DateFlagscalculation inJsDateconstructor by @nil4 in Remove apparently-redundantDateFlagscalculation inJsDateconstructor sebastienros/jint#2058New Contributors
DateFlagscalculation inJsDateconstructor sebastienros/jint#2058Full Changelog: sebastienros/jint@v4.2.0...v4.2.1
4.2.0
What's Changed
Array.Resizewhen growingArrayInstanceby @lahma in Use Array.Resize when growing ArrayInstance sebastienros/jint#1997net472to run full framework tests by @lahma in Use net472 to run full framework tests sebastienros/jint#2026Error.isErrorby @lahma in Implement Error.isError sebastienros/jint#2030MaxStatementsConstraintby @nicolay-f in Fix statement counting code in MaxStatementsConstraint sebastienros/jint#2035ExpressionCacheto unify constant lookups by @lahma in Create ExpressionCache to unify constant lookups sebastienros/jint#2037JintFunctionDefinitionby @lahma in Remove closure allocations from JintFunctionDefinition sebastienros/jint#2039DromaeoBenchmarkwith modern JS syntax by @lahma in Support running DromaeoBenchmark with modern JS syntax sebastienros/jint#2041Function.toString()logic by @lahma in Add extension point for custom Function.toString() logic sebastienros/jint#2043Atomics.pauseiterations by @lahma in Add configurable limit for Atomics.pause iterations sebastienros/jint#2047New Contributors
Full Changelog: sebastienros/jint@v4.1.0...v4.2.0
4.1.0
This release contains a breaking change for interop for static fields and properties. They are no longer exposed as part of interop wrapper by default. You read more about the reasoning here.
To access public static fields or properties you should use registered
TypeReferences.Following example shows the new behavior:
If you want to expose static instance fields and properties as part of instance wrappers, you need to configure the engine to do so:
Static methods can still be accessed as before, but you could limit exposing them too if you wish to do so:
... (truncated)
4.0.3
What's Changed
Math.sumPreciseby @lahma in Implement Math.sumPrecise sebastienros/jint#1966New Contributors
Full Changelog: sebastienros/jint@v4.0.2...v4.0.3
4.0.2
With this release you will start to see CLR methods also reported as object members under interop when calling functions like
Object.getOwnPropertyNames(x). You can revert back to old behavior by configuring an optionoptions.Interop.ObjectWrapperReportedMemberTypes = MemberTypes.Field | MemberTypes.Property;.What's Changed
ObjectWrapperReportedMemberTypestoOptionsby @lofcz in Add ObjectWrapperReportedMemberTypes to Options sebastienros/jint#1947ObjectWrapperClrTypepublic by @lofcz in Make ObjectWrapper ClrType public sebastienros/jint#1946FunctionDeclarationby @lofcz in Fix throwing on accessing CLR FunctionDeclaration sebastienros/jint#1949SourceTextModuleby @viceice in Don't overwrite default export fromSourceTextModulesebastienros/jint#1952New Contributors
Full Changelog: sebastienros/jint@v4.0.1...v4.0.2
4.0.1
What's Changed
README.mdagainst v4 by @lahma in Update benchmarks results and README.md against v4 sebastienros/jint#1928NUnit3TestAdapterto version 4.6.0 by @lahma in Upgrade NUnit3TestAdapter to version 4.6.0 sebastienros/jint#1920Atomics.pauseby @lahma in Implement Atomics.pause sebastienros/jint#1929Meziantou.Analyzerfrom 2.0.161 to 2.0.162 in the all-dependencies group by @dependabot in Bump Meziantou.Analyzer from 2.0.161 to 2.0.162 in the all-dependencies group sebastienros/jint#1930.git-blame-ignore-revsby @lahma in Add .git-blame-ignore-revs sebastienros/jint#1932Meziantou.Analyzerfrom 2.0.162 to 2.0.163 in the all-dependencies group by @dependabot in Bump Meziantou.Analyzer from 2.0.162 to 2.0.163 in the all-dependencies group sebastienros/jint#1933TypedArray.setissues by @lahma in Update test262 test suite and fix TypedArray.set issues sebastienros/jint#1934Full Changelog: sebastienros/jint@v4.0.0...v4.0.1
4.0.0
This release changes internal JavaScript parser from Esprima to Acornima and adds some new ECMAScript features.
Relevant bug fixes below have been backported into 3.x and are already part of its releases.
What's Changed
... (truncated)
3.1.6
What's Changed
EsprimaExtensions.TryGetKeymore resilient to missing execution context by @lahma in Backport make EsprimaExtensions.TryGetKey more resilient to missing execution context sebastienros/jint#1919Full Changelog: sebastienros/jint@v3.1.5...v3.1.6
3.1.5
What's Changed
Array.sortinfinite loops on full framework by @lahma in Backport avoid Array.sort infinite loops on full framework sebastienros/jint#1915Full Changelog: sebastienros/jint@v3.1.4...v3.1.5
3.1.4
What's Changed
ArrayInstance.CopyValuesto handle holes correctly by @lahma in Backport fix ArrayInstance.CopyValues to handle holes correctly sebastienros/jint#1901ThrowOnUnresolvedMemberby @lahma in Backport add interop option ThrowOnUnresolvedMember sebastienros/jint#1905Full Changelog: sebastienros/jint@v3.1.3...v3.1.4
3.1.3
What's Changed
Full Changelog: sebastienros/jint@v3.1.2...v3.1.3
3.1.2
What's Changed
Full Changelog: sebastienros/jint@v3.1.1...v3.1.2
3.1.1
What's Changed
Full Changelog: sebastienros/jint@v3.1.0...v3.1.1
3.1.0
What's Changed
Full Changelog: sebastienros/jint@v3.0.2...v3.1.0
3.0.2
What's Changed
New Contributors
Full Changelog: sebastienros/jint@v3.0.1...v3.0.2
3.0.1
What's Changed
New Contributors
Full Changelog: sebastienros/jint@v3.0.0...v3.0.1
3.0.0
So v3 is finally here after some seven years of sweat and tears. A big thank you to everyone who helped by contributing new features, fixed and reported problems (you can see the huge list of contributors and their valuable work at the bottom of these release notes).
Jint is now arguably the most feature complete and standards compliant JavaScript engine running purely on top of .NET runtime. All the features listed as supported pass the ECMAScript standard suite for the feature flags. That's almost 60 000 passing tests on top of Jint's own test cases.
💡 If you are benefiting from Jint or otherwise would like to show your gratitude, don't forget to sponsor the project, even a one-time donation makes a difference.
We hope you'll like the new release 🚀
Features
ECMAScript
During v3 development a a huge set of both modern ECMAScript syntax and library features were completed, to name a few:
letandconstsupportclasssupportasync/awaita ?? banda?.b?.c)ArrayBuffer,BigInt,DataView,Map,Promise,Proxy,Reflect,SetUnfortunately generator support and some corner cases for async/await support which will require some internal engine logic refactoring didn't make the cut and will be part of some later release.
You can always refer to the main README to see the state of supported features.
Interop
A lot of interop scenarios were improved and for example extensions methods can now accessed via JavaScript code. Plenty of bugs were fixed and interop performance was improved.
Performance
Performance was a big concern when re-writing the Jint internals. Jint is being heavily used in databases like RavenDB and EventStore where execution performance is crucial. We lowered memory traffic considerably and optimized the runtime in many ways. Generally one can say that Jint v3 is at least twice as fast if not multiple times faster than previous v2 on different workloads. There's also benchmark results comparing Jint to other alternatives available.
Here's results from two well-known test suites comparing v2 and v3.
Dromaeo
3.0.0-rc-1
What's Changed
New Contributors
Full Changelog: sebastienros/jint@v3.0.0-beta-2060...v3.0.0-rc-1
3.0.0-beta-2060
What's Changed
Full Changelog: sebastienros/jint@v3.0.0-beta-2059...v3.0.0-beta-2060
3.0.0-beta-2059
This release aims to unify and clarify public APIs and hiding services that shouldn't be needed for normal usage. Services can always be exposed again if it seems necessary. If you find some API missing that you need, please create a PR with suggested API change and a test case against
Jint.Tests.PublicInterfacewhich will ensure that the API won't be broken that easily.FunctionInstance->FunctionBindFunctionInstance->BindFunctionClrFunctionInstance->ClrFunctionGetterFunctionInstance->GetterFunctionand madeinternalIPrimitiveInstance->IJsPrimitiveScriptFunctionInstance->ScriptFunctionSetterFunctionInstance->SetterFunctionand madeinternalEngine.ClrTypeConvertertoEngine.TypeConverterEngine.DebugHandlertoEngine.DebuggerEngine.ResetCallStacktoEngine.AdvancedEngine.ConstraintsEngine.Modulesand shorten method namesEngine.RegisterPromisetoEngine.AdvancedObjectInstance.IsLooselyEqual()protectedJsonInstanceObjectInstance.CanPut()ObjectInstance.DefinePropertyOrThrow()ObjectInstance.DeletePropertyOrThrow()ObjectInstance.IsArray()and addJsValueExtensions.IsArray()ObjectInstance.SetPrototypeOf()and allow set viaObjectInstance.Prototypeproperty setObjectInstance.IsArrayLikeObjectInstance.Lengthand only exposeJsArray.LengthandJsTypedArray.LengthpropertiesObjectInstance.InvokeEngine.Realm, exposeEngine.IntrinsicsandEngine.GlobaldirectlyWhat's Changed
Full Changelog: sebastienros/jint@v3.0.0-beta-2058...v3.0.0-beta-2059
3.0.0-beta-2058
What's Changed
ValueStringBuilderdispose when needed by @lahma in Ensure proper ValueStringBuilder dispose when needed sebastienros/jint#1699GetUtcNowtoITimeSystemby @ejsmith in Add GetUtcNow to ITimeSystem sebastienros/jint#1701ArrayBufferby @lahma in Implement resizable ArrayBuffer sebastienros/jint#1707SharedArrayBufferby @lahma in Implement SharedArrayBuffer sebastienros/jint#1708ArrayBuffer.transferby @lahma in Implement ArrayBuffer.transfer sebastienros/jint#1709Engine.Advanced.StackTraceto get current stack trace string by @lahma in Add Engine.Advanced.StackTrace to get current stack trace string sebastienros/jint#1712JsValueimplementIConvertibleby @lahma in Make JsValue implement IConvertible sebastienros/jint#1713New Contributors
Full Changelog: sebastienros/jint@v3.0.0-beta-2057...v3.0.0-beta-2058
3.0.0-beta-2057
What's Changed
New Contributors
Full Changelog: sebastienros/jint@v3.0.0-beta-2056...v3.0.0-beta-2057
3.0.0-beta-2056
What's Changed
Full Changelog: sebastienros/jint@v3.0.0-beta-2055...v3.0.0-beta-2056
3.0.0-beta-2055
What's Changed
Full Changelog: sebastienros/jint@v3.0.0-beta-2054...v3.0.0-beta-2055
3.0.0-beta-2054
What's Changed
Full Changelog: sebastienros/jint@v3.0.0-beta-2053...v3.0.0-beta-2054
3.0.0-beta-2053
What's Changed
New Contributors
Full Changelog: sebastienros/jint@v3.0.0-beta-2052...v3.0.0-beta-2053
3.0.0-beta-2052
What's Changed
Full Changelog: sebastienros/jint@v3.0.0-beta-2051...v3.0.0-beta-2052
3.0.0-beta-2051
What's Changed
readonlymodifier to fields that aren't being changed by @Lehonti in Addedreadonlymodifier to fields that aren't being changed sebastienros/jint#1610New Contributors
readonlymodifier to fields that aren't being changed sebastienros/jint#1610Full Changelog: sebastienros/jint@v3.0.0-beta-2050...v3.0.0-beta-2051
3.0.0-beta-2050
What's Changed
New Contributors
Full Changelog: sebastienros/jint@v3.0.0-beta-2049...v3.0.0-beta-2050
Commits viewable in compare view.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)