Update dependency core-js to v3.51.0 #15
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
andylockran/TwoFacedCalendar!15
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/core-js-3.x-lockfile"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
3.10.0→3.51.0Release Notes
zloirock/core-js (core-js)
v3.51.0Compare Source
Iteratorchunking proposal:Iterator.prototype.chunksIterator.prototype.windowses.namespace modules,/es/and/stable/namespace entriesIteratorincludes proposal:Iterator.prototype.includeses.namespace module,/es/and/stable/namespace entriesIteratorjoin proposal:Iterator.prototype.joines.namespace module,/es/and/stable/namespace entriesMath.sumPrecisenegative numbers handling WebKit bugMath.sumPreciseV8 bugs with modified prototypes of arrays and array iteratorsRegExp.escapecode points handling WebKit bugMath.asinhin V8 < 5.4 and RhinoMath.cbrtin FF < 48 and engines that use glibccbrtPromise.{ allKeyed, allSettledKeyed }algorithm for sync promisesIterator.{ zip, zipKeyed }marked as shipped in V8 ~ Chrome 153Iterator.prototype.includesmarked as shipped in V8 ~ Chrome 154Iterator.prototype.joinmarked as shipped in V8 ~ Chrome 153Promise.{ allKeyed, allSettledKeyed }marked as shipped in FF155Iterator.prototype.{ drop, take }marked as properly supported with tc39/ecma262/#3776 from FF158Iterator.{ zip, zipKeyed }marked as shipped in Bun 1.4.0Iterator.prototype.{ chunks, windows }marked as shipped in Bun 1.4.0Iterator.prototype.joinmarked as shipped in Bun 1.4.0Math.sumPrecisenegative numbers handling WebKit bug, this method is marked as not supported in Safari and BunMath.sumPreciseV8 bugs (see above), this method is marked as not supported in Chrome -> all other V8 enginesRegExp.escapecode points handling WebKit bug:Math.asinhis marked as supported from V8 ~ Chrome 54 and as not supported in Rhino,Math.cbrt- from FF48v3.50.0Compare Source
Iterator.zipIterator.zipKeyedes.namespace modules,/es/and/stable/namespace entriesIteratorchunking proposal:Iterator.prototype.chunksIterator.prototype.windowsTypeErrorinstead ofRangeErroron non-integer numberchunkSize/windowSize, following tc39/proposal-iterator-chunking/#30/actual/namespace entries, unconditional forced replacement changed to feature detectionIteratorincludes stage 3 proposal:Iterator.prototype.includesIteratorjoin stage 3 proposal:Iterator.prototype.joinPromise.allKeyedPromise.allSettledKeyedRangeErroron finite unsafe integerlimitinIterator.prototype.{ drop, take }, following tc39/ecma262/#3776PromiseResolvesemantics inPromise.try, following tc39/ecma262/#3883Iterator.prototype.flatMapbug case, #1538Object.prototype.__proto__instead of removing it, so the feature detection updatedJSON.stringifypolyfill with an array replacer - keys order now follows the replacer, inherited and non-enumerable properties are no longer ignored, #1539URL/URLSearchParamsparsing a little more correct (char sets, percent coding, etc)URL#toJSONwhenURL#toStringis reassigned after core-js is importedSymbol.forget-iterator/get-iterator-methodfixesString.prototype.{ match, search }polyfills conversion orderMAX_SAFE_INTEGERexcess check inArray.fromand{ Map, Object }.groupBypolyfillsMath.{ asinh, cbrt, log1p }polyfills with big and small valuesUint8Arraybase64 methodsescapeArray.prototype.fillonArrayBufferconstructor and%TypedArray%.prototype.fillpackage.jsonof some missed packages (just to satisfypublint)Iterator.prototype.{ drop, take }properly supported from:Promise.trymarked as not properly supported in all enginesIterator.prototype.{ chunks, windows }marked as shipped in FF154Iterator.prototype.includesmarked as shipped in FF154Iterator.prototype.includesmarked as shipped in Bun 1.4.0Iterator.prototype.joinmarked as shipped in FF154Array.prototype.includesWebKit bug marked as fixed in:queueMicrotaskBun bug marked as fixed in Bun 1.4.0v3.49.0Compare Source
Iterator.rangeupdated following the actual spec versionRangeErroronNaNstart/end/stepnullasoptionOrStepMath.{ asinh, atanh }polyfills with big and small valuesNumber.prototype.toExponentialpolyfills with big and small valuesatob,btoa,Uint8Array.fromHex,Uint8Array.prototype.setFromHex, andUint8Array.prototype.toHex, #1503, #1464, #1510, thanks @johnzhou721Mapupsert proposalMapupsert proposal from the pure version made generic to make it work with polyfilled and native collectionsSymbol.forinSymbol.prototype.descriptionpolyfill for correct handling of empty string descriptionsArray.prototype.includeswith sparse arrays andfromIndexIterator.prototype.take) of a V8 ~ Chromium < 126 bugIterator.{ concat, zip, zipKeyed }in the pure version for ensuring proper wrappedIteratorinstances as the result.return()on exhausted iterator from some methods of iterator helpers polyfill to the underlying iterator.return()calling in case of throwing error in this method in the internaliteratehelper that affected some polyfillsIteratorValueerrors in the internaliteratehelper that affected some polyfillsArray.frompolyfill on failure to create array propertyArray.fromAsyncpolyfillMAX_SAFE_INTEGERinArray.fromAsyncpolyfillArray.prototype.flatpolyfillIterator.{ zip, zipKeyed }polyfillsIterator.{ zip, zipKeyed }polyfills.next()results as objects inIterator.{ zip, zipKeyed }polyfillsIterator.concatpolyfill on primitive as an iteratorIterator.prototype.windowspolyfillSet.prototype.{ isDisjointFrom, isSupersetOf }polyfillSet.prototype.differencepolyfill with updatingthisDataView.prototype.setFloat16polyfill in (0, 1) rangeString.prototype.{ padStart, padEnd }polyfillsString.prototype.{ startsWith, endsWith }polyfillsInfinityhandling inString.prototype.substrpolyfillString.prototype.repeatpolyfill with a counter exceeding 2 ** 32escapepolyfillRegExpNCG polyfillRegExpNCG polyfill in combination with other types of groupsRegExpNCG polyfill in combination withdotAllString.prototype.replacewithstickypolyfill, #810, #1514RegExpstickypolyfill with alternationmultiline+stickymode inRegExppolyfill.inputslicing on result object withRegExpstickymode polyfillglobalandunicodemodes in polyfillsURLSearchParams.prototype.deletepolyfill with duplicate key-value pairsURLSearchParams.prototype.deletepolyfill with second argumentURLpolyfillURLpolyfillURLpolyfill''andnullhost handling in theURLpolyfillhostname = host:portin theURLpolyfillURLpolyfillURLpolyfillURLSearchParamspolyfillURLpolyfill (/.prefix for non-special URLs withnullhost and path starting with empty segment)URLpolyfill.origingetter withblobschemeURLSearchParams.prototype.setpolyfill on calling only with 1 argumentURLSearchParamspolyfillURLSearchParamspolyfillURLpolyfillToPropertyKeycalling inReflect.{ get, set, deleteProperty }polyfillsReflect.setpolyfill with some descriptors casesReflect.setpolyfill with some non-extensible receiver casesReflect.constructpolyfill arguments validation (observable only in the error message)Reflect.definePropertypolyfill with malformed descriptorJSON.parsepolyfill on unterminated object and array literalsJSON.parsepolyfill on numbers with., but without a fraction part\u{}inString.dedentpolyfillString.dedentpolyfill%AsyncFromSyncIteratorPrototype%to make it a little stricterAsyncIteratormethodsAsyncIterator.prototype.flatMappolyfillAsyncIterator.prototype.mappolyfill on error in underlying iterator.next()AsyncIterator.prototype.takepolyfill withreturn: null.return()result as object inAsyncIterator.prototype.takepolyfillstructuredClonepolyfill on attempt to transfer multiple objects, some of which are non-transferableArrayBuffertransferring wherenewByteLengthexceeds the originalmaxByteLengthObject.definePropertyinSymbolpolyfillObject.definePropertyinSymbolpolyfill in Android ~ 2%TypedArray%.fromarguments validationArrayBufferand a negative length to the%TypedArray%andDataViewconstructors polyfills@@toStringTagon%TypedArray%polyfillToUint8ClampconversionNaNhandling inDate.prototype.setYearpolyfillWeakMapvalidation in the pure version{ Map, Set }.prototype.forEachmoments in the pure versionArray.isTemplateObjectpolyfill on frozen arrayObservable.fromwith multiple subscriptions of the obsolete ECMAScriptObservableproposal polyfillNumber.fromStringpolyfillesmodules: intersectoption ofcore-js-compatreactnativealias incore-js-compattypescore-js-builderblacklistoption ofcore-js-builder- it should be removed only in the next major releaseString.prototype.{ match, matchAll, replace, split }in modern engines, adds,dandvflag support to polyfills of those methodsNumber.fromStringproposaliOSdetectionMath.sumPrecisemarked as shipped in V8 ~ Chrome 147Iterator.concatmarked as shipped in V8 ~ Chrome 146Iterator.concatmarked as shipped in Safari 26.4Array.prototype.includesmarked as not supported in modern SafariparseIntandparseFloatv3.48.0Compare Source
Mapupsert proposal:Map.prototype.getOrInsertMap.prototype.getOrInsertComputedWeakMap.prototype.getOrInsertWeakMap.prototype.getOrInsertComputedes.namespace modules,/es/and/stable/namespaces entriesCreateDataProperty/CreateDataPropertyOrThrowin some missed cases, #1497RegExpconstructor (NCG anddotAll) polyfill.lengthIterator.prototype.flatMapthrows on iterator withoutreturnmethodUint8Array.prototype.setFromHexthrows an error on length-tracking views over ResizableArrayBufferMapupsert proposal features marked as shipped in V8 ~ Chrome 145Iterator.concatmarked as shipped in Bun 1.3.7Iterator.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 ResizableArrayBufferv3.47.0Compare Source
JSON.parsesource text access proposal:JSON.isRawJSONJSON.parseJSON.rawJSONJSON.stringifyes.namespace modules,/es/and/stable/namespaces entriesJSON.stringifyinternalsIteratorsequencing proposal:Iterator.concates.namespace modules,/es/and/stable/namespaces entriesIterator.zipIterator.zipKeyed/actual/namespace entries, unconditional forced replacement changed to feature detection.sizeinURLSearchParams.prototype.appendpolyfill in IE8-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.2v3.46.0Compare Source
Mapupsert stage 3 proposal:WeakMap.prototype.getOrInsertComputedbug with callback calling before validation a keyIteratorchunking proposal:Iterator.prototype.chunksIterator.prototype.windowsIterator.prototype.slidingmethod replaced with an extra parameter ofIterator.prototype.windowsmethod, tc39/proposal-iterator-chunking/#24, tc39/proposal-iterator-chunking/#26Iterator.zipandIterator.zipKeyedbehavior withmode: 'longest'option, #1469, thanks @lionel-roweObject.groupByandIterator.zipKeyedtogether withSymbolpolyfill - some cases of symbol keys on resultnull-prototype object were able to leak out tofor-inMapupsert proposal features marked as shipped from FF144v3.45.1Compare Source
Mapupsert proposal with polyfilled methods in the pure versionbugsfields topackage.jsonof all packagesMapupsert proposal features marked as shipped from Bun 1.2.20v3.45.0Compare Source
Uint8Arrayto / from base64 and hex proposal:Uint8Array.fromBase64Uint8Array.fromHexUint8Array.prototype.setFromBase64Uint8Array.prototype.setFromHexUint8Array.prototype.toBase64Uint8Array.prototype.toHexes.namespace modules,/es/and/stable/namespaces entriesUint8ArrayfromBase64 / setFromBase64 does not throw an error on incorrect length of base64 stringMath.sumPreciseproposal:Math.sumPrecisees.namespace module,/es/and/stable/namespaces entriesIteratorsequencing proposal:Iterator.concat/actual/namespace entries, unconditional forced replacement changed to feature detectionMapupsert proposal:Map.prototype.getOrInsertMap.prototype.getOrInsertComputedWeakMap.prototype.getOrInsertWeakMap.prototype.getOrInsertComputed/actual/namespace entries, unconditional forced replacement changed to feature detectionIteratormethods/stage/entriesUint8Arrayto / 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.0v3.44.0Compare Source
Uint8Arrayto / from base64 and hex stage 3 proposal:Uint8Array.fromBase64andUint8Array.prototype.{ setFromBase64, toBase64, toHex }, thanks @brc-ddGetinIterator.zipKeyed, following tc39/proposal-joint-iteration#43Iteratorsequencing stage 2.7 proposal:Iterator.concatno longer reusesIteratorResultobject of concatenated iterators, following tc39/proposal-iterator-sequencing#26Iteratorchunking stage 2 proposal:Iterator.prototype.slidingNumber.prototype.clampstage 2 proposal:clampno longer throws an error onNaNasminormax, following tc39/proposal-math-clamp#d2387791c265edf66fbe2455eab919016717ce6fSet.prototype.{ symmetricDifference, union }detectionIteratormethods/full/{ instance, number/virtual }/clampentriesIteratorhelpers 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.18v3.43.0Compare Source
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]es.namespace module,/es/and/stable/namespaces entriesArray.fromAsyncproposal:Array.fromAsynces.namespace module,/es/and/stable/namespaces entriesError.isErrorproposal:Error.isErrores.namespace module,/es/and/stable/namespaces entriesIterator.zipIterator.zipKeyedIteratorchunking stage 2 proposal:Iterator.prototype.chunksIterator.prototype.windowsNumber.prototype.clampproposal:Number.prototype.clampMath.clampwas replaced withNumber.prototype.clampRangeErrorifmin <= maxor+0min and-0max, tc39/proposal-math-clamp/#22flagsgetter PR. Native methods are not fixed, only own implementation updated for:RegExp.prototype[@@match]RegExp.prototype[@@replace]RegExpflags in polyfills of some methods in engines without proper support ofRegExp.prototype.flagsand without polyfill of this getterthisis updated whileSet.prototype.differenceis being executedthisin the following methods:Set.prototype.symmetricDifferenceSet.prototype.unionIterator.prototype.dropIterator.prototype.filterIterator.prototype.flatMapIterator.prototype.mapIterator.fromwhen underlying iterator'sreturnmethod isnullArray.prototype.withwhen index coercion failsTypedArray.prototype.withshould truncate negative fractional index to zero, but instead throws an errorPromisepolyfill in the pure version/iterator/flat-mapentriesError.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 bugIteratorhelpers marked as implemented from FF141Array.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.15v3.42.0Compare Source
Mapupsert proposal:WeakMap.prototype.getOrInsertComputedupdated following tc39/proposal-upsert#79Map.prototype.getOrInsertMap.prototype.getOrInsertComputedWeakMap.prototype.getOrInsertWeakMap.prototype.getOrInsertComputedSymbolmethods forRegExpon primitive values following tc39/ecma262#3009:core-jsimplementationsString.prototype.matchAllString.prototype.matchString.prototype.replaceAllString.prototype.replaceString.prototype.searchString.prototype.splitUint8Array.prototype.setFromBase64bug in some of Linux builds of WebKitIterator.prototype.dropIterator.prototype.everyIterator.prototype.filterIterator.prototype.findIterator.prototype.flatMapIterator.prototype.forEachIterator.prototype.mapIterator.prototype.reduceIterator.prototype.someIterator.prototype.takeAsyncIteratorhelpersArray.fromAsync(due to the lack of async feature detection capability - temporarily, only in owncore-jsimplementation)AsyncIterator.fromIterator.prototype.toAsyncundefinedinitial parameter inIterator.prototype.reduce(see WebKit bug)core-js-compatandcore-js-builderAPI:'intersect'support fortargets.esmodules(Babel 7 behavior)targets.esmodules: true(Babel 7 behavior)RegExp.escapemarked as shipped from V8 ~ Chromium 136Error.isErrormarked as shipped from FF138Iteratorhelpers 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.11v3.41.0Compare Source
RegExp.escapeproposal:RegExp.escapees.namespace module,/es/and/stable/namespaces entriesFloat16proposal:Math.f16roundDataView.prototype.getFloat16DataView.prototype.setFloat16es.namespace modules,/es/and/stable/namespaces entriesMath.clampstage 1 proposal:Math.clampMathextensions proposal, February 2025 TC39 meetingAsyncDisposableStackbug, tc39/proposal-explicit-resource-management/256DisposableStack,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 FF137v3.40.0Compare Source
Error.isErrorstage 3 proposal:Error.isError.shamIteratorsequencing stage 2.7 proposal:IteratorResultobjects when possible, tc39/proposal-iterator-sequencing/17, tc39/proposal-iterator-sequencing/18, December 2024 TC39 meetingSetmethodsDataView.prototype.{ getFloat16, setFloat16 }performance, #1379, thanks @LeviPesin%TypedArray%.prototype.toSplicedMath.scale) available on globalRegExp.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.43URL.parsewas added - 22.1 instead of 22.0v3.39.0Compare Source
Iteratorhelpers proposal: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]es.namespace modules,/es/and/stable/namespaces entriesPromise.try:Promise.tryes.namespace module,/es/and/stable/namespaces entries/actual|full/promise/tryentries for the callback arguments supportMath.sumPreciseproposal:Math.sumPrecise/actual/namespace entries, unconditional forced replacement changed to feature detectionIteratorsequencing stage 2.7 proposal:Iterator.concatMapupsert stage 2 proposal:Map.prototype.getOrInsertMap.prototype.getOrInsertComputedWeakMap.prototype.getOrInsertWeakMap.prototype.getOrInsertComputed@@speciespattern removed from%TypedArray%andArrayBuffermethods, tc39/ecma262/3450:%TypedArray%.prototype.filter%TypedArray%.prototype.filterReject%TypedArray%.prototype.map%TypedArray%.prototype.slice%TypedArray%.prototype.subarrayArrayBuffer.prototype.sliceUint8Arrayto / from base64 and hex proposal methods marked as shipped from FF133selfdescriptor is fixed in Deno 1.46.0Iteratorhelpers proposal methods marked as shipped from Bun 1.1.31v3.38.1Compare Source
URLSearchParamspercent decoding, #1357, #1361, thanks @slowcheetahIteratorhelpers 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.22v3.38.0Compare Source
RegExp.escapeproposal:RegExp.escape/actual/namespace entries, unconditional forced replacement changed to feature detectionPromise.tryproposal:Promise.try/actual/namespace entries, unconditional forced replacement changed to feature detectionUint8Arrayto / from base64 and hex stage 3 proposal:Uint8Array.fromBase64Uint8Array.fromHexUint8Array.prototype.setFromBase64Uint8Array.prototype.setFromHexUint8Array.prototype.toBase64Uint8Array.prototype.toHexUint8Array.prototype.{ setFromBase64, setFromHex }methodsUint8Array.fromBase64andUint8Array.prototype.setFromBase64lastChunkHandlingoption, proposal-arraybuffer-base64/33Uint8Array.prototype.toBase64omitPaddingoption, proposal-arraybuffer-base64/60TypeErroron arrays backed by detached buffersRegExpnamed capture groups polyfill in combination with non-capturing groups, #1352, thanks @Ulopprocess.getBuiltinModulefor getting built-in NodeJS modules where it's availablehttpsinstead ofhttpinURLconstructor feature detection to avoid extra notifications from some overly vigilant security scanners, #1345browserslistincore-js-compatdependencies that fixes an upstream issue with incorrect interpretation of somebrowserslistqueries, #1344, browserslist/829, browserslist/836Object.groupByandMap.groupByto work for non-objectsRangeErrorifSetmethods are called on an object with negative size propertySet.prototype.symmetricDifferenceto callthis.hasin each iterationArray.fromAsyncto not call theArrayconstructor twiceURL.parseMath.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 128selfdescriptor is broken in Deno 1.45.3 (again)v3.37.1Compare Source
URL.parsefeature detection for some specific casesSetmethods 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.43v3.37.0Compare Source
Setmethods proposal:Set.prototype.intersectionSet.prototype.unionSet.prototype.differenceSet.prototype.symmetricDifferenceSet.prototype.isSubsetOfSet.prototype.isSupersetOfSet.prototype.isDisjointFromes.namespace modules,/es/and/stable/namespaces entriesMath.sumPrecisestage 2.7 proposal:Math.sumPrecisePromise.tryproposal:Promise.tryRegExp.escapestage 2 proposal:Symbol.customMatcherSymbol.customMatcherSymbol.customMatcherwell-known symbol from the pattern matching proposal is also used in the exactors proposal, added an entry also for this proposalURL.parse, url/825{ Object, Map }.groupBybug that does not support iterable primitivesArray.fromAsyncURL.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.0Setmethods fixed in JavaScriptCore and marked as supported from Bun 1.1.1v3.36.1Compare Source
Object.setPrototypeOf, #1329, thanks @stonechoeArray.from, #1331, thanks @stonechoequeueMicrotaskarityURL.canParsearitySuppressedErrorextra arguments support and arityvalueargument ofURLSearchParams.prototype.{ has, delete }marked as supported from Bun 1.0.31Array.prototype.{ toSpliced, toReversed, with }andatobmarked as supportedv3.36.0Compare Source
ArrayBuffer.prototype.transferand friends proposal:ArrayBuffer.prototype.detachedArrayBuffer.prototype.transferArrayBuffer.prototype.transferToFixedLengthes.namespace modules,/es/and/stable/namespaces entriesUint8Arrayto / from base64 and hex proposal:Uint8Array.fromBase64Uint8Array.fromHexUint8Array.prototype.toBase64Uint8Array.prototype.toHex/actual/namespace entriesPromise.tryproposal has been resurrected and moved to stage 2, February 2024 TC39 meetingcore-js/stage/2.7- still emptySet.prototype.intersectionfeature detectionArray.prototype.{ indexOf, lastIndexOf, includes }, #1325, thanks @stonechoeArray.prototype.{ reduce, reduceRight }, #1327, thanks @stonechoeArray.fromand some other methods with proxy targets, #1322, thanks @stonechoeArrayBuffer.prototype.transferand friends proposal in some specific cases in IE10-Date.prototype.toJSONtoJSON.stringifyentries dependencies{ Map, Object }.groupBy,Promise.withResolvers,ArrayBuffer.prototype.transferand friends marked as supported from Safari 17.4Setmethods fixed and marked as supported from V8 ~ Chrome 123Symbol.metadatamarked as supported from Deno 1.40.4v3.35.1Compare Source
ToLengthoperation with bigints, #1318String.prototype.splitpolyfillIteratorhelpers proposal methods marked as supported from V8 ~ Chrome 122Setmethods, but they have a bug similar to Safariselfmarked as fixed from Bun 1.0.22SuppressedErrorandSymbol.{ dispose, asyncDispose }marked as supported from Bun 1.0.23v3.35.0Compare Source
{ Map, Set, WeakMap, WeakSet }.{ from, of }became non-generic, following this and some other notes. Now they can be invoked withoutthis, but no longer return subclass instancesSymbolpolyfillqueueMicrotaskpolyfillArrayBufferArray.fromAsyncmarked as supported from V8 ~ Chrome 121Array.prototype.pushbug is fixed in V8 ~ Chrome 122 (Hallelujah!)ArrayBuffer.prototype.transferand friends proposal features marked as supported from FF 122 and Bun 1.0.19Object.groupByandMap.groupBymarked as supported from Bun 1.0.19Iteratorhelpers proposal 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.37v3.34.0Compare Source
Arraygrouping proposal:Object.groupByMap.groupByes.namespace modules,/es/and/stable/namespaces entriesPromise.withResolversproposal:Promise.withResolverses.namespace module,/es/and/stable/namespaces entriesIteratorhelpers proposal, proposal-iterator-helpers/287 and some following changes, November 2023 TC39 meetingUint8Arrayto / from base64 and hex stage 2 proposal:Uint8Array.fromBase64Uint8Array.fromHexUint8Array.prototype.toBase64Uint8Array.prototype.toHexNumber.fromStringvalidation before clarification of proposal-number-fromstring/24@@toStringTagproperty descriptors on DOM collections, #1312Arrayiteration methods, #1313atob/btoaimprovementsPromise.withResolversmarked as shipped from FF121v3.33.3Compare Source
[[DedentMap]]fromString.dedentproposal betweencore-jsinstances before stabilization of the proposalArray.fromAsyncmarked as supported from Deno 1.38Symbol.{ dispose, asyncDispose }marked as supported from Deno 1.38v3.33.2Compare Source
structuredClonepolyfill, avoided second tree pass in cases of transferringSuppressedErrortostructuredClonepolyfillArrayBufferandDataViewdependencies ofstructuredClonelack of which could cause errors in some entries in IE10-Number.fromStringURL.canParsemarked as supported from Chromium 120v3.33.1Compare Source
Symbolpolyfill on global object, #1289type: commonjsinpackage.jsonof all packages to avoid potential breakage in future Node versions, see this issueString.prototype.{ isWellFormed, toWellFormed }marked as supported from FF119v3.33.0Compare Source
RegExpescaping stage 2 proposal, September 2023 TC39 meeting:RegExp.escapemethod with the new set of symbols for escapingcore-js, but it was removed after rejecting the old version of this proposalArrayBuffer.prototype.{ transfer, transferToFixedLength }and support transferring ofArrayBuffers viastructuredCloneto engines withMessageChannelMath.f16roundpolyfillMath.f16roundandDataView.prototype.{ getFloat16, setFloat16 }Observableproposal because of incompatibility with the new WHATWGObservableproposalSymbolpolyfill, #1289Iteratorhelpers because of some Web compatibility issuesPromise.withResolversmarked as supported from V8 ~ Chrome 119Arraygrouping proposal features marked as supported from FF119valueargument ofURLSearchParams.prototype.{ has, delete }marked as properly supported from V8 ~ Chrome 118URL.canParseandURLSearchParams.prototype.sizemarked as supported from Bun 1.0.2v3.32.2Compare Source
structuredClonefeature detectioncore-js@3.32.1bug, #1288evalbug, #1287v3.32.1Compare Source
processpolyfill tocore-jsvia some bundlers oresm.sh, #1277Promise.withResolversmarked as supported from Bun 0.7.1v3.32.0Compare Source
Arraygrouping proposal, July 2023 TC39 meeting updates:/actual/namespaces entries, unconditional forced replacement changed to feature detectionPromise.withResolversproposal, July 2023 TC39 meeting updates:/actual/namespaces entries, unconditional forced replacement changed to feature detectionSetmethods stage 3 proposal, July 2023 TC39 meeting updates:Setsizes, proposal-set-methods/88IsCallablecheck inGetKeysIterator, proposal-set-methods/101Stringwrapper objects, July 2023 TC39 meeting update, proposal-iterator-helpers/281Iteratoris not constructible from the active function object (works as an abstract class)/actual/namespace entries, unconditional forced replacement changed to feature detection[@@dispose]()method when hint isasync-dispose, proposal-explicit-resource-management/180Float16Arraystage 3 proposal:Float16Arrayright now, however, make sense to add some methods from this proposal.Math.f16roundDataView.prototype.getFloat16DataView.prototype.setFloat16DataViewget / setUint8Clampedmethods stage 1 proposal:DataView.prototype.getUint8ClampedDataView.prototype.setUint8Clampedvalueargument ofURLSearchParams.prototype.{ has, delete }Setmethods implementation by the actual specSymbol.{ dispose, asyncDispose }descriptors from NodeJS 20.4 / transpilers helpers / userland codeAsyncIteratorPrototypecore-js/configuratoroption, #1268Iteratorhelpers proposal features marked as supported from V8 ~ Chrome 117Arraygrouping proposal features marked as supported from V8 ~ Chrome 117Symbol.{ dispose, asyncDispose }as supported from NodeJS 20.5.0 (as mentioned above, NodeJS 20.4.0 add it, but with incorrect descriptors)v3.31.1Compare Source
structuredClonebug with cloning views of transferred buffers, #1265DataViewmethodsFloat16ArrayinstructuredCloneSetmethods proposal marked as supported from Safari 17.0URLfeatures:URL.canParse,URLSearchParams.prototype.sizeandvalueargument ofURLSearchParams.prototype.{ has, delete }marked as supported from Safari 17.0valueargument ofURLSearchParams.prototype.{ has, delete }marked as supported from Deno 1.35AggregateErrorand well-formedJSON.stringifymarked as supported React Native 0.72 Hermesv3.31.0Compare Source
String.prototype.isWellFormedmethodString.prototype.toWellFormedmethodes.namespace modules,/es/and/stable/namespaces entriesArraygrouping proposal, May 2023 TC39 meeting updates:Object.groupBymethodMap.groupBymethod (with the actual semantic - with a minor difference it was present in the collections methods stage 1 proposal)Function.prototype[Symbol.metadata](=== null)/actual/entriesSymbol.iteratorfallback from callable check toundefined/nullcheck, May 2023 TC39 meeting, proposal-iterator-helpers/272IsCallablecheck onNextMethod, deferring errors toCallsite, May 2023 TC39 meeting, proposal-iterator-helpers/274Promise.withResolversstage 2 proposal:Promise.withResolversmethodSymbolpredicates stage 2 proposal:Symbol, May 2023 TC39 meeting:Symbol.isRegistered->Symbol.isRegisteredSymbolmethodSymbol.isWellKnown->Symbol.isWellKnownSymbolmethodvalueargument ofURLSearchParams.prototype.{ has, delete }, url/735ArrayBuffer.prototype.{ transfer, transferToFixedLength }polyfillsAsyncDisposableStack.prototype.adoptcallback, #1258URLSearchParams#sizein ES3 engines (IE8-)Object.{ entries, values }for some IE versions bug with invisible integer keys onnull-prototype objectscore-js-compat, #1235, thanks @susnuxSet.prototype.differencethat was missed in Bun because of a bug added in 0.6.0Array.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.2Arrayby copy proposal marked as supported from FF115Array.fromAsyncmarked as supported from FF115URL.canParsemarked as supported from FF115valueargument ofURLSearchParams.prototype.{ has, delete }marked as supported from NodeJS 20.2.0 and FF115v3.30.2Compare Source
FileviastructuredCloneStringoptimization, #1242URL.canParsemarked as supported (fixed) from NodeJS 20.1.0 and Deno 1.33.2v3.30.1Compare Source
URL.canParsebugJSON.parsesource text access proposal features marked as supported from V8 ~ Chrome 114ArrayBuffer.prototype.transferand friends proposal features marked as supported from V8 ~ Chrome 114URLSearchParams.prototype.sizemarked as supported from V8 ~ Chrome 113v3.30.0Compare Source
URL.canParsemethod, url/763Setmethods proposal:Set.prototype.intersection, March 2023 TC39 meeting, proposal-set-methods/94(Async)DisposableStack.prototype.movemarks the original stack as disposed, #1226Iterator.rangeproposal:Symbol.metadata, March 2023 TC39 meeting, proposal-decorator-metadata/12URLSearchParams.prototype.sizemarked as supported from FF112, NodeJS 19.8 and Deno 1.32v3.29.1Compare Source
ToStringconversion / built-ins nature of some accessorsString.prototype.{ isWellFormed, toWellFormed }marked as supported from V8 ~ Chrome 111v3.29.0Compare Source
URLSearchParams.prototype.sizegetter, url/734ArrayBuffers in thestructuredClonepolyfill/(stable|actual|full)/instance/unshiftentries, #1207Setmethods proposal marked as supported from Bun 0.5.7String.prototype.toWellFormedmarked as fixed from Bun 0.5.7v3.28.0Compare Source
Arrayby copy proposal:Array.prototype.toReversedArray.prototype.toSortedArray.prototype.toSplicedArray.prototype.with%TypedArray%.prototype.toReversed%TypedArray%.prototype.toSorted%TypedArray%.prototype.withes.namespace modules,/es/and/stable/namespaces entriesJSON.parsesource text access Stage 3 proposalJSON.parsepatched to supportsourceinreviverfunction argumentsJSON.rawJSONJSON.isRawJSONJSON.stringifypatched to supportJSON.rawJSONArrayBuffer.prototype.transferand friends Stage 3 proposal:ArrayBuffer.prototype.detachedArrayBuffer.prototype.transfer(only in runtimes with nativestructuredClonewithArrayBuffertransfer support)ArrayBuffer.prototype.transferToFixedLength(only in runtimes with nativestructuredClonewithArrayBuffertransfer support)ArrayBuffer.prototype.transfer, but without properstructuredClone, addedArrayBuffertransfer support tostructuredClonepolyfillAsyncIteratorhelpers, proposal-iterator-helpers/262InstallErrorCauseremoved fromSuppressedError, January 2023 TC39 meeting, proposal-explicit-resource-management/145{ AsyncDisposableStack, DisposableStack }.prototype.use, proposal-explicit-resource-management/143Symbolpredicates Stage 2 proposalSymbol.isRegisteredSymbol.isWellKnownNumber.rangeStage 1 proposal and method renamed toIterator.rangeFunction.prototype.unThisStage 0 proposal and method renamed toFunction.prototype.demethodizeString.prototype.toWellFormedToStringconversion bugJSON.stringifysymbols handling fixJSON.{ parse, stringify }bugs (numbers instead of strings as keys in replacer, handling negative zeroes, spaces, some more handling symbols cases, etc.)ToStringconversion of some accessorsArrayBufferandDataViewmethodsDataViewand%TypedArray%polyfills optimizations=in theatobpolyfillString.prototype.{ trim, trimEnd, trimRight },parse(Int|Float),Number,atob, andURLpolyfills in some ancient enginesRegExp.prototype.flagsmarked as fixed from V8 ~ Chrome 111core-js-builderv3.27.2Compare Source
Setmethods proposal updates:Set-like objects on early exit, proposal-set-methods/85webpackdev server bug on IE global methods, #1161String.{ raw, cooked }error with empty template arrayError.captureStackTraceinstead of stack parsing in new error classes / wrappers where it's possiblePromise.{ allSettled, any }feature detection, Hermes issueArrayby copy proposal marked as supported from V8 ~ Chrome 110selfmarked as fixed in Deno 1.29.3, deno/17362core-js-bundlev3.27.1Compare Source
WeakMapkeysString.dedentin MS Edgev3.27.0Compare Source
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.toAsyncIterator.prototype[@@toStringTag]AsyncIteratorAsyncIterator.fromAsyncIterator.prototype.dropAsyncIterator.prototype.everyAsyncIterator.prototype.filterAsyncIterator.prototype.findAsyncIterator.prototype.flatMapAsyncIterator.prototype.forEachAsyncIterator.prototype.mapAsyncIterator.prototype.reduceAsyncIterator.prototype.someAsyncIterator.prototype.takeAsyncIterator.prototype.toArrayAsyncIterator.prototype[@@toStringTag]/actual/entries, unconditional forced replacement disabled for features that survived to Stage 3.fromaccept strings,.flatMapthrows on strings returned from the callback, proposal-iterator-helpers/244, proposal-iterator-helpers/250.fromand.flatMapthrows on non-object iterators, proposal-iterator-helpers/253Setmethods proposal:Set.prototype.intersectionSet.prototype.unionSet.prototype.differenceSet.prototype.symmetricDifferenceSet.prototype.isSubsetOfSet.prototype.isSupersetOfSet.prototype.isDisjointFromSet-like objects as an argument, not all iterablesSets asthis, no@@speciessupport, and other minor changes/actual/entries, unconditional forced replacement changed to feature detection/actual/namespace)/full/namespace), those methods are available with fallbacks to old semantics (in addition toSet-like, they accept iterable objects). This behavior will be removed from the next major releaseString.prototype.isWellFormedString.prototype.toWellFormed/actual/entries, disabled unconditional forced replacementusingstatement" and split into 2 (sync and async) proposalsSymbol.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]/actual/namespace entries for Stage 3 proposalString.dedentstage 2 proposalString.dedentreact-nativetarget for React Native with bundled Hermes.oculustarget was renamed toquest.opera_mobiletarget name is confusing since it contains data for the Chromium-based Android version, but iOS Opera is Safari-based. Soopera_mobiletarget was renamed toopera-android.androidtarget name is also confusing for someone - that means Android WebView, some think thinks that it's Chrome for Android, but they have some differences. For avoiding confusion, addedchrome-androidtarget.firefox-androidtarget.oculusandopera_mobilefields are available in the compat data till the next major release.Array.fromAsyncmarked as supported from Bun 0.3.0String.prototype.{ isWellFormed, toWellFormed }marked as supported from Bun 0.4.0Arrayby copy proposal marked as supported from Deno 1.27, deno/16429{ Map, WeakMap }.prototype.emplacebecame stricter by the spec draft@@speciespattern) of some.prototypemethods from the new collections methods proposal and theArraydeduplication proposal that most likely will not be implemented since it contradicts the current TC39 policyNumberconstructor, #1154, #1155, thanks @trososset(Timeout|Interval|Immediate)extra arguments fix for Bun 0.3.0- (similarly to IE9-), bun/1633structuredClone, #1156v3.26.1Compare Source
Array.fromAsyncsince it's on Stage 3function-uncurry-thishelper where it's not required - minor optimization and preventing problems in some broken environments, a workaround of #1141Array.prototype.{ group, groupToMap }in V8 ~ Chromium 108, proposal-array-grouping/44v3.26.0Compare Source
Array.fromAsyncproposal:%Array.prototype.values%usage in array-like branch, proposal-array-from-async/30String.prototype.isWellFormedString.prototype.toWellFormedAsyncIteratorhelpers, proposal-iterator-helpers/239{ Iterator, AsyncIterator }.prototype.flatMapsupports returning both - iterables and iterators, proposal-iterator-helpers/233.nextin missed cases of{ Iterator, AsyncIterator }.from, proposal-iterator-helpers/232selfpolyfill as a part of The Minimum Common Web Platform API, specification, #1118inverseoption tocore-js-compat, #1119formatoption tocore-js-builder, #1120v3.25.5Compare Source
v3.25.4Compare Source
Function.prototype.{ call, apply, bind }on string methods, #1128[Serializable]and[Transferable]objects in thestructuredClonepolyfill. Mainly, for better error messages if polyfilling of cloning such types is impossibleArray.prototype.{ group, groupToMap }marked as supported from V8 ~ Chromium 108v3.25.3Compare Source
Array.prototype.groupToMapin the pure version for returning wrappedMapinstancesArray.prototype.{ findLast, findLastIndex }in/stage/4entryv3.25.2Compare Source
document.allas a callable in some missed casesv3.25.1Compare Source
sideEffectsfield tocore-js-purepackage.jsonfor better tree shaking, #1117semverdependency fromcore-js-compatsemverpackage (ironically) added a breaking change and dropped NodeJS 8 support in the minor7.1version, after thatsemverincore-js-compatwas pinned to7.0since for avoiding breaking changes it should support NodeJS 8. However, sincecore-js-compatis usually used with other packages that usesemverdependency, it causes multiple duplication ofsemverin dependencies. So I decided to removesemverdependency and replace it with a couple of simple helpers.v3.25.0Compare Source
Object.prototype.__proto__polyfilldocument.allas an object in some missed cases, see ECMAScript Annex B 3.6%WrapForValid(Async)IteratorPrototype%.return, proposal-iterator-helpers/215.returnin%IteratorHelperPrototype%.return, #1116valueshould be created beforedone).lengthsettingArrayBuffer.lengthin V8 ~ Chrome 27-WeakMapfor internal states with multiplecore-jscopiesFileListin thestructuredClonepolyfill extended to some more old engines versionsTypeErrorincore-js-compat/core-js-builderin case of passing invalid module names / filters for avoiding unexpected result, related to #1115esmodulescore-js-compat/core-js-buildertargetv3.24.1Compare Source
IS_BROWSERdetection to avoid a false positive withjsdom, #1110@@speciessupport inPromisein some old engines{ Array, %TypedArray% }.prototype.{ findLast, findLastIndex }marked as shipped in FF104v3.24.0Compare Source
.asIndexedPairsrenamed to.indexed, proposal-iterator-helpers/183:Iterator.prototype.asIndexedPairs->Iterator.prototype.indexedAsyncIterator.prototype.asIndexedPairs->AsyncIterator.prototype.indexed%AsyncFromSyncIteratorPrototype%inAsyncIterator.fromandIterator.prototype.toAsync, proposal-iterator-helpers/182, proposal-iterator-helpers/202%WrapForValidAsyncIteratorPrototype%.next, proposal-iterator-helpers/197%WrapForValid(Async)IteratorPrototype%.next, proposal-iterator-helpers/197 and proposal-iterator-helpers/205.next/.returnto an underlying iterator by the extended iterator protocol, a part of proposal-iterator-helpers/194.throwmethods removed from all wrappers / helpers prototypes, a part of proposal-iterator-helpers/194{ Iterator, AsyncIterator }.prototype.flatMapproxy iterators on.return, proposal-iterator-helpers/195RangeErroronNaNin{ Iterator, AsyncIterator }.prototype.{ drop, take }, proposal-iterator-helpers/181%TypedArray%.prototype.toSplicedmethod removed from the change array by copy proposal and marked as obsolete incore-js, proposal-change-array-by-copy/88Promisewithunhandledrejectionevent support (browser style) in Deno < 1.24core-js-compat/core-js-builderand added compat data for them:bun), compat data for 0.1.1-0.1.5, #1103hermes), compat data for 0.1-0.11, #1099oculus), compat data mapping for 3.0-22.0, #1098v3.23.5Compare Source
structuredClonefeature detection, #1106v3.23.4Compare Source
core-jsstructuredClonebugs (1774866 (fixed in FF104) and 1777321 (still not fixed)) that now can clone errors, but.stackof the clone is an empty string{ Map, WeakMap }.prototype.emplacelogic, #1102v3.23.3Compare Source
%TypedArray%.prototype.toSplicedfollowing proposal-change-array-by-copy/89v3.23.2Compare Source
%TypedArray%constructors in new methods, #1092 (comment)v3.23.1Compare Source
core-jscopies, #1091vflag toRegExp.prototype.flagsimplementation in case if current V8 bugs will not be fixed before this flag implementationv3.23.0Compare Source
Arrayfind from last moved to the stable ES, according to June 2022 TC39 meeting:Array.prototype.findLastArray.prototype.findLastIndex%TypedArray%.prototype.findLast%TypedArray%.prototype.findLastIndexArraygrouping proposal renamed, according to June 2022 TC39 meeting:Array.prototype.groupBy->Array.prototype.groupArray.prototype.groupByToMap->Array.prototype.groupToMap%TypedArray%.prototype.withfollowing proposal-change-array-by-copy/86, according to June 2022 TC39 meetingSymbol.metadataKeyreplacesSymbol.metadataArray.prototype.pushpolyfill with some fixes for modern enginesArray.prototype.unshiftpolyfill with some fixes for modern enginesRegExp.prototype.flagsin the actual version of V8MathandNumberconstantsArrayBufferDetachingprotector cell invalidation and performance degradation onstructuredClonefeature detection, one more case of #679structuredClonethat can not cloneDOMException(just in case for future versions that will fix other issues)v3.22.8Compare Source
ToBigInt/ToNumberconversion of the argument passed to%TypedArray%.prototype.fillin V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18DeletePropertyOrThrowin IE9-TypeErrorinstead ofError) on incorrectexecresult inRegExp.prototype.testpolyfill{ actual, full, features }/typed-array/atentriesv3.22.7Compare Source
v3.22.6Compare Source
ToNumberconversion on arguments ofMath.{ fround, trunc }polyfillsArray.prototype.includesmarked as fixed in FF102v3.22.5Compare Source
.prototypeis non-writable.prototypeis not definedstruturedClonethat returnsnullif cloned object contains multiple references to one errorv3.22.4Compare Source
.lengthof polyfilled functions even in compressed code (excepting some ancient engines).nameof polyfilled accessors (excepting some ancient engines)ToStringconversion of polyfilled accessorsv3.22.3Compare Source
Array.prototype.includesbroken on sparse arraysv3.22.2Compare Source
URLSearchParamsin IE8- that was broken in the previous release__lookupGetter__entriesv3.22.1Compare Source
RegExpflags handlingfetchAPIv3.22.0Compare Source
Arrayby copy proposal:/actual/entry points for methods from this proposalArray.prototype.toSplicedthrows aTypeErrorinstead ofRangeErrorif the result length is more thanMAX_SAFE_INTEGER, proposal-change-array-by-copy/70atob/btoafixes:atobdoes not ignore spaces, node/42530atobdoes not validate encoding, node/42646/full/namespace as the replacement for/features/since it's more descriptive in context of the rest namespaces (/es/⊆/stable/⊆/actual/⊆/full/)%TypedArray%.prototype.groupBywas removed from theArraygrouping proposal a long time ago. We can't completely remove this method since it's a breaking change. But this proposal has been promoted to stage 3 - so the proposal should be promoted without this method, this method should not be available in/actual/entries - but it should be available in early-stage entries to avoid breakage.Errorfeatures with wrappedErrorconstructors, #1061nullandundefinedallowed as the second argument ofstructuredClone, #1056core-js-compat->core-js-builder->core-js-bundleoutput. That mean that if the output contains, for example,es.object.has-own, the legacy reference to it,esnext.object.has-own, no longer added.core-js-builderandcore-js-compat, now it'smodulesandexcludeoptionstargetsoption ofcore-js-compatmeans that thetargetsfilter just will not be applied, so the result will contain modules required for all possible engines.stackproperty onDOMExceptionmarked as supported from Deno 1.15v3.21.1Compare Source
Array.prototype.{ groupBy, groupByToMap }implementationcore-js-compattargets parser transforms engine names to lower caseatob/btoamarked as fixed in NodeJS 17.5v3.21.0Compare Source
atobbtoav3.20.3Compare Source
Function#bindpolyfills, uses only nativeFunction#bindin the internalsstructuredCloneshould throw an error if no arguments passed__core-js_shared__v3.20.2Compare Source
Object.{ defineProperty, defineProperties }bug, Babel issue%TypedArray%.prototype.setbugs, affects modern engines (like Chrome < 95 or Safari < 14.1)v3.20.1Compare Source
Promise.prototype.then, #1026v3.20.0Compare Source
structuredClonemethod from the HTML spec, see MDNhtml/5749DOMExceptionpolyfill, the Web IDL spec, see MDNDOMExceptionand its attributes polyfills with fixes of many different engines bugsDOMException#stackproperty polyfill in engines that should have itDOMExceptionimplementations where it's possible (for example, in old NodeJS where it's not exposed as global)causeon all Error typesError.prototype.toStringmethod polyfill with fixes of many different bugs of JS enginesNumber.prototype.toExponentialmethod polyfill with fixes of many different bugs of JS enginesArraygrouping proposal:Array.prototype.groupByToMapmethod@@speciessupportArrayby copy stage 2 proposal:Array.prototype.toReversedArray.prototype.toSortedArray.prototype.toSplicedArray.prototype.with%TypedArray%.prototype.toReversed%TypedArray%.prototype.toSorted%TypedArray%.prototype.toSpliced%TypedArray%.prototype.withIterator.prototype.toAsyncmethod from the iterator helpers stage 2 proposalArray.fromAsyncproposal moved to stage 2String.cookedstage 1 proposalFunction.prototype.unThisstage 0 proposalFunction.{ isCallable, isConstructor }stage 0 proposal:Function.isCallableFunction.isConstructorString#atafter loading obsoleteString#atproposal module, #1019Array.prototype.{ values, @@iterator }.namein V8 ~ Chrome 45-core-js/actual/**namespacev3.19.3Compare Source
URLSearchParamsiterator.nextthat should be enumerable by the specSubscriptionv3.19.2Compare Source
RegExp#stickyflag, #1008, #1015Function#namepolyfill, #1010, thanks @ildar-shaimordanovArray.prototype[@@species]URLandURLSearchParamsv3.19.1Compare Source
ArrayBuffers are non-extensible, butObject.isExtensibledoes not report it:Object.{ isExtensible, isSealed, isFrozen }andReflect.isExtensibleArrayBuffers as collections keysObject#toStringonAggregateErrorin IE10-WeakMapin IE8-.findLastmethods family marked as supported from Chrome 97web.modulesv3.19.0Compare Source
core-jsfor preventing possible cases of breaking / observing the internal state by patching / deleting of them.call/.applyprototype methods that could be patchedinstanceofoperator - implicit.prototype/@@hasInstanceaccess that could be patchedRegExp#test,String#matchand some over methods - implicit.execandRegExpwell-known symbols access that could be patchedErrorstack from extra entries experimentally added toAggregateError, #996, in case lack of problems it will be extended to other casesSymbolsupport, new well-known symbols created with usageSymbol.forfor ensuring the same keys in different realms, #998processpolyfill bug that incorrectly reports V8 version that's used in some cases ofcore-jsfeature detectionmessageAggregateErrorargumentMath.scale, a spec draft bugcore-js-builderwork in NodeJS 17, added a workaround ofwebpack+ NodeJS 17 issuev3.18.3Compare Source
AggregateErrorconstructor that should containErrorconstructorAggregateError.prototypeproperties descriptorsInstallErrorCauseinternal operationObject.hasOwnmarked as supported from Safari 15.1v3.18.2Compare Source
{ Array, %TypedArray% }.fromAsyncerrors moved to the promise, per the latest changes of the spec draftToInteger(OrInfinity)operation returns+0for-0argument, ES2020+ updateNumberconstructor wrapperString.rawwith extra argumentsv3.18.1Compare Source
String.prototype.substrfeature detection and compat data.forEachfrom prototypes of some DOM collections where it shouldn't be, #988, #987, thanks @moorejscausetoAggregateErrorconstructor implementation (still without adding to the feature detection).atand.findLastmethods marked as supported in Safari TPv3.18.0Compare Source
Array.fromAsyncstage 1 proposal:Array.fromAsync%TypedArray%.fromAsync.nameand.toString()on polyfilled functions improved in many different casesIsConstructorandIsCallablechecksGetMethodoperationparseInt/parseFloatwith boxed symbolses.array.{ index-of, last-index-of }compat datav3.17.3Compare Source
%IteratorPrototype%and%AsyncIteratorPrototype%in the futureDOMTokenList.prototype.{ forEach, @@iterator, keys, values, entries }in old WebKit versions whereelement.classListis not an instance of globalDOMTokenListv3.17.2Compare Source
v3.17.1Compare Source
modules-by-versionsdatav3.17.0Compare Source
Object.prototype.hasOwnProperty(Object.hasOwn) proposal moved to the stable ES, per August 2021 TC39 meeting.at) proposal moved to the stable ES, per August 2021 TC39 meetingString.prototype.at. It was not exposed because of the conflict with the alternative obsolete proposal (that will be completely removed in the next major version). For the backward compatibility, in the case of loading this proposal, it will be overwritten.v3.16.4Compare Source
AsyncFromSyncIteratormade stricter, related mainly toAsyncIterator.fromandAsyncIterator.prototype.flatMap.nextarguments in(Async)Iteratormethods is aligned with the current spec draft (mainly - ignoring the first passed to.nextargument in built-in generators).next,.return,.throwmethods onAsyncIteratorhelpers proxy iterators aligned with the current spec draft (built-in async generators) (mainly - some early errors moved to returned promises)v3.16.3Compare Source
CreateAsyncFromSyncIteratorsemantic inAsyncIterator.from, related to #765Object.prototype, #973v3.16.2Compare Source
Object.create(null)on WSH, #970v3.16.1Compare Source
v3.16.0Compare Source
Arrayfind from last proposal moved to the stage 3, July 2021 TC39 meetingArrayfiltering stage 1 proposal:Array.prototype.filterRejectreplacesArray.prototype.filterOut%TypedArray%.prototype.filterRejectreplaces%TypedArray%.prototype.filterOutArraygrouping stage 1 proposal:Array.prototype.groupBy%TypedArray%.prototype.groupBy@@toPrimitivein some cases ofToPrimitiveinternal logic made stricterRequestwith polyfilledURLSearchParams, #965Object.create(null)on WSH, #966RegExp#execDate.prototype.getYearfeature detectiondenotarget incore-js-compat/core-js-builderObject.hasOwnmarked as supported from V8 9.3 and FF92Date.prototype.getYearmarked as not supported in IE8-summaryoption tocore-js-builder, see more info in theREADME, #910v3.15.2Compare Source
zone.jsloaded beforecore-js, #953v3.15.1Compare Source
RegExpconstructor, #948v3.15.0Compare Source
RegExpnamed capture groups polyfill, #521, #944RegExpdotAllflag polyfill, #792, #944escapeunescapeString.prototype.substrDate.prototype.getYearDate.prototype.setYearDate.prototype.toGMTStringURLpolyfillrhinotarget incore-js-compat/core-js-builder, added compat data forrhino1.7.13, #942, thanks @gausie.atmarked as supported from FF90v3.14.0Compare Source
{ Array, %TypedArray% }.prototype.sort, #769, #941Safari14.0-%TypedArray%.prototype.sortvalidation of arguments bug.atmarked as supported from V8 9.2v3.13.1Compare Source
get-own-property-symbolsthird-partySymbolpolyfill if it's used since it causes a stack overflow, #774Object.prototypeaccessors methods in WebKit ~ Android 4.0, #232v3.13.0Compare Source
Object#hasOwnProperty(Object.hasOwn) proposal moved to the stage 3, May 2021 TC39 meetingv3.12.1Compare Source
Function#toStringwith multiplecore-jsinstancesString#splitpolyfill problems in V8 5.1v3.12.0Compare Source
Arraygrouping proposal:Object.groupByMap.groupByes.namespace modules,/es/and/stable/namespaces entriesPromise.withResolversproposal:Promise.withResolverses.namespace module,/es/and/stable/namespaces entriesIteratorhelpers proposal, proposal-iterator-helpers/287 and some following changes, November 2023 TC39 meetingUint8Arrayto / from base64 and hex stage 2 proposal:Uint8Array.fromBase64Uint8Array.fromHexUint8Array.prototype.toBase64Uint8Array.prototype.toHexNumber.fromStringvalidation before clarification of proposal-number-fromstring/24@@toStringTagproperty descriptors on DOM collections, #1312Arrayiteration methods, #1313atob/btoaimprovementsPromise.withResolversmarked as shipped from FF121v3.11.3Compare Source
Promise#{ catch, finally }returns polyfilledPromiseinstances when it's requiredv3.11.2Compare Source
[[DedentMap]]fromString.dedentproposal betweencore-jsinstances before stabilization of the proposalArray.fromAsyncmarked as supported from Deno 1.38Symbol.{ dispose, asyncDispose }marked as supported from Deno 1.38v3.11.1Compare Source
instanceof Promiseand.constructor === Promisework with polyfilledPromisefor all native promise-based APIs%TypedArray%static methods, #564v3.11.0Compare Source
Object#hasOwnPropertystage 2 proposalObject.hasOwnmethodRegExpconstructor problem with multiple globalcore-jsinstancesv3.10.2Compare Source
Symbolpolyfill on global object, #1289type: commonjsinpackage.jsonof all packages to avoid potential breakage in future Node versions, see this issueString.prototype.{ isWellFormed, toWellFormed }marked as supported from FF119v3.10.1Compare Source
RegExp#splitproblems in old engines, #751, #919Configuration
📅 Schedule: (UTC)
🚦 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.
This PR has been generated by Mend Renovate CLI.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.