Releases: zloirock/core-js
Releases Β· zloirock/core-js
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
3.31.0 - 2023.06.12
- Well-formed unicode strings proposal:
- Methods:
String.prototype.isWellFormed
methodString.prototype.toWellFormed
method
- Moved to stable ES, May 2023 TC39 meeting
- Added
es.
namespace modules,/es/
and/stable/
namespaces entries
- Methods:
Array
grouping proposal, May 2023 TC39 meeting updates:- Because of the web compat issue, moved from prototype to static methods. Added:
Object.groupBy
methodMap.groupBy
method (with the actual semantic - with a minor difference it was present in the collections methods stage 1 proposal)
- Demoted to stage 2
- Because of the web compat issue, moved from prototype to static methods. Added:
- Decorator Metadata proposal, May 2023 TC39 meeting updates:
- Moved to stage 3
- Added
Function.prototype[Symbol.metadata]
(=== null
) - Added
/actual/
entries
- Iterator Helpers stage 3 proposal:
- Changed
Symbol.iterator
fallback from callable check toundefined
/null
check, May 2023 TC39 meeting, proposal-iterator-helpers/272 - Removed
IsCallable
check onNextMethod
, deferring errors toCall
site, May 2023 TC39 meeting, proposal-iterator-helpers/274
- Changed
- Added
Promise.withResolvers
stage 2 proposal:Promise.withResolvers
method
Symbol
predicates stage 2 proposal:- The methods renamed to end with
Symbol
, May 2023 TC39 meeting:Symbol.isRegistered
->Symbol.isRegisteredSymbol
methodSymbol.isWellKnown
->Symbol.isWellKnownSymbol
method
- The methods renamed to end with
- Added
value
argument ofURLSearchParams.prototype.{ has, delete }
, url/735 - Fixed some cases of increasing buffer size in
ArrayBuffer.prototype.{ transfer, transferToFixedLength }
polyfills - Fixed awaiting async
AsyncDisposableStack.prototype.adopt
callback, #1258 - Fixed
URLSearchParams#size
in ES3 engines (IE8-) - Added a workaround in
Object.{ entries, values }
for some IE versions bug with invisible integer keys onnull
-prototype objects - Added TypeScript definitions to
core-js-compat
, #1235, thanks @susnux - Compat data improvements:
Set.prototype.difference
that 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.2- Methods from the change
Array
by copy proposal marked as supported from FF115 Array.fromAsync
marked as supported from FF115URL.canParse
marked as supported from FF115value
argument ofURLSearchParams.prototype.{ has, delete }
marked as supported from NodeJS 20.2.0 and FF115- Added Deno 1.34 compat data mapping
- Added Electron 26 compat data mapping
- Added Samsung Internet 22 compat data mapping
- Added Opera Android 75 and 76 compat data mapping
- Added Quest Browser 27 compat data mapping