CHANGELOG.md 36 KB

Changelog

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:
    • Reflect.enumerate deprecated and will be removed from the next major release, January TC39 meeting
  • 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
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
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
  • fixed RegExp constructor
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
  • fixed Symbol.keyFor
0.8.0 - 2015.04.02
0.7.2 - 2015.03.09
  • some fixes
0.7.1 - 2015.03.07
  • some fixes
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
  • some fixes
0.5.3 - 2015.02.14
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 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
  • FF20-24 fix
0.4.8 - 2015.01.25
0.4.7 - 2015.01.25
0.4.6 - 2015.01.21
0.4.5 - 2015.01.16
  • some fixes
0.4.4 - 2015.01.11
  • enabled CSP support
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
  • some fixes
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
  • some fixes
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
  • Map & Set bug fix
0.1.1 - 2014.11.18
  • public release