This website works better with JavaScript
Changelog
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