35 KiB
35 KiB
Changelog
2.3.0 - 2016.04.24
- Added
asapfor enqueuing microtasks, stage 0 proposal - Added well-known symbol
Symbol.asyncIteratorfor stage 2 async iteration proposal - Added well-known symbol
Symbol.observablefor stage 1 observables proposal String#{padStart, padEnd}returns original string if filler is empty string, T39 meeting notesObject.valuesandObject.entriesmoved to stage 4 from 3, T39 meeting notesSystem.globalmoved to stage 2 from 1, T39 meeting notesMap#toJSONandSet#toJSONrejected and will be removed from the next major release, T39 meeting notesError.isErrorwithdrawn and will be removed from the next major release, T39 meeting notes- Added fallback for
Function#nameon non-extensible functions and functions with brokentoStringconversion, #193
2.2.2 - 2016.04.06
- Added conversion
-0to+0toArray#{indexOf, lastIndexOf}, ES2016 fix - Added fixes for some
Mathmethods 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
@@toPrimitivemethods toDateandSymbol - Fixed
%TypedArray%#slicein Edge ~ 13 (throws with@@speciesand 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#toJSONbug in Qt Script, #173
2.1.4 - 2016.03.08
- Added fallback for
Symbolpolyfill in Qt Script, #173 - Added one more fallback for IE11
Script Access Deniederror with iframes, #165
2.1.3 - 2016.02.29
- Added fallback for
es6-promisepackage bug, #176
2.1.2 - 2016.02.29
- Some minor
Promisefixes:- Browsers
rejectionhandledevent better HTML spec complaint - Errors in unhandled rejection handlers should not cause any problems
- Fixed typo in feature detection
- Browsers
2.1.1 - 2016.02.22
- Some
Promiseimprovements:- Feature detection:
- Added detection unhandled rejection tracking support - now it's available everywhere, #140
- Added detection
@@speciespattern support for completely correct subclassing - Removed usage
Object.setPrototypeOffrom feature detection and noisy console message about it in FF
Promise.allfixed for some very specific cases
- Feature detection:
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:
Objectstatics - should accept primitives, new whitespaces lists inString#trim,parse(Int|float),RegExp#toStringlogic,String#split, etc - Should be changed in the future:
@@speciesandToLengthlogic inArraymethods,Dateparsing,Function#bind, etc - Should not be changed only several features like
Array.isArrayandDate.now
- Already added changes for:
- Some ES5 polyfills required for modern engines
- Mainly, for prevent duplication features in different namespaces - logic of most required ES5 polyfills changed in ES6+:
- All old entry points should work fine, but in the next major release API can be changed
- All entry point works in ES3 environment like IE8- without
Object.getOwnPropertyDescriptorsmoved to the stage 3, January TC39 meeting- Added
umdoption for custom build process, #169 - Returned entry points for
Arraystatics, removed in2.0, for compatibility withbabel6and for future fixes
- ES5 polyfills are split and logic, used in other polyfills, moved to internal modules
- Deprecated:
Reflect.enumeratedeprecated and will be removed from the next major release, January TC39 meeting
- New Features:
- Added
Reflectmetadata API as a pre-strawman feature, #152:Reflect.defineMetadataReflect.deleteMetadataReflect.getMetadataReflect.getMetadataKeysReflect.getOwnMetadataReflect.getOwnMetadataKeysReflect.hasMetadataReflect.hasOwnMetadataReflect.metadata
- Implementation / fixes
Date#toJSON - Fixes for
parseIntandNumber.parseInt - Fixes for
parseFloatandNumber.parseFloat - Fixes for
RegExp#toString - Fixes for
Array#sort - Fixes for
Number#toFixed - Fixes for
Number#toPrecision - Additional fixes for
String#split(RegExp#@@split)
- Added
- Improvements:
- Correct subclassing wrapped collections,
NumberandRegExpconstructors with native class syntax - Correct support
SharedArrayBufferand buffers from other realms in typed arrays wrappers - Additional validations for
Object.{defineProperty, getOwnPropertyDescriptor}andReflect.defineProperty
- Correct subclassing wrapped collections,
- Bug Fixes:
- Fixed some cases
Array#lastIndexOfwith negative second argument
- Fixed some cases
2.0.3 - 2016.01.11
- Added fallback for V8 ~ Chrome 49
Promisesubclassing 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
lengthvalidation fromUint8Arrayconstructor wrapper. Reason - bug inwsmodule (->socket.io) which passes toBufferconstructor ->Uint8Arrayfloat and uses theV8bug 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 inV8.
2.0.1 - 2015.12.31
- forced usage
Promise.resolvepolyfill in thelibraryversion for correct work with wrapper Object.assignshould 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#sliceDataViewwith all getter / setter methodsInt8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32ArrayandFloat64Arrayconstructors%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.escapemoved from thees7to the non-standardcorenamespace, July TC39 meeting - too slow, but it's condition of stability, #116Promise- some performance optimisations
- added basic support
rejectionHandledevent /onrejectionhandledhandler to the polyfill - removed usage
@@speciesfromPromise.{all, race}, November TC39 meeting
- 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 forString#{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 fromArray-NodeList,DOMTokenList,MediaList,StyleSheetList,CSSRuleList. - removed Mozilla
Arraygenerics - deprecated and will be removed from FF, looks like strawman is dead, available alternative shim - removed
core.logmodule - CommonJS API
- added entry points for virtual methods
- added entry points for stages proposals
- some other minor changes
- 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
SameValueZeroin V8 ~ Chromium 39-42 collections - additional fix for FF27
Arrayiterator - removed usage shortcuts for
argumentsobject - old WebKit bug, #150 {Map, Set}#forEachnon-generic, #144- many other improvements
1.2.6 - 2015.11.09
- reject with
TypeErroron attempt resolve promise itself - correct behavior with broken
Promisesubclass 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
Numberconstructor fixes:- fixed V8 ~ Node 0.8 bug:
Number('+0x1')should beNaN - fixed
Number(' 0b1\n')case, should be1 - fixed
Number()case, should be0
- fixed V8 ~ Node 0.8 bug:
1.2.4 - 2015.11.01
- fixed
Number('0b12') -> NaNcase 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
.nameproperty andFunction#toStringconversion some polyfilled methods - fixed
Math.imularity 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+Symbolbehavior from.toJSONmethod to wrappingJSON.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
- added browser
Promiserejection hook, #106 - added correct
IsRegExplogic toString#{includes, startsWith, endsWith}andRegExpconstructor,@@matchcase, example - updated
String#leftPadwith proposal: string filler truncated from the right side - replaced V8
Object.assign- its properties order not only incorrect, it is non-deterministic and it causes some problems - fixed behavior with deleted in getters properties for
Object.{assign,entries, values}, example - fixed
Math.sinhwith very small numbers in V8 near Chromium 38 - some other fixes and optimizations
1.1.4 - 2015.09.05
- fixed support symbols in FF34-35
Object.assign - fixed collections iterators in FF25-26
- fixed non-generic WebKit
Array.of - some other fixes and optimizations
1.1.3 - 2015.08.29
1.1.2 - 2015.08.28
- added
toJSONmethod toSymbolpolyfill and to MS Edge implementation for expectedJSON.stringifyresult w/o patching this method - replaced
Reflect.constructimplementations w/o correct support third argument - fixed
globaldetection with changeddocument.domainin ~IE8, #100
1.1.1 - 2015.08.20
- added more correct microtask implementation for
Promise
1.1.0 - 2015.08.17
- updated string padding to actual proposal - renamed, minor internal changes:
String#lpad->String#padLeftString#rpad->String#padRight
- added string trim functions - proposal, defacto standard - required only for IE11- and fixed for some old engines:
String#trimLeftString#trimRight
String#trimfixed for some engines by es6 spec and moved fromes5to singlees6module- splitted
es6.object.statics-accept-primitives - caps for
freeze-familyObjectmethods moved fromes5toes6namespace and joined with es6 wrappers es5namespace also includes modules, moved toes6namespace - you can use it as before- increased
MessageChannelpriority in$.task, #95 - does not get
global.Symbolon each getting iterator, if you wanna use alternativeSymbolshim - add it beforecore-js Reflect.constructoptimized and fixed for some cases- simplified
Reflect.enumerate, see this question - some corrections in
Math.acosh - fixed
Math.imulfor old WebKit - some fixes in string / RegExp well-known symbols logic
- some other fixes and optimizations
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.jsoptions for safeFunction#nameandFunction#length, should be fixed #92
1.0.0 - 2015.07.22
- added logic for well-known symbols:
Symbol.matchSymbol.replaceSymbol.splitSymbol.search
- actualized and optimized work with iterables:
- optimized
Map,Set,WeakMap,WeakSetconstructors,Promise.all,Promise.racefor defaultArray Iterator - optimized
Array.fromfor defaultArray Iterator - added
core.getIteratorMethodhelper
- optimized
- uses enumerable properties in shimmed instances - collections, iterators, etc for optimize performance
- added support native constructors to
Reflect.constructwith 2 arguments - added support native constructors to
Function#bindshim withnew - removed obsolete
.clearmethods nativeWeak-collections - maximum modularity, reduced minimal custom build size, separated into submodules:
es6.reflectes6.regexpes6.mathes6.numberes7.object.to-arraycore.objectcore.stringcore.iter-helpers- internal modules (
$,$.iter, etc)
- many other optimizations
- final cleaning non-standard features
- moved
$forto separate library. This work for syntax -for-ofloop and comprehensions - moved
Date#{format, formatUTC}to separate library. Standard way for this -ECMA-402 - removed
Mathmethods fromNumber.prototype. Slight sugar for simpleMathmethods calling - removed
{Array#, Array, Dict}.turn - removed
core.global
- moved
- uses
ToNumberinstead ofToLengthinNumber Iterator,Array.from(2.5)will be[0, 1, 2]instead of[0, 1] - fixed #85 - invalid
Promiseunhandled rejection message in nestedsetTimeout - fixed #86 - support FF extensions
- fixed #89 - behavior
Numberconstructor in strange case
0.9.18 - 2015.06.17
- removed
/fromRegExp.escapeescaped characters
0.9.17 - 2015.06.14
- updated
RegExp.escapeto the latest proposal - fixed conflict with webpack dev server + IE buggy behavior
0.9.16 - 2015.06.11
- more correct order resolving thenable in
Promisepolyfill - uses polyfill instead of buggy V8
Promise
0.9.15 - 2015.06.09
- collections from
libraryversion return wrapped native instances - fixed collections prototype methods in
libraryversion - optimized
Math.hypot
0.9.14 - 2015.06.04
- updated
Promise.resolvebehavior - added fallback for IE11 buggy
Object.getOwnPropertyNames+ iframe - some other fixes
0.9.13 - 2015.05.25
- added fallback for
Symbolpolyfill for old Android - some other fixes
0.9.12 - 2015.05.24
- different instances
core-jsshould use / recognize the same symbols - some fixes
0.9.11 - 2015.05.18
- simplified custom build
- add custom build js api
- added
grunt-clitodevDependenciesfornpm run grunt
- some fixes
0.9.10 - 2015.05.16
- wrapped
Function#toStringfor correct work wrapped methods / constructors with methods similar to thelodashisNative - added proto versions of methods to export object in
defaultversion for consistency withlibraryversion
0.9.9 - 2015.05.14
- wrapped
Object#propertyIsEnumerableforSymbolpolyfill - added proto versions of methods to
libraryfor ES7 bind syntax - some other fixes
0.9.8 - 2015.05.12
- fixed
Math.hypotwith negative arguments - added
Object#toString.toStringas fallback forlodashisNative
0.9.7 - 2015.05.07
- added support DOM collections to IE8-
Array#slice
0.9.6 - 2015.05.01
- added
String#lpad,String#rpad
0.9.5 - 2015.04.30
- added cap for
Function#@@hasInstance - some fixes and optimizations
0.9.4 - 2015.04.27
- fixed
RegExpconstructor
0.9.3 - 2015.04.26
- some fixes and optimizations
0.9.2 - 2015.04.25
- more correct
Promiseunhandled rejection tracking and resolving / rejection priority
0.9.1 - 2015.04.25
- fixed
__proto__-basedPromisesubclassing 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}
- fixed behavior
- added
Map#toJSON - removed non-standard methods
Object#[_]andFunction#only- they solves syntax problems, but now in compilers available arrows andin near future will be availableavailable bind syntax - removed non-standard undocumented methods
Symbol.{pure, set} - some fixes and internal changes
0.8.4 - 2015.04.18
- uses
webpackinstead ofbrowserifyfor browser builds - more compression-friendly result
0.8.3 - 2015.04.14
- fixed
Arraystatics with single entry points
0.8.2 - 2015.04.13
Math.froundnow also works in IE9-- added
Set#toJSON - some optimizations and fixes
0.8.1 - 2015.04.03
- fixed
Symbol.keyFor
0.8.0 - 2015.04.02
- changed CommonJS API
- splitted and renamed some modules
- added support ES3 environment (ES5 polyfill) to all default versions - size increases slightly (+ ~4kb w/o gzip), many issues disappear, if you don't need it - simply include only required namespaces / features / modules
- removed abstract references support - proposal has been superseded =\
$for.isIterable->core.isIterable,$for.getIterator->core.getIterator, temporary available in old namespace- fixed iterators support in v8
Promise.allandPromise.race - many other fixes
0.7.2 - 2015.03.09
- some fixes
0.7.1 - 2015.03.07
- some fixes
0.7.0 - 2015.03.06
- rewritten and splitted into CommonJS modules
0.6.1 - 2015.02.24
- fixed support
Object.definePropertywith accessors on DOM elements on IE8
0.6.0 - 2015.02.23
- added support safe closing iteration - calling
iterator.returnon abort iteration, if it exists - added basic support
Promiseunhandled rejection tracking in shim - added
Object.getOwnPropertyDescriptors - removed
consolecap - creates too many problems - restructuring namespaces
- some fixes
0.5.4 - 2015.02.15
- some fixes
0.5.3 - 2015.02.14
- added support binary and octal literals to
Numberconstructor - added
Date#toISOString
0.5.2 - 2015.02.10
- some fixes
0.5.1 - 2015.02.09
- some fixes
0.5.0 - 2015.02.08
- systematization of modules
- splitted
es6module - splitted
consolemodule:web.console- only cap for missing methods,core.log- bound methods & additional features - added
delaymethod - some fixes
0.4.10 - 2015.01.28
Object.getOwnPropertySymbolspolyfill returns array of wrapped keys
0.4.9 - 2015.01.27
- FF20-24 fix
0.4.8 - 2015.01.25
- some collections fixes
0.4.7 - 2015.01.25
- added support frozen objects as collections keys
0.4.6 - 2015.01.21
- added
Object.getOwnPropertySymbols - added
NodeList.prototype[@@iterator] - added basic
@@specieslogic - getter in native constructors - removed
Function#by - some fixes
0.4.5 - 2015.01.16
- some fixes
0.4.4 - 2015.01.11
- enabled CSP support
0.4.3 - 2015.01.10
- added
Functioninstancesnameproperty for IE9+
0.4.2 - 2015.01.10
Objectstatic methods accept primitivesRegExpconstructor can alter flags (IE9+)- added
Array.prototype[Symbol.unscopables]
0.4.1 - 2015.01.05
- some fixes
0.4.0 - 2015.01.03
- added
es6.reflectmodule:- 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
- added
core-jsmethods now can use externalSymbol.iteratorpolyfill- some fixes
0.3.3 - 2014.12.28
- console cap excluded from node.js default builds
0.3.2 - 2014.12.25
- added cap for ES5 freeze-family methods
- fixed
consolebug
0.3.1 - 2014.12.23
- some fixes
0.3.0 - 2014.12.23
- Optimize
Map&Set:- use entries chain on hash table
- fast & correct iteration
- iterators moved to
es6andes6.collectionsmodules
0.2.5 - 2014.12.20
consoleno longer shortcut forconsole.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.prototypefor Symbol polyfill:- added
Symbol.useSimple - added
Symbol.useSetter
- added
- 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
- added
- added option to disable addition setter to
0.2.2 - 2014.12.13
- added
RegExp#flags(December 2014 Draft Rev 29) - added
String.raw
0.2.1 - 2014.12.12
- repair converting -0 to +0 in native collections
0.2.0 - 2014.12.06
- added
es7.proposalsandes7.abstract-refsmodules - 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]
- added
- removed deprecated
.containsmethods - some fixes
0.1.5 - 2014.12.01
- added
Array#copyWithin - added
String#codePointAt - added
String.fromCodePoint
0.1.4 - 2014.11.27
- added
Dict.mapPairs
0.1.3 - 2014.11.20
- TC39 November meeting:
.contains->.includesString#contains->String#includesArray#contains->Array#includesDict.contains->Dict.includes
- removed
WeakMap#clear - removed
WeakSet#clear
0.1.2 - 2014.11.19
Map&Setbug fix
0.1.1 - 2014.11.18
- public release