All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
GetIntrinsic: Adapt to override-mistake-fix pattern #79ES2020: ToInteger: -0 should always be normalized to +0 #116311ff25e9577884e74e41callBind: ensure compatibility with SES e3d956ais-callable, object.assign e094224eslint, @ljharb/eslint-config 7677020a2d744b6547eccES5+: ToPropertyDescriptor: use intrinsic TypeError #107ES2018+: CopyDataProperties/NumberToString: use intrinsic TypeError #107ES2020 67a1a94ES5+: add abs, floor; use modulo consistently d253fe0ES2015+: add QuoteJSONString, OrdinaryCreateFromConstructor 4e8d479GetIntrinsic: Cache accessed intrinsics 5999619ES2018+: add SetFunctionLength, UnicodeEscape 343db0eES2017+: add StringGetOwnProperty bcef4b2ES2016+: add UTF16Encoding a4340d8GetIntrinsic: Add ES201x function intrinsics 1f8ad9bisLeadingSurrogate/isTrailingSurrogate helpers 7ae6aaeeslint 7e6ccd7GetIntrinsic: add %AggregateError%, %FinalizationRegistry%, and %WeakRef% 249621eeslint f63d0a2is-regex c2d4586eslint 3f88447object-inspect bb82b41GetIntrinsic: Adapt to override-mistake-fix pattern #79ES5+: ToPropertyDescriptor: use intrinsic TypeError #107ES2018+: CopyDataProperties/NumberToString: use intrinsic TypeError #107callBind: ensure compatibility with SES af46f9fis-callable, is-regex, object-inspect, object.assign 864f71deslint, @ljharb/eslint-config af450a8286a24b8a9cf6aES2015: complete ops list c98e703ES2015+: IsConstructor: when Reflect.construct is available, be spec-accurate d959e6dES2015+: Set: Always return boolean value 24c2ac0Reflect.apply(…) if available 606a7522016: Use getIteratorMethod in IterableToArrayLike 9464824f0c185bES2015+: Set: ensure exceptions are thrown in IE 9 when requested 7a963e3undefined this 5322bdehelpers/getSymbolDescription: use the global Symbol registry when available 9e1c00d2018+: Fix CopyDataProperties depending on this 8a05dc9helpers/getSymbolDescription: add test cases e468cbeSymbol.for but can not infer a name 2ab5e6deslint, @ljharb/eslint-config, in-publish, object-is, tape; add aud 752669eType: fix spec URL 965b68bstring.prototype.trimleft/string.prototype.trimright to string.prototype.trimstart/string.prototype.trimend 80dc848is‑callable, is‑regex e280a27eslint, tape 5a1188fhelpers/floor: module-cache Math.floor fddd8e6helpers/OwnPropertyKeys: Use Reflect.ownKeys(…) if available 65068e7helpers/getSymbolDescription: Prefer bound description getter when present 537d8d5eslint c2440d9helpers/isPropertyDescriptor: fix indentation e438539CreateDataProperty: update an existing property bdd77b5@ljharb/eslint-config 9f1690fmake-arrow-function, tape 920a682cd75047018 b9069acObjectCreate 2015+: Fall back to __proto__ and normal new in older browsers 71772e2GetIntrinsic: ensure the allowMissing property actually works on dotted intrinsics 05a2883helpers/OwnPropertyKeys: include non-enumerables too 810b305OwnPropertyKeys helper, use it in CopyDataProperties 406775cIteratorClose: remove useless assignment e0e74ceeslint, tape 7fcb8addiff 8645d63GetIntrinsic: remove the internal property salts, since % already handles that 3567ae9f0b1083GetIntrinsic: further simplification 9be0385GetIntrinsic: IE 8 has a broken Object.getOwnPropertyDescriptor c52fa59is-callable, string.prototype.trimleft, string.prototype.trimright fb308ec@ljharb/eslint-config 96719b9tape b84552dobject-is e2df4deis-regex 158ed34object.fromentries 84c50fb.eslintignore 0c7f99a#770deb443990c8bespackle script to fill in holes of operations that inherit from previous years e5ee0baGetIntrinsic: when given a path to a getter, return the actual getter 0c000eeeslint f2d1a86fa5f0cce529b4beslint bf52fa4operations #6217fb792eslint 11096eeGetIntrinsics: turns out IE 8 throws when Object.getOwnPropertyDescriptor(arguments);, and does not throw on callee anyways 14e011537ae5a5@ljharb/eslint-config dc500f2eslint, @ljharb/eslint-config, safe-publish-latest 51805a6es-to-primitive, has-symbols, object-inspect 114c0a8funding field 466f48fcheck-coverage, and let codecov do it 941d75bd3a597abbc9331GetIterator: add fallback for pre-Symbol environments, tests 1891885ES2015+: add SetFunctionName d171aeagetSymbolDescription and getInferredName helpers f721f34ES2016+: add OrdinarySetPrototypeOf 0fd1234ES2015+: add CreateListFromArrayLike b11432aES2015+: add GetPrototypeFromConstructor, with caveats f1d05e0ES2016+: add OrdinaryGetPrototypeOf 1e43409node v12.2 8fc2556ef4b0dfobject.fromentries 26830beES5+: add msFromTime, SecFromTime, MinFromTime, HourFromTime, TimeWithinDay, Day, DayFromYear, TimeFromYear, YearFromTime, WeekDay, DaysInYear, InLeapYear, DayWithinYear, MonthFromTime, DateFromTime, MakeDay, MakeDate, MakeTime, TimeClip, modulo 2722e960be1213callBound helper 4ea63aaES2018+: add DateString, TimeString 9fdeaf5a71d377isPrefixOf helper 8230a5eES2015+: add ToDateString b215d86regexTester helper bf462c6maxSafeInteger helper c15a612node v12.11 9538b51string.prototype.trimleft, string.prototype.trimright ba00f56eslint d7ea1b8ES2016: IterableToArrayLike: add proper fallback for strings, pre-Symbols a6b5b30node v12.10 ce0f82b3bacba8ES2015+: add ValidateAndApplyPropertyDescriptor 338bc63ES2015+: add GetSubstitution f350165Abstract Equality Comparison, Strict Equality Comparison bb0aaafdda7421Abstract Relational Comparison 96eb2981efe5deeslint, @ljharb/eslint-config 138143eES2015+: add OrdinaryGetOwnProperty 0609672callBind helper, and use it 9518775ES2015+: add ArraySetLength 799302e1a6337f95cadbbES2016: add IterableToArrayLike 06b9be9TestIntegrityLevel e0cd84dSetIntegrityLevel 658bd05ES2015+: add GetOwnPropertyKeys 6e57098ES2015+: FromPropertyDescriptor: no longer requires a fully complete Property Descriptor bac1b26ES2015+: add ArrayCreate ccb47e4ES2015+: CreateDataProperty, DefinePropertyOrThrow, ValidateAndApplyPropertyDescriptor: add fallbacks for ES3 c538dd8d8b1e87ES2015+: add InstanceofOperator 6a431b9ES2015+: add OrdinaryDefineOwnProperty f5ae698ES2017+: add IterableToList 2a99268ES2015+: add CreateHTML 06750b2f229347isPropertyDescriptor helper c801cefOrdinaryHasInstance ea69a84ES2015+: add OrdinaryHasProperty 979fd9eES2015+: add SymbolDescriptiveString 2bcde98IsPromise cbdd387eslint, @ljharb/eslint-config, safe-publish-latest, semver, replace ce4d3c46f0f437node v12.4, v11.15, v6.17 48e2dbbES2015+: ValidateAndApplyPropertyDescriptor: use ES2017 logic to bypass spec bugs 3ca93d3node v12.6, v10.16, v8.16 fe1820116ffa72ES5: IsPropertyDescriptor: call into IsDataDescriptor and IsAccessorDescriptor 0af0e31every helper 1fd013cnpx aud instead of npm audit with hoops 6a5a357node v12.9 7eb3080cheerio, eslint, semver, tape 8028280ES2015+: GetIterator: only require native Symbols when method is omitted 35c96a52f59799eslint, replace, tape 10875c9ES2015: Call: error message now properly displays Symbols using object-inspect 14b298ahas-symbols for Symbol detection 35c6730eclint instead of editorconfig-tools bffa735npx aud only on prod deps ba56593eslint 1a427804ac4f62semver 2bb88e9af6f7d2a5e628913ff759object-keys 195d439b6d6434object-keys 6af6a10d454a7ahelpers/assertRecord: remove console.log 470a7cegetOps to programmatically fetch abstract operation names 586a35ee7fd676jscs 2f7ce40a8153d3assertRecord helper 3a2826dvalues helper 7dcee9bthisBooleanValue, thisNumberValue, thisStringValue, thisTimeValue aea0e44ES2015+: add DefinePropertyOrThrow be3cf5dES2015+: add DeletePropertyOrThrow 5cf4887CreateMethodProperty 8f9c068node v11.6, v10.15, v8.15, v6.16 e6fb553ES2015+: Add CreateMethodProperty 5e8d6cac12262dnode v11.0, v10.12, v8.12 8f91211bede79enode v10.7 3218b61eslint, @ljharb/eslint-config, tape 5944e17IsPropertyDescriptor 06dbc11eslint, @ljharb/eslint-config, replace, tape a093b0dnpm audit instead of nsp d082818eslint, safe-publish-latest, semver 9d6a36ais-callable, has, object-keys 4695a34semver, eslint 25944c5es-to-primitive 80bfd94eslint bcb7dadf42ce4cca86456eslint, nsp, object.assign, semver, tape 5eb3c9aGetIntrinsic entry point 10c9f99cad40fa5eb3c9a9cf c4657a5ES2015+: add AdvanceStringIndex 4041660ES2015+: add ObjectCreate e976362node v10.0, v9.11, v8.11, v6.14, v4.9; use nvm install-latest-npm 20aae84ES2015+: ensure Math.{abs,floor} and Function.call are cached. 2a1bc18NormalCompletion abstract op 5a263edGetIntrinsic: increase coverage 089eafdhelpers/assign: call-bind "has" 8f5fae010844998c3c532replace 7fd00545bcd3a055a58b5eslint; ignore nyc on greenkeeper since v11+ drops support for older nodes f0506b5ES2016+: add OrdinarySet f2fa1687956878ES2017: add IsSharedArrayBuffer to list 56b462e929e5d1node v10.2 1f80100node v10.1 9ee6ffaobject-inspect instead of util.format for debug info c0cce8enode v0.6 required 8eaf4cdf885332ES2015+: add iterator abstract ops: 2588b6bnode v9.8, v8.10, v6.13 225d552eslint, nsp, object.assign, semver, tape 7f6db81AdvanceStringIndex 5aa27f0node v9, v8.9; use nvm install-latest-npm; pin included builds to LTS 717aea6node v9.2, v6.12 052918deslint, nsp d1887dbb76fb1deslint be164d3f2baca3ArraySpeciesCreate 8256b1bd585ee3CreateDataProperty and CreateDataPropertyOrThrow 1003754originalArrays. 5dd1065nsp, eslint 9382bfaes2015+: ToNumber: provide the proper hint for Date objects. #27eslint cf4e870ToPropertyKey: should return a symbol for Symbols. #26eslint, @ljharb/eslint-config 9ae67a580a7af5function-bind 1588dab99d9096CompletePropertyDescriptor, Set, HasOwnProperty, HasProperty, IsConcatSpreadable, Invoke, CreateIterResultObject, RegExpExec d53852eIsPropertyDescriptor, IsAccessorDescriptor, IsDataDescriptor, IsGenericDescriptor, FromPropertyDescriptor, ToPropertyDescriptor caa62daade044d047f76155d610feslint, @ljharb/eslint-config, nsp, semver, tape 37c527293efd66node v8.2, v7.10, v6.11, v4.8; newer npm breaks on older node ff32a32311c416e48bcb7nyc for code coverage 2e9784160d53056549464b397fb35c28e72nsp, eslint, @ljharb/eslint-config 5f09a50tape 2f0fc3cc69b8a3is-regex 0600ae5node v7.4; improve test matrix fe20c5bES6: Add GetMethod 2edc976Get 3b375c5ES6: Add GetV d72527etape, eslint, @ljharb/eslint-config 949ff34node v7.0, v6.9, v4.6; improve test matrix 31bf7e1tape, nsp, eslint, @ljharb/eslint-config, safe-publish-latest 0351537eslint, @ljharb/eslint-config fce5110node v7.2 cca76e3class constructors. 8fd9281SpeciesConstructor f15a7f3Type 2fae9c6jscs, nsp, eslint, @ljharb/eslint-config, semver bd992aftape, jscs, nsp, eslint, @ljharb/eslint-config, semver b783e29node v6.4, v4.5 e217b69safe-publish-latest b469ab3node v5.12 a1fa32fes-to-primitive, fix ES5 tests. #6tape, jscs, nsp, eslint, @ljharb/eslint-config 4a0c1c3jscs, nsp, eslint, @ljharb/eslint-config f0f379ajscs, nsp, eslint 2eec6cds/ /\t/g efe1104jscs, eslint, @ljharb/eslint-config e6738f6jscs, eslint, @ljharb/eslint-config 5320c76node v5.6, v4.3 67cb32bnode v5.9, v4.4 3b86e4aisNaN helper. dca4e0enode v6.2 6b3dab1a2b6a25jscs, @ljharb/eslint-config 7b66c31ES.IsRegExp: actually look up Symbol.match on the argument. 8c7df66node v5.10 9ca82a5is-callable c9be39beslint 1bc8fc9node v5.7 78b08fbfunction-bind e657bcbis-callable 0a3fbb3jscs, eslint, semver 8545989jscs, nsp, eslint ff2f1d8jscs, nsp, eslint, @ljharb/eslint-config 6ad543ftape, nsp 43394e1node v5.3 2a1d7fees-to-primitive 80cd4d3is-callable e65039fnode v5.1 5687653ES6.ToNumber: should give NaN for explicitly signed hex strings. #4e8d8758ES6.ToNumber: No need to double-trim. 2538ea7node v0.8 2555593ES.ToNumber trims whitespace, and does not trim non-whitespace. #3#2tape, jscs, nsp, eslint, @ljharb/eslint-config 576d57f799bfefba2a70enode v5.0 eaf17a8SameValueNonNumber to ES7. 095c0c9tape, jscs, eslint, @ljharb/eslint-config 58a67a3jscs, eslint, @ljharb/eslint-config 96050f2node v4.2 ee16fbeis-callable 785f0bfIsRegExp to properly handle Symbol.match, per spec. ab96c1cjscs, nsp, eslint, @ljharb/eslint-config, semver 490a8baio.js v3.3, node v4.1 922af35eslint, @ljharb/eslint-config 7e1186atape d3f4f33toString to a binary or octal literal also convert properly. 34d0f5bjscs, eslint, @ljharb/eslint-config da1eb8cc81b8ecjscs b351a07tape, eslint 64ddee9tape 4d93933164831etape 6704daaio.js v2.5 d846f8fio.js v3.0 84d008eeslint config. 8ce5117eslint 9bdef0eeslint, jscs, tape, semver 4166e79eslint, nsp, semver edfbec0jscs, eslint, covert, semver dedefc3io.js v2.3 f7202871199a5etape, eslint, semver e0ac913io.js versions. e018b38io.js v2.4 4cdd2cbeslint fa07aecio.js v2.1 edfc1fdio.js v2.0 4b73b2aES5.CheckObjectCoercible and ES6.RequireObjectCoercible return the value if they don't throw. d72e8690d4f914es-to-primitive c554cf5io.js versions; allow failures on all but 2 latest node/io.js versions. 7941ebaeslint, editorconfig-tools, semver 84554eceslint, nsp b9308e75affc7dmake release 73d9f1feslint 0c6078901d7e1be1f4455eea63000a64fb8fd70ce75ee44262bff2bd1969d6f4d59162make release, make list, make test. aa2bc633a856b2007e224node/iojs versions now ship with an npm that understands ^. b22c9122b85940tape, jscs, nsp, eslint f83ada2is-callable instead of this internal function. b8b2d51travis-ci tests on iojs and node v0.12; allow 0.8 failures. 91dfb1atape, jscs c2e81bdeslint adf41d8iojs-v1.2. 5911eef8721dea68f873b8325deeeslint, @ljharb/eslint-config, aud, has-bigints, object-inspect 0c227a770d2419d1d280d5031771es-value-fixtures af48765bbce57c17b4f0d3153294fb326c448862fbauto-changelog 5f28ad0FUNDING.yml c2bbddenpm run lint 0a84b989586c75