38a125f1702029b4a4fcb5c0efb59c22c83d63d89ada014eb3026858b38bc972a11ea8ac339bd4c0d23aef83512f4175031144b3424b96739784b51b5560b8 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898
  1. 1.23.9 / 2025-01-02
  2. =================
  3. * [Refactor] use `get-proto` directly
  4. * [Refactor] use `set-proto` directly
  5. * [Refactor] use `Reflect.setPrototypeOf` and `dunder-proto` in `setProto` helper
  6. * [Refactor] `ES2015`+: `ArrayCreate`: use `setProto` helper
  7. * [Deps] update `es-set-tostringtag`, `own-keys`
  8. * [Dev Deps] update `is-core-module`
  9. * [Tests] use `own-keys` directly
  10. 1.23.8 / 2024-12-28
  11. =================
  12. * [Refactor] use `own-keys`
  13. * [Refactor] use `safe-push-apply`
  14. 1.23.7 / 2024-12-20
  15. =================
  16. * [Refactor] create and use `helpers/isPropertyKey`
  17. * [Refactor] add `timeValue` helper, use it
  18. * [Deps] update `array-buffer-byte-length`, `data-view-buffer`, `data-view-byte-length`, `data-view-byte-offset`, `function.prototype.name`, `get-symbol-description`, `is-array-buffer`, `is-shared-array-buffer`, `is-typed-array`, `math-intrinsics`, `object.assign`, `typed-array-buffer`, `typed-array-byte-length`, `typed-array-byte-offset`, `unbox-primitive`, `which-typed-array`
  19. * [Deps] remove unused dep
  20. * [Dev Deps] update `array.prototype.indexof`, `has-bigints`, `is-registered-symbol`, `safe-bigint`
  21. 1.23.6 / 2024-12-15
  22. =================
  23. * [Fix] `ES2015` - `ES2019`: `IntegerIndexedElementSet`: reject BigInt Typed Arrays prior to ES2020
  24. * [Fix] `ES2023`+: `SetTypedArrayFromTypedArray`: provide missing `cloneConstructor` argument to `CloneArrayBuffer`
  25. * [Fix] `ES2024`+: `FindViaPredicate`: spec enums are uppercase now
  26. * [Fix] `ES2017` - `ES2019`: `SetValueInBuffer`: handle proper number of arguments
  27. * [Fix] `ES2015`+: `QuoteJSONString`: properly handle surrogates
  28. * [Fix] `ES2015`+: `TestIntegrityLevel`: properly handle envs without property descriptors
  29. * [patch] `ES2018` - `ES2023`: `thisSymbolValue`: only require `Symbol.prototype.valueOf` for boxed Symbols
  30. * [Robustness] `ES2015` - `ES2016`: `SetValueInBuffer`: salt dictionary keys in case of pre-proto envs
  31. * [Refactor] use `math-intrinsics`
  32. * [Refactor] use `call-bound` directly
  33. * [Refactor] `ES2015`+: `GetIterator`: hoist an object to module scope
  34. * [Refactor] use `typeof` over `Type()` when possible
  35. * [Refactor] `ES2015` - `ES2016`: `GetValueFromBuffer`: remove unnecessary extra helper argument
  36. * [Refactor] misc cleanups
  37. * [Refactor] make and use `isObject` helper
  38. * [Refactor] `ES5`+: `MonthFromTime`: throw a `RangeError` for an out of range timestamp
  39. * [Refactor] use `+` over `Number()`
  40. * [Deps] update `arraybuffer.prototype.slice`, `call-bind`, `es-define-property`, `es-to-primitive`, `function.prototype.name`, `get-intrinsic`, `gopd`, `has-proto`, `has-symbols`, `internal-slot`, `is-data-view`, `is-regex`, `is-string`, `which-typed-array`, `is-weakref`, `safe-array-concat`, `safe-regex-test`, `string.prototype.trim`, `string.prototype.trimend`, `typed-array-byte-offset`, `typed-array-length`
  41. * [meta] remove unnecessary unspackles
  42. * [Tests] `isStringOrUndefined`: increase coverage
  43. * [Tests] bigint tests are ES2020+ only
  44. * [Dev Deps] update `array.prototype.flatmap`, `is-core-module`, `is-registered-symbol`
  45. 1.23.5 / 2024-11-14
  46. =================
  47. * [Fix] `ES2015`+: `CompletionRecord`: ensure `?` works on any non-abrupt completion
  48. 1.23.4 / 2024-11-12
  49. =================
  50. * [Fix] `ES2024`+: Iterator Records can now have non-functions in `[[NextMethod]]`
  51. * [meta] update spec URL comments
  52. * [Deps] update `globalthis`, `object-inspect`, `regexp.prototype.flags`
  53. * [Dev Deps] update `@ljharb/eslint-config`, `@unicode/unicode-15.0.0`, `diff`, `es-value-fixtures`, `is-core-module`, `mock-property`, `ses`, `tape`
  54. * [actions] split out node 10-20, and 20+
  55. * [Tests] switch to `npm audit` from `aud`
  56. * [Tests] use `.assertion` instead of monkeypatching tape
  57. * [Tests] increase coverage
  58. 1.23.3 / 2024-03-29
  59. =================
  60. * [Fix] `ES2024`: `StringPad`, `StringPaddingBuiltinsImpl`: prefer uppercase spec enums
  61. * [Fix] `helpers/bytesAsInteger`: avoid a crash in node 10.4 - 10.8
  62. * [Fix] `ES5`: `CheckObjectCoercible`: restore `optMessage` optional arg
  63. * [Refactor] `ES2022`+: update `TimeString` to use `ToZeroPaddedDecimalString`
  64. * [Robustness] use cached copies of builtins
  65. * [Deps] update `string.prototype.trimstart`, `typed-array-length`
  66. * [Dev Deps] update `array.from`, `array.prototype.filter`, `array.prototype.indexof`, `object.fromentries`, `safe-bigint`
  67. 1.23.2 / 2024-03-17
  68. =================
  69. * [Fix] `records/regexp-record`: add optional `[[UnicodeSets]]` boolean field
  70. * [Fix] `ES2024`+: `AddValueToKeyedGroup`: avoid adding matched values twice
  71. * [Fix] `ES5`: `CheckObjectCoercible`: use the right function name
  72. * [Fix] `ES2024`+: `AddEntriesFromIterable`, `GetIterator`, `GroupBy`: properly capitalize spec enums
  73. * [Deps] update `string.prototype.trim`, `string.prototype.trimend`
  74. * [Tests] increase coverage
  75. 1.23.1 / 2024-03-16
  76. =================
  77. * [Refactor] use `es-object-atoms`
  78. * [Deps] update `hasown`, `which-typed-array`, `data-view-byte-length`, `safe-array-concat`
  79. * [Dev Deps] update `diff`
  80. 1.23.0 / 2024-03-04
  81. =================
  82. * [New] add `ES2024`
  83. * [New] `ES2015`+: add `InternalizeJSONProperty`
  84. * [New] `ES2015`+: add `IntegerIndexedElement{Get,Set}`
  85. * [New] `ES2018`+: add `TimeZoneString`
  86. * [New] `ES2022`+: add `DefineMethodProperty`
  87. * [New] `ES2023`: add `DefaultTimeZone`
  88. * [Fix] `ES2023`+: `SetTypedArrayFrom{TypedArray,ArrayLike}`: match engine reality
  89. * [Fix] `ES2024`+: `GetViewByteLength`, `IsViewOutOfBounds`: support engines with only own DV properties
  90. * [Tests] use `safe-bigint`
  91. 1.22.5 / 2024-02-28
  92. =================
  93. * [Fix] `ES2015`+: `DetachArrayBuffer`: node v21.0.0+ structuredClone throws with an already-detached ArrayBuffer
  94. * [Fix] `helpers/assertRecord`: partial revert of 87c340d2; unintentional breaking change
  95. * [patch] records: fix indentation, improve object checks
  96. * [Refactor] extract TA tables to separate files
  97. * [meta] extract "list spackled files" to separate run-script
  98. * [Deps] update `available-typed-arrays`, `es-set-tostringtag`, `has-proto`, `is-negative-zero`, `is-shared-array-buffer`, `typed-array-buffer`, `typed-array-byte-length`, `typed-array-byte-offset`, `typed-array-length`
  99. * [Dev Deps] update `available-regexp-flags`, `tape`
  100. * [Dev Deps] pin `jackspeak` and `glob`, since v2.1.2+ and v10.3.8+ respectively depend on npm aliases, which kill the install process in npm < 6
  101. * [Tests] use `define-{accessor,data}-property`
  102. * [Tests] fix some test cases
  103. * [Tests] use `safeBigInt` for `Z()` pattern to handle node 10.4 - 10.8
  104. 1.22.4 / 2024-02-13
  105. =================
  106. * [Fix] `ES2017`+: `IsDetachedBuffer`: properly allow SABs
  107. * [Fix] `ES2022`+: `ToBigInt`: properly throw on an unparseable string
  108. * [Fix] `ES2015`+: `ValidateTypedArray`: proper detachment check and return value
  109. * [Fix] `ES2022`+: `GetSubstitution`: match updated semantics
  110. * [Refactor] prefer `typeof` over `Type()`, except for Object, where possible
  111. * [Refactor] use `es-errors` instead of `get-intrinsic` where possible
  112. * [Refactor] use `es-define-property`
  113. * [Refactor] records: extract predicates to individual files
  114. * [Refactor] `ES2015`+: `Canonicalize`, `WordCharacters`: use explicit `.json` extension for imports
  115. * [Deps] update `array-buffer-byte-length`, `arraybuffer.prototype.slice`, `available-typed-arrays`, `call-bind`, `es-set-tostringtag`, `get-intrinsic`, `get-symbol-description`, `has-proper ty-descriptors`, `has-property-descriptors`, `hasown`, `internal-slot`, `is-array-buffer`, `is-typed-array`, `object.assign`, `regexp.prototype.flags`, `safe-array-concat`, `safe-regex-test`, `typed-array-buffer`, `which-typed-array`
  116. * [eslint] remove unused overrides
  117. * [Tests] increase/fix coverage
  118. * [Dev Deps] update `aud`, `npmignore`, `mock-property`, `tape`
  119. 1.22.3 / 2023-10-20
  120. =================
  121. * [Fix] `ES2015`+: `GetSubstitution`: accept `undefined` instead of a hole
  122. * [Refactor] use `hasown` instead of `has`
  123. * [Deps] update `call-bind`, `get-intrinsic`, `object-inspect`, `which-typed-array`
  124. * [Dev Deps] update `function-bind`, `is-core-module`, `mock-property`, `tape`
  125. 1.22.2 / 2023-09-14
  126. =================
  127. * [Fix] `ES2015`+: `NewPromiseCapability`: use AOs from the current year, not 2022
  128. * [Refactor] `ES2021`+: `SetTypedArrayFromArrayLike`: use `IsBigIntElementType`
  129. * [Refactor] properly name `helpers/typedArrayConstructors`
  130. * [Refactor] simplify helpers
  131. * [Deps] update `arraybuffer.prototype.slice`, `function.prototype.name`, `is-typed-array`, `regexp.prototype.flags`, `safe-array-concat`, `string.prototype.trim`, `string.prototype.trimend`, `string.prototype.trimstart`, `which-typed-array`
  132. * [actions] update actions
  133. * [Tests] run SES tests on more node versions
  134. * [Dev Deps] update `@unicode/unicode-15.0.0`, `array.from`, `array.prototype.filter`, `array.prototype.flatmap`, `array.prototype.indexof`, `is-core-module`, `object.fromentries`, `ses`, `tape`
  135. 1.22.1 / 2023-07-15
  136. =================
  137. * [Deps] add missing `safe-array-concat` dep
  138. 1.22.0 / 2023-07-15
  139. =================
  140. * [New] add `ES2023`
  141. * [New] `ES2021+`: add `SetTypedArrayFromArrayLike`, `SetTypedArrayFromTypedArray`
  142. * [New] `ES2021`+: add `CloneArrayBuffer`
  143. * [New] `ES2020`+: add `IsValidIntegerIndex`
  144. * [New] `ES2015`+: add `GetValueFromBuffer`, `SetValueInBuffer`
  145. * [New] `ES2016`+: add `TypedArrayCreate`, `TypedArraySpeciesCreate`
  146. * [New] `ES2015`+: add `IsWordChar`
  147. * [New] `ES2017`+ add `WordCharacters`
  148. * [New] `ES2015`+: add `Canonicalize`
  149. * [New] `ES2015`+: add `NewPromiseCapability`
  150. * [Fix] `ES2017+`: `NumberToRawBytes`, `NumericToRawBytes`: reimplement Float64, fix integer scenarios
  151. * [Refactor] add `helpers/isLineTerminator`
  152. * [Refactor] add `isInteger` helper, and use it
  153. * [Refactor] extract `isStringOrHole` to a helper
  154. * [Refactor] `ES2017`+: `RawBytesToNumber`, `RawBytesToNumeric`: extract common code to helpers
  155. * [Refactor] make a `MAX_VALUE` helper
  156. * [Tests] fix RawBytesToNumeric tests in node v10.4-10.8
  157. * [Tests] fix buffer test cases in node v10.4-v10.8
  158. 1.21.3 / 2023-07-12
  159. =================
  160. * [Fix] `ES2017+`: `RawBytesToNumber`, `RawBytesToNumeric`: properly handle some scenarios
  161. * [Fix] `ES2015`+: `GetV`: the receiver is `V`, not `O`
  162. * [Fix] `ES2017`+: `RawBytesToNumber`, `RawBytesToNumeric`: fix exponent calculation for Float64, improve tests
  163. * [Fix] `ES2017`+: `RawBytesToNumber`, `RawBytesToNumeric`: fix logic, improve tests
  164. * [Fix] `ES2019`+: `thisTimeValue`: fix spackling
  165. * [Robustness] `ES2017`+: `NumberToRawBytes`, `NumericToRawBytes`: use `SameValue` instead of `Object.is`
  166. * [Refactor] `ES2021`+: `ValidateAtomicAccess`: use `typed-array-byte-offset`
  167. * [Refactor] `ES2019`+: `AddEntriesFromIterable`: use `ThrowCompletion`
  168. * [patch] `ES2015`+: `ObjectDefineProperties`: satisfy TODO
  169. * [patch] `ES2015`+: `GetV`: improve error message
  170. * [patch] fix spec URLs
  171. * [Deps] update `get-intrinsic`, `regexp.prototype.flags`, `which-typed-array`
  172. * [actions] fix permissions
  173. * [Tests] add buffer test case fixtures + tests
  174. * [Tests] skip test that modifies the env in SES
  175. * [Tests] fix regex flags tests for node 20
  176. * [Dev Deps] update `@ljharb/eslint-config`, `aud`, `available-regexp-flags`, `is-core-module`, `tape`
  177. 1.21.2 / 2023-03-12
  178. =================
  179. * [Fix] `ES2015`+: `CreateDataProperty`: use `OrdinaryDefineOwnProperty`
  180. * [Fix] `ES2015`+: `CreateDataProperty`: use `OrdinaryDefineOwnProperty`
  181. * [Fix] `ES2015`+: `GetPrototypeFromConstructor`: add missing assertion that `intrinsicDefaultProto` is an object
  182. * [Fix] `ES2015`+: `IsDetachedBuffer`: ensure a nullish error does not crash
  183. * [Fix] `ES2015`+: `ToDateString`: properly handle time values that aren’t "now"
  184. * [Fix] `ES2015`+: `ToUint8Clamp`: avoid an extra observable ToNumber
  185. * [Fix] `ES2015`+`: `GetMethod`: when `func` is not callable and `P` is a symbol, avoid the wrong TypeError
  186. * [Fix] `ES2020`+: `ToBigInt`: properly throw on anything besides string, bigint, boolean
  187. * [Fix] `ES2021`+: `SplitMatch`: instead of `false`, return `'not-matched'`
  188. * [Fix] `helpers/assertRecord`: handle nullish input
  189. * [Fix] `helpers/isFullyPopulatedPropertyDescriptor`: handle primitive inputs
  190. * [Robustness] `ES5`: `ToNumber`: avoid relying on runtime `.test` and `.replace`
  191. * [Refactor] `ES2015`: mark `IsDataDescriptor` and `IsAccessorDescriptor` as spackled
  192. * [Refactor] `ES2015`+: `IsDetachedBuffer`: use `array-buffer-byte-length` package
  193. * [Refactor] `ES2015`+: `OrdinaryHasInstance`: rely on falsiness
  194. * [Refactor] `ES2016`+: `CreateListFromArrayLike`: hoist default element types to module level
  195. * [Refactor] `ES2022`+: `StringToNumber`, `ToNumber`: use `string.prototype.trim`
  196. * [patch] `ES2022`+: `IsLessThan`: fix a comment
  197. * [patch] `ES2022`+: `TypedArrayElementSize`, `TypedArrayElementType`: throw a SyntaxError with an unknown TA type
  198. * [patch] `ES2022`+: `IsLessThan`: fix a comment
  199. * [patch] `ES2020`+: `thisBigIntValue`: throw a SyntaxError, not TypeError, for unsupported features
  200. * [patch] `helpers/getIteratorMethod`: `String` is always available
  201. * [patch] fix commented spec URLs
  202. * [patch] omit `%` for `callBound`
  203. * [meta] fix spec URLs
  204. * [meta] fix spackle metadata, comments
  205. * [Deps] update `get-intrinsic`, `internal-slot`, `is-array-buffer`, `object-inspect`
  206. * [Deps] move `function-bind` to dev deps
  207. * [Tests] String.fromCharCode takes numbers, not strings
  208. * [Tests] use `makeIteratorRecord` helper
  209. * [Tests] increase coverage
  210. * [Tests] fix tests that throw a sentinel
  211. * [Dev Deps] update `array.from`, `available-regexp-flags`, `tape`
  212. 1.21.1 / 2023-01-10
  213. =================
  214. * [Fix] move `available-typed-arrays` to runtime deps
  215. * [Fix] `ES2021`+: `NumberToBigInt`: throw the proper error on an env without BigInts
  216. * [Fix] `ES2018`+: `CreateAsyncFromSyncIterator`: properly check `next` method args length
  217. * [Fix] `ES2020`-`ES2021`: Abstract Relational Comparison: handle BigInts properly
  218. * [Fix] `ES2022`+: `StringToBigInt`: invalid BigInts should be `undefined`, not `NaN` as in previous years
  219. * [Fix] `helpers/isFinite`: properly handle BigInt values
  220. * [Fix] `ES2020`+: `CreateListFromArrayLike`: accept BigInts
  221. * [Fix] `ES2019`+: `AsyncFromSyncIteratorContinuation`: throw a SyntaxError when > 1 arg is passed
  222. * [patch] `ES2020`+: `GetIterator`: use SyntaxError for intentionally unsupported
  223. * [patch] `ES2015`+: `GetPrototypeFromContructor`: use SyntaxError for intentionally unsupported
  224. * [patch] `ES2022`+: `StringToNumber`: fix non-string assertion failure message
  225. * [Deps] update `es-set-tostringtag`, `is-array-buffer`
  226. * [Tests] increase coverage
  227. * [Tests] exclude coverage from files that have been replaced by an extracted package
  228. 1.21.0 / 2023-01-04
  229. =================
  230. * [New] `ES2015`+: add `IsDetachedBuffer`
  231. * [New] `ES2015+`: add `DetachArrayBuffer`
  232. * [New] `ES2020`+: add `NumericToRawBytes`
  233. * [New] `ES2017` - `ES2019`: add `NumberToRawBytes`
  234. * [New] `ES2020+`: add `RawBytesToNumeric`
  235. * [New] `ES2017-ES2019`: add `RawBytesToNumber`
  236. * [New] `ES2017`+: add `ValidateAtomicAccess`
  237. * [New] `ES2021`+: add `ValidateIntegerTypedArray`
  238. * [New] `ES2015`+: add `ValidateTypedArray`
  239. * [New] `ES2015`+: add `GetGlobalObject`
  240. * [New] `ES2022`+: add `TypedArrayElementSize`, `TypedArrayElementType`
  241. * [New] `ES2015`+: add `max`, `min`
  242. * [New] `helpers/assertRecord`: add predicates for PromiseCapability and AsyncGeneratorRequest Records
  243. * [New] `ES2018`+: add `AsyncIteratorClose`
  244. * [New] `ES2015`+: `IteratorClose`: also accept a Completion Record instance instead of a completion thunk
  245. * [New] `ES2015`+ (CompletionRecord, NormalCompletion), `ES2018`+ (ThrowCompletion): add new AOs
  246. * [New] `ES2015`+ (`ObjectCreate`) and `ES2020`+ (`OrdinaryObjectCreate`): use `internal-slot` to support additional slots
  247. * [New] `ES2018`+: add `CreateAsyncFromSyncIterator`
  248. * [patch] `ES2015`+: `GetMethod`: better failure message
  249. * [Refactor] use `es-set-tostringtag` package
  250. * [Refactor] use `has-proto` package
  251. * [Deps] update `has-proto`, `es-set-tostringtag`, `internal-slot`
  252. * [meta] fix spackle script to `git add` after all writing is done
  253. * [meta] autogenerate esX entry points
  254. * [meta] use a leading slash in gitattributes for proper spackle matching
  255. * [Tests] fix comments on missing AOs
  256. * [Tests] filter out host-defined AOs
  257. * [Dev Deps] update `@ljharb/eslint-config`, `aud`
  258. 1.20.5 / 2022-12-07
  259. =================
  260. * [Fix] `ES2020+`: `floor`: make it work with BigInts as well
  261. * [Refactor] use `gopd`
  262. * [Tests] add `mod` helper tests (#147)
  263. * [Deps] update `string.prototype.trimend`, `string.prototype.trimstart`
  264. * [Dev Deps] update `array.prototype.filter`, `array.prototype.flatmap`, `array.prototype.indexof`, `object.fromentries`
  265. 1.20.4 / 2022-10-06
  266. =================
  267. * [Fix] `ES2021+`: values that truncate to -0 in `ToIntegerOrInfinity` (#146)
  268. * [Deps] update `is-callable`
  269. 1.20.3 / 2022-09-22
  270. =================
  271. * [Refactor] extract regex tester to `safe-regex-test` package
  272. * [Deps] update `get-intrinsic`, `is-callable`
  273. * [Dev Deps] update `aud`, `tape`
  274. 1.20.2 / 2022-09-01
  275. =================
  276. * [Fix] `ES2020+`: `SameValueNonNumeric`: properly throw on BigInt values
  277. * [Deps] update `object.assign`, `get-intrinsic`, `object-inspect`
  278. * [Dev Deps] update `array.prototype.indexof`, `diff`, `es-value-fixtures`, `tape`
  279. * [meta] `spackle`: always mkdirp new files to be written
  280. * [Tests] fix vscode auto-const from 8fc256d
  281. 1.20.1 / 2022-05-16
  282. =================
  283. * [Fix] `thisTimeValue`: use `getTime`, not `valueOf`, to get the time value
  284. * [Refactor] create `IsArray` helper
  285. * [Deps] update `regexp.prototype.flags`
  286. * [Dev Deps] use `for-each` instead of `foreach`
  287. 1.20.0 / 2022-05-05
  288. =================
  289. * [New] add ES2022
  290. * [New] `ES2015+`: add `ObjectDefineProperties`
  291. * [Refactor] create `fromPropertyDescriptor` helper
  292. * [Refactor] use `has-property-descriptors`
  293. * [Deps] update `string.prototype.trimend`, `string.prototype.trimstart`, `unbox-primitive`
  294. * [meta] use `npmignore` to autogenerate an npmignore file
  295. * [Dev Deps] update `es-value-fixtures`, `has-bigints`, `functions-have-names`
  296. * [Tests] copy GetIntrinsic tests over from `get-intrinsic`
  297. 1.19.5 / 2022-04-13
  298. =================
  299. * [Fix] `DefineOwnProperty`: FF 4-22 throws an exception when defining length of an array
  300. * [Dev Deps] update `@ljharb/eslint-config`
  301. 1.19.4 / 2022-04-12
  302. =================
  303. * [Fix] `ES2015+`: `CreateDataProperty`: a nonwritable but configurable property is still converted to a data property
  304. 1.19.3 / 2022-04-11
  305. =================
  306. * [Fix] `ES2015+`: `GetIterator`, `IterableToArrayLike`: in Symbol-less envs, handle boxed string objects
  307. * [Robustness] use `exec` instead of `test`, since the latter observably looks up `exec`
  308. * [Deps] update `is-shared-array-buffer`
  309. * [actions] restrict permissions
  310. * [Dev Deps] update `tape`
  311. * [Tests] add test coverage
  312. * [Tests] avoid a bug in node v4.0 with bound function names
  313. 1.19.2 / 2022-03-28
  314. =================
  315. * [Fix] `ES2018+`: `EnumerableOwnPropertyNames`, `ToIntegerOrInfinity`, `UTF16SurrogatePairToCodePoint`: proper function names
  316. * [Fix] `ES2015+`: `GetOwnPropertyKeys`/`IsExtensible`/`{Set,Test}IntegrityLevel`: avoid a crash in IE 8 on missing ES5 intrinsics
  317. * [Fix] `helpers/DefineOwnProperty`: avoid a crash in IE 8
  318. * [Fix] `ES2015+`: `StringCreate`: properly check for `prototype` being `String.prototype`
  319. * [Docs] `ES2015+`: `GetV`: Fix spec URL
  320. * [meta] operations: use a URL object instead of a URL string
  321. * [meta] remove defunct greenkeeper config
  322. * [meta] better `eccheck` command; fix indentation
  323. * [Tests] node v0.6 lacks `RegExp.prototype.source`
  324. * [Tests] remove a stray `console.log`
  325. * [Tests] properly set the lastIndex in IE 8
  326. * [Tests] skip test due to IE 6-8 sparse/undefined bug
  327. * [Tests] in IE 8, an empty regex is `` and not `(?:)`
  328. * [Tests] ES3 engines don’t have `.bind`
  329. * [Tests] avoid needless failures in ES3 engines that don't support descriptors
  330. * [Tests] add test to cover https://github.com/tc39/ecma262/issues/2611
  331. * [Deps] update `has-symbols`, `is-negative-zero`, `is-weakref`, `object-inspect`
  332. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `object.fromentries`, `safe-publish-latest`, `tape`
  333. * [actions] reuse common workflows
  334. * [actions] update codecov uploader
  335. 1.19.1 / 2021-10-02
  336. =================
  337. * [Fix] `ES2020+`: `CreateRegExpStringIterator`: should not have enumerable methods
  338. * [Dev Deps] update `array.prototype.filter`, `array.prototype.indexof`
  339. 1.19.0 / 2021-09-30
  340. =================
  341. * [New] `ES2021+`: `IterableToList`: make `method` parameter optional (#61)
  342. * [New] add ES2021
  343. * [New] `ES2020+`: add `StringToBigInt`, `ToBigInt`, `ToBigInt64`, `ToBigUint64`
  344. * [New] `ES2017`+: add `IsSharedArrayBuffer`, `OrdinaryToPrimitive`
  345. * [New] `ES2015+`: add `CharacterRange`, `IsCompatiblePropertyDescriptor`
  346. * [New] `ES2020+`: add `CreateRegExpStringIterator`
  347. * [Fix] `ES2020+`: `ToBigInt64`/`ToBigUint64`: avoid node v10.4-v10.8 bug with limited BigInt range
  348. * [Fix] `ES2020+`: `AbstractRelationalComparison`, `AbstractEqualityComparison`: support BigInt
  349. * [Fix] `ES2020+`: `ToBigInt64`/`ToBigUint64`: Improve the definitions of twoSixtyThree and twoSixtyFour (#140)
  350. * [meta] do not publish .gitattributes
  351. * [Tests] Correct the behavior of `safeBigInt`
  352. * [Tests] Exclude dotfiles from the testing sweep (#141)
  353. 1.18.7 / 2021-09-28
  354. =================
  355. * [Fix] `getOwnPropertyDescriptor` helper: avoid crashing in IE < 9
  356. * [Fix] `ArraySetLength`: `node` `v0.6` has a bug where array lengths can be Set but not Defined
  357. * [eslint] remove unused directive
  358. * [Tests] fix spelling
  359. 1.18.6 / 2021-09-07
  360. =================
  361. * [Fix] `ES2020+`: `NumberToBigInt`: throw a SyntaxError when BigInts are not supported
  362. * [Refactor] extract getSymbolDescription logic to `get-symbol-description`
  363. * [Refactor] `ES2018+`: `AbstractRelationalComparison`: use `IsStringPrefix`
  364. * [Deps] update `is-callable`, `is-regex`, `is-string`
  365. * [Dev Deps] update `@ljharb/eslint-config`, `tape`
  366. * [Tests] `GetSubstitution`: add cases
  367. 1.18.5 / 2021-08-01
  368. =================
  369. * [meta] remove "exports" (#133)
  370. * [Dev Deps] update `eslint`
  371. 1.18.4 / 2021-07-29
  372. =================
  373. * [meta] partial revert of b54cfe8525faff482450e843a49d43be3a086225
  374. * [Deps] update `internal-slot`, `object-inspect`
  375. * [Dev Deps] update `eslint`, `tape`
  376. * [Tests] `ArraySetLength`: increase coverage
  377. 1.18.3 / 2021-05-27
  378. =================
  379. * [Fix] `ES2020+`: `ToNumber`: ensure it throws on a BigInt (#130)
  380. 1.18.2 / 2021-05-25
  381. =================
  382. * [meta] add `helpers` to "exports" field, for back compat
  383. 1.18.1 / 2021-05-25
  384. =================
  385. * [readme] update and clarify entry points
  386. * [meta] add "exports" field, with escape hatch
  387. * [meta] add `sideEffects` field
  388. * [meta] use `prepublishOnly`, for npm 7+
  389. * [eslint] clean up eslint rules
  390. * [Deps] update `is-regex`, `is-string`, `object-inspect`, `unbox-primitive`
  391. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape`
  392. * [actions] disable fail-fast on matrix jobs
  393. * [actions] use `node/install` action instead of `node/run`
  394. * [actions] update codeql-analysis to new best practices
  395. 1.18.0 / 2021-03-03
  396. =================
  397. * [New] add `ES2020`, and a number of additional AOs: See the changelog entries for the prereleases for more information:
  398. - [next.3](./CHANGELOG.md#1180-next3--2021-03-01)
  399. - [next.2](./CHANGELOG.md#1180-next2--2021-01-17)
  400. - [next.1](./CHANGELOG.md#1180-next1--2020-09-30)
  401. - [next.0](./CHANGELOG.md#1180-next0--2020-08-14)
  402. * [Refactor] `ES5+`: `Abstract Relational Comparison`: increase coverage
  403. * [Tests] increase coverage
  404. * [Tests] do not run coverage on node 0.6
  405. 1.18.0-next.3 / 2021-03-01
  406. =================
  407. * [New] `ES2015`: add `StringGetIndexProperty`
  408. * [New] `ES2015+`: add `RegExpCreate`, `SplitMatch`, `StringCreate`
  409. * [New] `ES2016-ES2019`: add `UTF16Decode`
  410. * [New] `ES2020+`: add `NumberToBigInt`
  411. * [New] `ES2020+: add `BigInt::`/`Number::` methods:
  412. * [Fix] `ES5`: `ToNumber`: properly refuse to parse ES6+ forms
  413. * [Fix] `ES2015+`: `Invoke`: optional argumentsList must be a List of arguments, not a list of arguments
  414. * [Fix] `ES2016+`: `UTF16Encoding`: properly return a string code point instead of a numeric code point
  415. * [Fix] `ES2020`: `NumberBitwiseOp`: assert that x and y are Numbers
  416. * [readme] remove travis/testling badge, fix repo URLs
  417. * [meta] `ES2015`: add missing `CreateArrayIterator` AO
  418. * [meta] `ES2015-ES2017`: add missing `DaylightSavingTA` AO
  419. * [meta] rerun `npm run spackle` to update URLs left after 11d8c8df11c0d15d094a6035afed662e22b440ef
  420. * [meta] update ecma URLs
  421. * [meta] unignore 2020 operations list
  422. * [meta] update operations scripts linting
  423. * [meta] refactor getOps script to fetch all years at once
  424. * [meta] refactor operations script to keep years in one place
  425. * [meta] fix ES2015 spec URL
  426. * [Deps] update `has-symbols`, `string.prototype.trimend`, `string.prototype.trimstart`, `get-intrinsic`, `is-callable`, `is-regex`
  427. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `array.prototype.indexof`, `aud`, `es-value-fixtures`, `object.fromentries`, `tape`, `diff`
  428. * [operations] detect ES2020+ style `T::` numeric operations
  429. * [Tests] increase coverage
  430. * [Tests] `BigInt(1e17)` throws on node v10.4-v10.6
  431. * [Tests] improve coverage on `Number::` methods
  432. * [Tests] `tape` v5 `.equal` now uses strict equality, so no more need for `is()`
  433. * [Tests] improve BigInt:: and Number:: coverage
  434. * [Tests] actually run all the helpers tests
  435. * [Tests] ensure "expected missing" ops list is accurate
  436. * [Tests] abstract away per-operation skips
  437. * [Tests] skip BigInt:: tests on envs without BigInts
  438. * [Tests] use `es-value-fixtures`
  439. * [actions] update workflows
  440. 1.18.0-next.2 / 2021-01-17
  441. =================
  442. * [New] `helpers`: add `isByteValue`, `isCodePoint`, `some`
  443. * [Fix] `ES2018+`: fix `GetSubstitution` with named captures
  444. * [Fix] `ES2020`: `GetIterator`: add omitted `hint` parameter
  445. * [Fix] `ES2018`/`ES2019`: `SetFunctionLength`: Infinities should throw
  446. * [Fix] `ES2020`: `ToIndex` uses `SameValue` instead of `SameValueZero`
  447. * [Fix] `ES2020`: `CopyDataProperties` uses `CreateDataPropertyOrThrow` instead of `CreateDataProperty`
  448. * [Refactor] use extracted `call-bind` instead of local helpers
  449. * [Refactor] use extracted `get-intrinsic` package
  450. * [Deps] update `call-bind`, `get-intrinsic`, `is-callable`, `is-negative-zero`, `is-regex`, `object-inspect`, `object.assign`, `string.prototype.trimend`, `string.prototype.trimstart`
  451. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `array.prototype.indexof`, `aud`, `diff`, `functions-have-names`, `has-bigints`, `has-strict-mode`, `object-is`, `object.fromentries`, `tape`
  452. * [actions] switch Automatic Rebase workflow to `pull_request_target` event
  453. * [actions] add "Allow Edits" workflow
  454. * [meta] pin cheerio to v1.0.0-rc.3, to fix getOps
  455. * [meta] make all URLs consistent, and point to spec artifacts
  456. * [meta] refactor `deltas` script; update eslint on operations scripts
  457. * [meta] do not publish .github dir (#123)
  458. * [Tests] add `v.notNonNegativeIntegers`, `v.nonConstructorFunctions`
  459. * [Tests] migrate tests to Github Actions
  460. * [Tests] run coverage on all tests
  461. * [Tests] add `npm run test:ses`
  462. 1.18.0-next.1 / 2020-09-30
  463. =================
  464. * [Fix] `ES2020`: `ToInteger`: `-0` should always be normalized to `+0` (#116)
  465. * [patch] `GetIntrinsic`: Adapt to override-mistake-fix pattern (#115)
  466. * [Fix] `callBind`: ensure compatibility with SES
  467. * [Deps] update `is-callable`, `object.assign`
  468. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`
  469. * [eslint] fix warning
  470. * [Tests] temporarily allow SES tests to fail (#115)
  471. * [Tests] ses-compat - initialize module after ses lockdown (#113)
  472. * [Tests] [Refactor] use defineProperty helper rather than assignment
  473. * [Tests] [Refactor] clean up defineProperty test helper
  474. 1.18.0-next.0 / 2020-08-14
  475. =================
  476. * [New] add `ES2020`
  477. * [New] `GetIntrinsic`: add `%AggregateError%`, `%FinalizationRegistry%`, and `%WeakRef%`
  478. * [New] `ES5`+: add `abs`, `floor`; use `modulo` consistently
  479. * [New] `GetIntrinsic`: Cache accessed intrinsics (#98)
  480. * [New] `GetIntrinsic`: Add ES201x function intrinsics (#97)
  481. * [New] `ES2015`+: add `QuoteJSONString`, `OrdinaryCreateFromConstructor`
  482. * [New] `ES2017`+: add `StringGetOwnProperty`
  483. * [New] `ES2016`+: add `UTF16Encoding`
  484. * [New] `ES2018`+: add `SetFunctionLength`, `UnicodeEscape`
  485. * [New] add `isLeadingSurrogate`/`isTrailingSurrogate` helpers
  486. * [Fix] `ES5`+: `ToPropertyDescriptor`: use intrinsic TypeError
  487. * [Fix] `ES2018+`: `CopyDataProperties`/`NumberToString`: use intrinsic TypeError
  488. * [Deps] update `is-regex`, `object-inspect`
  489. * [Dev Deps] update `eslint`
  490. 1.17.7 / 2020-09-30
  491. =================
  492. * [Fix] `ES2020`: `ToInteger`: `-0` should always be normalized to `+0` (#116)
  493. * [patch] `GetIntrinsic`: Adapt to override-mistake-fix pattern (#115)
  494. * [Fix] `callBind`: ensure compatibility with SES
  495. * [Deps] update `is-callable`, `is-regex`, `object-inspect`, `object.assign`
  496. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`
  497. 1.17.6 / 2020-06-13
  498. =================
  499. * [Fix] `helpers/getSymbolDescription`: use the global Symbol registry when available (#92)
  500. * [Fix] `ES2015+`: `IsConstructor`: when `Reflect.construct` is available, be spec-accurate (#93)
  501. * [Fix] `ES2015+`: `Set`: Always return boolean value (#101)
  502. * [Fix] `ES2015+`: `Set`: ensure exceptions are thrown in IE 9 when requested
  503. * [Fix] Use `Reflect.apply(…)` if available (#99)
  504. * [Fix] `helpers/floor`: module-cache `Math.floor`
  505. * [Fix] `helpers/getSymbolDescription`: Prefer bound `description` getter when present
  506. * [Fix] `2016`: Use `getIteratorMethod` in `IterableToArrayLike` (#94)
  507. * [Fix] `helpers/OwnPropertyKeys`: Use `Reflect.ownKeys(…)` if available (#91)
  508. * [Fix] `2018+`: Fix `CopyDataProperties` depending on `this` (#95)
  509. * [meta] mark spackled files as autogenerated
  510. * [meta] `Type`: fix spec URL
  511. * [meta] `ES2015`: complete ops list
  512. * [Deps] update `is‑callable`, `is‑regex`
  513. * [Deps] switch from `string.prototype.trimleft`/`string.prototype.trimright` to `string.prototype.trimstart`/`string.prototype.trimend`
  514. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `in-publish`, `object-is`, `tape`; add `aud`
  515. * [eslint] `helpers/isPropertyDescriptor`: fix indentation
  516. * [Tests] `helpers/getSymbolDescription`: add test cases; some envs have `Symbol.for` but can not infer a name (#92)
  517. * [Tests] try out CodeQL analysis
  518. * [Tests] reformat expected missing ops
  519. * [Tests] Run tests with `undefined` this (#96)
  520. 1.17.5 / 2020-03-22
  521. =================
  522. * [Fix] `CreateDataProperty`: update an existing property
  523. * [Fix] run missing spackle from cd7504701879ddea0f5981e99cbcf93bfea9171d
  524. * [Dev Deps] update `make-arrow-function`, `tape`, `@ljharb/eslint-config`
  525. 1.17.4 / 2020-01-21
  526. =================
  527. * [Fix] `2015+`: add code to handle IE 8’s problems
  528. * [Tests] fix tests for IE 8
  529. 1.17.3 / 2020-01-19
  530. =================
  531. * [Fix] `ObjectCreate` `2015+`: Fall back to `__proto__` and normal `new` in older browsers
  532. * [Fix] `GetIntrinsic`: ensure the `allowMissing` property actually works on dotted intrinsics
  533. 1.17.2 / 2020-01-14
  534. =================
  535. * [Fix] `helpers/OwnPropertyKeys`: include non-enumerables too
  536. 1.17.1 / 2020-01-14
  537. =================
  538. * [Refactor] add `OwnPropertyKeys` helper, use it in `CopyDataProperties`
  539. * [Refactor] `IteratorClose`: remove useless assignment
  540. * [Dev Deps] update `eslint`, `tape`, `diff`
  541. 1.17.0 / 2019-12-20
  542. =================
  543. * [New] Split up each operation into its own file (prereleased)
  544. * [Fix] `GetIntrinsic`: IE 8 has a broken `Object.getOwnPropertyDescriptor`
  545. * [Fix] `object.assign` is a runtime dep (prereleased)
  546. * [Refactor] `GetIntrinsic`: remove the internal property salts, since % already handles that
  547. * [Refactor] `GetIntrinsic`: further simplification
  548. * [Deps] update `is-callable`, `string.prototype.trimleft`, `string.prototype.trimright`, `is-regex`
  549. * [Dev Deps] update `@ljharb/eslint-config`, `object-is`, `object.fromentries`, `tape`
  550. * [Tests] add `.eslintignore`
  551. * [meta] remove unused Makefile and associated utils
  552. * [meta] only run spackle script in publish (#78) (prereleased)
  553. 1.17.0-next.1 / 2019-12-11
  554. =================
  555. * [Fix] `object.assign` is a runtime dep
  556. * [meta] only run spackle script in publish (#78)
  557. 1.17.0-next.0 / 2019-12-11
  558. =================
  559. * [New] Split up each operation into its own file
  560. 1.16.3 / 2019-12-04
  561. =================
  562. * [Fix] `GetIntrinsic`: when given a path to a getter, return the actual getter
  563. * [Dev Deps] update `eslint`
  564. 1.16.2 / 2019-11-24
  565. =================
  566. * [Fix] IE 6-7 lack JSON
  567. * [Fix] IE 6-8 strings can’t use array slice, they need string slice
  568. * [Dev Deps] update `eslint`
  569. 1.16.1 / 2019-11-24
  570. =================
  571. * [Fix] `GetIntrinsics`: turns out IE 8 throws when `Object.getOwnPropertyDescriptor(arguments);`, and does not throw on `callee` anyways
  572. * [Deps] update `es-to-primitive`, `has-symbols`, `object-inspect`
  573. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`
  574. * [meta] re-include year files inside `operations`
  575. * [meta] add `funding` field
  576. * [actions] add Automatic Rebase github action
  577. * [Tests] use shared travis-ci config
  578. * [Tests] disable `check-coverage`, and let codecov do it
  579. 1.16.0 / 2019-10-18
  580. =================
  581. * [New] `ES2015+`: add `SetFunctionName`
  582. * [New] `ES2015+`: add `GetPrototypeFromConstructor`, with caveats
  583. * [New] `ES2015+`: add `CreateListFromArrayLike`
  584. * [New] `ES2016+`: add `OrdinarySetPrototypeOf`
  585. * [New] `ES2016+`: add `OrdinaryGetPrototypeOf`
  586. * [New] add `getSymbolDescription` and `getInferredName` helpers
  587. * [Fix] `GetIterator`: add fallback for pre-Symbol environments, tests
  588. * [Dev Deps] update `object.fromentries`
  589. * [Tests] add `node` `v12.2`
  590. 1.15.0 / 2019-10-02
  591. =================
  592. * [New] `ES2018`+: add `DateString`, `TimeString`
  593. * [New] `ES2015`+: add `ToDateString`
  594. * [New] `ES5`+: add `msFromTime`, `SecFromTime`, `MinFromTime`, `HourFromTime`, `TimeWithinDay`, `Day`, `DayFromYear`, `TimeFromYear`, `YearFromTime`, `WeekDay`, `DaysInYear`, `InLeapYear`, `DayWithinYear`, `MonthFromTime`, `DateFromTime`, `MakeDay`, `MakeDate`, `MakeTime`, `TimeClip`, `modulo`
  595. * [New] add `regexTester` helper
  596. * [New] add `callBound` helper
  597. * [New] add ES2020’s intrinsic dot notation
  598. * [New] add `isPrefixOf` helper
  599. * [New] add `maxSafeInteger` helper
  600. * [Deps] update `string.prototype.trimleft`, `string.prototype.trimright`
  601. * [Dev Deps] update `eslint`
  602. * [Tests] on `node` `v12.11`
  603. * [meta] npmignore operations scripts; add "deltas"
  604. 1.14.2 / 2019-09-08
  605. =================
  606. * [Fix] `ES2016`: `IterableToArrayLike`: add proper fallback for strings, pre-Symbols
  607. * [Tests] on `node` `v12.10`
  608. 1.14.1 / 2019-09-03
  609. =================
  610. * [meta] republish with some extra files removed
  611. 1.14.0 / 2019-09-02
  612. =================
  613. * [New] add ES2019
  614. * [New] `ES2017+`: add `IterableToList`
  615. * [New] `ES2016`: add `IterableToArrayLike`
  616. * [New] `ES2015+`: add `ArrayCreate`, `ArraySetLength`, `OrdinaryDefineOwnProperty`, `OrdinaryGetOwnProperty`, `OrdinaryHasProperty`, `CreateHTML`, `GetOwnPropertyKeys`, `InstanceofOperator`, `SymbolDescriptiveString`, `GetSubstitution`, `ValidateAndApplyPropertyDescriptor`, `IsPromise`, `OrdinaryHasInstance`, `TestIntegrityLevel`, `SetIntegrityLevel`
  617. * [New] add `callBind` helper, and use it
  618. * [New] add helpers: `isPropertyDescriptor`, `every`
  619. * [New] ES5+: add `Abstract Relational Comparison`
  620. * [New] ES5+: add `Abstract Equality Comparison`, `Strict Equality Comparison`
  621. * [Fix] `ES2015+`: `GetIterator`: only require native Symbols when `method` is omitted
  622. * [Fix] `ES2015`: `Call`: error message now properly displays Symbols using `object-inspect`
  623. * [Fix] `ES2015+`: `ValidateAndApplyPropertyDescriptor`: use ES2017 logic to bypass spec bugs
  624. * [Fix] `ES2015+`: `CreateDataProperty`, `DefinePropertyOrThrow`, `ValidateAndApplyPropertyDescriptor`: add fallbacks for ES3
  625. * [Fix] `ES2015+`: `FromPropertyDescriptor`: no longer requires a fully complete Property Descriptor
  626. * [Fix] `ES5`: `IsPropertyDescriptor`: call into `IsDataDescriptor` and `IsAccessorDescriptor`
  627. * [Refactor] use `has-symbols` for Symbol detection
  628. * [Fix] `helpers/assertRecord`: remove `console.log`
  629. * [Deps] update `object-keys`
  630. * [readme] add security note
  631. * [meta] change http URLs to https
  632. * [meta] linter cleanup
  633. * [meta] fix getOps script
  634. * [meta] add FUNDING.yml
  635. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `semver`, `replace`, `cheerio`, `tape`
  636. * [Tests] up to `node` `v12.9`, `v11.15`, `v10.16`, `v8.16`, `v6.17`
  637. * [Tests] temporarily allow node 0.6 to fail; segfaulting in travis
  638. * [Tests] use the values helper more in es5 tests
  639. * [Tests] fix linting to apply to all files
  640. * [Tests] run `npx aud` only on prod deps
  641. * [Tests] add v.descriptors helpers
  642. * [Tests] use `npx aud` instead of `npm audit` with hoops
  643. * [Tests] use `eclint` instead of `editorconfig-tools`
  644. * [Tests] some intrinsic cleanup
  645. * [Tests] migrate es5 tests to use values helper
  646. * [Tests] add some missing ES2015 ops
  647. 1.13.0 / 2019-01-02
  648. =================
  649. * [New] add ES2018
  650. * [New] add ES2015/ES2016: EnumerableOwnNames; ES2017: EnumerableOwnProperties
  651. * [New] `ES2015+`: add `thisBooleanValue`, `thisNumberValue`, `thisStringValue`, `thisTimeValue`
  652. * [New] `ES2015+`: add `DefinePropertyOrThrow`, `DeletePropertyOrThrow`, `CreateMethodProperty`
  653. * [New] add `assertRecord` helper
  654. * [Deps] update `is-callable`, `has`, `object-keys`, `es-to-primitive`
  655. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`, `semver`, `safe-publish-latest`, `replace`
  656. * [Tests] use `npm audit` instead of `nsp`
  657. * [Tests] remove `jscs`
  658. * [Tests] up to `node` `v11.6`, `v10.15`, `v8.15`, `v6.16`
  659. * [Tests] move descriptor factories to `values` helper
  660. * [Tests] add `getOps` to programmatically fetch abstract operation names
  661. 1.12.0 / 2018-05-31
  662. =================
  663. * [New] add `GetIntrinsic` entry point
  664. * [New] `ES2015`+: add `ObjectCreate`
  665. * [Robustness]: `ES2015+`: ensure `Math.{abs,floor}` and `Function.call` are cached
  666. 1.11.0 / 2018-03-21
  667. =================
  668. * [New] `ES2015+`: add iterator abstract ops
  669. * [Dev Deps] update `eslint`, `nsp`, `object.assign`, `semver`, `tape`
  670. * [Tests] up to `node` `v9.8`, `v8.10`, `v6.13`
  671. 1.10.0 / 2017-11-24
  672. =================
  673. * [New] ES2015+: `AdvanceStringIndex`
  674. * [Dev Deps] update `eslint`, `nsp`
  675. * [Tests] require node 0.6 to pass again
  676. * [Tests] up to `node` `v9.2`, `v8.9`, `v6.12`; use `nvm install-latest-npm`; pin included builds to LTS
  677. 1.9.0 / 2017-09-30
  678. =================
  679. * [New] `es2015+`: add `ArraySpeciesCreate`
  680. * [New] ES2015+: add `CreateDataProperty` and `CreateDataPropertyOrThrow`
  681. * [Tests] consolidate duplicated tests
  682. * [Tests] increase coverage
  683. * [Dev Deps] update `nsp`, `eslint`
  684. 1.8.2 / 2017-09-03
  685. =================
  686. * [Fix] `es2015`+: `ToNumber`: provide the proper hint for Date objects (#27)
  687. * [Dev Deps] update `eslint`
  688. 1.8.1 / 2017-08-30
  689. =================
  690. * [Fix] ES2015+: `ToPropertyKey`: should return a symbol for Symbols (#26)
  691. * [Deps] update `function-bind`
  692. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`
  693. * [Docs] github broke markdown parsing
  694. 1.8.0 / 2017-08-04
  695. =================
  696. * [New] add ES2017
  697. * [New] move es6+ to es2015+; leave es6/es7 as aliases
  698. * [New] ES5+: add `IsPropertyDescriptor`, `IsAccessorDescriptor`, `IsDataDescriptor`, `IsGenericDescriptor`, `FromPropertyDescriptor`, `ToPropertyDescriptor`
  699. * [New] ES2015+: add `CompletePropertyDescriptor`, `Set`, `HasOwnProperty`, `HasProperty`, `IsConcatSpreadable`, `Invoke`, `CreateIterResultObject`, `RegExpExec`
  700. * [Fix] es7/es2016: do not mutate ES6
  701. * [Fix] assign helper only supports one source
  702. * [Deps] update `is-regex`
  703. * [Dev Deps] update `nsp`, `eslint`, `@ljharb/eslint-config`
  704. * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `nsp`, `semver`, `tape`
  705. * [Tests] add tests for missing and excess operations
  706. * [Tests] add codecov for coverage
  707. * [Tests] up to `node` `v8.2`, `v7.10`, `v6.11`, `v4.8`; newer npm breaks on older node
  708. * [Tests] use same lists of value types across tests; ensure tests are the same when ops are the same
  709. * [Tests] ES2015: add ToNumber symbol tests
  710. * [Tests] switch to `nyc` for code coverage
  711. * [Tests] make IsRegExp tests consistent across editions
  712. 1.7.0 / 2017-01-22
  713. =================
  714. * [New] ES6: Add `GetMethod` (#16)
  715. * [New] ES6: Add `GetV` (#16)
  716. * [New] ES6: Add `Get` (#17)
  717. * [Tests] up to `node` `v7.4`, `v6.9`, `v4.6`; improve test matrix
  718. * [Dev Deps] update `tape`, `nsp`, `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`
  719. 1.6.1 / 2016-08-21
  720. =================
  721. * [Fix] ES6: IsConstructor should return true for `class` constructors.
  722. 1.6.0 / 2016-08-20
  723. =================
  724. * [New] ES5 / ES6: add `Type`
  725. * [New] ES6: `SpeciesConstructor`
  726. * [Dev Deps] update `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`; add `safe-publish-latest`
  727. * [Tests] up to `node` `v6.4`, `v5.12`, `v4.5`
  728. 1.5.1 / 2016-05-30
  729. =================
  730. * [Fix] `ES.IsRegExp`: actually look up `Symbol.match` on the argument
  731. * [Refactor] create `isNaN` helper
  732. * [Deps] update `is-callable`, `function-bind`
  733. * [Deps] update `es-to-primitive`, fix ES5 tests
  734. * [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config`, `tape`, `nsp`
  735. * [Tests] up to `node` `v6.2`, `v5.11`, `v4.4`
  736. * [Tests] use pretest/posttest for linting/security
  737. 1.5.0 / 2015-12-27
  738. =================
  739. * [New] adds `Symbol.toPrimitive` support via `es-to-primitive`
  740. * [Deps] update `is-callable`, `es-to-primitive`
  741. * [Dev Deps] update `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`, `tape`
  742. * [Tests] up to `node` `v5.3`
  743. 1.4.3 / 2015-11-04
  744. =================
  745. * [Fix] `ES6.ToNumber`: should give `NaN` for explicitly signed hex strings (#4)
  746. * [Refactor] `ES6.ToNumber`: No need to double-trim
  747. * [Refactor] group tests better
  748. * [Tests] should still pass on `node` `v0.8`
  749. 1.4.2 / 2015-11-02
  750. =================
  751. * [Fix] ensure `ES.ToNumber` trims whitespace, and does not trim non-whitespace (#3)
  752. 1.4.1 / 2015-10-31
  753. =================
  754. * [Fix] ensure only 0-1 are valid binary and 0-7 are valid octal digits (#2)
  755. * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`
  756. * [Tests] on `node` `v5.0`
  757. * [Tests] fix npm upgrades for older node versions
  758. * package.json: use object form of "authors", add "contributors"
  759. 1.4.0 / 2015-09-26
  760. =================
  761. * [Deps] update `is-callable`
  762. * [Dev Deps] update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config`
  763. * [Tests] on `node` `v4.2`
  764. * [New] Add `SameValueNonNumber` to ES7
  765. 1.3.2 / 2015-09-26
  766. =================
  767. * [Fix] Fix `ES6.IsRegExp` to properly handle `Symbol.match`, per spec.
  768. * [Tests] up to `io.js` `v3.3`, `node` `v4.1`
  769. * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`
  770. 1.3.1 / 2015-08-15
  771. =================
  772. * [Fix] Ensure that objects that `toString` to a binary or octal literal also convert properly
  773. 1.3.0 / 2015-08-15
  774. =================
  775. * [New] ES6’s ToNumber now supports binary and octal literals.
  776. * [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config`, `tape`
  777. * [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG
  778. * [Tests] up to `io.js` `v3.0`
  779. 1.2.2 / 2015-07-28
  780. =================
  781. * [Fix] Both `ES5.CheckObjectCoercible` and `ES6.RequireObjectCoercible` return the value if they don't throw.
  782. * [Tests] Test on latest `io.js` versions.
  783. * [Dev Deps] Update `eslint`, `jscs`, `tape`, `semver`, `covert`, `nsp`
  784. 1.2.1 / 2015-03-20
  785. =================
  786. * Fix `isFinite` helper.
  787. 1.2.0 / 2015-03-19
  788. =================
  789. * Use `es-to-primitive` for ToPrimitive methods.
  790. * Test on latest `io.js` versions; allow failures on all but 2 latest `node`/`io.js` versions.
  791. 1.1.2 / 2015-03-20
  792. =================
  793. * Fix isFinite helper.
  794. 1.1.1 / 2015-03-19
  795. =================
  796. * Fix isPrimitive check for functions
  797. * Update `eslint`, `editorconfig-tools`, `semver`, `nsp`
  798. 1.1.0 / 2015-02-17
  799. =================
  800. * Add ES7 export (non-default).
  801. * All grade A-supported `node`/`iojs` versions now ship with an `npm` that understands `^`.
  802. * Test on `iojs-v1.2`.
  803. 1.0.1 / 2015-01-30
  804. =================
  805. * Use `is-callable` instead of an internal function.
  806. * Update `tape`, `jscs`, `nsp`, `eslint`
  807. 1.0.0 / 2015-01-10
  808. =================
  809. * v1.0.0