Update dependency Jint to 4.16.2 - #2370
Merged
Merged
Conversation
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.
This PR contains the following updates:
4.16.1→4.16.2Release Notes
sebastienros/jint (Jint)
v4.16.2Jint 4.16.2 is a maintenance release from the
4.xbranch: correctness and conformance fixes backported frommain, and nothing that changes an existing API or an existing default. If you are on 4.16.1 it is a drop-in update — every public signature is the one 4.16.0 shipped, on all five target frameworks, and the per-framework snapshots inJint.Tests.PublicInterface/Verify/are unchanged.mainremains 5.0.0 development; what is coming there is recorded as it lands indocs/v5-migration.md.Highlights
Failures that used to end the process, or never end. A native error raised while a call's arguments are being evaluated is propagated instead of leaving an empty value behind, which on 4.16.1 could recurse until the process died —
decodeURIComponenton a malformed sequence was enough (#4009). Native recursion and the forwarding paths through bound functions and proxies are guarded so a deep native chain raises a catchable error (#4007). A module graph too deep to link raises an error the host can catch instead of overflowing the stack (#3548). Temporal and Intl parsing cannot throw an uncatchableRegexMatchTimeoutExceptionbecause the machine was busy (#3543), a Temporal difference past a calendar's range raisesRangeErrorinstead of spinning forever (#3555), and the process-wide Intl culture cache and Temporal zone cache are read-only and bounded, with a rejected zone no longer remembered — closing a script-driven unbounded growth (#3546).Generators and built-ins, step by step. A
yield*delegation reached again by a loop both re-delegates and keeps its place:countdown(3)in a loop no longer hangs, and a delegating generator no longer returns the memoized first result (#3545).Array.prototype.mapandslicehand a@@speciesconstructor the lengthToLengthproduced, and a non-callablemapargument is aTypeError(#3547). A trailing NUL pads neither a numeric string nor an array index (#3552). A removed property slot is a tombstone rather than a free slot to reuse, so enumeration order survives a delete-and-readd (#3318), andLengthOfArrayLikeno longer clamps through auintoverload (#3328).Interop that answers for the right engine. Two engines in one process no longer decide each other's conversions and operators (#3559), a host type converter's answer stays with the engine whose converter gave it (#3563), and a value the host registers on a
ShadowRealm— and the members its wrapper builds eagerly — belong to that realm (#3557). Realm construction state is restored after nesting or a failure (#4008). Overload selection is by the arguments in hand: an operator overload is chosen that way (#3611), aparamsoverload is chosen by the array's element type with a failing element declining rather than throwing (#3782), an overload the argument cannot bind to is not a match, and a host operator that throws reports what it threw (#3554). An index on a wrapped host collection is one property however it is spelled, and a member filter that hides the indexer hides it (#3562); a read-only host collection refuses a write with a JavaScriptTypeErrorrather than the CLR'sNotSupportedException(#3556).Internationalization and Temporal. The Persian calendar extends into proleptic years on its 33-year cycle, so the ends of Temporal's range land in the right Persian year (#4006); a calendar that counts Gregorian months writes their names (#3612); and a
-u-extension carrying more than one key is read whole (#3613).Errors. Only a string-valued
stackcounts as a pre-existing stack when aJavaScriptExceptionis built, so an accessor or non-stringstackon a thrown object no longer breaks error reporting (#3677, reported by @jeske).Every change was verified failing-first against the unfixed branch on both .NET Framework and .NET 10, and the release was gated on a paired SunSpider and Dromaeo comparison against 4.16.1 on an idle machine: no row regressed outside run-to-run noise, most run 1–4 % faster.
What's Changed
-u-extension carrying more than one key is read whole (backport of #3594) by @lahma in #3613Full Changelog: sebastienros/jint@v4.16.1...v4.16.2
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.