unstale

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 init

@unstale/cli on npm

core-js-pure 3100 changes

Breaking changes 9

  • Non-integer chunkSize or windowSize values now throw TypeError instead of RangeError.

    3.50.0release notes

  • A finite unsafe integer limit now throws RangeError.

    3.50.0release notes

  • A finite unsafe integer limit now throws RangeError.

    3.50.0release notes

  • The array replacer now determines key order, and inherited and non-enumerable properties are no longer ignored.

    3.50.0release notes

  • The pure version is forcibly replaced to ensure it returns properly wrapped Iterator instances; primitive iterators now cause an early error.

    3.49.0release notes

  • The polyfill now throws for unterminated object and array literals and numbers with a decimal point but no fraction.

    3.49.0release notes

  • The polyfill now errors on \u{} and correctly handles some hex escapes at the end of a string.

    3.49.0release notes

  • The polyfill now throws when asked to transfer multiple objects, some of which are non-transferable.

    3.49.0release notes

  • The polyfill now throws when called with only one argument.

    3.49.0release notes

Security 1

  • Fixed exposure of buffer mutations in the polyfill.

    3.49.0release notes

New APIs and options 14

  • Adds the iterator chunking built-in Iterator.prototype.chunks.

    3.50.0release notes

  • Adds the stage 3 iterator includes built-in.

    3.50.0release notes

  • Adds the stage 3 iterator join built-in.

    3.50.0release notes

  • Adds the iterator chunking built-in Iterator.prototype.windows.

    3.50.0release notes

  • Adds the joint iteration built-in Iterator.zip.

    3.50.0release notes

  • Adds the joint iteration built-in Iterator.zipKeyed.

    3.50.0release notes

  • Adds Promise.allKeyed from the Await dictionary of Promises proposal.

    3.50.0release notes

  • Adds Promise.allSettledKeyed from the Await dictionary of Promises proposal.

    3.50.0release notes

  • Adds namespace entries for the Map upsert features.

    3.48.0release notes

  • Adds the Map upsert method, moved to stable ES.

    3.48.0release notes

  • Adds the Map upsert method, moved to stable ES.

    3.48.0release notes

  • Adds namespace entries for the Map upsert features.

    3.48.0release notes

  • Adds the WeakMap upsert method, moved to stable ES.

    3.48.0release notes

  • Adds the WeakMap upsert method, moved to stable ES.

    3.48.0release notes

Performance 9

  • Slightly improves performance on engines with native Array.prototype.fill.

    3.50.0release notes

  • Improves performance of escape.

    3.50.0release notes

  • Slightly improves performance on engines with native Array.prototype.fill.

    3.50.0release notes

  • Improves performance of Uint8Array base64 methods.

    3.50.0release notes

  • The polyfill has improved performance.

    3.49.0release notes

  • The polyfill has improved performance.

    3.49.0release notes

  • The polyfill has improved performance.

    3.49.0release notes

  • The polyfill has improved performance.

    3.49.0release notes

  • The polyfill has improved performance.

    3.49.0release notes

Behavior and default changes 1

  • Pure-version methods are now generic and work with polyfilled and native collections.

    3.49.0release notes

Fixes and other changes 66

  • Adds the missed MAX_SAFE_INTEGER excess check to the polyfill.

    3.50.0release notes

  • Adds the missed MAX_SAFE_INTEGER excess check to the polyfill.

    3.50.0release notes

  • Improves polyfill accuracy with big and small values.

    3.50.0release notes

  • Improves polyfill accuracy with big and small values.

    3.50.0release notes

  • Adds the missed MAX_SAFE_INTEGER excess check to the polyfill.

    3.50.0release notes

  • Uses PromiseResolve semantics, aligning the polyfill with the specified behavior.

    3.50.0release notes

  • Fixes the conversion order in the polyfill.

    3.50.0release notes

  • Fixes the conversion order in the polyfill.

    3.50.0release notes

  • Fixes a possible crash on some keys.

    3.50.0release notes

  • Parsing is more correct for character sets, percent coding, and related cases.

    3.50.0release notes

  • Opaque paths in the URL polyfill now always roundtrip.

    3.50.0release notes

  • Fixes URL#toJSON when URL#toString is reassigned after core-js is imported.

    3.50.0release notes

  • Fixed iterator closing when array property creation fails.

    3.49.0release notes

  • Fixed argument validation order and missing counter validation at MAX_SAFE_INTEGER.

    3.49.0release notes

  • Fixed an error when the polyfill receives a frozen array.

    3.49.0release notes

  • Fixed the order of argument validation in the polyfill.

    3.49.0release notes

  • Fixed a modern Safari bug involving sparse arrays and fromIndex; modern Safari is marked as unsupported in compatibility data.

    3.49.0release notes

  • Fixed resizable ArrayBuffer transfers when newByteLength exceeds the original maxByteLength.

    3.49.0release notes

  • Fixed iterator closing in the polyfill.

    3.49.0release notes

  • Fixed iterator closing when the underlying iterator next() throws.

    3.49.0release notes

  • Fixed iterator closing with return: null and validation that the return() result is an object.

    3.49.0release notes

  • core-js-builder no longer ignores the obsolete blacklist option; removal is deferred until the next major release.

    3.49.0release notes

  • Compatibility data adds mappings for recent Deno, Electron, Opera for Android, and Oculus Quest Browser releases, and corrects parseInt and parseFloat data.

    3.49.0release notes

  • Fixed the esmodules: intersect option.

    3.49.0release notes

  • Fixed the polyfill for values in the (0, 1) range.

    3.49.0release notes

  • Fixed NaN handling in the polyfill.

    3.49.0release notes

  • Iterator helper polyfills now proxy return() on an exhausted iterator to the underlying iterator.

    3.49.0release notes

  • Fixed another case of a V8 / Chromium bug affecting the polyfill.

    3.49.0release notes

  • 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.

    3.49.0release notes

  • 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.

    3.49.0release notes

  • Improves polyfill accuracy with big and small values.

    3.49.0release notesrelease notes

  • The polyfill is more accurate for big and small values.

    3.49.0release notes

  • Fixed handling of ending zeroes in the fraction part and added input string validation to the obsolete proposal polyfill.

    3.49.0release notes

  • The polyfill is more accurate for big and small values.

    3.49.0release notes

  • Fixed possible loss of symbol enumerability and the return value in the Symbol polyfill.

    3.49.0release notes

  • Fixed semantics with multiple subscriptions in the obsolete Observable proposal polyfill.

    3.49.0release notes

  • Added the missing reactnative alias to core-js-compat types.

    3.49.0release notes

  • Fixed argument validation order, observable in the error message.

    3.49.0release notes

  • The polyfill now throws for malformed descriptors.

    3.49.0release notes

  • Fixed repeated ToPropertyKey conversion.

    3.49.0release notes

  • Fixed repeated ToPropertyKey conversion; Reflect.set also received fixes for descriptors and non-extensible receivers.

    3.49.0release notes

  • Fixed repeated ToPropertyKey conversion, descriptor handling, and cases involving non-extensible receivers.

    3.49.0release notes

  • Fixed handling of empty groups in the polyfills.

    3.49.0release notes

  • Fixed named backreferences and cases involving other group types and dotAll in the NCG polyfill.

    3.49.0release notes

  • Fixed alternation, line terminators in multiline mode, and input slicing on result objects.

    3.49.0release notes

  • Updated the polyfill to the final spec behavior for cases where this is updated.

    3.49.0release notes

  • Fixed iterator closing in the polyfill.

    3.49.0release notes

  • Fixed iterator closing in the polyfill.

    3.49.0release notes

  • Fixed the order of argument validation in the polyfill.

    3.49.0release notes

  • Polyfills add support for s, d, and v flags when modern engines have bugs in these string methods.

    3.49.0release notes

  • Polyfills add support for s, d, and v flags when modern engines have bugs in these string methods.

    3.49.0release notes

  • Fixed the order of argument validation in the polyfill.

    3.49.0release notes

  • Fixed the order of argument validation in the polyfill.

    3.49.0release notes

  • Fixed the polyfill for counters exceeding 2 ** 32.

    3.49.0release notes

  • Fixed the sticky-mode polyfill; additional flag support is applied when modern engines have bugs in related string methods.

    3.49.0release notes

  • Polyfills add support for s, d, and v flags when modern engines have bugs in these string methods.

    3.49.0release notes

  • Fixed the order of argument validation in the polyfill.

    3.49.0release notes

  • Fixed some cases of Infinity handling in the polyfill.

    3.49.0release notes

  • The polyfill wraps Symbol.for to correctly handle empty string descriptions.

    3.49.0release notes

  • The polyfills now throw when passed an ArrayBuffer and a negative length.

    3.49.0release notes

  • Fixed the order of argument validation in the polyfill.

    3.49.0release notes

  • Fixed URL polyfill parsing and serialization for hosts, schemes, paths, percent encoding, file URLs, and blob origins.

    3.49.0release notes

  • Fixed UTF-8 decoding and invalid continuation-byte handling in the polyfill.

    3.49.0release notes

  • Fixed deletion with duplicate key-value pairs and prevented unnecessary entry removal when the second argument is used.

    3.49.0release notes

  • Adds workarounds for a Safari before 13 bug that silently ignores non-writable array length.

    3.48.0release notes

  • Includes a minor fix and optimization in the constructor polyfill for NCG and dotAll.

    3.48.0release notes