1 | # es6-shim 0.35.8 (23 March 2023)
|
2 | * [Fix] `RegExp#toString`: should not have an object `.prototype`
|
3 | * [Refactor] minimize dynamic lookups of `__proto__`
|
4 | * [Dev Deps] update `@ljharb/eslint-config`, `tape`
|
5 |
|
6 | # es6-shim 0.35.7 (24 December 2022)
|
7 | * [Fix] in WSH, `Object.getPrototypeOf([].values())` is falsy (#466)
|
8 | * [Refactor] remove unused `ES.IsIterable` function
|
9 | * [patch] make iterator bookkeeping properties non-enumerable when possible
|
10 | * [readme] updating standalone shim links
|
11 | * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `es5-shim`, `safe-publish-latest`, `tape`
|
12 | * [actions] update codecov uploader
|
13 | * [actions] add Automatic Rebase and Require Allow Edits workflows
|
14 | * [Tests] migrate tests to Github Actions (#469)
|
15 | * [Tests] disable crashing on unhandled rejections in node >= 15
|
16 | * [Tests] use `nyc`
|
17 | * [actions] reuse common workflows
|
18 | * [eslint] fix `operator-linebreak`
|
19 | * [eslint] fix warnings
|
20 | * [Tests] add more error message variations
|
21 | * [Tests] disable unhandled rejection warnings
|
22 |
|
23 | # es6-shim 0.35.6 (14 October 2020)
|
24 | * [Fix] `Math.hypot`: fix a bug in node v12.11 - v12.15
|
25 | * [Fix] internal `ToString` operation should throw on Symbols
|
26 | * [Robustness] call-bind `Array.prototype.join`
|
27 | * [Refactor] `String.raw`: match latest spec
|
28 | * [Refactor] address unused function args
|
29 | * [readme] updating standalone shim links
|
30 | * [Meta] Make LICENSE parseable by GitHub.
|
31 | * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `es5-shim`, `safe-publish-latest`, `evalmd`
|
32 | * [Tests] use shared travis-ci configs
|
33 | * [Tests] only run prepublish when in publish
|
34 | * [Tests] add `aud` in `npm run posttest`
|
35 | * [Tests] add failing tests from https://github.com/tc39/test262/pull/2443
|
36 | * [Tests] fix error message tests for Safari 12
|
37 | * [Tests] fix sham function name tests
|
38 |
|
39 | # es6-shim 0.35.5 (7 March 2019)
|
40 | * [Fix] `es6-sham`: `Function.prototype.name`: don’t poison the getter when the receiver is `Function.prototype` (#454)
|
41 | * [Dev Deps] update `eslint`, `@ljharb/eslint-config`
|
42 | * [Dev Deps] remove `jscs` and `jshint`
|
43 |
|
44 | # es6-shim 0.35.4 (29 October 2018)
|
45 | * [Fix] protect against evil build processes by ensuring these feature tests don‘t look like no-ops that are safe to remove
|
46 | * [Fix] broken `hasULPDistance` → working `withinULPDistance` helper
|
47 | * [Fix] `acosh`: fix precision (#338)
|
48 | * [Fix] `Math.{asinh,atanh,cosh,sinh}` precision (from #338)
|
49 | * [Fix] Google Translate adds a broken `Set` to the global scope (#438)
|
50 | * [Fix] Distinguish Set and Map iterators (#387)
|
51 | * [Docs] Tweaking documentation specifying inclusion order (#435)
|
52 |
|
53 | # es6-shim 0.35.3 (23 January 2017)
|
54 | * [Fix] avoid needlessly shimming `Array#{find, findIndex}` (#433)
|
55 | * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `grunt-saucelabs`
|
56 | * [Tests] up to `node` `v7.4`, `v4.7`; improve test matrix
|
57 |
|
58 | # es6-shim 0.35.2 (3 December 2016)
|
59 | * [Fix] ensure `document.all` is not treated as a non-object-coercible (#428)
|
60 | * [Performance] Use original map for data backing when possible (#429, #422)
|
61 | * [Dev Deps] update `es5-shim`, `eslint`, `@ljharb/eslint-config`, `jscs`, `jshint`, `mocha`, `promises-plus-tests`, `uglify-js`
|
62 | * [Tests] up to `node` `v7.2`, `v5.12`, `v4.6`; improve test matrix
|
63 | * [Tests] avoid function name inference in node 7+
|
64 | * [Tests] add Firefox Nightly error messages to fix false failure
|
65 |
|
66 | # es6-shim 0.35.1 (12 May 2016)
|
67 | * [Fix] Functions are objects (#418)
|
68 | * [Fix] use `createDataPropertyOrThrow` in `Array.from`, rather than `[[Put]]` (#415)
|
69 | * [Refactor] Use `iteratorResult` internally for iterator result objects
|
70 | * [Refactor] Simplify logic for Math.tanh (#412)
|
71 | * [Robustness] cache `Math` constants
|
72 | * [Robustness] cache `Math.exp`
|
73 | * [Robustness] don’t rely on a `Math` lookup inside `Math.asinh`
|
74 | * [Robustness] use cached `Number.isNaN`
|
75 | * [Robustness] cache `Math.sign`
|
76 | * [Dev Deps] update `es5-shim`, `eslint`, `@ljharb/eslint-config`, `jscs`, `uglify-js`, `grunt-contrib-connect`, `grunt-contrib-watch`, `evalmd`, `jshint`
|
77 | * [Tests] up to `node` `v6.1`, `v5.10`, `v4.4`
|
78 | * [Tests] `npm run --silent`, use “pretest” for linting
|
79 | * [Tests] `RegExp#toString`: Chrome Canary 51 produces `/undefined/`
|
80 | * [Docs] update ES6 draft comment URLs to point to the published spec
|
81 |
|
82 | # es6-shim 0.35.0 (29 Feb 2016)
|
83 | * [Breaking] remove `Reflect.enumerate` (#405)
|
84 | * [New] Add `Array#indexOf` from post-ES6 errata
|
85 | * [New] Ensure `RegExp#toString` is compliant
|
86 | * [New] [sham] Add `Function#toString` to `es6-sham`
|
87 | * [Fix] ensure that a non-object `globals.Reflect` doesn’t break the shim (#392)
|
88 | * [Fix] In ES3 browsers (like Safari 4) `Reflect.getPrototypeOf` is undefined
|
89 | * [Fix] `Object.keys`: handle regexes in ES3 browsers (#287)
|
90 | * [Performance] Early exit from tanh for values outside of +-20 at limits of JS precision (#411)
|
91 | * [Tests] `Function#name` on `new Function`s is empty string in v8
|
92 | * [Tests] `Function#name` is non-configurable pre-ES6
|
93 | * [Tests] up to `node` `v5.7`, `v4.3`
|
94 | * [Docs] correct readme; we sham Function#name, not toString
|
95 |
|
96 | # es6-shim 0.34.4 (9 Feb 2016)
|
97 | * [Fix] 'Uncaught (in promise) TypeError' in Chrome 48 (#408, #407)
|
98 | * [Fix] handle the obscure case where `startsWith` throws on the second parameter (#399)
|
99 | * [Tests] silence a promise rejection error in Chrome
|
100 |
|
101 | # es6-shim 0.34.3 (8 Feb 2016)
|
102 | * [Fix] Suppress “uncaught rejection” warnings in Chrome 50 console (#403)
|
103 | * [Fix] ensure ES3 `Number` constants don’t get lost in ES3 browsers (#402)
|
104 | * [Dev Deps] update `chai`, `es5-shim`, `jscs`, `mocha`
|
105 | * [Tests] up to `node` `v5.5`
|
106 |
|
107 | # es6-shim 0.34.2 (22 Jan 2016)
|
108 | * [Fix] `JSON.stringify` should ignore a replacer arg unless it’s an array or function.
|
109 | * [Fix] `Array#copyWithin`: check for inherited properties as well
|
110 | * [Fix] `Array#copyWithin`: should delete the target key if the source key is not present
|
111 | * [Performance] Optimize Map/Set fast key path (#397)
|
112 | * [Tests] fix `Reflect.enumerate` tests to not call `next` too many times
|
113 | * [Dev Deps] update `jscs`, `jshint`
|
114 | * [Docs] update license year to 2016 (#400)
|
115 |
|
116 | # es6-shim 0.34.1 (5 Jan 2016)
|
117 | * [Fix] `RegExp#[Symbol.search]` was broken with a regex argument (#394)
|
118 | * [Fix] ensure that Set#clear works with both primitive and object values
|
119 | * [Fix] static Promise methods have the wrong length in Firefox
|
120 | * [Robustness] Cache `Object.keys`
|
121 | * [Performance] Avoid accessing arguments array without length check
|
122 | * [Performance] Optimize ES.TypeIsObject (#388)
|
123 | * [Performance] Promises: lots of improvements (#383)
|
124 | * [Performance] Only use slow implementation of IsCallable where necessary (old browsers)
|
125 | * [Performance] Promises: remove unnecessary `.bind` on `setImmediate`
|
126 | * [Refactor] extract “decode fast Map key” logic
|
127 | * [Dev Deps] update `s5-shim`, `@ljharb/eslint-config`
|
128 | * Don’t npmignore tests
|
129 | * [Tests] Fix a bug with “deep equal” wrt NaN
|
130 | * [Tests] split up Map and Set test files
|
131 | * [Tests] up to `node` `v5.3`
|
132 |
|
133 | # es6-shim 0.34.0 (14 Dec 2015)
|
134 | * [Breaking] Remove `Symbol.species` from `Promise.all` and `Promise.race` (#34)
|
135 | * [Fix] Firefox has enumerable Promise static methods
|
136 | * [Fix] prevent crashes in older Firefox when checking if Array methods ToLength correctly
|
137 | * [Fix] `Reflect.enumerate`: ensure correct property ordering in Firefox 19 (and likely others)
|
138 | * [Fix] Ensure that `toLengthsCorrectly` returns `true` when it passes, instead of `undefined`
|
139 | * [Fix] Don't call `Reflect.construct` unless it's actually present
|
140 | * [Fix] Ensure `Map` and `Set` do not have an own `constructor` property (#368)
|
141 | * [Fix] Add missing checks to Promise.resolve and Promise.reject (#379)
|
142 | * [Fix] `Map`: older v8s have a SameValueZero bug when a Map has a size > 4 (#378)
|
143 | * [Fix] `Map`: when provided with an iterable that yields non-Object values, should throw
|
144 | * [Fix] `Promise`: Make sure to shim broken implementations in Chrome 49 Canary
|
145 | * [Fix] `Promise`: Chrome does not retrieve a thenable's .then synchronously (#372)
|
146 | * [New] Add `RegExp.prototype[Symbol.{match,search,split,replace}]`
|
147 | * [New] support `Symbol.match` in `RegExp` constructor
|
148 | * [New] add `Symbol.match` and ensure `String#{match, startsWith, endsWith, includes}` support it
|
149 | * [New] add `Symbol.split` and ensure `String#split` supports it
|
150 | * [New] add `Symbol.replace` and ensure `String#replace` supports it
|
151 | * [New] add `Symbol.search` and ensure `String#search` supports it
|
152 | * [Robustness] Add and use `ES.ToString` so as not to rely on the global `String`
|
153 | * [Dev Deps] update `eslint`, `jscs`, `mocha`, `uglify-js`, `es5-shim`, `grunt-saucelabs`
|
154 | * [Tests] bailing out of some tests when the feature isn't present, to clean up native test failure output
|
155 | * [Tests] up to `node` `v5.2`
|
156 | * [Tests] fix `npm run test:native`
|
157 | * [Tests] Ensure `Promise.{reject,resolve}` throws when the receiver is a primitive (#379)
|
158 | * [Tests] Further ensure that Promise.resolve/reject work with a non-promise receiver (#379)
|
159 | * [Docs] update README URLs (#375)
|
160 | * [Docs] fix some typos (#380)
|
161 |
|
162 | # es6-shim 0.33.13 (12 Nov 2015)
|
163 | * [Fix] `Number`: when no arguments are passed, return `+0`.
|
164 | * [Fix] `Number`: Make sure string values are trimmed before attempting to parse.
|
165 | * [Tests] cleaning up `Number` tests)
|
166 | * [Dev Deps] update `uglify-js`
|
167 |
|
168 | # es6-shim 0.33.12 (11 Nov 2015)
|
169 | * [Fix] IE 8: more NFE madness.
|
170 | * [Dev Deps] update `es5-shim`
|
171 | * [Docs] removing now-fixed `Number` caveat
|
172 | * [Docs] use assertions so `evalmd` will test the readme better.
|
173 | * [Docs] fix incorrect isFinite note (#373)
|
174 |
|
175 | # es6-shim 0.33.11 (9 Nov 2015)
|
176 | * [Fix] handle future change of RegExp.prototype not being a regex (#370, #371)
|
177 | * [Fix] disallow invalid hex strings in `Number` (#369)
|
178 | * [Tests] Tweak "polluted prototype" approach
|
179 | * [Dev Deps] update `chai`, `es5-shim`, `eslint`, `@ljharb/eslint-config`, `jscs`
|
180 |
|
181 | # es6-shim 0.33.10 (2 Nov 2015)
|
182 | * [Fix] the `Number` constructor properly trims (or not) whitespace characters (#368)
|
183 | * [Fix] `Number('0b12')` and `Number('0o18')` should both be `NaN` (#366)
|
184 | * [Tests] Fix npm upgrades in older nodes
|
185 | * [Tests] add `npm run tests-only`
|
186 | * [Tests] on `node` `v5.0`
|
187 | * [Tests] ensure `JSON.stringify` has the right name
|
188 | * [Tests] add `npm run eslint`
|
189 | * [Dev Deps] update `es5-shim`, `jscs`
|
190 | * [Cleanup] Rearrange things so that they’re defined before they’re used
|
191 | * [Cleanup] Don't reassign to function or catch parameters
|
192 | * [Cleanup] Remove unused variables
|
193 | * [Refactor] String#trim shim should use `defineProperty`, and check more non-whitespace chars
|
194 |
|
195 | # es6-shim 0.33.9 (29 Oct 2015)
|
196 | * [Fix] IE 8: `Number(new Number(1))` was throwing. More NFE madness. (#365)
|
197 |
|
198 | # es6-shim 0.33.8 (23 Oct 2015)
|
199 | * [Fix] IE 8: `Promise.resolve(2)` was throwing. More named function expression madness.
|
200 | * [Tests] Reflect: Don't attempt to define properties on this test object unless we're in true ES5.
|
201 |
|
202 | # es6-shim 0.33.7 (23 Oct 2015)
|
203 | * [Fix] Ensure `preserveToString` does not throw when the original does not exist (#359)
|
204 | * [Fix] `Promise`: properly handle named function expressions in IE 8.
|
205 | * [Fix] `Number`: `wrapConstructor` now works in ES3 (#365)
|
206 | * [Docs] Document `Number` supporting string binary and octal literals.
|
207 | * [Tests] add commented-out test for `typeof Number.call(Object(3), 3) === 'number'`, which fails atm.
|
208 | * [Tests] Fix browser tests sans-`npm install`
|
209 | * [Dev Deps] update `es5-shim`, `jscs`, `uglify-js`, `chai`
|
210 |
|
211 | # es6-shim 0.33.6 (29 Sep 2015)
|
212 | * [Fix] In IE 6-8, of course, `typeof setTimeout` is "object"
|
213 | * [Tests] Upgrade jQuery on the test HTML pages
|
214 |
|
215 | # es6-shim 0.33.5 (28 Sep 2015)
|
216 | * [Fix] IE 6-8 have wacky scoping issues with named function expressions.
|
217 | * [Fix] Apparently in IE 8, RegExp#test is an own property of regexes, not a prototype method
|
218 | * [Fix] Make sure to treat `es5-sham`'s `Object.defineProperty` as unsupported, in IE 8
|
219 |
|
220 | # es6-shim 0.33.4 (27 Sep 2015)
|
221 | * [Fix] Add test, and fix, for `JSON.stringify(Object(Symbol()))` throwing on Chrome 45
|
222 | * [Fix] Wrap `JSON.stringify` when `Symbol` exists and it fails to serialize them correctly
|
223 | * [Fix] fix `Reflect.defineProperty` on edge v0.12
|
224 | * [Robustness] Cache `Array.isArray` internally
|
225 | * [Refactor] Use internal `overrideNative` helper for String.prototype HTML methods
|
226 | * [Refactor] Update `is-arguments` implementation; don't call down legacy code path in modern engines
|
227 | * [Tests] Add `evalmd` to verify that example code blocks are valid
|
228 | * [Tests] Adding a test for Safari 7.1 and later (runtime check added in 8a8ddd36186cdc1fcb3fcc259ec9ecef1e141901)
|
229 | * [Tests] Add additional `JSON.stringify` test for `Symbol` and object `Symbol` values
|
230 | * [Tests] up to `io.js` `v3.3`, `node` `v4.1`
|
231 | * [Dev Deps] update `es5-shim`, `mocha`, `chai`
|
232 |
|
233 | # es6-shim 0.33.3 (31 Aug 2015)
|
234 | * [Fix] Handle Firefox Nightly's broken `construct` method
|
235 | * [Tests] Add `JSON.stringify` tests for handling `Symbol`s
|
236 |
|
237 | # es6-shim 0.33.2 (26 Aug 2015)
|
238 | * [Fix] Make sure that minified code preserves function names.
|
239 | * [Fix] Skip the `Promise` shim when `setTimeout` is not available ([#301](https://github.com/paulmillr/es6-shim/issues/301#issuecomment-126566703))
|
240 | * [Docs] Add note about `setPrototypeOf` on null objects
|
241 |
|
242 | # es6-shim 0.33.1 (20 Aug 2015)
|
243 | * [New] Add support for binary and octal literals in strings to the `Number` constructor (#358)
|
244 | * [Docs] Update spec link to final spec
|
245 | * [Fix] `Reflect.enumerate`: does not necessarily wait until the first `next()` to determine keys.
|
246 | * [Refactors] split up some tests; name some functions; remove unnecessary code
|
247 | * {Refactors] make ObjectIterator properties non-enumerable
|
248 | * [Refactors] Refactor `RegExp` wrapping code so most of it can be reused.
|
249 | * [Tests] up to `io.js` `v3.1`
|
250 | * [Dev Deps] update `grunt-contrib-connect`, `jscs`
|
251 |
|
252 | # es6-shim 0.33.0 (30 Jul 2015)
|
253 | * [Breaking] Avoid CSP errors in Chrome apps by using global var detection (#301)
|
254 | * [Performance] Rearranging some of the Map/Set runtime shim clobberings to be more efficient.
|
255 | * [Refactor] Implement `Array.of` directly, rather than in terms of `Array.from`
|
256 | * [Dev Deps] Update `chai`, `es5-shim`, `promises-aplus-tests`, `uglify-js`
|
257 | * [Tests] Add test for `Object.getPrototypeOf` accepting primitives.
|
258 | * [Tests] Bail out of individual `Reflect` tests when the methods don’t exist
|
259 | * [Tests] Test on latest `io.js`
|
260 |
|
261 | # es6-shim 0.32.3 (21 Jun 2015)
|
262 | * [Fix] Override or wrap native `Reflect` methods in Microsoft Edge v0.11 as required.
|
263 | * [Fix] Edge v0.11: `Array.from([], undefined)` should not throw
|
264 | * [Fix] Fix a bug in `Array.from handles iterables` runtime clobbering, which would always replace the native function
|
265 | * [Fix] Ensure that `Set#has` has the correct name in Edge v0.11
|
266 | * [Tests] Add `Map`/`Set` error messages for Edge v0.11
|
267 | * [Tests] Fix `Math.fround` test value for Edge v0.11
|
268 | * [Tests] Bail out of `Map`/`Set` test blocks if they don't exist
|
269 | * [Docs] Update ES5 subclassing instructions in the README.
|
270 | * [Dev Deps] Update `es5-shim`
|
271 |
|
272 | # es6-shim 0.32.2 (17 Jun 2015)
|
273 | * [Fix] `Object.assign` with no sources should coerce to an object (#348)
|
274 | * [Fix] `String#includes` should throw when given a `RegExp` (#349)
|
275 | * [Fix] `RegExp()` should not throw (#350)
|
276 | * [Fix] Create `Value.defineByDescriptor`, fix `create` when `Object.create` is unavailable.
|
277 | * [Compliance] Update `Promise.reject` to match official ECMA-262 spec.
|
278 | * [Dev Deps] Update `es5-shim`
|
279 |
|
280 | # es6-shim 0.32.1 (13 Jun 2015)
|
281 | * [Fix] Make sure that all `Map`/`Set` shim forms properly add an iterable to the collection instance.
|
282 | * [Tests] Make sure none of the `Array` ToLength tests throw *any* error (#347)
|
283 |
|
284 | # es6-shim 0.32.0 (7 Jun 2015)
|
285 | * [Spec compliance] Update Promises to match finalized ES6 spec (#345, #344, #239)
|
286 | * [Fix] Ensure `Map`, `Set`, and `Promise` shims all throw when used without "new".
|
287 | * [Tests] Fix the pending exceptions test for Safari 5.1
|
288 | * [Refactor] Since the String HTML shims will be iterated anyways, no need to defineProperties them twice.
|
289 | * [Deps] Update `chai`, `es5-shim`
|
290 |
|
291 | # es6-shim 0.31.3 (2 Jun 2015)
|
292 | * [Fix] Properly name more shim functions
|
293 | * [Fix] Fix an IE bug where the layout engine internally calls the userland `Object.getOwnPropertyNames`
|
294 | * [Fix] Ensure `Map.prototype[Symbol.iterator] === Map.prototype.entries`
|
295 | * [Fix] Ensure `Set.prototype[Symbol.iterator] === Set.prototype.values`
|
296 | * [Tests] `Object.assign` pending exceptions: IE 9 `preventExtensions` doesn't throw, even in strict mode
|
297 | * [Security] Cache more native methods in case they're overwritten later
|
298 | * [Tests] IE 11 has native `Map`/`Set`, but it takes an optional *function*, not an optional iterable, in the constructor
|
299 | * [Tests] Add more "exists" early bailouts, to declutter native test results
|
300 | * [Docs] Alphabetize shim lists in the README
|
301 | * [Perf] Add more `Map`/`Set` fast paths for more primitives: boolean, null, undefined
|
302 | * [Tests] Test up to `io.js` `v2.2`
|
303 | * [Deps] Update `mocha`, `es5-shim`, `uglify-js`, `jshint`
|
304 | * [Refactor] Style cleanups
|
305 |
|
306 | # es6-shim 0.31.2 (9 May 2015)
|
307 | * Fix ES5 `Array.prototype` method wrappers to return the correct value. (#341)
|
308 |
|
309 | # es6-shim 0.31.1 (7 May 2015)
|
310 | * `RegExp` should work properly as a wrapper (#340)
|
311 |
|
312 | # es6-shim 0.31.0 (1 May 2015)
|
313 | * All Array.prototype methods should use `ToLength`, not `ToUint32`, on `this.length`.
|
314 | * Preserve and use original Array.prototype functions (for later shimming)
|
315 | * Make String#{startsWith, endsWith, includes} tests a bit more granular.
|
316 | * Fix Map/Set invalid receiver error messages for WebKit
|
317 | * Update `grunt-saucelabs`, `jscs`
|
318 |
|
319 | # es6-shim 0.30.0 (26 Apr 2015)
|
320 | * `Map` and `Set` methods are not generic, and must only be called on valid `Map` and `Set` objects.
|
321 | * Use the native `Number#clz` (in Safari 8, eg) inside `Math.clz32`
|
322 |
|
323 | # es6-shim 0.29.0 (26 Apr 2015)
|
324 | * Test on `io.js` `v1.7` and `v1.8`
|
325 | * Ensure that shallowly wrapped Maps’ and Sets’ prototypes aren't one level too far away.
|
326 | * Update `chai` and use new matchers
|
327 | * Avoid reassigning argument variables to avoid deoptimizations
|
328 | * Ensure that ES3 browsers get both `Object.is` and `Object.assign`
|
329 | * Improve `Object.assign` to avoid leaking arguments in v8
|
330 | * Ensuring `Number.parseInt === parseInt` (failed in FF 37)
|
331 | * a little more accurate Math.cbrt (#335)
|
332 | * Test cleanups
|
333 | * Adding `Symbol.unscopables` tests
|
334 | * Adding tests to ensure that default iterators on builtins === the appropriate prototype function.
|
335 |
|
336 | # es6-shim 0.28.2 (13 Apr 2015)
|
337 | * `Map` and `Set` should have an arity of 0.
|
338 |
|
339 | # es6-shim 0.28.1 (12 Apr 2015)
|
340 | * Ensure `Object.assign` only includes enumerable Symbols.
|
341 |
|
342 | # es6-shim 0.28.0 (12 Apr 2015)
|
343 | * Ensure `Object.assign` also includes Symbols.
|
344 | * Make sure to clobber Firefox 37's very slow native Object.assign, that has "pending exception" logic.
|
345 | * Adding much more granular Set/Map acceptance tests and replacements, to preserve as much of the original implementation as possible. (#326, #328)
|
346 | * Lots of test additions and cleanup
|
347 | * Fill in (and fix) missing name, arity, and enumerability tests.
|
348 | * Using `property` matcher for a more helpful failure message.
|
349 | * Make sure this test doesn't fail if `Array#values` doesn't exist yet.
|
350 | * Make this `@@iterator` test not depend on `Array#values`, and properly skip tests if the symbol isn't available.
|
351 | * Update `Math.fround` with a much smaller implementation (#332)
|
352 | * Lock `uglify-js` down to v2.4.17, since v2.4.18 and v2.4.19 have a breaking change.
|
353 | * Update `es5-shim`, `mocha`, `grunt-contrib-connect`, `chai`, `jshint`
|
354 | * IE 11 TP has a broken `String.raw` implementation
|
355 | * Overwriting some imprecise Math functions on IE 11 TP.
|
356 | * Overwrite `Math.imul` in Safari 8 to report the correct length.
|
357 | * Fix Math.round for very large numbers
|
358 | * Don't rely on shims in tests, for better native failure checking.
|
359 | * Shim `Object.is` in ES3 environments, and add tests.
|
360 | * Test the native `Object.assign` prior to shimming it.
|
361 | * Tweak the `travis-ci` config to make a separate "lint only" test run.
|
362 | * Fix Firefox 4 test failures: ensure RegExp global aliases starting with "$" exist.
|
363 | * more efficient Math.clz32 (#327)
|
364 | * Fix Webkit nightly bugs with `Array.from` and `Array.of`.
|
365 | * Make sure shims that depend on `Number.isNaN` and `Number.isFinite` will always work.
|
366 | * The latest Webkit nightly has a bug with `String#includes` and a position arg of `Infinity`.
|
367 | * Webkit r181855 has a noncompliant `String#startsWith` and `String#endsWith`
|
368 | * Clean up README; add more accurate note about `es5-shim`.
|
369 | * Updating the `String.raw` code to be more in line with the changes in RC2/Rev 35 of the spec.
|
370 |
|
371 | # es6-shim 0.27.1 (5 Mar 2015)
|
372 | * Revert `Array#slice` changes. (#322)
|
373 | * Test on `io.js` `v1.4`
|
374 |
|
375 | # es6-shim 0.27.0 (26 Feb 2015)
|
376 | * Overwrite `Array#slice` so that it supports Array subclasses.
|
377 | * Improve `Map`/`Set` `TypeError` messages when called as a function. (#321)
|
378 |
|
379 | # es6-shim 0.26.1 (25 Feb 2015)
|
380 | * Ensure `Array`/`Array.prototype` functions have the correct name.
|
381 | * Chrome 40 defines the incorrect name for `Array#values`
|
382 | * Make sure that `Array.of` works when subclassed.
|
383 |
|
384 | # es6-shim 0.26.0 (24 Feb 2015)
|
385 | * Ensure that remaining Object static methods accept primitives.
|
386 | * Update `chai`
|
387 | * Document `String.prototype` HTML methods and `Reflect` methods in README
|
388 |
|
389 | # es6-shim 0.25.3 (22 Feb 2015)
|
390 | * Removing nonexistent arguments from some String.prototype HTML methods
|
391 | * All grade A-supported `node`/`iojs` versions now ship with an `npm` that understands `^`.
|
392 | * Test on `iojs-v1.3`
|
393 | * Update `chai`
|
394 | * Add a LICENSE file
|
395 |
|
396 | # es6-shim 0.25.2 (18 Feb 2015)
|
397 | * If someone (looking at you, chalk) has previously modified String.prototype with a non-function “bold”, don‘t break. (#315)
|
398 |
|
399 | # es6-shim 0.25.1 (18 Feb 2015)
|
400 | * Add Annex B String.prototype HTML methods.
|
401 | * Overwriting Annex B String.prototype HTML methods in IE 9, which both uppercases the tag names, and fails to escape double quotes.
|
402 | * Overwriting Annex B String.prototype HTML methods in Safari 4-5, which fails to escape double quotes.
|
403 | * Ensuring that Date#toString returns “Invalid Date” when the date‘s value is NaN.
|
404 | * Test on `iojs-v1.2`
|
405 |
|
406 | # es6-shim 0.25.0 (16 Feb 2015)
|
407 | * Ensure Object.getOwnPropertyNames accepts primitives.
|
408 | * Make sure the replaced `Object.keys` is non-enumerable.
|
409 | * Clean up lots of tests to make failures easier to read, and false negatives less common
|
410 |
|
411 | # es6-shim 0.24.0 (5 Feb 2015)
|
412 | * Improving accuracy of Math.expm1 values, and ensuring a shim on Linux FF 35, which reports an inaccurate value for Math.expm1(10).
|
413 | * Fix bug from 7454db144e5aa251d599415cfb296b67aa3cf992 which prevented String#startsWith and String#endsWith from being overwritten in old Firefox.
|
414 | * Improve tests across a wider list of browsers
|
415 | * Ensure that individual Reflect methods are added when possible
|
416 | * Add Reflect (#313)
|
417 | * Fix node 0.11: it has an imprecise Math.sinh with very small numbers.
|
418 | * Alter String#repeat RangeError message to align with Firefox’s native implementation.
|
419 |
|
420 | # es6-shim 0.23.0 (26 Jan 2015)
|
421 | * Use Symbol.species when available, else fall back to "@@species" (renamed from "@@create")
|
422 | * Fix `npm run test-native`
|
423 | * Correct broken Math implementations: `log1p`, `exmp1`, `tanh`, `acosh`, `cosh`, `sinh`, `round` (#314)
|
424 | * Update `jscs`, `grunt-saucelabs`, `jshint`
|
425 |
|
426 | # es6-shim 0.22.2 (4 Jan 2015)
|
427 | * Faster travis-ci builds
|
428 | * Better ES3 support: quoting/avoiding reserved words
|
429 | * Update `mocha`, `jscs`, `jshint`, `grunt-saucelabs`, `uglify-js`
|
430 |
|
431 | # es6-shim 0.22.1 (13 Dec 2014)
|
432 | * Make RegExp#flags generic, per spec (#310)
|
433 |
|
434 | # es6-shim 0.22.0 (12 Dec 2014)
|
435 | * Add RegExp#flags
|
436 | * Make `new RegExp` work with both a regex and a flags string
|
437 | * Remove non-spec `Object.{getPropertyNames,getPropertyDescriptor}`
|
438 |
|
439 | # es6-shim 0.21.1 (4 Dec 2014)
|
440 | * Promise/Promise.prototype methods, and String#{startsWith,endsWith} are now not enumerable
|
441 | * Array#{keys, values, entries} should all be @@unscopeable in browsers that support that
|
442 | * Ensure that tampering with Function#{call,apply} won’t break internal methods
|
443 | * Add Math.clz32, RegExp tests
|
444 | * Update es6-sham UMD
|
445 | * Update `chai`, `es5-shim`, `grunt-saucelabs`, `jscs`
|
446 |
|
447 | # es6-shim 0.21.0 (21 Nov 2014)
|
448 | * String#contains → String#includes per 2014-11-19 TC39 meeting
|
449 | * Use an invalid identifier as the es6-shim iterator key, so it doesn’t show up in the console as easily.
|
450 |
|
451 | # es6-shim 0.20.4 (20 Nov 2014)
|
452 | * Performance improvements: avoid slicing arguments, avoid `Function#call` when possible
|
453 | * Name `String.{fromCodePoint,raw}` for debugging
|
454 | * Fix `String.raw` to match spec
|
455 | * Ensure Chrome’s excess Promise methods are purged
|
456 | * Ensure `Set#keys === Set#values`, per spec
|
457 |
|
458 | # es6-shim 0.20.3 (19 Nov 2014)
|
459 | * Fix Set#add and Map#set to always return "this" (#302)
|
460 | * Clarify TypeError messages thrown by Map/Set
|
461 | * Fix Chrome 38 bug with Array#values
|
462 |
|
463 | # es6-shim 0.20.2 (28 Oct 2014)
|
464 | * Fix AMD (#299)
|
465 |
|
466 | # es6-shim 0.20.1 (27 Oct 2014)
|
467 | * Set#delete and Map#delete should return false unless a deletion occurred. (#298)
|
468 |
|
469 | # es6-shim 0.20.0 (26 Oct 2014)
|
470 | * Use a more reliable UMD
|
471 | * export the global object rather than undefined
|
472 |
|
473 | # es6-shim 0.19.2 (25 Oct 2014)
|
474 | * Set#delete and Map#delete should return a boolean indicating success. (#298)
|
475 | * Make style consistent; add jscs
|
476 |
|
477 | # es6-shim 0.19.1 (14 Oct 2014)
|
478 | * Fix Map#set and Set#add to be chainable (#295)
|
479 | * Update mocha
|
480 |
|
481 | # es6-shim 0.19.0 (9 Oct 2014)
|
482 | * Detect and override noncompliant Map in Firefox 32 (#294)
|
483 | * Fix Map and Set for engines that don’t preserve numeric key order (#292, #290)
|
484 | * Detect and override noncompliant Safari 7.1 Promises (#289)
|
485 | * Fix Array#keys and Array#entries in Safari 7.1
|
486 | * General style and whitespace cleanup
|
487 | * Update dependencies
|
488 | * Clean up tests for ES3 by removing reserved words
|
489 |
|
490 | # es6-shim 0.18.0 (6 Sep 2014)
|
491 | * Speed up String#trim replacement (#284)
|
492 | * named Array#find and Array#findIndex for easier debugging
|
493 | * Replace broken native implementation in Firefox 25-31 for Array#find and Array#findIndex
|
494 | * Ensure String.fromCodePoint has the correct length in Firefox
|
495 | * List the license in `package.json` for `npm`
|
496 | * Array.from: fix spec bug with Array.from([], undefined) throwing
|
497 | * Array.from: fix Firefox Array.from bug wrt swallowing negative lengths vs throwing
|
498 |
|
499 | # es6-shim 0.17.0 (31 Aug 2014)
|
500 | * Added es6-sham (#281)
|
501 | * Fixing some flaky tests (#268)
|
502 | * Tweaking how ArrayIterator is checked in its "next" function
|
503 | * Cleaning up some of the logic in Array.from
|
504 |
|
505 | # es6-shim 0.16.0 (6 Aug 2014)
|
506 | * Array#find and Array#findIndex: no longer skips holes in sparse arrays, per https://bugs.ecmascript.org/show_bug.cgi?id=3107
|
507 |
|
508 | # es6-shim 0.15.1 (5 Aug 2014)
|
509 | * Array.from: now correctly throws if provided `undefined` as a mapper function
|
510 | * Array.from: now correctly works if provided a falsy `thisArg`
|
511 | * Fix tests so they work properly when Array#(values|keys|entries) are not present
|
512 | * Add `npm run lint` to run style checks independently
|
513 | * Add `test/native.html` so browsers can be easily checked for shim-less compliance.
|
514 |
|
515 | # es6-shim 0.15.0 (31 Jul 2014)
|
516 | * Object.assign no longer throws on null or undefined sources, per https://bugs.ecmascript.org/show_bug.cgi?id=3096
|
517 |
|
518 | # es6-shim 0.14.0 (20 Jul 2014)
|
519 | * Properly recognize Symbol.iterator when it is present (#277)
|
520 | * Fix Math.clz’s improper handling of values that coerce to NaN (#269)
|
521 | * Fix incorrect handling of negative end index on Array#fill (#270)
|
522 | * Removed Object.getOwnPropertyKeys, which shouldn’t be anywhere (#267)
|
523 | * Fixed arity of Map and Set constructors, per 2014.04.27 draft spec (rev 24)
|
524 | * Added a full additional suite of ES6 promise tests (thanks to @smikes!) (#265)
|
525 | * Make Number.isInteger a bit more efficient (#266)
|
526 | * Added `npm run test-native` to expose how broken implementations are without the shim ;-)
|
527 | * Added additional tests
|
528 |
|
529 | # es6-shim 0.13.0 (11 Jun 2014)
|
530 | * Adapt to new Array.from changes: mapper function is now called with both value and index (#261, #262)
|
531 | * More reliably getting the global object in strict mode to fix node-webkit (#258, #259)
|
532 | * Properly test the global Promise for ignoring non-function callbacks (#258)
|
533 |
|
534 | # es6-shim 0.12.0 (4 Jun 2014)
|
535 | * Fix String#trim implementations that incorrectly trim \u0085
|
536 | * Stop relying on ArrayIterator being a public var, fixing Safari 8
|
537 |
|
538 | # es6-shim 0.11.1 (2 Jun 2014)
|
539 | * Make sure to shim Object.assign in all environments, not just true ES5
|
540 | * Now including minified file and source map
|
541 |
|
542 | # es6-shim 0.11.0 (11 May 2014)
|
543 | * Remove `Object.getOwnPropertyDescriptors`, per spec. (#234, #235)
|
544 | * IE8 fixes. (#163, #236)
|
545 | * Improve `Promise` scheduling. (#231)
|
546 | * Add some more standalone shims
|
547 | * Use an Object.create fallback, for better ES3 compatibility
|
548 | * Fix Math.expm1 in more browsers (#84)
|
549 | * Fix es6-shim in Web Workers (#247, #248)
|
550 | * Correct Object.assign to take multiple sources (#241)
|
551 |
|
552 | # es6-shim 0.10.1 (13 Mar 2014)
|
553 | * Update bower.json, component.json, and .npmignore (#229, #230, #233)
|
554 | * Minor updates to `Promise` implementation and test suite.
|
555 | * Workaround lack of "strict mode" in IE9. (#232)
|
556 |
|
557 | # es6-shim 0.10.0 (1 March 2014)
|
558 | * Implement `Promise`, per spec. (#209, #215, #224, #225)
|
559 | * Make `Map`/`Set` subclassable; support `iterable` argument to
|
560 | constructor (#218)
|
561 | * Rename `Number#clz` to `Math.clz32` (#217)
|
562 | * Bug fixes to `Array#find` and `Array#findIndex` on sparse arrays (#213)
|
563 | * Re-add `Number.isInteger` (mistakenly removed in 0.9.0)
|
564 | * Allow use of `arguments` as an iterable
|
565 | * Minor spec-compliance fixes for `String.raw`
|
566 | * In ES6, `Object.keys` accepts non-Object types (#220)
|
567 | * Improved browser compatibility with IE 9/10, Opera 12 (#225)
|
568 |
|
569 | # es6-shim 0.9.3 (5 February 2014)
|
570 | * Per spec, removed `Object.mixin` (#192)
|
571 | * Per spec, treat -0 and +0 keys as identical in Map/Set (#129, #204)
|
572 | * Per spec, `ArrayIterator`/`Array#values()` skips sparse indexes now. (#189)
|
573 | * Added `Array.from`, supporting Map/Set/Array/String iterators (the String iterator iterates over codepoints, not indexes) (#182)
|
574 | * Bug fixes to Map/Set iteration after concurrent delete. (#183)
|
575 | * Bug fixes to `Number.clz`: 0 and 0x100000000 are handled correctly now. (#196)
|
576 | * Added `Math.fround` to truncate to a 32-bit floating point number. (#140)
|
577 | * Bug fix for `Math.cosh` (#178)
|
578 | * Work around Firefox bugs in `String#startsWith` and `String#endsWith` (#172)
|
579 | * Work around Safari bug in `Math.imul`
|
580 |
|
581 | # es6-shim 0.9.2 (18 December 2013)
|
582 | * Negative `String#endsWith` position is now handled properly.
|
583 | * `TypeError` is now thrown when string methods are called
|
584 | on `null` / `undefined`.
|
585 |
|
586 | # es6-shim 0.9.1 (28 October 2013)
|
587 | * Added `Array#copyWithin` and `Number.MIN_SAFE_INTEGER`
|
588 | * Big speed-up of Maps / Sets for string / number keys:
|
589 | they are O(1) now.
|
590 | * Changed `Math.hypot` according to spec.
|
591 | * Other small fixes.
|
592 |
|
593 | # es6-shim 0.9.0 (30 August 2013)
|
594 | * Added Array iteration methods: `Array#keys`, `Array#values`, `Array#entries`, which return an `ArrayIterator`
|
595 | * Changed `Map` and `Set` constructors to conform to spec when called without `new`
|
596 | * Added `Math.imul`
|
597 | * Per spec, removed `Number.toInteger`, `Number.isInteger`, and `Number.MAX_INTEGER`; added `Number.isSafeInteger`, `Number.MAX_SAFE_INTEGER`
|
598 | * Added extensive additional tests for many methods
|
599 |
|
600 | # es6-shim 0.8.0 (8 June 2013)
|
601 | * Added `Object.setPrototypeOf`, `Set#keys`, `Set#values`, `Map#keys`, `Map#values`, `Map#entries`, `Set#entries`.
|
602 | * Fixed `String#repeat` according to spec.
|
603 |
|
604 | # es6-shim 0.7.0 (2 April 2013)
|
605 | * Added `Array#find`, `Array#findIndex`, `Object.assign`, `Object.mixin`,
|
606 | `Math.cbrt`, `String.fromCodePoint`, `String#codePointAt`.
|
607 | * Removed `Object.isnt`.
|
608 | * Made Math functions fully conform spec.
|
609 |
|
610 | # es6-shim 0.6.0 (15 January 2013)
|
611 | * Added `Map#keys`, `Map#values`, `Map#size`, `Set#size`, `Set#clear`.
|
612 |
|
613 | # es6-shim 0.5.3 (2 September 2012)
|
614 | * Made `String#startsWith`, `String#endsWith` fully conform spec.
|
615 |
|
616 | # es6-shim 0.5.2 (17 June 2012)
|
617 | * Removed `String#toArray` and `Object.isObject` as per spec updates.
|
618 |
|
619 | # es6-shim 0.5.1 (14 June 2012)
|
620 | * Made Map and Set follow Spidermonkey implementation instead of V8.
|
621 | `var m = Map(); m.set('key', void 0); m.has('key');` now gives true.
|
622 |
|
623 | # es6-shim 0.5.0 (13 June 2012)
|
624 | * Added Number.MAX_INTEGER, Number.EPSILON, Number.parseInt,
|
625 | Number.parseFloat, Number.prototype.clz, Object.isObject.
|
626 |
|
627 | # es6-shim 0.4.1 (11 May 2012)
|
628 | * Fixed boundary checking in Number.isInteger.
|
629 |
|
630 | # es6-shim 0.4.0 (8 February 2012)
|
631 | * Added Math.log10, Math.log2, Math.log1p, Math.expm1, Math.cosh,
|
632 | Math.sinh, Math.tanh, Math.acosh, Math.asinh, Math.atanh, Math.hypot,
|
633 | Math.trunc.
|
634 |
|
635 | # es6-shim 0.3.1 (30 January 2012)
|
636 | * Added IE8 support.
|
637 |
|
638 | # es6-shim 0.3.0 (27 January 2012)
|
639 | * Added Number.isFinite() and Object.isnt().
|
640 |
|
641 | # es6-shim 0.2.1 (7 January 2012)
|
642 | * Fixed a bug in String#endsWith().
|
643 |
|
644 | # es6-shim 0.2.0 (25 December 2011)
|
645 | * Added browser support.
|
646 | * Added tests.
|
647 | * Added Math.sign().
|
648 |
|
649 | # es6-shim 0.1.0 (25 December 2011)
|
650 | * Initial release
|