4.6.7
parseInt
, String#trim
: properly consider Mongolian Vowel Separatorsubstr
: call-bind original substr method4.6.6
splice
: IE 8: upgrade ES5 impls to ES6 default argument behaviortoExponential
: IE 6 native toExponential does not throw with infinite fractionDigitsDate
: fix a bug in modern Safari (#481)parseInt
replacements are not constructibleArray.prototype.splice
and standalone shimeslint
, @ljharb/eslint-config
4.6.5
Object.defineProperty
eslint
, @ljharb/eslint-config
, aud
4.6.4
Object.defineProperty
: when shimmed in Chrome <= 36, properly handle writability4.6.3
Object.defineProperty
: Chrome <= 36 has a broken dP when setting "prototype" while changing writabilitytoExponential
: use thisNumberValue
instead of Number()
eslint
, @ljharb/eslint-config
, safe-publish-latest
4.6.2
4.6.1
Math.log10
does not exist in older engines, oopstoExponential
: start from 16 instead of 22toExponential
: ensure ToNumber is only called once on the receivertoExponential
, toPrecision
: ensure things do not break with later builtin modification4.6.0
Number#toExponential
in Edge 15-18, which rounds incorrectlyparseInt
: fails to throw on boxed Symbols in Edge 15-18prepublishOnly
, for npm 7+eslint
, @ljharb/eslint-config
, aud
ljharb/actions/node/install
instead of ljharb/actions/node/run
; use codecov action4.5.15
es5-sham
: getPrototypeOf
: avoid infinite loop in pre-__proto__
browserssplit
: add a function name to the "broken capturing groups" shimin-publish
to avoid running the minifier on installaud
in posttest
nyc
on all testspull_request_target
eventeslint
, @ljharb/eslint-config
4.5.14
deleteCount
to splice()
in Opera (#465)funding
fieldeslint
, @ljharb/eslint-config
, replace
, semver
; add safe-publish-latest
jscs
4.5.13
eslint
, @ljharb/eslint-config
, jasmine-node
, replace
, semver
4.5.12
4.5.11
eslint
, @ljharb/eslint-config
, jasmine-node
, replace
, semver
4.5.10
.sort({})
, but not on .sort(null)
localStorage
, which can’t be accessed on file://width
and height
on window
, to prevent reflow (https://github.com/ljharb/object-keys/issues/31)1000000000000000128
stays as that literal (#441)String(x)
over x.toString()
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 LTSparseInt
: add another test for NaN parsing (#433)uglify-js
: add --support-ie8
and peg to v2.7.x since it doesn’t follow semvereslint
, @ljharb/eslint-config
, jscs
, uglify-js
, semver
; remove concurrently
(#421)4.5.9
node
v6.2
eslint
, @ljharb/eslint-config
, jscs
, concurrently
4.5.8
eslint
, jscs
, @ljharb/eslint-config
node
v5.10
, v4.4
concurrently
instead of parallelshell
pretest
to run the linter4.5.7
bind
in IE 8: Update is-callable
implementation to v1.1.3 (#390)4.5.6
new Date(new Date())
should work in IE 8 (#389)node
v5.7
uglify-js
4.5.5
+date !== date.getTime()
(#365)eslint
is-callable
implementation to match latesteslint
, @ljharb/eslint-config
, jscs
4.5.4
5cf99aca49
4.5.3
node
v5.6
, v4.3
eslint
, @ljharb/eslint-config
4.5.2
Array#slice
, not String#slice
, on String#split
output (#380)4.5.1
Array#
methods that throw don’t break the runtime (#377)jscs
4.5.0
parseFloat('-0')
should return -0 in Opera 12 (#371)Date
getUTC methods so that Date#toISOString
doesn’t observably look them up on the receiverString#trim
node
v5.5
parallelshell
and use it in a few taskseslint
, jscs
, '@ljharb/eslint-config'4.4.2
Array#slice
, not String#slice
, on String#split
output (#380)4.4.1
4.4.0
RegExp#toString
in IE 8, which returns flags in the wrong order (#364)Array#sort
on {Chrome, Safari, IE < 9, FF 4} that throws improperly, per ES5 (#354)window.external
makes Object.keys
throwArray#slice
: boxed string access on IE <= 8 (#349)Array#join
: fix IE 6-8 join called on string literal (#352)Error#message
and Error#name
are non-enumerable (#358)Object.getOwnPropertyDescriptor
: In Opera 11.6, propertyIsEnumerable
is a nonshadowable global, like toString
Array#slice.call
node
v5.1
Array#slice
tests (#346)uglify-js
, eslint
, jscs
, uglify-js
, semver
4.3.2
Array#slice
, not String#slice
, on String#split
output (#380)4.3.1
String#split
: revert part of dcce96ae21
which broke in older browsers (#342)eslint
, @ljharb/eslint-config
, jscs
Number#toPrecision
values of [1,100], which the spec permits4.3.0
Array#push
: in IE <= 7, Array#push
was not generic (#336)Array#push
in Opera 10.6
has a super weird bug when pushing undefined
Array#join
: In IE <= 7, passing undefined
didn't use the default separator (#333)Error#toString
: prints out the proper message in IE 7 and below (#334)Number#toPrecision
: IE 7 and below incorrectly throw when an explicit undefined
precision is passed (#340)String#lastIndexOf
: ensure the correct length in IE 8parseInt
accepts negative and plus-prefixed hex values (#332)Array#push
instead of relying on Function#call
eslint
, @ljharb/eslint-config
, jscs
undefined
and an absent index (#114)Array#shift
tests (#337)Array#splice
tests (#339)Array#pop
tests, just in case (#338)global
tests in HTML test filesnode
v0.8
tests stay passing.node
v5.0
4.2.1
Array#slice
, not String#slice
, on String#split
output (#380)4.2.0
String#lastIndexOf
in IE 9, 10, 11, and Edge, so it has proper unicode support.eslint
, jscs
4.1.16
Array#slice
, not String#slice
, on String#split
output (#380)4.1.15
ms
arg is treated as a signed instead of unsigned int (#329)eslint
, @ljharb/eslint-config
, jscs
, uglify-js
node
v4.2
4.1.14
ES.ToUint32
instead of inline >>>
node
v4.1
eslint
, @ljharb/eslint-config
, semver
, jscs
4.1.13
Date(x)
threw instead of equalling String(Date(x))
(#326)4.1.12
is-arguments
implementation; don't call down legacy code path in modern engines (#325)io.js
v3.3
eslint
, @ljharb/eslint-config
4.1.11
io.js
v3.1
Object.getPrototypeOf
tests don't fail when engines implement ES6 semanticseslint
, uglify-js
, jscs
; use my personal shared eslint
config4.1.10
window.frameElement
access in a child iframe (#322)Date.parse
extended year testsDate.parse
precision variance in Safari 84.1.9
String#split
shim, to match ES6io.js
v2.4
eslint
, semver
4.1.8
Object.keys
IE 8 bug where localStorage.prototype.constructor === localStorage
would throw (#275)Object.defineProperty
should not throw for an empty descriptor (#315)Date#toISOString
in Safari 5.1 (#243)Object#propertyIsEnumerable
to default the initial "enumerable" value in Object.getOwnPropertyDescriptor
sham (#289)Array#splice
with large sparse arrays in Safari 7/8, and Opera 12.15 (#295)Date#{getUTCDate,getUTCMonth}
tests to expose Opera 10.6/11.61/12 Date
bugseslint
4.1.7
Date.parse
is not enumerable (#310)4.1.6
4.1.5
Date.parse
eslint
, semver
io.js
v2.2
4.1.4
Date
properties remain non-enumerable.Array#concat
rather than relying on the runtime environment's concat
.io.js
v2.1
Array.prototype
iteration methods4.1.3
license
in package.json
per https://docs.npmjs.com/files/package.json#licenseuglify-js
, eslint
4.1.2
Date
inside the function expression does not reference DateShim
(#303)constructor
propertyDate
io.js
v2.0.0
isPrimitive
check.Number
constants.uglify-js
, eslint
, semver
4.1.1
parseInt
replacement.eslint
, jscs
uglify-js
down to v2.4.17, since v2.4.18 and v2.4.19 have a breaking change.node
/iojs
versions now ship with an npm
that understands ^
.travis-ci
tests on latest node
and iojs
; speed up builds; allow 0.8 failures.Date
instances don't have an enumerable constructor
property, when possible.4.1.0
eslint
Array.isArray
, isRegex
isRegex
/isString
/isCallable
checks with inlined versions from npm moduleses-abstract
travis-ci
tests on iojs
!4.0.6
jscs
, uglify-js
, add eslint
Object.keys
issue with boxed primitives with extra properties in older browsers. (#242, #285)4.0.5
jscs
so tests pass4.0.4
4.0.3
4.0.2
4.0.1
4.0.0
deleteCount
is omitted - since no engines implement it, and ES6 changes it. (#255)3.4.0
deleteCount
is omitted, it's now treated as 0. (#192, #239)3.3.2
3.3.1
3.3.0
3.2.0
3.1.1
3.1.0
3.0.2
3.0.1
3.0.0
Object.getPrototypeOf
and Object.getOwnPropertyDescriptor
for Opera MiniArray#forEach
, Array#map
, Array#filter
, Array#every
, Array#some
, Array#reduce
, Date.parse
, String#trim
parseInt
Object.keys
handles more edge cases with arguments
objects and boxed primitives2.3.0
2.2.0
2.1.0
2.0.0
1.2.10
1.2.9
1.2.8
1.2.7 - REGRESSED
1.2.6
1.2.5
1.2.4
1.2.3