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