d7ef7b1815346e8b201ccbb018ee711e7cdee27581dfc865ef5f4320669507eb6f0a0e3f548390957be2d3423c31b43b0669dfc682df5bffb89af0d8876541 48 KB

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