Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork1.7k
Releases: zloirock/core-js
3.47.0 - 2025.11.18
- Changesv3.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 asshipped 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- MissedExplicit Resource Management featuresadded in Bun 1.3.0
- Added Oculus Quest Browser 41 compat data mapping
- Added Electron 40 compat data mapping
Assets2
Uh oh!
There was an error while loading.Please reload this page.
3.46.0 - 2025.10.09
Welcome to our new website,core-js.io, where our documentation is moving!
In addition, you can nowfollow the project's news in X.
- Changesv3.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- AddedNode 25.0 compat data mapping
- AddedDeno 2.5 compat data mapping
- Updated Electron 39 compat data mapping
- Updated Opera 121+ compat data mapping
- AddedOpera Android 92 compat data mapping
- Added Oculus Quest Browser 40 compat data mapping
Assets2
Uh oh!
There was an error while loading.Please reload this page.
3.45.1 - 2025.08.20
- Changesv3.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
Assets2
Uh oh!
There was an error while loading.Please reload this page.
3.45.0 - 2025.08.04
- Changesv3.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 - FixedJoint Iteration proposal in
/stage/entries - Compat data improvements:
Uint8Arrayto / from base64 and hex proposal features marked assupported 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
Assets2
Uh oh!
There was an error while loading.Please reload this page.
3.44.0 - 2025.07.07
- Changesv3.43.0...v3.44.0 (87 commits)
Uint8Arrayto / from base64 and hex stage 3 proposal:- Fixedseveral V8 bugs in
Uint8Array.fromHexandUint8Array.prototype.{ setFromBase64, toBase64, toHex }, thanks@brc-dd
- Fixedseveral V8 bugs in
- Joint iteration stage 2.7 proposal:
- Uses
GetinIterator.zipKeyed, followingtc39/proposal-joint-iteration#43
- Uses
Iteratorsequencing stage 2.7 proposal:Iterator.concatno longer reusesIteratorResultobject of concatenated iterators, followingtc39/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, followingtc39/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.0SuppressedErrormarkedas fixed in FF141Error.isErrormarkedas fixed in Node 24.3setImmediateandclearImmediatemarked as availablefrom Deno 2.4Math.sumPrecisemarked asshipped in Bun 1.2.18%TypedArray%.prototype.withmarked as fixed in Bun 1.2.18
Assets2
Uh oh!
There was an error while loading.Please reload this page.
3.43.0 - 2025.06.09
- Changesv3.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:
- AddedJoint 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
flagsgetterPR. 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 fora WebKit bug that occurs when
thisis updated whileSet.prototype.differenceis being executed - Added feature detection fora 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 fora 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 fora 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:
- AddedDeno 2.3 andDeno 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 ofa bugSet.prototype.differencemarked as not supported in Safari and supported only from Bun 1.2.5 because ofa bugSet.prototype.{ symmetricDifference, union }marked as not supported in Safari and supported only from Bun 1.2.5 because ofa bugIterator.frommarked as not supported in Safari and supported only from Bun 1.2.5 because ofa 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 asshipped in FF141 (SuppressedErrorhasa bug)AsyncDisposableStackbugs marked as fixed in Deno 2.3.2SuppressedErrorbugs (extra arguments support andarity) marked as fixed in Bun 1.2.15
Assets2
Uh oh!
There was an error while loading.Please reload this page.
3.42.0 - 2025.04.30
- Changesv3.41.0...v3.42.0 (142 commits)
Mapupsert proposal:- Moved to stage 2.7,April 2025 TC39 meeting
- Validation order of
WeakMap.prototype.getOrInsertComputedupdated followingtc39/proposal-upsert#79 - Built-ins:
Map.prototype.getOrInsertMap.prototype.getOrInsertComputedWeakMap.prototype.getOrInsertWeakMap.prototype.getOrInsertComputed
- Don't call well-known
Symbolmethods forRegExpon primitive values followingtc39/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 followingtc39/ecma262#3467, including fix ofa 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 followingtc39/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(seeWebKit 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 asshipped from V8 ~ Chromium 136Error.isErrormarked asshipped from FF138- Explicit Resource Management features re-enabled inDeno 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- AddedNodeJS 24.0 compat data mapping
- Updated Electron 36 and added Electron 37 compat data mapping
- Added Opera Android88 and89 compat data mapping
- Added Oculus Quest Browser 37 compat data mapping
Assets2
Uh oh!
There was an error while loading.Please reload this page.
3.41.0 - 2025.03.01
- Changesv3.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 fromold
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 asshipped from V8 ~ Chromium 134Error.isErroradded and marked asshipped from V8 ~ Chromium 134Math.f16roundandDataView.prototype.{ getFloat16, setFloat16 }marked asshipped from V8 ~ Chromium 135Iteratorhelpers proposal features marked asshipped from Safari 18.4JSON.parsesource text access proposal features marked asshipped from Safari 18.4Math.sumPrecisemarked as shipped from FF137- AddedDeno 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
- UpdatedOpera Android 87 compat data mapping
- Added Samsung Internet 28 compat data mapping
- Added Oculus Quest Browser 36 compat data mapping
Assets2
Uh oh!
There was an error while loading.Please reload this page.
3.40.0 - 2025.01.08
- Changesv3.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 ofV8 < 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 asshipped from FF135RegExp.escapemarked as shippedfrom 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 - AddedDeno 2.1 compat data mapping
- AddedRhino 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 Android86 and 87 compat data mapping
Assets2
Uh oh!
There was an error while loading.Please reload this page.
3.39.0 - 2024.10.31
- Changesv3.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 asshipped from FF133- AddedNodeJS 23.0 compat data mapping
selfdescriptoris fixed in Deno 1.46.0- Added Deno1.46 and2.0 compat data mapping
Iteratorhelpers proposal methods marked asshipped from Bun 1.1.31- Added Electron 34 and updated Electron 33 compat data mapping
- AddedOpera Android 85 compat data mapping
- Added Oculus Quest Browser 35 compat data mapping
Assets2
Uh oh!
There was an error while loading.Please reload this page.