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