This website works better with JavaScript
Changelog
2.6.12 [LEGACY] - 2020.11.26
Added code points / code units explicit feature detection in String#at for preventing breakage code which use obsolete String#at proposal polyfill
Added OPEN_SOURCE_CONTRIBUTOR detection in postinstall
Added Drone CI detection in postinstall
2.6.11 [LEGACY] - 2019.12.09
Returned usage of node -e in postinstall scripts for better cross-platform compatibility, #582
Improved CI detection in the postinstall script, #707
2.6.10 [LEGACY] - 2019.10.13
Show similar postinstall messages only once per npm i, #597
2.6.9 [LEGACY] - 2019.05.27
Some fixes and improvements of the postinstall script like support npm color config (#556 ) or adding support of ADBLOCK env variable
2.6.8 [LEGACY] - 2019.05.22
Added a workaround of a strange npx bug on postinstall, #551
2.6.7 [LEGACY] - 2019.05.21
Added one more workaround of alternative not completely correct Symbol polyfills, #550 , #554
2.6.6 [LEGACY] - 2019.05.20
Fixed IE8- non-enumerable properties support in Object.{ assign, entries, values }, #541
Fixed support of primitives in Object.getOwnPropertySymbols in Chrome 38 / 39, #539
Show a message on postinstall
2.6.5 - 2019.02.15
Fixed buggy String#padStart and String#padEnd mobile Safari implementations, #414 .
2.6.4 - 2019.02.07
Added a workaround against crushing an old IE11.0.9600.16384 build, #485 .
2.6.3 - 2019.01.22
Added a workaround for babel-minify bug, #479
2.6.2 - 2019.01.10
Fixed handling of $ in String#replace, #471
2.6.1 - 2018.12.18
Fixed an issue with minified version, #463
2.6.0 - 2018.12.05
Add direct .exec calling to RegExp#{@@replace, @@split, @@match, @@search}. Also, added fixes for RegExp#exec method. #411 , #428 , #434 , #435 , #453 , #458 , thanks @nicolo-ribaudo .
2.5.7 - 2018.05.26
Get rid of reserved variable name final, related #400
2.5.6 - 2018.05.07
Forced replace native Promise in V8 6.6 (Node 10 and Chrome 66) because of a bug with resolving custom thenables
Added a workaround for usage buggy native LG WebOS 2 Promise in microtask implementation, #396
Added modern version internal debugging information about used versions
2.5.5 - 2018.04.08
Fix some edge cases of Reflect.set, #392 and #393
2.5.4 - 2018.03.27
Fixed one case of deoptimization built-in iterators in V8, related #377
Fixed some cases of iterators feature detection, #368
Fixed manually entered NodeJS domains issue in Promise, #367
Fixed Number.{parseInt, parseFloat} entry points
Fixed __(define|lookup)[GS]etter__ import in the library version
2.5.3 - 2017.12.12
Fixed calling onunhandledrejectionhandler multiple times for one Promise chain, #318
Forced replacement of String#{padStart, padEnd} in Safari 10 because of a bug , #280
Fixed Array#@@iterator in a very rare version of WebKit, #236 and #237
One more #345 -related fix
2.5.2 - 2017.12.09
MutationObserver no longer used for microtask implementation in iOS Safari because of bug with scrolling, #339
Fixed JSON.stringify(undefined, replacer) case in the wrapper from the Symbol polyfill, #345
Array() calls changed to new Array() for V8 optimisation
2.5.1 - 2017.09.01
Updated Promise#finally per tc39/proposal-promise-finally#37
Optimized usage of some internal helpers for reducing size of shim version
Fixed some entry points for virtual methods
2.5.0 - 2017.08.05
Added Promise#finally stage 3 proposal , #225
Added Promise.try stage 1 proposal
Added Array#flatten and Array#flatMap stage 1 proposal
Added .of and .from methods on collection constructors stage 1 proposal :
Map.of
Set.of
WeakSet.of
WeakMap.of
Map.from
Set.from
WeakSet.from
WeakMap.from
Added Math extensions stage 1 proposal , #226 :
Math.clamp
Math.DEG_PER_RAD
Math.degrees
Math.fscale
Math.RAD_PER_DEG
Math.radians
Math.scale
Added Math.signbit stage 1 proposal
Updated global stage 3 proposal - added global global object, System.global deprecated
Updated Object.getOwnPropertyDescriptors to the final version - it should not create properties if descriptors are undefined
Updated the list of iterable DOM collections, #249 , added:
CSSStyleDeclaration#@@iterator
CSSValueList#@@iterator
ClientRectList#@@iterator
DOMRectList#@@iterator
DOMStringList#@@iterator
DataTransferItemList#@@iterator
FileList#@@iterator
HTMLAllCollection#@@iterator
HTMLCollection#@@iterator
HTMLFormElement#@@iterator
HTMLSelectElement#@@iterator
MimeTypeArray#@@iterator
NamedNodeMap#@@iterator
PaintRequestList#@@iterator
Plugin#@@iterator
PluginArray#@@iterator
SVGLengthList#@@iterator
SVGNumberList#@@iterator
SVGPathSegList#@@iterator
SVGPointList#@@iterator
SVGStringList#@@iterator
SVGTransformList#@@iterator
SourceBufferList#@@iterator
TextTrackCueList#@@iterator
TextTrackList#@@iterator
TouchList#@@iterator
Updated stages of proposals:
Updated typed arrays to the modern (ES2016+) arguments validation,
#293
Fixed %TypedArray%.from Safari bug, #285
Fixed compatibility with old version of Prototype.js, #278 , #289
Function#name no longer cache the result for correct behaviour with inherited constructors, #296
Added errors on incorrect context of collection methods, #272
Fixed conversion typed array constructors to string, fix #300
Fixed Set#size with debugger ReactNative for Android, #297
Fixed an issue with Electron-based debugger, #230
Fixed compatibility with incomplete third-party WeakMap polyfills, #252
Added a fallback for Date#toJSON in engines without native Date#toISOString, #220
Added support for Sphere Dispatch API, #286
Seriously changed the coding style and the ESLint config
Updated many dev dependencies (webpack, uglify, etc)
Some other minor fixes and optimizations
2.4.1 - 2016.07.18
Fixed script tag for some parsers, #204 , #216
Removed some unused variables, #217 , #218
Fixed MS Edge Reflect.construct and Reflect.apply - they should not allow primitive as argumentsList argument
1.2.7 [LEGACY] - 2016.07.18
2.4.0 - 2016.05.08
Added Observable, stage 1 proposal
Fixed behavior Object.{getOwnPropertySymbols, getOwnPropertyDescriptor} and Object#propertyIsEnumerable on Object.prototype
Reflect.construct and Reflect.apply should throw an error if argumentsList argument is not an object, #194
2.3.0 - 2016.04.24
2.2.2 - 2016.04.06
Added conversion -0 to +0 to Array#{indexOf, lastIndexOf}, ES2016 fix
Added fixes for some Math methods in Tor Browser
Array.{from, of} no longer calls prototype setters
Added workaround over Chrome DevTools strange behavior, #186
2.2.1 - 2016.03.19
Fixed Object.getOwnPropertyNames(window) 2.1+ versions bug, #181
2.2.0 - 2016.03.15
Added String#matchAll, proposal
Added Object#__(define|lookup)[GS]etter__, annex B ES2017
Added @@toPrimitive methods to Date and Symbol
Fixed %TypedArray%#slice in Edge ~ 13 (throws with @@species and wrapped / inherited constructor)
Some other minor fixes
2.1.5 - 2016.03.12
Improved support NodeJS domains in Promise#then, #180
Added fallback for Date#toJSON bug in Qt Script, #173
2.1.4 - 2016.03.08
Added fallback for Symbol polyfill in Qt Script, #173
Added one more fallback for IE11 Script Access Denied error with iframes, #165
2.1.3 - 2016.02.29
2.1.2 - 2016.02.29
Some minor Promise fixes:
Browsers rejectionhandled event better HTML spec complaint
Errors in unhandled rejection handlers should not cause any problems
Fixed typo in feature detection
2.1.1 - 2016.02.22
Some Promise improvements:
Feature detection:
Added detection unhandled rejection tracking support - now it's available everywhere , #140
Added detection @@species pattern support for completely correct subclassing
Removed usage Object.setPrototypeOf from feature detection and noisy console message about it in FF
Promise.all fixed for some very specific cases
2.1.0 - 2016.02.09
API :
ES5 polyfills are split and logic, used in other polyfills, moved to internal modules
All entry point works in ES3 environment like IE8- without core-js/(library/)es5
Added all missed single entry points for ES5 polyfills
Separated ES5 polyfills moved to the ES6 namespace. Why?
Mainly, for prevent duplication features in different namespaces - logic of most required ES5 polyfills changed in ES6+:
Already added changes for: Object statics - should accept primitives, new whitespaces lists in String#trim, parse(Int|float), RegExp#toString logic, String#split, etc
Should be changed in the future: @@species and ToLength logic in Array methods, Date parsing, Function#bind, etc
Should not be changed only several features like Array.isArray and Date.now
Some ES5 polyfills required for modern engines
All old entry points should work fine, but in the next major release API can be changed
Object.getOwnPropertyDescriptors moved to the stage 3, January TC39 meeting
Added umd option for custom build process , #169
Returned entry points for Array statics, removed in 2.0, for compatibility with babel 6 and for future fixes
Deprecated :
New Features :
Added Reflect metadata API as a pre-strawman feature, #152 :
Reflect.defineMetadata
Reflect.deleteMetadata
Reflect.getMetadata
Reflect.getMetadataKeys
Reflect.getOwnMetadata
Reflect.getOwnMetadataKeys
Reflect.hasMetadata
Reflect.hasOwnMetadata
Reflect.metadata
Implementation / fixes Date#toJSON
Fixes for parseInt and Number.parseInt
Fixes for parseFloat and Number.parseFloat
Fixes for RegExp#toString
Fixes for Array#sort
Fixes for Number#toFixed
Fixes for Number#toPrecision
Additional fixes for String#split (RegExp#@@split)
Improvements :
Correct subclassing wrapped collections, Number and RegExp constructors with native class syntax
Correct support SharedArrayBuffer and buffers from other realms in typed arrays wrappers
Additional validations for Object.{defineProperty, getOwnPropertyDescriptor} and Reflect.defineProperty
Bug Fixes :
Fixed some cases Array#lastIndexOf with negative second argument
2.0.3 - 2016.01.11
Added fallback for V8 ~ Chrome 49 Promise subclassing bug causes unhandled rejection on feature detection, #159
Added fix for very specific environments with global window === null
2.0.2 - 2016.01.04
Temporarily removed length validation from Uint8Array constructor wrapper. Reason - bug in ws module (-> socket.io) which passes to Buffer constructor -> Uint8Array float and uses the V8 bug for conversion to int (by the spec should be thrown an error). It creates problems for many people. I hope, it will be returned after fixing this bug in V8.
2.0.1 - 2015.12.31
Forced usage Promise.resolve polyfill in the library version for correct work with wrapper
Object.assign should be defined in the strict mode -> throw an error on extension non-extensible objects, #154
2.0.0 - 2015.12.24
Added implementations and fixes Typed Arrays -related features
ArrayBuffer, ArrayBuffer.isView, ArrayBuffer#slice
DataView with all getter / setter methods
Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array and Float64Array constructors
%TypedArray%.{for, of}, %TypedArray%#{copyWithin, every, fill, filter, find, findIndex, forEach, indexOf, includes, join, lastIndexOf, map, reduce, reduceRight, reverse, set, slice, some, sort, subarray, values, keys, entries, @@iterator, ...}
Added System.global , proposal , November TC39 meeting
Added Error.isError , proposal , November TC39 meeting
Added Math.{iaddh, isubh, imulh, umulh} , proposal
RegExp.escape moved from the es7 to the non-standard core namespace, July TC39 meeting - too slow, but it's condition of stability, #116
Promise
Some improvements collections polyfills
O(1) and preventing possible leaks with frozen keys, #134
Correct observable state object keys
Renamed String#{padLeft, padRight} -> String#{padStart, padEnd} , proposal , November TC39 meeting (they want to rename it on each meeting?O_o), #132
Added String#{trimStart, trimEnd} as aliases for String#{trimLeft, trimRight} , proposal , November TC39 meeting
Added annex B HTML methods - ugly, but also the part of the spec
Added little fix for Date#toString - new Date(NaN).toString() should be 'Invalid Date'
Added {keys, values, entries, @@iterator} methods to DOM collections which should have iterable interface or should be inherited from Array - NodeList, DOMTokenList, MediaList, StyleSheetList, CSSRuleList.
Removed Mozilla Array generics - deprecated and will be removed from FF , looks like strawman is dead , available alternative shim
Removed core.log module
CommonJS API
Custom build from external scripts moved to the separate package for preventing problems with dependencies
Changed $ prefix for internal modules file names because Team Foundation Server does not support it, #129
Additional fix for SameValueZero in V8 ~ Chromium 39-42 collections
Additional fix for FF27 Array iterator
Removed usage shortcuts for arguments object - old WebKit bug, #150
{Map, Set}#forEach non-generic, #144
Many other improvements
1.2.6 - 2015.11.09
Reject with TypeError on attempt resolve promise itself
Correct behavior with broken Promise subclass constructors / methods
Added Promise-based fallback for microtask
Fixed V8 and FF Array#{values, @@iterator}.name
Fixed IE7- [1, 2].join(undefined) -> '1,2'
Some other fixes / improvements / optimizations
1.2.5 - 2015.11.02
Some more Number constructor fixes:
Fixed V8 ~ Node 0.8 bug: Number('+0x1') should be NaN
Fixed Number(' 0b1\n') case, should be 1
Fixed Number() case, should be 0
1.2.4 - 2015.11.01
Fixed Number('0b12') -> NaN case in the shim
Fixed V8 ~ Chromium 40- bug - Weak(Map|Set)#{delete, get, has} should not throw errors #124
Some other fixes and optimizations
1.2.3 - 2015.10.23
Fixed some problems related old V8 bug Object('a').propertyIsEnumerable(0) // => false, for example, Object.assign({}, 'qwe') from the last release
Fixed .name property and Function#toString conversion some polyfilled methods
Fixed Math.imul arity in Safari 8-
1.2.2 - 2015.10.18
Improved optimisations for V8
Fixed build process from external packages, #120
One more Object.{assign, values, entries} fix for very specific case
1.2.1 - 2015.10.02
Replaced fix JSON.stringify + Symbol behavior from .toJSON method to wrapping JSON.stringify - little more correct, compat-table/642
Fixed typo which broke tasks scheduler in WebWorkers in old FF, #114
1.2.0 - 2015.09.27
1.1.4 - 2015.09.05
1.1.3 - 2015.08.29
1.1.2 - 2015.08.28
Added toJSON method to Symbol polyfill and to MS Edge implementation for expected JSON.stringify result w/o patching this method
Replaced Reflect.construct implementations w/o correct support third argument
Fixed global detection with changed document.domain in ~IE8, #100
1.1.1 - 2015.08.20
Added more correct microtask implementation for Promise
1.1.0 - 2015.08.17
1.0.1 - 2015.07.31
Some fixes for final MS Edge, replaced broken native Reflect.defineProperty
Some minor fixes and optimizations
Changed compression client/*.min.js options for safe Function#name and Function#length, should be fixed #92
1.0.0 - 2015.07.22
Added logic for well-known symbols :
Symbol.match
Symbol.replace
Symbol.split
Symbol.search
Actualized and optimized work with iterables:
Uses enumerable properties in shimmed instances - collections, iterators, etc for optimize performance
Added support native constructors to Reflect.construct with 2 arguments
Added support native constructors to Function#bind shim with new
Removed obsolete .clear methods native Weak-collections
Maximum modularity, reduced minimal custom build size, separated into submodules:
Many other optimizations
Final cleaning non-standard features
Moved $for to separate library . This work for syntax - for-of loop and comprehensions
Moved Date#{format, formatUTC} to separate library . Standard way for this - ECMA-402
Removed Math methods from Number.prototype. Slight sugar for simple Math methods calling
Removed {Array#, Array, Dict}.turn
Removed core.global
Uses ToNumber instead of ToLength in Number Iterator , Array.from(2.5) will be [0, 1, 2] instead of [0, 1]
Fixed #85 - invalid Promise unhandled rejection message in nested setTimeout
Fixed #86 - support FF extensions
Fixed #89 - behavior Number constructor in strange case
0.9.18 - 2015.06.17
0.9.17 - 2015.06.14
0.9.16 - 2015.06.11
0.9.15 - 2015.06.09
Collections from library version return wrapped native instances
Fixed collections prototype methods in library version
Optimized Math.hypot
0.9.14 - 2015.06.04
0.9.13 - 2015.05.25
0.9.12 - 2015.05.24
Different instances core-js should use / recognize the same symbols
Some fixes
0.9.11 - 2015.05.18
Simplified custom build
Added custom build js api
Added grunt-cli to devDependencies for npm run grunt
Some fixes
0.9.10 - 2015.05.16
Wrapped Function#toString for correct work wrapped methods / constructors with methods similar to the lodash isNative
Added proto versions of methods to export object in default version for consistency with library version
0.9.9 - 2015.05.14
0.9.8 - 2015.05.12
0.9.7 - 2015.05.07
0.9.6 - 2015.05.01
0.9.5 - 2015.04.30
Added cap for Function#@@hasInstance
Some fixes and optimizations
0.9.4 - 2015.04.27
0.9.3 - 2015.04.26
Some fixes and optimizations
0.9.2 - 2015.04.25
More correct Promise unhandled rejection tracking and resolving / rejection priority
0.9.1 - 2015.04.25
Fixed __proto__-based Promise subclassing in some environments
0.9.0 - 2015.04.24
Added correct symbols descriptors
Fixed behavior Object.{assign, create, defineProperty, defineProperties, getOwnPropertyDescriptor, getOwnPropertyDescriptors} with symbols
Added single entry points for Object.{create, defineProperty, defineProperties}
Added Map#toJSON
Removed non-standard methods Object#[_] and Function#only - they solves syntax problems, but now in compilers available arrows and in near future will be available available bind syntax
Removed non-standard undocumented methods Symbol.{pure, set}
Some fixes and internal changes
0.8.4 - 2015.04.18
Uses webpack instead of browserify for browser builds - more compression-friendly result
0.8.3 - 2015.04.14
Fixed Array statics with single entry points
0.8.2 - 2015.04.13
0.8.1 - 2015.04.03
0.8.0 - 2015.04.02
0.7.2 - 2015.03.09
0.7.1 - 2015.03.07
0.7.0 - 2015.03.06
0.6.1 - 2015.02.24
0.6.0 - 2015.02.23
Added support safe closing iteration - calling iterator.return on abort iteration, if it exists
Added basic support Promise unhandled rejection tracking in shim
Added Object.getOwnPropertyDescriptors
Removed console cap - creates too many problems
Restructuring namespaces
Some fixes
0.5.4 - 2015.02.15
0.5.3 - 2015.02.14
0.5.2 - 2015.02.10
0.5.1 - 2015.02.09
0.5.0 - 2015.02.08
Systematization of modules
Splitted es6 module
Splitted console module: web.console - only cap for missing methods, core.log - bound methods & additional features
Added delay method
Some fixes
0.4.10 - 2015.01.28
0.4.9 - 2015.01.27
0.4.8 - 2015.01.25
0.4.7 - 2015.01.25
0.4.6 - 2015.01.21
0.4.5 - 2015.01.16
0.4.4 - 2015.01.11
0.4.3 - 2015.01.10
Added Function instances name property for IE9+
0.4.2 - 2015.01.10
Object static methods accept primitives
RegExp constructor can alter flags (IE9+)
Added Array.prototype[Symbol.unscopables]
0.4.1 - 2015.01.05
0.4.0 - 2015.01.03
Added es6.reflect module:
Added Reflect.apply
Added Reflect.construct
Added Reflect.defineProperty
Added Reflect.deleteProperty
Added Reflect.enumerate
Added Reflect.get
Added Reflect.getOwnPropertyDescriptor
Added Reflect.getPrototypeOf
Added Reflect.has
Added Reflect.isExtensible
Added Reflect.preventExtensions
Added Reflect.set
Added Reflect.setPrototypeOf
core-js methods now can use external Symbol.iterator polyfill
Some fixes
0.3.3 - 2014.12.28
0.3.2 - 2014.12.25
Added cap for ES5 freeze-family methods
Fixed console bug
0.3.1 - 2014.12.23
0.3.0 - 2014.12.23
0.2.5 - 2014.12.20
console no longer shortcut for console.log (compatibility problems)
Some fixes
0.2.4 - 2014.12.17
Better compliance of ES6
Added Math.fround (IE10+)
Some fixes
0.2.3 - 2014.12.15
Symbols :
Added option to disable addition setter to Object.prototype for Symbol polyfill:
Added Symbol.useSimple
Added Symbol.useSetter
Added cap for well-known Symbols:
Added Symbol.hasInstance
Added Symbol.isConcatSpreadable
Added Symbol.match
Added Symbol.replace
Added Symbol.search
Added Symbol.species
Added Symbol.split
Added Symbol.toPrimitive
Added Symbol.unscopables
0.2.2 - 2014.12.13
0.2.1 - 2014.12.12
0.2.0 - 2014.12.06
Added es7.proposals and es7.abstract-refs modules
Added String#at
Added real String Iterator , older versions used Array Iterator
Added abstract references support:
Added Symbol.referenceGet
Added Symbol.referenceSet
Added Symbol.referenceDelete
Added Function#@@referenceGet
Added Map#@@referenceGet
Added Map#@@referenceSet
Added Map#@@referenceDelete
Added WeakMap#@@referenceGet
Added WeakMap#@@referenceSet
Added WeakMap#@@referenceDelete
Added Dict.{...methods}[@@referenceGet]
Removed deprecated .contains methods
Some fixes
0.1.5 - 2014.12.01
0.1.4 - 2014.11.27
0.1.3 - 2014.11.20
0.1.2 - 2014.11.19
0.1.1 - 2014.11.18