This PR was automatically created by Snyk using the credentials of a real user.
Snyk has created this PR to upgrade core-js from 3.23.4 to 3.28.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
- The recommended version is **15 versions** ahead of your current version.
- The recommended version was released **21 days ago**, on 2023-02-13.
Release notes Package name: core-js
ArrayBuffer.prototype.transfer (only in runtimes with native structuredClone with ArrayBuffer transfer support)
ArrayBuffer.prototype.transferToFixedLength (only in runtimes with native structuredClone with ArrayBuffer transfer support)
In backwards, in runtimes with native ArrayBuffer.prototype.transfer, but without proper structuredClone, added ArrayBuffer transfer support to structuredClone polyfill
Improved some cases handling of array-replacer in JSON.stringify symbols handling fix
Fixed many other old JSON.{ parse, stringify } bugs (numbers instead of strings as keys in replacer, handling negative zeroes, spaces, some more handling symbols cases, etc.)
Fixed configurability and ToString conversion of some accessors
Added throwing proper errors on an incorrect context in some ArrayBuffer and DataView methods
Some minor DataView and %TypedArray% polyfills optimizations
Added proper error on the excess number of trailing = in the atob polyfill
Fixed theoretically possible ReDoS vulnerabilities in String.prototype.{ trim, trimEnd, trimRight }, parse(Int|Float), Number, atob, and URL polyfills in some ancient engines
Compat data improvements:
RegExp.prototype.flags marked as fixed from V8 ~ Chrome 111
Accepted only Set-like objects as an argument, not all iterables
Accepted only Sets as this, no @@ species support, and other minor changes
Added /actual/ entries, unconditional forced replacement changed to feature detection
For avoiding breaking changes:
New versions of methods are implemented as new modules and available in new entries or entries where old versions of methods were not available before (like /actual/ namespace)
In entries where they were available before (like /full/ namespace), those methods are available with fallbacks to old semantics (in addition to Set-like, they accept iterable objects). This behavior will be removed from the next major release
According to the documentation, Oculus Browser was renamed to Meta Quest Browser, so oculus target was renamed to quest.
opera_mobile target name is confusing since it contains data for the Chromium-based Android version, but iOS Opera is Safari-based. So opera_mobile target was renamed to opera-android.
android target name is also confusing for someone - that means Android WebView, some think thinks that it's Chrome for Android, but they have some differences. For avoiding confusion, added chrome-android target.
For consistency with two previous cases, added firefox-android target.
For avoiding breaking changes, the oculus and opera_mobile fields are available in the compat data till the next major release.
Fixed the first version in the Chromium-based Edge compat data mapping
{ Map, WeakMap }.prototype.emplace became stricter by the spec draft
Smoothed behavior of some conflicting proposals
Removed some generic behavior (like @@ species pattern) of some .prototype methods from the new collections methods proposal and the Array deduplication proposal that most likely will not be implemented since it contradicts the current TC39 policy
Added pure version of the Number constructor, #1154, #1155, thanks @ trosos
Added set(Timeout|Interval|Immediate) extra arguments fix for Bun 0.3.0- (similarly to IE9-), bun/1633
Fixed handling of sparse arrays in structuredClone, #1156
Fixed a theoretically possible future conflict of polyfills definitions in the pure version
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
Compare
**Note:** *You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.*
For more information:
🧐 [View latest project report](https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr)
🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1/settings/integration?utm_source=github&utm_medium=referral&page=upgrade-pr)
🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1/settings/integration?pkg=core-js&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades)
This PR was automatically created by Snyk using the credentials of a real user.
Snyk has created this PR to upgrade core-js from 3.23.4 to 3.28.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.- The recommended version is **15 versions** ahead of your current version. - The recommended version was released **21 days ago**, on 2023-02-13.
Release notes
Package name: core-js
I highly recommend reading this: So, what's next?
Array
by copy proposal:Array.prototype.toReversed
Array.prototype.toSorted
Array.prototype.toSpliced
Array.prototype.with
%TypedArray%.prototype.toReversed
%TypedArray%.prototype.toSorted
%TypedArray%.prototype.with
es.
namespace modules,/es/
and/stable/
namespaces entriesJSON.parse
source text access Stage 3 proposalJSON.parse
patched for supportsource
inreviver
function argumentsJSON.rawJSON
JSON.isRawJSON
JSON.stringify
patched for supportJSON.rawJSON
ArrayBuffer.prototype.transfer
and friends Stage 3 proposal:ArrayBuffer.prototype.detached
ArrayBuffer.prototype.transfer
(only in runtimes with nativestructuredClone
withArrayBuffer
transfer support)ArrayBuffer.prototype.transferToFixedLength
(only in runtimes with nativestructuredClone
withArrayBuffer
transfer support)ArrayBuffer.prototype.transfer
, but without properstructuredClone
, addedArrayBuffer
transfer support tostructuredClone
polyfillAsyncIterator
helpers, proposal-iterator-helpers/262InstallErrorCause
removed fromSuppressedError
, January 2023 TC39 meeting, proposal-explicit-resource-management/145{ AsyncDisposableStack, DisposableStack }.prototype.use
, proposal-explicit-resource-management/143Symbol
predicates Stage 2 proposalSymbol.isRegistered
Symbol.isWellKnown
Number.range
Stage 1 proposal and method renamed toIterator.range
Function.prototype.unThis
Stage 0 proposal and method renamed toFunction.prototype.demethodize
String.prototype.toWellFormed
ToString
conversion bugJSON.stringify
symbols handling fixJSON.{ parse, stringify }
bugs (numbers instead of strings as keys in replacer, handling negative zeroes, spaces, some more handling symbols cases, etc.)ToString
conversion of some accessorsArrayBuffer
andDataView
methodsDataView
and%TypedArray%
polyfills optimizations=
in theatob
polyfillString.prototype.{ trim, trimEnd, trimRight }
,parse(Int|Float)
,Number
,atob
, andURL
polyfills in some ancient enginesRegExp.prototype.flags
marked as fixed from V8 ~ Chrome 111core-js-builder
Set
methods proposal updates:Set
-like objects on early exit, proposal-set-methods/85webpack
dev server bug on IE global methods, #1161String.{ raw, cooked }
error with empty template arrayError.captureStackTrace
instead of stack parsing in new error classes / wrappers where it's possiblePromise.{ allSettled, any }
feature detection, Hermes issueArray
by copy proposal marked as supported from V8 ~ Chrome 110self
marked as fixed in Deno 1.29.3, deno/17362core-js-bundle
WeakMap
keysString.dedent
in MS EdgeIterator
Iterator.from
Iterator.prototype.drop
Iterator.prototype.every
Iterator.prototype.filter
Iterator.prototype.find
Iterator.prototype.flatMap
Iterator.prototype.forEach
Iterator.prototype.map
Iterator.prototype.reduce
Iterator.prototype.some
Iterator.prototype.take
Iterator.prototype.toArray
Iterator.prototype.toAsync
Iterator.prototype[@@ toStringTag]
AsyncIterator
AsyncIterator.from
AsyncIterator.prototype.drop
AsyncIterator.prototype.every
AsyncIterator.prototype.filter
AsyncIterator.prototype.find
AsyncIterator.prototype.flatMap
AsyncIterator.prototype.forEach
AsyncIterator.prototype.map
AsyncIterator.prototype.reduce
AsyncIterator.prototype.some
AsyncIterator.prototype.take
AsyncIterator.prototype.toArray
AsyncIterator.prototype[@@ toStringTag]
/actual/
entries, unconditional forced replacement disabled for features that survived to Stage 3.from
accept strings,.flatMap
throws on strings returned from the callback, proposal-iterator-helpers/244, proposal-iterator-helpers/250.from
and.flatMap
throws on non-object iterators, proposal-iterator-helpers/253Set
methods proposal:Set.prototype.intersection
Set.prototype.union
Set.prototype.difference
Set.prototype.symmetricDifference
Set.prototype.isSubsetOf
Set.prototype.isSupersetOf
Set.prototype.isDisjointFrom
Set
-like objects as an argument, not all iterablesSet
s asthis
, no@@ species
support, and other minor changes/actual/
entries, unconditional forced replacement changed to feature detection/actual/
namespace)/full/
namespace), those methods are available with fallbacks to old semantics (in addition toSet
-like, they accept iterable objects). This behavior will be removed from the next major releaseString.prototype.isWellFormed
String.prototype.toWellFormed
/actual/
entries, disabled unconditional forced replacementusing
statement" and splitted into 2 (sync and async) proposalsSymbol.dispose
Symbol.asyncDispose
SuppressedError
DisposableStack
DisposableStack.prototype.dispose
DisposableStack.prototype.use
DisposableStack.prototype.adopt
DisposableStack.prototype.defer
DisposableStack.prototype.move
DisposableStack.prototype[@@ dispose]
AsyncDisposableStack
AsyncDisposableStack.prototype.disposeAsync
AsyncDisposableStack.prototype.use
AsyncDisposableStack.prototype.adopt
AsyncDisposableStack.prototype.defer
AsyncDisposableStack.prototype.move
AsyncDisposableStack.prototype[@@ asyncDispose]
Iterator.prototype[@@ dispose]
AsyncIterator.prototype[@@ asyncDispose]
/actual/
namespace entries for Stage 3 proposalString.dedent
stage 2 proposalString.dedent
react-native
target for React Native with bundled Hermes.oculus
target was renamed toquest
.opera_mobile
target name is confusing since it contains data for the Chromium-based Android version, but iOS Opera is Safari-based. Soopera_mobile
target was renamed toopera-android
.android
target name is also confusing for someone - that means Android WebView, some think thinks that it's Chrome for Android, but they have some differences. For avoiding confusion, addedchrome-android
target.firefox-android
target.oculus
andopera_mobile
fields are available in the compat data till the next major release.Array.fromAsync
marked as supported from Bun 0.3.0String.prototype.{ isWellFormed, toWellFormed }
marked as supported from Bun 0.4.0Array
by copy proposal marked as supported from Deno 1.27, deno/16429{ Map, WeakMap }.prototype.emplace
became stricter by the spec draft@@ species
pattern) of some.prototype
methods from the new collections methods proposal and theArray
deduplication proposal that most likely will not be implemented since it contradicts the current TC39 policyNumber
constructor, #1154, #1155, thanks @ trososset(Timeout|Interval|Immediate)
extra arguments fix for Bun 0.3.0- (similarly to IE9-), bun/1633structuredClone
, #1156Array.fromAsync
since it's on Stage 3function-uncurry-this
helper where it's not required - minor optimization and preventing problems in some broken environments, a workaround of #1141Array.prototype.{ group, groupToMap }
in V8 ~ Chromium 108, proposal-array-grouping/44Array.fromAsync
proposal:%Array.prototype.values%
usage in array-like branch, proposal-array-from-async/30String.prototype.isWellFormed
String.prototype.toWellFormed
AsyncIterator
helpers, proposal-iterator-helpers/239{ Iterator, AsyncIterator }.prototype.flatMap
supports returning both - iterables and iterators, proposal-iterator-helpers/233.next
in missed cases of{ Iterator, AsyncIterator }.from
, proposal-iterator-helpers/232self
polyfill as a part of The Minimum Common Web Platform API, specification, #1118inverse
option tocore-js-compat
, #1119format
option tocore-js-builder
, #1120Array.prototype.groupToMap
in the pure version for returning wrappedMap
instancesArray.prototype.{ findLast, findLastIndex }
in/stage/4
entryCommit messages
Package name: core-js
**Note:** *You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.* For more information: