-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Normative: Don't call well-known Symbol methods for RegExp on primitive values
#3009
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Normative: Don't call well-known Symbol methods for RegExp on primitive values
#3009
Conversation
|
@petamoriken can someone from deno add this to the March meeting agenda? |
|
@lucacasonato Would you work on this issue? |
ca31671 to
25424af
Compare
|
I can see that this change would cause this to no longer evaluate to “surprise”: String.prototype[Symbol.split] = () => "surprise";
"a.b.c".split(".");I see no obvious downside to the proposed change in a vacuum, but given it’s a breaking change, I’m curious whether there’s been research yet on whether it’s web compatible in practice? (It seems plausible that it could be safe, but it also seems plausible that faithful polyfill implementations, e.g. @zloirock’s core-js, could be impacted). |
|
|
25424af to
5942961
Compare
5942961 to
f9d3b02
Compare
f9d3b02 to
c45ae45
Compare
RegExp on primitive valuesRegExp on primitive values
|
The const isObject = v => Object(v) === v; |
9b254aa to
cd6e94f
Compare
|
Test262 PR has landed. |
https://bugs.webkit.org/show_bug.cgi?id=290684 Reviewed by Yusuke Suzuki. This patch implements tc39/ecma262#3009. test262 has been updated for it already[1]. [1]: tc39/test262@abc22b5 * JSTests/test262/expectations.yaml: * Source/JavaScriptCore/builtins/StringPrototype.js: (match): (matchAll): (intrinsic.StringPrototypeReplaceIntrinsic.replace): (intrinsic.StringPrototypeReplaceAllIntrinsic.replaceAll): (search): (split): Canonical link: https://commits.webkit.org/292913@main
… on primitives r=dminor,iain This patch adds telemetry for tc39/ecma262#3009. That normative PR has already been approved by TC39, but we need to verify that it's web compatible. Differential Revision: https://phabricator.services.mozilla.com/D241305
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [core-js](https://redirect.github.com/zloirock/core-js) ([source](https://redirect.github.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.42.0` -> `3.43.0`](https://renovatebot.com/diffs/npm/core-js/3.37.0/3.43.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>zloirock/core-js (core-js)</summary> ### [`v3.43.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3430---20250609) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) - Changes [v3.42.0...v3.43.0](https://redirect.github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) (139 commits) - [Explicit Resource Management proposals](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Built-ins: - `Symbol.dispose` - `Symbol.asyncDispose` - `SuppressedError` - `DisposableStack` - `DisposableStack.prototype.dispose` - `DisposableStack.prototype.use` - `DisposableStack.prototype.adopt` - `DisposableStack.prototype.defer` - `DisposableStack.prototype.move` - `DisposableStack.prototype[@​@​dispose]` - `AsyncDisposableStack` - `AsyncDisposableStack.prototype.disposeAsync` - `AsyncDisposableStack.prototype.use` - `AsyncDisposableStack.prototype.adopt` - `AsyncDisposableStack.prototype.defer` - `AsyncDisposableStack.prototype.move` - `AsyncDisposableStack.prototype[@​@​asyncDispose]` - `Iterator.prototype[@​@​dispose]` - `AsyncIterator.prototype[@​@​asyncDispose]` - Moved to stable ES, [May 2025 TC39 meeting](https://x.com/robpalmer2/status/1927744934343213085) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Array.fromAsync` proposal](https://redirect.github.com/tc39/proposal-array-from-async): - Built-ins: - `Array.fromAsync` - Moved to stable ES, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposal-array-from-async/issues/14#issuecomment-2916645435) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Error.isError` proposal](https://redirect.github.com/tc39/proposal-is-error): - Built-ins: - `Error.isError` - Moved to stable ES, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/a5d4bb99d79f328533d0c36b0cd20597fa12c7a8) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Added [Joint iteration stage 2.7 proposal](https://redirect.github.com/tc39/proposal-joint-iteration): - Added built-ins: - `Iterator.zip` - `Iterator.zipKeyed` - Added [`Iterator` chunking stage 2 proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.chunks` - `Iterator.prototype.windows` - [`Number.prototype.clamp` proposal](https://redirect.github.com/tc39/proposal-math-clamp): - Built-ins: - `Number.prototype.clamp` - Moved to stage 2, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposal-math-clamp/commit/a005f28a6a03e175b9671de1c8c70dd5b7b08c2d) - `Math.clamp` was replaced with `Number.prototype.clamp` - Removed a `RangeError` if `min <= max` or `+0` min and `-0` max, [tc39/proposal-math-clamp/#​22](https://redirect.github.com/tc39/proposal-math-clamp/issues/22) - Always check regular expression flags by `flags` getter [PR](https://redirect.github.com/tc39/ecma262/pull/2791). Native methods are not fixed, only own implementation updated for: - `RegExp.prototype[@​@​match]` - `RegExp.prototype[@​@​replace]` - Improved handling of `RegExp` flags in polyfills of some methods in engines without proper support of `RegExp.prototype.flags` and without polyfill of this getter - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=288595) that occurs when `this` is updated while `Set.prototype.difference` is being executed - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=289430) that occurs when iterator record of a set-like object isn't called before cloning `this` in the following methods: - `Set.prototype.symmetricDifference` - `Set.prototype.union` - Added feature detection for [a bug](https://issues.chromium.org/issues/336839115) in V8 ~ Chromium < 126. Following methods should throw an error on invalid iterator: - `Iterator.prototype.drop` - `Iterator.prototype.filter` - `Iterator.prototype.flatMap` - `Iterator.prototype.map` - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=288714): incorrect exception thrown by `Iterator.from` when underlying iterator's `return` method is `null` - Added feature detection for a FF bug: incorrect exception thrown by `Array.prototype.with` when index coercion fails - Added feature detection for a WebKit bug: `TypedArray.prototype.with` should truncate negative fractional index to zero, but instead throws an error - Worked around a bug of many different tools ([example](https://redirect.github.com/zloirock/core-js/pull/1368#issuecomment-2908034690)) with incorrect transforming and breaking JS syntax on getting a method from a number literal - Fixed deoptimization of the `Promise` polyfill in the pure version - Added some missed dependencies to `/iterator/flat-map` entries - Some other minor fixes and improvements - Compat data improvements: - Added [Deno 2.3](https://redirect.github.com/denoland/deno/releases/tag/v2.3.0) and [Deno 2.3.2](https://redirect.github.com/denoland/deno/releases/tag/v2.3.2) compat data mapping - Updated Electron 37 compat data mapping - Added Opera Android 90 compat data mapping - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked not supported in Node because of [a bug](https://redirect.github.com/nodejs/node/issues/56497) - `Set.prototype.difference` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=288595) - `Set.prototype.{ symmetricDifference, union }` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=289430) - `Iterator.from` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=288714) - Iterators closing on early errors in `Iterator` helpers marked as implemented from FF141 - `Array.prototype.with` marked as supported only from FF140 because it throws an incorrect exception when index coercion fails - `TypedArray.prototype.with` marked as unsupported in Bun and Safari because it should truncate negative fractional index to zero, but instead throws an error - `DisposableStack` and `AsyncDisposableStack` marked as [shipped in FF141](https://bugzilla.mozilla.org/show_bug.cgi?id=1967744) (`SuppressedError` has [a bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1971000)) - `AsyncDisposableStack` bugs marked as fixed in Deno 2.3.2 - `SuppressedError` bugs ([extra arguments support](https://redirect.github.com/oven-sh/bun/issues/9283) and [arity](https://redirect.github.com/oven-sh/bun/issues/9282)) marked as fixed in Bun 1.2.15 ### [`v3.42.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3420---20250430) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) - Changes [v3.41.0...v3.42.0](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) (142 commits) - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Moved to stage 2.7, [April 2025 TC39 meeting](https://x.com/robpalmer2/status/1911882240109261148) - Validation order of `WeakMap.prototype.getOrInsertComputed` updated following [tc39/proposal-upsert#79](https://redirect.github.com/tc39/proposal-upsert/pull/79) - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Don't call well-known `Symbol` methods for `RegExp` on primitive values following [tc39/ecma262#3009](https://redirect.github.com/tc39/ecma262/pull/3009): - For avoid performance regression, temporarily, only in own `core-js` implementations - Built-ins: - `String.prototype.matchAll` - `String.prototype.match` - `String.prototype.replaceAll` - `String.prototype.replace` - `String.prototype.search` - `String.prototype.split` - Added workaround for the [`Uint8Array.prototype.setFromBase64`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) [bug](https://bugs.webkit.org/show_bug.cgi?id=290829) in some of Linux builds of WebKit - Implemented early-error iterator closing following [tc39/ecma262#3467](https://redirect.github.com/tc39/ecma262/pull/3467), including fix of [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291195), in the following methods: - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - Fixed missing forced replacement of [`AsyncIterator` helpers](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added closing of sync iterator when async wrapper yields a rejection following [tc39/ecma262#2600](https://redirect.github.com/tc39/ecma262/pull/2600). Affected methods: - [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) (due to the lack of async feature detection capability - temporarily, only in own `core-js` implementation) - [`AsyncIterator.from`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - [`Iterator.prototype.toAsync`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added detection for throwing on `undefined` initial parameter in `Iterator.prototype.reduce` (see [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291651)) - `core-js-compat` and `core-js-builder` API: - Added `'intersect'` support for `targets.esmodules` (Babel 7 behavior) - Fixed handling of `targets.esmodules: true` (Babel 7 behavior) - Compat data improvements: - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features disabled (again) in V8 ~ Chromium 135 and re-added in 136 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as [shipped from V8 ~ Chromium 136](https://issues.chromium.org/issues/353856236#comment17) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked as [shipped from FF138](https://bugzilla.mozilla.org/show_bug.cgi?id=1952249) - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features re-enabled in [Deno 2.2.10](https://redirect.github.com/denoland/deno/releases/tag/v2.2.10) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as supported from Deno 1.38.1 since it seems they were disabled in 1.38.0 - `Iterator.prototype.{ drop, reduce, take }` methods marked as fixed in Bun 1.2.11 - Added [NodeJS 24.0](https://redirect.github.com/nodejs/node/pull/57609) compat data mapping - Updated Electron 36 and added Electron 37 compat data mapping - Added Opera Android [88](https://forums.opera.com/topic/83800/opera-for-android-88) and [89](https://forums.opera.com/topic/84437/opera-for-android-89) compat data mapping - Added Oculus Quest Browser 37 compat data mapping ### [`v3.41.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3410---20250301) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) - Changes [v3.40.0...v3.41.0](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) (85 commits) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Float16` proposal](https://redirect.github.com/tc39/proposal-float16array): - Built-ins: - `Math.f16round` - `DataView.prototype.getFloat16` - `DataView.prototype.setFloat16` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Math.clamp` stage 1 proposal](https://redirect.github.com/CanadaHonk/proposal-math-clamp): - Built-ins: - `Math.clamp` - Extracted from [old `Math` extensions proposal](https://redirect.github.com/rwaldron/proposal-math-extensions), [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/0c24594aab19a50b86d0db7248cac5eb0ae35621) - Added arguments validation - Added new entries - Added a workaround of a V8 `AsyncDisposableStack` bug, [tc39/proposal-explicit-resource-management/256](https://redirect.github.com/tc39/proposal-explicit-resource-management/issues/256) - Compat data improvements: - [`DisposableStack`, `SuppressedError` and `Iterator.prototype[@​@​dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/42203506#comment24) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) added and marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/382104870#comment4) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from V8 ~ Chromium 135](https://issues.chromium.org/issues/42203953#comment36) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18\_4-release-notes#New-Features) - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18\_4-release-notes#New-Features) - [`Math.sumPrecise`](https://redirect.github.com/tc39/proposal-math-sum) marked as shipped from FF137 - Added [Deno 2.2](https://redirect.github.com/denoland/deno/releases/tag/v2.2.0) compat data and compat data mapping - Explicit Resource Management features are available in V8 ~ Chromium 134, but not in Deno 2.2 based on it - Updated Electron 35 and added Electron 36 compat data mapping - Updated [Opera Android 87](https://forums.opera.com/topic/75836/opera-for-android-87) compat data mapping - Added Samsung Internet 28 compat data mapping - Added Oculus Quest Browser 36 compat data mapping ### [`v3.40.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3400---20250108) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) - Changes [v3.39.0...v3.40.0](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) (130 commits) - Added [`Error.isError` stage 3 proposal](https://redirect.github.com/tc39/proposal-is-error): - Added built-ins: - `Error.isError` - We have no bulletproof way to polyfill this method / check if the object is an error, so it's an enough naive implementation that is marked as `.sham` - [Explicit Resource Management stage 3 proposal](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Updated the way async disposing of only sync disposable resources, [tc39/proposal-explicit-resource-management/218](https://redirect.github.com/tc39/proposal-explicit-resource-management/pull/218) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Reuse `IteratorResult` objects when possible, [tc39/proposal-iterator-sequencing/17](https://redirect.github.com/tc39/proposal-iterator-sequencing/issues/17), [tc39/proposal-iterator-sequencing/18](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/18), December 2024 TC39 meeting - Added a fix of [V8 < 12.8](https://issues.chromium.org/issues/351332634) / [NodeJS < 22.10](https://redirect.github.com/nodejs/node/pull/54883) bug with handling infinite length of set-like objects in `Set` methods - Optimized `DataView.prototype.{ getFloat16, setFloat16 }` performance, [#​1379](https://redirect.github.com/zloirock/core-js/pull/1379), thanks [**@​LeviPesin**](https://redirect.github.com/LeviPesin) - Dropped unneeded feature detection of non-standard `%TypedArray%.prototype.toSpliced` - Dropped possible re-usage of some non-standard / early stage features (like `Math.scale`) available on global - Some other minor improvements - Compat data improvements: - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Safari 18.2 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Safari 18.2 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Safari 18.2 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Safari 18.2 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from FF135](https://bugzilla.mozilla.org/show_bug.cgi?id=1934622) - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped [from FF134](https://bugzilla.mozilla.org/show_bug.cgi?id=1918235) - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from FF134 - [`Symbol.dispose`, `Symbol.asyncDispose` and `Iterator.prototype[@​@​dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as shipped from FF135 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as shipped from Bun 1.1.43 - Fixed NodeJS version where `URL.parse` was added - 22.1 instead of 22.0 - Added [Deno 2.1](https://redirect.github.com/denoland/deno/releases/tag/v2.1.0) compat data mapping - Added [Rhino 1.8.0](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1\_8\_0\_Release) compat data with significant number of modern features - Added Electron 35 compat data mapping - Updated Opera 115+ compat data mapping - Added Opera Android [86](https://forums.opera.com/topic/75006/opera-for-android-86) and 87 compat data mapping ### [`v3.39.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3390---20241031) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - Changes [v3.38.1...v3.39.0](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers): - Built-ins: - `Iterator` - `Iterator.from` - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - `Iterator.prototype.toArray` - `Iterator.prototype[@​@​toStringTag]` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-iterator-helpers/issues/284#event-14549961807) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-promise-try/commit/53d3351687274952b3b88f3ad024d9d68a9c1c93) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Fixed `/actual|full/promise/try` entries for the callback arguments support - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stage 3, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-math-sum/issues/19) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Added built-ins: - `Iterator.concat` - [`Map` upsert stage 2 proposal](https://redirect.github.com/tc39/proposal-upsert): - [Updated to the new API following the October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-upsert/pull/58) - Added built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - [Extractors proposal](https://redirect.github.com/tc39/proposal-extractors) moved to stage 2, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/11bc489049fc5ce59b21e98a670a84f153a29a80) - Usage of `@@​species` pattern removed from `%TypedArray%` and `ArrayBuffer` methods, [tc39/ecma262/3450](https://redirect.github.com/tc39/ecma262/pull/3450): - Built-ins: - `%TypedArray%.prototype.filter` - `%TypedArray%.prototype.filterReject` - `%TypedArray%.prototype.map` - `%TypedArray%.prototype.slice` - `%TypedArray%.prototype.subarray` - `ArrayBuffer.prototype.slice` - Some other minor improvements - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as [shipped from FF133](https://bugzilla.mozilla.org/show_bug.cgi?id=1917885#c9) - Added [NodeJS 23.0](https://nodejs.org/en/blog/release/v23.0.0) compat data mapping - `self` descriptor [is fixed](https://redirect.github.com/denoland/deno/issues/24683) in Deno 1.46.0 - Added Deno [1.46](https://redirect.github.com/denoland/deno/releases/tag/v1.46.0) and [2.0](https://redirect.github.com/denoland/deno/releases/tag/v2.0.0) compat data mapping - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from Bun 1.1.31](https://redirect.github.com/oven-sh/bun/pull/14455) - Added Electron 34 and updated Electron 33 compat data mapping - Added [Opera Android 85](https://forums.opera.com/topic/74256/opera-for-android-85) compat data mapping - Added Oculus Quest Browser 35 compat data mapping ### [`v3.38.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3381---20240820) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Changes [v3.38.0...v3.38.1](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Fixed some cases of `URLSearchParams` percent decoding, [#​1357](https://redirect.github.com/zloirock/core-js/issues/1357), [#​1361](https://redirect.github.com/zloirock/core-js/pull/1361), thanks [**@​slowcheetah**](https://redirect.github.com/slowcheetah) - Some stylistic changes and minor optimizations - Compat data improvements: - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from FF131](https://bugzilla.mozilla.org/show_bug.cgi?id=1896390) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Bun 1.1.23 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Bun 1.1.22 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Bun 1.1.22 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Bun 1.1.22 - Added [Hermes 0.13](https://redirect.github.com/facebook/hermes/releases/tag/v0.13.0) compat data, similar to React Native 0.75 Hermes - Added [Opera Android 84](https://forums.opera.com/topic/73545/opera-for-android-84) compat data mapping ### [`v3.38.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3380---20240805) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - Changes [v3.37.1...v3.38.0](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stage 3, [June 2024](https://redirect.github.com/tc39/proposals/commit/4b8ee265248abfa2c88ed71b3c541ddd5a2eaffe) and [July 2024](https://redirect.github.com/tc39/proposals/commit/bdb2eea6c5e41a52f2d6047d7de1a31b5d188c4f) TC39 meetings - Updated the way of escaping, [regex-escaping/77](https://redirect.github.com/tc39/proposal-regex-escaping/pull/77) - Throw an error on non-strings, [regex-escaping/58](https://redirect.github.com/tc39/proposal-regex-escaping/pull/58) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Promise.try` proposal](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stage 3, [June 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/de20984cd7f7bc616682c557cb839abc100422cb) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Added `Uint8Array.prototype.{ setFromBase64, setFromHex }` methods - Added `Uint8Array.fromBase64` and `Uint8Array.prototype.setFromBase64` `lastChunkHandling` option, [proposal-arraybuffer-base64/33](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/33) - Added `Uint8Array.prototype.toBase64` `omitPadding` option, [proposal-arraybuffer-base64/60](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/60) - Added throwing a `TypeError` on arrays backed by detached buffers - Unconditional forced replacement changed to feature detection - Fixed `RegExp` named capture groups polyfill in combination with non-capturing groups, [#​1352](https://redirect.github.com/zloirock/core-js/pull/1352), thanks [**@​Ulop**](https://redirect.github.com/Ulop) - Improved some cases of environment detection - Uses [`process.getBuiltinModule`](https://nodejs.org/docs/latest/api/process.html#processgetbuiltinmoduleid) for getting built-in NodeJS modules where it's available - Uses `https` instead of `http` in `URL` constructor feature detection to avoid extra notifications from some overly vigilant security scanners, [#​1345](https://redirect.github.com/zloirock/core-js/issues/1345) - Some minor optimizations - Updated `browserslist` in `core-js-compat` dependencies that fixes an upstream issue with incorrect interpretation of some `browserslist` queries, [#​1344](https://redirect.github.com/zloirock/core-js/issues/1344), [browserslist/829](https://redirect.github.com/browserslist/browserslist/issues/829), [browserslist/836](https://redirect.github.com/browserslist/browserslist/pull/836) - Compat data improvements: - Added [Safari 18.0](https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/) compat data: - Fixed [`Object.groupBy` and `Map.groupBy`](https://redirect.github.com/tc39/proposal-array-grouping) to [work for non-objects](https://bugs.webkit.org/show_bug.cgi?id=271524) - Fixed [throwing a `RangeError` if `Set` methods are called on an object with negative size property](https://bugs.webkit.org/show_bug.cgi?id=267494) - Fixed [`Set.prototype.symmetricDifference` to call `this.has` in each iteration](https://bugs.webkit.org/show_bug.cgi?id=272679) - Fixed [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) to [not call the `Array` constructor twice](https://bugs.webkit.org/show_bug.cgi?id=271703) - Added [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from FF129](https://bugzilla.mozilla.org/show_bug.cgi?id=1903329) - [`Symbol.asyncDispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 ~ Chromium 127 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) added and marked as supported [from V8 ~ Chromium 128](https://chromestatus.com/feature/6315704705089536) - Added Deno [1.44](https://redirect.github.com/denoland/deno/releases/tag/v1.44.0) and [1.45](https://redirect.github.com/denoland/deno/releases/tag/v1.45.0) compat data mapping - `self` descriptor [is broken in Deno 1.45.3](https://redirect.github.com/denoland/deno/issues/24683) (again) - Added Electron 32 and 33 compat data mapping - Added [Opera Android 83](https://forums.opera.com/topic/72570/opera-for-android-83) compat data mapping - Added Samsung Internet 27 compat data mapping - Added Oculus Quest Browser 34 compat data mapping ### [`v3.37.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3371---20240514) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Changes [v3.37.0...v3.37.1](https://redirect.github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Fixed [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) feature detection for some specific cases - Compat data improvements: - [`Set` methods proposal](https://redirect.github.com/tc39/proposal-set-methods) added and marked as [supported from FF 127](https://bugzilla.mozilla.org/show_bug.cgi?id=1868423) - [`Symbol.dispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 ~ Chromium 125 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) added and marked as [supported from Deno 1.43](https://redirect.github.com/denoland/deno/pull/23490) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Chromium 126](https://chromestatus.com/feature/6301071388704768) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from NodeJS 22.0](https://redirect.github.com/nodejs/node/pull/52280) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Deno 1.43](https://redirect.github.com/denoland/deno/pull/23318) - Added [Rhino 1.7.15](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1\_7\_15\_Release) compat data, many features marked as supported - Added [NodeJS 22.0](https://nodejs.org/en/blog/release/v22.0.0) compat data mapping - Added [Deno 1.43](https://redirect.github.com/denoland/deno/releases/tag/v1.43.0) compat data mapping - Added Electron 31 compat data mapping - Updated [Opera Android 82](https://forums.opera.com/topic/71513/opera-for-android-82) compat data mapping - Added Samsung Internet 26 compat data mapping - Added Oculus Quest Browser 33 compat data mapping </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/X-oss-byte/Nextjs).
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [blob-polyfill](https://redirect.github.com/bjornstar/blob-polyfill) | devDependencies | major | [`^7.0.20220408` -> `^9.0.20240710`](https://renovatebot.com/diffs/npm/blob-polyfill/7.0.20220408/9.0.20240710) | | [core-js](https://redirect.github.com/zloirock/core-js) ([source](https://redirect.github.com/zloirock/core-js/tree/HEAD/packages/core-js)) | dependencies | minor | [`^3.37.1` -> `^3.42.0`](https://renovatebot.com/diffs/npm/core-js/3.37.1/3.42.0) | | [web-streams-polyfill](https://redirect.github.com/MattiasBuelens/web-streams-polyfill) | devDependencies | minor | [`^4.0.0` -> `^4.1.0`](https://renovatebot.com/diffs/npm/web-streams-polyfill/4.0.0/4.1.0) | --- ### Release Notes <details> <summary>bjornstar/blob-polyfill (blob-polyfill)</summary> ### [`v9.0.20240710`](https://redirect.github.com/bjornstar/blob-polyfill/blob/HEAD/CHANGELOG.md#v9020240710) [Compare Source](https://redirect.github.com/bjornstar/blob-polyfill/compare/v8.0.20240630...v9.0.20240710) - \[Blob.js] Use exported FileReader ([@&elastic#8203;luke-stead-sonocent](https://redirect.github.com/luke-stead-sonocent)) - \[test] Test is now a module ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[README.md] Add badge for `master` branch build status ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[package.json] Update devDependencies: `@sindresorhus/is`, `eslint`, & `mocha` ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[bower.json] Match current version ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[.eslintrc.js] Change to `eslint.config.mjs` for eslint@9 ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) ### [`v8.0.20240630`](https://redirect.github.com/bjornstar/blob-polyfill/blob/HEAD/CHANGELOG.md#v8020240630) [Compare Source](https://redirect.github.com/bjornstar/blob-polyfill/compare/v7.0.20220408...v8.0.20240630) - \[Blob.js] Change Blob.prototype to global.Blob.prototype ([@&elastic#8203;tmisirpash](https://redirect.github.com/tmisirpash)) - \[Blob.js] Make it work in environments where global.Blob exists, but global.FileReader does not ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[Blob.js] Add `isPolyfill` property to the polyfilled versions so we can differentiate them ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[test] Unskip tests and update to work in environments with global.Blob & global.File & global.URL ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[.github] Update action versions and test node v12-v22 ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) </details> <details> <summary>zloirock/core-js (core-js)</summary> ### [`v3.42.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3420---20250430) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) - Changes [v3.41.0...v3.42.0](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) (142 commits) - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Moved to stage 2.7, [April 2025 TC39 meeting](https://x.com/robpalmer2/status/1911882240109261148) - Validation order of `WeakMap.prototype.getOrInsertComputed` updated following [tc39/proposal-upsert#79](https://redirect.github.com/tc39/proposal-upsert/pull/79) - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Don't call well-known `Symbol` methods for `RegExp` on primitive values following [tc39/ecma262#3009](https://redirect.github.com/tc39/ecma262/pull/3009): - For avoid performance regression, temporarily, only in own `core-js` implementations - Built-ins: - `String.prototype.matchAll` - `String.prototype.match` - `String.prototype.replaceAll` - `String.prototype.replace` - `String.prototype.search` - `String.prototype.split` - Added workaround for the [`Uint8Array.prototype.setFromBase64`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) [bug](https://bugs.webkit.org/show_bug.cgi?id=290829) in some of Linux builds of WebKit - Implemented early-error iterator closing following [tc39/ecma262#3467](https://redirect.github.com/tc39/ecma262/pull/3467), including fix of [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291195), in the following methods: - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - Fixed missing forced replacement of [`AsyncIterator` helpers](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added closing of sync iterator when async wrapper yields a rejection following [tc39/ecma262#2600](https://redirect.github.com/tc39/ecma262/pull/2600). Affected methods: - [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) (due to the lack of async feature detection capability - temporarily, only in own `core-js` implementation) - [`AsyncIterator.from`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - [`Iterator.prototype.toAsync`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added detection for throwing on `undefined` initial parameter in `Iterator.prototype.reduce` (see [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291651)) - `core-js-compat` and `core-js-builder` API: - Added `'intersect'` support for `targets.esmodules` (Babel 7 behavior) - Fixed handling of `targets.esmodules: true` (Babel 7 behavior) - Compat data improvements: - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features disabled (again) in V8 ~ Chromium 135 and re-added in 136 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as [shipped from V8 ~ Chromium 136](https://issues.chromium.org/issues/353856236#comment17) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked as [shipped from FF138](https://bugzilla.mozilla.org/show_bug.cgi?id=1952249) - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features re-enabled in [Deno 2.2.10](https://redirect.github.com/denoland/deno/releases/tag/v2.2.10) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as supported from Deno 1.38.1 since it seems they were disabled in 1.38.0 - `Iterator.prototype.{ drop, reduce, take }` methods marked as fixed in Bun 1.2.11 - Added [NodeJS 24.0](https://redirect.github.com/nodejs/node/pull/57609) compat data mapping - Updated Electron 36 and added Electron 37 compat data mapping - Added Opera Android [88](https://forums.opera.com/topic/83800/opera-for-android-88) and [89](https://forums.opera.com/topic/84437/opera-for-android-89) compat data mapping - Added Oculus Quest Browser 37 compat data mapping ### [`v3.41.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3410---20250301) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) - Changes [v3.40.0...v3.41.0](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) (85 commits) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Float16` proposal](https://redirect.github.com/tc39/proposal-float16array): - Built-ins: - `Math.f16round` - `DataView.prototype.getFloat16` - `DataView.prototype.setFloat16` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Math.clamp` stage 1 proposal](https://redirect.github.com/CanadaHonk/proposal-math-clamp): - Built-ins: - `Math.clamp` - Extracted from [old `Math` extensions proposal](https://redirect.github.com/rwaldron/proposal-math-extensions), [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/0c24594aab19a50b86d0db7248cac5eb0ae35621) - Added arguments validation - Added new entries - Added a workaround of a V8 `AsyncDisposableStack` bug, [tc39/proposal-explicit-resource-management/256](https://redirect.github.com/tc39/proposal-explicit-resource-management/issues/256) - Compat data improvements: - [`DisposableStack`, `SuppressedError` and `Iterator.prototype[@&elastic#8203;@&elastic#8203;dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/42203506#comment24) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) added and marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/382104870#comment4) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from V8 ~ Chromium 135](https://issues.chromium.org/issues/42203953#comment36) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18\_4-release-notes#New-Features) - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18\_4-release-notes#New-Features) - [`Math.sumPrecise`](https://redirect.github.com/tc39/proposal-math-sum) marked as shipped from FF137 - Added [Deno 2.2](https://redirect.github.com/denoland/deno/releases/tag/v2.2.0) compat data and compat data mapping - Explicit Resource Management features are available in V8 ~ Chromium 134, but not in Deno 2.2 based on it - Updated Electron 35 and added Electron 36 compat data mapping - Updated [Opera Android 87](https://forums.opera.com/topic/75836/opera-for-android-87) compat data mapping - Added Samsung Internet 28 compat data mapping - Added Oculus Quest Browser 36 compat data mapping ### [`v3.40.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3400---20250108) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) - Changes [v3.39.0...v3.40.0](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) (130 commits) - Added [`Error.isError` stage 3 proposal](https://redirect.github.com/tc39/proposal-is-error): - Added built-ins: - `Error.isError` - We have no bulletproof way to polyfill this method / check if the object is an error, so it's an enough naive implementation that is marked as `.sham` - [Explicit Resource Management stage 3 proposal](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Updated the way async disposing of only sync disposable resources, [tc39/proposal-explicit-resource-management/218](https://redirect.github.com/tc39/proposal-explicit-resource-management/pull/218) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Reuse `IteratorResult` objects when possible, [tc39/proposal-iterator-sequencing/17](https://redirect.github.com/tc39/proposal-iterator-sequencing/issues/17), [tc39/proposal-iterator-sequencing/18](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/18), December 2024 TC39 meeting - Added a fix of [V8 < 12.8](https://issues.chromium.org/issues/351332634) / [NodeJS < 22.10](https://redirect.github.com/nodejs/node/pull/54883) bug with handling infinite length of set-like objects in `Set` methods - Optimized `DataView.prototype.{ getFloat16, setFloat16 }` performance, [#&elastic#8203;1379](https://redirect.github.com/zloirock/core-js/pull/1379), thanks [**@&elastic#8203;LeviPesin**](https://redirect.github.com/LeviPesin) - Dropped unneeded feature detection of non-standard `%TypedArray%.prototype.toSpliced` - Dropped possible re-usage of some non-standard / early stage features (like `Math.scale`) available on global - Some other minor improvements - Compat data improvements: - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Safari 18.2 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Safari 18.2 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Safari 18.2 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Safari 18.2 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from FF135](https://bugzilla.mozilla.org/show_bug.cgi?id=1934622) - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped [from FF134](https://bugzilla.mozilla.org/show_bug.cgi?id=1918235) - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from FF134 - [`Symbol.dispose`, `Symbol.asyncDispose` and `Iterator.prototype[@&elastic#8203;@&elastic#8203;dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as shipped from FF135 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as shipped from Bun 1.1.43 - Fixed NodeJS version where `URL.parse` was added - 22.1 instead of 22.0 - Added [Deno 2.1](https://redirect.github.com/denoland/deno/releases/tag/v2.1.0) compat data mapping - Added [Rhino 1.8.0](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1\_8\_0\_Release) compat data with significant number of modern features - Added Electron 35 compat data mapping - Updated Opera 115+ compat data mapping - Added Opera Android [86](https://forums.opera.com/topic/75006/opera-for-android-86) and 87 compat data mapping ### [`v3.39.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3390---20241031) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - Changes [v3.38.1...v3.39.0](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers): - Built-ins: - `Iterator` - `Iterator.from` - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - `Iterator.prototype.toArray` - `Iterator.prototype[@&elastic#8203;@&elastic#8203;toStringTag]` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-iterator-helpers/issues/284#event-14549961807) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-promise-try/commit/53d3351687274952b3b88f3ad024d9d68a9c1c93) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Fixed `/actual|full/promise/try` entries for the callback arguments support - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stage 3, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-math-sum/issues/19) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Added built-ins: - `Iterator.concat` - [`Map` upsert stage 2 proposal](https://redirect.github.com/tc39/proposal-upsert): - [Updated to the new API following the October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-upsert/pull/58) - Added built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - [Extractors proposal](https://redirect.github.com/tc39/proposal-extractors) moved to stage 2, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/11bc489049fc5ce59b21e98a670a84f153a29a80) - Usage of `@@&elastic#8203;species` pattern removed from `%TypedArray%` and `ArrayBuffer` methods, [tc39/ecma262/3450](https://redirect.github.com/tc39/ecma262/pull/3450): - Built-ins: - `%TypedArray%.prototype.filter` - `%TypedArray%.prototype.filterReject` - `%TypedArray%.prototype.map` - `%TypedArray%.prototype.slice` - `%TypedArray%.prototype.subarray` - `ArrayBuffer.prototype.slice` - Some other minor improvements - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as [shipped from FF133](https://bugzilla.mozilla.org/show_bug.cgi?id=1917885#c9) - Added [NodeJS 23.0](https://nodejs.org/en/blog/release/v23.0.0) compat data mapping - `self` descriptor [is fixed](https://redirect.github.com/denoland/deno/issues/24683) in Deno 1.46.0 - Added Deno [1.46](https://redirect.github.com/denoland/deno/releases/tag/v1.46.0) and [2.0](https://redirect.github.com/denoland/deno/releases/tag/v2.0.0) compat data mapping - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from Bun 1.1.31](https://redirect.github.com/oven-sh/bun/pull/14455) - Added Electron 34 and updated Electron 33 compat data mapping - Added [Opera Android 85](https://forums.opera.com/topic/74256/opera-for-android-85) compat data mapping - Added Oculus Quest Browser 35 compat data mapping ### [`v3.38.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3381---20240820) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Changes [v3.38.0...v3.38.1](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Fixed some cases of `URLSearchParams` percent decoding, [#&elastic#8203;1357](https://redirect.github.com/zloirock/core-js/issues/1357), [#&elastic#8203;1361](https://redirect.github.com/zloirock/core-js/pull/1361), thanks [**@&elastic#8203;slowcheetah**](https://redirect.github.com/slowcheetah) - Some stylistic changes and minor optimizations - Compat data improvements: - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from FF131](https://bugzilla.mozilla.org/show_bug.cgi?id=1896390) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Bun 1.1.23 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Bun 1.1.22 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Bun 1.1.22 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Bun 1.1.22 - Added [Hermes 0.13](https://redirect.github.com/facebook/hermes/releases/tag/v0.13.0) compat data, similar to React Native 0.75 Hermes - Added [Opera Android 84](https://forums.opera.com/topic/73545/opera-for-android-84) compat data mapping ### [`v3.38.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3380---20240805) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - Changes [v3.37.1...v3.38.0](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stage 3, [June 2024](https://redirect.github.com/tc39/proposals/commit/4b8ee265248abfa2c88ed71b3c541ddd5a2eaffe) and [July 2024](https://redirect.github.com/tc39/proposals/commit/bdb2eea6c5e41a52f2d6047d7de1a31b5d188c4f) TC39 meetings - Updated the way of escaping, [regex-escaping/77](https://redirect.github.com/tc39/proposal-regex-escaping/pull/77) - Throw an error on non-strings, [regex-escaping/58](https://redirect.github.com/tc39/proposal-regex-escaping/pull/58) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Promise.try` proposal](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stage 3, [June 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/de20984cd7f7bc616682c557cb839abc100422cb) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Added `Uint8Array.prototype.{ setFromBase64, setFromHex }` methods - Added `Uint8Array.fromBase64` and `Uint8Array.prototype.setFromBase64` `lastChunkHandling` option, [proposal-arraybuffer-base64/33](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/33) - Added `Uint8Array.prototype.toBase64` `omitPadding` option, [proposal-arraybuffer-base64/60](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/60) - Added throwing a `TypeError` on arrays backed by detached buffers - Unconditional forced replacement changed to feature detection - Fixed `RegExp` named capture groups polyfill in combination with non-capturing groups, [#&elastic#8203;1352](https://redirect.github.com/zloirock/core-js/pull/1352), thanks [**@&elastic#8203;Ulop**](https://redirect.github.com/Ulop) - Improved some cases of environment detection - Uses [`process.getBuiltinModule`](https://nodejs.org/docs/latest/api/process.html#processgetbuiltinmoduleid) for getting built-in NodeJS modules where it's available - Uses `https` instead of `http` in `URL` constructor feature detection to avoid extra notifications from some overly vigilant security scanners, [#&elastic#8203;1345](https://redirect.github.com/zloirock/core-js/issues/1345) - Some minor optimizations - Updated `browserslist` in `core-js-compat` dependencies that fixes an upstream issue with incorrect interpretation of some `browserslist` queries, [#&elastic#8203;1344](https://redirect.github.com/zloirock/core-js/issues/1344), [browserslist/829](https://redirect.github.com/browserslist/browserslist/issues/829), [browserslist/836](https://redirect.github.com/browserslist/browserslist/pull/836) - Compat data improvements: - Added [Safari 18.0](https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/) compat data: - Fixed [`Object.groupBy` and `Map.groupBy`](https://redirect.github.com/tc39/proposal-array-grouping) to [work for non-objects](https://bugs.webkit.org/show_bug.cgi?id=271524) - Fixed [throwing a `RangeError` if `Set` methods are called on an object with negative size property](https://bugs.webkit.org/show_bug.cgi?id=267494) - Fixed [`Set.prototype.symmetricDifference` to call `this.has` in each iteration](https://bugs.webkit.org/show_bug.cgi?id=272679) - Fixed [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) to [not call the `Array` constructor twice](https://bugs.webkit.org/show_bug.cgi?id=271703) - Added [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from FF129](https://bugzilla.mozilla.org/show_bug.cgi?id=1903329) - [`Symbol.asyncDispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 ~ Chromium 127 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) added and marked as supported [from V8 ~ Chromium 128](https://chromestatus.com/feature/6315704705089536) - Added Deno [1.44](https://redirect.github.com/denoland/deno/releases/tag/v1.44.0) and [1.45](https://redirect.github.com/denoland/deno/releases/tag/v1.45.0) compat data mapping - `self` descriptor [is broken in Deno 1.45.3](https://redirect.github.com/denoland/deno/issues/24683) (again) - Added Electron 32 and 33 compat data mapping - Added [Opera Android 83](https://forums.opera.com/topic/72570/opera-for-android-83) compat data mapping - Added Samsung Internet 27 compat data mapping - Added Oculus Quest Browser 34 compat data mapping </details> <details> <summary>MattiasBuelens/web-streams-polyfill (web-streams-polyfill)</summary> ### [`v4.1.0`](https://redirect.github.com/MattiasBuelens/web-streams-polyfill/blob/HEAD/CHANGELOG.md#410-2025-01-05) [Compare Source](https://redirect.github.com/MattiasBuelens/web-streams-polyfill/compare/v4.0.0...v4.1.0) - 👓 Align with [spec version `fa4891a`](https://redirect.github.com/whatwg/streams/tree/fa4891a35ff05281ff8ed66f8ad447644ea7cec3/) ([#&elastic#8203;156](https://redirect.github.com/MattiasBuelens/web-streams-polyfill/pull/156)) - Commit pull-into descriptors *after* filling them from the internal queue. This prevents an issue where an incorrect BYOB request would temporarily be visible through a patched `Object.prototype.then`, which broke some internal invariants. - The `next()` and `return()` methods of `ReadableStream`'s async iterator are now correctly "chained", such that the promises returned by *either* of these methods are always resolved in the same order as those methods were called. - 💅 Improve type of `WritableStreamDefaultController.signal`. ([#&elastic#8203;157](https://redirect.github.com/MattiasBuelens/web-streams-polyfill/pull/157)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOk9wZXJhdGlvbnMiLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==--> --------- Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Co-authored-by: Brad White <[email protected]> Co-authored-by: Brad White <[email protected]>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [blob-polyfill](https://redirect.github.com/bjornstar/blob-polyfill) | devDependencies | major | [`^7.0.20220408` -> `^9.0.20240710`](https://renovatebot.com/diffs/npm/blob-polyfill/7.0.20220408/9.0.20240710) | | [core-js](https://redirect.github.com/zloirock/core-js) ([source](https://redirect.github.com/zloirock/core-js/tree/HEAD/packages/core-js)) | dependencies | minor | [`^3.37.1` -> `^3.42.0`](https://renovatebot.com/diffs/npm/core-js/3.37.1/3.42.0) | | [web-streams-polyfill](https://redirect.github.com/MattiasBuelens/web-streams-polyfill) | devDependencies | minor | [`^4.0.0` -> `^4.1.0`](https://renovatebot.com/diffs/npm/web-streams-polyfill/4.0.0/4.1.0) | --- ### Release Notes <details> <summary>bjornstar/blob-polyfill (blob-polyfill)</summary> ### [`v9.0.20240710`](https://redirect.github.com/bjornstar/blob-polyfill/blob/HEAD/CHANGELOG.md#v9020240710) [Compare Source](https://redirect.github.com/bjornstar/blob-polyfill/compare/v8.0.20240630...v9.0.20240710) - \[Blob.js] Use exported FileReader ([@&elastic#8203;luke-stead-sonocent](https://redirect.github.com/luke-stead-sonocent)) - \[test] Test is now a module ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[README.md] Add badge for `master` branch build status ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[package.json] Update devDependencies: `@sindresorhus/is`, `eslint`, & `mocha` ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[bower.json] Match current version ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[.eslintrc.js] Change to `eslint.config.mjs` for eslint@9 ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) ### [`v8.0.20240630`](https://redirect.github.com/bjornstar/blob-polyfill/blob/HEAD/CHANGELOG.md#v8020240630) [Compare Source](https://redirect.github.com/bjornstar/blob-polyfill/compare/v7.0.20220408...v8.0.20240630) - \[Blob.js] Change Blob.prototype to global.Blob.prototype ([@&elastic#8203;tmisirpash](https://redirect.github.com/tmisirpash)) - \[Blob.js] Make it work in environments where global.Blob exists, but global.FileReader does not ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[Blob.js] Add `isPolyfill` property to the polyfilled versions so we can differentiate them ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[test] Unskip tests and update to work in environments with global.Blob & global.File & global.URL ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[.github] Update action versions and test node v12-v22 ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) </details> <details> <summary>zloirock/core-js (core-js)</summary> ### [`v3.42.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3420---20250430) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) - Changes [v3.41.0...v3.42.0](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) (142 commits) - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Moved to stage 2.7, [April 2025 TC39 meeting](https://x.com/robpalmer2/status/1911882240109261148) - Validation order of `WeakMap.prototype.getOrInsertComputed` updated following [tc39/proposal-upsert#79](https://redirect.github.com/tc39/proposal-upsert/pull/79) - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Don't call well-known `Symbol` methods for `RegExp` on primitive values following [tc39/ecma262#3009](https://redirect.github.com/tc39/ecma262/pull/3009): - For avoid performance regression, temporarily, only in own `core-js` implementations - Built-ins: - `String.prototype.matchAll` - `String.prototype.match` - `String.prototype.replaceAll` - `String.prototype.replace` - `String.prototype.search` - `String.prototype.split` - Added workaround for the [`Uint8Array.prototype.setFromBase64`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) [bug](https://bugs.webkit.org/show_bug.cgi?id=290829) in some of Linux builds of WebKit - Implemented early-error iterator closing following [tc39/ecma262#3467](https://redirect.github.com/tc39/ecma262/pull/3467), including fix of [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291195), in the following methods: - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - Fixed missing forced replacement of [`AsyncIterator` helpers](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added closing of sync iterator when async wrapper yields a rejection following [tc39/ecma262#2600](https://redirect.github.com/tc39/ecma262/pull/2600). Affected methods: - [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) (due to the lack of async feature detection capability - temporarily, only in own `core-js` implementation) - [`AsyncIterator.from`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - [`Iterator.prototype.toAsync`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added detection for throwing on `undefined` initial parameter in `Iterator.prototype.reduce` (see [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291651)) - `core-js-compat` and `core-js-builder` API: - Added `'intersect'` support for `targets.esmodules` (Babel 7 behavior) - Fixed handling of `targets.esmodules: true` (Babel 7 behavior) - Compat data improvements: - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features disabled (again) in V8 ~ Chromium 135 and re-added in 136 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as [shipped from V8 ~ Chromium 136](https://issues.chromium.org/issues/353856236#comment17) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked as [shipped from FF138](https://bugzilla.mozilla.org/show_bug.cgi?id=1952249) - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features re-enabled in [Deno 2.2.10](https://redirect.github.com/denoland/deno/releases/tag/v2.2.10) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as supported from Deno 1.38.1 since it seems they were disabled in 1.38.0 - `Iterator.prototype.{ drop, reduce, take }` methods marked as fixed in Bun 1.2.11 - Added [NodeJS 24.0](https://redirect.github.com/nodejs/node/pull/57609) compat data mapping - Updated Electron 36 and added Electron 37 compat data mapping - Added Opera Android [88](https://forums.opera.com/topic/83800/opera-for-android-88) and [89](https://forums.opera.com/topic/84437/opera-for-android-89) compat data mapping - Added Oculus Quest Browser 37 compat data mapping ### [`v3.41.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3410---20250301) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) - Changes [v3.40.0...v3.41.0](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) (85 commits) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Float16` proposal](https://redirect.github.com/tc39/proposal-float16array): - Built-ins: - `Math.f16round` - `DataView.prototype.getFloat16` - `DataView.prototype.setFloat16` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Math.clamp` stage 1 proposal](https://redirect.github.com/CanadaHonk/proposal-math-clamp): - Built-ins: - `Math.clamp` - Extracted from [old `Math` extensions proposal](https://redirect.github.com/rwaldron/proposal-math-extensions), [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/0c24594aab19a50b86d0db7248cac5eb0ae35621) - Added arguments validation - Added new entries - Added a workaround of a V8 `AsyncDisposableStack` bug, [tc39/proposal-explicit-resource-management/256](https://redirect.github.com/tc39/proposal-explicit-resource-management/issues/256) - Compat data improvements: - [`DisposableStack`, `SuppressedError` and `Iterator.prototype[@&elastic#8203;@&elastic#8203;dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/42203506#comment24) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) added and marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/382104870#comment4) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from V8 ~ Chromium 135](https://issues.chromium.org/issues/42203953#comment36) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18\_4-release-notes#New-Features) - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18\_4-release-notes#New-Features) - [`Math.sumPrecise`](https://redirect.github.com/tc39/proposal-math-sum) marked as shipped from FF137 - Added [Deno 2.2](https://redirect.github.com/denoland/deno/releases/tag/v2.2.0) compat data and compat data mapping - Explicit Resource Management features are available in V8 ~ Chromium 134, but not in Deno 2.2 based on it - Updated Electron 35 and added Electron 36 compat data mapping - Updated [Opera Android 87](https://forums.opera.com/topic/75836/opera-for-android-87) compat data mapping - Added Samsung Internet 28 compat data mapping - Added Oculus Quest Browser 36 compat data mapping ### [`v3.40.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3400---20250108) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) - Changes [v3.39.0...v3.40.0](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) (130 commits) - Added [`Error.isError` stage 3 proposal](https://redirect.github.com/tc39/proposal-is-error): - Added built-ins: - `Error.isError` - We have no bulletproof way to polyfill this method / check if the object is an error, so it's an enough naive implementation that is marked as `.sham` - [Explicit Resource Management stage 3 proposal](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Updated the way async disposing of only sync disposable resources, [tc39/proposal-explicit-resource-management/218](https://redirect.github.com/tc39/proposal-explicit-resource-management/pull/218) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Reuse `IteratorResult` objects when possible, [tc39/proposal-iterator-sequencing/17](https://redirect.github.com/tc39/proposal-iterator-sequencing/issues/17), [tc39/proposal-iterator-sequencing/18](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/18), December 2024 TC39 meeting - Added a fix of [V8 < 12.8](https://issues.chromium.org/issues/351332634) / [NodeJS < 22.10](https://redirect.github.com/nodejs/node/pull/54883) bug with handling infinite length of set-like objects in `Set` methods - Optimized `DataView.prototype.{ getFloat16, setFloat16 }` performance, [#&elastic#8203;1379](https://redirect.github.com/zloirock/core-js/pull/1379), thanks [**@&elastic#8203;LeviPesin**](https://redirect.github.com/LeviPesin) - Dropped unneeded feature detection of non-standard `%TypedArray%.prototype.toSpliced` - Dropped possible re-usage of some non-standard / early stage features (like `Math.scale`) available on global - Some other minor improvements - Compat data improvements: - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Safari 18.2 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Safari 18.2 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Safari 18.2 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Safari 18.2 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from FF135](https://bugzilla.mozilla.org/show_bug.cgi?id=1934622) - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped [from FF134](https://bugzilla.mozilla.org/show_bug.cgi?id=1918235) - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from FF134 - [`Symbol.dispose`, `Symbol.asyncDispose` and `Iterator.prototype[@&elastic#8203;@&elastic#8203;dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as shipped from FF135 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as shipped from Bun 1.1.43 - Fixed NodeJS version where `URL.parse` was added - 22.1 instead of 22.0 - Added [Deno 2.1](https://redirect.github.com/denoland/deno/releases/tag/v2.1.0) compat data mapping - Added [Rhino 1.8.0](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1\_8\_0\_Release) compat data with significant number of modern features - Added Electron 35 compat data mapping - Updated Opera 115+ compat data mapping - Added Opera Android [86](https://forums.opera.com/topic/75006/opera-for-android-86) and 87 compat data mapping ### [`v3.39.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3390---20241031) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - Changes [v3.38.1...v3.39.0](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers): - Built-ins: - `Iterator` - `Iterator.from` - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - `Iterator.prototype.toArray` - `Iterator.prototype[@&elastic#8203;@&elastic#8203;toStringTag]` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-iterator-helpers/issues/284#event-14549961807) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-promise-try/commit/53d3351687274952b3b88f3ad024d9d68a9c1c93) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Fixed `/actual|full/promise/try` entries for the callback arguments support - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stage 3, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-math-sum/issues/19) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Added built-ins: - `Iterator.concat` - [`Map` upsert stage 2 proposal](https://redirect.github.com/tc39/proposal-upsert): - [Updated to the new API following the October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-upsert/pull/58) - Added built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - [Extractors proposal](https://redirect.github.com/tc39/proposal-extractors) moved to stage 2, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/11bc489049fc5ce59b21e98a670a84f153a29a80) - Usage of `@@&elastic#8203;species` pattern removed from `%TypedArray%` and `ArrayBuffer` methods, [tc39/ecma262/3450](https://redirect.github.com/tc39/ecma262/pull/3450): - Built-ins: - `%TypedArray%.prototype.filter` - `%TypedArray%.prototype.filterReject` - `%TypedArray%.prototype.map` - `%TypedArray%.prototype.slice` - `%TypedArray%.prototype.subarray` - `ArrayBuffer.prototype.slice` - Some other minor improvements - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as [shipped from FF133](https://bugzilla.mozilla.org/show_bug.cgi?id=1917885#c9) - Added [NodeJS 23.0](https://nodejs.org/en/blog/release/v23.0.0) compat data mapping - `self` descriptor [is fixed](https://redirect.github.com/denoland/deno/issues/24683) in Deno 1.46.0 - Added Deno [1.46](https://redirect.github.com/denoland/deno/releases/tag/v1.46.0) and [2.0](https://redirect.github.com/denoland/deno/releases/tag/v2.0.0) compat data mapping - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from Bun 1.1.31](https://redirect.github.com/oven-sh/bun/pull/14455) - Added Electron 34 and updated Electron 33 compat data mapping - Added [Opera Android 85](https://forums.opera.com/topic/74256/opera-for-android-85) compat data mapping - Added Oculus Quest Browser 35 compat data mapping ### [`v3.38.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3381---20240820) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Changes [v3.38.0...v3.38.1](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Fixed some cases of `URLSearchParams` percent decoding, [#&elastic#8203;1357](https://redirect.github.com/zloirock/core-js/issues/1357), [#&elastic#8203;1361](https://redirect.github.com/zloirock/core-js/pull/1361), thanks [**@&elastic#8203;slowcheetah**](https://redirect.github.com/slowcheetah) - Some stylistic changes and minor optimizations - Compat data improvements: - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from FF131](https://bugzilla.mozilla.org/show_bug.cgi?id=1896390) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Bun 1.1.23 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Bun 1.1.22 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Bun 1.1.22 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Bun 1.1.22 - Added [Hermes 0.13](https://redirect.github.com/facebook/hermes/releases/tag/v0.13.0) compat data, similar to React Native 0.75 Hermes - Added [Opera Android 84](https://forums.opera.com/topic/73545/opera-for-android-84) compat data mapping ### [`v3.38.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3380---20240805) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - Changes [v3.37.1...v3.38.0](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stage 3, [June 2024](https://redirect.github.com/tc39/proposals/commit/4b8ee265248abfa2c88ed71b3c541ddd5a2eaffe) and [July 2024](https://redirect.github.com/tc39/proposals/commit/bdb2eea6c5e41a52f2d6047d7de1a31b5d188c4f) TC39 meetings - Updated the way of escaping, [regex-escaping/77](https://redirect.github.com/tc39/proposal-regex-escaping/pull/77) - Throw an error on non-strings, [regex-escaping/58](https://redirect.github.com/tc39/proposal-regex-escaping/pull/58) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Promise.try` proposal](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stage 3, [June 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/de20984cd7f7bc616682c557cb839abc100422cb) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Added `Uint8Array.prototype.{ setFromBase64, setFromHex }` methods - Added `Uint8Array.fromBase64` and `Uint8Array.prototype.setFromBase64` `lastChunkHandling` option, [proposal-arraybuffer-base64/33](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/33) - Added `Uint8Array.prototype.toBase64` `omitPadding` option, [proposal-arraybuffer-base64/60](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/60) - Added throwing a `TypeError` on arrays backed by detached buffers - Unconditional forced replacement changed to feature detection - Fixed `RegExp` named capture groups polyfill in combination with non-capturing groups, [#&elastic#8203;1352](https://redirect.github.com/zloirock/core-js/pull/1352), thanks [**@&elastic#8203;Ulop**](https://redirect.github.com/Ulop) - Improved some cases of environment detection - Uses [`process.getBuiltinModule`](https://nodejs.org/docs/latest/api/process.html#processgetbuiltinmoduleid) for getting built-in NodeJS modules where it's available - Uses `https` instead of `http` in `URL` constructor feature detection to avoid extra notifications from some overly vigilant security scanners, [#&elastic#8203;1345](https://redirect.github.com/zloirock/core-js/issues/1345) - Some minor optimizations - Updated `browserslist` in `core-js-compat` dependencies that fixes an upstream issue with incorrect interpretation of some `browserslist` queries, [#&elastic#8203;1344](https://redirect.github.com/zloirock/core-js/issues/1344), [browserslist/829](https://redirect.github.com/browserslist/browserslist/issues/829), [browserslist/836](https://redirect.github.com/browserslist/browserslist/pull/836) - Compat data improvements: - Added [Safari 18.0](https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/) compat data: - Fixed [`Object.groupBy` and `Map.groupBy`](https://redirect.github.com/tc39/proposal-array-grouping) to [work for non-objects](https://bugs.webkit.org/show_bug.cgi?id=271524) - Fixed [throwing a `RangeError` if `Set` methods are called on an object with negative size property](https://bugs.webkit.org/show_bug.cgi?id=267494) - Fixed [`Set.prototype.symmetricDifference` to call `this.has` in each iteration](https://bugs.webkit.org/show_bug.cgi?id=272679) - Fixed [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) to [not call the `Array` constructor twice](https://bugs.webkit.org/show_bug.cgi?id=271703) - Added [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from FF129](https://bugzilla.mozilla.org/show_bug.cgi?id=1903329) - [`Symbol.asyncDispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 ~ Chromium 127 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) added and marked as supported [from V8 ~ Chromium 128](https://chromestatus.com/feature/6315704705089536) - Added Deno [1.44](https://redirect.github.com/denoland/deno/releases/tag/v1.44.0) and [1.45](https://redirect.github.com/denoland/deno/releases/tag/v1.45.0) compat data mapping - `self` descriptor [is broken in Deno 1.45.3](https://redirect.github.com/denoland/deno/issues/24683) (again) - Added Electron 32 and 33 compat data mapping - Added [Opera Android 83](https://forums.opera.com/topic/72570/opera-for-android-83) compat data mapping - Added Samsung Internet 27 compat data mapping - Added Oculus Quest Browser 34 compat data mapping </details> <details> <summary>MattiasBuelens/web-streams-polyfill (web-streams-polyfill)</summary> ### [`v4.1.0`](https://redirect.github.com/MattiasBuelens/web-streams-polyfill/blob/HEAD/CHANGELOG.md#410-2025-01-05) [Compare Source](https://redirect.github.com/MattiasBuelens/web-streams-polyfill/compare/v4.0.0...v4.1.0) - 👓 Align with [spec version `fa4891a`](https://redirect.github.com/whatwg/streams/tree/fa4891a35ff05281ff8ed66f8ad447644ea7cec3/) ([#&elastic#8203;156](https://redirect.github.com/MattiasBuelens/web-streams-polyfill/pull/156)) - Commit pull-into descriptors *after* filling them from the internal queue. This prevents an issue where an incorrect BYOB request would temporarily be visible through a patched `Object.prototype.then`, which broke some internal invariants. - The `next()` and `return()` methods of `ReadableStream`'s async iterator are now correctly "chained", such that the promises returned by *either* of these methods are always resolved in the same order as those methods were called. - 💅 Improve type of `WritableStreamDefaultController.signal`. ([#&elastic#8203;157](https://redirect.github.com/MattiasBuelens/web-streams-polyfill/pull/157)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOk9wZXJhdGlvbnMiLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==--> --------- Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Co-authored-by: Brad White <[email protected]> Co-authored-by: Brad White <[email protected]>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [blob-polyfill](https://redirect.github.com/bjornstar/blob-polyfill) | devDependencies | major | [`^7.0.20220408` -> `^9.0.20240710`](https://renovatebot.com/diffs/npm/blob-polyfill/7.0.20220408/9.0.20240710) | | [core-js](https://redirect.github.com/zloirock/core-js) ([source](https://redirect.github.com/zloirock/core-js/tree/HEAD/packages/core-js)) | dependencies | minor | [`^3.37.1` -> `^3.42.0`](https://renovatebot.com/diffs/npm/core-js/3.37.1/3.42.0) | | [web-streams-polyfill](https://redirect.github.com/MattiasBuelens/web-streams-polyfill) | devDependencies | minor | [`^4.0.0` -> `^4.1.0`](https://renovatebot.com/diffs/npm/web-streams-polyfill/4.0.0/4.1.0) | --- ### Release Notes <details> <summary>bjornstar/blob-polyfill (blob-polyfill)</summary> ### [`v9.0.20240710`](https://redirect.github.com/bjornstar/blob-polyfill/blob/HEAD/CHANGELOG.md#v9020240710) [Compare Source](https://redirect.github.com/bjornstar/blob-polyfill/compare/v8.0.20240630...v9.0.20240710) - \[Blob.js] Use exported FileReader ([@&elastic#8203;luke-stead-sonocent](https://redirect.github.com/luke-stead-sonocent)) - \[test] Test is now a module ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[README.md] Add badge for `master` branch build status ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[package.json] Update devDependencies: `@sindresorhus/is`, `eslint`, & `mocha` ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[bower.json] Match current version ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[.eslintrc.js] Change to `eslint.config.mjs` for eslint@9 ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) ### [`v8.0.20240630`](https://redirect.github.com/bjornstar/blob-polyfill/blob/HEAD/CHANGELOG.md#v8020240630) [Compare Source](https://redirect.github.com/bjornstar/blob-polyfill/compare/v7.0.20220408...v8.0.20240630) - \[Blob.js] Change Blob.prototype to global.Blob.prototype ([@&elastic#8203;tmisirpash](https://redirect.github.com/tmisirpash)) - \[Blob.js] Make it work in environments where global.Blob exists, but global.FileReader does not ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[Blob.js] Add `isPolyfill` property to the polyfilled versions so we can differentiate them ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[test] Unskip tests and update to work in environments with global.Blob & global.File & global.URL ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) - \[.github] Update action versions and test node v12-v22 ([@&elastic#8203;bjornstar](https://redirect.github.com/bjornstar)) </details> <details> <summary>zloirock/core-js (core-js)</summary> ### [`v3.42.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3420---20250430) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) - Changes [v3.41.0...v3.42.0](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) (142 commits) - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Moved to stage 2.7, [April 2025 TC39 meeting](https://x.com/robpalmer2/status/1911882240109261148) - Validation order of `WeakMap.prototype.getOrInsertComputed` updated following [tc39/proposal-upsert#79](https://redirect.github.com/tc39/proposal-upsert/pull/79) - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Don't call well-known `Symbol` methods for `RegExp` on primitive values following [tc39/ecma262#3009](https://redirect.github.com/tc39/ecma262/pull/3009): - For avoid performance regression, temporarily, only in own `core-js` implementations - Built-ins: - `String.prototype.matchAll` - `String.prototype.match` - `String.prototype.replaceAll` - `String.prototype.replace` - `String.prototype.search` - `String.prototype.split` - Added workaround for the [`Uint8Array.prototype.setFromBase64`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) [bug](https://bugs.webkit.org/show_bug.cgi?id=290829) in some of Linux builds of WebKit - Implemented early-error iterator closing following [tc39/ecma262#3467](https://redirect.github.com/tc39/ecma262/pull/3467), including fix of [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291195), in the following methods: - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - Fixed missing forced replacement of [`AsyncIterator` helpers](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added closing of sync iterator when async wrapper yields a rejection following [tc39/ecma262#2600](https://redirect.github.com/tc39/ecma262/pull/2600). Affected methods: - [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) (due to the lack of async feature detection capability - temporarily, only in own `core-js` implementation) - [`AsyncIterator.from`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - [`Iterator.prototype.toAsync`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added detection for throwing on `undefined` initial parameter in `Iterator.prototype.reduce` (see [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291651)) - `core-js-compat` and `core-js-builder` API: - Added `'intersect'` support for `targets.esmodules` (Babel 7 behavior) - Fixed handling of `targets.esmodules: true` (Babel 7 behavior) - Compat data improvements: - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features disabled (again) in V8 ~ Chromium 135 and re-added in 136 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as [shipped from V8 ~ Chromium 136](https://issues.chromium.org/issues/353856236#comment17) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked as [shipped from FF138](https://bugzilla.mozilla.org/show_bug.cgi?id=1952249) - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features re-enabled in [Deno 2.2.10](https://redirect.github.com/denoland/deno/releases/tag/v2.2.10) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as supported from Deno 1.38.1 since it seems they were disabled in 1.38.0 - `Iterator.prototype.{ drop, reduce, take }` methods marked as fixed in Bun 1.2.11 - Added [NodeJS 24.0](https://redirect.github.com/nodejs/node/pull/57609) compat data mapping - Updated Electron 36 and added Electron 37 compat data mapping - Added Opera Android [88](https://forums.opera.com/topic/83800/opera-for-android-88) and [89](https://forums.opera.com/topic/84437/opera-for-android-89) compat data mapping - Added Oculus Quest Browser 37 compat data mapping ### [`v3.41.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3410---20250301) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) - Changes [v3.40.0...v3.41.0](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) (85 commits) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Float16` proposal](https://redirect.github.com/tc39/proposal-float16array): - Built-ins: - `Math.f16round` - `DataView.prototype.getFloat16` - `DataView.prototype.setFloat16` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Math.clamp` stage 1 proposal](https://redirect.github.com/CanadaHonk/proposal-math-clamp): - Built-ins: - `Math.clamp` - Extracted from [old `Math` extensions proposal](https://redirect.github.com/rwaldron/proposal-math-extensions), [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/0c24594aab19a50b86d0db7248cac5eb0ae35621) - Added arguments validation - Added new entries - Added a workaround of a V8 `AsyncDisposableStack` bug, [tc39/proposal-explicit-resource-management/256](https://redirect.github.com/tc39/proposal-explicit-resource-management/issues/256) - Compat data improvements: - [`DisposableStack`, `SuppressedError` and `Iterator.prototype[@&elastic#8203;@&elastic#8203;dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/42203506#comment24) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) added and marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/382104870#comment4) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from V8 ~ Chromium 135](https://issues.chromium.org/issues/42203953#comment36) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18\_4-release-notes#New-Features) - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18\_4-release-notes#New-Features) - [`Math.sumPrecise`](https://redirect.github.com/tc39/proposal-math-sum) marked as shipped from FF137 - Added [Deno 2.2](https://redirect.github.com/denoland/deno/releases/tag/v2.2.0) compat data and compat data mapping - Explicit Resource Management features are available in V8 ~ Chromium 134, but not in Deno 2.2 based on it - Updated Electron 35 and added Electron 36 compat data mapping - Updated [Opera Android 87](https://forums.opera.com/topic/75836/opera-for-android-87) compat data mapping - Added Samsung Internet 28 compat data mapping - Added Oculus Quest Browser 36 compat data mapping ### [`v3.40.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3400---20250108) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) - Changes [v3.39.0...v3.40.0](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) (130 commits) - Added [`Error.isError` stage 3 proposal](https://redirect.github.com/tc39/proposal-is-error): - Added built-ins: - `Error.isError` - We have no bulletproof way to polyfill this method / check if the object is an error, so it's an enough naive implementation that is marked as `.sham` - [Explicit Resource Management stage 3 proposal](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Updated the way async disposing of only sync disposable resources, [tc39/proposal-explicit-resource-management/218](https://redirect.github.com/tc39/proposal-explicit-resource-management/pull/218) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Reuse `IteratorResult` objects when possible, [tc39/proposal-iterator-sequencing/17](https://redirect.github.com/tc39/proposal-iterator-sequencing/issues/17), [tc39/proposal-iterator-sequencing/18](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/18), December 2024 TC39 meeting - Added a fix of [V8 < 12.8](https://issues.chromium.org/issues/351332634) / [NodeJS < 22.10](https://redirect.github.com/nodejs/node/pull/54883) bug with handling infinite length of set-like objects in `Set` methods - Optimized `DataView.prototype.{ getFloat16, setFloat16 }` performance, [#&elastic#8203;1379](https://redirect.github.com/zloirock/core-js/pull/1379), thanks [**@&elastic#8203;LeviPesin**](https://redirect.github.com/LeviPesin) - Dropped unneeded feature detection of non-standard `%TypedArray%.prototype.toSpliced` - Dropped possible re-usage of some non-standard / early stage features (like `Math.scale`) available on global - Some other minor improvements - Compat data improvements: - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Safari 18.2 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Safari 18.2 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Safari 18.2 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Safari 18.2 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from FF135](https://bugzilla.mozilla.org/show_bug.cgi?id=1934622) - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped [from FF134](https://bugzilla.mozilla.org/show_bug.cgi?id=1918235) - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from FF134 - [`Symbol.dispose`, `Symbol.asyncDispose` and `Iterator.prototype[@&elastic#8203;@&elastic#8203;dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as shipped from FF135 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as shipped from Bun 1.1.43 - Fixed NodeJS version where `URL.parse` was added - 22.1 instead of 22.0 - Added [Deno 2.1](https://redirect.github.com/denoland/deno/releases/tag/v2.1.0) compat data mapping - Added [Rhino 1.8.0](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1\_8\_0\_Release) compat data with significant number of modern features - Added Electron 35 compat data mapping - Updated Opera 115+ compat data mapping - Added Opera Android [86](https://forums.opera.com/topic/75006/opera-for-android-86) and 87 compat data mapping ### [`v3.39.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3390---20241031) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - Changes [v3.38.1...v3.39.0](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers): - Built-ins: - `Iterator` - `Iterator.from` - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - `Iterator.prototype.toArray` - `Iterator.prototype[@&elastic#8203;@&elastic#8203;toStringTag]` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-iterator-helpers/issues/284#event-14549961807) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-promise-try/commit/53d3351687274952b3b88f3ad024d9d68a9c1c93) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Fixed `/actual|full/promise/try` entries for the callback arguments support - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stage 3, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-math-sum/issues/19) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Added built-ins: - `Iterator.concat` - [`Map` upsert stage 2 proposal](https://redirect.github.com/tc39/proposal-upsert): - [Updated to the new API following the October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-upsert/pull/58) - Added built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - [Extractors proposal](https://redirect.github.com/tc39/proposal-extractors) moved to stage 2, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/11bc489049fc5ce59b21e98a670a84f153a29a80) - Usage of `@@&elastic#8203;species` pattern removed from `%TypedArray%` and `ArrayBuffer` methods, [tc39/ecma262/3450](https://redirect.github.com/tc39/ecma262/pull/3450): - Built-ins: - `%TypedArray%.prototype.filter` - `%TypedArray%.prototype.filterReject` - `%TypedArray%.prototype.map` - `%TypedArray%.prototype.slice` - `%TypedArray%.prototype.subarray` - `ArrayBuffer.prototype.slice` - Some other minor improvements - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as [shipped from FF133](https://bugzilla.mozilla.org/show_bug.cgi?id=1917885#c9) - Added [NodeJS 23.0](https://nodejs.org/en/blog/release/v23.0.0) compat data mapping - `self` descriptor [is fixed](https://redirect.github.com/denoland/deno/issues/24683) in Deno 1.46.0 - Added Deno [1.46](https://redirect.github.com/denoland/deno/releases/tag/v1.46.0) and [2.0](https://redirect.github.com/denoland/deno/releases/tag/v2.0.0) compat data mapping - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from Bun 1.1.31](https://redirect.github.com/oven-sh/bun/pull/14455) - Added Electron 34 and updated Electron 33 compat data mapping - Added [Opera Android 85](https://forums.opera.com/topic/74256/opera-for-android-85) compat data mapping - Added Oculus Quest Browser 35 compat data mapping ### [`v3.38.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3381---20240820) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Changes [v3.38.0...v3.38.1](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Fixed some cases of `URLSearchParams` percent decoding, [#&elastic#8203;1357](https://redirect.github.com/zloirock/core-js/issues/1357), [#&elastic#8203;1361](https://redirect.github.com/zloirock/core-js/pull/1361), thanks [**@&elastic#8203;slowcheetah**](https://redirect.github.com/slowcheetah) - Some stylistic changes and minor optimizations - Compat data improvements: - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from FF131](https://bugzilla.mozilla.org/show_bug.cgi?id=1896390) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Bun 1.1.23 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Bun 1.1.22 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Bun 1.1.22 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Bun 1.1.22 - Added [Hermes 0.13](https://redirect.github.com/facebook/hermes/releases/tag/v0.13.0) compat data, similar to React Native 0.75 Hermes - Added [Opera Android 84](https://forums.opera.com/topic/73545/opera-for-android-84) compat data mapping ### [`v3.38.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3380---20240805) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - Changes [v3.37.1...v3.38.0](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stage 3, [June 2024](https://redirect.github.com/tc39/proposals/commit/4b8ee265248abfa2c88ed71b3c541ddd5a2eaffe) and [July 2024](https://redirect.github.com/tc39/proposals/commit/bdb2eea6c5e41a52f2d6047d7de1a31b5d188c4f) TC39 meetings - Updated the way of escaping, [regex-escaping/77](https://redirect.github.com/tc39/proposal-regex-escaping/pull/77) - Throw an error on non-strings, [regex-escaping/58](https://redirect.github.com/tc39/proposal-regex-escaping/pull/58) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Promise.try` proposal](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stage 3, [June 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/de20984cd7f7bc616682c557cb839abc100422cb) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Added `Uint8Array.prototype.{ setFromBase64, setFromHex }` methods - Added `Uint8Array.fromBase64` and `Uint8Array.prototype.setFromBase64` `lastChunkHandling` option, [proposal-arraybuffer-base64/33](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/33) - Added `Uint8Array.prototype.toBase64` `omitPadding` option, [proposal-arraybuffer-base64/60](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/60) - Added throwing a `TypeError` on arrays backed by detached buffers - Unconditional forced replacement changed to feature detection - Fixed `RegExp` named capture groups polyfill in combination with non-capturing groups, [#&elastic#8203;1352](https://redirect.github.com/zloirock/core-js/pull/1352), thanks [**@&elastic#8203;Ulop**](https://redirect.github.com/Ulop) - Improved some cases of environment detection - Uses [`process.getBuiltinModule`](https://nodejs.org/docs/latest/api/process.html#processgetbuiltinmoduleid) for getting built-in NodeJS modules where it's available - Uses `https` instead of `http` in `URL` constructor feature detection to avoid extra notifications from some overly vigilant security scanners, [#&elastic#8203;1345](https://redirect.github.com/zloirock/core-js/issues/1345) - Some minor optimizations - Updated `browserslist` in `core-js-compat` dependencies that fixes an upstream issue with incorrect interpretation of some `browserslist` queries, [#&elastic#8203;1344](https://redirect.github.com/zloirock/core-js/issues/1344), [browserslist/829](https://redirect.github.com/browserslist/browserslist/issues/829), [browserslist/836](https://redirect.github.com/browserslist/browserslist/pull/836) - Compat data improvements: - Added [Safari 18.0](https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/) compat data: - Fixed [`Object.groupBy` and `Map.groupBy`](https://redirect.github.com/tc39/proposal-array-grouping) to [work for non-objects](https://bugs.webkit.org/show_bug.cgi?id=271524) - Fixed [throwing a `RangeError` if `Set` methods are called on an object with negative size property](https://bugs.webkit.org/show_bug.cgi?id=267494) - Fixed [`Set.prototype.symmetricDifference` to call `this.has` in each iteration](https://bugs.webkit.org/show_bug.cgi?id=272679) - Fixed [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) to [not call the `Array` constructor twice](https://bugs.webkit.org/show_bug.cgi?id=271703) - Added [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from FF129](https://bugzilla.mozilla.org/show_bug.cgi?id=1903329) - [`Symbol.asyncDispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 ~ Chromium 127 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) added and marked as supported [from V8 ~ Chromium 128](https://chromestatus.com/feature/6315704705089536) - Added Deno [1.44](https://redirect.github.com/denoland/deno/releases/tag/v1.44.0) and [1.45](https://redirect.github.com/denoland/deno/releases/tag/v1.45.0) compat data mapping - `self` descriptor [is broken in Deno 1.45.3](https://redirect.github.com/denoland/deno/issues/24683) (again) - Added Electron 32 and 33 compat data mapping - Added [Opera Android 83](https://forums.opera.com/topic/72570/opera-for-android-83) compat data mapping - Added Samsung Internet 27 compat data mapping - Added Oculus Quest Browser 34 compat data mapping </details> <details> <summary>MattiasBuelens/web-streams-polyfill (web-streams-polyfill)</summary> ### [`v4.1.0`](https://redirect.github.com/MattiasBuelens/web-streams-polyfill/blob/HEAD/CHANGELOG.md#410-2025-01-05) [Compare Source](https://redirect.github.com/MattiasBuelens/web-streams-polyfill/compare/v4.0.0...v4.1.0) - 👓 Align with [spec version `fa4891a`](https://redirect.github.com/whatwg/streams/tree/fa4891a35ff05281ff8ed66f8ad447644ea7cec3/) ([#&elastic#8203;156](https://redirect.github.com/MattiasBuelens/web-streams-polyfill/pull/156)) - Commit pull-into descriptors *after* filling them from the internal queue. This prevents an issue where an incorrect BYOB request would temporarily be visible through a patched `Object.prototype.then`, which broke some internal invariants. - The `next()` and `return()` methods of `ReadableStream`'s async iterator are now correctly "chained", such that the promises returned by *either* of these methods are always resolved in the same order as those methods were called. - 💅 Improve type of `WritableStreamDefaultController.signal`. ([#&elastic#8203;157](https://redirect.github.com/MattiasBuelens/web-streams-polyfill/pull/157)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOk9wZXJhdGlvbnMiLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==--> --------- Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Co-authored-by: Brad White <[email protected]> Co-authored-by: Brad White <[email protected]>
Normative PR: tc39/ecma262#3009 (unmerged as of this commit) There are a few test262 tests for this, see https://test262.fyi/#built-ins/String/prototype JSC and Rhino have have already added these changes.
Normative PR: tc39/ecma262#3009 (unmerged as of this commit) There are a few test262 tests for this, see https://test262.fyi/#built-ins/String/prototype JSC and Rhino have have already added these changes.
Normative PR: tc39/ecma262#3009 (unmerged as of this commit) There are a few test262 tests for this, see https://test262.fyi/#built-ins/String/prototype JSC and Rhino have have already added these changes.
…e values (#201) ## Summary Implement the normative change in tc39/ecma262#3009 where well-known Symbol methods for RegExps are no longer called on primitive values in `String.prototype.{match, matchAll, replace, replaceAll, search, split}`. These methods now verify that the target value is a object before looking for methods instead of just checking that the target value is non-nullish. ## Tests test262 tests for this case now pass.
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [core-js](https://redirect.github.com/zloirock/core-js) ([source](https://redirect.github.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.43.0` -> `3.44.0`](https://renovatebot.com/diffs/npm/core-js/3.37.0/3.44.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>zloirock/core-js (core-js)</summary> ### [`v3.44.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3440---20250707) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.43.0...v3.44.0) - Changes [v3.43.0...v3.44.0](https://redirect.github.com/zloirock/core-js/compare/v3.43.0...v3.44.0) (87 commits) - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Fixed [several V8 bugs](https://redirect.github.com/zloirock/core-js/issues/1439) in `Uint8Array.fromHex` and `Uint8Array.prototype.{ setFromBase64, toBase64, toHex }`, thanks [**@​brc-dd**](https://redirect.github.com/brc-dd) - [Joint iteration stage 2.7 proposal](https://redirect.github.com/tc39/proposal-joint-iteration): - Uses `Get` in `Iterator.zipKeyed`, following [tc39/proposal-joint-iteration#43](https://redirect.github.com/tc39/proposal-joint-iteration/pull/43) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - `Iterator.concat` no longer reuses `IteratorResult` object of concatenated iterators, following [tc39/proposal-iterator-sequencing#26](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/26) - [`Iterator` chunking stage 2 proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.sliding` - [`Number.prototype.clamp` stage 2 proposal](https://redirect.github.com/tc39/proposal-math-clamp): - `clamp` no longer throws an error on `NaN` as `min` or `max`, following [tc39/proposal-math-clamp#d2387791c265edf66fbe2455eab919016717ce6f](https://redirect.github.com/tc39/proposal-math-clamp/commit/d2387791c265edf66fbe2455eab919016717ce6f) - Fixed some cases of `Set.prototype.{ symmetricDifference, union }` detection - Added missing dependencies to some entries of static `Iterator` methods - Added missing `/full/{ instance, number/virtual }/clamp` entries - Some minor stylistic changes - Compat data improvements: - Added Electron 38 and 39 compat data mapping - Added Oculus Quest Browser 38 and 39 compat data mapping - `Iterator` helpers marked as fixed and updated following the latest spec changes in Safari 26.0 - `Set.prototype.{ difference, symmetricDifference, union }` marked as fixed in Safari 26.0 - `SuppressedError` marked [as fixed](https://bugzilla.mozilla.org/show_bug.cgi?id=1971000) in FF141 - `Error.isError` marked [as fixed](https://redirect.github.com/nodejs/node/pull/58691) in Node 24.3 - `setImmediate` and `clearImmediate` marked as available [from Deno 2.4](https://redirect.github.com/denoland/deno/pull/29877) - `Math.sumPrecise` marked as [shipped in Bun 1.2.18](https://redirect.github.com/oven-sh/bun/pull/20569) - `%TypedArray%.prototype.with` marked as fixed in Bun 1.2.18 ### [`v3.43.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3430---20250609) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) - Changes [v3.42.0...v3.43.0](https://redirect.github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) (139 commits) - [Explicit Resource Management proposals](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Built-ins: - `Symbol.dispose` - `Symbol.asyncDispose` - `SuppressedError` - `DisposableStack` - `DisposableStack.prototype.dispose` - `DisposableStack.prototype.use` - `DisposableStack.prototype.adopt` - `DisposableStack.prototype.defer` - `DisposableStack.prototype.move` - `DisposableStack.prototype[@​@​dispose]` - `AsyncDisposableStack` - `AsyncDisposableStack.prototype.disposeAsync` - `AsyncDisposableStack.prototype.use` - `AsyncDisposableStack.prototype.adopt` - `AsyncDisposableStack.prototype.defer` - `AsyncDisposableStack.prototype.move` - `AsyncDisposableStack.prototype[@​@​asyncDispose]` - `Iterator.prototype[@​@​dispose]` - `AsyncIterator.prototype[@​@​asyncDispose]` - Moved to stable ES, [May 2025 TC39 meeting](https://x.com/robpalmer2/status/1927744934343213085) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Array.fromAsync` proposal](https://redirect.github.com/tc39/proposal-array-from-async): - Built-ins: - `Array.fromAsync` - Moved to stable ES, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposal-array-from-async/issues/14#issuecomment-2916645435) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Error.isError` proposal](https://redirect.github.com/tc39/proposal-is-error): - Built-ins: - `Error.isError` - Moved to stable ES, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/a5d4bb99d79f328533d0c36b0cd20597fa12c7a8) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Added [Joint iteration stage 2.7 proposal](https://redirect.github.com/tc39/proposal-joint-iteration): - Added built-ins: - `Iterator.zip` - `Iterator.zipKeyed` - Added [`Iterator` chunking stage 2 proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.chunks` - `Iterator.prototype.windows` - [`Number.prototype.clamp` proposal](https://redirect.github.com/tc39/proposal-math-clamp): - Built-ins: - `Number.prototype.clamp` - Moved to stage 2, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposal-math-clamp/commit/a005f28a6a03e175b9671de1c8c70dd5b7b08c2d) - `Math.clamp` was replaced with `Number.prototype.clamp` - Removed a `RangeError` if `min <= max` or `+0` min and `-0` max, [tc39/proposal-math-clamp/#​22](https://redirect.github.com/tc39/proposal-math-clamp/issues/22) - Always check regular expression flags by `flags` getter [PR](https://redirect.github.com/tc39/ecma262/pull/2791). Native methods are not fixed, only own implementation updated for: - `RegExp.prototype[@​@​match]` - `RegExp.prototype[@​@​replace]` - Improved handling of `RegExp` flags in polyfills of some methods in engines without proper support of `RegExp.prototype.flags` and without polyfill of this getter - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=288595) that occurs when `this` is updated while `Set.prototype.difference` is being executed - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=289430) that occurs when iterator record of a set-like object isn't called before cloning `this` in the following methods: - `Set.prototype.symmetricDifference` - `Set.prototype.union` - Added feature detection for [a bug](https://issues.chromium.org/issues/336839115) in V8 ~ Chromium < 126. Following methods should throw an error on invalid iterator: - `Iterator.prototype.drop` - `Iterator.prototype.filter` - `Iterator.prototype.flatMap` - `Iterator.prototype.map` - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=288714): incorrect exception thrown by `Iterator.from` when underlying iterator's `return` method is `null` - Added feature detection for a FF bug: incorrect exception thrown by `Array.prototype.with` when index coercion fails - Added feature detection for a WebKit bug: `TypedArray.prototype.with` should truncate negative fractional index to zero, but instead throws an error - Worked around a bug of many different tools ([example](https://redirect.github.com/zloirock/core-js/pull/1368#issuecomment-2908034690)) with incorrect transforming and breaking JS syntax on getting a method from a number literal - Fixed deoptimization of the `Promise` polyfill in the pure version - Added some missed dependencies to `/iterator/flat-map` entries - Some other minor fixes and improvements - Compat data improvements: - Added [Deno 2.3](https://redirect.github.com/denoland/deno/releases/tag/v2.3.0) and [Deno 2.3.2](https://redirect.github.com/denoland/deno/releases/tag/v2.3.2) compat data mapping - Updated Electron 37 compat data mapping - Added Opera Android 90 compat data mapping - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked not supported in Node because of [a bug](https://redirect.github.com/nodejs/node/issues/56497) - `Set.prototype.difference` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=288595) - `Set.prototype.{ symmetricDifference, union }` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=289430) - `Iterator.from` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=288714) - Iterators closing on early errors in `Iterator` helpers marked as implemented from FF141 - `Array.prototype.with` marked as supported only from FF140 because it throws an incorrect exception when index coercion fails - `TypedArray.prototype.with` marked as unsupported in Bun and Safari because it should truncate negative fractional index to zero, but instead throws an error - `DisposableStack` and `AsyncDisposableStack` marked as [shipped in FF141](https://bugzilla.mozilla.org/show_bug.cgi?id=1967744) (`SuppressedError` has [a bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1971000)) - `AsyncDisposableStack` bugs marked as fixed in Deno 2.3.2 - `SuppressedError` bugs ([extra arguments support](https://redirect.github.com/oven-sh/bun/issues/9283) and [arity](https://redirect.github.com/oven-sh/bun/issues/9282)) marked as fixed in Bun 1.2.15 ### [`v3.42.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3420---20250430) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) - Changes [v3.41.0...v3.42.0](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) (142 commits) - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Moved to stage 2.7, [April 2025 TC39 meeting](https://x.com/robpalmer2/status/1911882240109261148) - Validation order of `WeakMap.prototype.getOrInsertComputed` updated following [tc39/proposal-upsert#79](https://redirect.github.com/tc39/proposal-upsert/pull/79) - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Don't call well-known `Symbol` methods for `RegExp` on primitive values following [tc39/ecma262#3009](https://redirect.github.com/tc39/ecma262/pull/3009): - For avoid performance regression, temporarily, only in own `core-js` implementations - Built-ins: - `String.prototype.matchAll` - `String.prototype.match` - `String.prototype.replaceAll` - `String.prototype.replace` - `String.prototype.search` - `String.prototype.split` - Added workaround for the [`Uint8Array.prototype.setFromBase64`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) [bug](https://bugs.webkit.org/show_bug.cgi?id=290829) in some of Linux builds of WebKit - Implemented early-error iterator closing following [tc39/ecma262#3467](https://redirect.github.com/tc39/ecma262/pull/3467), including fix of [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291195), in the following methods: - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - Fixed missing forced replacement of [`AsyncIterator` helpers](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added closing of sync iterator when async wrapper yields a rejection following [tc39/ecma262#2600](https://redirect.github.com/tc39/ecma262/pull/2600). Affected methods: - [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) (due to the lack of async feature detection capability - temporarily, only in own `core-js` implementation) - [`AsyncIterator.from`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - [`Iterator.prototype.toAsync`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added detection for throwing on `undefined` initial parameter in `Iterator.prototype.reduce` (see [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291651)) - `core-js-compat` and `core-js-builder` API: - Added `'intersect'` support for `targets.esmodules` (Babel 7 behavior) - Fixed handling of `targets.esmodules: true` (Babel 7 behavior) - Compat data improvements: - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features disabled (again) in V8 ~ Chromium 135 and re-added in 136 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as [shipped from V8 ~ Chromium 136](https://issues.chromium.org/issues/353856236#comment17) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked as [shipped from FF138](https://bugzilla.mozilla.org/show_bug.cgi?id=1952249) - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features re-enabled in [Deno 2.2.10](https://redirect.github.com/denoland/deno/releases/tag/v2.2.10) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as supported from Deno 1.38.1 since it seems they were disabled in 1.38.0 - `Iterator.prototype.{ drop, reduce, take }` methods marked as fixed in Bun 1.2.11 - Added [NodeJS 24.0](https://redirect.github.com/nodejs/node/pull/57609) compat data mapping - Updated Electron 36 and added Electron 37 compat data mapping - Added Opera Android [88](https://forums.opera.com/topic/83800/opera-for-android-88) and [89](https://forums.opera.com/topic/84437/opera-for-android-89) compat data mapping - Added Oculus Quest Browser 37 compat data mapping ### [`v3.41.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3410---20250301) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) - Changes [v3.40.0...v3.41.0](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) (85 commits) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Float16` proposal](https://redirect.github.com/tc39/proposal-float16array): - Built-ins: - `Math.f16round` - `DataView.prototype.getFloat16` - `DataView.prototype.setFloat16` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Math.clamp` stage 1 proposal](https://redirect.github.com/CanadaHonk/proposal-math-clamp): - Built-ins: - `Math.clamp` - Extracted from [old `Math` extensions proposal](https://redirect.github.com/rwaldron/proposal-math-extensions), [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/0c24594aab19a50b86d0db7248cac5eb0ae35621) - Added arguments validation - Added new entries - Added a workaround of a V8 `AsyncDisposableStack` bug, [tc39/proposal-explicit-resource-management/256](https://redirect.github.com/tc39/proposal-explicit-resource-management/issues/256) - Compat data improvements: - [`DisposableStack`, `SuppressedError` and `Iterator.prototype[@​@​dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/42203506#comment24) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) added and marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/382104870#comment4) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from V8 ~ Chromium 135](https://issues.chromium.org/issues/42203953#comment36) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18_4-release-notes#New-Features) - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18_4-release-notes#New-Features) - [`Math.sumPrecise`](https://redirect.github.com/tc39/proposal-math-sum) marked as shipped from FF137 - Added [Deno 2.2](https://redirect.github.com/denoland/deno/releases/tag/v2.2.0) compat data and compat data mapping - Explicit Resource Management features are available in V8 ~ Chromium 134, but not in Deno 2.2 based on it - Updated Electron 35 and added Electron 36 compat data mapping - Updated [Opera Android 87](https://forums.opera.com/topic/75836/opera-for-android-87) compat data mapping - Added Samsung Internet 28 compat data mapping - Added Oculus Quest Browser 36 compat data mapping ### [`v3.40.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3400---20250108) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) - Changes [v3.39.0...v3.40.0](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) (130 commits) - Added [`Error.isError` stage 3 proposal](https://redirect.github.com/tc39/proposal-is-error): - Added built-ins: - `Error.isError` - We have no bulletproof way to polyfill this method / check if the object is an error, so it's an enough naive implementation that is marked as `.sham` - [Explicit Resource Management stage 3 proposal](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Updated the way async disposing of only sync disposable resources, [tc39/proposal-explicit-resource-management/218](https://redirect.github.com/tc39/proposal-explicit-resource-management/pull/218) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Reuse `IteratorResult` objects when possible, [tc39/proposal-iterator-sequencing/17](https://redirect.github.com/tc39/proposal-iterator-sequencing/issues/17), [tc39/proposal-iterator-sequencing/18](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/18), December 2024 TC39 meeting - Added a fix of [V8 < 12.8](https://issues.chromium.org/issues/351332634) / [NodeJS < 22.10](https://redirect.github.com/nodejs/node/pull/54883) bug with handling infinite length of set-like objects in `Set` methods - Optimized `DataView.prototype.{ getFloat16, setFloat16 }` performance, [#​1379](https://redirect.github.com/zloirock/core-js/pull/1379), thanks [**@​LeviPesin**](https://redirect.github.com/LeviPesin) - Dropped unneeded feature detection of non-standard `%TypedArray%.prototype.toSpliced` - Dropped possible re-usage of some non-standard / early stage features (like `Math.scale`) available on global - Some other minor improvements - Compat data improvements: - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Safari 18.2 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Safari 18.2 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Safari 18.2 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Safari 18.2 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from FF135](https://bugzilla.mozilla.org/show_bug.cgi?id=1934622) - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped [from FF134](https://bugzilla.mozilla.org/show_bug.cgi?id=1918235) - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from FF134 - [`Symbol.dispose`, `Symbol.asyncDispose` and `Iterator.prototype[@​@​dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as shipped from FF135 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as shipped from Bun 1.1.43 - Fixed NodeJS version where `URL.parse` was added - 22.1 instead of 22.0 - Added [Deno 2.1](https://redirect.github.com/denoland/deno/releases/tag/v2.1.0) compat data mapping - Added [Rhino 1.8.0](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1_8_0_Release) compat data with significant number of modern features - Added Electron 35 compat data mapping - Updated Opera 115+ compat data mapping - Added Opera Android [86](https://forums.opera.com/topic/75006/opera-for-android-86) and 87 compat data mapping ### [`v3.39.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3390---20241031) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - Changes [v3.38.1...v3.39.0](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers): - Built-ins: - `Iterator` - `Iterator.from` - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - `Iterator.prototype.toArray` - `Iterator.prototype[@​@​toStringTag]` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-iterator-helpers/issues/284#event-14549961807) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-promise-try/commit/53d3351687274952b3b88f3ad024d9d68a9c1c93) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Fixed `/actual|full/promise/try` entries for the callback arguments support - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stage 3, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-math-sum/issues/19) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Added built-ins: - `Iterator.concat` - [`Map` upsert stage 2 proposal](https://redirect.github.com/tc39/proposal-upsert): - [Updated to the new API following the October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-upsert/pull/58) - Added built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - [Extractors proposal](https://redirect.github.com/tc39/proposal-extractors) moved to stage 2, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/11bc489049fc5ce59b21e98a670a84f153a29a80) - Usage of `@@​species` pattern removed from `%TypedArray%` and `ArrayBuffer` methods, [tc39/ecma262/3450](https://redirect.github.com/tc39/ecma262/pull/3450): - Built-ins: - `%TypedArray%.prototype.filter` - `%TypedArray%.prototype.filterReject` - `%TypedArray%.prototype.map` - `%TypedArray%.prototype.slice` - `%TypedArray%.prototype.subarray` - `ArrayBuffer.prototype.slice` - Some other minor improvements - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as [shipped from FF133](https://bugzilla.mozilla.org/show_bug.cgi?id=1917885#c9) - Added [NodeJS 23.0](https://nodejs.org/en/blog/release/v23.0.0) compat data mapping - `self` descriptor [is fixed](https://redirect.github.com/denoland/deno/issues/24683) in Deno 1.46.0 - Added Deno [1.46](https://redirect.github.com/denoland/deno/releases/tag/v1.46.0) and [2.0](https://redirect.github.com/denoland/deno/releases/tag/v2.0.0) compat data mapping - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from Bun 1.1.31](https://redirect.github.com/oven-sh/bun/pull/14455) - Added Electron 34 and updated Electron 33 compat data mapping - Added [Opera Android 85](https://forums.opera.com/topic/74256/opera-for-android-85) compat data mapping - Added Oculus Quest Browser 35 compat data mapping ### [`v3.38.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3381---20240820) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Changes [v3.38.0...v3.38.1](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Fixed some cases of `URLSearchParams` percent decoding, [#​1357](https://redirect.github.com/zloirock/core-js/issues/1357), [#​1361](https://redirect.github.com/zloirock/core-js/pull/1361), thanks [**@​slowcheetah**](https://redirect.github.com/slowcheetah) - Some stylistic changes and minor optimizations - Compat data improvements: - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from FF131](https://bugzilla.mozilla.org/show_bug.cgi?id=1896390) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Bun 1.1.23 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Bun 1.1.22 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Bun 1.1.22 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Bun 1.1.22 - Added [Hermes 0.13](https://redirect.github.com/facebook/hermes/releases/tag/v0.13.0) compat data, similar to React Native 0.75 Hermes - Added [Opera Android 84](https://forums.opera.com/topic/73545/opera-for-android-84) compat data mapping ### [`v3.38.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3380---20240805) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - Changes [v3.37.1...v3.38.0](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stage 3, [June 2024](https://redirect.github.com/tc39/proposals/commit/4b8ee265248abfa2c88ed71b3c541ddd5a2eaffe) and [July 2024](https://redirect.github.com/tc39/proposals/commit/bdb2eea6c5e41a52f2d6047d7de1a31b5d188c4f) TC39 meetings - Updated the way of escaping, [regex-escaping/77](https://redirect.github.com/tc39/proposal-regex-escaping/pull/77) - Throw an error on non-strings, [regex-escaping/58](https://redirect.github.com/tc39/proposal-regex-escaping/pull/58) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Promise.try` proposal](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stage 3, [June 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/de20984cd7f7bc616682c557cb839abc100422cb) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Added `Uint8Array.prototype.{ setFromBase64, setFromHex }` methods - Added `Uint8Array.fromBase64` and `Uint8Array.prototype.setFromBase64` `lastChunkHandling` option, [proposal-arraybuffer-base64/33](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/33) - Added `Uint8Array.prototype.toBase64` `omitPadding` option, [proposal-arraybuffer-base64/60](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/60) - Added throwing a `TypeError` on arrays backed by detached buffers - Unconditional forced replacement changed to feature detection - Fixed `RegExp` named capture groups polyfill in combination with non-capturing groups, [#​1352](https://redirect.github.com/zloirock/core-js/pull/1352), thanks [**@​Ulop**](https://redirect.github.com/Ulop) - Improved some cases of environment detection - Uses [`process.getBuiltinModule`](https://nodejs.org/docs/latest/api/process.html#processgetbuiltinmoduleid) for getting built-in NodeJS modules where it's available - Uses `https` instead of `http` in `URL` constructor feature detection to avoid extra notifications from some overly vigilant security scanners, [#​1345](https://redirect.github.com/zloirock/core-js/issues/1345) - Some minor optimizations - Updated `browserslist` in `core-js-compat` dependencies that fixes an upstream issue with incorrect interpretation of some `browserslist` queries, [#​1344](https://redirect.github.com/zloirock/core-js/issues/1344), [browserslist/829](https://redirect.github.com/browserslist/browserslist/issues/829), [browserslist/836](https://redirect.github.com/browserslist/browserslist/pull/836) - Compat data improvements: - Added [Safari 18.0](https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/) compat data: - Fixed [`Object.groupBy` and `Map.groupBy`](https://redirect.github.com/tc39/proposal-array-grouping) to [work for non-objects](https://bugs.webkit.org/show_bug.cgi?id=271524) - Fixed [throwing a `RangeError` if `Set` methods are called on an object with negative size property](https://bugs.webkit.org/show_bug.cgi?id=267494) - Fixed [`Set.prototype.symmetricDifference` to call `this.has` in each iteration](https://bugs.webkit.org/show_bug.cgi?id=272679) - Fixed [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) to [not call the `Array` constructor twice](https://bugs.webkit.org/show_bug.cgi?id=271703) - Added [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from FF129](https://bugzilla.mozilla.org/show_bug.cgi?id=1903329) - [`Symbol.asyncDispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 ~ Chromium 127 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) added and marked as supported [from V8 ~ Chromium 128](https://chromestatus.com/feature/6315704705089536) - Added Deno [1.44](https://redirect.github.com/denoland/deno/releases/tag/v1.44.0) and [1.45](https://redirect.github.com/denoland/deno/releases/tag/v1.45.0) compat data mapping - `self` descriptor [is broken in Deno 1.45.3](https://redirect.github.com/denoland/deno/issues/24683) (again) - Added Electron 32 and 33 compat data mapping - Added [Opera Android 83](https://forums.opera.com/topic/72570/opera-for-android-83) compat data mapping - Added Samsung Internet 27 compat data mapping - Added Oculus Quest Browser 34 compat data mapping ### [`v3.37.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3371---20240514) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Changes [v3.37.0...v3.37.1](https://redirect.github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Fixed [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) feature detection for some specific cases - Compat data improvements: - [`Set` methods proposal](https://redirect.github.com/tc39/proposal-set-methods) added and marked as [supported from FF 127](https://bugzilla.mozilla.org/show_bug.cgi?id=1868423) - [`Symbol.dispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 ~ Chromium 125 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) added and marked as [supported from Deno 1.43](https://redirect.github.com/denoland/deno/pull/23490) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Chromium 126](https://chromestatus.com/feature/6301071388704768) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from NodeJS 22.0](https://redirect.github.com/nodejs/node/pull/52280) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Deno 1.43](https://redirect.github.com/denoland/deno/pull/23318) - Added [Rhino 1.7.15](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1_7_15_Release) compat data, many features marked as supported - Added [NodeJS 22.0](https://nodejs.org/en/blog/release/v22.0.0) compat data mapping - Added [Deno 1.43](https://redirect.github.com/denoland/deno/releases/tag/v1.43.0) compat data mapping - Added Electron 31 compat data mapping - Updated [Opera Android 82](https://forums.opera.com/topic/71513/opera-for-android-82) compat data mapping - Added Samsung Internet 26 compat data mapping - Added Oculus Quest Browser 33 compat data mapping </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/X-oss-byte/Nextjs).
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [core-js](https://redirect.github.com/zloirock/core-js) ([source](https://redirect.github.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.44.0` -> `3.45.0`](https://renovatebot.com/diffs/npm/core-js/3.37.0/3.45.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>zloirock/core-js (core-js)</summary> ### [`v3.45.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3450---20250804) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.44.0...v3.45.0) - Changes [v3.44.0...v3.45.0](https://redirect.github.com/zloirock/core-js/compare/v3.44.0...v3.45.0) (70 commits) - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Moved to stable ES, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/d41fe182cdb90da3076ab711aae3944ed86bcf18) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - Added detection of a Webkit bug: `Uint8Array` fromBase64 / setFromBase64 does not throw an error on incorrect length of base64 string - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stable ES, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/2616413ace9074bfd444adee9501fae4c8d66fcb) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Iterator` sequencing proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Built-ins: - `Iterator.concat` - Moved to stage 3, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/3eebab0f8594673dd08bc709d68c011016074c2e) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Moved to stage 3, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/a9c0dfa4e00ffb69aa4df91d8c0c26b064d67108) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added missing dependencies to some entries of static `Iterator` methods - Fixed [Joint Iteration proposal](https://redirect.github.com/tc39/proposal-joint-iteration) in `/stage/` entries - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) features marked as [supported from V8 ~ Chromium 140](https://issues.chromium.org/issues/42204568#comment37) - [`Uint8Array.{ fromBase64, prototype.setFromBase64 }`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) marked as unsupported in Safari and supported only from Bun 1.2.20 because of a bug: it does not throw an error on incorrect length of base64 string - `%TypedArray%.prototype.with` marked as fixed in Safari 26.0 - Updated Electron 38 compat data mapping - Added Opera Android 91 compat data mapping ### [`v3.44.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3440---20250707) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.43.0...v3.44.0) - Changes [v3.43.0...v3.44.0](https://redirect.github.com/zloirock/core-js/compare/v3.43.0...v3.44.0) (87 commits) - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Fixed [several V8 bugs](https://redirect.github.com/zloirock/core-js/issues/1439) in `Uint8Array.fromHex` and `Uint8Array.prototype.{ setFromBase64, toBase64, toHex }`, thanks [**@​brc-dd**](https://redirect.github.com/brc-dd) - [Joint iteration stage 2.7 proposal](https://redirect.github.com/tc39/proposal-joint-iteration): - Uses `Get` in `Iterator.zipKeyed`, following [tc39/proposal-joint-iteration#43](https://redirect.github.com/tc39/proposal-joint-iteration/pull/43) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - `Iterator.concat` no longer reuses `IteratorResult` object of concatenated iterators, following [tc39/proposal-iterator-sequencing#26](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/26) - [`Iterator` chunking stage 2 proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.sliding` - [`Number.prototype.clamp` stage 2 proposal](https://redirect.github.com/tc39/proposal-math-clamp): - `clamp` no longer throws an error on `NaN` as `min` or `max`, following [tc39/proposal-math-clamp#d2387791c265edf66fbe2455eab919016717ce6f](https://redirect.github.com/tc39/proposal-math-clamp/commit/d2387791c265edf66fbe2455eab919016717ce6f) - Fixed some cases of `Set.prototype.{ symmetricDifference, union }` detection - Added missing dependencies to some entries of static `Iterator` methods - Added missing `/full/{ instance, number/virtual }/clamp` entries - Some minor stylistic changes - Compat data improvements: - Added Electron 38 and 39 compat data mapping - Added Oculus Quest Browser 38 and 39 compat data mapping - `Iterator` helpers marked as fixed and updated following the latest spec changes in Safari 26.0 - `Set.prototype.{ difference, symmetricDifference, union }` marked as fixed in Safari 26.0 - `SuppressedError` marked [as fixed](https://bugzilla.mozilla.org/show_bug.cgi?id=1971000) in FF141 - `Error.isError` marked [as fixed](https://redirect.github.com/nodejs/node/pull/58691) in Node 24.3 - `setImmediate` and `clearImmediate` marked as available [from Deno 2.4](https://redirect.github.com/denoland/deno/pull/29877) - `Math.sumPrecise` marked as [shipped in Bun 1.2.18](https://redirect.github.com/oven-sh/bun/pull/20569) - `%TypedArray%.prototype.with` marked as fixed in Bun 1.2.18 ### [`v3.43.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3430---20250609) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) - Changes [v3.42.0...v3.43.0](https://redirect.github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) (139 commits) - [Explicit Resource Management proposals](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Built-ins: - `Symbol.dispose` - `Symbol.asyncDispose` - `SuppressedError` - `DisposableStack` - `DisposableStack.prototype.dispose` - `DisposableStack.prototype.use` - `DisposableStack.prototype.adopt` - `DisposableStack.prototype.defer` - `DisposableStack.prototype.move` - `DisposableStack.prototype[@​@​dispose]` - `AsyncDisposableStack` - `AsyncDisposableStack.prototype.disposeAsync` - `AsyncDisposableStack.prototype.use` - `AsyncDisposableStack.prototype.adopt` - `AsyncDisposableStack.prototype.defer` - `AsyncDisposableStack.prototype.move` - `AsyncDisposableStack.prototype[@​@​asyncDispose]` - `Iterator.prototype[@​@​dispose]` - `AsyncIterator.prototype[@​@​asyncDispose]` - Moved to stable ES, [May 2025 TC39 meeting](https://x.com/robpalmer2/status/1927744934343213085) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Array.fromAsync` proposal](https://redirect.github.com/tc39/proposal-array-from-async): - Built-ins: - `Array.fromAsync` - Moved to stable ES, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposal-array-from-async/issues/14#issuecomment-2916645435) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Error.isError` proposal](https://redirect.github.com/tc39/proposal-is-error): - Built-ins: - `Error.isError` - Moved to stable ES, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/a5d4bb99d79f328533d0c36b0cd20597fa12c7a8) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Added [Joint iteration stage 2.7 proposal](https://redirect.github.com/tc39/proposal-joint-iteration): - Added built-ins: - `Iterator.zip` - `Iterator.zipKeyed` - Added [`Iterator` chunking stage 2 proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.chunks` - `Iterator.prototype.windows` - [`Number.prototype.clamp` proposal](https://redirect.github.com/tc39/proposal-math-clamp): - Built-ins: - `Number.prototype.clamp` - Moved to stage 2, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposal-math-clamp/commit/a005f28a6a03e175b9671de1c8c70dd5b7b08c2d) - `Math.clamp` was replaced with `Number.prototype.clamp` - Removed a `RangeError` if `min <= max` or `+0` min and `-0` max, [tc39/proposal-math-clamp/#​22](https://redirect.github.com/tc39/proposal-math-clamp/issues/22) - Always check regular expression flags by `flags` getter [PR](https://redirect.github.com/tc39/ecma262/pull/2791). Native methods are not fixed, only own implementation updated for: - `RegExp.prototype[@​@​match]` - `RegExp.prototype[@​@​replace]` - Improved handling of `RegExp` flags in polyfills of some methods in engines without proper support of `RegExp.prototype.flags` and without polyfill of this getter - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=288595) that occurs when `this` is updated while `Set.prototype.difference` is being executed - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=289430) that occurs when iterator record of a set-like object isn't called before cloning `this` in the following methods: - `Set.prototype.symmetricDifference` - `Set.prototype.union` - Added feature detection for [a bug](https://issues.chromium.org/issues/336839115) in V8 ~ Chromium < 126. Following methods should throw an error on invalid iterator: - `Iterator.prototype.drop` - `Iterator.prototype.filter` - `Iterator.prototype.flatMap` - `Iterator.prototype.map` - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=288714): incorrect exception thrown by `Iterator.from` when underlying iterator's `return` method is `null` - Added feature detection for a FF bug: incorrect exception thrown by `Array.prototype.with` when index coercion fails - Added feature detection for a WebKit bug: `TypedArray.prototype.with` should truncate negative fractional index to zero, but instead throws an error - Worked around a bug of many different tools ([example](https://redirect.github.com/zloirock/core-js/pull/1368#issuecomment-2908034690)) with incorrect transforming and breaking JS syntax on getting a method from a number literal - Fixed deoptimization of the `Promise` polyfill in the pure version - Added some missed dependencies to `/iterator/flat-map` entries - Some other minor fixes and improvements - Compat data improvements: - Added [Deno 2.3](https://redirect.github.com/denoland/deno/releases/tag/v2.3.0) and [Deno 2.3.2](https://redirect.github.com/denoland/deno/releases/tag/v2.3.2) compat data mapping - Updated Electron 37 compat data mapping - Added Opera Android 90 compat data mapping - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked not supported in Node because of [a bug](https://redirect.github.com/nodejs/node/issues/56497) - `Set.prototype.difference` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=288595) - `Set.prototype.{ symmetricDifference, union }` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=289430) - `Iterator.from` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=288714) - Iterators closing on early errors in `Iterator` helpers marked as implemented from FF141 - `Array.prototype.with` marked as supported only from FF140 because it throws an incorrect exception when index coercion fails - `TypedArray.prototype.with` marked as unsupported in Bun and Safari because it should truncate negative fractional index to zero, but instead throws an error - `DisposableStack` and `AsyncDisposableStack` marked as [shipped in FF141](https://bugzilla.mozilla.org/show_bug.cgi?id=1967744) (`SuppressedError` has [a bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1971000)) - `AsyncDisposableStack` bugs marked as fixed in Deno 2.3.2 - `SuppressedError` bugs ([extra arguments support](https://redirect.github.com/oven-sh/bun/issues/9283) and [arity](https://redirect.github.com/oven-sh/bun/issues/9282)) marked as fixed in Bun 1.2.15 ### [`v3.42.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3420---20250430) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) - Changes [v3.41.0...v3.42.0](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) (142 commits) - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Moved to stage 2.7, [April 2025 TC39 meeting](https://x.com/robpalmer2/status/1911882240109261148) - Validation order of `WeakMap.prototype.getOrInsertComputed` updated following [tc39/proposal-upsert#79](https://redirect.github.com/tc39/proposal-upsert/pull/79) - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Don't call well-known `Symbol` methods for `RegExp` on primitive values following [tc39/ecma262#3009](https://redirect.github.com/tc39/ecma262/pull/3009): - For avoid performance regression, temporarily, only in own `core-js` implementations - Built-ins: - `String.prototype.matchAll` - `String.prototype.match` - `String.prototype.replaceAll` - `String.prototype.replace` - `String.prototype.search` - `String.prototype.split` - Added workaround for the [`Uint8Array.prototype.setFromBase64`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) [bug](https://bugs.webkit.org/show_bug.cgi?id=290829) in some of Linux builds of WebKit - Implemented early-error iterator closing following [tc39/ecma262#3467](https://redirect.github.com/tc39/ecma262/pull/3467), including fix of [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291195), in the following methods: - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - Fixed missing forced replacement of [`AsyncIterator` helpers](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added closing of sync iterator when async wrapper yields a rejection following [tc39/ecma262#2600](https://redirect.github.com/tc39/ecma262/pull/2600). Affected methods: - [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) (due to the lack of async feature detection capability - temporarily, only in own `core-js` implementation) - [`AsyncIterator.from`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - [`Iterator.prototype.toAsync`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added detection for throwing on `undefined` initial parameter in `Iterator.prototype.reduce` (see [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291651)) - `core-js-compat` and `core-js-builder` API: - Added `'intersect'` support for `targets.esmodules` (Babel 7 behavior) - Fixed handling of `targets.esmodules: true` (Babel 7 behavior) - Compat data improvements: - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features disabled (again) in V8 ~ Chromium 135 and re-added in 136 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as [shipped from V8 ~ Chromium 136](https://issues.chromium.org/issues/353856236#comment17) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked as [shipped from FF138](https://bugzilla.mozilla.org/show_bug.cgi?id=1952249) - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features re-enabled in [Deno 2.2.10](https://redirect.github.com/denoland/deno/releases/tag/v2.2.10) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as supported from Deno 1.38.1 since it seems they were disabled in 1.38.0 - `Iterator.prototype.{ drop, reduce, take }` methods marked as fixed in Bun 1.2.11 - Added [NodeJS 24.0](https://redirect.github.com/nodejs/node/pull/57609) compat data mapping - Updated Electron 36 and added Electron 37 compat data mapping - Added Opera Android [88](https://forums.opera.com/topic/83800/opera-for-android-88) and [89](https://forums.opera.com/topic/84437/opera-for-android-89) compat data mapping - Added Oculus Quest Browser 37 compat data mapping ### [`v3.41.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3410---20250301) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) - Changes [v3.40.0...v3.41.0](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) (85 commits) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Float16` proposal](https://redirect.github.com/tc39/proposal-float16array): - Built-ins: - `Math.f16round` - `DataView.prototype.getFloat16` - `DataView.prototype.setFloat16` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Math.clamp` stage 1 proposal](https://redirect.github.com/CanadaHonk/proposal-math-clamp): - Built-ins: - `Math.clamp` - Extracted from [old `Math` extensions proposal](https://redirect.github.com/rwaldron/proposal-math-extensions), [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/0c24594aab19a50b86d0db7248cac5eb0ae35621) - Added arguments validation - Added new entries - Added a workaround of a V8 `AsyncDisposableStack` bug, [tc39/proposal-explicit-resource-management/256](https://redirect.github.com/tc39/proposal-explicit-resource-management/issues/256) - Compat data improvements: - [`DisposableStack`, `SuppressedError` and `Iterator.prototype[@​@​dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/42203506#comment24) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) added and marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/382104870#comment4) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from V8 ~ Chromium 135](https://issues.chromium.org/issues/42203953#comment36) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18_4-release-notes#New-Features) - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18_4-release-notes#New-Features) - [`Math.sumPrecise`](https://redirect.github.com/tc39/proposal-math-sum) marked as shipped from FF137 - Added [Deno 2.2](https://redirect.github.com/denoland/deno/releases/tag/v2.2.0) compat data and compat data mapping - Explicit Resource Management features are available in V8 ~ Chromium 134, but not in Deno 2.2 based on it - Updated Electron 35 and added Electron 36 compat data mapping - Updated [Opera Android 87](https://forums.opera.com/topic/75836/opera-for-android-87) compat data mapping - Added Samsung Internet 28 compat data mapping - Added Oculus Quest Browser 36 compat data mapping ### [`v3.40.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3400---20250108) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) - Changes [v3.39.0...v3.40.0](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) (130 commits) - Added [`Error.isError` stage 3 proposal](https://redirect.github.com/tc39/proposal-is-error): - Added built-ins: - `Error.isError` - We have no bulletproof way to polyfill this method / check if the object is an error, so it's an enough naive implementation that is marked as `.sham` - [Explicit Resource Management stage 3 proposal](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Updated the way async disposing of only sync disposable resources, [tc39/proposal-explicit-resource-management/218](https://redirect.github.com/tc39/proposal-explicit-resource-management/pull/218) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Reuse `IteratorResult` objects when possible, [tc39/proposal-iterator-sequencing/17](https://redirect.github.com/tc39/proposal-iterator-sequencing/issues/17), [tc39/proposal-iterator-sequencing/18](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/18), December 2024 TC39 meeting - Added a fix of [V8 < 12.8](https://issues.chromium.org/issues/351332634) / [NodeJS < 22.10](https://redirect.github.com/nodejs/node/pull/54883) bug with handling infinite length of set-like objects in `Set` methods - Optimized `DataView.prototype.{ getFloat16, setFloat16 }` performance, [#​1379](https://redirect.github.com/zloirock/core-js/pull/1379), thanks [**@​LeviPesin**](https://redirect.github.com/LeviPesin) - Dropped unneeded feature detection of non-standard `%TypedArray%.prototype.toSpliced` - Dropped possible re-usage of some non-standard / early stage features (like `Math.scale`) available on global - Some other minor improvements - Compat data improvements: - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Safari 18.2 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Safari 18.2 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Safari 18.2 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Safari 18.2 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from FF135](https://bugzilla.mozilla.org/show_bug.cgi?id=1934622) - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped [from FF134](https://bugzilla.mozilla.org/show_bug.cgi?id=1918235) - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from FF134 - [`Symbol.dispose`, `Symbol.asyncDispose` and `Iterator.prototype[@​@​dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as shipped from FF135 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as shipped from Bun 1.1.43 - Fixed NodeJS version where `URL.parse` was added - 22.1 instead of 22.0 - Added [Deno 2.1](https://redirect.github.com/denoland/deno/releases/tag/v2.1.0) compat data mapping - Added [Rhino 1.8.0](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1_8_0_Release) compat data with significant number of modern features - Added Electron 35 compat data mapping - Updated Opera 115+ compat data mapping - Added Opera Android [86](https://forums.opera.com/topic/75006/opera-for-android-86) and 87 compat data mapping ### [`v3.39.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3390---20241031) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - Changes [v3.38.1...v3.39.0](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers): - Built-ins: - `Iterator` - `Iterator.from` - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - `Iterator.prototype.toArray` - `Iterator.prototype[@​@​toStringTag]` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-iterator-helpers/issues/284#event-14549961807) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-promise-try/commit/53d3351687274952b3b88f3ad024d9d68a9c1c93) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Fixed `/actual|full/promise/try` entries for the callback arguments support - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stage 3, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-math-sum/issues/19) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Added built-ins: - `Iterator.concat` - [`Map` upsert stage 2 proposal](https://redirect.github.com/tc39/proposal-upsert): - [Updated to the new API following the October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-upsert/pull/58) - Added built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - [Extractors proposal](https://redirect.github.com/tc39/proposal-extractors) moved to stage 2, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/11bc489049fc5ce59b21e98a670a84f153a29a80) - Usage of `@@​species` pattern removed from `%TypedArray%` and `ArrayBuffer` methods, [tc39/ecma262/3450](https://redirect.github.com/tc39/ecma262/pull/3450): - Built-ins: - `%TypedArray%.prototype.filter` - `%TypedArray%.prototype.filterReject` - `%TypedArray%.prototype.map` - `%TypedArray%.prototype.slice` - `%TypedArray%.prototype.subarray` - `ArrayBuffer.prototype.slice` - Some other minor improvements - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as [shipped from FF133](https://bugzilla.mozilla.org/show_bug.cgi?id=1917885#c9) - Added [NodeJS 23.0](https://nodejs.org/en/blog/release/v23.0.0) compat data mapping - `self` descriptor [is fixed](https://redirect.github.com/denoland/deno/issues/24683) in Deno 1.46.0 - Added Deno [1.46](https://redirect.github.com/denoland/deno/releases/tag/v1.46.0) and [2.0](https://redirect.github.com/denoland/deno/releases/tag/v2.0.0) compat data mapping - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from Bun 1.1.31](https://redirect.github.com/oven-sh/bun/pull/14455) - Added Electron 34 and updated Electron 33 compat data mapping - Added [Opera Android 85](https://forums.opera.com/topic/74256/opera-for-android-85) compat data mapping - Added Oculus Quest Browser 35 compat data mapping ### [`v3.38.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3381---20240820) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Changes [v3.38.0...v3.38.1](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Fixed some cases of `URLSearchParams` percent decoding, [#​1357](https://redirect.github.com/zloirock/core-js/issues/1357), [#​1361](https://redirect.github.com/zloirock/core-js/pull/1361), thanks [**@​slowcheetah**](https://redirect.github.com/slowcheetah) - Some stylistic changes and minor optimizations - Compat data improvements: - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from FF131](https://bugzilla.mozilla.org/show_bug.cgi?id=1896390) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Bun 1.1.23 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Bun 1.1.22 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Bun 1.1.22 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Bun 1.1.22 - Added [Hermes 0.13](https://redirect.github.com/facebook/hermes/releases/tag/v0.13.0) compat data, similar to React Native 0.75 Hermes - Added [Opera Android 84](https://forums.opera.com/topic/73545/opera-for-android-84) compat data mapping ### [`v3.38.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3380---20240805) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - Changes [v3.37.1...v3.38.0](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stage 3, [June 2024](https://redirect.github.com/tc39/proposals/commit/4b8ee265248abfa2c88ed71b3c541ddd5a2eaffe) and [July 2024](https://redirect.github.com/tc39/proposals/commit/bdb2eea6c5e41a52f2d6047d7de1a31b5d188c4f) TC39 meetings - Updated the way of escaping, [regex-escaping/77](https://redirect.github.com/tc39/proposal-regex-escaping/pull/77) - Throw an error on non-strings, [regex-escaping/58](https://redirect.github.com/tc39/proposal-regex-escaping/pull/58) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Promise.try` proposal](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stage 3, [June 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/de20984cd7f7bc616682c557cb839abc100422cb) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Added `Uint8Array.prototype.{ setFromBase64, setFromHex }` methods - Added `Uint8Array.fromBase64` and `Uint8Array.prototype.setFromBase64` `lastChunkHandling` option, [proposal-arraybuffer-base64/33](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/33) - Added `Uint8Array.prototype.toBase64` `omitPadding` option, [proposal-arraybuffer-base64/60](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/60) - Added throwing a `TypeError` on arrays backed by detached buffers - Unconditional forced replacement changed to feature detection - Fixed `RegExp` named capture groups polyfill in combination with non-capturing groups, [#​1352](https://redirect.github.com/zloirock/core-js/pull/1352), thanks [**@​Ulop**](https://redirect.github.com/Ulop) - Improved some cases of environment detection - Uses [`process.getBuiltinModule`](https://nodejs.org/docs/latest/api/process.html#processgetbuiltinmoduleid) for getting built-in NodeJS modules where it's available - Uses `https` instead of `http` in `URL` constructor feature detection to avoid extra notifications from some overly vigilant security scanners, [#​1345](https://redirect.github.com/zloirock/core-js/issues/1345) - Some minor optimizations - Updated `browserslist` in `core-js-compat` dependencies that fixes an upstream issue with incorrect interpretation of some `browserslist` queries, [#​1344](https://redirect.github.com/zloirock/core-js/issues/1344), [browserslist/829](https://redirect.github.com/browserslist/browserslist/issues/829), [browserslist/836](https://redirect.github.com/browserslist/browserslist/pull/836) - Compat data improvements: - Added [Safari 18.0](https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/) compat data: - Fixed [`Object.groupBy` and `Map.groupBy`](https://redirect.github.com/tc39/proposal-array-grouping) to [work for non-objects](https://bugs.webkit.org/show_bug.cgi?id=271524) - Fixed [throwing a `RangeError` if `Set` methods are called on an object with negative size property](https://bugs.webkit.org/show_bug.cgi?id=267494) - Fixed [`Set.prototype.symmetricDifference` to call `this.has` in each iteration](https://bugs.webkit.org/show_bug.cgi?id=272679) - Fixed [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) to [not call the `Array` constructor twice](https://bugs.webkit.org/show_bug.cgi?id=271703) - Added [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from FF129](https://bugzilla.mozilla.org/show_bug.cgi?id=1903329) - [`Symbol.asyncDispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 ~ Chromium 127 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) added and marked as supported [from V8 ~ Chromium 128](https://chromestatus.com/feature/6315704705089536) - Added Deno [1.44](https://redirect.github.com/denoland/deno/releases/tag/v1.44.0) and [1.45](https://redirect.github.com/denoland/deno/releases/tag/v1.45.0) compat data mapping - `self` descriptor [is broken in Deno 1.45.3](https://redirect.github.com/denoland/deno/issues/24683) (again) - Added Electron 32 and 33 compat data mapping - Added [Opera Android 83](https://forums.opera.com/topic/72570/opera-for-android-83) compat data mapping - Added Samsung Internet 27 compat data mapping - Added Oculus Quest Browser 34 compat data mapping ### [`v3.37.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3371---20240514) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Changes [v3.37.0...v3.37.1](https://redirect.github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Fixed [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) feature detection for some specific cases - Compat data improvements: - [`Set` methods proposal](https://redirect.github.com/tc39/proposal-set-methods) added and marked as [supported from FF 127](https://bugzilla.mozilla.org/show_bug.cgi?id=1868423) - [`Symbol.dispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 ~ Chromium 125 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) added and marked as [supported from Deno 1.43](https://redirect.github.com/denoland/deno/pull/23490) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Chromium 126](https://chromestatus.com/feature/6301071388704768) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from NodeJS 22.0](https://redirect.github.com/nodejs/node/pull/52280) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Deno 1.43](https://redirect.github.com/denoland/deno/pull/23318) - Added [Rhino 1.7.15](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1_7_15_Release) compat data, many features marked as supported - Added [NodeJS 22.0](https://nodejs.org/en/blog/release/v22.0.0) compat data mapping - Added [Deno 1.43](https://redirect.github.com/denoland/deno/releases/tag/v1.43.0) compat data mapping - Added Electron 31 compat data mapping - Updated [Opera Android 82](https://forums.opera.com/topic/71513/opera-for-android-82) compat data mapping - Added Samsung Internet 26 compat data mapping - Added Oculus Quest Browser 33 compat data mapping </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/X-oss-byte/Nextjs).
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [core-js](https://redirect.github.com/zloirock/core-js) ([source](https://redirect.github.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.45.0` -> `3.45.1`](https://renovatebot.com/diffs/npm/core-js/3.37.0/3.45.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>zloirock/core-js (core-js)</summary> ### [`v3.45.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3451---20250820) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.45.0...v3.45.1) - Changes [v3.45.0...v3.45.1](https://redirect.github.com/zloirock/core-js/compare/v3.45.0...v3.45.1) (30 commits) - Fixed a conflict of native methods from [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert) with polyfilled methods in the pure version - Added `bugs` fields to `package.json` of all packages - Compat data improvements: - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert) features marked as shipped from Bun 1.2.20 - Added Samsung Internet 29 compat data mapping - Added Electron 39 compat data mapping ### [`v3.45.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3450---20250804) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.44.0...v3.45.0) - Changes [v3.44.0...v3.45.0](https://redirect.github.com/zloirock/core-js/compare/v3.44.0...v3.45.0) (70 commits) - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Moved to stable ES, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/d41fe182cdb90da3076ab711aae3944ed86bcf18) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - Added detection of a Webkit bug: `Uint8Array` fromBase64 / setFromBase64 does not throw an error on incorrect length of base64 string - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stable ES, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/2616413ace9074bfd444adee9501fae4c8d66fcb) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Iterator` sequencing proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Built-ins: - `Iterator.concat` - Moved to stage 3, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/3eebab0f8594673dd08bc709d68c011016074c2e) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Moved to stage 3, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/a9c0dfa4e00ffb69aa4df91d8c0c26b064d67108) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added missing dependencies to some entries of static `Iterator` methods - Fixed [Joint Iteration proposal](https://redirect.github.com/tc39/proposal-joint-iteration) in `/stage/` entries - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) features marked as [supported from V8 ~ Chromium 140](https://issues.chromium.org/issues/42204568#comment37) - [`Uint8Array.{ fromBase64, prototype.setFromBase64 }`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) marked as unsupported in Safari and supported only from Bun 1.2.20 because of a bug: it does not throw an error on incorrect length of base64 string - `%TypedArray%.prototype.with` marked as fixed in Safari 26.0 - Updated Electron 38 compat data mapping - Added Opera Android 91 compat data mapping ### [`v3.44.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3440---20250707) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.43.0...v3.44.0) - Changes [v3.43.0...v3.44.0](https://redirect.github.com/zloirock/core-js/compare/v3.43.0...v3.44.0) (87 commits) - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Fixed [several V8 bugs](https://redirect.github.com/zloirock/core-js/issues/1439) in `Uint8Array.fromHex` and `Uint8Array.prototype.{ setFromBase64, toBase64, toHex }`, thanks [**@​brc-dd**](https://redirect.github.com/brc-dd) - [Joint iteration stage 2.7 proposal](https://redirect.github.com/tc39/proposal-joint-iteration): - Uses `Get` in `Iterator.zipKeyed`, following [tc39/proposal-joint-iteration#43](https://redirect.github.com/tc39/proposal-joint-iteration/pull/43) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - `Iterator.concat` no longer reuses `IteratorResult` object of concatenated iterators, following [tc39/proposal-iterator-sequencing#26](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/26) - [`Iterator` chunking stage 2 proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.sliding` - [`Number.prototype.clamp` stage 2 proposal](https://redirect.github.com/tc39/proposal-math-clamp): - `clamp` no longer throws an error on `NaN` as `min` or `max`, following [tc39/proposal-math-clamp#d2387791c265edf66fbe2455eab919016717ce6f](https://redirect.github.com/tc39/proposal-math-clamp/commit/d2387791c265edf66fbe2455eab919016717ce6f) - Fixed some cases of `Set.prototype.{ symmetricDifference, union }` detection - Added missing dependencies to some entries of static `Iterator` methods - Added missing `/full/{ instance, number/virtual }/clamp` entries - Some minor stylistic changes - Compat data improvements: - Added Electron 38 and 39 compat data mapping - Added Oculus Quest Browser 38 and 39 compat data mapping - `Iterator` helpers marked as fixed and updated following the latest spec changes in Safari 26.0 - `Set.prototype.{ difference, symmetricDifference, union }` marked as fixed in Safari 26.0 - `SuppressedError` marked [as fixed](https://bugzilla.mozilla.org/show_bug.cgi?id=1971000) in FF141 - `Error.isError` marked [as fixed](https://redirect.github.com/nodejs/node/pull/58691) in Node 24.3 - `setImmediate` and `clearImmediate` marked as available [from Deno 2.4](https://redirect.github.com/denoland/deno/pull/29877) - `Math.sumPrecise` marked as [shipped in Bun 1.2.18](https://redirect.github.com/oven-sh/bun/pull/20569) - `%TypedArray%.prototype.with` marked as fixed in Bun 1.2.18 ### [`v3.43.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3430---20250609) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) - Changes [v3.42.0...v3.43.0](https://redirect.github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) (139 commits) - [Explicit Resource Management proposals](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Built-ins: - `Symbol.dispose` - `Symbol.asyncDispose` - `SuppressedError` - `DisposableStack` - `DisposableStack.prototype.dispose` - `DisposableStack.prototype.use` - `DisposableStack.prototype.adopt` - `DisposableStack.prototype.defer` - `DisposableStack.prototype.move` - `DisposableStack.prototype[@​@​dispose]` - `AsyncDisposableStack` - `AsyncDisposableStack.prototype.disposeAsync` - `AsyncDisposableStack.prototype.use` - `AsyncDisposableStack.prototype.adopt` - `AsyncDisposableStack.prototype.defer` - `AsyncDisposableStack.prototype.move` - `AsyncDisposableStack.prototype[@​@​asyncDispose]` - `Iterator.prototype[@​@​dispose]` - `AsyncIterator.prototype[@​@​asyncDispose]` - Moved to stable ES, [May 2025 TC39 meeting](https://x.com/robpalmer2/status/1927744934343213085) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Array.fromAsync` proposal](https://redirect.github.com/tc39/proposal-array-from-async): - Built-ins: - `Array.fromAsync` - Moved to stable ES, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposal-array-from-async/issues/14#issuecomment-2916645435) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Error.isError` proposal](https://redirect.github.com/tc39/proposal-is-error): - Built-ins: - `Error.isError` - Moved to stable ES, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/a5d4bb99d79f328533d0c36b0cd20597fa12c7a8) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Added [Joint iteration stage 2.7 proposal](https://redirect.github.com/tc39/proposal-joint-iteration): - Added built-ins: - `Iterator.zip` - `Iterator.zipKeyed` - Added [`Iterator` chunking stage 2 proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.chunks` - `Iterator.prototype.windows` - [`Number.prototype.clamp` proposal](https://redirect.github.com/tc39/proposal-math-clamp): - Built-ins: - `Number.prototype.clamp` - Moved to stage 2, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposal-math-clamp/commit/a005f28a6a03e175b9671de1c8c70dd5b7b08c2d) - `Math.clamp` was replaced with `Number.prototype.clamp` - Removed a `RangeError` if `min <= max` or `+0` min and `-0` max, [tc39/proposal-math-clamp/#​22](https://redirect.github.com/tc39/proposal-math-clamp/issues/22) - Always check regular expression flags by `flags` getter [PR](https://redirect.github.com/tc39/ecma262/pull/2791). Native methods are not fixed, only own implementation updated for: - `RegExp.prototype[@​@​match]` - `RegExp.prototype[@​@​replace]` - Improved handling of `RegExp` flags in polyfills of some methods in engines without proper support of `RegExp.prototype.flags` and without polyfill of this getter - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=288595) that occurs when `this` is updated while `Set.prototype.difference` is being executed - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=289430) that occurs when iterator record of a set-like object isn't called before cloning `this` in the following methods: - `Set.prototype.symmetricDifference` - `Set.prototype.union` - Added feature detection for [a bug](https://issues.chromium.org/issues/336839115) in V8 ~ Chromium < 126. Following methods should throw an error on invalid iterator: - `Iterator.prototype.drop` - `Iterator.prototype.filter` - `Iterator.prototype.flatMap` - `Iterator.prototype.map` - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=288714): incorrect exception thrown by `Iterator.from` when underlying iterator's `return` method is `null` - Added feature detection for a FF bug: incorrect exception thrown by `Array.prototype.with` when index coercion fails - Added feature detection for a WebKit bug: `TypedArray.prototype.with` should truncate negative fractional index to zero, but instead throws an error - Worked around a bug of many different tools ([example](https://redirect.github.com/zloirock/core-js/pull/1368#issuecomment-2908034690)) with incorrect transforming and breaking JS syntax on getting a method from a number literal - Fixed deoptimization of the `Promise` polyfill in the pure version - Added some missed dependencies to `/iterator/flat-map` entries - Some other minor fixes and improvements - Compat data improvements: - Added [Deno 2.3](https://redirect.github.com/denoland/deno/releases/tag/v2.3.0) and [Deno 2.3.2](https://redirect.github.com/denoland/deno/releases/tag/v2.3.2) compat data mapping - Updated Electron 37 compat data mapping - Added Opera Android 90 compat data mapping - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked not supported in Node because of [a bug](https://redirect.github.com/nodejs/node/issues/56497) - `Set.prototype.difference` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=288595) - `Set.prototype.{ symmetricDifference, union }` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=289430) - `Iterator.from` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=288714) - Iterators closing on early errors in `Iterator` helpers marked as implemented from FF141 - `Array.prototype.with` marked as supported only from FF140 because it throws an incorrect exception when index coercion fails - `TypedArray.prototype.with` marked as unsupported in Bun and Safari because it should truncate negative fractional index to zero, but instead throws an error - `DisposableStack` and `AsyncDisposableStack` marked as [shipped in FF141](https://bugzilla.mozilla.org/show_bug.cgi?id=1967744) (`SuppressedError` has [a bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1971000)) - `AsyncDisposableStack` bugs marked as fixed in Deno 2.3.2 - `SuppressedError` bugs ([extra arguments support](https://redirect.github.com/oven-sh/bun/issues/9283) and [arity](https://redirect.github.com/oven-sh/bun/issues/9282)) marked as fixed in Bun 1.2.15 ### [`v3.42.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3420---20250430) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) - Changes [v3.41.0...v3.42.0](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) (142 commits) - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Moved to stage 2.7, [April 2025 TC39 meeting](https://x.com/robpalmer2/status/1911882240109261148) - Validation order of `WeakMap.prototype.getOrInsertComputed` updated following [tc39/proposal-upsert#79](https://redirect.github.com/tc39/proposal-upsert/pull/79) - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Don't call well-known `Symbol` methods for `RegExp` on primitive values following [tc39/ecma262#3009](https://redirect.github.com/tc39/ecma262/pull/3009): - For avoid performance regression, temporarily, only in own `core-js` implementations - Built-ins: - `String.prototype.matchAll` - `String.prototype.match` - `String.prototype.replaceAll` - `String.prototype.replace` - `String.prototype.search` - `String.prototype.split` - Added workaround for the [`Uint8Array.prototype.setFromBase64`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) [bug](https://bugs.webkit.org/show_bug.cgi?id=290829) in some of Linux builds of WebKit - Implemented early-error iterator closing following [tc39/ecma262#3467](https://redirect.github.com/tc39/ecma262/pull/3467), including fix of [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291195), in the following methods: - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - Fixed missing forced replacement of [`AsyncIterator` helpers](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added closing of sync iterator when async wrapper yields a rejection following [tc39/ecma262#2600](https://redirect.github.com/tc39/ecma262/pull/2600). Affected methods: - [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) (due to the lack of async feature detection capability - temporarily, only in own `core-js` implementation) - [`AsyncIterator.from`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - [`Iterator.prototype.toAsync`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added detection for throwing on `undefined` initial parameter in `Iterator.prototype.reduce` (see [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291651)) - `core-js-compat` and `core-js-builder` API: - Added `'intersect'` support for `targets.esmodules` (Babel 7 behavior) - Fixed handling of `targets.esmodules: true` (Babel 7 behavior) - Compat data improvements: - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features disabled (again) in V8 ~ Chromium 135 and re-added in 136 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as [shipped from V8 ~ Chromium 136](https://issues.chromium.org/issues/353856236#comment17) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked as [shipped from FF138](https://bugzilla.mozilla.org/show_bug.cgi?id=1952249) - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features re-enabled in [Deno 2.2.10](https://redirect.github.com/denoland/deno/releases/tag/v2.2.10) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as supported from Deno 1.38.1 since it seems they were disabled in 1.38.0 - `Iterator.prototype.{ drop, reduce, take }` methods marked as fixed in Bun 1.2.11 - Added [NodeJS 24.0](https://redirect.github.com/nodejs/node/pull/57609) compat data mapping - Updated Electron 36 and added Electron 37 compat data mapping - Added Opera Android [88](https://forums.opera.com/topic/83800/opera-for-android-88) and [89](https://forums.opera.com/topic/84437/opera-for-android-89) compat data mapping - Added Oculus Quest Browser 37 compat data mapping ### [`v3.41.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3410---20250301) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) - Changes [v3.40.0...v3.41.0](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) (85 commits) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Float16` proposal](https://redirect.github.com/tc39/proposal-float16array): - Built-ins: - `Math.f16round` - `DataView.prototype.getFloat16` - `DataView.prototype.setFloat16` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Math.clamp` stage 1 proposal](https://redirect.github.com/CanadaHonk/proposal-math-clamp): - Built-ins: - `Math.clamp` - Extracted from [old `Math` extensions proposal](https://redirect.github.com/rwaldron/proposal-math-extensions), [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/0c24594aab19a50b86d0db7248cac5eb0ae35621) - Added arguments validation - Added new entries - Added a workaround of a V8 `AsyncDisposableStack` bug, [tc39/proposal-explicit-resource-management/256](https://redirect.github.com/tc39/proposal-explicit-resource-management/issues/256) - Compat data improvements: - [`DisposableStack`, `SuppressedError` and `Iterator.prototype[@​@​dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/42203506#comment24) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) added and marked as [shipped from V8 ~ Chromium 134](https://issues.chromium.org/issues/382104870#comment4) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from V8 ~ Chromium 135](https://issues.chromium.org/issues/42203953#comment36) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18_4-release-notes#New-Features) - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18_4-release-notes#New-Features) - [`Math.sumPrecise`](https://redirect.github.com/tc39/proposal-math-sum) marked as shipped from FF137 - Added [Deno 2.2](https://redirect.github.com/denoland/deno/releases/tag/v2.2.0) compat data and compat data mapping - Explicit Resource Management features are available in V8 ~ Chromium 134, but not in Deno 2.2 based on it - Updated Electron 35 and added Electron 36 compat data mapping - Updated [Opera Android 87](https://forums.opera.com/topic/75836/opera-for-android-87) compat data mapping - Added Samsung Internet 28 compat data mapping - Added Oculus Quest Browser 36 compat data mapping ### [`v3.40.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3400---20250108) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) - Changes [v3.39.0...v3.40.0](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) (130 commits) - Added [`Error.isError` stage 3 proposal](https://redirect.github.com/tc39/proposal-is-error): - Added built-ins: - `Error.isError` - We have no bulletproof way to polyfill this method / check if the object is an error, so it's an enough naive implementation that is marked as `.sham` - [Explicit Resource Management stage 3 proposal](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Updated the way async disposing of only sync disposable resources, [tc39/proposal-explicit-resource-management/218](https://redirect.github.com/tc39/proposal-explicit-resource-management/pull/218) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Reuse `IteratorResult` objects when possible, [tc39/proposal-iterator-sequencing/17](https://redirect.github.com/tc39/proposal-iterator-sequencing/issues/17), [tc39/proposal-iterator-sequencing/18](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/18), December 2024 TC39 meeting - Added a fix of [V8 < 12.8](https://issues.chromium.org/issues/351332634) / [NodeJS < 22.10](https://redirect.github.com/nodejs/node/pull/54883) bug with handling infinite length of set-like objects in `Set` methods - Optimized `DataView.prototype.{ getFloat16, setFloat16 }` performance, [#​1379](https://redirect.github.com/zloirock/core-js/pull/1379), thanks [**@​LeviPesin**](https://redirect.github.com/LeviPesin) - Dropped unneeded feature detection of non-standard `%TypedArray%.prototype.toSpliced` - Dropped possible re-usage of some non-standard / early stage features (like `Math.scale`) available on global - Some other minor improvements - Compat data improvements: - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Safari 18.2 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Safari 18.2 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Safari 18.2 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Safari 18.2 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from FF135](https://bugzilla.mozilla.org/show_bug.cgi?id=1934622) - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped [from FF134](https://bugzilla.mozilla.org/show_bug.cgi?id=1918235) - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from FF134 - [`Symbol.dispose`, `Symbol.asyncDispose` and `Iterator.prototype[@​@​dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as shipped from FF135 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as shipped from Bun 1.1.43 - Fixed NodeJS version where `URL.parse` was added - 22.1 instead of 22.0 - Added [Deno 2.1](https://redirect.github.com/denoland/deno/releases/tag/v2.1.0) compat data mapping - Added [Rhino 1.8.0](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1_8_0_Release) compat data with significant number of modern features - Added Electron 35 compat data mapping - Updated Opera 115+ compat data mapping - Added Opera Android [86](https://forums.opera.com/topic/75006/opera-for-android-86) and 87 compat data mapping ### [`v3.39.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3390---20241031) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - Changes [v3.38.1...v3.39.0](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers): - Built-ins: - `Iterator` - `Iterator.from` - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - `Iterator.prototype.toArray` - `Iterator.prototype[@​@​toStringTag]` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-iterator-helpers/issues/284#event-14549961807) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-promise-try/commit/53d3351687274952b3b88f3ad024d9d68a9c1c93) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Fixed `/actual|full/promise/try` entries for the callback arguments support - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stage 3, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-math-sum/issues/19) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Added built-ins: - `Iterator.concat` - [`Map` upsert stage 2 proposal](https://redirect.github.com/tc39/proposal-upsert): - [Updated to the new API following the October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-upsert/pull/58) - Added built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - [Extractors proposal](https://redirect.github.com/tc39/proposal-extractors) moved to stage 2, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/11bc489049fc5ce59b21e98a670a84f153a29a80) - Usage of `@@​species` pattern removed from `%TypedArray%` and `ArrayBuffer` methods, [tc39/ecma262/3450](https://redirect.github.com/tc39/ecma262/pull/3450): - Built-ins: - `%TypedArray%.prototype.filter` - `%TypedArray%.prototype.filterReject` - `%TypedArray%.prototype.map` - `%TypedArray%.prototype.slice` - `%TypedArray%.prototype.subarray` - `ArrayBuffer.prototype.slice` - Some other minor improvements - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as [shipped from FF133](https://bugzilla.mozilla.org/show_bug.cgi?id=1917885#c9) - Added [NodeJS 23.0](https://nodejs.org/en/blog/release/v23.0.0) compat data mapping - `self` descriptor [is fixed](https://redirect.github.com/denoland/deno/issues/24683) in Deno 1.46.0 - Added Deno [1.46](https://redirect.github.com/denoland/deno/releases/tag/v1.46.0) and [2.0](https://redirect.github.com/denoland/deno/releases/tag/v2.0.0) compat data mapping - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from Bun 1.1.31](https://redirect.github.com/oven-sh/bun/pull/14455) - Added Electron 34 and updated Electron 33 compat data mapping - Added [Opera Android 85](https://forums.opera.com/topic/74256/opera-for-android-85) compat data mapping - Added Oculus Quest Browser 35 compat data mapping ### [`v3.38.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3381---20240820) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Changes [v3.38.0...v3.38.1](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Fixed some cases of `URLSearchParams` percent decoding, [#​1357](https://redirect.github.com/zloirock/core-js/issues/1357), [#​1361](https://redirect.github.com/zloirock/core-js/pull/1361), thanks [**@​slowcheetah**](https://redirect.github.com/slowcheetah) - Some stylistic changes and minor optimizations - Compat data improvements: - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from FF131](https://bugzilla.mozilla.org/show_bug.cgi?id=1896390) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Bun 1.1.23 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Bun 1.1.22 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Bun 1.1.22 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Bun 1.1.22 - Added [Hermes 0.13](https://redirect.github.com/facebook/hermes/releases/tag/v0.13.0) compat data, similar to React Native 0.75 Hermes - Added [Opera Android 84](https://forums.opera.com/topic/73545/opera-for-android-84) compat data mapping ### [`v3.38.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3380---20240805) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - Changes [v3.37.1...v3.38.0](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stage 3, [June 2024](https://redirect.github.com/tc39/proposals/commit/4b8ee265248abfa2c88ed71b3c541ddd5a2eaffe) and [July 2024](https://redirect.github.com/tc39/proposals/commit/bdb2eea6c5e41a52f2d6047d7de1a31b5d188c4f) TC39 meetings - Updated the way of escaping, [regex-escaping/77](https://redirect.github.com/tc39/proposal-regex-escaping/pull/77) - Throw an error on non-strings, [regex-escaping/58](https://redirect.github.com/tc39/proposal-regex-escaping/pull/58) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Promise.try` proposal](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stage 3, [June 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/de20984cd7f7bc616682c557cb839abc100422cb) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Added `Uint8Array.prototype.{ setFromBase64, setFromHex }` methods - Added `Uint8Array.fromBase64` and `Uint8Array.prototype.setFromBase64` `lastChunkHandling` option, [proposal-arraybuffer-base64/33](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/33) - Added `Uint8Array.prototype.toBase64` `omitPadding` option, [proposal-arraybuffer-base64/60](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/60) - Added throwing a `TypeError` on arrays backed by detached buffers - Unconditional forced replacement changed to feature detection - Fixed `RegExp` named capture groups polyfill in combination with non-capturing groups, [#​1352](https://redirect.github.com/zloirock/core-js/pull/1352), thanks [**@​Ulop**](https://redirect.github.com/Ulop) - Improved some cases of environment detection - Uses [`process.getBuiltinModule`](https://nodejs.org/docs/latest/api/process.html#processgetbuiltinmoduleid) for getting built-in NodeJS modules where it's available - Uses `https` instead of `http` in `URL` constructor feature detection to avoid extra notifications from some overly vigilant security scanners, [#​1345](https://redirect.github.com/zloirock/core-js/issues/1345) - Some minor optimizations - Updated `browserslist` in `core-js-compat` dependencies that fixes an upstream issue with incorrect interpretation of some `browserslist` queries, [#​1344](https://redirect.github.com/zloirock/core-js/issues/1344), [browserslist/829](https://redirect.github.com/browserslist/browserslist/issues/829), [browserslist/836](https://redirect.github.com/browserslist/browserslist/pull/836) - Compat data improvements: - Added [Safari 18.0](https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/) compat data: - Fixed [`Object.groupBy` and `Map.groupBy`](https://redirect.github.com/tc39/proposal-array-grouping) to [work for non-objects](https://bugs.webkit.org/show_bug.cgi?id=271524) - Fixed [throwing a `RangeError` if `Set` methods are called on an object with negative size property](https://bugs.webkit.org/show_bug.cgi?id=267494) - Fixed [`Set.prototype.symmetricDifference` to call `this.has` in each iteration](https://bugs.webkit.org/show_bug.cgi?id=272679) - Fixed [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) to [not call the `Array` constructor twice](https://bugs.webkit.org/show_bug.cgi?id=271703) - Added [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from FF129](https://bugzilla.mozilla.org/show_bug.cgi?id=1903329) - [`Symbol.asyncDispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 ~ Chromium 127 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) added and marked as supported [from V8 ~ Chromium 128](https://chromestatus.com/feature/6315704705089536) - Added Deno [1.44](https://redirect.github.com/denoland/deno/releases/tag/v1.44.0) and [1.45](https://redirect.github.com/denoland/deno/releases/tag/v1.45.0) compat data mapping - `self` descriptor [is broken in Deno 1.45.3](https://redirect.github.com/denoland/deno/issues/24683) (again) - Added Electron 32 and 33 compat data mapping - Added [Opera Android 83](https://forums.opera.com/topic/72570/opera-for-android-83) compat data mapping - Added Samsung Internet 27 compat data mapping - Added Oculus Quest Browser 34 compat data mapping ### [`v3.37.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3371---20240514) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Changes [v3.37.0...v3.37.1](https://redirect.github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Fixed [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) feature detection for some specific cases - Compat data improvements: - [`Set` methods proposal](https://redirect.github.com/tc39/proposal-set-methods) added and marked as [supported from FF 127](https://bugzilla.mozilla.org/show_bug.cgi?id=1868423) - [`Symbol.dispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 ~ Chromium 125 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) added and marked as [supported from Deno 1.43](https://redirect.github.com/denoland/deno/pull/23490) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Chromium 126](https://chromestatus.com/feature/6301071388704768) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from NodeJS 22.0](https://redirect.github.com/nodejs/node/pull/52280) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Deno 1.43](https://redirect.github.com/denoland/deno/pull/23318) - Added [Rhino 1.7.15](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1_7_15_Release) compat data, many features marked as supported - Added [NodeJS 22.0](https://nodejs.org/en/blog/release/v22.0.0) compat data mapping - Added [Deno 1.43](https://redirect.github.com/denoland/deno/releases/tag/v1.43.0) compat data mapping - Added Electron 31 compat data mapping - Updated [Opera Android 82](https://forums.opera.com/topic/71513/opera-for-android-82) compat data mapping - Added Samsung Internet 26 compat data mapping - Added Oculus Quest Browser 33 compat data mapping </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/X-oss-byte/Nextjs).
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [core-js](https://core-js.io) ([source](https://redirect.github.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.45.1` -> `3.46.0`](https://renovatebot.com/diffs/npm/core-js/3.37.0/3.46.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>zloirock/core-js (core-js)</summary> ### [`v3.46.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3460---20251009) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.45.1...v3.46.0) - Changes [v3.45.1...v3.46.0](https://redirect.github.com/zloirock/core-js/compare/v3.45.1...v3.46.0) (116 commits) - [`Map` upsert stage 3 proposal](https://redirect.github.com/tc39/proposal-upsert): - Fixed [a FF `WeakMap.prototype.getOrInsertComputed` bug with callback calling before validation a key](https://bugzilla.mozilla.org/show_bug.cgi?id=1988369) - [`Iterator` chunking proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Built-ins: - `Iterator.prototype.chunks` - `Iterator.prototype.windows` - Moved to stage 2.7, [September 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/08e583103c6c244c05a26d9fee518ef8145ba2f6) - `Iterator.prototype.sliding` method replaced with an extra parameter of `Iterator.prototype.windows` method, [tc39/proposal-iterator-chunking/#​24](https://redirect.github.com/tc39/proposal-iterator-chunking/pull/24), [tc39/proposal-iterator-chunking/#​26](https://redirect.github.com/tc39/proposal-iterator-chunking/pull/26) - Fixed [`Iterator.zip` and `Iterator.zipKeyed`](https://redirect.github.com/tc39/proposal-joint-iteration) behavior with `mode: 'longest'` option, [#​1469](https://redirect.github.com/zloirock/core-js/issues/1469), thanks [**@​lionel-rowe**](https://redirect.github.com/lionel-rowe) - Fixed work of `Object.groupBy` and [`Iterator.zipKeyed`](https://redirect.github.com/tc39/proposal-joint-iteration) together with `Symbol` polyfill - some cases of symbol keys on result `null`-prototype object were able to leak out to `for-in` - Compat data improvements: - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert) features marked as shipped from FF144 - Added [Node 25.0](https://redirect.github.com/nodejs/node/pull/59896) compat data mapping - Added [Deno 2.5](https://redirect.github.com/denoland/deno/releases/tag/v2.5.0) compat data mapping - Updated Electron 39 compat data mapping - Updated Opera 121+ compat data mapping - Added [Opera Android 92](https://forums.opera.com/topic/86530/opera-for-android-92) compat data mapping - Added Oculus Quest Browser 40 compat data mapping ### [`v3.45.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3451---20250820) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.45.0...v3.45.1) - Changes [v3.45.0...v3.45.1](https://redirect.github.com/zloirock/core-js/compare/v3.45.0...v3.45.1) (30 commits) - Fixed a conflict of native methods from [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert) with polyfilled methods in the pure version - Added `bugs` fields to `package.json` of all packages - Compat data improvements: - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert) features marked as shipped from Bun 1.2.20 - Added Samsung Internet 29 compat data mapping - Added Electron 39 compat data mapping ### [`v3.45.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3450---20250804) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.44.0...v3.45.0) - Changes [v3.44.0...v3.45.0](https://redirect.github.com/zloirock/core-js/compare/v3.44.0...v3.45.0) (70 commits) - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Moved to stable ES, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/d41fe182cdb90da3076ab711aae3944ed86bcf18) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - Added detection of a Webkit bug: `Uint8Array` fromBase64 / setFromBase64 does not throw an error on incorrect length of base64 string - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stable ES, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/2616413ace9074bfd444adee9501fae4c8d66fcb) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Iterator` sequencing proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Built-ins: - `Iterator.concat` - Moved to stage 3, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/3eebab0f8594673dd08bc709d68c011016074c2e) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Moved to stage 3, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/a9c0dfa4e00ffb69aa4df91d8c0c26b064d67108) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added missing dependencies to some entries of static `Iterator` methods - Fixed [Joint Iteration proposal](https://redirect.github.com/tc39/proposal-joint-iteration) in `/stage/` entries - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) features marked as [supported from V8 \~ Chromium 140](https://issues.chromium.org/issues/42204568#comment37) - [`Uint8Array.{ fromBase64, prototype.setFromBase64 }`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) marked as unsupported in Safari and supported only from Bun 1.2.20 because of a bug: it does not throw an error on incorrect length of base64 string - `%TypedArray%.prototype.with` marked as fixed in Safari 26.0 - Updated Electron 38 compat data mapping - Added [Opera Android 91](https://forums.opera.com/topic/86005/opera-for-android-91) compat data mapping ### [`v3.44.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3440---20250707) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.43.0...v3.44.0) - Changes [v3.43.0...v3.44.0](https://redirect.github.com/zloirock/core-js/compare/v3.43.0...v3.44.0) (87 commits) - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Fixed [several V8 bugs](https://redirect.github.com/zloirock/core-js/issues/1439) in `Uint8Array.fromHex` and `Uint8Array.prototype.{ setFromBase64, toBase64, toHex }`, thanks [**@​brc-dd**](https://redirect.github.com/brc-dd) - [Joint iteration stage 2.7 proposal](https://redirect.github.com/tc39/proposal-joint-iteration): - Uses `Get` in `Iterator.zipKeyed`, following [tc39/proposal-joint-iteration#43](https://redirect.github.com/tc39/proposal-joint-iteration/pull/43) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - `Iterator.concat` no longer reuses `IteratorResult` object of concatenated iterators, following [tc39/proposal-iterator-sequencing#26](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/26) - [`Iterator` chunking stage 2 proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.sliding` - [`Number.prototype.clamp` stage 2 proposal](https://redirect.github.com/tc39/proposal-math-clamp): - `clamp` no longer throws an error on `NaN` as `min` or `max`, following [tc39/proposal-math-clamp#d2387791c265edf66fbe2455eab919016717ce6f](https://redirect.github.com/tc39/proposal-math-clamp/commit/d2387791c265edf66fbe2455eab919016717ce6f) - Fixed some cases of `Set.prototype.{ symmetricDifference, union }` detection - Added missing dependencies to some entries of static `Iterator` methods - Added missing `/full/{ instance, number/virtual }/clamp` entries - Some minor stylistic changes - Compat data improvements: - Added Electron 38 and 39 compat data mapping - Added Oculus Quest Browser 38 and 39 compat data mapping - `Iterator` helpers marked as fixed and updated following the latest spec changes in Safari 26.0 - `Set.prototype.{ difference, symmetricDifference, union }` marked as fixed in Safari 26.0 - `SuppressedError` marked [as fixed](https://bugzilla.mozilla.org/show_bug.cgi?id=1971000) in FF141 - `Error.isError` marked [as fixed](https://redirect.github.com/nodejs/node/pull/58691) in Node 24.3 - `setImmediate` and `clearImmediate` marked as available [from Deno 2.4](https://redirect.github.com/denoland/deno/pull/29877) - `Math.sumPrecise` marked as [shipped in Bun 1.2.18](https://redirect.github.com/oven-sh/bun/pull/20569) - `%TypedArray%.prototype.with` marked as fixed in Bun 1.2.18 ### [`v3.43.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3430---20250609) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) - Changes [v3.42.0...v3.43.0](https://redirect.github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) (139 commits) - [Explicit Resource Management proposals](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Built-ins: - `Symbol.dispose` - `Symbol.asyncDispose` - `SuppressedError` - `DisposableStack` - `DisposableStack.prototype.dispose` - `DisposableStack.prototype.use` - `DisposableStack.prototype.adopt` - `DisposableStack.prototype.defer` - `DisposableStack.prototype.move` - `DisposableStack.prototype[@​@​dispose]` - `AsyncDisposableStack` - `AsyncDisposableStack.prototype.disposeAsync` - `AsyncDisposableStack.prototype.use` - `AsyncDisposableStack.prototype.adopt` - `AsyncDisposableStack.prototype.defer` - `AsyncDisposableStack.prototype.move` - `AsyncDisposableStack.prototype[@​@​asyncDispose]` - `Iterator.prototype[@​@​dispose]` - `AsyncIterator.prototype[@​@​asyncDispose]` - Moved to stable ES, [May 2025 TC39 meeting](https://x.com/robpalmer2/status/1927744934343213085) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Array.fromAsync` proposal](https://redirect.github.com/tc39/proposal-array-from-async): - Built-ins: - `Array.fromAsync` - Moved to stable ES, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposal-array-from-async/issues/14#issuecomment-2916645435) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Error.isError` proposal](https://redirect.github.com/tc39/proposal-is-error): - Built-ins: - `Error.isError` - Moved to stable ES, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/a5d4bb99d79f328533d0c36b0cd20597fa12c7a8) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Added [Joint iteration stage 2.7 proposal](https://redirect.github.com/tc39/proposal-joint-iteration): - Added built-ins: - `Iterator.zip` - `Iterator.zipKeyed` - Added [`Iterator` chunking stage 2 proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.chunks` - `Iterator.prototype.windows` - [`Number.prototype.clamp` proposal](https://redirect.github.com/tc39/proposal-math-clamp): - Built-ins: - `Number.prototype.clamp` - Moved to stage 2, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposal-math-clamp/commit/a005f28a6a03e175b9671de1c8c70dd5b7b08c2d) - `Math.clamp` was replaced with `Number.prototype.clamp` - Removed a `RangeError` if `min <= max` or `+0` min and `-0` max, [tc39/proposal-math-clamp/#​22](https://redirect.github.com/tc39/proposal-math-clamp/issues/22) - Always check regular expression flags by `flags` getter [PR](https://redirect.github.com/tc39/ecma262/pull/2791). Native methods are not fixed, only own implementation updated for: - `RegExp.prototype[@​@​match]` - `RegExp.prototype[@​@​replace]` - Improved handling of `RegExp` flags in polyfills of some methods in engines without proper support of `RegExp.prototype.flags` and without polyfill of this getter - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=288595) that occurs when `this` is updated while `Set.prototype.difference` is being executed - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=289430) that occurs when iterator record of a set-like object isn't called before cloning `this` in the following methods: - `Set.prototype.symmetricDifference` - `Set.prototype.union` - Added feature detection for [a bug](https://issues.chromium.org/issues/336839115) in V8 \~ Chromium < 126. Following methods should throw an error on invalid iterator: - `Iterator.prototype.drop` - `Iterator.prototype.filter` - `Iterator.prototype.flatMap` - `Iterator.prototype.map` - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=288714): incorrect exception thrown by `Iterator.from` when underlying iterator's `return` method is `null` - Added feature detection for a FF bug: incorrect exception thrown by `Array.prototype.with` when index coercion fails - Added feature detection for a WebKit bug: `TypedArray.prototype.with` should truncate negative fractional index to zero, but instead throws an error - Worked around a bug of many different tools ([example](https://redirect.github.com/zloirock/core-js/pull/1368#issuecomment-2908034690)) with incorrect transforming and breaking JS syntax on getting a method from a number literal - Fixed deoptimization of the `Promise` polyfill in the pure version - Added some missed dependencies to `/iterator/flat-map` entries - Some other minor fixes and improvements - Compat data improvements: - Added [Deno 2.3](https://redirect.github.com/denoland/deno/releases/tag/v2.3.0) and [Deno 2.3.2](https://redirect.github.com/denoland/deno/releases/tag/v2.3.2) compat data mapping - Updated Electron 37 compat data mapping - Added Opera Android 90 compat data mapping - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked not supported in Node because of [a bug](https://redirect.github.com/nodejs/node/issues/56497) - `Set.prototype.difference` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=288595) - `Set.prototype.{ symmetricDifference, union }` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=289430) - `Iterator.from` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=288714) - Iterators closing on early errors in `Iterator` helpers marked as implemented from FF141 - `Array.prototype.with` marked as supported only from FF140 because it throws an incorrect exception when index coercion fails - `TypedArray.prototype.with` marked as unsupported in Bun and Safari because it should truncate negative fractional index to zero, but instead throws an error - `DisposableStack` and `AsyncDisposableStack` marked as [shipped in FF141](https://bugzilla.mozilla.org/show_bug.cgi?id=1967744) (`SuppressedError` has [a bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1971000)) - `AsyncDisposableStack` bugs marked as fixed in Deno 2.3.2 - `SuppressedError` bugs ([extra arguments support](https://redirect.github.com/oven-sh/bun/issues/9283) and [arity](https://redirect.github.com/oven-sh/bun/issues/9282)) marked as fixed in Bun 1.2.15 ### [`v3.42.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3420---20250430) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) - Changes [v3.41.0...v3.42.0](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) (142 commits) - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Moved to stage 2.7, [April 2025 TC39 meeting](https://x.com/robpalmer2/status/1911882240109261148) - Validation order of `WeakMap.prototype.getOrInsertComputed` updated following [tc39/proposal-upsert#79](https://redirect.github.com/tc39/proposal-upsert/pull/79) - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Don't call well-known `Symbol` methods for `RegExp` on primitive values following [tc39/ecma262#3009](https://redirect.github.com/tc39/ecma262/pull/3009): - For avoid performance regression, temporarily, only in own `core-js` implementations - Built-ins: - `String.prototype.matchAll` - `String.prototype.match` - `String.prototype.replaceAll` - `String.prototype.replace` - `String.prototype.search` - `String.prototype.split` - Added workaround for the [`Uint8Array.prototype.setFromBase64`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) [bug](https://bugs.webkit.org/show_bug.cgi?id=290829) in some of Linux builds of WebKit - Implemented early-error iterator closing following [tc39/ecma262#3467](https://redirect.github.com/tc39/ecma262/pull/3467), including fix of [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291195), in the following methods: - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - Fixed missing forced replacement of [`AsyncIterator` helpers](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added closing of sync iterator when async wrapper yields a rejection following [tc39/ecma262#2600](https://redirect.github.com/tc39/ecma262/pull/2600). Affected methods: - [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) (due to the lack of async feature detection capability - temporarily, only in own `core-js` implementation) - [`AsyncIterator.from`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - [`Iterator.prototype.toAsync`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added detection for throwing on `undefined` initial parameter in `Iterator.prototype.reduce` (see [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291651)) - `core-js-compat` and `core-js-builder` API: - Added `'intersect'` support for `targets.esmodules` (Babel 7 behavior) - Fixed handling of `targets.esmodules: true` (Babel 7 behavior) - Compat data improvements: - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features disabled (again) in V8 \~ Chromium 135 and re-added in 136 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as [shipped from V8 \~ Chromium 136](https://issues.chromium.org/issues/353856236#comment17) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked as [shipped from FF138](https://bugzilla.mozilla.org/show_bug.cgi?id=1952249) - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features re-enabled in [Deno 2.2.10](https://redirect.github.com/denoland/deno/releases/tag/v2.2.10) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as supported from Deno 1.38.1 since it seems they were disabled in 1.38.0 - `Iterator.prototype.{ drop, reduce, take }` methods marked as fixed in Bun 1.2.11 - Added [NodeJS 24.0](https://redirect.github.com/nodejs/node/pull/57609) compat data mapping - Updated Electron 36 and added Electron 37 compat data mapping - Added Opera Android [88](https://forums.opera.com/topic/83800/opera-for-android-88) and [89](https://forums.opera.com/topic/84437/opera-for-android-89) compat data mapping - Added Oculus Quest Browser 37 compat data mapping ### [`v3.41.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3410---20250301) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) - Changes [v3.40.0...v3.41.0](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) (85 commits) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Float16` proposal](https://redirect.github.com/tc39/proposal-float16array): - Built-ins: - `Math.f16round` - `DataView.prototype.getFloat16` - `DataView.prototype.setFloat16` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Math.clamp` stage 1 proposal](https://redirect.github.com/CanadaHonk/proposal-math-clamp): - Built-ins: - `Math.clamp` - Extracted from [old `Math` extensions proposal](https://redirect.github.com/rwaldron/proposal-math-extensions), [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/0c24594aab19a50b86d0db7248cac5eb0ae35621) - Added arguments validation - Added new entries - Added a workaround of a V8 `AsyncDisposableStack` bug, [tc39/proposal-explicit-resource-management/256](https://redirect.github.com/tc39/proposal-explicit-resource-management/issues/256) - Compat data improvements: - [`DisposableStack`, `SuppressedError` and `Iterator.prototype[@​@​dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as [shipped from V8 \~ Chromium 134](https://issues.chromium.org/issues/42203506#comment24) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) added and marked as [shipped from V8 \~ Chromium 134](https://issues.chromium.org/issues/382104870#comment4) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from V8 \~ Chromium 135](https://issues.chromium.org/issues/42203953#comment36) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18_4-release-notes#New-Features) - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18_4-release-notes#New-Features) - [`Math.sumPrecise`](https://redirect.github.com/tc39/proposal-math-sum) marked as shipped from FF137 - Added [Deno 2.2](https://redirect.github.com/denoland/deno/releases/tag/v2.2.0) compat data and compat data mapping - Explicit Resource Management features are available in V8 \~ Chromium 134, but not in Deno 2.2 based on it - Updated Electron 35 and added Electron 36 compat data mapping - Updated [Opera Android 87](https://forums.opera.com/topic/75836/opera-for-android-87) compat data mapping - Added Samsung Internet 28 compat data mapping - Added Oculus Quest Browser 36 compat data mapping ### [`v3.40.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3400---20250108) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) - Changes [v3.39.0...v3.40.0](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) (130 commits) - Added [`Error.isError` stage 3 proposal](https://redirect.github.com/tc39/proposal-is-error): - Added built-ins: - `Error.isError` - We have no bulletproof way to polyfill this method / check if the object is an error, so it's an enough naive implementation that is marked as `.sham` - [Explicit Resource Management stage 3 proposal](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Updated the way async disposing of only sync disposable resources, [tc39/proposal-explicit-resource-management/218](https://redirect.github.com/tc39/proposal-explicit-resource-management/pull/218) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Reuse `IteratorResult` objects when possible, [tc39/proposal-iterator-sequencing/17](https://redirect.github.com/tc39/proposal-iterator-sequencing/issues/17), [tc39/proposal-iterator-sequencing/18](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/18), December 2024 TC39 meeting - Added a fix of [V8 < 12.8](https://issues.chromium.org/issues/351332634) / [NodeJS < 22.10](https://redirect.github.com/nodejs/node/pull/54883) bug with handling infinite length of set-like objects in `Set` methods - Optimized `DataView.prototype.{ getFloat16, setFloat16 }` performance, [#​1379](https://redirect.github.com/zloirock/core-js/pull/1379), thanks [**@​LeviPesin**](https://redirect.github.com/LeviPesin) - Dropped unneeded feature detection of non-standard `%TypedArray%.prototype.toSpliced` - Dropped possible re-usage of some non-standard / early stage features (like `Math.scale`) available on global - Some other minor improvements - Compat data improvements: - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Safari 18.2 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Safari 18.2 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Safari 18.2 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Safari 18.2 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from FF135](https://bugzilla.mozilla.org/show_bug.cgi?id=1934622) - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped [from FF134](https://bugzilla.mozilla.org/show_bug.cgi?id=1918235) - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from FF134 - [`Symbol.dispose`, `Symbol.asyncDispose` and `Iterator.prototype[@​@​dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as shipped from FF135 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as shipped from Bun 1.1.43 - Fixed NodeJS version where `URL.parse` was added - 22.1 instead of 22.0 - Added [Deno 2.1](https://redirect.github.com/denoland/deno/releases/tag/v2.1.0) compat data mapping - Added [Rhino 1.8.0](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1_8_0_Release) compat data with significant number of modern features - Added Electron 35 compat data mapping - Updated Opera 115+ compat data mapping - Added Opera Android [86](https://forums.opera.com/topic/75006/opera-for-android-86) and 87 compat data mapping ### [`v3.39.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3390---20241031) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - Changes [v3.38.1...v3.39.0](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers): - Built-ins: - `Iterator` - `Iterator.from` - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - `Iterator.prototype.toArray` - `Iterator.prototype[@​@​toStringTag]` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-iterator-helpers/issues/284#event-14549961807) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-promise-try/commit/53d3351687274952b3b88f3ad024d9d68a9c1c93) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Fixed `/actual|full/promise/try` entries for the callback arguments support - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stage 3, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-math-sum/issues/19) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Added built-ins: - `Iterator.concat` - [`Map` upsert stage 2 proposal](https://redirect.github.com/tc39/proposal-upsert): - [Updated to the new API following the October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-upsert/pull/58) - Added built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - [Extractors proposal](https://redirect.github.com/tc39/proposal-extractors) moved to stage 2, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/11bc489049fc5ce59b21e98a670a84f153a29a80) - Usage of `@@​species` pattern removed from `%TypedArray%` and `ArrayBuffer` methods, [tc39/ecma262/3450](https://redirect.github.com/tc39/ecma262/pull/3450): - Built-ins: - `%TypedArray%.prototype.filter` - `%TypedArray%.prototype.filterReject` - `%TypedArray%.prototype.map` - `%TypedArray%.prototype.slice` - `%TypedArray%.prototype.subarray` - `ArrayBuffer.prototype.slice` - Some other minor improvements - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as [shipped from FF133](https://bugzilla.mozilla.org/show_bug.cgi?id=1917885#c9) - Added [NodeJS 23.0](https://nodejs.org/en/blog/release/v23.0.0) compat data mapping - `self` descriptor [is fixed](https://redirect.github.com/denoland/deno/issues/24683) in Deno 1.46.0 - Added Deno [1.46](https://redirect.github.com/denoland/deno/releases/tag/v1.46.0) and [2.0](https://redirect.github.com/denoland/deno/releases/tag/v2.0.0) compat data mapping - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from Bun 1.1.31](https://redirect.github.com/oven-sh/bun/pull/14455) - Added Electron 34 and updated Electron 33 compat data mapping - Added [Opera Android 85](https://forums.opera.com/topic/74256/opera-for-android-85) compat data mapping - Added Oculus Quest Browser 35 compat data mapping ### [`v3.38.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3381---20240820) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Changes [v3.38.0...v3.38.1](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Fixed some cases of `URLSearchParams` percent decoding, [#​1357](https://redirect.github.com/zloirock/core-js/issues/1357), [#​1361](https://redirect.github.com/zloirock/core-js/pull/1361), thanks [**@​slowcheetah**](https://redirect.github.com/slowcheetah) - Some stylistic changes and minor optimizations - Compat data improvements: - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from FF131](https://bugzilla.mozilla.org/show_bug.cgi?id=1896390) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Bun 1.1.23 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Bun 1.1.22 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Bun 1.1.22 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Bun 1.1.22 - Added [Hermes 0.13](https://redirect.github.com/facebook/hermes/releases/tag/v0.13.0) compat data, similar to React Native 0.75 Hermes - Added [Opera Android 84](https://forums.opera.com/topic/73545/opera-for-android-84) compat data mapping ### [`v3.38.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3380---20240805) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - Changes [v3.37.1...v3.38.0](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stage 3, [June 2024](https://redirect.github.com/tc39/proposals/commit/4b8ee265248abfa2c88ed71b3c541ddd5a2eaffe) and [July 2024](https://redirect.github.com/tc39/proposals/commit/bdb2eea6c5e41a52f2d6047d7de1a31b5d188c4f) TC39 meetings - Updated the way of escaping, [regex-escaping/77](https://redirect.github.com/tc39/proposal-regex-escaping/pull/77) - Throw an error on non-strings, [regex-escaping/58](https://redirect.github.com/tc39/proposal-regex-escaping/pull/58) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Promise.try` proposal](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stage 3, [June 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/de20984cd7f7bc616682c557cb839abc100422cb) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Added `Uint8Array.prototype.{ setFromBase64, setFromHex }` methods - Added `Uint8Array.fromBase64` and `Uint8Array.prototype.setFromBase64` `lastChunkHandling` option, [proposal-arraybuffer-base64/33](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/33) - Added `Uint8Array.prototype.toBase64` `omitPadding` option, [proposal-arraybuffer-base64/60](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/60) - Added throwing a `TypeError` on arrays backed by detached buffers - Unconditional forced replacement changed to feature detection - Fixed `RegExp` named capture groups polyfill in combination with non-capturing groups, [#​1352](https://redirect.github.com/zloirock/core-js/pull/1352), thanks [**@​Ulop**](https://redirect.github.com/Ulop) - Improved some cases of environment detection - Uses [`process.getBuiltinModule`](https://nodejs.org/docs/latest/api/process.html#processgetbuiltinmoduleid) for getting built-in NodeJS modules where it's available - Uses `https` instead of `http` in `URL` constructor feature detection to avoid extra notifications from some overly vigilant security scanners, [#​1345](https://redirect.github.com/zloirock/core-js/issues/1345) - Some minor optimizations - Updated `browserslist` in `core-js-compat` dependencies that fixes an upstream issue with incorrect interpretation of some `browserslist` queries, [#​1344](https://redirect.github.com/zloirock/core-js/issues/1344), [browserslist/829](https://redirect.github.com/browserslist/browserslist/issues/829), [browserslist/836](https://redirect.github.com/browserslist/browserslist/pull/836) - Compat data improvements: - Added [Safari 18.0](https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/) compat data: - Fixed [`Object.groupBy` and `Map.groupBy`](https://redirect.github.com/tc39/proposal-array-grouping) to [work for non-objects](https://bugs.webkit.org/show_bug.cgi?id=271524) - Fixed [throwing a `RangeError` if `Set` methods are called on an object with negative size property](https://bugs.webkit.org/show_bug.cgi?id=267494) - Fixed [`Set.prototype.symmetricDifference` to call `this.has` in each iteration](https://bugs.webkit.org/show_bug.cgi?id=272679) - Fixed [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) to [not call the `Array` constructor twice](https://bugs.webkit.org/show_bug.cgi?id=271703) - Added [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from FF129](https://bugzilla.mozilla.org/show_bug.cgi?id=1903329) - [`Symbol.asyncDispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 \~ Chromium 127 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) added and marked as supported [from V8 \~ Chromium 128](https://chromestatus.com/feature/6315704705089536) - Added Deno [1.44](https://redirect.github.com/denoland/deno/releases/tag/v1.44.0) and [1.45](https://redirect.github.com/denoland/deno/releases/tag/v1.45.0) compat data mapping - `self` descriptor [is broken in Deno 1.45.3](https://redirect.github.com/denoland/deno/issues/24683) (again) - Added Electron 32 and 33 compat data mapping - Added [Opera Android 83](https://forums.opera.com/topic/72570/opera-for-android-83) compat data mapping - Added Samsung Internet 27 compat data mapping - Added Oculus Quest Browser 34 compat data mapping ### [`v3.37.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3371---20240514) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Changes [v3.37.0...v3.37.1](https://redirect.github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Fixed [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) feature detection for some specific cases - Compat data improvements: - [`Set` methods proposal](https://redirect.github.com/tc39/proposal-set-methods) added and marked as [supported from FF 127](https://bugzilla.mozilla.org/show_bug.cgi?id=1868423) - [`Symbol.dispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 \~ Chromium 125 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) added and marked as [supported from Deno 1.43](https://redirect.github.com/denoland/deno/pull/23490) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Chromium 126](https://chromestatus.com/feature/6301071388704768) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from NodeJS 22.0](https://redirect.github.com/nodejs/node/pull/52280) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Deno 1.43](https://redirect.github.com/denoland/deno/pull/23318) - Added [Rhino 1.7.15](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1_7_15_Release) compat data, many features marked as supported - Added [NodeJS 22.0](https://nodejs.org/en/blog/release/v22.0.0) compat data mapping - Added [Deno 1.43](https://redirect.github.com/denoland/deno/releases/tag/v1.43.0) compat data mapping - Added Electron 31 compat data mapping - Updated [Opera Android 82](https://forums.opera.com/topic/71513/opera-for-android-82) compat data mapping - Added Samsung Internet 26 compat data mapping - Added Oculus Quest Browser 33 compat data mapping </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/X-oss-byte/Nextjs).
cd6e94f to
a54bd58
Compare
Following the Normative Change approved by TC39, which states that the RegExp's well-known symbols method should not be executed on primitive values. tc39/ecma262#3009 Fixed: 451217461 Change-Id: Iae42c70ae7067223ff580276f182ab050a365187 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7031243 Reviewed-by: Jakob Linke <[email protected]> Commit-Queue: Patrick Thier <[email protected]> Commit-Queue: Jakob Linke <[email protected]> Reviewed-by: Patrick Thier <[email protected]> Cr-Commit-Position: refs/heads/main@{#103211}
|
Where has this change been implemented? |
|
@ljharb The OP lists 3 implementations. |
|
awesome, thanks :-) |
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [core-js](https://core-js.io) ([source](https://redirect.github.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.46.0` -> `3.47.0`](https://renovatebot.com/diffs/npm/core-js/3.37.0/3.47.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>zloirock/core-js (core-js)</summary> ### [`v3.47.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3470---20251118) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.46.0...v3.47.0) - Changes [v3.46.0...v3.47.0](https://redirect.github.com/zloirock/core-js/compare/v3.46.0...v3.47.0) (117 commits) - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) : - Built-ins: - `JSON.isRawJSON` - `JSON.parse` - `JSON.rawJSON` - `JSON.stringify` - Moved to stable ES, [November 2025 TC39 meeting](https://x.com/robpalmer2/status/1990603365236289653) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - Reworked `JSON.stringify` internals - [`Iterator` sequencing proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Built-ins: - `Iterator.concat` - Moved to stable ES, [November 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/33be3cb6d6743c7cc8628c547423f49078c0b655) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [Joint iteration proposal](https://redirect.github.com/tc39/proposal-joint-iteration): - Built-ins: - `Iterator.zip` - `Iterator.zipKeyed` - Moved to stage 3, [November 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/6c0126b8f44323254c93045ee7ec216e49b83ddd) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Fixed increasing `.size` in `URLSearchParams.prototype.append` polyfill in IE8- - Compat data improvements: - [`Iterator.concat`](https://redirect.github.com/tc39/proposal-iterator-sequencing) marked as [shipped in FF147](https://bugzilla.mozilla.org/show_bug.cgi?id=1986672#c4) - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert) features marked as shipped in Safari 26.2 - `Math.sumPrecise` marked as shipped in Safari 26.2 - `Uint8Array.{ fromBase64, prototype.setFromBase64 }` marked as fixed in Safari 26.2 - Missed [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features [added in Bun 1.3.0](https://bun.com/blog/bun-v1.3#disposablestack-and-asyncdisposablestack) - Added Oculus Quest Browser 41 compat data mapping - Added Electron 40 compat data mapping ### [`v3.46.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3460---20251009) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.45.1...v3.46.0) - Changes [v3.45.1...v3.46.0](https://redirect.github.com/zloirock/core-js/compare/v3.45.1...v3.46.0) (116 commits) - [`Map` upsert stage 3 proposal](https://redirect.github.com/tc39/proposal-upsert): - Fixed [a FF `WeakMap.prototype.getOrInsertComputed` bug with callback calling before validation a key](https://bugzilla.mozilla.org/show_bug.cgi?id=1988369) - [`Iterator` chunking proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Built-ins: - `Iterator.prototype.chunks` - `Iterator.prototype.windows` - Moved to stage 2.7, [September 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/08e583103c6c244c05a26d9fee518ef8145ba2f6) - `Iterator.prototype.sliding` method replaced with an extra parameter of `Iterator.prototype.windows` method, [tc39/proposal-iterator-chunking/#​24](https://redirect.github.com/tc39/proposal-iterator-chunking/pull/24), [tc39/proposal-iterator-chunking/#​26](https://redirect.github.com/tc39/proposal-iterator-chunking/pull/26) - Fixed [`Iterator.zip` and `Iterator.zipKeyed`](https://redirect.github.com/tc39/proposal-joint-iteration) behavior with `mode: 'longest'` option, [#​1469](https://redirect.github.com/zloirock/core-js/issues/1469), thanks [**@​lionel-rowe**](https://redirect.github.com/lionel-rowe) - Fixed work of `Object.groupBy` and [`Iterator.zipKeyed`](https://redirect.github.com/tc39/proposal-joint-iteration) together with `Symbol` polyfill - some cases of symbol keys on result `null`-prototype object were able to leak out to `for-in` - Compat data improvements: - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert) features marked as shipped from FF144 - Added [Node 25.0](https://redirect.github.com/nodejs/node/pull/59896) compat data mapping - Added [Deno 2.5](https://redirect.github.com/denoland/deno/releases/tag/v2.5.0) compat data mapping - Updated Electron 39 compat data mapping - Updated Opera 121+ compat data mapping - Added [Opera Android 92](https://forums.opera.com/topic/86530/opera-for-android-92) compat data mapping - Added Oculus Quest Browser 40 compat data mapping ### [`v3.45.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3451---20250820) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.45.0...v3.45.1) - Changes [v3.45.0...v3.45.1](https://redirect.github.com/zloirock/core-js/compare/v3.45.0...v3.45.1) (30 commits) - Fixed a conflict of native methods from [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert) with polyfilled methods in the pure version - Added `bugs` fields to `package.json` of all packages - Compat data improvements: - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert) features marked as shipped from Bun 1.2.20 - Added Samsung Internet 29 compat data mapping - Added Electron 39 compat data mapping ### [`v3.45.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3450---20250804) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.44.0...v3.45.0) - Changes [v3.44.0...v3.45.0](https://redirect.github.com/zloirock/core-js/compare/v3.44.0...v3.45.0) (70 commits) - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Moved to stable ES, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/d41fe182cdb90da3076ab711aae3944ed86bcf18) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - Added detection of a Webkit bug: `Uint8Array` fromBase64 / setFromBase64 does not throw an error on incorrect length of base64 string - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stable ES, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/2616413ace9074bfd444adee9501fae4c8d66fcb) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Iterator` sequencing proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Built-ins: - `Iterator.concat` - Moved to stage 3, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/3eebab0f8594673dd08bc709d68c011016074c2e) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Moved to stage 3, [July 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/a9c0dfa4e00ffb69aa4df91d8c0c26b064d67108) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added missing dependencies to some entries of static `Iterator` methods - Fixed [Joint Iteration proposal](https://redirect.github.com/tc39/proposal-joint-iteration) in `/stage/` entries - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) features marked as [supported from V8 \~ Chromium 140](https://issues.chromium.org/issues/42204568#comment37) - [`Uint8Array.{ fromBase64, prototype.setFromBase64 }`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) marked as unsupported in Safari and supported only from Bun 1.2.20 because of a bug: it does not throw an error on incorrect length of base64 string - `%TypedArray%.prototype.with` marked as fixed in Safari 26.0 - Updated Electron 38 compat data mapping - Added [Opera Android 91](https://forums.opera.com/topic/86005/opera-for-android-91) compat data mapping ### [`v3.44.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3440---20250707) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.43.0...v3.44.0) - Changes [v3.43.0...v3.44.0](https://redirect.github.com/zloirock/core-js/compare/v3.43.0...v3.44.0) (87 commits) - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Fixed [several V8 bugs](https://redirect.github.com/zloirock/core-js/issues/1439) in `Uint8Array.fromHex` and `Uint8Array.prototype.{ setFromBase64, toBase64, toHex }`, thanks [**@​brc-dd**](https://redirect.github.com/brc-dd) - [Joint iteration stage 2.7 proposal](https://redirect.github.com/tc39/proposal-joint-iteration): - Uses `Get` in `Iterator.zipKeyed`, following [tc39/proposal-joint-iteration#43](https://redirect.github.com/tc39/proposal-joint-iteration/pull/43) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - `Iterator.concat` no longer reuses `IteratorResult` object of concatenated iterators, following [tc39/proposal-iterator-sequencing#26](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/26) - [`Iterator` chunking stage 2 proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.sliding` - [`Number.prototype.clamp` stage 2 proposal](https://redirect.github.com/tc39/proposal-math-clamp): - `clamp` no longer throws an error on `NaN` as `min` or `max`, following [tc39/proposal-math-clamp#d2387791c265edf66fbe2455eab919016717ce6f](https://redirect.github.com/tc39/proposal-math-clamp/commit/d2387791c265edf66fbe2455eab919016717ce6f) - Fixed some cases of `Set.prototype.{ symmetricDifference, union }` detection - Added missing dependencies to some entries of static `Iterator` methods - Added missing `/full/{ instance, number/virtual }/clamp` entries - Some minor stylistic changes - Compat data improvements: - Added Electron 38 and 39 compat data mapping - Added Oculus Quest Browser 38 and 39 compat data mapping - `Iterator` helpers marked as fixed and updated following the latest spec changes in Safari 26.0 - `Set.prototype.{ difference, symmetricDifference, union }` marked as fixed in Safari 26.0 - `SuppressedError` marked [as fixed](https://bugzilla.mozilla.org/show_bug.cgi?id=1971000) in FF141 - `Error.isError` marked [as fixed](https://redirect.github.com/nodejs/node/pull/58691) in Node 24.3 - `setImmediate` and `clearImmediate` marked as available [from Deno 2.4](https://redirect.github.com/denoland/deno/pull/29877) - `Math.sumPrecise` marked as [shipped in Bun 1.2.18](https://redirect.github.com/oven-sh/bun/pull/20569) - `%TypedArray%.prototype.with` marked as fixed in Bun 1.2.18 ### [`v3.43.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3430---20250609) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) - Changes [v3.42.0...v3.43.0](https://redirect.github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) (139 commits) - [Explicit Resource Management proposals](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Built-ins: - `Symbol.dispose` - `Symbol.asyncDispose` - `SuppressedError` - `DisposableStack` - `DisposableStack.prototype.dispose` - `DisposableStack.prototype.use` - `DisposableStack.prototype.adopt` - `DisposableStack.prototype.defer` - `DisposableStack.prototype.move` - `DisposableStack.prototype[@​@​dispose]` - `AsyncDisposableStack` - `AsyncDisposableStack.prototype.disposeAsync` - `AsyncDisposableStack.prototype.use` - `AsyncDisposableStack.prototype.adopt` - `AsyncDisposableStack.prototype.defer` - `AsyncDisposableStack.prototype.move` - `AsyncDisposableStack.prototype[@​@​asyncDispose]` - `Iterator.prototype[@​@​dispose]` - `AsyncIterator.prototype[@​@​asyncDispose]` - Moved to stable ES, [May 2025 TC39 meeting](https://x.com/robpalmer2/status/1927744934343213085) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Array.fromAsync` proposal](https://redirect.github.com/tc39/proposal-array-from-async): - Built-ins: - `Array.fromAsync` - Moved to stable ES, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposal-array-from-async/issues/14#issuecomment-2916645435) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Error.isError` proposal](https://redirect.github.com/tc39/proposal-is-error): - Built-ins: - `Error.isError` - Moved to stable ES, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/a5d4bb99d79f328533d0c36b0cd20597fa12c7a8) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Added [Joint iteration stage 2.7 proposal](https://redirect.github.com/tc39/proposal-joint-iteration): - Added built-ins: - `Iterator.zip` - `Iterator.zipKeyed` - Added [`Iterator` chunking stage 2 proposal](https://redirect.github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.chunks` - `Iterator.prototype.windows` - [`Number.prototype.clamp` proposal](https://redirect.github.com/tc39/proposal-math-clamp): - Built-ins: - `Number.prototype.clamp` - Moved to stage 2, [May 2025 TC39 meeting](https://redirect.github.com/tc39/proposal-math-clamp/commit/a005f28a6a03e175b9671de1c8c70dd5b7b08c2d) - `Math.clamp` was replaced with `Number.prototype.clamp` - Removed a `RangeError` if `min <= max` or `+0` min and `-0` max, [tc39/proposal-math-clamp/#​22](https://redirect.github.com/tc39/proposal-math-clamp/issues/22) - Always check regular expression flags by `flags` getter [PR](https://redirect.github.com/tc39/ecma262/pull/2791). Native methods are not fixed, only own implementation updated for: - `RegExp.prototype[@​@​match]` - `RegExp.prototype[@​@​replace]` - Improved handling of `RegExp` flags in polyfills of some methods in engines without proper support of `RegExp.prototype.flags` and without polyfill of this getter - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=288595) that occurs when `this` is updated while `Set.prototype.difference` is being executed - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=289430) that occurs when iterator record of a set-like object isn't called before cloning `this` in the following methods: - `Set.prototype.symmetricDifference` - `Set.prototype.union` - Added feature detection for [a bug](https://issues.chromium.org/issues/336839115) in V8 \~ Chromium < 126. Following methods should throw an error on invalid iterator: - `Iterator.prototype.drop` - `Iterator.prototype.filter` - `Iterator.prototype.flatMap` - `Iterator.prototype.map` - Added feature detection for [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=288714): incorrect exception thrown by `Iterator.from` when underlying iterator's `return` method is `null` - Added feature detection for a FF bug: incorrect exception thrown by `Array.prototype.with` when index coercion fails - Added feature detection for a WebKit bug: `TypedArray.prototype.with` should truncate negative fractional index to zero, but instead throws an error - Worked around a bug of many different tools ([example](https://redirect.github.com/zloirock/core-js/pull/1368#issuecomment-2908034690)) with incorrect transforming and breaking JS syntax on getting a method from a number literal - Fixed deoptimization of the `Promise` polyfill in the pure version - Added some missed dependencies to `/iterator/flat-map` entries - Some other minor fixes and improvements - Compat data improvements: - Added [Deno 2.3](https://redirect.github.com/denoland/deno/releases/tag/v2.3.0) and [Deno 2.3.2](https://redirect.github.com/denoland/deno/releases/tag/v2.3.2) compat data mapping - Updated Electron 37 compat data mapping - Added Opera Android 90 compat data mapping - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked not supported in Node because of [a bug](https://redirect.github.com/nodejs/node/issues/56497) - `Set.prototype.difference` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=288595) - `Set.prototype.{ symmetricDifference, union }` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=289430) - `Iterator.from` marked as not supported in Safari and supported only from Bun 1.2.5 because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=288714) - Iterators closing on early errors in `Iterator` helpers marked as implemented from FF141 - `Array.prototype.with` marked as supported only from FF140 because it throws an incorrect exception when index coercion fails - `TypedArray.prototype.with` marked as unsupported in Bun and Safari because it should truncate negative fractional index to zero, but instead throws an error - `DisposableStack` and `AsyncDisposableStack` marked as [shipped in FF141](https://bugzilla.mozilla.org/show_bug.cgi?id=1967744) (`SuppressedError` has [a bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1971000)) - `AsyncDisposableStack` bugs marked as fixed in Deno 2.3.2 - `SuppressedError` bugs ([extra arguments support](https://redirect.github.com/oven-sh/bun/issues/9283) and [arity](https://redirect.github.com/oven-sh/bun/issues/9282)) marked as fixed in Bun 1.2.15 ### [`v3.42.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3420---20250430) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) - Changes [v3.41.0...v3.42.0](https://redirect.github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) (142 commits) - [`Map` upsert proposal](https://redirect.github.com/tc39/proposal-upsert): - Moved to stage 2.7, [April 2025 TC39 meeting](https://x.com/robpalmer2/status/1911882240109261148) - Validation order of `WeakMap.prototype.getOrInsertComputed` updated following [tc39/proposal-upsert#79](https://redirect.github.com/tc39/proposal-upsert/pull/79) - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Don't call well-known `Symbol` methods for `RegExp` on primitive values following [tc39/ecma262#3009](https://redirect.github.com/tc39/ecma262/pull/3009): - For avoid performance regression, temporarily, only in own `core-js` implementations - Built-ins: - `String.prototype.matchAll` - `String.prototype.match` - `String.prototype.replaceAll` - `String.prototype.replace` - `String.prototype.search` - `String.prototype.split` - Added workaround for the [`Uint8Array.prototype.setFromBase64`](https://redirect.github.com/tc39/proposal-arraybuffer-base64) [bug](https://bugs.webkit.org/show_bug.cgi?id=290829) in some of Linux builds of WebKit - Implemented early-error iterator closing following [tc39/ecma262#3467](https://redirect.github.com/tc39/ecma262/pull/3467), including fix of [a WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291195), in the following methods: - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - Fixed missing forced replacement of [`AsyncIterator` helpers](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added closing of sync iterator when async wrapper yields a rejection following [tc39/ecma262#2600](https://redirect.github.com/tc39/ecma262/pull/2600). Affected methods: - [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) (due to the lack of async feature detection capability - temporarily, only in own `core-js` implementation) - [`AsyncIterator.from`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - [`Iterator.prototype.toAsync`](https://redirect.github.com/tc39/proposal-async-iterator-helpers) - Added detection for throwing on `undefined` initial parameter in `Iterator.prototype.reduce` (see [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=291651)) - `core-js-compat` and `core-js-builder` API: - Added `'intersect'` support for `targets.esmodules` (Babel 7 behavior) - Fixed handling of `targets.esmodules: true` (Babel 7 behavior) - Compat data improvements: - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features disabled (again) in V8 \~ Chromium 135 and re-added in 136 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as [shipped from V8 \~ Chromium 136](https://issues.chromium.org/issues/353856236#comment17) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) marked as [shipped from FF138](https://bugzilla.mozilla.org/show_bug.cgi?id=1952249) - [Explicit Resource Management](https://redirect.github.com/tc39/proposal-explicit-resource-management) features re-enabled in [Deno 2.2.10](https://redirect.github.com/denoland/deno/releases/tag/v2.2.10) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as supported from Deno 1.38.1 since it seems they were disabled in 1.38.0 - `Iterator.prototype.{ drop, reduce, take }` methods marked as fixed in Bun 1.2.11 - Added [NodeJS 24.0](https://redirect.github.com/nodejs/node/pull/57609) compat data mapping - Updated Electron 36 and added Electron 37 compat data mapping - Added Opera Android [88](https://forums.opera.com/topic/83800/opera-for-android-88) and [89](https://forums.opera.com/topic/84437/opera-for-android-89) compat data mapping - Added Oculus Quest Browser 37 compat data mapping ### [`v3.41.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3410---20250301) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) - Changes [v3.40.0...v3.41.0](https://redirect.github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) (85 commits) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Float16` proposal](https://redirect.github.com/tc39/proposal-float16array): - Built-ins: - `Math.f16round` - `DataView.prototype.getFloat16` - `DataView.prototype.setFloat16` - Moved to stable ES, [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Math.clamp` stage 1 proposal](https://redirect.github.com/CanadaHonk/proposal-math-clamp): - Built-ins: - `Math.clamp` - Extracted from [old `Math` extensions proposal](https://redirect.github.com/rwaldron/proposal-math-extensions), [February 2025 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/0c24594aab19a50b86d0db7248cac5eb0ae35621) - Added arguments validation - Added new entries - Added a workaround of a V8 `AsyncDisposableStack` bug, [tc39/proposal-explicit-resource-management/256](https://redirect.github.com/tc39/proposal-explicit-resource-management/issues/256) - Compat data improvements: - [`DisposableStack`, `SuppressedError` and `Iterator.prototype[@​@​dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as [shipped from V8 \~ Chromium 134](https://issues.chromium.org/issues/42203506#comment24) - [`Error.isError`](https://redirect.github.com/tc39/proposal-is-error) added and marked as [shipped from V8 \~ Chromium 134](https://issues.chromium.org/issues/382104870#comment4) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from V8 \~ Chromium 135](https://issues.chromium.org/issues/42203953#comment36) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18_4-release-notes#New-Features) - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18_4-release-notes#New-Features) - [`Math.sumPrecise`](https://redirect.github.com/tc39/proposal-math-sum) marked as shipped from FF137 - Added [Deno 2.2](https://redirect.github.com/denoland/deno/releases/tag/v2.2.0) compat data and compat data mapping - Explicit Resource Management features are available in V8 \~ Chromium 134, but not in Deno 2.2 based on it - Updated Electron 35 and added Electron 36 compat data mapping - Updated [Opera Android 87](https://forums.opera.com/topic/75836/opera-for-android-87) compat data mapping - Added Samsung Internet 28 compat data mapping - Added Oculus Quest Browser 36 compat data mapping ### [`v3.40.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3400---20250108) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) - Changes [v3.39.0...v3.40.0](https://redirect.github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) (130 commits) - Added [`Error.isError` stage 3 proposal](https://redirect.github.com/tc39/proposal-is-error): - Added built-ins: - `Error.isError` - We have no bulletproof way to polyfill this method / check if the object is an error, so it's an enough naive implementation that is marked as `.sham` - [Explicit Resource Management stage 3 proposal](https://redirect.github.com/tc39/proposal-explicit-resource-management): - Updated the way async disposing of only sync disposable resources, [tc39/proposal-explicit-resource-management/218](https://redirect.github.com/tc39/proposal-explicit-resource-management/pull/218) - [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Reuse `IteratorResult` objects when possible, [tc39/proposal-iterator-sequencing/17](https://redirect.github.com/tc39/proposal-iterator-sequencing/issues/17), [tc39/proposal-iterator-sequencing/18](https://redirect.github.com/tc39/proposal-iterator-sequencing/pull/18), December 2024 TC39 meeting - Added a fix of [V8 < 12.8](https://issues.chromium.org/issues/351332634) / [NodeJS < 22.10](https://redirect.github.com/nodejs/node/pull/54883) bug with handling infinite length of set-like objects in `Set` methods - Optimized `DataView.prototype.{ getFloat16, setFloat16 }` performance, [#​1379](https://redirect.github.com/zloirock/core-js/pull/1379), thanks [**@​LeviPesin**](https://redirect.github.com/LeviPesin) - Dropped unneeded feature detection of non-standard `%TypedArray%.prototype.toSpliced` - Dropped possible re-usage of some non-standard / early stage features (like `Math.scale`) available on global - Some other minor improvements - Compat data improvements: - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Safari 18.2 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Safari 18.2 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Safari 18.2 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Safari 18.2 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as [shipped from FF135](https://bugzilla.mozilla.org/show_bug.cgi?id=1934622) - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped [from FF134](https://bugzilla.mozilla.org/show_bug.cgi?id=1918235) - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from FF134 - [`Symbol.dispose`, `Symbol.asyncDispose` and `Iterator.prototype[@​@​dispose]`](https://redirect.github.com/tc39/proposal-explicit-resource-management) marked as shipped from FF135 - [`JSON.parse` source text access proposal](https://redirect.github.com/tc39/proposal-json-parse-with-source) features marked as shipped from Bun 1.1.43 - Fixed NodeJS version where `URL.parse` was added - 22.1 instead of 22.0 - Added [Deno 2.1](https://redirect.github.com/denoland/deno/releases/tag/v2.1.0) compat data mapping - Added [Rhino 1.8.0](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1_8_0_Release) compat data with significant number of modern features - Added Electron 35 compat data mapping - Updated Opera 115+ compat data mapping - Added Opera Android [86](https://forums.opera.com/topic/75006/opera-for-android-86) and 87 compat data mapping ### [`v3.39.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3390---20241031) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - Changes [v3.38.1...v3.39.0](https://redirect.github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers): - Built-ins: - `Iterator` - `Iterator.from` - `Iterator.prototype.drop` - `Iterator.prototype.every` - `Iterator.prototype.filter` - `Iterator.prototype.find` - `Iterator.prototype.flatMap` - `Iterator.prototype.forEach` - `Iterator.prototype.map` - `Iterator.prototype.reduce` - `Iterator.prototype.some` - `Iterator.prototype.take` - `Iterator.prototype.toArray` - `Iterator.prototype[@​@​toStringTag]` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-iterator-helpers/issues/284#event-14549961807) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stable ES, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-promise-try/commit/53d3351687274952b3b88f3ad024d9d68a9c1c93) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Fixed `/actual|full/promise/try` entries for the callback arguments support - [`Math.sumPrecise` proposal](https://redirect.github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stage 3, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-math-sum/issues/19) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added [`Iterator` sequencing stage 2.7 proposal](https://redirect.github.com/tc39/proposal-iterator-sequencing): - Added built-ins: - `Iterator.concat` - [`Map` upsert stage 2 proposal](https://redirect.github.com/tc39/proposal-upsert): - [Updated to the new API following the October 2024 TC39 meeting](https://redirect.github.com/tc39/proposal-upsert/pull/58) - Added built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - [Extractors proposal](https://redirect.github.com/tc39/proposal-extractors) moved to stage 2, [October 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/11bc489049fc5ce59b21e98a670a84f153a29a80) - Usage of `@@​species` pattern removed from `%TypedArray%` and `ArrayBuffer` methods, [tc39/ecma262/3450](https://redirect.github.com/tc39/ecma262/pull/3450): - Built-ins: - `%TypedArray%.prototype.filter` - `%TypedArray%.prototype.filterReject` - `%TypedArray%.prototype.map` - `%TypedArray%.prototype.slice` - `%TypedArray%.prototype.subarray` - `ArrayBuffer.prototype.slice` - Some other minor improvements - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as [shipped from FF133](https://bugzilla.mozilla.org/show_bug.cgi?id=1917885#c9) - Added [NodeJS 23.0](https://nodejs.org/en/blog/release/v23.0.0) compat data mapping - `self` descriptor [is fixed](https://redirect.github.com/denoland/deno/issues/24683) in Deno 1.46.0 - Added Deno [1.46](https://redirect.github.com/denoland/deno/releases/tag/v1.46.0) and [2.0](https://redirect.github.com/denoland/deno/releases/tag/v2.0.0) compat data mapping - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from Bun 1.1.31](https://redirect.github.com/oven-sh/bun/pull/14455) - Added Electron 34 and updated Electron 33 compat data mapping - Added [Opera Android 85](https://forums.opera.com/topic/74256/opera-for-android-85) compat data mapping - Added Oculus Quest Browser 35 compat data mapping ### [`v3.38.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3381---20240820) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Changes [v3.38.0...v3.38.1](https://redirect.github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Fixed some cases of `URLSearchParams` percent decoding, [#​1357](https://redirect.github.com/zloirock/core-js/issues/1357), [#​1361](https://redirect.github.com/zloirock/core-js/pull/1361), thanks [**@​slowcheetah**](https://redirect.github.com/slowcheetah) - Some stylistic changes and minor optimizations - Compat data improvements: - [`Iterator` helpers proposal](https://redirect.github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from FF131](https://bugzilla.mozilla.org/show_bug.cgi?id=1896390) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as shipped from Bun 1.1.23 - [`RegExp.escape`](https://redirect.github.com/tc39/proposal-regex-escaping) marked as shipped from Bun 1.1.22 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) marked as shipped from Bun 1.1.22 - [`Uint8Array` to / from base64 and hex proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Bun 1.1.22 - Added [Hermes 0.13](https://redirect.github.com/facebook/hermes/releases/tag/v0.13.0) compat data, similar to React Native 0.75 Hermes - Added [Opera Android 84](https://forums.opera.com/topic/73545/opera-for-android-84) compat data mapping ### [`v3.38.0`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3380---20240805) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - Changes [v3.37.1...v3.38.0](https://redirect.github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - [`RegExp.escape` proposal](https://redirect.github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stage 3, [June 2024](https://redirect.github.com/tc39/proposals/commit/4b8ee265248abfa2c88ed71b3c541ddd5a2eaffe) and [July 2024](https://redirect.github.com/tc39/proposals/commit/bdb2eea6c5e41a52f2d6047d7de1a31b5d188c4f) TC39 meetings - Updated the way of escaping, [regex-escaping/77](https://redirect.github.com/tc39/proposal-regex-escaping/pull/77) - Throw an error on non-strings, [regex-escaping/58](https://redirect.github.com/tc39/proposal-regex-escaping/pull/58) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Promise.try` proposal](https://redirect.github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stage 3, [June 2024 TC39 meeting](https://redirect.github.com/tc39/proposals/commit/de20984cd7f7bc616682c557cb839abc100422cb) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://redirect.github.com/tc39/proposal-arraybuffer-base64): - Built-ins: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.setFromBase64` - `Uint8Array.prototype.setFromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Added `Uint8Array.prototype.{ setFromBase64, setFromHex }` methods - Added `Uint8Array.fromBase64` and `Uint8Array.prototype.setFromBase64` `lastChunkHandling` option, [proposal-arraybuffer-base64/33](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/33) - Added `Uint8Array.prototype.toBase64` `omitPadding` option, [proposal-arraybuffer-base64/60](https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/60) - Added throwing a `TypeError` on arrays backed by detached buffers - Unconditional forced replacement changed to feature detection - Fixed `RegExp` named capture groups polyfill in combination with non-capturing groups, [#​1352](https://redirect.github.com/zloirock/core-js/pull/1352), thanks [**@​Ulop**](https://redirect.github.com/Ulop) - Improved some cases of environment detection - Uses [`process.getBuiltinModule`](https://nodejs.org/docs/latest/api/process.html#processgetbuiltinmoduleid) for getting built-in NodeJS modules where it's available - Uses `https` instead of `http` in `URL` constructor feature detection to avoid extra notifications from some overly vigilant security scanners, [#​1345](https://redirect.github.com/zloirock/core-js/issues/1345) - Some minor optimizations - Updated `browserslist` in `core-js-compat` dependencies that fixes an upstream issue with incorrect interpretation of some `browserslist` queries, [#​1344](https://redirect.github.com/zloirock/core-js/issues/1344), [browserslist/829](https://redirect.github.com/browserslist/browserslist/issues/829), [browserslist/836](https://redirect.github.com/browserslist/browserslist/pull/836) - Compat data improvements: - Added [Safari 18.0](https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/) compat data: - Fixed [`Object.groupBy` and `Map.groupBy`](https://redirect.github.com/tc39/proposal-array-grouping) to [work for non-objects](https://bugs.webkit.org/show_bug.cgi?id=271524) - Fixed [throwing a `RangeError` if `Set` methods are called on an object with negative size property](https://bugs.webkit.org/show_bug.cgi?id=267494) - Fixed [`Set.prototype.symmetricDifference` to call `this.has` in each iteration](https://bugs.webkit.org/show_bug.cgi?id=272679) - Fixed [`Array.fromAsync`](https://redirect.github.com/tc39/proposal-array-from-async) to [not call the `Array` constructor twice](https://bugs.webkit.org/show_bug.cgi?id=271703) - Added [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) marked as [shipped from FF129](https://bugzilla.mozilla.org/show_bug.cgi?id=1903329) - [`Symbol.asyncDispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 \~ Chromium 127 - [`Promise.try`](https://redirect.github.com/tc39/proposal-promise-try) added and marked as supported [from V8 \~ Chromium 128](https://chromestatus.com/feature/6315704705089536) - Added Deno [1.44](https://redirect.github.com/denoland/deno/releases/tag/v1.44.0) and [1.45](https://redirect.github.com/denoland/deno/releases/tag/v1.45.0) compat data mapping - `self` descriptor [is broken in Deno 1.45.3](https://redirect.github.com/denoland/deno/issues/24683) (again) - Added Electron 32 and 33 compat data mapping - Added [Opera Android 83](https://forums.opera.com/topic/72570/opera-for-android-83) compat data mapping - Added Samsung Internet 27 compat data mapping - Added Oculus Quest Browser 34 compat data mapping ### [`v3.37.1`](https://redirect.github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3371---20240514) [Compare Source](https://redirect.github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Changes [v3.37.0...v3.37.1](https://redirect.github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Fixed [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) feature detection for some specific cases - Compat data improvements: - [`Set` methods proposal](https://redirect.github.com/tc39/proposal-set-methods) added and marked as [supported from FF 127](https://bugzilla.mozilla.org/show_bug.cgi?id=1868423) - [`Symbol.dispose`](https://redirect.github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 \~ Chromium 125 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://redirect.github.com/tc39/proposal-float16array) added and marked as [supported from Deno 1.43](https://redirect.github.com/denoland/deno/pull/23490) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Chromium 126](https://chromestatus.com/feature/6301071388704768) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from NodeJS 22.0](https://redirect.github.com/nodejs/node/pull/52280) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Deno 1.43](https://redirect.github.com/denoland/deno/pull/23318) - Added [Rhino 1.7.15](https://redirect.github.com/mozilla/rhino/releases/tag/Rhino1_7_15_Release) compat data, many features marked as supported - Added [NodeJS 22.0](https://nodejs.org/en/blog/release/v22.0.0) compat data mapping - Added [Deno 1.43](https://redirect.github.com/denoland/deno/releases/tag/v1.43.0) compat data mapping - Added Electron 31 compat data mapping - Updated [Opera Android 82](https://forums.opera.com/topic/71513/opera-for-android-82) compat data mapping - Added Samsung Internet 26 compat data mapping - Added Oculus Quest Browser 33 compat data mapping </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/X-oss-byte/Nextjs).
|
This Normative Change has been implemented in all major engines and released with Chrome 143. It might be good to merge it. |
Fixed that methods for
RegExp, such as%Symbol.split%, are not called on primitive values.Background
The internal code of runtimes such as Node.js and Deno are implemented that they work without problems even if they are polluted with prototypes. With this normative change in place, those runtimes don't need to worry if changes to
String.prototype[Symbol.split]are polluted.On the other hand, if this normative change is not approved, the following workaround will have to be provided:
This approach could cause performance issue.
downstream: denoland/deno#17473
Test262
Implementations