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