Update dependency core-js to v3.49.0
This MR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| core-js (source) | 3.35.0 → 3.49.0 |
Release Notes
zloirock/core-js (core-js)
v3.49.0
- Changes v3.48.0...v3.49.0 (373 commits)
Iterator.rangeupdated following the actual spec version- Throw a
RangeErroronNaNstart/end/step - Allow
nullasoptionOrStep
- Throw a
- Improved accuracy of
Math.{ asinh, atanh }polyfills with big and small values - Improved accuracy of
Number.prototype.toExponentialpolyfills with big and small values - Improved performance of
atob,btoa,Uint8Array.fromHex,Uint8Array.prototype.setFromHex, andUint8Array.prototype.toHex, #1503, #1464, #1510, thanks @johnzhou721 - Minor performance optimization polyfills of methods from
Mapupsert proposal - Polyfills of methods from
Mapupsert proposal from the pure version made generic to make it work with polyfilled and native collections - Wrap
Symbol.forinSymbol.prototype.descriptionpolyfill for correct handling of empty string descriptions - Fixed a modern Safari bug in
Array.prototype.includeswith sparse arrays andfromIndex - 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 wrappedIteratorinstances 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 internaliteratehelper that affected some polyfills - Fixed closing iterator on
IteratorValueerrors in the internaliteratehelper that affected some polyfills - Fixed iterator closing in
Array.frompolyfill on failure to create array property - Fixed order of arguments validation in
Array.fromAsyncpolyfill - Fixed a lack of counter validation on
MAX_SAFE_INTEGERinArray.fromAsyncpolyfill - Fixed order of arguments validation in
Array.prototype.flatpolyfill - 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 inIterator.{ zip, zipKeyed }polyfills - Fixed a lack of early error in
Iterator.concatpolyfill on primitive as an iterator - Fixed buffer mutation exposure in
Iterator.prototype.windowspolyfill - Fixed iterator closing in
Set.prototype.{ isDisjointFrom, isSupersetOf }polyfill - Fixed (updated following the final spec) one more case
Set.prototype.differencepolyfill with updatingthis - Fixed
DataView.prototype.setFloat16polyfill 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
Infinityhandling inString.prototype.substrpolyfill - Fixed
String.prototype.repeatpolyfill with a counter exceeding 2 ** 32 - Fixed some cases of chars case in
escapepolyfill - Fixed named backreferences in
RegExpNCG polyfill - Fixed some cases of
RegExpNCG polyfill in combination with other types of groups - Fixed some cases of
RegExpNCG polyfill in combination withdotAll - Fixed
String.prototype.replacewithstickypolyfill, #810, #1514 - Fixed
RegExpstickypolyfill with alternation - Fixed handling of some line terminators in case of
multiline+stickymode inRegExppolyfill - Fixed
.inputslicing on result object withRegExpstickymode polyfill - Fixed handling of empty groups with
globalandunicodemodes in polyfills - Fixed
URLSearchParam.prototype.deletepolyfill with duplicate key-value pairs - Fixed possible removal of unnecessary entries in
URLSearchParam.prototype.deletepolyfill with second argument - Fixed an error in some cases of non-special URLs without a path in the
URLpolyfill - Fixed some percent encode cases / character sets in the
URLpolyfill - Fixed parsing of non-IPv4 hosts ends in a number in the
URLpolyfill - Fixed some cases of
''andnullhost handling in theURLpolyfill - Fixed host parsing with
hostname = host:portin theURLpolyfill - Fixed host inheritance in some cases of file scheme in the
URLpolyfill - Fixed block of protocol change for file with empty host in the
URLpolyfill - Fixed invalid code points handling in UTF-8 decode in the
URLSearchParamspolyfill - Fixed some cases of serialization in
URLpolyfill (/.prefix for non-special URLs withnullhost and path starting with empty segment) - Fixed
URLpolyfill.origingetter withblobscheme - Fixed a lack of error in
URLSearchParams.prototype.setpolyfill on calling only with 1 argument - Fixed handling invalid UTF-8 continuation bytes in
URLSearchParamspolyfill - Fixed incomplete sequences with out-of-range continuation bytes handling in
URLSearchParamspolyfill - Fixed allowing unexpected symbols in scheme in the
URLpolyfill - Fixed repeated
ToPropertyKeycalling inReflect.{ get, set, deleteProperty }polyfills - Fixed
Reflect.setpolyfill with some descriptors cases - Fixed
Reflect.setpolyfill with some non-extensible receiver cases - Fixed the order of
Reflect.constructpolyfill arguments validation (observable only in the error message) - Fixed a lack of error in
Reflect.definePropertypolyfill with malformed descriptor - Fixed a lack of error in
JSON.parsepolyfill on unterminated object and array literals - Fixed a lack of error in
JSON.parsepolyfill on numbers with., but without a fraction part - Fixed a lack of error on
\u{}inString.dedentpolyfill - Fixed some cases of hex escaping in the end of string in
String.dedentpolyfill - Fixed
%AsyncFromSyncIteratorPrototype%to make it a little stricter - Fixed counter in some cases of some
AsyncIteratormethods - Fixed order of async iterators closing
- Fixed iterator closing in
AsyncIterator.prototype.flatMappolyfill - Fixed iterator closing in
AsyncIterator.prototype.mappolyfill on error in underlying iterator.next() - Fixed iterator closing in
AsyncIterator.prototype.takepolyfill withreturn: null - Fixed validation
.return()result as object inAsyncIterator.prototype.takepolyfill - Fixed a lack of error in
structuredClonepolyfill on attempt to transfer multiple objects, some of which are non-transferable - Fixed resizable
ArrayBuffertransferring wherenewByteLengthexceeds the originalmaxByteLength - Fixed possible loss of symbol enumerability in
Object.definePropertyinSymbolpolyfill - Fixed return value of
Object.definePropertyinSymbolpolyfill in Android ~ 2 - Fixed order of
%TypedArray%.fromarguments validation - Fixed a lack of error on passing an
ArrayBufferand a negative length to the%TypedArray%andDataViewconstructors polyfills - Fixed some cases of
@@​toStringTagon%TypedArray%polyfill - Fixed some cases of
ToUint8Clampconversion - Fixed
NaNhandling inDate.prototype.setYearpolyfill - Fixed false positive on a
WeakMapvalidation in the pure version - Fixed some minor
{ Map, Set }.prototype.forEachmoments in the pure version - Fixed possible error in
Array.isTemplateObjectpolyfill on frozen array - Fixed semantics of
Observable.fromwith multiple subscriptions of the obsolete ECMAScriptObservableproposal polyfill - Fixed handling of ending zeroes in the fraction part in
Number.fromStringpolyfill - Fixed
esmodules: intersectoption ofcore-js-compat - Fixed a lack of
reactnativealias incore-js-compattypes - Fixed a minor logical bug in the debugging output of
core-js-builder - Fixed ignorance of the obsolete
blacklistoption ofcore-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, adds,dandvflag support to polyfills of those methods - Just in case, added an extra input string validation to the polyfill of obsolete
Number.fromStringproposals - Simplified
iOSdetection - Many minor stylistic fixes and optimizations
- Compat data improvements:
Math.sumPrecisemarked as shipped in V8 ~ Chrome 147Iterator.concatmarked as shipped in V8 ~ Chrome 146Iterator.concatmarked as shipped in Safari 26.4- Because of a bug,
Array.prototype.includesmarked as not supported in modern Safari - Fixed compat data for
parseIntandparseFloat - Added Deno 2.6.7, 2.7.0 and 2.7.2 compat data mapping
- Added Electron 42 compat data mapping
- Added Opera for Android 95 and 96 compat data mapping
- Added Oculus Quest Browser 42 compat data mapping
v3.48.0
- Changes v3.47.0...v3.48.0 (126 commits)
Mapupsert proposal:- Built-ins:
Map.prototype.getOrInsertMap.prototype.getOrInsertComputedWeakMap.prototype.getOrInsertWeakMap.prototype.getOrInsertComputed
- Moved to stable ES, January 2026 TC39 meeting
- Added
es.namespace modules,/es/and/stable/namespaces entries
- Built-ins:
- Use
CreateDataProperty/CreateDataPropertyOrThrowin some missed cases, #1497 - Minor fix / optimization in the
RegExpconstructor (NCG anddotAll) 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.flatMapthrows on iterator withoutreturnmethod - Added detection of a V8 ~ Chromium < 144 bug:
Uint8Array.prototype.setFromHexthrows an error on length-tracking views over ResizableArrayBuffer - Compat data improvements:
Mapupsert proposal features marked as shipped in V8 ~ Chrome 145- Joint iteration proposal features marked as shipped in FF148
Iterator.concatmarked as shipped in Bun 1.3.7- Added Rhino 1.9.0 compat data
- Added Deno 2.6 compat data mapping
- Added Opera Android 93 and 94 compat data mapping
- Added Electron 41 compat data mapping
Iterator.prototype.flatMapmarked as supported from Safari 26.2 and Bun 1.2.21 because of a bug: throws on iterator withoutreturnmethodUint8Array.prototype.setFromHexmarked as supported from V8 ~ Chromium 144 because of a bug: throws an error on length-tracking views over ResizableArrayBuffer
v3.47.0
- Changes v3.46.0...v3.47.0 (117 commits)
JSON.parsesource text access proposal:- Built-ins:
JSON.isRawJSONJSON.parseJSON.rawJSONJSON.stringify
- Moved to stable ES, November 2025 TC39 meeting
- Added
es.namespace modules,/es/and/stable/namespaces entries - Reworked
JSON.stringifyinternals
- Built-ins:
Iteratorsequencing proposal:- Built-ins:
Iterator.concat
- Moved to stable ES, November 2025 TC39 meeting
- Added
es.namespace modules,/es/and/stable/namespaces entries
- Built-ins:
- Joint iteration proposal:
- Built-ins:
Iterator.zipIterator.zipKeyed
- Moved to stage 3, November 2025 TC39 meeting
- Added
/actual/namespace entries, unconditional forced replacement changed to feature detection
- Built-ins:
- Fixed increasing
.sizeinURLSearchParams.prototype.appendpolyfill in IE8- - Compat data improvements:
Iterator.concatmarked as shipped in FF147Mapupsert proposal features marked as shipped in Safari 26.2Math.sumPrecisemarked as shipped in Safari 26.2Uint8Array.{ fromBase64, prototype.setFromBase64 }marked as fixed in Safari 26.2- Missed Explicit Resource Management features added in Bun 1.3.0
- Added Oculus Quest Browser 41 compat data mapping
- Added Electron 40 compat data mapping
v3.46.0
- Changes v3.45.1...v3.46.0 (116 commits)
Mapupsert stage 3 proposal:Iteratorchunking proposal:- Built-ins:
Iterator.prototype.chunksIterator.prototype.windows
- Moved to stage 2.7, September 2025 TC39 meeting
Iterator.prototype.slidingmethod replaced with an extra parameter ofIterator.prototype.windowsmethod, tc39/proposal-iterator-chunking/#24, tc39/proposal-iterator-chunking/#26
- Built-ins:
- Fixed
Iterator.zipandIterator.zipKeyedbehavior withmode: 'longest'option, #1469, thanks @lionel-rowe - Fixed work of
Object.groupByandIterator.zipKeyedtogether withSymbolpolyfill - some cases of symbol keys on resultnull-prototype object were able to leak out tofor-in - Compat data improvements:
Mapupsert proposal features marked as shipped from FF144- Added Node 25.0 compat data mapping
- Added Deno 2.5 compat data mapping
- Updated Electron 39 compat data mapping
- Updated Opera 121+ compat data mapping
- Added Opera Android 92 compat data mapping
- Added Oculus Quest Browser 40 compat data mapping
v3.45.1
- Changes v3.45.0...v3.45.1 (30 commits)
- Fixed a conflict of native methods from
Mapupsert proposal with polyfilled methods in the pure version - Added
bugsfields topackage.jsonof all packages - Compat data improvements:
Mapupsert 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
- Changes v3.44.0...v3.45.0 (70 commits)
Uint8Arrayto / from base64 and hex proposal:- Built-ins:
Uint8Array.fromBase64Uint8Array.fromHexUint8Array.prototype.setFromBase64Uint8Array.prototype.setFromHexUint8Array.prototype.toBase64Uint8Array.prototype.toHex
- Moved to stable ES, July 2025 TC39 meeting
- Added
es.namespace modules,/es/and/stable/namespaces entries - Added detection of a Webkit bug:
Uint8ArrayfromBase64 / setFromBase64 does not throw an error on incorrect length of base64 string
- Built-ins:
Math.sumPreciseproposal:- Built-ins:
Math.sumPrecise
- Moved to stable ES, July 2025 TC39 meeting
- Added
es.namespace module,/es/and/stable/namespaces entries
- Built-ins:
Iteratorsequencing proposal:- Built-ins:
Iterator.concat
- Moved to stage 3, July 2025 TC39 meeting
- Added
/actual/namespace entries, unconditional forced replacement changed to feature detection
- Built-ins:
Mapupsert proposal:- Built-ins:
Map.prototype.getOrInsertMap.prototype.getOrInsertComputedWeakMap.prototype.getOrInsertWeakMap.prototype.getOrInsertComputed
- Moved to stage 3, July 2025 TC39 meeting
- Added
/actual/namespace entries, unconditional forced replacement changed to feature detection
- Built-ins:
- Added missing dependencies to some entries of static
Iteratormethods - Fixed Joint Iteration proposal in
/stage/entries - Compat data improvements:
Uint8Arrayto / from base64 and hex proposal features marked as supported from V8 ~ Chromium 140Uint8Array.{ fromBase64, prototype.setFromBase64 }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.withmarked as fixed in Safari 26.0- Updated Electron 38 compat data mapping
- Added Opera Android 91 compat data mapping
v3.44.0
- Changes v3.43.0...v3.44.0 (87 commits)
Uint8Arrayto / from base64 and hex stage 3 proposal:- Fixed several V8 bugs in
Uint8Array.fromHexandUint8Array.prototype.{ setFromBase64, toBase64, toHex }, thanks @brc-dd
- Fixed several V8 bugs in
- Joint iteration stage 2.7 proposal:
- Uses
GetinIterator.zipKeyed, following tc39/proposal-joint-iteration#43
- Uses
Iteratorsequencing stage 2.7 proposal:Iterator.concatno longer reusesIteratorResultobject of concatenated iterators, following tc39/proposal-iterator-sequencing#26
Iteratorchunking stage 2 proposal:- Added built-ins:
Iterator.prototype.sliding
- Added built-ins:
Number.prototype.clampstage 2 proposal:clampno longer throws an error onNaNasminormax, following tc39/proposal-math-clamp#d2387791c265edf66fbe2455eab919016717ce6f
- Fixed some cases of
Set.prototype.{ symmetricDifference, union }detection - Added missing dependencies to some entries of static
Iteratormethods - Added missing
/full/{ instance, number/virtual }/clampentries - 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
Iteratorhelpers marked as fixed and updated following the latest spec changes in Safari 26.0Set.prototype.{ difference, symmetricDifference, union }marked as fixed in Safari 26.0SuppressedErrormarked as fixed in FF141Error.isErrormarked as fixed in Node 24.3setImmediateandclearImmediatemarked as available from Deno 2.4Math.sumPrecisemarked as shipped in Bun 1.2.18%TypedArray%.prototype.withmarked as fixed in Bun 1.2.18
v3.43.0
- Changes v3.42.0...v3.43.0 (139 commits)
- Explicit Resource Management proposals:
- Built-ins:
Symbol.disposeSymbol.asyncDisposeSuppressedErrorDisposableStackDisposableStack.prototype.disposeDisposableStack.prototype.useDisposableStack.prototype.adoptDisposableStack.prototype.deferDisposableStack.prototype.moveDisposableStack.prototype[@​@​dispose]
AsyncDisposableStackAsyncDisposableStack.prototype.disposeAsyncAsyncDisposableStack.prototype.useAsyncDisposableStack.prototype.adoptAsyncDisposableStack.prototype.deferAsyncDisposableStack.prototype.moveAsyncDisposableStack.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
- Built-ins:
Array.fromAsyncproposal:- Built-ins:
Array.fromAsync
- Moved to stable ES, May 2025 TC39 meeting
- Added
es.namespace module,/es/and/stable/namespaces entries
- Built-ins:
Error.isErrorproposal:- Built-ins:
Error.isError
- Moved to stable ES, May 2025 TC39 meeting
- Added
es.namespace module,/es/and/stable/namespaces entries
- Built-ins:
- Added Joint iteration stage 2.7 proposal:
- Added built-ins:
Iterator.zipIterator.zipKeyed
- Added built-ins:
- Added
Iteratorchunking stage 2 proposal:- Added built-ins:
Iterator.prototype.chunksIterator.prototype.windows
- Added built-ins:
Number.prototype.clampproposal:- Built-ins:
Number.prototype.clamp
- Moved to stage 2, May 2025 TC39 meeting
Math.clampwas replaced withNumber.prototype.clamp- Removed a
RangeErrorifmin <= maxor+0min and-0max, tc39/proposal-math-clamp/#22
- Built-ins:
- Always check regular expression flags by
flagsgetter MR. Native methods are not fixed, only own implementation updated for:RegExp.prototype[@​@​match]RegExp.prototype[@​@​replace]
- Improved handling of
RegExpflags in polyfills of some methods in engines without proper support ofRegExp.prototype.flagsand without polyfill of this getter - Added feature detection for a WebKit bug that occurs when
thisis updated whileSet.prototype.differenceis being executed - Added feature detection for a WebKit bug that occurs when iterator record of a set-like object isn't called before cloning
thisin the following methods:Set.prototype.symmetricDifferenceSet.prototype.union
- Added feature detection for a bug in V8 ~ Chromium < 126. Following methods should throw an error on invalid iterator:
Iterator.prototype.dropIterator.prototype.filterIterator.prototype.flatMapIterator.prototype.map
- Added feature detection for a WebKit bug: incorrect exception thrown by
Iterator.fromwhen underlying iterator'sreturnmethod isnull - Added feature detection for a FF bug: incorrect exception thrown by
Array.prototype.withwhen index coercion fails - Added feature detection for a WebKit bug:
TypedArray.prototype.withshould 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
Promisepolyfill in the pure version - Added some missed dependencies to
/iterator/flat-mapentries - 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.isErrormarked not supported in Node because of a bugSet.prototype.differencemarked as not supported in Safari and supported only from Bun 1.2.5 because of a bugSet.prototype.{ symmetricDifference, union }marked as not supported in Safari and supported only from Bun 1.2.5 because of a bugIterator.frommarked as not supported in Safari and supported only from Bun 1.2.5 because of a bug- Iterators closing on early errors in
Iteratorhelpers marked as implemented from FF141 Array.prototype.withmarked as supported only from FF140 because it throws an incorrect exception when index coercion failsTypedArray.prototype.withmarked as unsupported in Bun and Safari because it should truncate negative fractional index to zero, but instead throws an errorDisposableStackandAsyncDisposableStackmarked as shipped in FF141 (SuppressedErrorhas a bug)AsyncDisposableStackbugs marked as fixed in Deno 2.3.2SuppressedErrorbugs (extra arguments support and arity) marked as fixed in Bun 1.2.15
v3.42.0
- Changes v3.41.0...v3.42.0 (142 commits)
Mapupsert proposal:- Moved to stage 2.7, April 2025 TC39 meeting
- Validation order of
WeakMap.prototype.getOrInsertComputedupdated following tc39/proposal-upsert#79 - Built-ins:
Map.prototype.getOrInsertMap.prototype.getOrInsertComputedWeakMap.prototype.getOrInsertWeakMap.prototype.getOrInsertComputed
- Don't call well-known
Symbolmethods forRegExpon primitive values following tc39/ecma262#3009:- For avoid performance regression, temporarily, only in own
core-jsimplementations - Built-ins:
String.prototype.matchAllString.prototype.matchString.prototype.replaceAllString.prototype.replaceString.prototype.searchString.prototype.split
- For avoid performance regression, temporarily, only in own
- Added workaround for the
Uint8Array.prototype.setFromBase64bug 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.dropIterator.prototype.everyIterator.prototype.filterIterator.prototype.findIterator.prototype.flatMapIterator.prototype.forEachIterator.prototype.mapIterator.prototype.reduceIterator.prototype.someIterator.prototype.take
- Fixed missing forced replacement of
AsyncIteratorhelpers - Added closing of sync iterator when async wrapper yields a rejection following tc39/ecma262#2600. Affected methods:
Array.fromAsync(due to the lack of async feature detection capability - temporarily, only in owncore-jsimplementation)AsyncIterator.fromIterator.prototype.toAsync
- Added detection for throwing on
undefinedinitial parameter inIterator.prototype.reduce(see WebKit bug) core-js-compatandcore-js-builderAPI:- Added
'intersect'support fortargets.esmodules(Babel 7 behavior) - Fixed handling of
targets.esmodules: true(Babel 7 behavior)
- Added
- Compat data improvements:
- Explicit Resource Management features disabled (again) in V8 ~ Chromium 135 and re-added in 136
RegExp.escapemarked as shipped from V8 ~ Chromium 136Error.isErrormarked as shipped from FF138- Explicit Resource Management features re-enabled in Deno 2.2.10
Iteratorhelpers proposal features marked as supported from Deno 1.38.1 since it seems they were disabled in 1.38.0Iterator.prototype.{ drop, reduce, take }methods marked as fixed in Bun 1.2.11- Added NodeJS 24.0 compat data mapping
- Updated Electron 36 and added Electron 37 compat data mapping
- Added Opera Android 88 and 89 compat data mapping
- Added Oculus Quest Browser 37 compat data mapping
v3.41.0
- Changes v3.40.0...v3.41.0 (85 commits)
RegExp.escapeproposal:- Built-ins:
RegExp.escape
- Moved to stable ES, February 2025 TC39 meeting
- Added
es.namespace module,/es/and/stable/namespaces entries
- Built-ins:
Float16proposal:- Built-ins:
Math.f16roundDataView.prototype.getFloat16DataView.prototype.setFloat16
- Moved to stable ES, February 2025 TC39 meeting
- Added
es.namespace modules,/es/and/stable/namespaces entries
- Built-ins:
Math.clampstage 1 proposal:- Built-ins:
Math.clamp
- Extracted from old
Mathextensions proposal, February 2025 TC39 meeting - Added arguments validation
- Added new entries
- Built-ins:
- Added a workaround of a V8
AsyncDisposableStackbug, tc39/proposal-explicit-resource-management/256 - Compat data improvements:
DisposableStack,SuppressedErrorandIterator.prototype[@​@​dispose]marked as shipped from V8 ~ Chromium 134Error.isErroradded and marked as shipped from V8 ~ Chromium 134Math.f16roundandDataView.prototype.{ getFloat16, setFloat16 }marked as shipped from V8 ~ Chromium 135Iteratorhelpers proposal features marked as shipped from Safari 18.4JSON.parsesource text access proposal features marked as shipped from Safari 18.4Math.sumPrecisemarked as shipped from FF137- Added Deno 2.2 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 compat data mapping
- Added Samsung Internet 28 compat data mapping
- Added Oculus Quest Browser 36 compat data mapping
v3.40.0
- Changes v3.39.0...v3.40.0 (130 commits)
- Added
Error.isErrorstage 3 proposal:- 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
- Added built-ins:
- Explicit Resource Management stage 3 proposal:
- Updated the way async disposing of only sync disposable resources, tc39/proposal-explicit-resource-management/218
Iteratorsequencing stage 2.7 proposal:- Reuse
IteratorResultobjects when possible, tc39/proposal-iterator-sequencing/17, tc39/proposal-iterator-sequencing/18, December 2024 TC39 meeting
- Reuse
- Added a fix of V8 < 12.8 / NodeJS < 22.10 bug with handling infinite length of set-like objects in
Setmethods - Optimized
DataView.prototype.{ getFloat16, setFloat16 }performance, #1379, thanks @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.escapemarked as shipped from Safari 18.2Promise.trymarked as shipped from Safari 18.2Math.f16roundandDataView.prototype.{ getFloat16, setFloat16 }marked as shipped from Safari 18.2Uint8Arrayto / from base64 and hex proposal methods marked as shipped from Safari 18.2JSON.parsesource text access proposal features marked as shipped from FF135RegExp.escapemarked as shipped from FF134Promise.trymarked as shipped from FF134Symbol.dispose,Symbol.asyncDisposeandIterator.prototype[@​@​dispose]marked as shipped from FF135JSON.parsesource text access proposal features marked as shipped from Bun 1.1.43- Fixed NodeJS version where
URL.parsewas added - 22.1 instead of 22.0 - Added Deno 2.1 compat data mapping
- Added Rhino 1.8.0 compat data with significant number of modern features
- Added Electron 35 compat data mapping
- Updated Opera 115+ compat data mapping
- Added Opera Android 86 and 87 compat data mapping
v3.39.0
- Changes v3.38.1...v3.39.0
Iteratorhelpers proposal:- Built-ins:
IteratorIterator.fromIterator.prototype.dropIterator.prototype.everyIterator.prototype.filterIterator.prototype.findIterator.prototype.flatMapIterator.prototype.forEachIterator.prototype.mapIterator.prototype.reduceIterator.prototype.someIterator.prototype.takeIterator.prototype.toArrayIterator.prototype[@​@​toStringTag]
- Moved to stable ES, October 2024 TC39 meeting
- Added
es.namespace modules,/es/and/stable/namespaces entries
- Built-ins:
Promise.try:- Built-ins:
Promise.try
- Moved to stable ES, October 2024 TC39 meeting
- Added
es.namespace module,/es/and/stable/namespaces entries - Fixed
/actual|full/promise/tryentries for the callback arguments support
- Built-ins:
Math.sumPreciseproposal:- Built-ins:
Math.sumPrecise
- Moved to stage 3, October 2024 TC39 meeting
- Added
/actual/namespace entries, unconditional forced replacement changed to feature detection
- Built-ins:
- Added
Iteratorsequencing stage 2.7 proposal:- Added built-ins:
Iterator.concat
- Added built-ins:
Mapupsert stage 2 proposal:- Updated to the new API following the October 2024 TC39 meeting
- Added built-ins:
Map.prototype.getOrInsertMap.prototype.getOrInsertComputedWeakMap.prototype.getOrInsertWeakMap.prototype.getOrInsertComputed
- Extractors proposal moved to stage 2, October 2024 TC39 meeting
- Usage of
@@​speciespattern removed from%TypedArray%andArrayBuffermethods, tc39/ecma262/3450:- Built-ins:
%TypedArray%.prototype.filter%TypedArray%.prototype.filterReject%TypedArray%.prototype.map%TypedArray%.prototype.slice%TypedArray%.prototype.subarrayArrayBuffer.prototype.slice
- Built-ins:
- Some other minor improvements
- Compat data improvements:
Uint8Arrayto / from base64 and hex proposal methods marked as shipped from FF133- Added NodeJS 23.0 compat data mapping
selfdescriptor is fixed in Deno 1.46.0- Added Deno 1.46 and 2.0 compat data mapping
Iteratorhelpers proposal methods marked as shipped from Bun 1.1.31- Added Electron 34 and updated Electron 33 compat data mapping
- Added Opera Android 85 compat data mapping
- Added Oculus Quest Browser 35 compat data mapping
v3.38.1
- Changes v3.38.0...v3.38.1
- Fixed some cases of
URLSearchParamspercent decoding, #1357, #1361, thanks @slowcheetah - Some stylistic changes and minor optimizations
- Compat data improvements:
Iteratorhelpers proposal methods marked as shipped from FF131Math.f16roundandDataView.prototype.{ getFloat16, setFloat16 }marked as shipped from Bun 1.1.23RegExp.escapemarked as shipped from Bun 1.1.22Promise.trymarked as shipped from Bun 1.1.22Uint8Arrayto / from base64 and hex proposal methods marked as shipped from Bun 1.1.22- Added Hermes 0.13 compat data, similar to React Native 0.75 Hermes
- Added Opera Android 84 compat data mapping
v3.38.0
- Changes v3.37.1...v3.38.0
RegExp.escapeproposal:- Built-ins:
RegExp.escape
- Moved to stage 3, June 2024 and July 2024 TC39 meetings
- Updated the way of escaping, regex-escaping/77
- Throw an error on non-strings, regex-escaping/58
- Added
/actual/namespace entries, unconditional forced replacement changed to feature detection
- Built-ins:
Promise.tryproposal:- Built-ins:
Promise.try
- Moved to stage 3, June 2024 TC39 meeting
- Added
/actual/namespace entries, unconditional forced replacement changed to feature detection
- Built-ins:
Uint8Arrayto / from base64 and hex stage 3 proposal:- Built-ins:
Uint8Array.fromBase64Uint8Array.fromHexUint8Array.prototype.setFromBase64Uint8Array.prototype.setFromHexUint8Array.prototype.toBase64Uint8Array.prototype.toHex
- Added
Uint8Array.prototype.{ setFromBase64, setFromHex }methods - Added
Uint8Array.fromBase64andUint8Array.prototype.setFromBase64lastChunkHandlingoption, proposal-arraybuffer-base64/33 - Added
Uint8Array.prototype.toBase64omitPaddingoption, proposal-arraybuffer-base64/60 - Added throwing a
TypeErroron arrays backed by detached buffers - Unconditional forced replacement changed to feature detection
- Built-ins:
- Fixed
RegExpnamed capture groups polyfill in combination with non-capturing groups, #1352, thanks @Ulop - Improved some cases of environment detection
- Uses
process.getBuiltinModulefor getting built-in NodeJS modules where it's available - Uses
httpsinstead ofhttpinURLconstructor feature detection to avoid extra notifications from some overly vigilant security scanners, #1345 - Some minor optimizations
- Updated
browserslistincore-js-compatdependencies that fixes an upstream issue with incorrect interpretation of somebrowserslistqueries, #1344, browserslist/829, browserslist/836 - Compat data improvements:
- Added Safari 18.0 compat data:
- Fixed
Object.groupByandMap.groupByto work for non-objects - Fixed throwing a
RangeErrorifSetmethods are called on an object with negative size property - Fixed
Set.prototype.symmetricDifferenceto callthis.hasin each iteration - Fixed
Array.fromAsyncto not call theArrayconstructor twice - Added
URL.parse
- Fixed
Math.f16roundandDataView.prototype.{ getFloat16, setFloat16 }marked as shipped from FF129Symbol.asyncDisposeadded and marked as supported from V8 ~ Chromium 127Promise.tryadded and marked as supported from V8 ~ Chromium 128- Added Deno 1.44 and 1.45 compat data mapping
selfdescriptor is broken in Deno 1.45.3 (again)- Added Electron 32 and 33 compat data mapping
- Added Opera Android 83 compat data mapping
- Added Samsung Internet 27 compat data mapping
- Added Oculus Quest Browser 34 compat data mapping
- Added Safari 18.0 compat data:
v3.37.1
- Changes v3.37.0...v3.37.1
- Fixed
URL.parsefeature detection for some specific cases - Compat data improvements:
Setmethods proposal added and marked as supported from FF 127Symbol.disposeadded and marked as supported from V8 ~ Chromium 125Math.f16roundandDataView.prototype.{ getFloat16, setFloat16 }added and marked as supported from Deno 1.43URL.parseadded and marked as supported from Chromium 126URL.parseadded and marked as supported from NodeJS 22.0URL.parseadded and marked as supported from Deno 1.43- Added Rhino 1.7.15 compat data, many features marked as supported
- Added NodeJS 22.0 compat data mapping
- Added Deno 1.43 compat data mapping
- Added Electron 31 compat data mapping
- Updated Opera Android 82 compat data mapping
- Added Samsung Internet 26 compat data mapping
- Added Oculus Quest Browser 33 compat data mapping
v3.37.0
- Changes v3.36.1...v3.37.0
- New
Setmethods proposal:- Built-ins:
Set.prototype.intersectionSet.prototype.unionSet.prototype.differenceSet.prototype.symmetricDifferenceSet.prototype.isSubsetOfSet.prototype.isSupersetOfSet.prototype.isDisjointFrom
- Moved to stable ES, April 2024 TC39 meeting
- Added
es.namespace modules,/es/and/stable/namespaces entries
- Built-ins:
- Explicit Resource Management stage 3 proposal:
- Some minor updates like explicit-resource-management/217
- Added
Math.sumPrecisestage 2.7 proposal:- Built-ins:
Math.sumPrecise
- Built-ins:
Promise.tryproposal:- Built-ins:
Promise.try
- Added optional arguments support, promise-try/16
- Moved to stage 2.7, April 2024 TC39 meeting
- Built-ins:
RegExp.escapestage 2 proposal:- Moved to hex-escape semantics, regex-escaping/67
- It's not the final change of the way of escaping, waiting for regex-escaping/77 soon
- Moved to hex-escape semantics, regex-escaping/67
- Pattern matching stage 1 proposal:
- Built-ins:
Symbol.customMatcher
- Once again, the used well-known symbol was renamed
- Added new entries for that
- Built-ins:
- Added Extractors stage 1 proposal:
- Built-ins:
Symbol.customMatcher
- Since the
Symbol.customMatcherwell-known symbol from the pattern matching proposal is also used in the exactors proposal, added an entry also for this proposal
- Built-ins:
- Added
URL.parse, url/825 - Engines bugs fixes:
- Compat data improvements:
URL.parseadded and marked as supported from FF 126URL.parseadded and marked as supported from Bun 1.1.4URL.canParsefixed and marked as supported from Bun 1.1.0- New
Setmethods fixed in JavaScriptCore and marked as supported from Bun 1.1.1 - Added Opera Android 82 compat data mapping
v3.36.1
- Changes v3.36.0...v3.36.1
- Fixed some validation cases in
Object.setPrototypeOf, #1329, thanks @minseok-choe - Fixed the order of validations in
Array.from, #1331, thanks @minseok-choe - Added a fix of Bun
queueMicrotaskarity - Added a fix of Bun
URL.canParsearity - Added a fix of Bun
SuppressedErrorextra arguments support and arity - Compat data improvements:
valueargument ofURLSearchParams.prototype.{ has, delete }marked as supported from Bun 1.0.31- Added React Native 0.74 Hermes compat data,
Array.prototype.{ toSpliced, toReversed, with }andatobmarked 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
ArrayBuffer.prototype.transferand friends proposal:- Built-ins:
ArrayBuffer.prototype.detachedArrayBuffer.prototype.transferArrayBuffer.prototype.transferToFixedLength
- Moved to stable ES, Febrary 2024 TC39 meeting
- Added
es.namespace modules,/es/and/stable/namespaces entries
- Built-ins:
Uint8Arrayto / from base64 and hex proposal:- Methods:
Uint8Array.fromBase64Uint8Array.fromHexUint8Array.prototype.toBase64Uint8Array.prototype.toHex
- Moved to stage 3, Febrary 2024 TC39 meeting
- Added
/actual/namespace entries - Skipped adding new methods of writing to existing arrays to clarification some moments
- Methods:
Promise.tryproposal has been resurrected and moved to stage 2, Febrary 2024 TC39 meeting- Added an entry point for the new TC39 proposals stage -
core-js/stage/2.7- still empty - Fixed regression in
Set.prototype.intersectionfeature detection - Fixed a missed check in
Array.prototype.{ indexOf, lastIndexOf, includes }, #1325, thanks @minseok-choe - Fixed a missed check in
Array.prototype.{ reduce, reduceRight }, #1327, thanks @minseok-choe - Fixed
Array.fromand some other methods with proxy targets, #1322, thanks @minseok-choe - Fixed dependencies loading for modules from
ArrayBuffer.prototype.transferand 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.toJSONtoJSON.stringifyentries dependencies - Added debugging info in some missed cases
- Compat data improvements:
{ Map, Object }.groupBy,Promise.withResolvers,ArrayBuffer.prototype.transferand friends marked as supported from Safari 17.4- New
Setmethods fixed and marked as supported from V8 ~ Chrome 123 - Added Deno 1.40 compat data mapping
Symbol.metadatamarked as supported from Deno 1.40.4- Updated Electron 30 compat data mapping
v3.35.1
- Fixed internal
ToLengthoperation with bigints, #1318 - Removed significant redundant code from
String.prototype.splitpolyfill - 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:
Iteratorhelpers proposal methods marked as supported from V8 ~ Chrome 122- Note that V8 ~ Chrome 122 add
Setmethods, but they have a bug similar to Safari selfmarked as fixed from Bun 1.0.22SuppressedErrorandSymbol.{ dispose, asyncDispose }marked as supported from Bun 1.0.23- Added Oculus Quest Browser 31 compat data mapping
- Updated Electron 29 and added Electron 30 compat data mapping
Configuration
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
- If you want to rebase/retry this MR, check this box
This MR has been generated by Mend Renovate.
Edited by Renovate Bot