Update dependency core-js to v3.26.1 - autoclosed
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
core-js | dependencies | minor | 3.8.1 -> 3.26.1 |
Release Notes
zloirock/core-js
v3.26.1
- Disabled forced replacing of
Array.fromAsync
since it's on Stage 3 - Avoiding a check of the target in the internal
function-uncurry-this
helper where it's not required - minor optimization and preventing problems in some broken environments, a workaround of #1141 - V8 will not ship
Array.prototype.{ group, groupToMap }
in V8 ~ Chromium 108, proposal-array-grouping/44
v3.26.0
-
Array.fromAsync
proposal:- Moved to Stage 3, September TC39 meeting
- Avoid observable side effects of
%Array.prototype.values%
usage in array-like branch, proposal-array-from-async/30
- Added well-formed unicode strings stage 2 proposal:
String.prototype.isWellFormed
String.prototype.toWellFormed
- Recent updates of the iterator helpers proposal:
- Added a counter parameter to helpers, proposal-iterator-helpers/211
- Don't await non-objects returned from functions passed to
AsyncIterator
helpers, proposal-iterator-helpers/239 -
{ Iterator, AsyncIterator }.prototype.flatMap
supports returning both - iterables and iterators, proposal-iterator-helpers/233 - Early exit on broken
.next
in missed cases of{ Iterator, AsyncIterator }.from
, proposal-iterator-helpers/232
- Added
self
polyfill as a part of The Minimum Common Web Platform API, specification, #1118 - Added
inverse
option tocore-js-compat
, #1119 - Added
format
option tocore-js-builder
, #1120 - Added NodeJS 19.0 compat data
- Added Deno 1.26 and 1.27 compat data
- Added Opera Android 72 compat data mapping
- Updated Electron 22 compat data mapping
v3.25.5
- Fixed regression with an error on reuse of some built-in methods from another realm, #1133
v3.25.4
- Added a workaround of a Nashorn bug with
Function.prototype.{ call, apply, bind }
on string methods, #1128 - Updated lists of
[Serializable]
and[Transferable]
objects in thestructuredClone
polyfill. Mainly, for better error messages if polyfilling of cloning such types is impossible -
Array.prototype.{ group, groupToMap }
marked as supported from V8 ~ Chromium 108 - Added Electron 22 compat data mapping
v3.25.3
- Forced polyfilling of
Array.prototype.groupToMap
in the pure version for returning wrappedMap
instances - Fixed existence of
Array.prototype.{ findLast, findLastIndex }
in/stage/4
entry - Added Opera Android 71 compat data mapping
- Some stylistic changes
v3.25.2
- Considering
document.all
as a callable in some missed cases - Added Safari 16.0 compat data
- Added iOS Safari 16.0 compat data mapping
- Fixed some ancient iOS Safari versions compat data mapping
v3.25.1
- Added some fixes and workarounds of FF30- typed arrays bug that does not properly convert objects to numbers
- Added
sideEffects
field tocore-js-pure
package.json
for better tree shaking, #1117 - Dropped
semver
dependency fromcore-js-compat
-
semver
package (ironically) added a breaking change and dropped NodeJS 8 support in the minor7.1
version, after thatsemver
incore-js-compat
was pinned to7.0
since for avoiding breaking changes it should support NodeJS 8. However, sincecore-js-compat
is usually used with other packages that usesemver
dependency, it causes multiple duplication ofsemver
in dependencies. So I decided to removesemver
dependency and replace it with a couple of simple helpers.
-
- Added Bun 0.1.6-0.1.11 compat data
- Added Deno 1.25 compat data mapping
- Updated Electron 21 compat data mapping
- Some stylistic changes, minor fixes, and improvements
v3.25.0
- Added
Object.prototype.__proto__
polyfill- It's optional, legacy, and in some cases (mainly because of developers' mistakes) can cause problems, but some libraries depend on it, and most code can't work without the proper libraries' ecosystem
- Only for modern engines where this feature is missed (like Deno), it's not installed in IE10- since here we have no proper way setting of the prototype
- Without fixes of early implementations where it's not an accessor since those fixes are impossible
- Only for the global version
- Considering
document.all
as an object in some missed cases, see ECMAScript Annex B 3.6 - Avoiding unnecessary promise creation and validation result in
%WrapForValid(Async)IteratorPrototype%.return
, proposal-iterator-helpers/215 - Fixed omitting the result of proxing
.return
in%IteratorHelperPrototype%.return
, #1116 - Fixed the order creation of properties of iteration result object of some iterators (
value
should be created beforedone
) - Fixed some cases of Safari < 13 bug - silent on non-writable array
.length
setting - Fixed
ArrayBuffer.length
in V8 ~ Chrome 27- - Relaxed condition of re-usage native
WeakMap
for internal states with multiplecore-js
copies - Availability cloning of
FileList
in thestructuredClone
polyfill extended to some more old engines versions - Some stylistic changes and minor fixes
- Throwing a
TypeError
incore-js-compat
/core-js-builder
in case of passing invalid module names / filters for avoiding unexpected result, related to #1115 - Added missed NodeJS 13.2 to
esmodules
core-js-compat
/core-js-builder
target - Added Electron 21 compat data mapping
- Added Oculus Browser 23.0 compat data mapping
v3.24.1
- NodeJS is ignored in
IS_BROWSER
detection to avoid a false positive withjsdom
, #1110 - Fixed detection of
@@​species
support inPromise
in some old engines -
{ Array, %TypedArray% }.prototype.{ findLast, findLastIndex }
marked as shipped in FF104 - Added iOS Safari 15.6 compat data mapping
- Fixed Opera 15 compat data mapping
v3.24.0
- Recent updates of the iterator helpers proposal, #1101:
-
.asIndexedPairs
renamed to.indexed
, proposal-iterator-helpers/183:-
Iterator.prototype.asIndexedPairs
->Iterator.prototype.indexed
-
AsyncIterator.prototype.asIndexedPairs
->AsyncIterator.prototype.indexed
-
- Avoid exposing spec fiction
%AsyncFromSyncIteratorPrototype%
inAsyncIterator.from
andIterator.prototype.toAsync
, proposal-iterator-helpers/182, proposal-iterator-helpers/202 - Avoid unnecessary promise creation in
%WrapForValidAsyncIteratorPrototype%.next
, proposal-iterator-helpers/197 - Do not validate value in
%WrapForValid(Async)IteratorPrototype%.next
, proposal-iterator-helpers/197 and proposal-iterator-helpers/205 - Do not forward the parameter of
.next
/.return
to an underlying iterator by the extended iterator protocol, a part of proposal-iterator-helpers/194 -
.throw
methods removed from all wrappers / helpers prototypes, a part of proposal-iterator-helpers/194 - Close inner iterators of
{ Iterator, AsyncIterator }.prototype.flatMap
proxy iterators on.return
, proposal-iterator-helpers/195 - Throw
RangeError
onNaN
in{ Iterator, AsyncIterator }.prototype.{ drop, take }
, proposal-iterator-helpers/181 - Many other updates and fixes of this proposal
-
-
%TypedArray%.prototype.toSpliced
method removed from the change array by copy proposal and marked as obsolete incore-js
, proposal-change-array-by-copy/88 - Polyfill
Promise
withunhandledrejection
event support (browser style) in Deno < 1.24 - Available new targets in
core-js-compat
/core-js-builder
and added compat data for them: - Added Samsung Internet 18.0 compat data mapping
v3.23.5
- Fixed a typo in the
structuredClone
feature detection, #1106 - Added Opera Android 70 compat data mapping
v3.23.4
- Added a workaround of the Bun ~ 0.1.1 bug that define some globals with incorrect property descriptors and that causes a crash of
core-js
- Added a fix of the FF103+
structuredClone
bugs (1774866 (fixed in FF104) and 1777321 (still not fixed)) that now can clone errors, but.stack
of the clone is an empty string - Fixed
{ Map, WeakMap }.prototype.emplace
logic, #1102 - Fixed order of errors throwing on iterator helpers
v3.23.3
- Changed the order of operations in
%TypedArray%.prototype.toSpliced
following proposal-change-array-by-copy/89 - Fixed regression of some IE8- issues
v3.23.2
- Avoided creation of extra properties for the handling of
%TypedArray%
constructors in new methods, #1092 (comment) - Added Deno 1.23 compat data mapping
v3.23.1
- Fixed possible error on multiple
core-js
copies, #1091 - Added
v
flag toRegExp.prototype.flags
implementation in case if current V8 bugs will not be fixed before this flag implementation
v3.23.0
-
Array
find from last moved to the stable ES, according to June 2022 TC39 meeting:Array.prototype.findLast
Array.prototype.findLastIndex
%TypedArray%.prototype.findLast
%TypedArray%.prototype.findLastIndex
- Methods from the
Array
grouping proposal renamed, according to June 2022 TC39 meeting:-
Array.prototype.groupBy
->Array.prototype.group
-
Array.prototype.groupByToMap
->Array.prototype.groupToMap
-
- Changed the order of operations in
%TypedArray%.prototype.with
following proposal-change-array-by-copy/86, according to June 2022 TC39 meeting -
Decorator Metadata proposal extracted from Decorators proposal as a separate stage 2 proposal, according to March 2022 TC39 meeting,
Symbol.metadataKey
replacesSymbol.metadata
- Added
Array.prototype.push
polyfill with some fixes for modern engines - Added
Array.prototype.unshift
polyfill with some fixes for modern engines - Fixed a bug in the order of getting flags in
RegExp.prototype.flags
in the actual version of V8 - Fixed property descriptors of some
Math
andNumber
constants - Added a workaround of V8
ArrayBufferDetaching
protector cell invalidation and performance degradation onstructuredClone
feature detection, one more case of #679 - Added detection of NodeJS bug in
structuredClone
that can not cloneDOMException
(just in case for future versions that will fix other issues) - Compat data:
- Added NodeJS 18.3 compat data mapping
- Added and fixed Deno 1.22 and 1.21 compat data mapping
- Added Opera Android 69 compat data mapping
- Updated Electron 20.0 compat data mapping
v3.22.8
- Fixed possible multiple call of
ToBigInt
/ToNumber
conversion of the argument passed to%TypedArray%.prototype.fill
in V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18 - Fixed some cases of
DeletePropertyOrThrow
in IE9- - Fixed the kind of error (
TypeError
instead ofError
) on incorrectexec
result inRegExp.prototype.test
polyfill - Fixed dependencies of
{ actual, full, features }/typed-array/at
entries - Added Electron 20.0 compat data mapping
- Added iOS Safari 15.5 compat data mapping
- Refactoring
v3.22.7
- Added a workaround for V8 ~ Chrome 53 bug with non-writable prototype of some methods, #1083
v3.22.6
- Fixed possible double call of
ToNumber
conversion on arguments ofMath.{ fround, trunc }
polyfills -
Array.prototype.includes
marked as fixed in FF102
v3.22.5
- Ensured that polyfilled constructors
.prototype
is non-writable - Ensured that polyfilled methods
.prototype
is not defined - Added detection and fix of a V8 ~ Chrome <103 bug of
struturedClone
that returnsnull
if cloned object contains multiple references to one error
v3.22.4
- Ensured proper
.length
of polyfilled functions even in compressed code (excepting some ancient engines) - Ensured proper
.name
of polyfilled accessors (excepting some ancient engines) - Ensured proper source /
ToString
conversion of polyfilled accessors - Actualized Rhino compat data
- Refactoring
v3.22.3
- Added a fix for FF99+
Array.prototype.includes
broken on sparse arrays
v3.22.2
- Fixed
URLSearchParams
in IE8- that was broken in the previous release - Fixed
__lookupGetter__
entries
v3.22.1
- Improved some cases of
RegExp
flags handling - Prevented experimental warning in NodeJS ~ 18.0 on detection
fetch
API - Added NodeJS 18.0 compat data
v3.22.0
-
Change
Array
by copy proposal:- Moved to Stage 3, March TC39 meeting
- Disabled forced replacement and added
/actual/
entry points for methods from this proposal -
Array.prototype.toSpliced
throws aTypeError
instead ofRangeError
if the result length is more thanMAX_SAFE_INTEGER
, proposal-change-array-by-copy/70
- Added some more
atob
/btoa
fixes:- NodeJS <17.9
atob
does not ignore spaces, node/42530 - Actual NodeJS
atob
does not validate encoding, node/42646 - FF26- implementation does not properly convert argument to string
- IE / Edge <16 implementation have wrong arity
- NodeJS <17.9
- Added
/full/
namespace as the replacement for/features/
since it's more descriptive in context of the rest namespaces (/es/
⊆/stable/
⊆/actual/
⊆/full/
) - Avoided propagation of removed parts of proposals to upper stages. For example,
%TypedArray%.prototype.groupBy
was removed from theArray
grouping 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. - Significant internal refactoring and splitting of modules (but without exposing to public API since it will be a breaking change - it will be exposed in the next major version)
- Bug fixes:
- Tooling:
- Stabilized proposals are filtered out from the
core-js-compat
->core-js-builder
->core-js-bundle
output. 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. - Aligned modules filters of
core-js-builder
andcore-js-compat
, now it'smodules
andexclude
options - Added support of entry points, modules, regexes, and arrays of them to those filters
- Missed
targets
option ofcore-js-compat
means that thetargets
filter just will not be applied, so the result will contain modules required for all possible engines
- Stabilized proposals are filtered out from the
- Compat data:
-
.stack
property onDOMException
marked as supported from Deno 1.15 - Added Deno 1.21 compat data mapping
- Added Electron 19.0 and updated 18.0 compat data mapping
- Added Samsung Internet 17.0 compat data mapping
- Added Opera Android 68 compat data mapping
-
v3.21.1
- Added a bugfix for the WebKit
Array.prototype.{ groupBy, groupByToMap }
implementation -
core-js-compat
targets parser transforms engine names to lower case -
atob
/btoa
marked as fixed in NodeJS 17.5 - Added Electron 18.0 compat data mapping
- Added Deno 1.20 compat data mapping
v3.21.0
- Added Base64 utility methods:
atob
btoa
- Added the proper validation of arguments to some methods from web standards
- Forced replacement of all features from early-stage proposals for avoiding possible web compatibility issues in the future
- Added Rhino 1.7.14 compat data
- Added Deno 1.19 compat data mapping
- Added Opera Android 66 and 67 compat data mapping
- Added iOS Safari 15.3 and 15.4 compat data mapping
v3.20.3
- Detects and replaces broken third-party
Function#bind
polyfills, uses only nativeFunction#bind
in the internals -
structuredClone
should throw an error if no arguments passed - Changed the structure of notes in
__core-js_shared__
v3.20.2
- Added a fix of a V8 ~ Chrome 36-
Object.{ defineProperty, defineProperties }
bug, Babel issue - Added fixes of some different
%TypedArray%.prototype.set
bugs, affects modern engines (like Chrome < 95 or Safari < 14.1)
v3.20.1
- Fixed the order of calling reactions of already fulfilled / rejected promises in
Promise.prototype.then
, #1026 - Fixed possible memory leak in specific promise chains
- Fixed some missed dependencies of entries
- Added Deno 1.18 compat data mapping
v3.20.0
- Added
structuredClone
method from the HTML spec, see MDN- Includes all cases of cloning and transferring of required ECMAScript and platform types that can be polyfilled, for the details see the caveats
- Uses native structured cloning algorithm implementations where it's possible
- Includes the new semantic of errors cloning from
html/5749
- Added
DOMException
polyfill, the Web IDL spec, see MDN- Includes
DOMException
and its attributes polyfills with fixes of many different engines bugs - Includes
DOMException#stack
property polyfill in engines that should have it - Reuses native
DOMException
implementations where it's possible (for example, in old NodeJS where it's not exposed as global)
- Includes
- Added support of
cause
on all Error types - Added
Error.prototype.toString
method polyfill with fixes of many different bugs of JS engines - Added
Number.prototype.toExponential
method polyfill with fixes of many different bugs of JS engines -
Array
grouping proposal:- Moved to stage 3
- Added
Array.prototype.groupByToMap
method - Removed
@@​species
support
- Added change
Array
by copy stage 2 proposal:Array.prototype.toReversed
Array.prototype.toSorted
Array.prototype.toSpliced
Array.prototype.with
%TypedArray%.prototype.toReversed
%TypedArray%.prototype.toSorted
%TypedArray%.prototype.toSpliced
%TypedArray%.prototype.with
- Added
Iterator.prototype.toAsync
method from the iterator helpers stage 2 proposal -
Array.fromAsync
proposal moved to stage 2 - Added
String.cooked
stage 1 proposal: - Added
Function.prototype.unThis
stage 0 proposal - Added
Function.{ isCallable, isConstructor }
stage 0 proposal:Function.isCallable
Function.isConstructor
- Added a workaround of most cases breakage modern
String#at
after loading obsoleteString#at
proposal module, #1019 - Fixed
Array.prototype.{ values, @​@​iterator }.name
in V8 ~ Chrome 45- - Fixed validation of typed arrays in typed arrays iteration methods in V8 ~ Chrome 50-
- Extension of the API, #1012
- Added a new
core-js/actual/**
namespace - Added entry points for each finished post-ES6 proposal
- Added a new
v3.19.3
- Fixed internal slots check in methods of some built-in types, #1017
- Fixed
URLSearchParams
iterator.next
that should be enumerable by the spec - Refactored
Subscription
- Added NodeJS 17.2 compat data mapping
v3.19.2
- Added a workaround for a UC Browser specific version bug with unobservable
RegExp#sticky
flag, #1008, #1015 - Added handling of comments and specific spaces to
Function#name
polyfill, #1010, thanks @ildar-shaimordanov - Prevented some theoretical cases of breaking / observing the internal state by patching
Array.prototype[@​@​species]
- Refactored
URL
andURLSearchParams
- Added iOS Safari 15.2 compat data mapping
- Added Electron 17.0 compat data mapping
- Updated Deno compat data mapping
v3.19.1
- Added a workaround for FF26- bug where
ArrayBuffer
s are non-extensible, butObject.isExtensible
does not report it:- Fixed in
Object.{ isExtensible, isSealed, isFrozen }
andReflect.isExtensible
- Fixed handling of
ArrayBuffer
s as collections keys
- Fixed in
- Fixed
Object#toString
onAggregateError
in IE10- - Fixed possible lack of dependencies of
WeakMap
in IE8- -
.findLast
methods family marked as supported from Chrome 97 - Fixed inheritance of Electron compat data
web.
modules - Fixed Safari 15.1 compat data (some features were not added)
- Added iOS Safari 15.1 compat data mapping
v3.19.0
- Most built-ins are encapsulated in
core-js
for preventing possible cases of breaking / observing the internal state by patching / deleting of them- Avoid
.call
/.apply
prototype methods that could be patched - Avoid
instanceof
operator - implicit.prototype
/@@​hasInstance
access that could be patched - Avoid
RegExp#test
,String#match
and some over methods - implicit.exec
andRegExp
well-known symbols access that could be patched
- Avoid
- Clearing of
Error
stack from extra entries experimentally added toAggregateError
, #996, in case lack of problems it will be extended to other cases - In engines with native
Symbol
support, new well-known symbols created with usageSymbol.for
for ensuring the same keys in different realms, #998 - Added a workaround of a BrowserFS NodeJS
process
polyfill bug that incorrectly reports V8 version that's used in some cases ofcore-js
feature detection - Fixed normalization of
message
AggregateError
argument - Fixed order of arguments conversion in
Math.scale
, a spec draft bug - Fixed
core-js-builder
work in NodeJS 17, added a workaround ofwebpack
+ NodeJS 17 issue - Added NodeJS 17.0 compat data mapping
- Added Opera Android 65 compat data mapping
- Updated Electron 16.0 compat data mapping
- Many other minor fixes and improvements
v3.18.3
- Fixed the prototype chain of
AggregateError
constructor that should containError
constructor - Fixed incorrect
AggregateError.prototype
properties descriptors - Fixed
InstallErrorCause
internal operation - Added NodeJS 16.11 compat data mapping
- Added Deno 1.16 compat data mapping
-
Object.hasOwn
marked as supported from Safari 15.1
v3.18.2
- Early
{ Array, %TypedArray% }.fromAsync
errors moved to the promise, per the latest changes of the spec draft - Internal
ToInteger(OrInfinity)
operation returns+0
for-0
argument, ES2020+ update - Fixed theoretical problems with handling bigint in
Number
constructor wrapper - Fixed
String.raw
with extra arguments - Fixed some missed dependencies in entry points
- Some other minor fixes and improvements
- Refactoring
v3.18.1
- Fixed
String.prototype.substr
feature detection and compat data - Removed mistakenly added
.forEach
from prototypes of some DOM collections where it shouldn't be, #988, #987, thanks @moorejs - Added
cause
toAggregateError
constructor implementation (still without adding to the feature detection) - Families of
.at
and.findLast
methods marked as supported in Safari TP - Added Electron 16.0 compat data mapping
v3.18.0
- Added
Array.fromAsync
stage 1 proposal:Array.fromAsync
%TypedArray%.fromAsync
-
.name
and.toString()
on polyfilled functions improved in many different cases - Improved internal
IsConstructor
andIsCallable
checks - Fixed some internal cases of
GetMethod
operation - Fixed a bug of MS Edge 18-
parseInt
/parseFloat
with boxed symbols - Fixed
es.array.{ index-of, last-index-of }
compat data - Added Deno 1.15 compat data mapping
- Some other minor fixes and optimizations
v3.17.3
- Fixed some possible problems related to possible extension of
%IteratorPrototype%
and%AsyncIteratorPrototype%
in the future - Fixed
DOMTokenList.prototype.{ forEach, @​@​iterator, keys, values, entries }
in old WebKit versions whereelement.classList
is not an instance of globalDOMTokenList
- Added NodeJS 16.9 compat data mapping
- Added Samsung Internet 16.0 compat data mapping
v3.17.2
- Fixed missed cases of ES3 reserved words usage, related to #980
- Fixed dependencies in one missed entry point
- Some other minor fixes and optimizations
v3.17.1
- Fixed missed
modules-by-versions
data
v3.17.0
-
Accessible
Object.prototype.hasOwnProperty
(Object.hasOwn
) proposal moved to the stable ES, per August 2021 TC39 meeting -
Relative indexing method (
.at
) proposal moved to the stable ES, per August 2021 TC39 meeting - Exposed by default the stable version of
String.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. - Some more iteration closing fixes
- Fixed an ES3 reserved words usage, #980
v3.16.4
-
AsyncFromSyncIterator
made stricter, related mainly toAsyncIterator.from
andAsyncIterator.prototype.flatMap
- Handling of optional
.next
arguments in(Async)Iterator
methods is aligned with the current spec draft (mainly - ignoring the first passed to.next
argument in built-in generators) - Behavior of
.next
,.return
,.throw
methods onAsyncIterator
helpers proxy iterators aligned with the current spec draft (built-in async generators) (mainly - some early errors moved to returned promises) - Fixed some cases of safe iteration closing
- Fixed dependencies of some entry points
v3.16.3
- Fixed
CreateAsyncFromSyncIterator
semantic inAsyncIterator.from
, related to #765 - Added a workaround of a specific case of broken
Object.prototype
, #973
v3.16.2
- Added a workaround of a Closure Compiler unsafe optimization, #972
- One more fix crashing of
Object.create(null)
on WSH, #970 - Added Deno 1.14 compat data mapping
v3.16.1
- Fixed microtask implementation on iOS Pebble, #967
- Fixed some entry points
- Improved old Safari compat data
v3.16.0
-
Array
find from last proposal moved to the stage 3, July 2021 TC39 meeting -
Array
filtering stage 1 proposal:-
Array.prototype.filterReject
replacesArray.prototype.filterOut
-
%TypedArray%.prototype.filterReject
replaces%TypedArray%.prototype.filterOut
-
- Added
Array
grouping stage 1 proposal:Array.prototype.groupBy
%TypedArray%.prototype.groupBy
- Work with symbols made stricter: some missed before cases of methods that should throw an error on symbols now works as they should
- Handling
@@​toPrimitive
in some cases ofToPrimitive
internal logic made stricter - Fixed work of
Request
with polyfilledURLSearchParams
, #965 - Fixed possible exposing of collections elements metadata in some cases, #427
- Fixed crashing of
Object.create(null)
on WSH, #966 - Fixed some cases of typed arrays subclassing logic
- Fixed a minor bug related to string conversion in
RegExp#exec
- Fixed
Date.prototype.getYear
feature detection - Fixed content of some entry points
- Some minor optimizations and refactoring
- Deno:
- Added Deno support (sure, after bundling since Deno does not support CommonJS)
- Allowed
deno
target incore-js-compat
/core-js-builder
- A bundle for Deno published on deno.land/x/corejs
- Added / updated compat data / mapping:
- Added
summary
option tocore-js-builder
, see more info in theREADME
, #910
v3.15.2
- Worked around breakage related to
zone.js
loaded beforecore-js
, #953 - Added NodeJS 16.4 -> Chrome 91 compat data mapping
v3.15.1
- Fixed cloning of regex through
RegExp
constructor, #948
v3.15.0
- Added
RegExp
named capture groups polyfill, #521, #944 - Added
RegExp
dotAll
flag polyfill, #792, #944 - Added missed polyfills of Annex B features (required mainly for some non-browser engines), #336, #945:
escape
unescape
String.prototype.substr
Date.prototype.getYear
Date.prototype.setYear
Date.prototype.toGMTString
- Fixed detection of forbidden host code points in
URL
polyfill - Allowed
rhino
target incore-js-compat
/core-js-builder
, added compat data forrhino
1.7.13, #942, thanks @gausie -
.at
marked as supported from FF90
v3.14.0
- Added polyfill of stable sort in
{ Array, %TypedArray% }.prototype.sort
, #769, #941 - Fixed
Safari
14.0-%TypedArray%.prototype.sort
validation of arguments bug -
.at
marked as supported from V8 9.2
v3.13.1
- Overwrites
get-own-property-symbols
third-partySymbol
polyfill if it's used since it causes a stack overflow, #774 - Added a workaround of possible browser crash on
Object.prototype
accessors methods in WebKit ~ Android 4.0, #232
v3.13.0
- Accessible
Object#hasOwnProperty
(Object.hasOwn
) proposal moved to the stage 3, May 2021 TC39 meeting
v3.12.1
- Fixed some cases of
Function#toString
with multiplecore-js
instances - Fixed some possible
String#split
polyfill problems in V8 5.1
v3.12.0
- Added well-known symbol
Symbol.metadata
for decorators stage 2 proposal - Added well-known symbol
Symbol.matcher
for pattern matching stage 1 proposal - Fixed regression of V8 ~ Node 0.12
String(Symbol())
bug, #933
v3.11.3
- Native promise-based APIs
Promise#{ catch, finally }
returns polyfilledPromise
instances when it's required
v3.11.2
- Added a workaround of WebKit ~ iOS 10.3 Safari
Promise
bug, #932 -
Promise#then
of incorrect nativePromise
implementations with correct subclassing no longer wrapped - Changed the order of
Promise
feature detection, removed unhandled rejection tracking check in non-browser non-node platforms
v3.11.1
- Made
instanceof Promise
and.constructor === Promise
work with polyfilledPromise
for all native promise-based APIs - Added a workaround for some buggy V8 versions ~4.5 related to fixing of
%TypedArray%
static methods, #564
v3.11.0
- Added accessible
Object#hasOwnProperty
stage 2 proposal-
Object.hasOwn
method
-
- Fixed a possible
RegExp
constructor problem with multiple globalcore-js
instances
v3.10.2
-
URL
andURLSearchParams
marked as supported from Safari 14.0 - Polyfilled built-in constructors protected from calling on instances
v3.10.1
- Prevented possible
RegExp#split
problems in old engines, #751, #919 - Detection of Safari 10 string padding bug extended to some Safari-based browsers
v3.10.0
-
Array
find from last proposal moved to the stage 2, March TC39 meeting - Prevented possible
RegExp#exec
problems in some old engines, #920 - Updated compat data mapping:
- NodeJS up to 16.0
- Electron up to 13.0
- Samsung Internet up to 14.0
- Opera Android up to 62
- The rest automatically
v3.9.1
- Added a workaround for Chrome 38-40 bug which does not allow to inherit symbols (incl. well-known) from DOM collections prototypes to instances, #37
- Used
NumericRangeIterator
as toStringTag instead ofRangeIterator
in{ Number, BigInt }.range
iterator, per this MR - TypedArray constructors marked as supported from Safari 14.0
- Updated compat data mapping for iOS Safari and Opera for Android
v3.9.0
- Added
Array
find from last stage 1 proposalArray#findLast
Array#findLastIndex
%TypedArray%#findLast
%TypedArray%#findLastIndex
- Added
%TypedArray%#uniqueBy
method for array deduplication stage 1 proposal%TypedArray%#uniqueBy
- Dropped
ToLength
detection from array methods feature detection which could cause hanging FF11-21 and some versions of old WebKit, #764 - Minified bundle from
core-js-bundle
usesterser
instead ofuglify-js
v3.8.3
- Fixed some more issues related to FF44- legacy
Iterator
, #906
v3.8.2
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot. The local configuration can be found in the local Renovate Bot repository.
Edited by Housekeeper (bot)