Releases: zloirock/core-js
Releases Β· zloirock/core-js
3.35.0 - 2023.12.29
{ 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 instances- Fixed handling some cases of non-enumerable symbol keys from
Symbol
polyfill - Removed unneeded NodeJS domains-related logic from
queueMicrotask
polyfill - Fixed subclassing of wrapped
ArrayBuffer
- Refactoring, many different minor optimizations
- Compat data improvements:
Array.fromAsync
marked as supported from V8 ~ Chrome 121- It seems that the ancient
Array.prototype.push
bug is fixed in V8 ~ Chrome 122 (Hallelujah!) ArrayBuffer.prototype.transfer
and friends proposal features marked as supported from FF 122 and Bun 1.0.19Object.groupBy
andMap.groupBy
marked as supported from Bun 1.0.19- Since
Iterator
helpers 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.37 - Added Opera Android 80 and updated Opera Android 79 compat data mapping
- Added Samsung Internet 24 compat data mapping
3.34.0 - 2023.12.06
Array
grouping proposal:- Methods:
Object.groupBy
Map.groupBy
- Moved to stable ES, November 2023 TC39 meeting
- Added
es.
namespace modules,/es/
and/stable/
namespaces entries
- Methods:
Promise.withResolvers
proposal:- Method:
Promise.withResolvers
- Moved to stable ES, November 2023 TC39 meeting
- Added
es.
namespace module,/es/
and/stable/
namespaces entries
- Method:
- Fixed a web incompatibility issue of
Iterator
helpers proposal, proposal-iterator-helpers/287 and some following changes, November 2023 TC39 meeting - Added
Uint8Array
to / from base64 and hex stage 2 proposal:- Methods:
Uint8Array.fromBase64
Uint8Array.fromHex
Uint8Array.prototype.toBase64
Uint8Array.prototype.toHex
- Methods:
- Relaxed some specific cases of
Number.fromString
validation before clarification of proposal-number-fromstring/24 - Fixed
@@toStringTag
property descriptors on DOM collections, #1312 - Fixed the order of arguments validation in
Array
iteration methods, #1313 - Some minor
atob
/btoa
improvements - Compat data improvements:
Promise.withResolvers
marked as shipped from FF121
3.33.3 - 2023.11.20
- Fixed an issue getting the global object on Duktape, #1303
- Avoid sharing internal
[[DedentMap]]
fromString.dedent
proposal betweencore-js
instances before stabilization of the proposal - Some internal untangling
- Compat data improvements:
- Added Deno 1.38 compat data mapping
Array.fromAsync
marked as supported from Deno 1.38Symbol.{ dispose, asyncDispose }
marked as supported from Deno 1.38- Added Opera Android 79 compat data mapping
- Added Oculus Quest Browser 30 compat data mapping
- Updated Electron 28 and 29 compat data mapping
3.33.2 - 2023.10.31
- Simplified
structuredClone
polyfill, avoided second tree pass in cases of transferring - Added support of
SuppressedError
tostructuredClone
polyfill - Removed unspecified unnecessary
ArrayBuffer
andDataView
dependencies ofstructuredClone
lack of which could cause errors in some entries in IE10- - Fixed handling of fractional number part in
Number.fromString
- Compat data improvements:
URL.canParse
marked as supported from Chromium 120- Updated Opera Android 78 compat data mapping
- Added Electron 29 compat data mapping
3.33.1 - 2023.10.20
- Added one more workaround of possible error with
Symbol
polyfill on global object, #1289 - Directly specified
type: commonjs
inpackage.json
of all packages to avoid potential breakage in future Node versions, see this issue - Prevented potential issue with lack of some dependencies after automatic optimization polyfills of some methods in the pure version
- Some minor internal fixes and optimizations
- Compat data improvements:
String.prototype.{ isWellFormed, toWellFormed }
marked as supported from FF119- Added React Native 0.73 Hermes compat data, mainly fixes of some issues
- Added NodeJS 21.0 compat data mapping
3.33.0 - 2023.10.02
- Re-introduced
RegExp
escaping stage 2 proposal, September 2023 TC39 meeting:- Added
RegExp.escape
method with the new set of symbols for escaping - Some years ago, it was presented in
core-js
, but it was removed after rejecting the old version of this proposal
- Added
- Added
ArrayBuffer.prototype.{ transfer, transferToFixedLength }
and support transferring ofArrayBuffer
s viastructuredClone
to engines withMessageChannel
- Optimized
Math.f16round
polyfill - Fixed some conversion cases of
Math.f16round
andDataView.prototype.{ getFloat16, setFloat16 }
- Fully forced polyfilling of the TC39
Observable
proposal because of incompatibility with the new WHATWGObservable
proposal - Added an extra workaround of errors with exotic environment objects in
Symbol
polyfill, #1289 - Some minor fixes and stylistic changes
- Compat data improvements:
- V8 unshipped
Iterator
helpers because of some Web compatibility issues Promise.withResolvers
marked as supported from V8 ~ Chrome 119Array
grouping proposal features marked as supported from FF119value
argument ofURLSearchParams.prototype.{ has, delete }
marked as properly supported from V8 ~ Chrome 118URL.canParse
andURLSearchParams.prototype.size
marked as supported from Bun 1.0.2- Added Deno 1.37 compat data mapping
- Added Electron 28 compat data mapping
- Added Opera Android 78 compat data mapping
- V8 unshipped
3.32.2 - 2023.09.07
- Fixed
structuredClone
feature detection[email protected]
bug, #1288 - Added a workaround of old WebKit +
eval
bug, #1287 - Compat data improvements:
- Added Samsung Internet 23 compat data mapping
- Added Quest Browser 29 compat data mapping
3.32.1 - 2023.08.19
- Fixed some cases of IEEE754 rounding, #1279, thanks @petamoriken
- Prevented injection
process
polyfill tocore-js
via some bundlers oresm.sh
, #1277 - Some minor fixes and stylistic changes
- Compat data improvements:
Promise.withResolvers
marked as supported from Bun 0.7.1- Added Opera Android 77 compat data mapping
- Updated Electron 27 compat data mapping
3.32.0 - 2023.07.28
Array
grouping proposal, July 2023 TC39 meeting updates:- Moved back to stage 3
- Added
/actual/
namespaces entries, unconditional forced replacement changed to feature detection
Promise.withResolvers
proposal, July 2023 TC39 meeting updates:- Moved to stage 3
- Added
/actual/
namespaces entries, unconditional forced replacement changed to feature detection
Set
methods stage 3 proposal, July 2023 TC39 meeting updates::- Throw on negative
Set
sizes, proposal-set-methods/88 - Removed
IsCallable
check inGetKeysIterator
, proposal-set-methods/101
- Throw on negative
- Iterator Helpers stage 3 proposal:
- Avoid creating observable
String
wrapper objects, July 2023 TC39 meeting update, proposal-iterator-helpers/281 Iterator
is not constructible from the active function object (works as an abstract class)
- Avoid creating observable
- Async explicit resource management:
- Moved back into the initial proposal -> moved to stage 3, proposal-explicit-resource-management/154
- Added
/actual/
namespace entries, unconditional forced replacement changed to feature detection - Ignore return value of
[@@dispose]()
method when hint isasync-dispose
, proposal-explicit-resource-management/180 - Added ticks for empty resources, proposal-explicit-resource-management/163
- Added some methods from
Float16Array
stage 3 proposal:- There are some reason why I don't want to add
Float16Array
right now, however, make sense to add some methods from this proposal. - Methods:
Math.f16round
DataView.prototype.getFloat16
DataView.prototype.setFloat16
- There are some reason why I don't want to add
- Added
DataView
get / setUint8Clamped
methods stage 1 proposal:- Methods:
DataView.prototype.getUint8Clamped
DataView.prototype.setUint8Clamped
- Methods:
- Used strict mode in some missed cases, #1269
- Fixed a Chromium 117 bug in
value
argument ofURLSearchParams.prototype.{ has, delete }
- Fixed early WebKit ~ Safari 17.0 beta
Set
methods implementation by the actual spec - Fixed incorrect
Symbol.{ dispose, asyncDispose }
descriptors from NodeJS 20.4 / transpilers helpers / userland code - Fixed forced polyfilling of some iterator helpers that should return wrapped iterator in the pure version
- Fixed and exposed
AsyncIteratorPrototype
core-js/configurator
option, #1268 - Compat data improvements:
- Sync
Iterator
helpers proposal features marked as supported from V8 ~ Chrome 117 Array
grouping proposal features marked as supported from V8 ~ Chrome 117- Mark
Symbol.{ dispose, asyncDispose }
as supported from NodeJS 20.5.0 (as mentioned above, NodeJS 20.4.0 add it, but with incorrect descriptors) - Added Electron 27 compat data mapping
- Sync
3.31.1 - 2023.07.06
- Fixed a
structuredClone
bug with cloning views of transferred buffers, #1265 - Fixed the order of arguments validation in
DataView
methods - Allowed cloning of
Float16Array
instructuredClone
- Compat data improvements:
Set
methods proposal marked as supported from Safari 17.0- New
URL
features:URL.canParse
,URLSearchParams.prototype.size
andvalue
argument ofURLSearchParams.prototype.{ has, delete }
marked as supported from Safari 17.0 value
argument ofURLSearchParams.prototype.{ has, delete }
marked as supported from Deno 1.35AggregateError
and well-formedJSON.stringify
marked as supported React Native 0.72 Hermes- Added Deno 1.35 compat data mapping
- Added Quest Browser 28 compat data mapping
- Added missing NodeJS 12.16-12.22 compat data mapping
- Updated Opera Android 76 compat data mapping