npm / core-js-pure
core-js-pure
What changed in core-js-pure 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.
9 breaking1 security14 new APIs and options9 performance1 behavior and defaults66 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initcore-js-pure 3100 changes
Breaking changes 9
Non-integer chunkSize or windowSize values now throw TypeError instead of RangeError.
A finite unsafe integer limit now throws RangeError.
A finite unsafe integer limit now throws RangeError.
The array replacer now determines key order, and inherited and non-enumerable properties are no longer ignored.
The pure version is forcibly replaced to ensure it returns properly wrapped Iterator instances; primitive iterators now cause an early error.
The polyfill now throws for unterminated object and array literals and numbers with a decimal point but no fraction.
The polyfill now errors on \u{} and correctly handles some hex escapes at the end of a string.
The polyfill now throws when asked to transfer multiple objects, some of which are non-transferable.
The polyfill now throws when called with only one argument.
Security 1
Fixed exposure of buffer mutations in the polyfill.
New APIs and options 14
Adds the iterator chunking built-in Iterator.prototype.chunks.
Adds the stage 3 iterator includes built-in.
Adds the stage 3 iterator join built-in.
Adds the iterator chunking built-in Iterator.prototype.windows.
Adds the joint iteration built-in Iterator.zip.
Adds the joint iteration built-in Iterator.zipKeyed.
Adds Promise.allKeyed from the Await dictionary of Promises proposal.
Adds Promise.allSettledKeyed from the Await dictionary of Promises proposal.
Adds namespace entries for the Map upsert features.
Adds the Map upsert method, moved to stable ES.
Adds the Map upsert method, moved to stable ES.
Adds namespace entries for the Map upsert features.
Adds the WeakMap upsert method, moved to stable ES.
Adds the WeakMap upsert method, moved to stable ES.
Performance 9
Slightly improves performance on engines with native Array.prototype.fill.
Improves performance of escape.
Slightly improves performance on engines with native Array.prototype.fill.
Improves performance of Uint8Array base64 methods.
The polyfill has improved performance.
The polyfill has improved performance.
The polyfill has improved performance.
The polyfill has improved performance.
The polyfill has improved performance.
Behavior and default changes 1
Pure-version methods are now generic and work with polyfilled and native collections.
Fixes and other changes 66
Adds the missed MAX_SAFE_INTEGER excess check to the polyfill.
Adds the missed MAX_SAFE_INTEGER excess check to the polyfill.
Improves polyfill accuracy with big and small values.
Improves polyfill accuracy with big and small values.
Adds the missed MAX_SAFE_INTEGER excess check to the polyfill.
Uses PromiseResolve semantics, aligning the polyfill with the specified behavior.
Fixes the conversion order in the polyfill.
Fixes the conversion order in the polyfill.
Fixes a possible crash on some keys.
Parsing is more correct for character sets, percent coding, and related cases.
Opaque paths in the URL polyfill now always roundtrip.
Fixes URL#toJSON when URL#toString is reassigned after core-js is imported.
Fixed iterator closing when array property creation fails.
Fixed argument validation order and missing counter validation at MAX_SAFE_INTEGER.
Fixed an error when the polyfill receives a frozen array.
Fixed the order of argument validation in the polyfill.
Fixed a modern Safari bug involving sparse arrays and fromIndex; modern Safari is marked as unsupported in compatibility data.
Fixed resizable ArrayBuffer transfers when newByteLength exceeds the original maxByteLength.
Fixed iterator closing in the polyfill.
Fixed iterator closing when the underlying iterator next() throws.
Fixed iterator closing with return: null and validation that the return() result is an object.
core-js-builder no longer ignores the obsolete blacklist option; removal is deferred until the next major release.
Compatibility data adds mappings for recent Deno, Electron, Opera for Android, and Oculus Quest Browser releases, and corrects parseInt and parseFloat data.
Fixed the esmodules: intersect option.
Fixed the polyfill for values in the (0, 1) range.
Fixed NaN handling in the polyfill.
Iterator helper polyfills now proxy return() on an exhausted iterator to the underlying iterator.
Fixed another case of a V8 / Chromium bug affecting the polyfill.
Fixed handling of strings as iterables, iterator closing, and validation of next results; the pure version is forcibly replaced to return properly wrapped Iterator instances.
Fixed handling of strings as iterables, iterator closing, and validation of next results; the pure version is forcibly replaced to return properly wrapped Iterator instances.
Improves polyfill accuracy with big and small values.
The polyfill is more accurate for big and small values.
Fixed handling of ending zeroes in the fraction part and added input string validation to the obsolete proposal polyfill.
The polyfill is more accurate for big and small values.
Fixed possible loss of symbol enumerability and the return value in the Symbol polyfill.
Fixed semantics with multiple subscriptions in the obsolete Observable proposal polyfill.
Added the missing reactnative alias to core-js-compat types.
Fixed argument validation order, observable in the error message.
The polyfill now throws for malformed descriptors.
Fixed repeated ToPropertyKey conversion.
Fixed repeated ToPropertyKey conversion; Reflect.set also received fixes for descriptors and non-extensible receivers.
Fixed repeated ToPropertyKey conversion, descriptor handling, and cases involving non-extensible receivers.
Fixed handling of empty groups in the polyfills.
Fixed named backreferences and cases involving other group types and dotAll in the NCG polyfill.
Fixed alternation, line terminators in multiline mode, and input slicing on result objects.
Updated the polyfill to the final spec behavior for cases where this is updated.
Fixed iterator closing in the polyfill.
Fixed iterator closing in the polyfill.
Fixed the order of argument validation in the polyfill.
Polyfills add support for s, d, and v flags when modern engines have bugs in these string methods.
Polyfills add support for s, d, and v flags when modern engines have bugs in these string methods.
Fixed the order of argument validation in the polyfill.
Fixed the order of argument validation in the polyfill.
Fixed the polyfill for counters exceeding 2 ** 32.
Fixed the sticky-mode polyfill; additional flag support is applied when modern engines have bugs in related string methods.
Polyfills add support for s, d, and v flags when modern engines have bugs in these string methods.
Fixed the order of argument validation in the polyfill.
Fixed some cases of Infinity handling in the polyfill.
The polyfill wraps Symbol.for to correctly handle empty string descriptions.
The polyfills now throw when passed an ArrayBuffer and a negative length.
Fixed the order of argument validation in the polyfill.
Fixed URL polyfill parsing and serialization for hosts, schemes, paths, percent encoding, file URLs, and blob origins.
Fixed UTF-8 decoding and invalid continuation-byte handling in the polyfill.
Fixed deletion with duplicate key-value pairs and prevented unnecessary entry removal when the second argument is used.
Adds workarounds for a Safari before 13 bug that silently ignores non-writable array length.
Includes a minor fix and optimization in the constructor polyfill for NCG and dotAll.