You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CHANGELOG.md 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. 1.17.5 / 2020-03-22
  2. =================
  3. * [Fix] `CreateDataProperty`: update an existing property
  4. * [Fix] run missing spackle from cd7504701879ddea0f5981e99cbcf93bfea9171d
  5. * [Dev Deps] update `make-arrow-function`, `tape`, `@ljharb/eslint-config`
  6. 1.17.4 / 2020-01-21
  7. =================
  8. * [Fix] `2015+`: add code to handle IE 8’s problems
  9. * [Tests] fix tests for IE 8
  10. 1.17.3 / 2020-01-19
  11. =================
  12. * [Fix] `ObjectCreate` `2015+`: Fall back to `__proto__` and normal `new` in older browsers
  13. * [Fix] `GetIntrinsic`: ensure the `allowMissing` property actually works on dotted intrinsics
  14. 1.17.2 / 2020-01-14
  15. =================
  16. * [Fix] `helpers/OwnPropertyKeys`: include non-enumerables too
  17. 1.17.1 / 2020-01-14
  18. =================
  19. * [Refactor] add `OwnPropertyKeys` helper, use it in `CopyDataProperties`
  20. * [Refactor] `IteratorClose`: remove useless assignment
  21. * [Dev Deps] update `eslint`, `tape`, `diff`
  22. 1.17.0 / 2019-12-20
  23. =================
  24. * [New] Split up each operation into its own file (prereleased)
  25. * [Fix] `GetIntrinsic`: IE 8 has a broken `Object.getOwnPropertyDescriptor`
  26. * [Fix] `object.assign` is a runtime dep (prereleased)
  27. * [Refactor] `GetIntrinsic`: remove the internal property salts, since % already handles that
  28. * [Refactor] `GetIntrinsic`: further simplification
  29. * [Deps] update `is-callable`, `string.prototype.trimleft`, `string.prototype.trimright`, `is-regex`
  30. * [Dev Deps] update `@ljharb/eslint-config`, `object-is`, `object.fromentries`, `tape`
  31. * [Tests] add `.eslintignore`
  32. * [meta] remove unused Makefile and associated utils
  33. * [meta] only run spackle script in publish (#78) (prereleased)
  34. 1.17.0-next.1 / 2019-12-11
  35. =================
  36. * [Fix] `object.assign` is a runtime dep
  37. * [meta] only run spackle script in publish (#78)
  38. 1.17.0-next.0 / 2019-12-11
  39. =================
  40. * [New] Split up each operation into its own file
  41. 1.16.3 / 2019-12-04
  42. =================
  43. * [Fix] `GetIntrinsic`: when given a path to a getter, return the actual getter
  44. * [Dev Deps] update `eslint`
  45. 1.16.2 / 2019-11-24
  46. =================
  47. * [Fix] IE 6-7 lack JSON
  48. * [Fix] IE 6-8 strings can’t use array slice, they need string slice
  49. * [Dev Deps] update `eslint`
  50. 1.16.1 / 2019-11-24
  51. =================
  52. * [Fix] `GetIntrinsics`: turns out IE 8 throws when `Object.getOwnPropertyDescriptor(arguments);`, and does not throw on `callee` anyways
  53. * [Deps] update `es-to-primitive`, `has-symbols`, `object-inspect`
  54. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`
  55. * [meta] re-include year files inside `operations`
  56. * [meta] add `funding` field
  57. * [actions] add Automatic Rebase github action
  58. * [Tests] use shared travis-ci config
  59. * [Tests] disable `check-coverage`, and let codecov do it
  60. 1.16.0 / 2019-10-18
  61. =================
  62. * [New] `ES2015+`: add `SetFunctionName`
  63. * [New] `ES2015+`: add `GetPrototypeFromConstructor`, with caveats
  64. * [New] `ES2015+`: add `CreateListFromArrayLike`
  65. * [New] `ES2016+`: add `OrdinarySetPrototypeOf`
  66. * [New] `ES2016+`: add `OrdinaryGetPrototypeOf`
  67. * [New] add `getSymbolDescription` and `getInferredName` helpers
  68. * [Fix] `GetIterator`: add fallback for pre-Symbol environments, tests
  69. * [Dev Deps] update `object.fromentries`
  70. * [Tests] add `node` `v12.2`
  71. 1.15.0 / 2019-10-02
  72. =================
  73. * [New] `ES2018`+: add `DateString`, `TimeString`
  74. * [New] `ES2015`+: add `ToDateString`
  75. * [New] `ES5`+: add `msFromTime`, `SecFromTime`, `MinFromTime`, `HourFromTime`, `TimeWithinDay`, `Day`, `DayFromYear`, `TimeFromYear`, `YearFromTime`, `WeekDay`, `DaysInYear`, `InLeapYear`, `DayWithinYear`, `MonthFromTime`, `DateFromTime`, `MakeDay`, `MakeDate`, `MakeTime`, `TimeClip`, `modulo`
  76. * [New] add `regexTester` helper
  77. * [New] add `callBound` helper
  78. * [New] add ES2020’s intrinsic dot notation
  79. * [New] add `isPrefixOf` helper
  80. * [New] add `maxSafeInteger` helper
  81. * [Deps] update `string.prototype.trimleft`, `string.prototype.trimright`
  82. * [Dev Deps] update `eslint`
  83. * [Tests] on `node` `v12.11`
  84. * [meta] npmignore operations scripts; add "deltas"
  85. 1.14.2 / 2019-09-08
  86. =================
  87. * [Fix] `ES2016`: `IterableToArrayLike`: add proper fallback for strings, pre-Symbols
  88. * [Tests] on `node` `v12.10`
  89. 1.14.1 / 2019-09-03
  90. =================
  91. * [meta] republish with some extra files removed
  92. 1.14.0 / 2019-09-02
  93. =================
  94. * [New] add ES2019
  95. * [New] `ES2017+`: add `IterableToList`
  96. * [New] `ES2016`: add `IterableToArrayLike`
  97. * [New] `ES2015+`: add `ArrayCreate`, `ArraySetLength`, `OrdinaryDefineOwnProperty`, `OrdinaryGetOwnProperty`, `OrdinaryHasProperty`, `CreateHTML`, `GetOwnPropertyKeys`, `InstanceofOperator`, `SymbolDescriptiveString`, `GetSubstitution`, `ValidateAndApplyPropertyDescriptor`, `IsPromise`, `OrdinaryHasInstance`, `TestIntegrityLevel`, `SetIntegrityLevel`
  98. * [New] add `callBind` helper, and use it
  99. * [New] add helpers: `isPropertyDescriptor`, `every`
  100. * [New] ES5+: add `Abstract Relational Comparison`
  101. * [New] ES5+: add `Abstract Equality Comparison`, `Strict Equality Comparison`
  102. * [Fix] `ES2015+`: `GetIterator`: only require native Symbols when `method` is omitted
  103. * [Fix] `ES2015`: `Call`: error message now properly displays Symbols using `object-inspect`
  104. * [Fix] `ES2015+`: `ValidateAndApplyPropertyDescriptor`: use ES2017 logic to bypass spec bugs
  105. * [Fix] `ES2015+`: `CreateDataProperty`, `DefinePropertyOrThrow`, `ValidateAndApplyPropertyDescriptor`: add fallbacks for ES3
  106. * [Fix] `ES2015+`: `FromPropertyDescriptor`: no longer requires a fully complete Property Descriptor
  107. * [Fix] `ES5`: `IsPropertyDescriptor`: call into `IsDataDescriptor` and `IsAccessorDescriptor`
  108. * [Refactor] use `has-symbols` for Symbol detection
  109. * [Fix] `helpers/assertRecord`: remove `console.log`
  110. * [Deps] update `object-keys`
  111. * [readme] add security note
  112. * [meta] change http URLs to https
  113. * [meta] linter cleanup
  114. * [meta] fix getOps script
  115. * [meta] add FUNDING.yml
  116. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `semver`, `replace`, `cheerio`, `tape`
  117. * [Tests] up to `node` `v12.9`, `v11.15`, `v10.16`, `v8.16`, `v6.17`
  118. * [Tests] temporarily allow node 0.6 to fail; segfaulting in travis
  119. * [Tests] use the values helper more in es5 tests
  120. * [Tests] fix linting to apply to all files
  121. * [Tests] run `npx aud` only on prod deps
  122. * [Tests] add v.descriptors helpers
  123. * [Tests] use `npx aud` instead of `npm audit` with hoops
  124. * [Tests] use `eclint` instead of `editorconfig-tools`
  125. * [Tests] some intrinsic cleanup
  126. * [Tests] migrate es5 tests to use values helper
  127. * [Tests] add some missing ES2015 ops
  128. 1.13.0 / 2019-01-02
  129. =================
  130. * [New] add ES2018
  131. * [New] add ES2015/ES2016: EnumerableOwnNames; ES2017: EnumerableOwnProperties
  132. * [New] `ES2015+`: add `thisBooleanValue`, `thisNumberValue`, `thisStringValue`, `thisTimeValue`
  133. * [New] `ES2015+`: add `DefinePropertyOrThrow`, `DeletePropertyOrThrow`, `CreateMethodProperty`
  134. * [New] add `assertRecord` helper
  135. * [Deps] update `is-callable`, `has`, `object-keys`, `es-to-primitive`
  136. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`, `semver`, `safe-publish-latest`, `replace`
  137. * [Tests] use `npm audit` instead of `nsp`
  138. * [Tests] remove `jscs`
  139. * [Tests] up to `node` `v11.6`, `v10.15`, `v8.15`, `v6.16`
  140. * [Tests] move descriptor factories to `values` helper
  141. * [Tests] add `getOps` to programmatically fetch abstract operation names
  142. 1.12.0 / 2018-05-31
  143. =================
  144. * [New] add `GetIntrinsic` entry point
  145. * [New] `ES2015`+: add `ObjectCreate`
  146. * [Robustness]: `ES2015+`: ensure `Math.{abs,floor}` and `Function.call` are cached
  147. 1.11.0 / 2018-03-21
  148. =================
  149. * [New] `ES2015+`: add iterator abstract ops
  150. * [Dev Deps] update `eslint`, `nsp`, `object.assign`, `semver`, `tape`
  151. * [Tests] up to `node` `v9.8`, `v8.10`, `v6.13`
  152. 1.10.0 / 2017-11-24
  153. =================
  154. * [New] ES2015+: `AdvanceStringIndex`
  155. * [Dev Deps] update `eslint`, `nsp`
  156. * [Tests] require node 0.6 to pass again
  157. * [Tests] up to `node` `v9.2`, `v8.9`, `v6.12`; use `nvm install-latest-npm`; pin included builds to LTS
  158. 1.9.0 / 2017-09-30
  159. =================
  160. * [New] `es2015+`: add `ArraySpeciesCreate`
  161. * [New] ES2015+: add `CreateDataProperty` and `CreateDataPropertyOrThrow`
  162. * [Tests] consolidate duplicated tests
  163. * [Tests] increase coverage
  164. * [Dev Deps] update `nsp`, `eslint`
  165. 1.8.2 / 2017-09-03
  166. =================
  167. * [Fix] `es2015`+: `ToNumber`: provide the proper hint for Date objects (#27)
  168. * [Dev Deps] update `eslint`
  169. 1.8.1 / 2017-08-30
  170. =================
  171. * [Fix] ES2015+: `ToPropertyKey`: should return a symbol for Symbols (#26)
  172. * [Deps] update `function-bind`
  173. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`
  174. * [Docs] github broke markdown parsing
  175. 1.8.0 / 2017-08-04
  176. =================
  177. * [New] add ES2017
  178. * [New] move es6+ to es2015+; leave es6/es7 as aliases
  179. * [New] ES5+: add `IsPropertyDescriptor`, `IsAccessorDescriptor`, `IsDataDescriptor`, `IsGenericDescriptor`, `FromPropertyDescriptor`, `ToPropertyDescriptor`
  180. * [New] ES2015+: add `CompletePropertyDescriptor`, `Set`, `HasOwnProperty`, `HasProperty`, `IsConcatSpreadable`, `Invoke`, `CreateIterResultObject`, `RegExpExec`
  181. * [Fix] es7/es2016: do not mutate ES6
  182. * [Fix] assign helper only supports one source
  183. * [Deps] update `is-regex`
  184. * [Dev Deps] update `nsp`, `eslint`, `@ljharb/eslint-config`
  185. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `nsp`, `semver`, `tape`
  186. * [Tests] add tests for missing and excess operations
  187. * [Tests] add codecov for coverage
  188. * [Tests] up to `node` `v8.2`, `v7.10`, `v6.11`, `v4.8`; newer npm breaks on older node
  189. * [Tests] use same lists of value types across tests; ensure tests are the same when ops are the same
  190. * [Tests] ES2015: add ToNumber symbol tests
  191. * [Tests] switch to `nyc` for code coverage
  192. * [Tests] make IsRegExp tests consistent across editions
  193. 1.7.0 / 2017-01-22
  194. =================
  195. * [New] ES6: Add `GetMethod` (#16)
  196. * [New] ES6: Add `GetV` (#16)
  197. * [New] ES6: Add `Get` (#17)
  198. * [Tests] up to `node` `v7.4`, `v6.9`, `v4.6`; improve test matrix
  199. * [Dev Deps] update `tape`, `nsp`, `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`
  200. 1.6.1 / 2016-08-21
  201. =================
  202. * [Fix] ES6: IsConstructor should return true for `class` constructors.
  203. 1.6.0 / 2016-08-20
  204. =================
  205. * [New] ES5 / ES6: add `Type`
  206. * [New] ES6: `SpeciesConstructor`
  207. * [Dev Deps] update `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`; add `safe-publish-latest`
  208. * [Tests] up to `node` `v6.4`, `v5.12`, `v4.5`
  209. 1.5.1 / 2016-05-30
  210. =================
  211. * [Fix] `ES.IsRegExp`: actually look up `Symbol.match` on the argument
  212. * [Refactor] create `isNaN` helper
  213. * [Deps] update `is-callable`, `function-bind`
  214. * [Deps] update `es-to-primitive`, fix ES5 tests
  215. * [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config`, `tape`, `nsp`
  216. * [Tests] up to `node` `v6.2`, `v5.11`, `v4.4`
  217. * [Tests] use pretest/posttest for linting/security
  218. 1.5.0 / 2015-12-27
  219. =================
  220. * [New] adds `Symbol.toPrimitive` support via `es-to-primitive`
  221. * [Deps] update `is-callable`, `es-to-primitive`
  222. * [Dev Deps] update `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`, `tape`
  223. * [Tests] up to `node` `v5.3`
  224. 1.4.3 / 2015-11-04
  225. =================
  226. * [Fix] `ES6.ToNumber`: should give `NaN` for explicitly signed hex strings (#4)
  227. * [Refactor] `ES6.ToNumber`: No need to double-trim
  228. * [Refactor] group tests better
  229. * [Tests] should still pass on `node` `v0.8`
  230. 1.4.2 / 2015-11-02
  231. =================
  232. * [Fix] ensure `ES.ToNumber` trims whitespace, and does not trim non-whitespace (#3)
  233. 1.4.1 / 2015-10-31
  234. =================
  235. * [Fix] ensure only 0-1 are valid binary and 0-7 are valid octal digits (#2)
  236. * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`
  237. * [Tests] on `node` `v5.0`
  238. * [Tests] fix npm upgrades for older node versions
  239. * package.json: use object form of "authors", add "contributors"
  240. 1.4.0 / 2015-09-26
  241. =================
  242. * [Deps] update `is-callable`
  243. * [Dev Deps] update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config`
  244. * [Tests] on `node` `v4.2`
  245. * [New] Add `SameValueNonNumber` to ES7
  246. 1.3.2 / 2015-09-26
  247. =================
  248. * [Fix] Fix `ES6.IsRegExp` to properly handle `Symbol.match`, per spec.
  249. * [Tests] up to `io.js` `v3.3`, `node` `v4.1`
  250. * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`
  251. 1.3.1 / 2015-08-15
  252. =================
  253. * [Fix] Ensure that objects that `toString` to a binary or octal literal also convert properly
  254. 1.3.0 / 2015-08-15
  255. =================
  256. * [New] ES6’s ToNumber now supports binary and octal literals.
  257. * [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config`, `tape`
  258. * [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG
  259. * [Tests] up to `io.js` `v3.0`
  260. 1.2.2 / 2015-07-28
  261. =================
  262. * [Fix] Both `ES5.CheckObjectCoercible` and `ES6.RequireObjectCoercible` return the value if they don't throw.
  263. * [Tests] Test on latest `io.js` versions.
  264. * [Dev Deps] Update `eslint`, `jscs`, `tape`, `semver`, `covert`, `nsp`
  265. 1.2.1 / 2015-03-20
  266. =================
  267. * Fix `isFinite` helper.
  268. 1.2.0 / 2015-03-19
  269. =================
  270. * Use `es-to-primitive` for ToPrimitive methods.
  271. * Test on latest `io.js` versions; allow failures on all but 2 latest `node`/`io.js` versions.
  272. 1.1.2 / 2015-03-20
  273. =================
  274. * Fix isFinite helper.
  275. 1.1.1 / 2015-03-19
  276. =================
  277. * Fix isPrimitive check for functions
  278. * Update `eslint`, `editorconfig-tools`, `semver`, `nsp`
  279. 1.1.0 / 2015-02-17
  280. =================
  281. * Add ES7 export (non-default).
  282. * All grade A-supported `node`/`iojs` versions now ship with an `npm` that understands `^`.
  283. * Test on `iojs-v1.2`.
  284. 1.0.1 / 2015-01-30
  285. =================
  286. * Use `is-callable` instead of an internal function.
  287. * Update `tape`, `jscs`, `nsp`, `eslint`
  288. 1.0.0 / 2015-01-10
  289. =================
  290. * v1.0.0