deps(deps): update dependency core-js to v3.50.0 #721

Merged
Griefed merged 1 commit from renovate/core-js-3.x into develop 2026-10-17 11:44:31 +02:00
Collaborator

This PR contains the following updates:

Package Change Age Confidence
core-js (source) 3.27.2 → 3.50.0 age confidence

Release Notes

zloirock/core-js (core-js)

v3.50.0

Compare Source

v3.49.0

Compare Source

  • Changes v3.48.0...v3.49.0 (373 commits)
  • Iterator.range updated following the actual spec version
    • Throw a RangeError on NaN start / end / step
    • Allow null as optionOrStep
  • Improved accuracy of Math.{ asinh, atanh } polyfills with big and small values
  • Improved accuracy of Number.prototype.toExponential polyfills with big and small values
  • Improved performance of atob, btoa, Uint8Array.fromHex, Uint8Array.prototype.setFromHex, and Uint8Array.prototype.toHex, #​1503, #​1464, #​1510, thanks @​johnzhou721
  • Minor performance optimization polyfills of methods from Map upsert proposal
  • Polyfills of methods from Map upsert proposal from the pure version made generic to make it work with polyfilled and native collections
  • Wrap Symbol.for in Symbol.prototype.description polyfill for correct handling of empty string descriptions
  • Fixed a modern Safari bug in Array.prototype.includes with sparse arrays and fromIndex
  • Fixed one more case (Iterator.prototype.take) of a V8 ~ Chromium < 126 bug
  • Forced replacement of Iterator.{ concat, zip, zipKeyed } in the pure version for ensuring proper wrapped Iterator instances as the result
  • Fixed proxying .return() on exhausted iterator from some methods of iterator helpers polyfill to the underlying iterator
  • Fixed double .return() calling in case of throwing error in this method in the internal iterate helper that affected some polyfills
  • Fixed closing iterator on IteratorValue errors in the internal iterate helper that affected some polyfills
  • Fixed iterator closing in Array.from polyfill on failure to create array property
  • Fixed order of arguments validation in Array.fromAsync polyfill
  • Fixed a lack of counter validation on MAX_SAFE_INTEGER in Array.fromAsync polyfill
  • Fixed order of arguments validation in Array.prototype.flat polyfill
  • Fixed handling strings as iterables in Iterator.{ zip, zipKeyed } polyfills
  • Fixed some cases of iterators closing in Iterator.{ zip, zipKeyed } polyfills
  • Fixed validation of iterators .next() results an objects in Iterator.{ zip, zipKeyed } polyfills
  • Fixed a lack of early error in Iterator.concat polyfill on primitive as an iterator
  • Fixed buffer mutation exposure in Iterator.prototype.windows polyfill
  • Fixed iterator closing in Set.prototype.{ isDisjointFrom, isSupersetOf } polyfill
  • Fixed (updated following the final spec) one more case Set.prototype.difference polyfill with updating this
  • Fixed DataView.prototype.setFloat16 polyfill in (0, 1) range
  • Fixed order of arguments validation in String.prototype.{ padStart, padEnd } polyfills
  • Fixed order of arguments validation in String.prototype.{ startsWith, endsWith } polyfills
  • Fixed some cases of Infinity handling in String.prototype.substr polyfill
  • Fixed String.prototype.repeat polyfill with a counter exceeding 2 ** 32
  • Fixed some cases of chars case in escape polyfill
  • Fixed named backreferences in RegExp NCG polyfill
  • Fixed some cases of RegExp NCG polyfill in combination with other types of groups
  • Fixed some cases of RegExp NCG polyfill in combination with dotAll
  • Fixed String.prototype.replace with sticky polyfill, #​810, #​1514
  • Fixed RegExp sticky polyfill with alternation
  • Fixed handling of some line terminators in case of multiline + sticky mode in RegExp polyfill
  • Fixed .input slicing on result object with RegExp sticky mode polyfill
  • Fixed handling of empty groups with global and unicode modes in polyfills
  • Fixed URLSearchParam.prototype.delete polyfill with duplicate key-value pairs
  • Fixed possible removal of unnecessary entries in URLSearchParam.prototype.delete polyfill with second argument
  • Fixed an error in some cases of non-special URLs without a path in the URL polyfill
  • Fixed some percent encode cases / character sets in the URL polyfill
  • Fixed parsing of non-IPv4 hosts ends in a number in the URL polyfill
  • Fixed some cases of '' and null host handling in the URL polyfill
  • Fixed host parsing with hostname = host:port in the URL polyfill
  • Fixed host inheritance in some cases of file scheme in the URL polyfill
  • Fixed block of protocol change for file with empty host in the URL polyfill
  • Fixed invalid code points handling in UTF-8 decode in the URLSearchParams polyfill
  • Fixed some cases of serialization in URL polyfill (/. prefix for non-special URLs with null host and path starting with empty segment)
  • Fixed URL polyfill .origin getter with blob scheme
  • Fixed a lack of error in URLSearchParams.prototype.set polyfill on calling only with 1 argument
  • Fixed handling invalid UTF-8 continuation bytes in URLSearchParams polyfill
  • Fixed incomplete sequences with out-of-range continuation bytes handling in URLSearchParams polyfill
  • Fixed allowing unexpected symbols in scheme in the URL polyfill
  • Fixed repeated ToPropertyKey calling in Reflect.{ get, set, deleteProperty } polyfills
  • Fixed Reflect.set polyfill with some descriptors cases
  • Fixed Reflect.set polyfill with some non-extensible receiver cases
  • Fixed the order of Reflect.construct polyfill arguments validation (observable only in the error message)
  • Fixed a lack of error in Reflect.defineProperty polyfill with malformed descriptor
  • Fixed a lack of error in JSON.parse polyfill on unterminated object and array literals
  • Fixed a lack of error in JSON.parse polyfill on numbers with ., but without a fraction part
  • Fixed a lack of error on \u{} in String.dedent polyfill
  • Fixed some cases of hex escaping in the end of string in String.dedent polyfill
  • Fixed %AsyncFromSyncIteratorPrototype% to make it a little stricter
  • Fixed counter in some cases of some AsyncIterator methods
  • Fixed order of async iterators closing
  • Fixed iterator closing in AsyncIterator.prototype.flatMap polyfill
  • Fixed iterator closing in AsyncIterator.prototype.map polyfill on error in underlying iterator .next()
  • Fixed iterator closing in AsyncIterator.prototype.take polyfill with return: null
  • Fixed validation .return() result as object in AsyncIterator.prototype.take polyfill
  • Fixed a lack of error in structuredClone polyfill on attempt to transfer multiple objects, some of which are non-transferable
  • Fixed resizable ArrayBuffer transferring where newByteLength exceeds the original maxByteLength
  • Fixed possible loss of symbol enumerability in Object.defineProperty in Symbol polyfill
  • Fixed return value of Object.defineProperty in Symbol polyfill in Android ~ 2
  • Fixed order of %TypedArray%.from arguments validation
  • Fixed a lack of error on passing an ArrayBuffer and a negative length to the %TypedArray% and DataView constructors polyfills
  • Fixed some cases of @@toStringTag on %TypedArray% polyfill
  • Fixed some cases of ToUint8Clamp conversion
  • Fixed NaN handling in Date.prototype.setYear polyfill
  • Fixed false positive on a WeakMap validation in the pure version
  • Fixed some minor { Map, Set }.prototype.forEach moments in the pure version
  • Fixed possible error in Array.isTemplateObject polyfill on frozen array
  • Fixed semantics of Observable.from with multiple subscriptions of the obsolete ECMAScript Observable proposal polyfill
  • Fixed handling of ending zeroes in the fraction part in Number.fromString polyfill
  • Fixed esmodules: intersect option of core-js-compat
  • Fixed a lack of reactnative alias in core-js-compat types
  • Fixed a minor logical bug in the debugging output of core-js-builder
  • Fixed ignorance of the obsolete blacklist option of core-js-builder - it should be removed only in the next major release
  • In case of bugs in String.prototype.{ match, matchAll, replace, split } in modern engines, add s, d and v flag support to polyfills of those methods
  • Just in case, added an extra input string validation to the polyfill of obsolete Number.fromString proposals
  • Simplified iOS detection
  • Many minor stylistic fixes and optimizations
  • Compat data improvements:

v3.48.0

Compare Source

  • Changes v3.47.0...v3.48.0 (126 commits)
  • Map upsert proposal:
    • Built-ins:
      • Map.prototype.getOrInsert
      • Map.prototype.getOrInsertComputed
      • WeakMap.prototype.getOrInsert
      • WeakMap.prototype.getOrInsertComputed
    • Moved to stable ES, January 2026 TC39 meeting
    • Added es. namespace modules, /es/ and /stable/ namespaces entries
  • Use CreateDataProperty / CreateDataPropertyOrThrow in some missed cases, #​1497
  • Minor fix / optimization in the RegExp constructor (NCG and dotAll) polyfill
  • Added some more workarounds for a Safari < 13 bug with silent ignore of non-writable array .length
  • Added detection of a Webkit bug: Iterator.prototype.flatMap throws on iterator without return method
  • Added detection of a V8 ~ Chromium < 144 bug: Uint8Array.prototype.setFromHex throws an error on length-tracking views over ResizableArrayBuffer
  • Compat data improvements:

v3.47.0

Compare Source

v3.46.0

Compare Source

v3.45.1

Compare Source

  • Changes v3.45.0...v3.45.1 (30 commits)
  • Fixed a conflict of native methods from Map upsert proposal with polyfilled methods in the pure version
  • Added bugs fields to package.json of all packages
  • Compat data improvements:
    • Map upsert proposal 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

Compare Source

v3.44.0

Compare Source

v3.43.0

Compare Source

  • Changes v3.42.0...v3.43.0 (139 commits)
  • Explicit Resource Management proposals:
    • 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
    • Added es. namespace module, /es/ and /stable/ namespaces entries
  • Array.fromAsync proposal:
    • Built-ins:
      • Array.fromAsync
    • Moved to stable ES, May 2025 TC39 meeting
    • Added es. namespace module, /es/ and /stable/ namespaces entries
  • Error.isError proposal:
    • Built-ins:
      • Error.isError
    • Moved to stable ES, May 2025 TC39 meeting
    • Added es. namespace module, /es/ and /stable/ namespaces entries
  • Added Joint iteration stage 2.7 proposal:
    • Added built-ins:
      • Iterator.zip
      • Iterator.zipKeyed
  • Added Iterator chunking stage 2 proposal:
    • Added built-ins:
      • Iterator.prototype.chunks
      • Iterator.prototype.windows
  • Number.prototype.clamp proposal:
  • Always check regular expression flags by flags getter PR. 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 that occurs when this is updated while Set.prototype.difference is being executed
  • Added feature detection for a WebKit bug 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 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: 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) 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 and Deno 2.3.2 compat data mapping
    • Updated Electron 37 compat data mapping
    • Added Opera Android 90 compat data mapping
    • Error.isError marked not supported in Node because of a bug
    • Set.prototype.difference marked as not supported in Safari and supported only from Bun 1.2.5 because of a bug
    • Set.prototype.{ symmetricDifference, union } marked as not supported in Safari and supported only from Bun 1.2.5 because of a bug
    • Iterator.from marked as not supported in Safari and supported only from Bun 1.2.5 because of a bug
    • 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 (SuppressedError has a bug)
    • AsyncDisposableStack bugs marked as fixed in Deno 2.3.2
    • SuppressedError bugs (extra arguments support and arity) marked as fixed in Bun 1.2.15

v3.42.0

Compare Source

  • Changes v3.41.0...v3.42.0 (142 commits)
  • Map upsert proposal:
    • Moved to stage 2.7, April 2025 TC39 meeting
    • Validation order of WeakMap.prototype.getOrInsertComputed updated following tc39/proposal-upsert#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:
    • 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 bug in some of Linux builds of WebKit
  • Implemented early-error iterator closing following tc39/ecma262#3467, including fix of a WebKit bug, 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
  • Added closing of sync iterator when async wrapper yields a rejection following tc39/ecma262#2600. Affected methods:
  • Added detection for throwing on undefined initial parameter in Iterator.prototype.reduce (see WebKit bug)
  • 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:

v3.41.0

Compare Source

v3.40.0

Compare Source

v3.39.0

Compare Source

v3.38.1

Compare Source

v3.38.0

Compare Source

v3.37.1

Compare Source

v3.37.0

Compare Source

v3.36.1

Compare Source

v3.36.0

Compare Source

v3.35.1

Compare Source

v3.35.0

Compare Source

v3.34.0

Compare Source

v3.33.3

Compare Source

v3.33.2

Compare Source

  • Simplified structuredClone polyfill, avoided second tree pass in cases of transferring
  • Added support of SuppressedError to structuredClone polyfill
  • Removed unspecified unnecessary ArrayBuffer and DataView dependencies of structuredClone lack of which could cause errors in some entries in IE10-
  • Fixed handling of fractional number part in Number.fromString
  • Compat data improvements:

v3.33.1

Compare Source

v3.33.0

Compare Source

v3.32.2

Compare Source

  • Fixed structuredClone feature detection core-js@3.32.1 bug, #​1288
  • Added a workaround of old WebKit + eval bug, #​1287
  • Compat data improvements:
    • Added Samsung Internet 23 compat data mapping
    • Added Quest Browser 29 compat data mapping

v3.32.1

Compare Source

  • Fixed some cases of IEEE754 rounding, #​1279, thanks @​petamoriken
  • Prevented injection process polyfill to core-js via some bundlers or esm.sh, #​1277
  • Some minor fixes and stylistic changes
  • Compat data improvements:

v3.32.0

Compare Source

v3.31.1

Compare Source

v3.31.0

Compare Source

v3.30.2

Compare Source

  • Added a fix for a NodeJS 20.0.0 bug with cloning File via structuredClone
  • Added protection from Terser unsafe String optimization, #​1242
  • Added a workaround for getting proper global object in Figma plugins, #​1231
  • Compat data improvements:

v3.30.1

Compare Source

v3.30.0

Compare Source

v3.29.1

Compare Source

v3.29.0

Compare Source

  • Added URLSearchParams.prototype.size getter, url/734
  • Allowed cloning resizable ArrayBuffers in the structuredClone polyfill
  • Fixed wrong export in /(stable|actual|full)/instance/unshift entries, #​1207
  • Compat data improvements:
    • Set methods proposal marked as supported from Bun 0.5.7
    • String.prototype.toWellFormed marked as fixed from Bun 0.5.7
    • Added Deno 1.31 compat data mapping

v3.28.0

Compare Source

  • Change Array by copy proposal:
    • Methods:
      • Array.prototype.toReversed
      • Array.prototype.toSorted
      • Array.prototype.toSpliced
      • Array.prototype.with
      • %TypedArray%.prototype.toReversed
      • %TypedArray%.prototype.toSorted
      • %TypedArray%.prototype.with
    • Moved to stable ES, January 2023 TC39 meeting
    • Added es. namespace modules, /es/ and /stable/ namespaces entries
  • Added JSON.parse source text access Stage 3 proposal
    • Methods:
      • JSON.parse patched for support source in reviver function arguments
      • JSON.rawJSON
      • JSON.isRawJSON
      • JSON.stringify patched for support JSON.rawJSON
  • Added ArrayBuffer.prototype.transfer and friends Stage 3 proposal:
    • Built-ins:
      • ArrayBuffer.prototype.detached
      • ArrayBuffer.prototype.transfer (only in runtimes with native structuredClone with ArrayBuffer transfer support)
      • ArrayBuffer.prototype.transferToFixedLength (only in runtimes with native structuredClone with ArrayBuffer transfer support)
    • In backwards, in runtimes with native ArrayBuffer.prototype.transfer, but without proper structuredClone, added ArrayBuffer transfer support to structuredClone polyfill
  • Iterator Helpers proposal:
  • Explicit Resource Management Stage 3 and Async Explicit Resource Management Stage 2 proposals:
  • Added Symbol predicates Stage 2 proposal
    • Methods:
      • Symbol.isRegistered
      • Symbol.isWellKnown
  • Number.range Stage 1 proposal and method renamed to Iterator.range
  • Function.prototype.unThis Stage 0 proposal and method renamed to Function.prototype.demethodize
  • Fixed Safari String.prototype.toWellFormed ToString conversion bug
  • Improved some cases handling of array-replacer in JSON.stringify symbols handling fix
  • Fixed many other old JSON.{ parse, stringify } bugs (numbers instead of strings as keys in replacer, handling negative zeroes, spaces, some more handling symbols cases, etc.)
  • Fixed configurability and ToString conversion of some accessors
  • Added throwing proper errors on an incorrect context in some ArrayBuffer and DataView methods
  • Some minor DataView and %TypedArray% polyfills optimizations
  • Added proper error on the excess number of trailing = in the atob polyfill
  • Fixed theoretically possible ReDoS vulnerabilities in String.prototype.{ trim, trimEnd, trimRight }, parse(Int|Float), Number, atob, and URL polyfills in some ancient engines
  • Compat data improvements:
    • RegExp.prototype.flags marked as fixed from V8 ~ Chrome 111
    • Added Opera Android 73 compat data mapping
  • Added TypeScript definitions to core-js-builder

Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • 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 has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [core-js](https://core-js.io) ([source](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.27.2` → `3.50.0`](https://renovatebot.com/diffs/npm/core-js/3.27.2/3.50.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/core-js/3.50.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/core-js/3.27.2/3.50.0?slim=true) | --- ### Release Notes <details> <summary>zloirock/core-js (core-js)</summary> ### [`v3.50.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3500---20260805) [Compare Source](https://github.com/zloirock/core-js/compare/v3.49.0...v3.50.0) - Changes [v3.49.0...v3.50.0](https://github.com/zloirock/core-js/compare/v3.49.0...v3.50.0) (138 commits) - [Joint iteration proposal](https://github.com/tc39/proposal-joint-iteration): - Built-ins: - `Iterator.zip` - `Iterator.zipKeyed` - Moved to stable ES, [May 2026 TC39 meeting](https://github.com/tc39/proposals/commit/7e2d9a45e71525984d4c35313a3daeb4260773ef) - Added `es.` namespace modules, `/es/` and `/stable/` namespace entries - [`Iterator` chunking proposal](https://github.com/tc39/proposal-iterator-chunking): - Built-ins: - `Iterator.prototype.chunks` - `Iterator.prototype.windows` - Throw a `TypeError` instead of `RangeError` on non-integer number `chunkSize` / `windowSize`, following [tc39/proposal-iterator-chunking/#&#8203;30](https://github.com/tc39/proposal-iterator-chunking/pull/30) - Moved to stage 3, [May 2026 TC39 meeting](https://github.com/tc39/proposals/commit/7226f0af93443025010efcad219115cec7dc8b2a) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Added [`Iterator` includes stage 3 proposal](https://github.com/tc39/proposal-iterator-includes): - Added built-in: - `Iterator.prototype.includes` - Added [`Iterator` join stage 3 proposal](https://github.com/tc39/proposal-iterator-join): - Added built-in: - `Iterator.prototype.join` - Added [Await dictionary of Promises stage 3 proposal](https://github.com/tc39/proposal-await-dictionary): - Added built-ins: - `Promise.allKeyed` - `Promise.allSettledKeyed` - Throw a `RangeError` on finite unsafe integer `limit` in `Iterator.prototype.{ drop, take }`, following [tc39/ecma262/#&#8203;3776](https://github.com/tc39/ecma262/pull/3776) - Use `PromiseResolve` semantics in `Promise.try`, following [tc39/ecma262/#&#8203;3883](https://github.com/tc39/ecma262/pull/3883) - Added detection of missed [Webkit \~ Safari < 26.2 `Iterator.prototype.flatMap` bug](https://bugs.webkit.org/show_bug.cgi?id=297532) case, [#&#8203;1538](https://github.com/zloirock/core-js/issues/1538) - Deno 2.9+ [*replaces* `Object.prototype.__proto__`](https://github.com/denoland/deno/pull/35192) instead of removing it, so the feature detection updated - Fixed `JSON.stringify` polyfill with an array replacer - keys order now follows the replacer, inherited and non-enumerable properties are no longer ignored, [#&#8203;1539](https://github.com/zloirock/core-js/issues/1539) - Make `URL` / `URLSearchParams` parsing a little more correct (char sets, percent coding, etc) - Ensure opaque paths always roundtrip in URL polyfill (still without adding to feature detection), [whatwg/url#844](https://github.com/whatwg/url/pull/844) - Fix `URL#toJSON` when `URL#toString` is reassigned after core-js is imported - Fixed possible crash on some keys in `Symbol.for` - Some `get-iterator` / `get-iterator-method` fixes - Fixed `String.prototype.{ match, search }` polyfills conversion order - Added missed `MAX_SAFE_INTEGER` excess check in `Array.from` and `{ Map, Object }.groupBy` polyfills - Improved the way of inner iterators cleaning in iterator helpers - Improved accuracy of `Math.{ asinh, cbrt, log1p }` polyfills with big and small values - Improved performance of `Uint8Array` base64 methods - Improved performance of `escape` - Slight performance improvement for engines with native `Array.prototype.fill` on `ArrayBuffer` constructor and `%TypedArray%.prototype.fill` - Clarify supported Node versions in `package.json` of some missed packages (just to satisfy `publint`) - Compat data improvements: - Following [tc39/ecma262/#&#8203;3776](https://github.com/tc39/ecma262/pull/3776), `Iterator.prototype.{ drop, take }` properly supported from: - [V8 \~ Chrome 150](https://github.com/v8/v8/commit/ce52c1d84268311648c9362e8d3bbb08fc58bd3c) - Safari 27.0 - Bun 1.4.0 - Following [tc39/ecma262/#&#8203;3883](https://github.com/tc39/ecma262/pull/3883), `Promise.try` marked as not properly supported in all engines - [`Iterator.prototype.{ chunks, windows }`](https://github.com/tc39/proposal-iterator-chunking) marked as [shipped in FF154](https://bugzilla.mozilla.org/show_bug.cgi?id=2047997) - [`Iterator.prototype.includes`](https://github.com/tc39/proposal-iterator-includes) marked as [shipped in FF154](https://bugzilla.mozilla.org/show_bug.cgi?id=2034104) - [`Iterator.prototype.includes`](https://github.com/tc39/proposal-iterator-includes) marked as shipped in Bun 1.4.0 - [`Iterator.prototype.join`](https://github.com/tc39/proposal-iterator-join) marked as [shipped in FF154](https://bugzilla.mozilla.org/show_bug.cgi?id=2047995) - [`Array.prototype.includes` WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=309342) marked as fixed in: - Safari 27.0 - Bun 1.3.12 - [`queueMicrotask` Bun bug](https://github.com/oven-sh/bun/issues/9249) marked as fixed in Bun 1.4.0 - Added [Node 26.0](https://github.com/nodejs/node/pull/62526) compat data mapping - Added [Deno 2.7.8](https://github.com/denoland/deno/releases/tag/v2.7.8), [Deno 2.8.0](https://github.com/denoland/deno/releases/tag/v2.8.0), and [Deno 2.9.4](https://github.com/denoland/deno/releases/tag/v2.9.4) compat data mapping - Updated [Electron 42 and added 43, 44, and 45](https://releases.electronjs.org/) compat data mapping - Added Samsung Browser 30 compat data mapping - Added Oculus Quest Browser 144+ compat data mapping - Added Opera for Android [97](https://forums.opera.com/topic/88511/opera-for-android-97), [98](https://forums.opera.com/topic/88625/opera-for-android-98), [99](https://forums.opera.com/topic/88883/opera-for-android-99), and [100](https://forums.opera.com/topic/88999/opera-for-android-100) compat data mapping ### [`v3.49.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3490---20260316) [Compare Source](https://github.com/zloirock/core-js/compare/v3.48.0...v3.49.0) - Changes [v3.48.0...v3.49.0](https://github.com/zloirock/core-js/compare/v3.48.0...v3.49.0) (373 commits) - [`Iterator.range`](https://github.com/tc39/proposal-iterator.range) updated following the actual spec version - Throw a `RangeError` on `NaN` `start` / `end` / `step` - Allow `null` as `optionOrStep` - Improved accuracy of `Math.{ asinh, atanh }` polyfills with big and small values - Improved accuracy of `Number.prototype.toExponential` polyfills with big and small values - Improved performance of `atob`, `btoa`, `Uint8Array.fromHex`, `Uint8Array.prototype.setFromHex`, and `Uint8Array.prototype.toHex`, [#&#8203;1503](https://github.com/zloirock/core-js/issues/1503), [#&#8203;1464](https://github.com/zloirock/core-js/issues/1464), [#&#8203;1510](https://github.com/zloirock/core-js/issues/1510), thanks [**@&#8203;johnzhou721**](https://github.com/johnzhou721) - Minor performance optimization polyfills of methods from [`Map` upsert proposal](https://github.com/tc39/proposal-upsert) - Polyfills of methods from [`Map` upsert proposal](https://github.com/tc39/proposal-upsert) from the pure version made generic to make it work with polyfilled and native collections - Wrap `Symbol.for` in `Symbol.prototype.description` polyfill for correct handling of empty string descriptions - Fixed [a modern Safari bug](https://bugs.webkit.org/show_bug.cgi?id=309342) in `Array.prototype.includes` with sparse arrays and `fromIndex` - Fixed one more case (`Iterator.prototype.take`) of a V8 \~ Chromium < 126 [bug](https://issues.chromium.org/issues/336839115) - Forced replacement of `Iterator.{ concat, zip, zipKeyed }` in the pure version for ensuring proper wrapped `Iterator` instances as the result - Fixed proxying `.return()` on exhausted iterator from some methods of iterator helpers polyfill to the underlying iterator - Fixed double `.return()` calling in case of throwing error in this method in the internal `iterate` helper that affected some polyfills - Fixed closing iterator on `IteratorValue` errors in the internal `iterate` helper that affected some polyfills - Fixed iterator closing in `Array.from` polyfill on failure to create array property - Fixed order of arguments validation in `Array.fromAsync` polyfill - Fixed a lack of counter validation on `MAX_SAFE_INTEGER` in `Array.fromAsync` polyfill - Fixed order of arguments validation in `Array.prototype.flat` polyfill - Fixed handling strings as iterables in `Iterator.{ zip, zipKeyed }` polyfills - Fixed some cases of iterators closing in `Iterator.{ zip, zipKeyed }` polyfills - Fixed validation of iterators `.next()` results an objects in `Iterator.{ zip, zipKeyed }` polyfills - Fixed a lack of early error in `Iterator.concat` polyfill on primitive as an iterator - Fixed buffer mutation exposure in `Iterator.prototype.windows` polyfill - Fixed iterator closing in `Set.prototype.{ isDisjointFrom, isSupersetOf }` polyfill - Fixed (updated following the final spec) one more case `Set.prototype.difference` polyfill with updating `this` - Fixed `DataView.prototype.setFloat16` polyfill in (0, 1) range - Fixed order of arguments validation in `String.prototype.{ padStart, padEnd }` polyfills - Fixed order of arguments validation in `String.prototype.{ startsWith, endsWith }` polyfills - Fixed some cases of `Infinity` handling in `String.prototype.substr` polyfill - Fixed `String.prototype.repeat` polyfill with a counter exceeding 2 \*\* 32 - Fixed some cases of chars case in `escape` polyfill - Fixed named backreferences in `RegExp` NCG polyfill - Fixed some cases of `RegExp` NCG polyfill in combination with other types of groups - Fixed some cases of `RegExp` NCG polyfill in combination with `dotAll` - Fixed `String.prototype.replace` with `sticky` polyfill, [#&#8203;810](https://github.com/zloirock/core-js/issues/810), [#&#8203;1514](https://github.com/zloirock/core-js/issues/1514) - Fixed `RegExp` `sticky` polyfill with alternation - Fixed handling of some line terminators in case of `multiline` + `sticky` mode in `RegExp` polyfill - Fixed `.input` slicing on result object with `RegExp` `sticky` mode polyfill - Fixed handling of empty groups with `global` and `unicode` modes in polyfills - Fixed `URLSearchParam.prototype.delete` polyfill with duplicate key-value pairs - Fixed possible removal of unnecessary entries in `URLSearchParam.prototype.delete` polyfill with second argument - Fixed an error in some cases of non-special URLs without a path in the `URL` polyfill - Fixed some percent encode cases / character sets in the `URL` polyfill - Fixed parsing of non-IPv4 hosts ends in a number in the `URL` polyfill - Fixed some cases of `''` and `null` host handling in the `URL` polyfill - Fixed host parsing with `hostname = host:port` in the `URL` polyfill - Fixed host inheritance in some cases of file scheme in the `URL` polyfill - Fixed block of protocol change for file with empty host in the `URL` polyfill - Fixed invalid code points handling in UTF-8 decode in the `URLSearchParams` polyfill - Fixed some cases of serialization in `URL` polyfill (`/.` prefix for non-special URLs with `null` host and path starting with empty segment) - Fixed `URL` polyfill `.origin` getter with `blob` scheme - Fixed a lack of error in `URLSearchParams.prototype.set` polyfill on calling only with 1 argument - Fixed handling invalid UTF-8 continuation bytes in `URLSearchParams` polyfill - Fixed incomplete sequences with out-of-range continuation bytes handling in `URLSearchParams` polyfill - Fixed allowing unexpected symbols in scheme in the `URL` polyfill - Fixed repeated `ToPropertyKey` calling in `Reflect.{ get, set, deleteProperty }` polyfills - Fixed `Reflect.set` polyfill with some descriptors cases - Fixed `Reflect.set` polyfill with some non-extensible receiver cases - Fixed the order of `Reflect.construct` polyfill arguments validation (observable only in the error message) - Fixed a lack of error in `Reflect.defineProperty` polyfill with malformed descriptor - Fixed a lack of error in `JSON.parse` polyfill on unterminated object and array literals - Fixed a lack of error in `JSON.parse` polyfill on numbers with `.`, but without a fraction part - Fixed a lack of error on `\u{}` in `String.dedent` polyfill - Fixed some cases of hex escaping in the end of string in `String.dedent` polyfill - Fixed `%AsyncFromSyncIteratorPrototype%` to make it a little stricter - Fixed counter in some cases of some `AsyncIterator` methods - Fixed order of async iterators closing - Fixed iterator closing in `AsyncIterator.prototype.flatMap` polyfill - Fixed iterator closing in `AsyncIterator.prototype.map` polyfill on error in underlying iterator `.next()` - Fixed iterator closing in `AsyncIterator.prototype.take` polyfill with `return: null` - Fixed validation `.return()` result as object in `AsyncIterator.prototype.take` polyfill - Fixed a lack of error in `structuredClone` polyfill on attempt to transfer multiple objects, some of which are non-transferable - Fixed resizable `ArrayBuffer` transferring where `newByteLength` exceeds the original `maxByteLength` - Fixed possible loss of symbol enumerability in `Object.defineProperty` in `Symbol` polyfill - Fixed return value of `Object.defineProperty` in `Symbol` polyfill in Android \~ 2 - Fixed order of `%TypedArray%.from` arguments validation - Fixed a lack of error on passing an `ArrayBuffer` and a negative length to the `%TypedArray%` and `DataView` constructors polyfills - Fixed some cases of `@@toStringTag` on `%TypedArray%` polyfill - Fixed some cases of `ToUint8Clamp` conversion - Fixed `NaN` handling in `Date.prototype.setYear` polyfill - Fixed false positive on a `WeakMap` validation in the pure version - Fixed some minor `{ Map, Set }.prototype.forEach` moments in the pure version - Fixed possible error in `Array.isTemplateObject` polyfill on frozen array - Fixed semantics of `Observable.from` with multiple subscriptions of the obsolete ECMAScript `Observable` proposal polyfill - Fixed handling of ending zeroes in the fraction part in `Number.fromString` polyfill - Fixed `esmodules: intersect` option of `core-js-compat` - Fixed a lack of `reactnative` alias in `core-js-compat` types - Fixed a minor logical bug in the debugging output of `core-js-builder` - Fixed ignorance of the obsolete `blacklist` option of `core-js-builder` - it should be removed only in the next major release - In case of bugs in `String.prototype.{ match, matchAll, replace, split }` in modern engines, add `s`, `d` and `v` flag support to polyfills of those methods - Just in case, added an extra input string validation to the polyfill of obsolete `Number.fromString` proposals - Simplified `iOS` detection - Many minor stylistic fixes and optimizations - Compat data improvements: - [`Math.sumPrecise`](https://github.com/tc39/proposal-math-sum) marked as [shipped in V8 \~ Chrome 147](https://issues.chromium.org/issues/374310075#comment16) - [`Iterator.concat`](https://github.com/tc39/proposal-iterator-sequencing) marked as [shipped in V8 \~ Chrome 146](https://issues.chromium.org/issues/434977727#comment7) - [`Iterator.concat`](https://github.com/tc39/proposal-iterator-sequencing) marked as shipped in Safari 26.4 - Because of [a bug](https://bugs.webkit.org/show_bug.cgi?id=309342), `Array.prototype.includes` marked as not supported in modern Safari - Fixed compat data for `parseInt` and `parseFloat` - Added Deno [2.6.7](https://github.com/denoland/deno/releases/tag/v2.6.7), [2.7.0](https://github.com/denoland/deno/releases/tag/v2.7.0) and [2.7.2](https://github.com/denoland/deno/releases/tag/v2.7.2) compat data mapping - Added Electron 42 compat data mapping - Added Opera for Android [95](https://forums.opera.com/topic/87912/opera-for-android-95) and [96](https://forums.opera.com/topic/88254/opera-for-android-96) compat data mapping - Added [Oculus Quest Browser 42](https://developers.meta.com/horizon/downloads/package/browser/42.0/) compat data mapping ### [`v3.48.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3480---20260121) [Compare Source](https://github.com/zloirock/core-js/compare/v3.47.0...v3.48.0) - Changes [v3.47.0...v3.48.0](https://github.com/zloirock/core-js/compare/v3.47.0...v3.48.0) (126 commits) - [`Map` upsert proposal](https://github.com/tc39/proposal-upsert): - Built-ins: - `Map.prototype.getOrInsert` - `Map.prototype.getOrInsertComputed` - `WeakMap.prototype.getOrInsert` - `WeakMap.prototype.getOrInsertComputed` - Moved to stable ES, [January 2026 TC39 meeting](https://github.com/tc39/proposals/commit/131e53d6c9e658c6439831a167ed3f7897daf160) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - Use `CreateDataProperty` / `CreateDataPropertyOrThrow` in some missed cases, [#&#8203;1497](https://github.com/zloirock/core-js/issues/1497) - Minor fix / optimization in the `RegExp` constructor (NCG and `dotAll`) polyfill - Added some more workarounds for a Safari < 13 bug with silent ignore of non-writable array `.length` - Added detection of a Webkit [bug](https://bugs.webkit.org/show_bug.cgi?id=297532): `Iterator.prototype.flatMap` throws on iterator without `return` method - Added detection of a V8 \~ Chromium < 144 [bug](https://issues.chromium.org/issues/454630441): `Uint8Array.prototype.setFromHex` throws an error on length-tracking views over ResizableArrayBuffer - Compat data improvements: - [`Map` upsert proposal](https://github.com/tc39/proposal-upsert) features marked as [shipped in V8 \~ Chrome 145](https://issues.chromium.org/issues/434977728#comment4) - [Joint iteration proposal](https://github.com/tc39/proposal-joint-iteration) features marked as [shipped in FF148](https://bugzilla.mozilla.org/show_bug.cgi?id=2003333#c8) - [`Iterator.concat`](https://github.com/tc39/proposal-iterator-sequencing) marked as shipped in Bun 1.3.7 - Added [Rhino 1.9.0](https://github.com/mozilla/rhino/releases/tag/Rhino1_9_0_Release) compat data - Added [Deno 2.6](https://github.com/denoland/deno/releases/tag/v2.6.0) compat data mapping - Added Opera Android [93](https://forums.opera.com/topic/87267/opera-for-android-93) and [94](https://forums.opera.com/topic/87678/opera-for-android-94) compat data mapping - Added Electron 41 compat data mapping - `Iterator.prototype.flatMap` marked as supported from Safari 26.2 and Bun 1.2.21 because of a [bug](https://bugs.webkit.org/show_bug.cgi?id=297532): throws on iterator without `return` method - `Uint8Array.prototype.setFromHex` marked as supported from V8 \~ Chromium 144 because of a [bug](https://issues.chromium.org/issues/454630441): throws an error on length-tracking views over ResizableArrayBuffer ### [`v3.47.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3470---20251118) [Compare Source](https://github.com/zloirock/core-js/compare/v3.46.0...v3.47.0) - Changes [v3.46.0...v3.47.0](https://github.com/zloirock/core-js/compare/v3.46.0...v3.47.0) (117 commits) - [`JSON.parse` source text access proposal](https://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://github.com/tc39/proposal-iterator-sequencing): - Built-ins: - `Iterator.concat` - Moved to stable ES, [November 2025 TC39 meeting](https://github.com/tc39/proposals/commit/33be3cb6d6743c7cc8628c547423f49078c0b655) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [Joint iteration proposal](https://github.com/tc39/proposal-joint-iteration): - Built-ins: - `Iterator.zip` - `Iterator.zipKeyed` - Moved to stage 3, [November 2025 TC39 meeting](https://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://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://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://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://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3460---20251009) [Compare Source](https://github.com/zloirock/core-js/compare/v3.45.1...v3.46.0) - Changes [v3.45.1...v3.46.0](https://github.com/zloirock/core-js/compare/v3.45.1...v3.46.0) (116 commits) - [`Map` upsert stage 3 proposal](https://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://github.com/tc39/proposal-iterator-chunking): - Built-ins: - `Iterator.prototype.chunks` - `Iterator.prototype.windows` - Moved to stage 2.7, [September 2025 TC39 meeting](https://github.com/tc39/proposals/commit/08e583103c6c244c05a26d9fee518ef8145ba2f6) - `Iterator.prototype.sliding` method replaced with an extra parameter of `Iterator.prototype.windows` method, [tc39/proposal-iterator-chunking/#&#8203;24](https://github.com/tc39/proposal-iterator-chunking/pull/24), [tc39/proposal-iterator-chunking/#&#8203;26](https://github.com/tc39/proposal-iterator-chunking/pull/26) - Fixed [`Iterator.zip` and `Iterator.zipKeyed`](https://github.com/tc39/proposal-joint-iteration) behavior with `mode: 'longest'` option, [#&#8203;1469](https://github.com/zloirock/core-js/issues/1469), thanks [**@&#8203;lionel-rowe**](https://github.com/lionel-rowe) - Fixed work of `Object.groupBy` and [`Iterator.zipKeyed`](https://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://github.com/tc39/proposal-upsert) features marked as shipped from FF144 - Added [Node 25.0](https://github.com/nodejs/node/pull/59896) compat data mapping - Added [Deno 2.5](https://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://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3451---20250820) [Compare Source](https://github.com/zloirock/core-js/compare/v3.45.0...v3.45.1) - Changes [v3.45.0...v3.45.1](https://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://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://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://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3450---20250804) [Compare Source](https://github.com/zloirock/core-js/compare/v3.44.0...v3.45.0) - Changes [v3.44.0...v3.45.0](https://github.com/zloirock/core-js/compare/v3.44.0...v3.45.0) (70 commits) - [`Uint8Array` to / from base64 and hex proposal](https://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://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://github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stable ES, [July 2025 TC39 meeting](https://github.com/tc39/proposals/commit/2616413ace9074bfd444adee9501fae4c8d66fcb) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Iterator` sequencing proposal](https://github.com/tc39/proposal-iterator-sequencing): - Built-ins: - `Iterator.concat` - Moved to stage 3, [July 2025 TC39 meeting](https://github.com/tc39/proposals/commit/3eebab0f8594673dd08bc709d68c011016074c2e) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Map` upsert proposal](https://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://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://github.com/tc39/proposal-joint-iteration) in `/stage/` entries - Compat data improvements: - [`Uint8Array` to / from base64 and hex proposal](https://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://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://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3440---20250707) [Compare Source](https://github.com/zloirock/core-js/compare/v3.43.0...v3.44.0) - Changes [v3.43.0...v3.44.0](https://github.com/zloirock/core-js/compare/v3.43.0...v3.44.0) (87 commits) - [`Uint8Array` to / from base64 and hex stage 3 proposal](https://github.com/tc39/proposal-arraybuffer-base64): - Fixed [several V8 bugs](https://github.com/zloirock/core-js/issues/1439) in `Uint8Array.fromHex` and `Uint8Array.prototype.{ setFromBase64, toBase64, toHex }`, thanks [**@&#8203;brc-dd**](https://github.com/brc-dd) - [Joint iteration stage 2.7 proposal](https://github.com/tc39/proposal-joint-iteration): - Uses `Get` in `Iterator.zipKeyed`, following [tc39/proposal-joint-iteration#43](https://github.com/tc39/proposal-joint-iteration/pull/43) - [`Iterator` sequencing stage 2.7 proposal](https://github.com/tc39/proposal-iterator-sequencing): - `Iterator.concat` no longer reuses `IteratorResult` object of concatenated iterators, following [tc39/proposal-iterator-sequencing#26](https://github.com/tc39/proposal-iterator-sequencing/pull/26) - [`Iterator` chunking stage 2 proposal](https://github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.sliding` - [`Number.prototype.clamp` stage 2 proposal](https://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://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://github.com/nodejs/node/pull/58691) in Node 24.3 - `setImmediate` and `clearImmediate` marked as available [from Deno 2.4](https://github.com/denoland/deno/pull/29877) - `Math.sumPrecise` marked as [shipped in Bun 1.2.18](https://github.com/oven-sh/bun/pull/20569) - `%TypedArray%.prototype.with` marked as fixed in Bun 1.2.18 ### [`v3.43.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3430---20250609) [Compare Source](https://github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) - Changes [v3.42.0...v3.43.0](https://github.com/zloirock/core-js/compare/v3.42.0...v3.43.0) (139 commits) - [Explicit Resource Management proposals](https://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://github.com/tc39/proposal-array-from-async): - Built-ins: - `Array.fromAsync` - Moved to stable ES, [May 2025 TC39 meeting](https://github.com/tc39/proposal-array-from-async/issues/14#issuecomment-2916645435) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Error.isError` proposal](https://github.com/tc39/proposal-is-error): - Built-ins: - `Error.isError` - Moved to stable ES, [May 2025 TC39 meeting](https://github.com/tc39/proposals/commit/a5d4bb99d79f328533d0c36b0cd20597fa12c7a8) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Added [Joint iteration stage 2.7 proposal](https://github.com/tc39/proposal-joint-iteration): - Added built-ins: - `Iterator.zip` - `Iterator.zipKeyed` - Added [`Iterator` chunking stage 2 proposal](https://github.com/tc39/proposal-iterator-chunking): - Added built-ins: - `Iterator.prototype.chunks` - `Iterator.prototype.windows` - [`Number.prototype.clamp` proposal](https://github.com/tc39/proposal-math-clamp): - Built-ins: - `Number.prototype.clamp` - Moved to stage 2, [May 2025 TC39 meeting](https://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/#&#8203;22](https://github.com/tc39/proposal-math-clamp/issues/22) - Always check regular expression flags by `flags` getter [PR](https://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://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://github.com/denoland/deno/releases/tag/v2.3.0) and [Deno 2.3.2](https://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://github.com/tc39/proposal-is-error) marked not supported in Node because of [a bug](https://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://github.com/oven-sh/bun/issues/9283) and [arity](https://github.com/oven-sh/bun/issues/9282)) marked as fixed in Bun 1.2.15 ### [`v3.42.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3420---20250430) [Compare Source](https://github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) - Changes [v3.41.0...v3.42.0](https://github.com/zloirock/core-js/compare/v3.41.0...v3.42.0) (142 commits) - [`Map` upsert proposal](https://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://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://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://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://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://github.com/tc39/proposal-async-iterator-helpers) - Added closing of sync iterator when async wrapper yields a rejection following [tc39/ecma262#2600](https://github.com/tc39/ecma262/pull/2600). Affected methods: - [`Array.fromAsync`](https://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://github.com/tc39/proposal-async-iterator-helpers) - [`Iterator.prototype.toAsync`](https://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://github.com/tc39/proposal-explicit-resource-management) features disabled (again) in V8 \~ Chromium 135 and re-added in 136 - [`RegExp.escape`](https://github.com/tc39/proposal-regex-escaping) marked as [shipped from V8 \~ Chromium 136](https://issues.chromium.org/issues/353856236#comment17) - [`Error.isError`](https://github.com/tc39/proposal-is-error) marked as [shipped from FF138](https://bugzilla.mozilla.org/show_bug.cgi?id=1952249) - [Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management) features re-enabled in [Deno 2.2.10](https://github.com/denoland/deno/releases/tag/v2.2.10) - [`Iterator` helpers proposal](https://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://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://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3410---20250301) [Compare Source](https://github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) - Changes [v3.40.0...v3.41.0](https://github.com/zloirock/core-js/compare/v3.40.0...v3.41.0) (85 commits) - [`RegExp.escape` proposal](https://github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stable ES, [February 2025 TC39 meeting](https://github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - [`Float16` proposal](https://github.com/tc39/proposal-float16array): - Built-ins: - `Math.f16round` - `DataView.prototype.getFloat16` - `DataView.prototype.setFloat16` - Moved to stable ES, [February 2025 TC39 meeting](https://github.com/tc39/proposals/commit/b81fa9bccf4b51f33de0cbe797976a84d05d4b76) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Math.clamp` stage 1 proposal](https://github.com/CanadaHonk/proposal-math-clamp): - Built-ins: - `Math.clamp` - Extracted from [old `Math` extensions proposal](https://github.com/rwaldron/proposal-math-extensions), [February 2025 TC39 meeting](https://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://github.com/tc39/proposal-explicit-resource-management/issues/256) - Compat data improvements: - [`DisposableStack`, `SuppressedError` and `Iterator.prototype[@@dispose]`](https://github.com/tc39/proposal-explicit-resource-management) marked as [shipped from V8 \~ Chromium 134](https://issues.chromium.org/issues/42203506#comment24) - [`Error.isError`](https://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://github.com/tc39/proposal-float16array) marked as [shipped from V8 \~ Chromium 135](https://issues.chromium.org/issues/42203953#comment36) - [`Iterator` helpers proposal](https://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://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://github.com/tc39/proposal-math-sum) marked as shipped from FF137 - Added [Deno 2.2](https://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://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3400---20250108) [Compare Source](https://github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) - Changes [v3.39.0...v3.40.0](https://github.com/zloirock/core-js/compare/v3.39.0...v3.40.0) (130 commits) - Added [`Error.isError` stage 3 proposal](https://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://github.com/tc39/proposal-explicit-resource-management): - Updated the way async disposing of only sync disposable resources, [tc39/proposal-explicit-resource-management/218](https://github.com/tc39/proposal-explicit-resource-management/pull/218) - [`Iterator` sequencing stage 2.7 proposal](https://github.com/tc39/proposal-iterator-sequencing): - Reuse `IteratorResult` objects when possible, [tc39/proposal-iterator-sequencing/17](https://github.com/tc39/proposal-iterator-sequencing/issues/17), [tc39/proposal-iterator-sequencing/18](https://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://github.com/nodejs/node/pull/54883) bug with handling infinite length of set-like objects in `Set` methods - Optimized `DataView.prototype.{ getFloat16, setFloat16 }` performance, [#&#8203;1379](https://github.com/zloirock/core-js/pull/1379), thanks [**@&#8203;LeviPesin**](https://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://github.com/tc39/proposal-regex-escaping) marked as shipped from Safari 18.2 - [`Promise.try`](https://github.com/tc39/proposal-promise-try) marked as shipped from Safari 18.2 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://github.com/tc39/proposal-float16array) marked as shipped from Safari 18.2 - [`Uint8Array` to / from base64 and hex proposal](https://github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Safari 18.2 - [`JSON.parse` source text access proposal](https://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://github.com/tc39/proposal-regex-escaping) marked as shipped [from FF134](https://bugzilla.mozilla.org/show_bug.cgi?id=1918235) - [`Promise.try`](https://github.com/tc39/proposal-promise-try) marked as shipped from FF134 - [`Symbol.dispose`, `Symbol.asyncDispose` and `Iterator.prototype[@@dispose]`](https://github.com/tc39/proposal-explicit-resource-management) marked as shipped from FF135 - [`JSON.parse` source text access proposal](https://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://github.com/denoland/deno/releases/tag/v2.1.0) compat data mapping - Added [Rhino 1.8.0](https://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://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3390---20241031) [Compare Source](https://github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - Changes [v3.38.1...v3.39.0](https://github.com/zloirock/core-js/compare/v3.38.1...v3.39.0) - [`Iterator` helpers proposal](https://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://github.com/tc39/proposal-iterator-helpers/issues/284#event-14549961807) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Promise.try`](https://github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stable ES, [October 2024 TC39 meeting](https://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://github.com/tc39/proposal-math-sum): - Built-ins: - `Math.sumPrecise` - Moved to stage 3, [October 2024 TC39 meeting](https://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://github.com/tc39/proposal-iterator-sequencing): - Added built-ins: - `Iterator.concat` - [`Map` upsert stage 2 proposal](https://github.com/tc39/proposal-upsert): - [Updated to the new API following the October 2024 TC39 meeting](https://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://github.com/tc39/proposal-extractors) moved to stage 2, [October 2024 TC39 meeting](https://github.com/tc39/proposals/commit/11bc489049fc5ce59b21e98a670a84f153a29a80) - Usage of `@@species` pattern removed from `%TypedArray%` and `ArrayBuffer` methods, [tc39/ecma262/3450](https://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://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://github.com/denoland/deno/issues/24683) in Deno 1.46.0 - Added Deno [1.46](https://github.com/denoland/deno/releases/tag/v1.46.0) and [2.0](https://github.com/denoland/deno/releases/tag/v2.0.0) compat data mapping - [`Iterator` helpers proposal](https://github.com/tc39/proposal-iterator-helpers) methods marked as [shipped from Bun 1.1.31](https://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://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3381---20240820) [Compare Source](https://github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Changes [v3.38.0...v3.38.1](https://github.com/zloirock/core-js/compare/v3.38.0...v3.38.1) - Fixed some cases of `URLSearchParams` percent decoding, [#&#8203;1357](https://github.com/zloirock/core-js/issues/1357), [#&#8203;1361](https://github.com/zloirock/core-js/pull/1361), thanks [**@&#8203;slowcheetah**](https://github.com/slowcheetah) - Some stylistic changes and minor optimizations - Compat data improvements: - [`Iterator` helpers proposal](https://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://github.com/tc39/proposal-float16array) marked as shipped from Bun 1.1.23 - [`RegExp.escape`](https://github.com/tc39/proposal-regex-escaping) marked as shipped from Bun 1.1.22 - [`Promise.try`](https://github.com/tc39/proposal-promise-try) marked as shipped from Bun 1.1.22 - [`Uint8Array` to / from base64 and hex proposal](https://github.com/tc39/proposal-arraybuffer-base64) methods marked as shipped from Bun 1.1.22 - Added [Hermes 0.13](https://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://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3380---20240805) [Compare Source](https://github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - Changes [v3.37.1...v3.38.0](https://github.com/zloirock/core-js/compare/v3.37.1...v3.38.0) - [`RegExp.escape` proposal](https://github.com/tc39/proposal-regex-escaping): - Built-ins: - `RegExp.escape` - Moved to stage 3, [June 2024](https://github.com/tc39/proposals/commit/4b8ee265248abfa2c88ed71b3c541ddd5a2eaffe) and [July 2024](https://github.com/tc39/proposals/commit/bdb2eea6c5e41a52f2d6047d7de1a31b5d188c4f) TC39 meetings - Updated the way of escaping, [regex-escaping/77](https://github.com/tc39/proposal-regex-escaping/pull/77) - Throw an error on non-strings, [regex-escaping/58](https://github.com/tc39/proposal-regex-escaping/pull/58) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - [`Promise.try` proposal](https://github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Moved to stage 3, [June 2024 TC39 meeting](https://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://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://github.com/tc39/proposal-arraybuffer-base64/pull/33) - Added `Uint8Array.prototype.toBase64` `omitPadding` option, [proposal-arraybuffer-base64/60](https://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, [#&#8203;1352](https://github.com/zloirock/core-js/pull/1352), thanks [**@&#8203;Ulop**](https://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, [#&#8203;1345](https://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, [#&#8203;1344](https://github.com/zloirock/core-js/issues/1344), [browserslist/829](https://github.com/browserslist/browserslist/issues/829), [browserslist/836](https://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://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://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://github.com/tc39/proposal-float16array) marked as [shipped from FF129](https://bugzilla.mozilla.org/show_bug.cgi?id=1903329) - [`Symbol.asyncDispose`](https://github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 \~ Chromium 127 - [`Promise.try`](https://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://github.com/denoland/deno/releases/tag/v1.44.0) and [1.45](https://github.com/denoland/deno/releases/tag/v1.45.0) compat data mapping - `self` descriptor [is broken in Deno 1.45.3](https://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://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3371---20240514) [Compare Source](https://github.com/zloirock/core-js/compare/v3.37.0...v3.37.1) - Changes [v3.37.0...v3.37.1](https://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://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://github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 \~ Chromium 125 - [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://github.com/tc39/proposal-float16array) added and marked as [supported from Deno 1.43](https://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://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://github.com/denoland/deno/pull/23318) - Added [Rhino 1.7.15](https://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://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 ### [`v3.37.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3370---20240417) [Compare Source](https://github.com/zloirock/core-js/compare/v3.36.1...v3.37.0) - Changes [v3.36.1...v3.37.0](https://github.com/zloirock/core-js/compare/v3.36.1...v3.37.0) - [New `Set` methods proposal](https://github.com/tc39/proposal-set-methods): - Built-ins: - `Set.prototype.intersection` - `Set.prototype.union` - `Set.prototype.difference` - `Set.prototype.symmetricDifference` - `Set.prototype.isSubsetOf` - `Set.prototype.isSupersetOf` - `Set.prototype.isDisjointFrom` - Moved to stable ES, [April 2024 TC39 meeting](https://github.com/tc39/proposals/commit/bda5a6bccbaca183e193f9e680889ea5b5462ce4) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [Explicit Resource Management stage 3 proposal](https://github.com/tc39/proposal-explicit-resource-management): - Some minor updates like [explicit-resource-management/217](https://github.com/tc39/proposal-explicit-resource-management/pull/217) - Added [`Math.sumPrecise` stage 2.7 proposal](https://github.com/tc39/proposal-math-sum/): - Built-ins: - `Math.sumPrecise` - [`Promise.try` proposal](https://github.com/tc39/proposal-promise-try): - Built-ins: - `Promise.try` - Added optional arguments support, [promise-try/16](https://github.com/tc39/proposal-promise-try/pull/16) - Moved to stage 2.7, [April 2024 TC39 meeting](https://github.com/tc39/proposals/commit/301fc9c7eef2344d2b443f32a9c24ecd5fbdbec0) - [`RegExp.escape` stage 2 proposal](https://github.com/tc39/proposal-regex-escaping): - Moved to hex-escape semantics, [regex-escaping/67](https://github.com/tc39/proposal-regex-escaping/pull/67) - It's not the final change of the way of escaping, waiting for [regex-escaping/77](https://github.com/tc39/proposal-regex-escaping/pull/77) soon - [Pattern matching stage 1 proposal](https://github.com/tc39/proposal-pattern-matching): - Built-ins: - `Symbol.customMatcher` - Once again, [the used well-known symbol was renamed](https://github.com/tc39/proposal-pattern-matching/pull/295) - Added new entries for that - Added [Extractors stage 1 proposal](https://github.com/tc39/proposal-extractors): - Built-ins: - `Symbol.customMatcher` - Since the `Symbol.customMatcher` well-known symbol from the pattern matching proposal is also used in the exactors proposal, added an entry also for this proposal - Added [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse), [url/825](https://github.com/whatwg/url/pull/825) - Engines bugs fixes: - Added a fix of [Safari `{ Object, Map }.groupBy` bug that does not support iterable primitives](https://bugs.webkit.org/show_bug.cgi?id=271524) - Added a fix of [Safari bug with double call of constructor in `Array.fromAsync`](https://bugs.webkit.org/show_bug.cgi?id=271703) - Compat data improvements: - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as supported [from FF 126](https://bugzilla.mozilla.org/show_bug.cgi?id=1887611) - [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as supported [from Bun 1.1.4](https://github.com/oven-sh/bun/pull/10129) - [`URL.canParse`](https://url.spec.whatwg.org/#dom-url-canparse) fixed and marked as supported [from Bun 1.1.0](https://github.com/oven-sh/bun/pull/9710) - [New `Set` methods](https://github.com/tc39/proposal-set-methods) fixed in JavaScriptCore and marked as supported from Bun 1.1.1 - Added Opera Android 82 compat data mapping ### [`v3.36.1`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3361---20240319) [Compare Source](https://github.com/zloirock/core-js/compare/v3.36.0...v3.36.1) - Changes [v3.36.0...v3.36.1](https://github.com/zloirock/core-js/compare/v3.36.0...v3.36.1) - Fixed some validation cases in `Object.setPrototypeOf`, [#&#8203;1329](https://github.com/zloirock/core-js/issues/1329), thanks [**@&#8203;minseok-choe**](https://github.com/minseok-choe) - Fixed the order of validations in `Array.from`, [#&#8203;1331](https://github.com/zloirock/core-js/pull/1331), thanks [**@&#8203;minseok-choe**](https://github.com/minseok-choe) - Added a fix of [Bun `queueMicrotask` arity](https://github.com/oven-sh/bun/issues/9249) - Added a fix of [Bun `URL.canParse` arity](https://github.com/oven-sh/bun/issues/9250) - Added a fix of Bun `SuppressedError` [extra arguments support](https://github.com/oven-sh/bun/issues/9283) and [arity](https://github.com/oven-sh/bun/issues/9282) - Compat data improvements: - [`value` argument of `URLSearchParams.prototype.{ has, delete }`](https://url.spec.whatwg.org/#dom-urlsearchparams-delete) marked as supported [from Bun 1.0.31](https://github.com/oven-sh/bun/issues/9263) - Added React Native 0.74 Hermes compat data, `Array.prototype.{ toSpliced, toReversed, with }` and `atob` marked as supported - Added Deno 1.41.3 compat data mapping - Added Opera Android 81 compat data mapping - Added Samsung Internet 25 compat data mapping - Added Oculus Quest Browser 32 compat data mapping - Updated Electron 30 compat data mapping ### [`v3.36.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3360---20240214) [Compare Source](https://github.com/zloirock/core-js/compare/v3.35.1...v3.36.0) - [`ArrayBuffer.prototype.transfer` and friends proposal](https://github.com/tc39/proposal-arraybuffer-transfer): - Built-ins: - `ArrayBuffer.prototype.detached` - `ArrayBuffer.prototype.transfer` - `ArrayBuffer.prototype.transferToFixedLength` - Moved to stable ES, [Febrary 2024 TC39 meeting](https://github.com/tc39/proposals/commit/c84d3dde9a7d8ee4410ffa28624fc4c39247faca) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Uint8Array` to / from base64 and hex proposal](https://github.com/tc39/proposal-arraybuffer-base64): - Methods: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Moved to stage 3, [Febrary 2024 TC39 meeting](https://github.com/tc39/proposals/commit/278ab28b8f849f2110d770e7b034b7ef59f14daf) - Added `/actual/` namespace entries - Skipped adding new methods of writing to existing arrays to clarification some moments - [`Promise.try` proposal](https://github.com/tc39/proposal-promise-try) has been resurrected and moved to stage 2, [Febrary 2024 TC39 meeting](https://github.com/tc39/proposal-promise-try/issues/15) - Added an entry point for [the new TC39 proposals stage](https://tc39.es/process-document/) - `core-js/stage/2.7` - still empty - Fixed regression in `Set.prototype.intersection` feature detection - Fixed a missed check in `Array.prototype.{ indexOf, lastIndexOf, includes }`, [#&#8203;1325](https://github.com/zloirock/core-js/issues/1325), thanks [**@&#8203;minseok-choe**](https://github.com/minseok-choe) - Fixed a missed check in `Array.prototype.{ reduce, reduceRight }`, [#&#8203;1327](https://github.com/zloirock/core-js/issues/1327), thanks [**@&#8203;minseok-choe**](https://github.com/minseok-choe) - Fixed `Array.from` and some other methods with proxy targets, [#&#8203;1322](https://github.com/zloirock/core-js/issues/1322), thanks [**@&#8203;minseok-choe**](https://github.com/minseok-choe) - Fixed dependencies loading for modules from `ArrayBuffer.prototype.transfer` and friends proposal in some specific cases in IE10- - Dropped context workaround from collection static methods entries since with current methods semantic it's no longer required - Added instance methods polyfills to entries of collections static methods that produce collection instances - Added missed `Date.prototype.toJSON` to `JSON.stringify` entries dependencies - Added debugging info in some missed cases - Compat data improvements: - [`{ Map, Object }.groupBy`](https://github.com/tc39/proposal-array-grouping), [`Promise.withResolvers`](https://github.com/tc39/proposal-promise-with-resolvers), [`ArrayBuffer.prototype.transfer` and friends](https://github.com/tc39/proposal-arraybuffer-transfer) marked as supported from [Safari 17.4](https://developer.apple.com/documentation/safari-release-notes/safari-17_4-release-notes#JavaScript) - [New `Set` methods](https://github.com/tc39/proposal-set-methods) [fixed](https://bugs.chromium.org/p/v8/issues/detail?id=14559#c4) and marked as supported from V8 \~ Chrome 123 - Added [Deno 1.40](https://deno.com/blog/v1.40) compat data mapping - `Symbol.metadata` marked as supported from [Deno 1.40.4](https://github.com/denoland/deno/releases/tag/v1.40.4) - Updated Electron 30 compat data mapping ### [`v3.35.1`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3351---20240121) [Compare Source](https://github.com/zloirock/core-js/compare/v3.35.0...v3.35.1) - Fixed internal `ToLength` operation with bigints, [#&#8203;1318](https://github.com/zloirock/core-js/issues/1318) - Removed significant redundant code from `String.prototype.split` polyfill - Fixed setting names of methods with symbol keys in some old engines - Minor fix of prototype methods export logic in the pure version - Compat data improvements: - [`Iterator` helpers proposal](https://github.com/tc39/proposal-iterator-helpers) methods marked as supported from V8 \~ Chrome 122 - Note that V8 \~ Chrome 122 add [`Set` methods](https://github.com/tc39/proposal-set-methods), but they have [a bug](https://bugs.chromium.org/p/v8/issues/detail?id=14559) [similar to Safari](https://bugs.webkit.org/show_bug.cgi?id=267494) - `self` marked as fixed from Bun 1.0.22 - [`SuppressedError` and `Symbol.{ dispose, asyncDispose }`](https://github.com/tc39/proposal-explicit-resource-management) marked as [supported from Bun 1.0.23](https://bun.sh/blog/bun-v1.0.23#resource-management-is-now-supported) - Added Oculus Quest Browser 31 compat data mapping - Updated Electron 29 and added Electron 30 compat data mapping ### [`v3.35.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3350---20231229) [Compare Source](https://github.com/zloirock/core-js/compare/v3.34.0...v3.35.0) - [`{ Map, Set, WeakMap, WeakSet }.{ from, of }`](https://github.com/tc39/proposal-setmap-offrom) became non-generic, following [this](https://github.com/tc39/proposal-setmap-offrom/issues/16#issuecomment-1843346541) and some other notes. Now they can be invoked without `this`, but no longer return subclass instances - Fixed handling some cases of non-enumerable symbol keys from `Symbol` polyfill - Removed unneeded NodeJS domains-related logic from `queueMicrotask` polyfill - Fixed subclassing of wrapped `ArrayBuffer` - Refactoring, many different minor optimizations - Compat data improvements: - [`Array.fromAsync`](https://github.com/tc39/proposal-array-from-async) marked as [supported from V8 \~ Chrome 121](https://bugs.chromium.org/p/v8/issues/detail?id=13321#c13) - It seems that the ancient [`Array.prototype.push` bug](https://bugs.chromium.org/p/v8/issues/detail?id=12681) is fixed in V8 \~ Chrome 122 (Hallelujah!) - [`ArrayBuffer.prototype.transfer` and friends proposal](https://github.com/tc39/proposal-arraybuffer-transfer) features marked as [supported from FF 122](https://bugzilla.mozilla.org/show_bug.cgi?id=1865103#c8) and Bun 1.0.19 - [`Object.groupBy` and `Map.groupBy`](https://github.com/tc39/proposal-array-grouping) marked as supported from Bun 1.0.19 - Since [`Iterator` helpers proposal](https://github.com/tc39/proposal-iterator-helpers) methods are still not disabled in Deno, the web compatibility issue why it was disabled in Chromium makes no sense for Deno and fixed in the spec, they marked as supported from Deno 1.37 - Added Opera Android 80 and updated [Opera Android 79](https://forums.opera.com/topic/68490/opera-for-android-79) compat data mapping - Added Samsung Internet 24 compat data mapping ### [`v3.34.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3340---20231206) [Compare Source](https://github.com/zloirock/core-js/compare/v3.33.3...v3.34.0) - [`Array` grouping proposal](https://github.com/tc39/proposal-array-grouping): - Methods: - `Object.groupBy` - `Map.groupBy` - Moved to stable ES, [November 2023 TC39 meeting](https://github.com/tc39/proposal-array-grouping/issues/60) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Promise.withResolvers` proposal](https://github.com/tc39/proposal-promise-with-resolvers): - Method: - `Promise.withResolvers` - Moved to stable ES, [November 2023 TC39 meeting](https://twitter.com/robpalmer2/status/1729216597623976407) - Added `es.` namespace module, `/es/` and `/stable/` namespaces entries - Fixed a web incompatibility issue of [`Iterator` helpers proposal](https://github.com/tc39/proposal-iterator-helpers), [proposal-iterator-helpers/287](https://github.com/tc39/proposal-iterator-helpers/pull/287) and some following changes, November 2023 TC39 meeting - Added [`Uint8Array` to / from base64 and hex stage 2 proposal](https://github.com/tc39/proposal-arraybuffer-base64): - Methods: - `Uint8Array.fromBase64` - `Uint8Array.fromHex` - `Uint8Array.prototype.toBase64` - `Uint8Array.prototype.toHex` - Relaxed some specific cases of [`Number.fromString`](https://github.com/tc39/proposal-number-fromstring) validation before clarification of [proposal-number-fromstring/24](https://github.com/tc39/proposal-number-fromstring/issues/24) - Fixed `@@toStringTag` property descriptors on DOM collections, [#&#8203;1312](https://github.com/zloirock/core-js/issues/1312) - Fixed the order of arguments validation in `Array` iteration methods, [#&#8203;1313](https://github.com/zloirock/core-js/issues/1313) - Some minor `atob` / `btoa` improvements - Compat data improvements: - [`Promise.withResolvers`](https://github.com/tc39/proposal-promise-with-resolvers) marked as shipped from FF121 ### [`v3.33.3`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3333---20231120) [Compare Source](https://github.com/zloirock/core-js/compare/v3.33.2...v3.33.3) - Fixed an issue getting the global object on Duktape, [#&#8203;1303](https://github.com/zloirock/core-js/issues/1303) - Avoid sharing internal `[[DedentMap]]` from [`String.dedent` proposal](https://github.com/tc39/proposal-string-dedent) between `core-js` instances before stabilization of the proposal - Some internal untangling - Compat data improvements: - Added [Deno 1.38](https://deno.com/blog/v1.38) compat data mapping - [`Array.fromAsync`](https://github.com/tc39/proposal-array-from-async) marked as [supported from Deno 1.38](https://github.com/denoland/deno/pull/21048) - [`Symbol.{ dispose, asyncDispose }`](https://github.com/tc39/proposal-explicit-resource-management) marked as [supported from Deno 1.38](https://github.com/denoland/deno/pull/20845) - Added Opera Android 79 compat data mapping - Added Oculus Quest Browser 30 compat data mapping - Updated Electron 28 and 29 compat data mapping ### [`v3.33.2`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3332---20231031) [Compare Source](https://github.com/zloirock/core-js/compare/v3.33.1...v3.33.2) - Simplified `structuredClone` polyfill, avoided second tree pass in cases of transferring - Added support of [`SuppressedError`](https://github.com/tc39/proposal-explicit-resource-management#the-suppressederror-error) to `structuredClone` polyfill - Removed unspecified unnecessary `ArrayBuffer` and `DataView` dependencies of `structuredClone` lack of which could cause errors in some entries in IE10- - Fixed handling of fractional number part in [`Number.fromString`](https://github.com/tc39/proposal-number-fromstring) - Compat data improvements: - [`URL.canParse`](https://url.spec.whatwg.org/#dom-url-canparse) marked as [supported from Chromium 120](https://bugs.chromium.org/p/chromium/issues/detail?id=1425839) - Updated Opera Android 78 compat data mapping - Added Electron 29 compat data mapping ### [`v3.33.1`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3331---20231020) [Compare Source](https://github.com/zloirock/core-js/compare/v3.33.0...v3.33.1) - Added one more workaround of possible error with `Symbol` polyfill on global object, [#&#8203;1289](https://github.com/zloirock/core-js/issues/1289#issuecomment-1768411444) - Directly specified `type: commonjs` in `package.json` of all packages to avoid potential breakage in future Node versions, see [this issue](https://github.com/nodejs/TSC/issues/1445) - Prevented potential issue with lack of some dependencies after automatic optimization polyfills of some methods in the pure version - Some minor internal fixes and optimizations - Compat data improvements: - [`String.prototype.{ isWellFormed, toWellFormed }`](https://github.com/tc39/proposal-is-usv-string) marked as [supported from FF119](https://bugzilla.mozilla.org/show_bug.cgi?id=1850755) - Added React Native 0.73 Hermes compat data, mainly fixes of [some issues](https://github.com/facebook/hermes/issues/770) - Added [NodeJS 21.0 compat data mapping](https://nodejs.org/ru/blog/release/v21.0.0) ### [`v3.33.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3330---20231002) [Compare Source](https://github.com/zloirock/core-js/compare/v3.32.2...v3.33.0) - Re-introduced [`RegExp` escaping stage 2 proposal](https://github.com/tc39/proposal-regex-escaping), September 2023 TC39 meeting: - Added `RegExp.escape` method with the new set of symbols for escaping - Some years ago, it was presented in `core-js`, but it was removed after rejecting the old version of this proposal - Added [`ArrayBuffer.prototype.{ transfer, transferToFixedLength }`](https://github.com/tc39/proposal-arraybuffer-transfer) and support transferring of `ArrayBuffer`s via [`structuredClone`](https://html.spec.whatwg.org/multipage/structured-data.html#dom-structuredclone) to engines with `MessageChannel` - Optimized [`Math.f16round`](https://github.com/tc39/proposal-float16array) polyfill - Fixed [some conversion cases](https://github.com/petamoriken/float16/issues/1046) of [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://github.com/tc39/proposal-float16array) - Fully forced polyfilling of [the TC39 `Observable` proposal](https://github.com/tc39/proposal-observable) because of incompatibility with [the new WHATWG `Observable` proposal](https://github.com/WICG/observable) - Added an extra workaround of errors with exotic environment objects in `Symbol` polyfill, [#&#8203;1289](https://github.com/zloirock/core-js/issues/1289) - Some minor fixes and stylistic changes - Compat data improvements: - V8 unshipped [`Iterator` helpers](https://github.com/tc39/proposal-iterator-helpers) because of [some Web compatibility issues](https://github.com/tc39/proposal-iterator-helpers/issues/286) - [`Promise.withResolvers`](https://github.com/tc39/proposal-promise-with-resolvers) marked as [supported from V8 \~ Chrome 119](https://chromestatus.com/feature/5810984110784512) - [`Array` grouping proposal](https://github.com/tc39/proposal-array-grouping) features marked as [supported from FF119](https://bugzilla.mozilla.org/show_bug.cgi?id=1792650#c9) - [`value` argument of `URLSearchParams.prototype.{ has, delete }`](https://url.spec.whatwg.org/#dom-urlsearchparams-delete) marked as properly supported from V8 \~ Chrome 118 - [`URL.canParse`](https://url.spec.whatwg.org/#dom-url-canparse) and [`URLSearchParams.prototype.size`](https://url.spec.whatwg.org/#dom-urlsearchparams-size) marked as [supported from Bun 1.0.2](https://github.com/oven-sh/bun/releases/tag/bun-v1.0.2) - Added Deno 1.37 compat data mapping - Added Electron 28 compat data mapping - Added Opera Android 78 compat data mapping ### [`v3.32.2`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3322---20230907) [Compare Source](https://github.com/zloirock/core-js/compare/v3.32.1...v3.32.2) - Fixed `structuredClone` feature detection `core-js@3.32.1` bug, [#&#8203;1288](https://github.com/zloirock/core-js/issues/1288) - Added a workaround of old WebKit + `eval` bug, [#&#8203;1287](https://github.com/zloirock/core-js/pull/1287) - Compat data improvements: - Added Samsung Internet 23 compat data mapping - Added Quest Browser 29 compat data mapping ### [`v3.32.1`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3321---20230819) [Compare Source](https://github.com/zloirock/core-js/compare/v3.32.0...v3.32.1) - Fixed some cases of IEEE754 rounding, [#&#8203;1279](https://github.com/zloirock/core-js/issues/1279), thanks [**@&#8203;petamoriken**](https://github.com/petamoriken) - Prevented injection `process` polyfill to `core-js` via some bundlers or `esm.sh`, [#&#8203;1277](https://github.com/zloirock/core-js/issues/1277) - Some minor fixes and stylistic changes - Compat data improvements: - [`Promise.withResolvers`](https://github.com/tc39/proposal-promise-with-resolvers) marked as supported [from Bun 0.7.1](https://bun.sh/blog/bun-v0.7.1#bun-ismainthread-and-promise-withresolvers) - Added Opera Android 77 compat data mapping - Updated Electron 27 compat data mapping ### [`v3.32.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3320---20230728) [Compare Source](https://github.com/zloirock/core-js/compare/v3.31.1...v3.32.0) - [`Array` grouping proposal](https://github.com/tc39/proposal-array-grouping), July 2023 TC39 meeting updates: - [Moved back to stage 3](https://github.com/tc39/proposal-array-grouping/issues/54) - Added `/actual/` namespaces entries, unconditional forced replacement changed to feature detection - [`Promise.withResolvers` proposal](https://github.com/tc39/proposal-promise-with-resolvers), July 2023 TC39 meeting updates: - [Moved to stage 3](https://github.com/tc39/proposal-promise-with-resolvers/pull/18) - Added `/actual/` namespaces entries, unconditional forced replacement changed to feature detection - [`Set` methods stage 3 proposal](https://github.com/tc39/proposal-set-methods), July 2023 TC39 meeting updates: - Throw on negative `Set` sizes, [proposal-set-methods/88](https://github.com/tc39/proposal-set-methods/pull/88) - Removed `IsCallable` check in `GetKeysIterator`, [proposal-set-methods/101](https://github.com/tc39/proposal-set-methods/pull/101) - [Iterator Helpers stage 3 proposal](https://github.com/tc39/proposal-iterator-helpers): - Avoid creating observable `String` wrapper objects, July 2023 TC39 meeting update, [proposal-iterator-helpers/281](https://github.com/tc39/proposal-iterator-helpers/pull/281) - `Iterator` is not constructible from the active function object (works as an abstract class) - Async explicit resource management: - Moved back into [the initial proposal](https://github.com/tc39/proposal-explicit-resource-management) -> moved to stage 3, [proposal-explicit-resource-management/154](https://github.com/tc39/proposal-explicit-resource-management/pull/154) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection - Ignore return value of `[@@dispose]()` method when hint is `async-dispose`, [proposal-explicit-resource-management/180](https://github.com/tc39/proposal-explicit-resource-management/pull/180) - Added ticks for empty resources, [proposal-explicit-resource-management/163](https://github.com/tc39/proposal-explicit-resource-management/pull/163) - Added some methods from [`Float16Array` stage 3 proposal](https://github.com/tc39/proposal-float16array): - There are some reason why I don't want to add `Float16Array` right now, however, make sense to add some methods from this proposal. - Methods: - `Math.f16round` - `DataView.prototype.getFloat16` - `DataView.prototype.setFloat16` - Added [`DataView` get / set `Uint8Clamped` methods stage 1 proposal](https://github.com/tc39/proposal-dataview-get-set-uint8clamped): - Methods: - `DataView.prototype.getUint8Clamped` - `DataView.prototype.setUint8Clamped` - Used strict mode in some missed cases, [#&#8203;1269](https://github.com/zloirock/core-js/issues/1269) - Fixed [a Chromium 117 bug](https://bugs.chromium.org/p/v8/issues/detail?id=14222) in `value` argument of `URLSearchParams.prototype.{ has, delete }` - Fixed early WebKit \~ Safari 17.0 beta `Set` methods implementation by the actual spec - Fixed incorrect `Symbol.{ dispose, asyncDispose }` descriptors from [NodeJS 20.4](https://github.com/nodejs/node/issues/48699) / transpilers helpers / userland code - Fixed forced polyfilling of some iterator helpers that should return wrapped iterator in the pure version - Fixed and exposed [`AsyncIteratorPrototype` `core-js/configurator` option](https://github.com/zloirock/core-js#asynciterator-helpers), [#&#8203;1268](https://github.com/zloirock/core-js/issues/1268) - Compat data improvements: - Sync [`Iterator` helpers proposal](https://github.com/tc39/proposal-iterator-helpers) features marked as [supported](https://chromestatus.com/feature/5102502917177344) from V8 \~ Chrome 117 - [`Array` grouping proposal](https://github.com/tc39/proposal-array-grouping) features marked as [supported](https://chromestatus.com/feature/5714791975878656) from V8 \~ Chrome 117 - Mark `Symbol.{ dispose, asyncDispose }` as supported from NodeJS 20.5.0 (as mentioned above, NodeJS 20.4.0 add it, but [with incorrect descriptors](https://github.com/nodejs/node/issues/48699)) - Added Electron 27 compat data mapping ### [`v3.31.1`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3311---20230706) [Compare Source](https://github.com/zloirock/core-js/compare/v3.31.0...v3.31.1) - Fixed a `structuredClone` bug with cloning views of transferred buffers, [#&#8203;1265](https://github.com/zloirock/core-js/issues/1265) - Fixed the order of arguments validation in `DataView` methods - Allowed cloning of [`Float16Array`](https://github.com/tc39/proposal-float16array) in `structuredClone` - Compat data improvements: - [`Set` methods proposal](https://github.com/tc39/proposal-set-methods) marked as [supported from Safari 17.0](https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes#JavaScript) - New `URL` features: [`URL.canParse`](https://url.spec.whatwg.org/#dom-url-canparse), [`URLSearchParams.prototype.size`](https://url.spec.whatwg.org/#dom-urlsearchparams-size) and [`value` argument of `URLSearchParams.prototype.{ has, delete }`](https://url.spec.whatwg.org/#dom-urlsearchparams-delete) marked as [supported from Safari 17.0](https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes#Web-API) - `value` argument of `URLSearchParams.prototype.{ has, delete }` marked as supported from [Deno 1.35](https://github.com/denoland/deno/pull/19654) - `AggregateError` and well-formed `JSON.stringify` marked as [supported React Native 0.72 Hermes](https://reactnative.dev/blog/2023/06/21/0.72-metro-package-exports-symlinks#more-ecmascript-support-in-hermes) - Added Deno 1.35 compat data mapping - Added Quest Browser 28 compat data mapping - Added missing NodeJS 12.16-12.22 compat data mapping - Updated Opera Android 76 compat data mapping ### [`v3.31.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3310---20230612) [Compare Source](https://github.com/zloirock/core-js/compare/v3.30.2...v3.31.0) - [Well-formed unicode strings proposal](https://github.com/tc39/proposal-is-usv-string): - Methods: - `String.prototype.isWellFormed` method - `String.prototype.toWellFormed` method - Moved to stable ES, [May 2023 TC39 meeting](https://github.com/tc39/notes/blob/main/meetings/2023-05/may-15.md#well-formed-unicode-strings-for-stage-4) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - [`Array` grouping proposal](https://github.com/tc39/proposal-array-grouping), [May 2023 TC39 meeting updates](https://github.com/tc39/notes/blob/main/meetings/2023-05/may-16.md#arrayprototypegroup-rename-for-web-compatibility): - Because of the [web compat issue](https://github.com/tc39/proposal-array-grouping/issues/44), [moved from prototype to static methods](https://github.com/tc39/proposal-array-grouping/pull/47). Added: - `Object.groupBy` method - `Map.groupBy` method (with the actual semantic - with a minor difference it was present [in the collections methods stage 1 proposal](https://github.com/tc39/proposal-collection-methods)) - Demoted to stage 2 - [Decorator Metadata proposal](https://github.com/tc39/proposal-decorator-metadata), [May 2023 TC39 meeting updates](https://github.com/tc39/notes/blob/main/meetings/2023-05/may-16.md#decorator-metadata-for-stage-3): - Moved to stage 3 - Added `Function.prototype[Symbol.metadata]` (`=== null`) - Added `/actual/` entries - [Iterator Helpers stage 3 proposal](https://github.com/tc39/proposal-iterator-helpers): - Changed `Symbol.iterator` fallback from callable check to `undefined` / `null` check, [May 2023 TC39 meeting](https://github.com/tc39/notes/blob/main/meetings/2023-05/may-16.md#iterator-helpers-should-symboliterator-fallback-be-a-callable-check-or-an-undefinednull-check), [proposal-iterator-helpers/272](https://github.com/tc39/proposal-iterator-helpers/pull/272) - Removed `IsCallable` check on `NextMethod`, deferring errors to `Call` site, [May 2023 TC39 meeting](https://github.com/tc39/notes/blob/main/meetings/2023-05/may-16.md#iterator-helpers-should-malformed-iterators-fail-early-or-fail-only-when-iterated), [proposal-iterator-helpers/274](https://github.com/tc39/proposal-iterator-helpers/pull/274) - Added [`Promise.withResolvers` stage 2 proposal](https://github.com/tc39/proposal-promise-with-resolvers): - `Promise.withResolvers` method - [`Symbol` predicates stage 2 proposal](https://github.com/tc39/proposal-symbol-predicates): - The methods renamed to end with `Symbol`, [May 2023 TC39 meeting](https://github.com/tc39/notes/blob/main/meetings/2023-05/may-15.md#symbol-predicates): - `Symbol.isRegistered` -> `Symbol.isRegisteredSymbol` method - `Symbol.isWellKnown` -> `Symbol.isWellKnownSymbol` method - Added `value` argument of `URLSearchParams.prototype.{ has, delete }`, [url/735](https://github.com/whatwg/url/pull/735) - Fixed some cases of increasing buffer size in `ArrayBuffer.prototype.{ transfer, transferToFixedLength }` polyfills - Fixed awaiting async `AsyncDisposableStack.prototype.adopt` callback, [#&#8203;1258](https://github.com/zloirock/core-js/issues/1258) - Fixed `URLSearchParams#size` in ES3 engines (IE8-) - Added a workaround in `Object.{ entries, values }` for some IE versions bug with invisible integer keys on `null`-prototype objects - Added TypeScript definitions to `core-js-compat`, [#&#8203;1235](https://github.com/zloirock/core-js/issues/1235), thanks [**@&#8203;susnux**](https://github.com/susnux) - Compat data improvements: - [`Set.prototype.difference`](https://github.com/tc39/proposal-set-methods) that was missed in Bun because of [a bug](https://github.com/oven-sh/bun/issues/2309) added in 0.6.0 - `Array.prototype.{ group, groupToMap }` marked as no longer supported in WebKit runtimes because of the mentioned above web compat issue. For example, it's disabled from Bun 0.6.2 - Methods from the [change `Array` by copy proposal](https://github.com/tc39/proposal-change-array-by-copy) marked as supported from FF115 - [`Array.fromAsync`](https://github.com/tc39/proposal-array-from-async) marked as supported from FF115 - [`URL.canParse`](https://url.spec.whatwg.org/#dom-url-canparse) marked as supported from FF115 - `value` argument of `URLSearchParams.prototype.{ has, delete }` marked as supported from [NodeJS 20.2.0](https://github.com/nodejs/node/pull/47885) and FF115 - Added Deno 1.34 compat data mapping - Added Electron 26 compat data mapping - Added Samsung Internet 22 compat data mapping - Added Opera Android 75 and 76 compat data mapping - Added Quest Browser 27 compat data mapping ### [`v3.30.2`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3302---20230507) [Compare Source](https://github.com/zloirock/core-js/compare/v3.30.1...v3.30.2) - Added a fix for a NodeJS 20.0.0 [bug](https://github.com/nodejs/node/issues/47612) with cloning `File` via `structuredClone` - Added protection from Terser unsafe `String` optimization, [#&#8203;1242](https://github.com/zloirock/core-js/issues/1242) - Added a workaround for getting proper global object in Figma plugins, [#&#8203;1231](https://github.com/zloirock/core-js/issues/1231) - Compat data improvements: - Added NodeJS 20.0 compat data mapping - Added Deno 1.33 compat data mapping - [`URL.canParse`](https://url.spec.whatwg.org/#dom-url-canparse) marked as supported (fixed) from [NodeJS 20.1.0](https://github.com/nodejs/node/pull/47513) and [Deno 1.33.2](https://github.com/denoland/deno/pull/18896) ### [`v3.30.1`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3301---20230414) [Compare Source](https://github.com/zloirock/core-js/compare/v3.30.0...v3.30.1) - Added a fix for a NodeJS 19.9.0 `URL.canParse` [bug](https://github.com/nodejs/node/issues/47505) - Compat data improvements: - [`JSON.parse` source text access proposal](https://github.com/tc39/proposal-json-parse-with-source) features marked as [supported](https://chromestatus.com/feature/5121582673428480) from V8 \~ Chrome 114 - [`ArrayBuffer.prototype.transfer` and friends proposal](https://github.com/tc39/proposal-arraybuffer-transfer) features marked as [supported](https://chromestatus.com/feature/5073244152922112) from V8 \~ Chrome 114 - [`URLSearchParams.prototype.size`](https://github.com/whatwg/url/pull/734) marked as supported from V8 \~ Chrome 113 ### [`v3.30.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3300---20230404) [Compare Source](https://github.com/zloirock/core-js/compare/v3.29.1...v3.30.0) - Added [`URL.canParse` method](https://url.spec.whatwg.org/#dom-url-canparse), [url/763](https://github.com/whatwg/url/pull/763) - [`Set` methods proposal](https://github.com/tc39/proposal-set-methods): - Removed sort from `Set.prototype.intersection`, [March 2023 TC39 meeting](https://github.com/babel/proposals/issues/87#issuecomment-1478610425), [proposal-set-methods/94](https://github.com/tc39/proposal-set-methods/pull/94) - Iterator Helpers proposals ([sync](https://github.com/tc39/proposal-iterator-helpers), [async](https://github.com/tc39/proposal-async-iterator-helpers)): - Validate arguments before opening iterator, [March 2023 TC39 meeting](https://github.com/babel/proposals/issues/87#issuecomment-1478412430), [proposal-iterator-helpers/265](https://github.com/tc39/proposal-iterator-helpers/pull/265) - Explicit Resource Management proposals ([sync](https://github.com/tc39/proposal-explicit-resource-management), [async](https://github.com/tc39/proposal-async-explicit-resource-management)): - `(Async)DisposableStack.prototype.move` marks the original stack as disposed, [#&#8203;1226](https://github.com/zloirock/core-js/issues/1226) - Some simplifications like [proposal-explicit-resource-management/150](https://github.com/tc39/proposal-explicit-resource-management/pull/150) - [`Iterator.range` proposal](https://github.com/tc39/proposal-Number.range): - Moved to Stage 2, [March 2023 TC39 meeting](https://github.com/babel/proposals/issues/87#issuecomment-1480266760) - [Decorator Metadata proposal](https://github.com/tc39/proposal-decorator-metadata): - Returned to usage `Symbol.metadata`, [March 2023 TC39 meeting](https://github.com/babel/proposals/issues/87#issuecomment-1478790137), [proposal-decorator-metadata/12](https://github.com/tc39/proposal-decorator-metadata/pull/12) - Compat data improvements: - [`URLSearchParams.prototype.size`](https://github.com/whatwg/url/pull/734) marked as supported from FF112, NodeJS 19.8 and Deno 1.32 - Added Safari 16.4 compat data - Added Deno 1.32 compat data mapping - Added Electron 25 and updated 24 compat data mapping - Added Samsung Internet 21 compat data mapping - Added Quest Browser 26 compat data mapping - Updated Opera Android 74 compat data ### [`v3.29.1`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3291---20230313) [Compare Source](https://github.com/zloirock/core-js/compare/v3.29.0...v3.29.1) - Fixed dependencies of some entries - Fixed `ToString` conversion / built-ins nature of some accessors - [`String.prototype.{ isWellFormed, toWellFormed }`](https://github.com/tc39/proposal-is-usv-string) marked as supported from V8 \~ Chrome 111 - Added Opera Android 74 compat data mapping ### [`v3.29.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3290---20230227) [Compare Source](https://github.com/zloirock/core-js/compare/v3.28.0...v3.29.0) - Added `URLSearchParams.prototype.size` getter, [url/734](https://github.com/whatwg/url/pull/734) - Allowed cloning resizable `ArrayBuffer`s in the `structuredClone` polyfill - Fixed wrong export in `/(stable|actual|full)/instance/unshift` entries, [#&#8203;1207](https://github.com/zloirock/core-js/issues/1207) - Compat data improvements: - [`Set` methods proposal](https://github.com/tc39/proposal-set-methods) marked as supported from Bun 0.5.7 - `String.prototype.toWellFormed` marked as fixed from Bun 0.5.7 - Added Deno 1.31 compat data mapping ### [`v3.28.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3280---20230214) [Compare Source](https://github.com/zloirock/core-js/compare/v3.27.2...v3.28.0) - [Change `Array` by copy proposal](https://github.com/tc39/proposal-change-array-by-copy): - Methods: - `Array.prototype.toReversed` - `Array.prototype.toSorted` - `Array.prototype.toSpliced` - `Array.prototype.with` - `%TypedArray%.prototype.toReversed` - `%TypedArray%.prototype.toSorted` - `%TypedArray%.prototype.with` - Moved to stable ES, [January 2023 TC39 meeting](https://github.com/babel/proposals/issues/86#issuecomment-1409261397) - Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries - Added [`JSON.parse` source text access Stage 3 proposal](https://github.com/tc39/proposal-json-parse-with-source) - Methods: - `JSON.parse` patched for support `source` in `reviver` function arguments - `JSON.rawJSON` - `JSON.isRawJSON` - `JSON.stringify` patched for support `JSON.rawJSON` - Added [`ArrayBuffer.prototype.transfer` and friends Stage 3 proposal](https://github.com/tc39/proposal-arraybuffer-transfer): - Built-ins: - `ArrayBuffer.prototype.detached` - `ArrayBuffer.prototype.transfer` (only in runtimes with native `structuredClone` with `ArrayBuffer` transfer support) - `ArrayBuffer.prototype.transferToFixedLength` (only in runtimes with native `structuredClone` with `ArrayBuffer` transfer support) - In backwards, in runtimes with native `ArrayBuffer.prototype.transfer`, but without proper `structuredClone`, added `ArrayBuffer` transfer support to `structuredClone` polyfill - [Iterator Helpers](https://github.com/tc39/proposal-iterator-helpers) proposal: - Split into 2 ([sync](https://github.com/tc39/proposal-iterator-helpers) and [async](https://github.com/tc39/proposal-async-iterator-helpers)) proposals, async version moved back to Stage 2, [January 2023 TC39 meeting](https://github.com/babel/proposals/issues/86#issuecomment-1410926068) - Allowed interleaved mapping in `AsyncIterator` helpers, [proposal-iterator-helpers/262](https://github.com/tc39/proposal-iterator-helpers/pull/262) - [Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management) Stage 3 and [Async Explicit Resource Management](https://github.com/tc39/proposal-async-explicit-resource-management/) Stage 2 proposals: - `InstallErrorCause` removed from `SuppressedError`, [January 2023 TC39 meeting](https://github.com/babel/proposals/issues/86#issuecomment-1410889704), [proposal-explicit-resource-management/145](https://github.com/tc39/proposal-explicit-resource-management/pull/146) - Simplified internal behaviour of `{ AsyncDisposableStack, DisposableStack }.prototype.use`, [proposal-explicit-resource-management/143](https://github.com/tc39/proposal-explicit-resource-management/pull/143) - Added [`Symbol` predicates Stage 2 proposal](https://github.com/tc39/proposal-symbol-predicates) - Methods: - `Symbol.isRegistered` - `Symbol.isWellKnown` - `Number.range` Stage 1 proposal and method [renamed to `Iterator.range`](https://github.com/tc39/proposal-Number.range) - `Function.prototype.unThis` Stage 0 proposal and method [renamed to `Function.prototype.demethodize`](https://github.com/js-choi/proposal-function-demethodize) - Fixed [Safari `String.prototype.toWellFormed` `ToString` conversion bug](https://bugs.webkit.org/show_bug.cgi?id=251757) - Improved some cases handling of array-replacer in `JSON.stringify` symbols handling fix - Fixed many other old `JSON.{ parse, stringify }` bugs (numbers instead of strings as keys in replacer, handling negative zeroes, spaces, some more handling symbols cases, etc.) - Fixed configurability and `ToString` conversion of some accessors - Added throwing proper errors on an incorrect context in some `ArrayBuffer` and `DataView` methods - Some minor `DataView` and `%TypedArray%` polyfills optimizations - Added proper error on the excess number of trailing `=` in the `atob` polyfill - Fixed theoretically possible ReDoS vulnerabilities in `String.prototype.{ trim, trimEnd, trimRight }`, `parse(Int|Float)`, `Number`, `atob`, and `URL` polyfills in some ancient engines - Compat data improvements: - `RegExp.prototype.flags` marked as fixed from V8 \~ Chrome 111 - Added Opera Android 73 compat data mapping - Added TypeScript definitions to `core-js-builder` </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC40MS4xIiwidXBkYXRlZEluVmVyIjoiNDQuNDEuMSIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->
deps(deps): update dependency core-js to v3.50.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
Grinder Container IT / containers (push) Successful in 8m44s
Qodana / scan (push) Successful in 13m42s
Test / build (push) Successful in 12m52s
Test / Docker image (push) Successful in 11m18s
Qodana / notify (push) Successful in 32s
c0b0cace95
Griefed merged commit cc633646d5 into develop 2026-10-17 11:44:31 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Griefed/ServerPackCreator!721
No description provided.