Releases: zloirock/core-js
Releases Β· zloirock/core-js
3.33.3 - 2023.11.20
- Fixed an issue getting the global object on Duktape, #1303
- Avoid sharing internal
[[DedentMap]]fromString.dedentproposal betweencore-jsinstances before stabilization of the proposal - Some internal untangling
- Compat data improvements:
- Added Deno 1.38 compat data mapping
Array.fromAsyncmarked 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
structuredClonepolyfill, avoided second tree pass in cases of transferring - Added support of
SuppressedErrortostructuredClonepolyfill - Removed unspecified unnecessary
ArrayBufferandDataViewdependencies ofstructuredClonelack of which could cause errors in some entries in IE10- - Fixed handling of fractional number part in
Number.fromString - Compat data improvements:
URL.canParsemarked 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
Symbolpolyfill on global object, #1289 - Directly specified
type: commonjsinpackage.jsonof 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
RegExpescaping stage 2 proposal, September 2023 TC39 meeting:- Added
RegExp.escapemethod 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 ofArrayBuffers viastructuredCloneto engines withMessageChannel - Optimized
Math.f16roundpolyfill - Fixed some conversion cases of
Math.f16roundandDataView.prototype.{ getFloat16, setFloat16 } - Fully forced polyfilling of the TC39
Observableproposal because of incompatibility with the new WHATWGObservableproposal - Added an extra workaround of errors with exotic environment objects in
Symbolpolyfill, #1289 - Some minor fixes and stylistic changes
- Compat data improvements:
- V8 unshipped
Iteratorhelpers because of some Web compatibility issues Promise.withResolversmarked as supported from V8 ~ Chrome 119Arraygrouping proposal features marked as supported from FF119valueargument ofURLSearchParams.prototype.{ has, delete }marked as properly supported from V8 ~ Chrome 118URL.canParseandURLSearchParams.prototype.sizemarked 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
structuredClonefeature detection[email protected]bug, #1288 - Added a workaround of old WebKit +
evalbug, #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
processpolyfill tocore-jsvia some bundlers oresm.sh, #1277 - Some minor fixes and stylistic changes
- Compat data improvements:
Promise.withResolversmarked 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
Arraygrouping proposal, July 2023 TC39 meeting updates:- Moved back to stage 3
- Added
/actual/namespaces entries, unconditional forced replacement changed to feature detection
Promise.withResolversproposal, July 2023 TC39 meeting updates:- Moved to stage 3
- Added
/actual/namespaces entries, unconditional forced replacement changed to feature detection
Setmethods stage 3 proposal, July 2023 TC39 meeting updates::- Throw on negative
Setsizes, proposal-set-methods/88 - Removed
IsCallablecheck inGetKeysIterator, proposal-set-methods/101
- Throw on negative
- Iterator Helpers stage 3 proposal:
- Avoid creating observable
Stringwrapper objects, July 2023 TC39 meeting update, proposal-iterator-helpers/281 Iteratoris 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
Float16Arraystage 3 proposal:- There are some reason why I don't want to add
Float16Arrayright now, however, make sense to add some methods from this proposal. - Methods:
Math.f16roundDataView.prototype.getFloat16DataView.prototype.setFloat16
- There are some reason why I don't want to add
- Added
DataViewget / setUint8Clampedmethods stage 1 proposal:- Methods:
DataView.prototype.getUint8ClampedDataView.prototype.setUint8Clamped
- Methods:
- Used strict mode in some missed cases, #1269
- Fixed a Chromium 117 bug in
valueargument ofURLSearchParams.prototype.{ has, delete } - Fixed early WebKit ~ Safari 17.0 beta
Setmethods 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
AsyncIteratorPrototypecore-js/configuratoroption, #1268 - Compat data improvements:
- Sync
Iteratorhelpers proposal features marked as supported from V8 ~ Chrome 117 Arraygrouping 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
structuredClonebug with cloning views of transferred buffers, #1265 - Fixed the order of arguments validation in
DataViewmethods - Allowed cloning of
Float16ArrayinstructuredClone - Compat data improvements:
Setmethods proposal marked as supported from Safari 17.0- New
URLfeatures:URL.canParse,URLSearchParams.prototype.sizeandvalueargument ofURLSearchParams.prototype.{ has, delete }marked as supported from Safari 17.0 valueargument ofURLSearchParams.prototype.{ has, delete }marked as supported from Deno 1.35AggregateErrorand well-formedJSON.stringifymarked 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.isWellFormedmethodString.prototype.toWellFormedmethod
- Moved to stable ES, May 2023 TC39 meeting
- Added
es.namespace modules,/es/and/stable/namespaces entries
- Methods:
Arraygrouping proposal, May 2023 TC39 meeting updates:- Because of the web compat issue, moved from prototype to static methods. Added:
Object.groupBymethodMap.groupBymethod (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.iteratorfallback from callable check toundefined/nullcheck, May 2023 TC39 meeting, proposal-iterator-helpers/272 - Removed
IsCallablecheck onNextMethod, deferring errors toCallsite, May 2023 TC39 meeting, proposal-iterator-helpers/274
- Changed
- Added
Promise.withResolversstage 2 proposal:Promise.withResolversmethod
Symbolpredicates stage 2 proposal:- The methods renamed to end with
Symbol, May 2023 TC39 meeting:Symbol.isRegistered->Symbol.isRegisteredSymbolmethodSymbol.isWellKnown->Symbol.isWellKnownSymbolmethod
- The methods renamed to end with
- Added
valueargument ofURLSearchParams.prototype.{ has, delete }, url/735 - Fixed some cases of increasing buffer size in
ArrayBuffer.prototype.{ transfer, transferToFixedLength }polyfills - Fixed awaiting async
AsyncDisposableStack.prototype.adoptcallback, #1258 - Fixed
URLSearchParams#sizein 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.differencethat 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
Arrayby copy proposal marked as supported from FF115 Array.fromAsyncmarked as supported from FF115URL.canParsemarked as supported from FF115valueargument 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
FileviastructuredClone - Added protection from Terser unsafe
Stringoptimization, #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.canParsemarked as supported (fixed) from NodeJS 20.1.0 and Deno 1.33.2