Releases: zloirock/core-js
Releases Β· zloirock/core-js
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
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
3.30.2 - 2023.05.07
- Added a fix for a NodeJS 20.0.0 bug with cloning
File
viastructuredClone
- Added protection from Terser unsafe
String
optimization, #1242 - Added a workaround for getting proper global object in Figma plugins, #1231
- Compat data improvements:
- Added NodeJS 20.0 compat data mapping
- Added Deno 1.33 compat data mapping
URL.canParse
marked as supported (fixed) from NodeJS 20.1.0 and Deno 1.33.2
3.30.1 - 2023.04.14
- Added a fix for a NodeJS 19.9.0
URL.canParse
bug - Compat data improvements:
JSON.parse
source text access proposal features marked as supported from V8 ~ Chrome 114ArrayBuffer.prototype.transfer
and friends proposal features marked as supported from V8 ~ Chrome 114URLSearchParams.prototype.size
marked as supported from V8 ~ Chrome 113
3.30.0 - 2023.04.04
- Added
URL.canParse
method, url/763 Set
methods proposal:- Removed sort from
Set.prototype.intersection
, March 2023 TC39 meeting, proposal-set-methods/94
- Removed sort from
- Iterator Helpers proposals (sync, async):
- Validate arguments before opening iterator, March 2023 TC39 meeting, proposal-iterator-helpers/265
- Explicit Resource Management proposals (sync, async):
(Async)DisposableStack.prototype.move
marks the original stack as disposed, #1226- Some simplifications like proposal-explicit-resource-management/150
Iterator.range
proposal:- Moved to Stage 2, March 2023 TC39 meeting
- Decorator Metadata proposal:
- Returned to usage
Symbol.metadata
, March 2023 TC39 meeting, proposal-decorator-metadata/12
- Returned to usage
- Compat data improvements:
URLSearchParams.prototype.size
marked as supported from FF112, NodeJS 19.8 and Deno 1.32- Added Safari 16.4 compat data
- Added Deno 1.32 compat data mapping
- Added Electron 25 and updated 24 compat data mapping
- Added Samsung Internet 21 compat data mapping
- Added Quest Browser 26 compat data mapping
- Updated Opera Android 74 compat data