11.18.0-next.1 / 2020-09-30 2================= 3 * [Fix] `ES2020`: `ToInteger`: `-0` should always be normalized to `+0` (#116) 4 * [patch] `GetIntrinsic`: Adapt to override-mistake-fix pattern (#115) 5 * [Fix] `callBind`: ensure compatibility with SES 6 * [Deps] update `is-callable`, `object.assign` 7 * [Dev Deps] update `eslint`, `@ljharb/eslint-config` 8 * [eslint] fix warning 9 * [Tests] temporarily allow SES tests to fail (#115) 10 * [Tests] ses-compat - initialize module after ses lockdown (#113) 11 * [Tests] [Refactor] use defineProperty helper rather than assignment 12 * [Tests] [Refactor] clean up defineProperty test helper 13 141.18.0-next.0 / 2020-08-14 15================= 16 * [New] add `ES2020` 17 * [New] `GetIntrinsic`: add `%AggregateError%`, `%FinalizationRegistry%`, and `%WeakRef%` 18 * [New] `ES5`+: add `abs`, `floor`; use `modulo` consistently 19 * [New] `GetIntrinsic`: Cache accessed intrinsics (#98) 20 * [New] `GetIntrinsic`: Add ES201x function intrinsics (#97) 21 * [New] `ES2015`+: add `QuoteJSONString`, `OrdinaryCreateFromConstructor` 22 * [New] `ES2017`+: add `StringGetOwnProperty` 23 * [New] `ES2016`+: add `UTF16Encoding` 24 * [New] `ES2018`+: add `SetFunctionLength`, `UnicodeEscape` 25 * [New] add `isLeadingSurrogate`/`isTrailingSurrogate` helpers 26 * [Fix] `ES5`+: `ToPropertyDescriptor`: use intrinsic TypeError 27 * [Fix] `ES2018+`: `CopyDataProperties`/`NumberToString`: use intrinsic TypeError 28 * [Deps] update `is-regex`, `object-inspect` 29 * [Dev Deps] update `eslint` 30 311.17.6 / 2020-06-13 32================= 33 * [Fix] `helpers/getSymbolDescription`: use the global Symbol registry when available (#92) 34 * [Fix] `ES2015+`: `IsConstructor`: when `Reflect.construct` is available, be spec-accurate (#93) 35 * [Fix] `ES2015+`: `Set`: Always return boolean value (#101) 36 * [Fix] `ES2015+`: `Set`: ensure exceptions are thrown in IE 9 when requested 37 * [Fix] Use `Reflect.apply(…)` if available (#99) 38 * [Fix] `helpers/floor`: module-cache `Math.floor` 39 * [Fix] `helpers/getSymbolDescription`: Prefer bound `description` getter when present 40 * [Fix] `2016`: Use `getIteratorMethod` in `IterableToArrayLike` (#94) 41 * [Fix] `helpers/OwnPropertyKeys`: Use `Reflect.ownKeys(…)` if available (#91) 42 * [Fix] `2018+`: Fix `CopyDataProperties` depending on `this` (#95) 43 * [meta] mark spackled files as autogenerated 44 * [meta] `Type`: fix spec URL 45 * [meta] `ES2015`: complete ops list 46 * [Deps] update `is‑callable`, `is‑regex` 47 * [Deps] switch from `string.prototype.trimleft`/`string.prototype.trimright` to `string.prototype.trimstart`/`string.prototype.trimend` 48 * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `in-publish`, `object-is`, `tape`; add `aud` 49 * [eslint] `helpers/isPropertyDescriptor`: fix indentation 50 * [Tests] `helpers/getSymbolDescription`: add test cases; some envs have `Symbol.for` but can not infer a name (#92) 51 * [Tests] try out CodeQL analysis 52 * [Tests] reformat expected missing ops 53 * [Tests] Run tests with `undefined` this (#96) 54 551.17.5 / 2020-03-22 56================= 57 * [Fix] `CreateDataProperty`: update an existing property 58 * [Fix] run missing spackle from cd7504701879ddea0f5981e99cbcf93bfea9171d 59 * [Dev Deps] update `make-arrow-function`, `tape`, `@ljharb/eslint-config` 60 611.17.4 / 2020-01-21 62================= 63 * [Fix] `2015+`: add code to handle IE 8’s problems 64 * [Tests] fix tests for IE 8 65 661.17.3 / 2020-01-19 67================= 68 * [Fix] `ObjectCreate` `2015+`: Fall back to `__proto__` and normal `new` in older browsers 69 * [Fix] `GetIntrinsic`: ensure the `allowMissing` property actually works on dotted intrinsics 70 711.17.2 / 2020-01-14 72================= 73 * [Fix] `helpers/OwnPropertyKeys`: include non-enumerables too 74 751.17.1 / 2020-01-14 76================= 77 * [Refactor] add `OwnPropertyKeys` helper, use it in `CopyDataProperties` 78 * [Refactor] `IteratorClose`: remove useless assignment 79 * [Dev Deps] update `eslint`, `tape`, `diff` 80 811.17.0 / 2019-12-20 82================= 83 * [New] Split up each operation into its own file (prereleased) 84 * [Fix] `GetIntrinsic`: IE 8 has a broken `Object.getOwnPropertyDescriptor` 85 * [Fix] `object.assign` is a runtime dep (prereleased) 86 * [Refactor] `GetIntrinsic`: remove the internal property salts, since % already handles that 87 * [Refactor] `GetIntrinsic`: further simplification 88 * [Deps] update `is-callable`, `string.prototype.trimleft`, `string.prototype.trimright`, `is-regex` 89 * [Dev Deps] update `@ljharb/eslint-config`, `object-is`, `object.fromentries`, `tape` 90 * [Tests] add `.eslintignore` 91 * [meta] remove unused Makefile and associated utils 92 * [meta] only run spackle script in publish (#78) (prereleased) 93 941.17.0-next.1 / 2019-12-11 95================= 96 * [Fix] `object.assign` is a runtime dep 97 * [meta] only run spackle script in publish (#78) 98 991.17.0-next.0 / 2019-12-11 100================= 101 * [New] Split up each operation into its own file 102 1031.16.3 / 2019-12-04 104================= 105 * [Fix] `GetIntrinsic`: when given a path to a getter, return the actual getter 106 * [Dev Deps] update `eslint` 107 1081.16.2 / 2019-11-24 109================= 110 * [Fix] IE 6-7 lack JSON 111 * [Fix] IE 6-8 strings can’t use array slice, they need string slice 112 * [Dev Deps] update `eslint` 113 1141.16.1 / 2019-11-24 115================= 116 * [Fix] `GetIntrinsics`: turns out IE 8 throws when `Object.getOwnPropertyDescriptor(arguments);`, and does not throw on `callee` anyways 117 * [Deps] update `es-to-primitive`, `has-symbols`, `object-inspect` 118 * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest` 119 * [meta] re-include year files inside `operations` 120 * [meta] add `funding` field 121 * [actions] add Automatic Rebase github action 122 * [Tests] use shared travis-ci config 123 * [Tests] disable `check-coverage`, and let codecov do it 124 1251.16.0 / 2019-10-18 126================= 127 * [New] `ES2015+`: add `SetFunctionName` 128 * [New] `ES2015+`: add `GetPrototypeFromConstructor`, with caveats 129 * [New] `ES2015+`: add `CreateListFromArrayLike` 130 * [New] `ES2016+`: add `OrdinarySetPrototypeOf` 131 * [New] `ES2016+`: add `OrdinaryGetPrototypeOf` 132 * [New] add `getSymbolDescription` and `getInferredName` helpers 133 * [Fix] `GetIterator`: add fallback for pre-Symbol environments, tests 134 * [Dev Deps] update `object.fromentries` 135 * [Tests] add `node` `v12.2` 136 1371.15.0 / 2019-10-02 138================= 139 * [New] `ES2018`+: add `DateString`, `TimeString` 140 * [New] `ES2015`+: add `ToDateString` 141 * [New] `ES5`+: add `msFromTime`, `SecFromTime`, `MinFromTime`, `HourFromTime`, `TimeWithinDay`, `Day`, `DayFromYear`, `TimeFromYear`, `YearFromTime`, `WeekDay`, `DaysInYear`, `InLeapYear`, `DayWithinYear`, `MonthFromTime`, `DateFromTime`, `MakeDay`, `MakeDate`, `MakeTime`, `TimeClip`, `modulo` 142 * [New] add `regexTester` helper 143 * [New] add `callBound` helper 144 * [New] add ES2020’s intrinsic dot notation 145 * [New] add `isPrefixOf` helper 146 * [New] add `maxSafeInteger` helper 147 * [Deps] update `string.prototype.trimleft`, `string.prototype.trimright` 148 * [Dev Deps] update `eslint` 149 * [Tests] on `node` `v12.11` 150 * [meta] npmignore operations scripts; add "deltas" 151 1521.14.2 / 2019-09-08 153================= 154 * [Fix] `ES2016`: `IterableToArrayLike`: add proper fallback for strings, pre-Symbols 155 * [Tests] on `node` `v12.10` 156 1571.14.1 / 2019-09-03 158================= 159 * [meta] republish with some extra files removed 160 1611.14.0 / 2019-09-02 162================= 163 * [New] add ES2019 164 * [New] `ES2017+`: add `IterableToList` 165 * [New] `ES2016`: add `IterableToArrayLike` 166 * [New] `ES2015+`: add `ArrayCreate`, `ArraySetLength`, `OrdinaryDefineOwnProperty`, `OrdinaryGetOwnProperty`, `OrdinaryHasProperty`, `CreateHTML`, `GetOwnPropertyKeys`, `InstanceofOperator`, `SymbolDescriptiveString`, `GetSubstitution`, `ValidateAndApplyPropertyDescriptor`, `IsPromise`, `OrdinaryHasInstance`, `TestIntegrityLevel`, `SetIntegrityLevel` 167 * [New] add `callBind` helper, and use it 168 * [New] add helpers: `isPropertyDescriptor`, `every` 169 * [New] ES5+: add `Abstract Relational Comparison` 170 * [New] ES5+: add `Abstract Equality Comparison`, `Strict Equality Comparison` 171 * [Fix] `ES2015+`: `GetIterator`: only require native Symbols when `method` is omitted 172 * [Fix] `ES2015`: `Call`: error message now properly displays Symbols using `object-inspect` 173 * [Fix] `ES2015+`: `ValidateAndApplyPropertyDescriptor`: use ES2017 logic to bypass spec bugs 174 * [Fix] `ES2015+`: `CreateDataProperty`, `DefinePropertyOrThrow`, `ValidateAndApplyPropertyDescriptor`: add fallbacks for ES3 175 * [Fix] `ES2015+`: `FromPropertyDescriptor`: no longer requires a fully complete Property Descriptor 176 * [Fix] `ES5`: `IsPropertyDescriptor`: call into `IsDataDescriptor` and `IsAccessorDescriptor` 177 * [Refactor] use `has-symbols` for Symbol detection 178 * [Fix] `helpers/assertRecord`: remove `console.log` 179 * [Deps] update `object-keys` 180 * [readme] add security note 181 * [meta] change http URLs to https 182 * [meta] linter cleanup 183 * [meta] fix getOps script 184 * [meta] add FUNDING.yml 185 * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `semver`, `replace`, `cheerio`, `tape` 186 * [Tests] up to `node` `v12.9`, `v11.15`, `v10.16`, `v8.16`, `v6.17` 187 * [Tests] temporarily allow node 0.6 to fail; segfaulting in travis 188 * [Tests] use the values helper more in es5 tests 189 * [Tests] fix linting to apply to all files 190 * [Tests] run `npx aud` only on prod deps 191 * [Tests] add v.descriptors helpers 192 * [Tests] use `npx aud` instead of `npm audit` with hoops 193 * [Tests] use `eclint` instead of `editorconfig-tools` 194 * [Tests] some intrinsic cleanup 195 * [Tests] migrate es5 tests to use values helper 196 * [Tests] add some missing ES2015 ops 197 1981.13.0 / 2019-01-02 199================= 200 * [New] add ES2018 201 * [New] add ES2015/ES2016: EnumerableOwnNames; ES2017: EnumerableOwnProperties 202 * [New] `ES2015+`: add `thisBooleanValue`, `thisNumberValue`, `thisStringValue`, `thisTimeValue` 203 * [New] `ES2015+`: add `DefinePropertyOrThrow`, `DeletePropertyOrThrow`, `CreateMethodProperty` 204 * [New] add `assertRecord` helper 205 * [Deps] update `is-callable`, `has`, `object-keys`, `es-to-primitive` 206 * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`, `semver`, `safe-publish-latest`, `replace` 207 * [Tests] use `npm audit` instead of `nsp` 208 * [Tests] remove `jscs` 209 * [Tests] up to `node` `v11.6`, `v10.15`, `v8.15`, `v6.16` 210 * [Tests] move descriptor factories to `values` helper 211 * [Tests] add `getOps` to programmatically fetch abstract operation names 212 2131.12.0 / 2018-05-31 214================= 215 * [New] add `GetIntrinsic` entry point 216 * [New] `ES2015`+: add `ObjectCreate` 217 * [Robustness]: `ES2015+`: ensure `Math.{abs,floor}` and `Function.call` are cached 218 2191.11.0 / 2018-03-21 220================= 221 * [New] `ES2015+`: add iterator abstract ops 222 * [Dev Deps] update `eslint`, `nsp`, `object.assign`, `semver`, `tape` 223 * [Tests] up to `node` `v9.8`, `v8.10`, `v6.13` 224 2251.10.0 / 2017-11-24 226================= 227 * [New] ES2015+: `AdvanceStringIndex` 228 * [Dev Deps] update `eslint`, `nsp` 229 * [Tests] require node 0.6 to pass again 230 * [Tests] up to `node` `v9.2`, `v8.9`, `v6.12`; use `nvm install-latest-npm`; pin included builds to LTS 231 2321.9.0 / 2017-09-30 233================= 234 * [New] `es2015+`: add `ArraySpeciesCreate` 235 * [New] ES2015+: add `CreateDataProperty` and `CreateDataPropertyOrThrow` 236 * [Tests] consolidate duplicated tests 237 * [Tests] increase coverage 238 * [Dev Deps] update `nsp`, `eslint` 239 2401.8.2 / 2017-09-03 241================= 242 * [Fix] `es2015`+: `ToNumber`: provide the proper hint for Date objects (#27) 243 * [Dev Deps] update `eslint` 244 2451.8.1 / 2017-08-30 246================= 247 * [Fix] ES2015+: `ToPropertyKey`: should return a symbol for Symbols (#26) 248 * [Deps] update `function-bind` 249 * [Dev Deps] update `eslint`, `@ljharb/eslint-config` 250 * [Docs] github broke markdown parsing 251 2521.8.0 / 2017-08-04 253================= 254 * [New] add ES2017 255 * [New] move es6+ to es2015+; leave es6/es7 as aliases 256 * [New] ES5+: add `IsPropertyDescriptor`, `IsAccessorDescriptor`, `IsDataDescriptor`, `IsGenericDescriptor`, `FromPropertyDescriptor`, `ToPropertyDescriptor` 257 * [New] ES2015+: add `CompletePropertyDescriptor`, `Set`, `HasOwnProperty`, `HasProperty`, `IsConcatSpreadable`, `Invoke`, `CreateIterResultObject`, `RegExpExec` 258 * [Fix] es7/es2016: do not mutate ES6 259 * [Fix] assign helper only supports one source 260 * [Deps] update `is-regex` 261 * [Dev Deps] update `nsp`, `eslint`, `@ljharb/eslint-config` 262 * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `nsp`, `semver`, `tape` 263 * [Tests] add tests for missing and excess operations 264 * [Tests] add codecov for coverage 265 * [Tests] up to `node` `v8.2`, `v7.10`, `v6.11`, `v4.8`; newer npm breaks on older node 266 * [Tests] use same lists of value types across tests; ensure tests are the same when ops are the same 267 * [Tests] ES2015: add ToNumber symbol tests 268 * [Tests] switch to `nyc` for code coverage 269 * [Tests] make IsRegExp tests consistent across editions 270 2711.7.0 / 2017-01-22 272================= 273 * [New] ES6: Add `GetMethod` (#16) 274 * [New] ES6: Add `GetV` (#16) 275 * [New] ES6: Add `Get` (#17) 276 * [Tests] up to `node` `v7.4`, `v6.9`, `v4.6`; improve test matrix 277 * [Dev Deps] update `tape`, `nsp`, `eslint`, `@ljharb/eslint-config`, `safe-publish-latest` 278 2791.6.1 / 2016-08-21 280================= 281 * [Fix] ES6: IsConstructor should return true for `class` constructors. 282 2831.6.0 / 2016-08-20 284================= 285 * [New] ES5 / ES6: add `Type` 286 * [New] ES6: `SpeciesConstructor` 287 * [Dev Deps] update `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`; add `safe-publish-latest` 288 * [Tests] up to `node` `v6.4`, `v5.12`, `v4.5` 289 2901.5.1 / 2016-05-30 291================= 292 * [Fix] `ES.IsRegExp`: actually look up `Symbol.match` on the argument 293 * [Refactor] create `isNaN` helper 294 * [Deps] update `is-callable`, `function-bind` 295 * [Deps] update `es-to-primitive`, fix ES5 tests 296 * [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config`, `tape`, `nsp` 297 * [Tests] up to `node` `v6.2`, `v5.11`, `v4.4` 298 * [Tests] use pretest/posttest for linting/security 299 3001.5.0 / 2015-12-27 301================= 302 * [New] adds `Symbol.toPrimitive` support via `es-to-primitive` 303 * [Deps] update `is-callable`, `es-to-primitive` 304 * [Dev Deps] update `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`, `tape` 305 * [Tests] up to `node` `v5.3` 306 3071.4.3 / 2015-11-04 308================= 309 * [Fix] `ES6.ToNumber`: should give `NaN` for explicitly signed hex strings (#4) 310 * [Refactor] `ES6.ToNumber`: No need to double-trim 311 * [Refactor] group tests better 312 * [Tests] should still pass on `node` `v0.8` 313 3141.4.2 / 2015-11-02 315================= 316 * [Fix] ensure `ES.ToNumber` trims whitespace, and does not trim non-whitespace (#3) 317 3181.4.1 / 2015-10-31 319================= 320 * [Fix] ensure only 0-1 are valid binary and 0-7 are valid octal digits (#2) 321 * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config` 322 * [Tests] on `node` `v5.0` 323 * [Tests] fix npm upgrades for older node versions 324 * package.json: use object form of "authors", add "contributors" 325 3261.4.0 / 2015-09-26 327================= 328 * [Deps] update `is-callable` 329 * [Dev Deps] update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config` 330 * [Tests] on `node` `v4.2` 331 * [New] Add `SameValueNonNumber` to ES7 332 3331.3.2 / 2015-09-26 334================= 335 * [Fix] Fix `ES6.IsRegExp` to properly handle `Symbol.match`, per spec. 336 * [Tests] up to `io.js` `v3.3`, `node` `v4.1` 337 * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver` 338 3391.3.1 / 2015-08-15 340================= 341 * [Fix] Ensure that objects that `toString` to a binary or octal literal also convert properly 342 3431.3.0 / 2015-08-15 344================= 345 * [New] ES6’s ToNumber now supports binary and octal literals. 346 * [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config`, `tape` 347 * [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG 348 * [Tests] up to `io.js` `v3.0` 349 3501.2.2 / 2015-07-28 351================= 352 * [Fix] Both `ES5.CheckObjectCoercible` and `ES6.RequireObjectCoercible` return the value if they don't throw. 353 * [Tests] Test on latest `io.js` versions. 354 * [Dev Deps] Update `eslint`, `jscs`, `tape`, `semver`, `covert`, `nsp` 355 3561.2.1 / 2015-03-20 357================= 358 * Fix `isFinite` helper. 359 3601.2.0 / 2015-03-19 361================= 362 * Use `es-to-primitive` for ToPrimitive methods. 363 * Test on latest `io.js` versions; allow failures on all but 2 latest `node`/`io.js` versions. 364 3651.1.2 / 2015-03-20 366================= 367 * Fix isFinite helper. 368 3691.1.1 / 2015-03-19 370================= 371 * Fix isPrimitive check for functions 372 * Update `eslint`, `editorconfig-tools`, `semver`, `nsp` 373 3741.1.0 / 2015-02-17 375================= 376 * Add ES7 export (non-default). 377 * All grade A-supported `node`/`iojs` versions now ship with an `npm` that understands `^`. 378 * Test on `iojs-v1.2`. 379 3801.0.1 / 2015-01-30 381================= 382 * Use `is-callable` instead of an internal function. 383 * Update `tape`, `jscs`, `nsp`, `eslint` 384 3851.0.0 / 2015-01-10 386================= 387 * v1.0.0 388