ES2020
, and a number of additional AOs: See the changelog entries for the prereleases for more information:
ES5+
: Abstract Relational Comparison
: increase coverageES2015
: add StringGetIndexProperty
ES2015+
: add RegExpCreate
, SplitMatch
, StringCreate
ES2016-ES2019
: add UTF16Decode
ES2020+
: add NumberToBigInt
ES2020+: add
BigInt::/
Number::` methods:ES5
: ToNumber
: properly refuse to parse ES6+ formsES2015+
: Invoke
: optional argumentsList must be a List of arguments, not a list of argumentsES2016+
: UTF16Encoding
: properly return a string code point instead of a numeric code pointES2020
: NumberBitwiseOp
: assert that x and y are NumbersES2015
: add missing CreateArrayIterator
AOES2015-ES2017
: add missing DaylightSavingTA
AOnpm run spackle
to update URLs left after 11d8c8df11
has-symbols
, string.prototype.trimend
, string.prototype.trimstart
, get-intrinsic
, is-callable
, is-regex
eslint
, @ljharb/eslint-config
, array.prototype.indexof
, aud
, es-value-fixtures
, object.fromentries
, tape
, diff
T::
numeric operationsBigInt(1e17)
throws on node v10.4-v10.6Number::
methodstape
v5 .equal
now uses strict equality, so no more need for is()
es-value-fixtures
helpers
: add isByteValue
, isCodePoint
, some
ES2018+
: fix GetSubstitution
with named capturesES2020
: GetIterator
: add omitted hint
parameterES2018
/ES2019
: SetFunctionLength
: Infinities should throwES2020
: ToIndex
uses SameValue
instead of SameValueZero
ES2020
: CopyDataProperties
uses CreateDataPropertyOrThrow
instead of CreateDataProperty
call-bind
instead of local helpersget-intrinsic
packagecall-bind
, get-intrinsic
, is-callable
, is-negative-zero
, is-regex
, object-inspect
, object.assign
, string.prototype.trimend
, string.prototype.trimstart
eslint
, @ljharb/eslint-config
, array.prototype.indexof
, aud
, diff
, functions-have-names
, has-bigints
, has-strict-mode
, object-is
, object.fromentries
, tape
pull_request_target
eventdeltas
script; update eslint on operations scriptsv.notNonNegativeIntegers
, v.nonConstructorFunctions
npm run test:ses
ES2020
: ToInteger
: -0
should always be normalized to +0
(#116)GetIntrinsic
: Adapt to override-mistake-fix pattern (#115)callBind
: ensure compatibility with SESis-callable
, object.assign
eslint
, @ljharb/eslint-config
ES2020
GetIntrinsic
: add %AggregateError%
, %FinalizationRegistry%
, and %WeakRef%
ES5
+: add abs
, floor
; use modulo
consistentlyGetIntrinsic
: Cache accessed intrinsics (#98)GetIntrinsic
: Add ES201x function intrinsics (#97)ES2015
+: add QuoteJSONString
, OrdinaryCreateFromConstructor
ES2017
+: add StringGetOwnProperty
ES2016
+: add UTF16Encoding
ES2018
+: add SetFunctionLength
, UnicodeEscape
isLeadingSurrogate
/isTrailingSurrogate
helpersES5
+: ToPropertyDescriptor
: use intrinsic TypeErrorES2018+
: CopyDataProperties
/NumberToString
: use intrinsic TypeErroris-regex
, object-inspect
eslint
ES2020
: ToInteger
: -0
should always be normalized to +0
(#116)GetIntrinsic
: Adapt to override-mistake-fix pattern (#115)callBind
: ensure compatibility with SESis-callable
, is-regex
, object-inspect
, object.assign
eslint
, @ljharb/eslint-config
helpers/getSymbolDescription
: use the global Symbol registry when available (#92)ES2015+
: IsConstructor
: when Reflect.construct
is available, be spec-accurate (#93)ES2015+
: Set
: Always return boolean value (#101)ES2015+
: Set
: ensure exceptions are thrown in IE 9 when requestedReflect.apply(…)
if available (#99)helpers/floor
: module-cache Math.floor
helpers/getSymbolDescription
: Prefer bound description
getter when present2016
: Use getIteratorMethod
in IterableToArrayLike
(#94)helpers/OwnPropertyKeys
: Use Reflect.ownKeys(…)
if available (#91)2018+
: Fix CopyDataProperties
depending on this
(#95)Type
: fix spec URLES2015
: complete ops listis‑callable
, is‑regex
string.prototype.trimleft
/string.prototype.trimright
to string.prototype.trimstart
/string.prototype.trimend
eslint
, @ljharb/eslint-config
, in-publish
, object-is
, tape
; add aud
helpers/isPropertyDescriptor
: fix indentationhelpers/getSymbolDescription
: add test cases; some envs have Symbol.for
but can not infer a name (#92)undefined
this (#96)CreateDataProperty
: update an existing propertycd75047018
make-arrow-function
, tape
, @ljharb/eslint-config
2015+
: add code to handle IE 8’s problemsObjectCreate
2015+
: Fall back to __proto__
and normal new
in older browsersGetIntrinsic
: ensure the allowMissing
property actually works on dotted intrinsicshelpers/OwnPropertyKeys
: include non-enumerables tooOwnPropertyKeys
helper, use it in CopyDataProperties
IteratorClose
: remove useless assignmenteslint
, tape
, diff
GetIntrinsic
: IE 8 has a broken Object.getOwnPropertyDescriptor
object.assign
is a runtime dep (prereleased)GetIntrinsic
: remove the internal property salts, since % already handles thatGetIntrinsic
: further simplificationis-callable
, string.prototype.trimleft
, string.prototype.trimright
, is-regex
@ljharb/eslint-config
, object-is
, object.fromentries
, tape
.eslintignore
object.assign
is a runtime depGetIntrinsic
: when given a path to a getter, return the actual gettereslint
eslint
GetIntrinsics
: turns out IE 8 throws when Object.getOwnPropertyDescriptor(arguments);
, and does not throw on callee
anywayses-to-primitive
, has-symbols
, object-inspect
eslint
, @ljharb/eslint-config
, safe-publish-latest
operations
funding
fieldcheck-coverage
, and let codecov do itES2015+
: add SetFunctionName
ES2015+
: add GetPrototypeFromConstructor
, with caveatsES2015+
: add CreateListFromArrayLike
ES2016+
: add OrdinarySetPrototypeOf
ES2016+
: add OrdinaryGetPrototypeOf
getSymbolDescription
and getInferredName
helpersGetIterator
: add fallback for pre-Symbol environments, testsobject.fromentries
node
v12.2
ES2018
+: add DateString
, TimeString
ES2015
+: add ToDateString
ES5
+: add msFromTime
, SecFromTime
, MinFromTime
, HourFromTime
, TimeWithinDay
, Day
, DayFromYear
, TimeFromYear
, YearFromTime
, WeekDay
, DaysInYear
, InLeapYear
, DayWithinYear
, MonthFromTime
, DateFromTime
, MakeDay
, MakeDate
, MakeTime
, TimeClip
, modulo
regexTester
helpercallBound
helperisPrefixOf
helpermaxSafeInteger
helperstring.prototype.trimleft
, string.prototype.trimright
eslint
node
v12.11
ES2016
: IterableToArrayLike
: add proper fallback for strings, pre-Symbolsnode
v12.10
ES2017+
: add IterableToList
ES2016
: add IterableToArrayLike
ES2015+
: add ArrayCreate
, ArraySetLength
, OrdinaryDefineOwnProperty
, OrdinaryGetOwnProperty
, OrdinaryHasProperty
, CreateHTML
, GetOwnPropertyKeys
, InstanceofOperator
, SymbolDescriptiveString
, GetSubstitution
, ValidateAndApplyPropertyDescriptor
, IsPromise
, OrdinaryHasInstance
, TestIntegrityLevel
, SetIntegrityLevel
callBind
helper, and use itisPropertyDescriptor
, every
Abstract Relational Comparison
Abstract Equality Comparison
, Strict Equality Comparison
ES2015+
: GetIterator
: only require native Symbols when method
is omittedES2015
: Call
: error message now properly displays Symbols using object-inspect
ES2015+
: ValidateAndApplyPropertyDescriptor
: use ES2017 logic to bypass spec bugsES2015+
: CreateDataProperty
, DefinePropertyOrThrow
, ValidateAndApplyPropertyDescriptor
: add fallbacks for ES3ES2015+
: FromPropertyDescriptor
: no longer requires a fully complete Property DescriptorES5
: IsPropertyDescriptor
: call into IsDataDescriptor
and IsAccessorDescriptor
has-symbols
for Symbol detectionhelpers/assertRecord
: remove console.log
object-keys
eslint
, @ljharb/eslint-config
, safe-publish-latest
, semver
, replace
, cheerio
, tape
node
v12.9
, v11.15
, v10.16
, v8.16
, v6.17
npx aud
only on prod depsnpx aud
instead of npm audit
with hoopseclint
instead of editorconfig-tools
ES2015+
: add thisBooleanValue
, thisNumberValue
, thisStringValue
, thisTimeValue
ES2015+
: add DefinePropertyOrThrow
, DeletePropertyOrThrow
, CreateMethodProperty
assertRecord
helperis-callable
, has
, object-keys
, es-to-primitive
eslint
, @ljharb/eslint-config
, tape
, semver
, safe-publish-latest
, replace
npm audit
instead of nsp
jscs
node
v11.6
, v10.15
, v8.15
, v6.16
values
helpergetOps
to programmatically fetch abstract operation namesGetIntrinsic
entry pointES2015
+: add ObjectCreate
ES2015+
: ensure Math.{abs,floor}
and Function.call
are cachedES2015+
: add iterator abstract opseslint
, nsp
, object.assign
, semver
, tape
node
v9.8
, v8.10
, v6.13
AdvanceStringIndex
eslint
, nsp
node
v9.2
, v8.9
, v6.12
; use nvm install-latest-npm
; pin included builds to LTSes2015+
: add ArraySpeciesCreate
CreateDataProperty
and CreateDataPropertyOrThrow
nsp
, eslint
es2015
+: ToNumber
: provide the proper hint for Date objects (#27)eslint
ToPropertyKey
: should return a symbol for Symbols (#26)function-bind
eslint
, @ljharb/eslint-config
IsPropertyDescriptor
, IsAccessorDescriptor
, IsDataDescriptor
, IsGenericDescriptor
, FromPropertyDescriptor
, ToPropertyDescriptor
CompletePropertyDescriptor
, Set
, HasOwnProperty
, HasProperty
, IsConcatSpreadable
, Invoke
, CreateIterResultObject
, RegExpExec
is-regex
nsp
, eslint
, @ljharb/eslint-config
eslint
, @ljharb/eslint-config
, nsp
, semver
, tape
node
v8.2
, v7.10
, v6.11
, v4.8
; newer npm breaks on older nodenyc
for code coverageGetMethod
(#16)GetV
(#16)Get
(#17)node
v7.4
, v6.9
, v4.6
; improve test matrixtape
, nsp
, eslint
, @ljharb/eslint-config
, safe-publish-latest
class
constructors.Type
SpeciesConstructor
jscs
, nsp
, eslint
, @ljharb/eslint-config
, semver
; add safe-publish-latest
node
v6.4
, v5.12
, v4.5
ES.IsRegExp
: actually look up Symbol.match
on the argumentisNaN
helperis-callable
, function-bind
es-to-primitive
, fix ES5 testsjscs
, eslint
, @ljharb/eslint-config
, tape
, nsp
node
v6.2
, v5.11
, v4.4
Symbol.toPrimitive
support via es-to-primitive
is-callable
, es-to-primitive
jscs
, nsp
, eslint
, @ljharb/eslint-config
, semver
, tape
node
v5.3
ES6.ToNumber
: should give NaN
for explicitly signed hex strings (#4)ES6.ToNumber
: No need to double-trimnode
v0.8
ES.ToNumber
trims whitespace, and does not trim non-whitespace (#3)tape
, jscs
, nsp
, eslint
, @ljharb/eslint-config
node
v5.0
is-callable
tape
, jscs
, eslint
, @ljharb/eslint-config
node
v4.2
SameValueNonNumber
to ES7ES6.IsRegExp
to properly handle Symbol.match
, per spec.io.js
v3.3
, node
v4.1
tape
, jscs
, nsp
, eslint
, @ljharb/eslint-config
, semver
toString
to a binary or octal literal also convert properlyjscs
, eslint
, @ljharb/eslint-config
, tape
io.js
v3.0
ES5.CheckObjectCoercible
and ES6.RequireObjectCoercible
return the value if they don't throw.io.js
versions.eslint
, jscs
, tape
, semver
, covert
, nsp
isFinite
helper.es-to-primitive
for ToPrimitive methods.io.js
versions; allow failures on all but 2 latest node
/io.js
versions.eslint
, editorconfig-tools
, semver
, nsp
node
/iojs
versions now ship with an npm
that understands ^
.iojs-v1.2
.is-callable
instead of an internal function.tape
, jscs
, nsp
, eslint