UNPKG

20.8 kBMarkdownView Raw
14.6.3
2 - [Fix] `Object.defineProperty`: Chrome <= 36 has a broken dP when setting "prototype" while changing writability
3 - [Fix] `toExponential`: use `thisNumberValue` instead of `Number()`
4 - [readme] fix badges
5 - [readme] add standalone shims
6 - [actions] reuse common workflows
7 - [actions] update codecov uploader
8 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`
9 - [Tests] avoid loading coverage data when running tests
10
114.6.2
12 - [Fix] IE 6-8 fails to throw on infinite fractional digits
13
144.6.1
15 - [Fix] `Math.log10` does not exist in older engines, oops
16 - [Fix] `toExponential`: start from 16 instead of 22
17 - [Fix] `toExponential`: ensure ToNumber is only called once on the receiver
18 - [Robustness] `toExponential`, `toPrecision`: ensure things do not break with later builtin modification
19
204.6.0
21 - [New] detect and patch `Number#toExponential` in Edge 15-18, which rounds incorrectly
22 - [Fix] `parseInt`: fails to throw on boxed Symbols in Edge 15-18
23 - [eslint] ensure autofix makes no further changes
24 - [readme] remove travis badge
25 - [meta] use `prepublishOnly`, for npm 7+
26 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`
27 - [tests] use `ljharb/actions/node/install` instead of `ljharb/actions/node/run`; use codecov action
28 - [actions] update workflows
29
304.5.15
31 - [Fix] `es5-sham`: `getPrototypeOf`: avoid infinite loop in pre-`__proto__` browsers
32 - [Fix] `split`: add a function name to the "broken capturing groups" shim
33 - [Robustness] cache Math methods
34 - [readme] add standalone shims
35 - [meta] add `in-publish` to avoid running the minifier on install
36 - [meta] run `aud` in `posttest`
37 - [Tests] migrate tests to Github Actions (#474)
38 - [Tests] run `nyc` on all tests
39 - [actions] add "Allow Edits" workflow
40 - [actions] switch Automatic Rebase workflow to `pull_request_target` event
41 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`
42
434.5.14
44 - [Fix] handle no `deleteCount` to `splice()` in Opera (#465)
45 - [Refactor] remove unnecessary comparison
46 - [meta] remove unused Makefile and associated utilities
47 - [meta] add `funding` field
48 - [meta] Rename CHANGES to CHANGELOG.md
49 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `replace`, `semver`; add `safe-publish-latest`
50 - [Tests] fix negative Date tests to handle TZData
51 - [Tests] use shared travis-ci configs
52 - [Tests] remove `jscs`
53 - [Tests] clarify toPrecision's range increased in ES2018
54 - [actions] add automatic rebasing / merge commit blocking
55
564.5.13
57 - [Fix] exclude deprecated Firefox keys (#460)
58 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `jasmine-node`, `replace`, `semver`
59
604.5.12
61 - [meta] republish broken 4.5.11
62
634.5.11
64 - [Fix] sync Object.keys excluded list from object-keys (#456)
65 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `jasmine-node`, `replace`, `semver`
66 - [Tests] pin jasmine-node to ~1.13
67
684.5.10
69 - [Fix] Safari 11 throws on `.sort({})`, but not on `.sort(null)`
70 - [Fix] ensure the shimmed parseInt throws with Symbols (#450)
71 - [Fix] skip over `localStorage`, which can’t be accessed on file://
72 - [Fix] Accessing window.top.{constructor|prototype} throws error in iOS (#445)
73 - [Fix] avoid `width` and `height` on `window`, to prevent reflow (https://github.com/ljharb/object-keys/issues/31)
74 - [Fix] ensure minified literal of `1000000000000000128` stays as that literal (#441)
75 - [Robustness] always prefer `String(x)` over `x.toString()`
76 - [Tests] up to `node` `v9.3`, `v8.9`, `v7.10`, `v6.12`, `v5.12`, `v4.8`; improve test matrix; use `nvm install-latest-npm`; comment out OS X builds; pin included builds to LTS
77 - [Tests] `parseInt`: add another test for NaN parsing (#433)
78 - [Dev Deps] `uglify-js`: add `--support-ie8` and peg to v2.7.x since it doesn’t follow semver
79 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `jscs`, `uglify-js`, `semver`; remove `concurrently` (#421)
80
814.5.9
82 - [Fix] parseInt and parseFloat should both accept null/undefined (#402)
83 - [Tests] up to `node` `v6.2`
84 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `jscs`, `concurrently`
85
864.5.8
87 - [Fix] Check if property descriptor is configurable before re-defining it (#394, #373)
88 - [Dev Deps] update `eslint`, `jscs`, `@ljharb/eslint-config`
89 - [Tests] up to `node` `v5.10`, `v4.4`
90 - [Tests] Use `concurrently` instead of `parallelshell`
91 - [Tests] use `pretest` to run the linter
92
934.5.7
94 - [Fix] `bind` in IE 8: Update `is-callable` implementation to v1.1.3 (#390)
95
964.5.6
97 - [Fix] `new Date(new Date())` should work in IE 8 (#389)
98 - [Tests] on `node` `v5.7`
99 - [Dev Deps] update `uglify-js`
100
1014.5.5
102 - [Fix] Adobe Photoshop’s JS engine bizarrely can have `+date !== date.getTime()` (#365)
103 - [Dev Deps] update `eslint`
104 - [Refactor] Update `is-callable` implementation to match latest
105 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `jscs`
106
1074.5.4
108 - [Fix] careless error from 5cf99aca49e59bae03b5d542381424bb1b13ec42
109
1104.5.3
111 - [Fix] Saturday is a day in the week (#386)
112 - [Robustness] improve Function#bind (#381)
113 - [Tests] on `node` `v5.6`, `v4.3`
114 - [Tests] use json3 (#382)
115 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`
116 - [Docs] add note about script order (#379)
117
1184.5.2
119 - [shim: fix] use `Array#slice`, not `String#slice`, on `String#split` output (#380)
120
1214.5.1
122 - [Fix] Make sure preexisting + broken `Array#` methods that throw don’t break the runtime (#377)
123 - [Dev Deps] update `jscs`
124
1254.5.0
126 - [New] `parseFloat('-0')` should return -0 in Opera 12 (#371)
127 - [New] Provide and replace Date UTC methods (#360)
128 - [Robustness] cache `Date` getUTC methods so that `Date#toISOString` doesn’t observably look them up on the receiver
129 - [Robustness] use a cached and shimmed `String#trim`
130 - [Tests] up to `node` `v5.5`
131 - [Tests] add `parallelshell` and use it in a few tasks
132 - [Refactor] rename cached methods to avoid linter warnings
133 - [Dev Deps] update `eslint`, `jscs`, '@ljharb/eslint-config'
134 - [Docs] Update license year to 2016 (#374)
135
1364.4.2
137 - [shim: fix] use `Array#slice`, not `String#slice`, on `String#split` output (#380)
138
1394.4.1
140 - [Fix] ensure that IE 11 in compatibility mode doesn't throw (#370)
141 - [Docs] add missing shimmed things
142
1434.4.0
144 - [New] Detect and patch `RegExp#toString` in IE 8, which returns flags in the wrong order (#364)
145 - [Fix] Patch `Array#sort` on {Chrome, Safari, IE < 9, FF 4} that throws improperly, per ES5 (#354)
146 - [Fix] In IE 6, `window.external` makes `Object.keys` throw
147 - [Fix] `Array#slice`: boxed string access on IE <= 8 (#349)
148 - [Fix] `Array#join`: fix IE 6-8 join called on string literal (#352)
149 - [Fix] Ensure that `Error#message` and `Error#name` are non-enumerable (#358)
150 - [Fix: sham] `Object.getOwnPropertyDescriptor`: In Opera 11.6, `propertyIsEnumerable` is a nonshadowable global, like `toString`
151 - [Robustness] Use a bound form of `Array#slice.call`
152 - [Tests] Properly check for descriptor support in IE <= 8
153 - [Tests] on `node` `v5.1`
154 - [Tests] Add `Array#slice` tests (#346)
155 - [Dev Deps] update `uglify-js`, `eslint`, `jscs`, `uglify-js`, `semver`
156 - [Docs] Fix broken UMD links (#344)
157
1584.3.2
159 - [shim: fix] use `Array#slice`, not `String#slice`, on `String#split` output (#380)
160
1614.3.1
162 - [Fix] `String#split`: revert part of dcce96ae21185a69d2d40e67416e7496b73e8e47 which broke in older browsers (#342)
163 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `jscs`
164 - [Tests] Firefox allows `Number#toPrecision` values of [1,100], which the spec permits
165
1664.3.0
167 - [New] `Array#push`: in IE <= 7, `Array#push` was not generic (#336)
168 - [New] `Array#push` in Opera `10.6` has a super weird bug when pushing `undefined`
169 - [New] `Array#join`: In IE <= 7, passing `undefined` didn't use the default separator (#333)
170 - [New] `Error#toString`: prints out the proper message in IE 7 and below (#334)
171 - [New] `Number#toPrecision`: IE 7 and below incorrectly throw when an explicit `undefined` precision is passed (#340)
172 - [Fix] `String#lastIndexOf`: ensure the correct length in IE 8
173 - [Fix] ensure `parseInt` accepts negative and plus-prefixed hex values (#332)
174 - [Robustness] Use a bound `Array#push` instead of relying on `Function#call`
175 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `jscs`
176 - [Tests] Add some conditionals to avoid impossible-to-fix test failures in IE 6-8, due to it being unable to distinguish between `undefined` and an absent index (#114)
177 - [Tests] Fix false negatives in IE 6-8 with jasmine comparing arrays to arraylikes (#114)
178 - [Tests] add additional `Array#shift` tests (#337)
179 - [Tests] Add additional `Array#splice` tests (#339)
180 - [Tests] Add `Array#pop` tests, just in case (#338)
181 - [Tests] include `global` tests in HTML test files
182 - [Tests] Make sure the HTML tests run with the right charset
183 - [Tests] ensure `node` `v0.8` tests stay passing.
184 - [Tests] Prevent nondeterminism in the tests - this sometime produced values that are one ms off
185 - [Tests] on `node` `v5.0`
186 - [Tests] fix npm upgrades for older nodes
187
1884.2.1
189 - [shim: fix] use `Array#slice`, not `String#slice`, on `String#split` output (#380)
190
1914.2.0
192 - [shim: new] Overwrite `String#lastIndexOf` in IE 9, 10, 11, and Edge, so it has proper unicode support.
193 - [Dev Deps] update `eslint`, `jscs`
194
1954.1.16
196 - [shim: fix] use `Array#slice`, not `String#slice`, on `String#split` output (#380)
197
1984.1.15
199 - [shim: fix] new Date + Date.parse: Fix a Safari 8 & 9 bug where the `ms` arg is treated as a signed instead of unsigned int (#329)
200 - [shim: fix] add 'frame' to blacklisted keys (#330)
201 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `jscs`, `uglify-js`
202 - [Tests] on `node` `v4.2`
203 - [Tests] Date: prevent nondeterminism in the tests - this sometime produced values that are one ms off
204
2054.1.14
206 - [shim: fix] Wrap more things in a try/catch, because IE sucks and sometimes throws on [[Get]] of window.localStorage (#327)
207 - [Refactor] Use `ES.ToUint32` instead of inline `>>>`
208 - [Tests] up to `node` `v4.1`
209 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `semver`, `jscs`
210
2114.1.13
212 - [shim: fix] Fix a bug where `Date(x)` threw instead of equalling `String(Date(x))` (#326)
213
2144.1.12
215 - [fix] Make sure uglify doesn't remove function names
216 - [shim: fix] Use `is-arguments` implementation; don't call down legacy code path in modern engines (#325)
217 - [Tests] up to `io.js` `v3.3`
218 - [Dev Deps] update `eslint`, `@ljharb/eslint-config`
219
2204.1.11
221 - [shim: fix] Object.keys in Safari 9 has some bugs. (Already fixed in Webkit Nightly)
222 - [shim: fix] Omit !Date.parse check in the if statement (#323)
223 - [sham: fix] Fix Object.create sham to not set __proto__ (#301)
224 - [sham: fix] Add a typeof check to Object.getPrototypeOf (#319, #320)
225 - [Tests] up to `io.js` `v3.1`
226 - [Tests] Make sure `Object.getPrototypeOf` tests don't fail when engines implement ES6 semantics
227 - [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG (#318)
228 - [Dev Deps] Update `eslint`, `uglify-js`, `jscs`; use my personal shared `eslint` config
229
2304.1.10
231 - [Fix] Fix IE 8 issue with `window.frameElement` access in a child iframe (#322)
232 - [Tests] Consolidating `Date.parse` extended year tests
233 - [Tests] Account for a `Date.parse` precision variance in Safari 8
234 - [Tests] DRY up some Date.parse tests
235 - [Tests] Don't create globals in Date tests
236 - [Tests] Better failure output when an invalid date's toJSON throws
237 - [Tests] Also compare lengths of array-likes
238 - [Tests] Extra check on Object.keys(arguments)
239 - [Tests] Skip appropriate tests when objects aren't extensible/freezeable/sealable
240
2414.1.9
242 - [Fix] Remove "extended", add "unicode" in `String#split` shim, to match ES6
243 - [Fix] Object.keys: Preserve the IE 8 dontEnum bugfix, and the automation equality bugfix.
244 - [Fix] Object.keys: Prevent a deprecation message from showing up in Chrome.
245 - [Performance] Speed up blacklisted key check for Object.keys automation equality bug.
246 - [Tests] Test on `io.js` `v2.4`
247 - [Dev Deps] Update `eslint`, `semver`
248
2494.1.8
250 - [Fix] Fix an `Object.keys` IE 8 bug where `localStorage.prototype.constructor === localStorage` would throw (#275)
251 - [Fix] Shimmed `Object.defineProperty` should not throw for an empty descriptor (#315)
252 - [Fix] Fix `Date#toISOString` in Safari 5.1 (#243)
253 - [Fix] Use `Object#propertyIsEnumerable` to default the initial "enumerable" value in `Object.getOwnPropertyDescriptor` sham (#289)
254 - [Fix] Fix `Array#splice` with large sparse arrays in Safari 7/8, and Opera 12.15 (#295)
255 - [Robustness] Safely use and reference many builtins internally (also see #313)
256 - [Tests] Add `Date#{getUTCDate,getUTCMonth}` tests to expose Opera 10.6/11.61/12 `Date` bugs
257 - [Dev Deps] Update `eslint`
258
2594.1.7
260 - Make sure `Date.parse` is not enumerable (#310)
261
2624.1.6
263 - Support IE 8 when `document.domain` is set (#306, #150)
264 - Remove version from `bower.json` (#307)
265
2664.1.5
267 - Add a failing runtime check for Safari 8 `Date.parse`
268 - Update `eslint`, `semver`
269 - Test on `io.js` `v2.2`
270
2714.1.4
272 - Make sure copied `Date` properties remain non-enumerable.
273 - Using a more reliable check for supported property descriptors in non-IE ES3
274 - Fix 'constructor' in Object.defineProperties sham in ES3 (#252, #305)
275 - Use a reference to `Array#concat` rather than relying on the runtime environment's `concat`.
276 - Test on `io.js` `v2.1`
277 - Clean up `Array.prototype` iteration methods
278
2794.1.3
280 - Update `license` in `package.json` per https://docs.npmjs.com/files/package.json#license
281 - Update `uglify-js`, `eslint`
282
2834.1.2
284 - In IE 6-8, `Date` inside the function expression does not reference `DateShim` (#303)
285 - Date: Ensure all code paths have the correct `constructor` property
286 - Date: Don't copy non-own properties from original `Date`
287 - Test up to `io.js` `v2.0.0`
288 - Simplify `isPrimitive` check.
289 - Adding sanity check tests for ES5 `Number` constants.
290 - Update `uglify-js`, `eslint`, `semver`
291
2924.1.1
293 - Fix name of `parseInt` replacement.
294 - Update copyright year
295 - Update `eslint`, `jscs`
296 - Lock `uglify-js` down to v2.4.17, since v2.4.18 and v2.4.19 have a breaking change.
297 - All grade A-supported `node`/`iojs` versions now ship with an `npm` that understands `^`.
298 - Run `travis-ci` tests on latest `node` and `iojs`; speed up builds; allow 0.8 failures.
299 - Ensure some Object tests don't fail in ES6
300 - Make sure `Date` instances don't have an enumerable `constructor` property, when possible.
301
3024.1.0
303 - Update `eslint`
304 - Improve type checks: `Array.isArray`, `isRegex`
305 - Replace `isRegex`/`isString`/`isCallable` checks with inlined versions from npm modules
306 - Note which ES abstract methods are replaceable via `es-abstract`
307 - Run `travis-ci` tests on `iojs`!
308
3094.0.6
310 - Update `jscs`, `uglify-js`, add `eslint`
311 - es5-sham: fix Object.defineProperty to not check for own properties (#211)
312 - Fix Array#splice bug in Safari 5 (#284)
313 - Fix `Object.keys` issue with boxed primitives with extra properties in older browsers. (#242, #285)
314
3154.0.5
316 - Update `jscs` so tests pass
317
3184.0.4
319 - Style/indentation/whitespace cleanups.
320 - README tweaks
321
3224.0.3
323 - Fix keywords (#268)
324 - add some Date tests
325 - Note in README that the es5-sham requires the es5-shim (https://github.com/es-shims/es5-shim/issues/256#issuecomment-52875710)
326
3274.0.2
328 - Start including version numbers in minified files (#267)
329
3304.0.1
331 - Fix legacy arguments object detection in Object.keys (#260)
332
3334.0.0
334 - No longer shim the ES5-spec behavior of splice when `deleteCount` is omitted - since no engines implement it, and ES6 changes it. (#255)
335 - Use Object.defineProperty where available, so that polyfills are non-enumerable when possible (#250)
336 - lots of internal refactoring
337 - Fixed a bug referencing String#indexOf and String#lastIndexOf before polyfilling it (#253, #254)
338
3393.4.0
340 - Removed nonstandard SpiderMonkey extension to Array#splice - when `deleteCount` is omitted, it's now treated as 0. (#192, #239)
341 - Fix Object.keys with Arguments objects in Safari 5.0
342 - Now shimming String#split in Opera 10.6
343 - Avoid using "toString" as a variable name, since that breaks Opera
344 - Internal implementation and test cleanups
345
3463.3.2
347 - Remove an internal "bind" call, which should make the shim a bit faster
348 - Fix a bug with object boxing in Array#reduceRight that was failing a test in IE 6
349
3503.3.1
351 - Fixing an Array#splice bug in IE 6/7
352 - cleaning up Array#splice tests
353
3543.3.0
355 - Fix Array#reduceRight in node 0.6 and older browsers (#238)
356
3573.2.0
358 - Fix es5-sham UMD definition to work properly with AMD (#237)
359 - Ensure that Array methods do not autobox context in strict mode (#233)
360
3613.1.1
362 - Update minified files (#231)
363
3643.1.0
365 - Fix String#replace in Firefox up through 29 (#228)
366
3673.0.2
368 - Fix `Function#bind` in IE 7 and 8 (#224, #225, #226)
369
3703.0.1
371 - Version bump to ensure npm has newest minified assets
372
3733.0.0
374 - es5-sham: fix `Object.getPrototypeOf` and `Object.getOwnPropertyDescriptor` for Opera Mini
375 - Better override noncompliant native ES5 methods: `Array#forEach`, `Array#map`, `Array#filter`, `Array#every`, `Array#some`, `Array#reduce`, `Date.parse`, `String#trim`
376 - Added spec-compliant shim for `parseInt`
377 - Ensure `Object.keys` handles more edge cases with `arguments` objects and boxed primitives
378 - Improve minification of builds
379
3802.3.0
381 - parseInt is now properly shimmed in ES3 browsers to default the radix
382 - update URLs to point to the new organization
383
3842.2.0
385 - Function.prototype.bind shim now reports correct length on a bound function
386 - fix node 0.6.x v8 bug in Array#forEach
387 - test improvements
388
3892.1.0
390 - Object.create fixes
391 - tweaks to the Object.defineProperties shim
392
3932.0.0
394 - Separate reliable shims from dubious shims (shams).
395
3961.2.10
397 - Group-effort Style Cleanup
398 - Took a stab at fixing Object.defineProperty on IE8 without
399 bad side-effects. (@hax)
400 - Object.isExtensible no longer fakes it. (@xavierm)
401 - Date.prototype.toISOString no longer deals with partial
402 ISO dates, per spec (@kitcambridge)
403 - More (mostly from @bryanforbes)
404
4051.2.9
406 - Corrections to toISOString by @kitcambridge
407 - Fixed three bugs in array methods revealed by Jasmine tests.
408 - Cleaned up Function.prototype.bind with more fixes and tests from
409 @bryanforbes.
410
4111.2.8
412 - Actually fixed problems with Function.prototype.bind, and regressions
413 from 1.2.7 (@bryanforbes, @jdalton #36)
414
4151.2.7 - REGRESSED
416 - Fixed problems with Function.prototype.bind when called as a constructor.
417 (@jdalton #36)
418
4191.2.6
420 - Revised Date.parse to match ES 5.1 (kitcambridge)
421
4221.2.5
423 - Fixed a bug for padding it Date..toISOString (tadfisher issue #33)
424
4251.2.4
426 - Fixed a descriptor bug in Object.defineProperty (raynos)
427
4281.2.3
429 - Cleaned up RequireJS and <script> boilerplate
430
4311.2.2
432 - Changed reduce to follow the letter of the spec with regard to having and
433 owning properties.
434 - Fixed a bug where RegExps pass as Functions in some engines in reduce.
435
4361.2.1
437 - Adding few fixes to make jshint happy.
438 - Fix for issue #12, function expressions can cause scoping issues in IE.
439 - NPM will minify on install or when `npm run-script install` is executed.
440 - Adding .gitignore to avoid publishing dev dependencies.
441
4421.2.0
443 - Making script loadable as AMD module.
444 - Adding `indexOf` to the list of safe shims.
445
4461.1.0
447 - Added support for accessor properties where possible (which is all browsers
448 except IE).
449 - Stop exposing bound function's (that are returned by
450 `Function.prototype.bind`) internal properties (`bound, boundTo, boundArgs`)
451 as in some cases (when using facade objects for example) capabilities of the
452 enclosed functions will be leaked.
453 - `Object.create` now explicitly sets `__proto__` property to guarantee
454 correct behavior of `Object.getPrototypeOf`'s on all objects created using
455 `Object.create`.
456 - Switched to `===` from `==` where possible as it's slightly faster on older
457 browsers that are target of this lib.
458 - Added names to all anonymous functions to have a better stack traces.
459
4601.0.0
461 - fixed Date.toISODate, using UTC accessors, as in
462 http://code.google.com/p/v8/source/browse/trunk/src/date.js?r=6120#986
463 (arian)
464
4650.0.4
466 - Revised Object.getPrototypeOf to work in more cases
467 in response to http://ejohn.org/blog/objectgetprototypeof/
468 [issue #2] (fschaefer)
469
4700.0.3
471 - Fixed typos in Object.keys (samsonjs)
472
4730.0.2
474 Per kangax's recommendations:
475 - faster Object.create(null)
476 - fixed a function-scope function declaration statement in Object.create
477
4780.0.1
479 - fixed Object.create(null), in so far as that's possible
480 - reworked Rhino Object.freeze(Function) bug detector and patcher
481
4820.0.0
483 - forked from narwhal-lib
484