版博士V2.0程序
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1 год назад
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195
  1. # Changelog
  2. > **Tags:**
  3. >
  4. > - [New Feature]
  5. > - [Bug Fix]
  6. > - [Breaking Change]
  7. > - [Documentation]
  8. > - [Internal]
  9. > - [Polish]
  10. > - [Experimental]
  11. > - [Deprecation]
  12. **Note**: Gaps between patch versions are faulty/broken releases.
  13. **Note**: A feature tagged as Experimental is in a
  14. high state of flux, you're at risk of it changing without notice.
  15. # 2.13.1
  16. - **New Feature**
  17. - new modules:
  18. - `ReaderIO`, #1738 (@sukovanej)
  19. - do notation:
  20. - add `let` helpers, #1725 (@Punie)
  21. - `Alternative`
  22. - add `getAlternativeMonoid`, #1717 (@willheslam)
  23. - `function`
  24. - `flip` is now curried, #1748 (@thewilkybarkid)
  25. - `pipeable`
  26. - add pipeable helpers, #1764 (@gcanti)
  27. - `alt`
  28. - `ap`
  29. - `bimap`
  30. - `chain`
  31. - `compose`
  32. - `contramap`
  33. - `extend`
  34. - `filter`
  35. - `filterMap`
  36. - `filterMapWithIndex`
  37. - `filterWithIndex`
  38. - `foldMap`
  39. - `foldMapWithIndex`
  40. - `map`
  41. - `mapLeft`
  42. - `mapWithIndex`
  43. - `partition`
  44. - `partitionMap`
  45. - `partitionMapWithIndex`
  46. - `partitionWithIndex`
  47. - `promap`
  48. - `reduce`
  49. - `reduceRight`
  50. - `reduceRightWithIndex`
  51. - `reduceWithIndex`
  52. - `ReaderTask`
  53. - add `ReaderIO` constructors/combinators, #1773 (@thewilkybarkid)
  54. - `ReaderTaskEither`
  55. - add `ReaderIO` constructors/combinators, #1774 (@thewilkybarkid)
  56. - `TaskEither`
  57. - add `chainTaskOptionKW`, #1744 (@AmirabbasJ)
  58. - **Bug Fix**
  59. - do notation
  60. - Ensuring that `bind` and `bindW` pass the correct params through rather than get rewritten by the function passed in, #1584 (@feydan)
  61. - **Polish**
  62. - backport from v3 some handy defaults defined in natural transformations/combinators/constructors (@gcanti)
  63. - fix wrong type parameter order:
  64. - `FromIO`
  65. - `chainIOK`
  66. - `FromTask`
  67. - `chainTaskK`
  68. - `chainFirstTaskK`
  69. - `Whiterable`
  70. - `FilterE1`
  71. - `TheseT`
  72. - `both`
  73. - `Either`
  74. - `apFirstW`
  75. - `apSecondW`
  76. - `IOEither`
  77. - `apFirstW`
  78. - `apSecondW`
  79. - `Reader`
  80. - `apFirstW`
  81. - `apSecondW`
  82. - `ReaderEither`
  83. - `apFirstW`
  84. - `apSecondW`
  85. - `ReaderTaskEither`
  86. - `apFirstW`
  87. - `apSecondW`
  88. - `StateReaderTaskEither`
  89. - `apFirstW`
  90. - `apSecondW`
  91. - `TaskEither`
  92. - `apFirstW`
  93. - `apSecondW`
  94. - `Apply`
  95. - add `ap` overloadings, #1721 (@waynevanson)
  96. - `Either`
  97. - remove useless type parameter in `exists` (@gcanti)
  98. - `ReadonlyRecord`
  99. - fix `fromEntries` return type, closes #1745 (@gcanti)
  100. - `TaskEither`
  101. - fix `fromPredicate` signature (@gcanti)
  102. - `These`
  103. - add missing `fromPredicate` (@gcanti)
  104. - remove useless type parameter in `exists` (@gcanti)
  105. - `Traversable`
  106. - add more overloadings to traverse / sequence helpers, #1758 (@gcanti)
  107. - `Writer`
  108. - `getChain` requires a `Semigroup` instead of a `Monoid` (@gcanti)
  109. - **Deprecation**
  110. - `function`
  111. - deprecate uncurried `flip` function, #1748 (@thewilkybarkid)
  112. # 2.12.2
  113. - **Polish**
  114. - `ReadonlyRecord` / `Record`
  115. - add `Applicative4` overloadings to `traverse` / `traverseWithIndex`, #1733 (@mlegenhausen)
  116. # 2.12.1
  117. - **Bug Fix**
  118. - `ReadonlyRecord`
  119. - fix `traverseWithIndex` implementation, #1704 (@waynevanson)
  120. # 2.12.0
  121. - **New Feature**
  122. - add `IOOption` module (@gcanti)
  123. - `Array`
  124. - add `intercalate`, #1678 (@thewilkybarkid)
  125. - `Bounded`
  126. - add `clamp` (@gcanti)
  127. - add `reverse` (@gcanti)
  128. - `Either`
  129. - add `apFirstW`, #1564 (@DenisFrezzato)
  130. - add `apSecondW`, #1564 (@DenisFrezzato)
  131. - `EitherT`
  132. - add `chainNullableK`, #1619 (@cwstra)
  133. - add `fromNullable`, #1619 (@cwstra)
  134. - add `fromNullableK`, #1619 (@cwstra)
  135. - `FromEither`
  136. - add `chainFirstEitherK` (@gcanti)
  137. - `IOEither`
  138. - add `apFirstW`, #1564 (@DenisFrezzato)
  139. - add `apSecondW`, #1564 (@DenisFrezzato)
  140. - add `chainFirstEitherK` (@gcanti)
  141. - add `chainFirstEitherKW` (@gcanti)
  142. - add `orElseFirstIOK`, #1655 (@thewilkybarkid)
  143. - add `bracketW`, #1627 (@thomasvargiu)
  144. - `NonEmptyArray`
  145. - add `intercalate`, #1678 (@thewilkybarkid)
  146. - `Option`
  147. - add `chainFirstEitherK` (@gcanti)
  148. - `Ordering`
  149. - add `matchW`, #1535 (@mlegenhausen)
  150. - `Reader`
  151. - add `apFirstW`, #1564 (@DenisFrezzato)
  152. - add `apSecondW`, #1564 (@DenisFrezzato)
  153. - `ReaderEither`
  154. - add `apFirstW`, #1564 (@DenisFrezzato)
  155. - add `apSecondW`, #1564 (@DenisFrezzato)
  156. - add `chainFirstEitherK` (@gcanti)
  157. - add `chainFirstEitherKW` (@gcanti)
  158. - `ReaderTaskEither`
  159. - add `apFirstW`, #1564 (@DenisFrezzato)
  160. - add `apSecondW`, #1564 (@DenisFrezzato)
  161. - add `chainFirstEitherK`, #1562 (@DenisFrezzato)
  162. - add `chainFirstEitherKW`, #1562 (@DenisFrezzato)
  163. - add `bracketW`, #1627 (@thomasvargiu)
  164. - add `chainNullableK` (@gcanti)
  165. - add `fromNullable` (@gcanti)
  166. - add `fromNullableK` (@gcanti)
  167. - `ReadonlyArray`
  168. - add `intercalate`, #1678 (@thewilkybarkid)
  169. - `ReadonlyNonEmptyArray`
  170. - add `intercalate`, #1678 (@thewilkybarkid)
  171. - `ReadonlyRecord`
  172. - add `toEntries`, #1552 (@bravely)
  173. - add `fromEntries`, #1552 (@bravely)
  174. - `Record`
  175. - add `toEntries`, #1552 (@bravely)
  176. - add `fromEntries`, #1552 (@bravely)
  177. - `StateReaderTaskEither`
  178. - add `apFirstW`, #1564 (@DenisFrezzato)
  179. - add `apSecondW`, #1564 (@DenisFrezzato)
  180. - add `chainFirstEitherK` (@gcanti)
  181. - add `chainFirstEitherKW` (@gcanti)
  182. - `TaskEither`
  183. - add `apFirstW`, #1564 (@DenisFrezzato)
  184. - add `apSecondW`, #1564 (@DenisFrezzato)
  185. - add `chainFirstEitherK`, #1659 (@vinassefranche)
  186. - add `chainFirstEitherKW`, #1659 (@vinassefranche)
  187. - add `orElseFirstIOK`, #1655 (@thewilkybarkid)
  188. - add `orElseFirstTaskK`, #1655 (@thewilkybarkid)
  189. - add `bracketW`, #1627 (@thomasvargiu)
  190. - add `chainNullableK`, #1619 (@cwstra)
  191. - add `fromNullable`, #1619 (@cwstra)
  192. - add `fromNullableK`, #1619 (@cwstra)
  193. - `TaskOption`
  194. - add `fromEitherK` (@gcanti)
  195. - add `chainEitherK` (@gcanti)
  196. - add `chainFirstEitherK` (@gcanti)
  197. # 2.11.10
  198. - **Polish**
  199. - `TaskEither` / `TaskOption`
  200. - now `tryCatch` / `tryCatchK` will catch synchronous errors too, #1676 (@thewilkybarkid)
  201. # 2.11.9
  202. - **Polish**
  203. - add `Refinement` overload to 'every' functions, #1681 (@mlegenhausen)
  204. # 2.11.8
  205. - **Polish**
  206. - Add missing pure annotations, #1658 (@OliverJAsh)
  207. # 2.11.7
  208. - **Polish**
  209. - more `Functor.map` overloadings, closes #1623 (@gcanti)
  210. # 2.11.6
  211. - **Polish**
  212. - `ReaderEither`
  213. - `orElseFirstW`: intersect dependencies like `orElseW` (@gcanti)
  214. - `ReaderTaskEither`
  215. - `orElseFirstW`: intersect dependencies like `orElseW`, #1635 (@OliverJAsh)
  216. # 2.11.5
  217. - **Polish**
  218. - more curried `elem` overloads, #1602 (@ammut)
  219. # 2.11.4
  220. - **Polish**
  221. - fix `chainNullableK` signature, #1589 (@bwlt)
  222. - stack safety for `Task` via microtasks suspension, #1591 (@mikearnaldi)
  223. # 2.11.3
  224. - **Polish**
  225. - pipe: fix v8 performance cliff for >10 case stmts, #1585 (@pbadenski)
  226. # 2.11.2
  227. - **Polish**
  228. - Add/fix pure comments, #1555 (@OliverJAsh)
  229. # 2.11.1
  230. - **Deprecation**
  231. - `Array`
  232. - deprecate `range`, use `NonEmptyArray` module instead.
  233. - `function`
  234. - deprecate `Endomorphism`, use `Endomorphism` module instead.
  235. - deprecate `getEndomorphismMonoid`, use `Endomorphism` module instead.
  236. - deprecate `Predicate`, use `Predicate` module instead.
  237. - deprecate `not`, use `Predicate` module instead.
  238. - deprecate `Refinement`, use `Refinement` module instead.
  239. - `Monoid`
  240. - deprecate `monoidVoid`, use `void` module instead.
  241. - `NonEmptyArray`
  242. - deprecate `groupSort` (it's just `sort` followed by `group`)
  243. - `Option`
  244. - deprecate `getRefinement`, use `Refinement` module instead.
  245. - deprecate `getFirstMonoid`, use `getMonoid` module instead.
  246. - deprecate `getLastMonoid`, use `getMonoid` module instead.
  247. - `ReadonlyArray`
  248. - deprecate `range`, use `ReadonlyNonEmptyArray` module instead.
  249. - `ReadonlyNonEmptyArray`
  250. - deprecate `groupSort` (it's just `sort` followed by `group`)
  251. - `Record` / `ReadonlyRecord`: deprecate overloads without `Ord` constraint (@anthonyjoeseph):
  252. - `collect`
  253. - `reduce`
  254. - `foldMap`
  255. - `reduceRight`
  256. - `reduceWithIndex`
  257. - `foldMapWithIndex`
  258. - `reduceRightWithIndex`
  259. - `getShow`
  260. - deprecate `Foldable` in favour of `getFoldable` (@anthonyjoeseph)
  261. - deprecate `FoldableWithIndex` in favour of `getFoldableWithIndex` (@anthonyjoeseph)
  262. - deprecate `Traversable` in favour of `getTraversable` (@anthonyjoeseph)
  263. - deprecate `TraversableWithIndex` in favour of `getTraversableWithIndex` (@anthonyjoeseph)
  264. - deprecate `Witherable` in favour of `getWitherable` (@anthonyjoeseph)
  265. - `Semigroup`
  266. - deprecate `semigroupVoid`, use `void` module instead.
  267. - **New Feature**
  268. - add `Endomorphism` module
  269. - add `Predicate` module
  270. - add `Refinement` module
  271. - add `FromState` module
  272. - add `FromThese` module
  273. - add `void` module
  274. - add `FromReader` module
  275. - add `NaturalTransformation` module
  276. - add `Zero` module
  277. - `Alt`
  278. - add `altAll`
  279. - `Alternative`
  280. - add `altAll`
  281. - `Array`
  282. - add `prependW`, `appendW` (@thewilkybarkid)
  283. - add `fromOption`, `fromPredicate` (@cdimitroulas)
  284. - add `filterE`
  285. - add `ChainRecDepthFirst` instance (@qlonik)
  286. - add `chainRecDepthFirst`
  287. - add `ChainRecBreadthFirst` instance (@qlonik)
  288. - add `chainRecBreadthFirst`
  289. - add `getUnionSemigroup`
  290. - add `getUnionMonoid`
  291. - add `getIntersectionSemigroup`
  292. - add `getDifferenceMagma`
  293. - add `fromEither`
  294. - add `FromEither` instance
  295. - add `fromEitherK`
  296. - make `isEmpty` a user defined guard
  297. - add `concat` / `concatW`
  298. - add `match`, `matchW`, `matchLeftW`, `matchRightW`
  299. - add `fromOptionK`
  300. - add `Zero` instance
  301. - add `guard` constructor
  302. - add `exists` alias
  303. - `boolean`
  304. - add `isBoolean`
  305. - `Either`
  306. - add `chainOptionK`
  307. - add `flattenW`
  308. - add `traverseReadonlyNonEmptyArrayWithIndex`
  309. - add `traverseReadonlyArrayWithIndex`
  310. - `EitherT`
  311. - add `orElseFirst`
  312. - add `orLeft`
  313. - `function`
  314. - add `SK` (@cdimitroulas)
  315. - add `apply`
  316. - `IO`
  317. - add `traverseReadonlyNonEmptyArrayWithIndex`
  318. - add `traverseReadonlyArrayWithIndex`
  319. - `IOEither`
  320. - add `orElseFirst` / `orElseFirstW`
  321. - add `orLeft`
  322. - add `flattenW`
  323. - add `traverseReadonlyNonEmptyArrayWithIndex`
  324. - add `traverseReadonlyArrayWithIndex`
  325. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  326. - add `traverseReadonlyArrayWithIndexSeq`
  327. - `Magma`
  328. - add `reverse`
  329. - add `filterFirst`
  330. - add `filterSecond`
  331. - add `endo`
  332. - add `concatAll`
  333. - `Map`
  334. - add `union`
  335. - add `intersection`
  336. - add `difference`
  337. - add `getUnionSemigroup`
  338. - add `getUnionMonoid`
  339. - add `getIntersectionSemigroup`
  340. - add `getDifferenceMagma`
  341. - add `getFoldable`
  342. - add `foldMap`
  343. - add `reduceRight`
  344. - add `reduceWithIndex`
  345. - add `foldMapWithIndex`
  346. - add `reduceRightWithIndex`
  347. - `NonEmptyArray`
  348. - add `matchLeft`, `matchRight`, `modifyHead`, `modifyLast` (@cdimitroulas)
  349. - add `union`
  350. - add `getUnionSemigroup`
  351. - add `makeBy`
  352. - add `range`
  353. - make `concat` pipeable
  354. - `number`
  355. - add `MagmaSub`
  356. - add `isNumber`
  357. - `string`
  358. - add `isString`
  359. - `Option`
  360. - add `FromEither` instance
  361. - add `fromEitherK`
  362. - add `chainEitherK`
  363. - add `Zero` instance
  364. - add `guard` constructor
  365. - add `traverseReadonlyNonEmptyArrayWithIndex`
  366. - add `traverseReadonlyArrayWithIndex`
  367. - `Ord`
  368. - add `trivial` instance
  369. - add `equals`
  370. - `Reader`
  371. - add `asksReaderW`, `asksReader`
  372. - add `flattenW`
  373. - add `traverseReadonlyNonEmptyArrayWithIndex`
  374. - add `traverseReadonlyArrayWithIndex`
  375. - `ReaderEither`
  376. - add `asksReaderEitherW`, `asksReaderEither`
  377. - add `orElseFirst` / `orElseFirstW`
  378. - add `orLeft`
  379. - add `chainReaderKW`
  380. - add `chainFirstReaderK`, `chainFirstReaderKW`
  381. - add `flattenW`
  382. - add `traverseReadonlyNonEmptyArrayWithIndex`
  383. - add `traverseReadonlyArrayWithIndex`
  384. - `ReaderTask`
  385. - add `asksReaderTaskW`, `asksReaderTask`
  386. - add `chainReaderKW`
  387. - add `chainFirstReaderK`, `chainFirstReaderKW`
  388. - add `flattenW`
  389. - add `traverseReadonlyNonEmptyArrayWithIndex`
  390. - add `traverseReadonlyArrayWithIndex`
  391. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  392. - add `traverseReadonlyArrayWithIndexSeq`
  393. - `ReaderTaskEither`
  394. - add `asksReaderTaskEitherW`, `asksReaderTaskEither`
  395. - add `orElseFirst` / `orElseFirstW`
  396. - add `orLeft`
  397. - add `fromReaderTaskK`
  398. - add `fromReaderEitherK`
  399. - add `chainReaderKW`
  400. - add `chainReaderTaskK`, `chainReaderTaskKW`
  401. - add `chainFirstReaderK`, `chainFirstReaderKW`
  402. - add `chainFirstReaderTaskK`, `chainFirstReaderTaskKW`
  403. - add `chainReaderEitherK`, `chainReaderEitherKW`
  404. - add `chainFirstReaderEitherK`, `chainFirstReaderEitherKW`
  405. - add `chainFirstTaskEitherK`, `chainFirstTaskEitherKW`
  406. - add `flattenW`
  407. - add `traverseReadonlyNonEmptyArrayWithIndex`
  408. - add `traverseReadonlyArrayWithIndex`
  409. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  410. - add `traverseReadonlyArrayWithIndexSeq`
  411. - `ReadonlyArray`
  412. - add `prependW`, `appendW` (@thewilkybarkid)
  413. - add `filterE`
  414. - add `ChainRecDepthFirst` instance (@qlonik)
  415. - add `chainRecDepthFirst`
  416. - add `ChainRecBreadthFirst` instance (@qlonik)
  417. - add `chainRecBreadthFirst`
  418. - add `getUnionSemigroup`
  419. - add `getUnionMonoid`
  420. - add `getIntersectionSemigroup`
  421. - add `getDifferenceMagma`
  422. - add `fromOption`
  423. - add `fromPredicate`
  424. - add `fromEither`
  425. - add `FromEither` instance
  426. - add `fromEitherK`
  427. - make `isEmpty` a user defined guard
  428. - add `concat` / `concatW`
  429. - add `match`, `matchW`, `matchLeftW`, `matchRightW`
  430. - add `fromOptionK`
  431. - add `Zero` instance
  432. - add `guard` constructor
  433. - add `exists` alias
  434. - `ReadonlyMap`
  435. - add `union`
  436. - add `intersection`
  437. - add `difference`
  438. - add `getUnionSemigroup`
  439. - add `getUnionMonoid`
  440. - add `getIntersectionSemigroup`
  441. - add `getDifferenceMagma`
  442. - add `reduce`
  443. - add `foldMap`
  444. - add `reduceRight`
  445. - add `reduceWithIndex`
  446. - add `foldMapWithIndex`
  447. - add `reduceRightWithIndex`
  448. - `ReadonlyNonEmptyArray`
  449. - add `matchLeft`, `matchRight`, `modifyHead`, `modifyLast` (@cdimitroulas)
  450. - add `union`
  451. - add `getUnionSemigroup`
  452. - add `makeBy`
  453. - add `range`
  454. - make `concat` pipeable
  455. - `ReadonlyRecord`
  456. - add `union` (@anthonyjoeseph)
  457. - add `intersection` (@anthonyjoeseph)
  458. - add `difference` (@anthonyjoeseph)
  459. - add `getUnionSemigroup` (@anthonyjoeseph)
  460. - add `getUnionMonoid` (@anthonyjoeseph)
  461. - add `getIntersectionSemigroup` (@anthonyjoeseph)
  462. - add `getDifferenceMagma` (@anthonyjoeseph)
  463. - `ReadonlySet`
  464. - add `getUnionSemigroup`
  465. - add `getDifferenceMagma`
  466. - `Record`
  467. - add `union`
  468. - add `intersection`
  469. - add `difference`
  470. - add `getUnionSemigroup`
  471. - add `getUnionMonoid`
  472. - add `getIntersectionSemigroup`
  473. - add `getDifferenceMagma`
  474. - `Set`
  475. - add `getUnionSemigroup`
  476. - add `getDifferenceMagma`
  477. - `State`
  478. - add `traverseReadonlyNonEmptyArrayWithIndex`
  479. - add `traverseReadonlyArrayWithIndex`
  480. - `StateReaderTaskEither`
  481. - add `fromStateK`
  482. - add `chainStateK`
  483. - add `local`
  484. - add `asksStateReaderTaskEitherW`, `asksStateReaderTaskEither`
  485. - add `chainReaderKW`
  486. - add `chainFirstReaderK`, `chainFirstReaderKW`
  487. - add `flattenW`
  488. - add `traverseReadonlyNonEmptyArrayWithIndex`
  489. - add `traverseReadonlyArrayWithIndex`
  490. - `string`
  491. - add `toUpperCase`
  492. - add `toLowerCase`
  493. - add `replace`
  494. - add `split`
  495. - add `trim`
  496. - add `trimLeft`
  497. - add `trimRight`
  498. - add `includes`
  499. - add `startsWith`
  500. - add `endsWith`
  501. - add `slice`
  502. - `struct`
  503. - add `evolve`
  504. - `Task`
  505. - add `ApT`
  506. - add `traverseReadonlyNonEmptyArrayWithIndex`
  507. - add `traverseReadonlyArrayWithIndex`
  508. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  509. - add `traverseReadonlyArrayWithIndexSeq`
  510. - `TaskEither`
  511. - add `fromTaskOption` (@thewilkybarkid)
  512. - add `fromTaskOptionK`
  513. - add `chainTaskOptionK`
  514. - add `orElseFirst` / `orElseFirstW`
  515. - add `orLeft`
  516. - add `flattenW`
  517. - add `traverseReadonlyNonEmptyArrayWithIndex`
  518. - add `traverseReadonlyArrayWithIndex`
  519. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  520. - add `traverseReadonlyArrayWithIndexSeq`
  521. - `TaskOption`
  522. - add `fromTaskEither` (@thewilkybarkid)
  523. - add `Zero` instance
  524. - add `guard` constructor
  525. - add `traverseReadonlyNonEmptyArrayWithIndex`
  526. - add `traverseReadonlyArrayWithIndex`
  527. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  528. - add `traverseReadonlyArrayWithIndexSeq`
  529. - add missing `FromEither` instance
  530. - `TaskThese`
  531. - add `ApT`
  532. - add `traverseReadonlyNonEmptyArrayWithIndex`
  533. - add `traverseReadonlyArrayWithIndex`
  534. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  535. - add `traverseReadonlyArrayWithIndexSeq`
  536. - `These`
  537. - add `elem`
  538. - add `exists`
  539. - add `ApT`
  540. - add `traverseReadonlyNonEmptyArrayWithIndex`
  541. - add `traverseReadonlyArrayWithIndex`
  542. - `Tree`
  543. - add `exists`
  544. - `Witherable`
  545. - add `filterE`, #1458 (@vinassefranche)
  546. - add `wiltDefault`
  547. - add `witherDefault`
  548. - **Polish**
  549. - remove unnecessary type parameters
  550. - `Either`
  551. - `isLeft`
  552. - `isRight`
  553. - `Option`
  554. - `isNone`
  555. - `These`
  556. - `isLeft`
  557. - `isRight`
  558. # 2.11.0-rc.2
  559. - `string`
  560. - `split` now returns a `ReadonlyNonEmptyArray`
  561. - `TaskOption`
  562. - add missing `FromEither` instance
  563. - some signature changes in `2.11.0-rc.1` caused type inference issues
  564. - `Array` / `ReadonlyArray`
  565. - revert `isOutOfBound` signature change
  566. - revert `isEmpty` signature change
  567. - revert `size` signature change
  568. - `Either`
  569. - revert `exists` signature change
  570. - revert `elem` signature change
  571. - `These`
  572. - revert `exists` signature change
  573. - revert `elem` signature change
  574. - `NonEmptyArray` / `ReadonlyNonEmptyArray`
  575. - revert `isOutOfBound` signature change
  576. - `Set` / `ReadonlySet`
  577. - revert `isEmpty` signature change
  578. - revert `size` signature change
  579. - `Map` / `ReadonlyMap`
  580. - revert `isEmpty` signature change
  581. - revert `size` signature change
  582. # 2.11.0-rc.1
  583. - **Deprecation**
  584. - `Array`
  585. - deprecate `range`, use `NonEmptyArray` module instead.
  586. - `function`
  587. - deprecate `Endomorphism`, use `Endomorphism` module instead.
  588. - deprecate `getEndomorphismMonoid`, use `Endomorphism` module instead.
  589. - deprecate `Predicate`, use `Predicate` module instead.
  590. - deprecate `not`, use `Predicate` module instead.
  591. - deprecate `Refinement`, use `Refinement` module instead.
  592. - `Monoid`
  593. - deprecate `monoidVoid`, use `void` module instead.
  594. - `NonEmptyArray`
  595. - deprecate `groupSort` (it's just `sort` followed by `group`)
  596. - `Option`
  597. - deprecate `getRefinement`, use `Refinement` module instead.
  598. - deprecate `getFirstMonoid`, use `getMonoid` module instead.
  599. - deprecate `getLastMonoid`, use `getMonoid` module instead.
  600. - `ReadonlyArray`
  601. - deprecate `range`, use `ReadonlyNonEmptyArray` module instead.
  602. - `ReadonlyNonEmptyArray`
  603. - deprecate `groupSort` (it's just `sort` followed by `group`)
  604. - `Record` / `ReadonlyRecord`: deprecate overloads without `Ord` constraint (@anthonyjoeseph):
  605. - `collect`
  606. - `reduce`
  607. - `foldMap`
  608. - `reduceRight`
  609. - `reduceWithIndex`
  610. - `foldMapWithIndex`
  611. - `reduceRightWithIndex`
  612. - `getShow`
  613. - deprecate `Foldable` in favour of `getFoldable` (@anthonyjoeseph)
  614. - deprecate `FoldableWithIndex` in favour of `getFoldableWithIndex` (@anthonyjoeseph)
  615. - deprecate `Traversable` in favour of `getTraversable` (@anthonyjoeseph)
  616. - deprecate `TraversableWithIndex` in favour of `getTraversableWithIndex` (@anthonyjoeseph)
  617. - deprecate `Witherable` in favour of `getWitherable` (@anthonyjoeseph)
  618. - `Semigroup`
  619. - deprecate `semigroupVoid`, use `void` module instead.
  620. - **New Feature**
  621. - add `Endomorphism` module
  622. - add `Predicate` module
  623. - add `Refinement` module
  624. - add `FromState` module
  625. - add `FromThese` module
  626. - add `void` module
  627. - add `FromReader` module
  628. - add `NaturalTransformation` module
  629. - add `Zero` module
  630. - `Alt`
  631. - add `altAll`
  632. - `Alternative`
  633. - add `altAll`
  634. - `Array`
  635. - add `prependW`, `appendW` (@thewilkybarkid)
  636. - add `fromOption`, `fromPredicate` (@cdimitroulas)
  637. - add `filterE`
  638. - add `ChainRecDepthFirst` instance (@qlonik)
  639. - add `chainRecDepthFirst`
  640. - add `ChainRecBreadthFirst` instance (@qlonik)
  641. - add `chainRecBreadthFirst`
  642. - add `getUnionSemigroup`
  643. - add `getUnionMonoid`
  644. - add `getIntersectionSemigroup`
  645. - add `getDifferenceMagma`
  646. - add `fromEither`
  647. - add `FromEither` instance
  648. - add `fromEitherK`
  649. - make `isEmpty` a user defined guard
  650. - add `concat` / `concatW`
  651. - add `match`, `matchW`, `matchLeftW`, `matchRightW`
  652. - add `fromOptionK`
  653. - add `Zero` instance
  654. - add `guard` constructor
  655. - add `exists` alias
  656. - `boolean`
  657. - add `isBoolean`
  658. - `Either`
  659. - add `chainOptionK`
  660. - add `flattenW`
  661. - add `traverseReadonlyNonEmptyArrayWithIndex`
  662. - add `traverseReadonlyArrayWithIndex`
  663. - `EitherT`
  664. - add `orElseFirst`
  665. - add `orLeft`
  666. - `function`
  667. - add `SK` (@cdimitroulas)
  668. - add `apply`
  669. - `IO`
  670. - add `traverseReadonlyNonEmptyArrayWithIndex`
  671. - add `traverseReadonlyArrayWithIndex`
  672. - `IOEither`
  673. - add `orElseFirst` / `orElseFirstW`
  674. - add `orLeft`
  675. - add `flattenW`
  676. - add `traverseReadonlyNonEmptyArrayWithIndex`
  677. - add `traverseReadonlyArrayWithIndex`
  678. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  679. - add `traverseReadonlyArrayWithIndexSeq`
  680. - `Magma`
  681. - add `reverse`
  682. - add `filterFirst`
  683. - add `filterSecond`
  684. - add `endo`
  685. - add `concatAll`
  686. - `Map`
  687. - add `union`
  688. - add `intersection`
  689. - add `difference`
  690. - add `getUnionSemigroup`
  691. - add `getUnionMonoid`
  692. - add `getIntersectionSemigroup`
  693. - add `getDifferenceMagma`
  694. - add `getFoldable`
  695. - add `foldMap`
  696. - add `reduceRight`
  697. - add `reduceWithIndex`
  698. - add `foldMapWithIndex`
  699. - add `reduceRightWithIndex`
  700. - `NonEmptyArray`
  701. - add `matchLeft`, `matchRight`, `modifyHead`, `modifyLast` (@cdimitroulas)
  702. - add `union`
  703. - add `getUnionSemigroup`
  704. - add `makeBy`
  705. - add `range`
  706. - make `concat` pipeable
  707. - `number`
  708. - add `MagmaSub`
  709. - add `isNumber`
  710. - `string`
  711. - add `isString`
  712. - `Option`
  713. - add `FromEither` instance
  714. - add `fromEitherK`
  715. - add `chainEitherK`
  716. - add `Zero` instance
  717. - add `guard` constructor
  718. - add `traverseReadonlyNonEmptyArrayWithIndex`
  719. - add `traverseReadonlyArrayWithIndex`
  720. - `Ord`
  721. - add `trivial` instance
  722. - add `equals`
  723. - `Reader`
  724. - add `asksReaderW`, `asksReader`
  725. - add `flattenW`
  726. - add `traverseReadonlyNonEmptyArrayWithIndex`
  727. - add `traverseReadonlyArrayWithIndex`
  728. - `ReaderEither`
  729. - add `asksReaderEitherW`, `asksReaderEither`
  730. - add `orElseFirst` / `orElseFirstW`
  731. - add `orLeft`
  732. - add `chainReaderKW`
  733. - add `chainFirstReaderK`, `chainFirstReaderKW`
  734. - add `flattenW`
  735. - add `traverseReadonlyNonEmptyArrayWithIndex`
  736. - add `traverseReadonlyArrayWithIndex`
  737. - `ReaderTask`
  738. - add `asksReaderTaskW`, `asksReaderTask`
  739. - add `chainReaderKW`
  740. - add `chainFirstReaderK`, `chainFirstReaderKW`
  741. - add `flattenW`
  742. - add `traverseReadonlyNonEmptyArrayWithIndex`
  743. - add `traverseReadonlyArrayWithIndex`
  744. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  745. - add `traverseReadonlyArrayWithIndexSeq`
  746. - `ReaderTaskEither`
  747. - add `asksReaderTaskEitherW`, `asksReaderTaskEither`
  748. - add `orElseFirst` / `orElseFirstW`
  749. - add `orLeft`
  750. - add `fromReaderTaskK`
  751. - add `fromReaderEitherK`
  752. - add `chainReaderKW`
  753. - add `chainReaderTaskK`, `chainReaderTaskKW`
  754. - add `chainFirstReaderK`, `chainFirstReaderKW`
  755. - add `chainFirstReaderTaskK`, `chainFirstReaderTaskKW`
  756. - add `chainReaderEitherK`, `chainReaderEitherKW`
  757. - add `chainFirstReaderEitherK`, `chainFirstReaderEitherKW`
  758. - add `chainFirstTaskEitherK`, `chainFirstTaskEitherKW`
  759. - add `flattenW`
  760. - add `traverseReadonlyNonEmptyArrayWithIndex`
  761. - add `traverseReadonlyArrayWithIndex`
  762. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  763. - add `traverseReadonlyArrayWithIndexSeq`
  764. - `ReadonlyArray`
  765. - add `prependW`, `appendW` (@thewilkybarkid)
  766. - add `filterE`
  767. - add `ChainRecDepthFirst` instance (@qlonik)
  768. - add `chainRecDepthFirst`
  769. - add `ChainRecBreadthFirst` instance (@qlonik)
  770. - add `chainRecBreadthFirst`
  771. - add `getUnionSemigroup`
  772. - add `getUnionMonoid`
  773. - add `getIntersectionSemigroup`
  774. - add `getDifferenceMagma`
  775. - add `fromOption`
  776. - add `fromPredicate`
  777. - add `fromEither`
  778. - add `FromEither` instance
  779. - add `fromEitherK`
  780. - make `isEmpty` a user defined guard
  781. - add `concat` / `concatW`
  782. - add `match`, `matchW`, `matchLeftW`, `matchRightW`
  783. - add `fromOptionK`
  784. - add `Zero` instance
  785. - add `guard` constructor
  786. - add `exists` alias
  787. - `ReadonlyMap`
  788. - add `union`
  789. - add `intersection`
  790. - add `difference`
  791. - add `getUnionSemigroup`
  792. - add `getUnionMonoid`
  793. - add `getIntersectionSemigroup`
  794. - add `getDifferenceMagma`
  795. - add `reduce`
  796. - add `foldMap`
  797. - add `reduceRight`
  798. - add `reduceWithIndex`
  799. - add `foldMapWithIndex`
  800. - add `reduceRightWithIndex`
  801. - `ReadonlyNonEmptyArray`
  802. - add `matchLeft`, `matchRight`, `modifyHead`, `modifyLast` (@cdimitroulas)
  803. - add `union`
  804. - add `getUnionSemigroup`
  805. - add `makeBy`
  806. - add `range`
  807. - make `concat` pipeable
  808. - `ReadonlyRecord`
  809. - add `union` (@anthonyjoeseph)
  810. - add `intersection` (@anthonyjoeseph)
  811. - add `difference` (@anthonyjoeseph)
  812. - add `getUnionSemigroup` (@anthonyjoeseph)
  813. - add `getUnionMonoid` (@anthonyjoeseph)
  814. - add `getIntersectionSemigroup` (@anthonyjoeseph)
  815. - add `getDifferenceMagma` (@anthonyjoeseph)
  816. - `ReadonlySet`
  817. - add `getUnionSemigroup`
  818. - add `getDifferenceMagma`
  819. - `Record`
  820. - add `union`
  821. - add `intersection`
  822. - add `difference`
  823. - add `getUnionSemigroup`
  824. - add `getUnionMonoid`
  825. - add `getIntersectionSemigroup`
  826. - add `getDifferenceMagma`
  827. - `Set`
  828. - add `getUnionSemigroup`
  829. - add `getDifferenceMagma`
  830. - `State`
  831. - add `traverseReadonlyNonEmptyArrayWithIndex`
  832. - add `traverseReadonlyArrayWithIndex`
  833. - `StateReaderTaskEither`
  834. - add `fromStateK`
  835. - add `chainStateK`
  836. - add `local`
  837. - add `asksStateReaderTaskEitherW`, `asksStateReaderTaskEither`
  838. - add `chainReaderKW`
  839. - add `chainFirstReaderK`, `chainFirstReaderKW`
  840. - add `flattenW`
  841. - add `traverseReadonlyNonEmptyArrayWithIndex`
  842. - add `traverseReadonlyArrayWithIndex`
  843. - `string`
  844. - add `toUpperCase`
  845. - add `toLowerCase`
  846. - add `replace`
  847. - add `split`
  848. - add `trim`
  849. - add `trimLeft`
  850. - add `trimRight`
  851. - add `includes`
  852. - add `startsWith`
  853. - add `endsWith`
  854. - add `slice`
  855. - `struct`
  856. - add `evolve`
  857. - `Task`
  858. - add `ApT`
  859. - add `traverseReadonlyNonEmptyArrayWithIndex`
  860. - add `traverseReadonlyArrayWithIndex`
  861. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  862. - add `traverseReadonlyArrayWithIndexSeq`
  863. - `TaskEither`
  864. - add `fromTaskOption` (@thewilkybarkid)
  865. - add `fromTaskOptionK`
  866. - add `chainTaskOptionK`
  867. - add `orElseFirst` / `orElseFirstW`
  868. - add `orLeft`
  869. - add `flattenW`
  870. - add `traverseReadonlyNonEmptyArrayWithIndex`
  871. - add `traverseReadonlyArrayWithIndex`
  872. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  873. - add `traverseReadonlyArrayWithIndexSeq`
  874. - `TaskOption`
  875. - add `fromTaskEither` (@thewilkybarkid)
  876. - add `Zero` instance
  877. - add `guard` constructor
  878. - add `traverseReadonlyNonEmptyArrayWithIndex`
  879. - add `traverseReadonlyArrayWithIndex`
  880. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  881. - add `traverseReadonlyArrayWithIndexSeq`
  882. - `TaskThese`
  883. - add `ApT`
  884. - add `traverseReadonlyNonEmptyArrayWithIndex`
  885. - add `traverseReadonlyArrayWithIndex`
  886. - add `traverseReadonlyNonEmptyArrayWithIndexSeq`
  887. - add `traverseReadonlyArrayWithIndexSeq`
  888. - `These`
  889. - add `elem`
  890. - add `exists`
  891. - add `ApT`
  892. - add `traverseReadonlyNonEmptyArrayWithIndex`
  893. - add `traverseReadonlyArrayWithIndex`
  894. - `Tree`
  895. - add `exists`
  896. - `Witherable`
  897. - add `filterE`, #1458 (@vinassefranche)
  898. - add `wiltDefault`
  899. - add `witherDefault`
  900. - **Polish**
  901. - remove unnecessary type parameters
  902. - `Either`
  903. - `exists`
  904. - `isLeft`
  905. - `isRight`
  906. - `elem`
  907. - `Option`
  908. - `isNone`
  909. - `These`
  910. - `isLeft`
  911. - `isRight`
  912. - `Set` / `ReadonlySet`
  913. - `isEmpty`
  914. - `size`
  915. - `Array` / `ReadonlyArray`
  916. - `isEmpty`
  917. - `isOutOfBound`
  918. - `size`
  919. - `Map` / `ReadonlyMap`
  920. - `isEmpty`
  921. - `size`
  922. - `NonEmptyArray` / `ReadonlyNonEmptyArray`
  923. - `isOutOfBound`
  924. # 2.10.5
  925. - **Bug Fix**
  926. - `StateT`
  927. - fix typo in `fromF`, #1503 (@DKurilo)
  928. # 2.10.4
  929. - **Bug Fix**
  930. - `altW` left type is too wide in `Either`-based data types, #1488 (@wmaurer)
  931. # 2.10.3
  932. - **Bug Fix**
  933. - `StateReaderTaskEither`
  934. - `traverseArrayWithIndex` does not pass the output state from each step to the subsequent step, #1486
  935. # 2.10.2
  936. - **Bug Fix**
  937. - `Record`
  938. - `hasOwnProperty` should be an alias of `ReadonlyRecord.hasOwnProperty`
  939. # 2.10.1
  940. - **Bug Fix**
  941. - rename `hasOwnProperty` in `internal` module, #1481 (@OliverJAsh)
  942. # 2.10.0
  943. - **Deprecations**
  944. - deprecate `pipeable` module, use the specific helpers instead
  945. - deprecate `ValidationT` module, use `EitherT` instead
  946. - deprecate "mega instances", use small, specific instances instead
  947. - deprecate the old monad transformers, use the specific helpers instead
  948. - `Applicative`
  949. - deprecate `getApplicativeComposition`, use `ap` helper instead
  950. - `Array`
  951. - deprecate `prependToAll`, use `prependAll` instead
  952. - deprecate `cons` in favour of `prepend`
  953. - deprecate `snoc` in favour of `append`
  954. - deprecate `empty`
  955. - `BooleanAlgebra`
  956. - deprecate `booleanAlgebraBoolean`, use `boolean.BooleanAlgebra` instead
  957. - deprecate `getFunctionBooleanAlgebra`, use `function.getBooleanAlgebra` instead
  958. - deprecate `getDualBooleanAlgebra`, use `reverse` instead
  959. - `Bounded`
  960. - deprecate `boundedNumber`, use `number.Bounded` instead
  961. - `Choice`
  962. - deprecate `splitChoice` in favour of `split`
  963. - deprecate `fanin` in favour of `fanIn`
  964. - `Compactable`
  965. - deprecate `getCompactableComposition`, use `compact`, `separate` helpers instead
  966. - deprecate `Separated`, use `Separated.Separated` instead
  967. - `Either`
  968. - deprecate `getApplySemigroup` in favour of `Apply.getApplySemigroup`
  969. - deprecate `getApplyMonoid` in favour of `Applicative.getApplicativeMonoid`
  970. - deprecate `getValidationSemigroup` in favour of `Apply.getApplySemigroup`
  971. - deprecate `getValidationMonoid` in favour of `Applicative.getApplicativeMonoid`
  972. - deprecate `getValidation`, use `getApplicativeValidation` and `getAltValidation` instead
  973. - deprecate `Json` type, use the `Json` module instead
  974. - deprecate `parseJSON` type, use the `Json` module instead
  975. - deprecate `stringifyJSON` type, use the `Json` module instead
  976. - `Eq`
  977. - deprecate `eqBoolean`, use `boolean.Eq` instead
  978. - deprecate `eqString`, use `string.Eq` instead
  979. - deprecate `eqNumber`, use `number.Eq` instead
  980. - deprecate `eqDate`, use `Date.Eq` instead
  981. - deprecate `getStructEq`, use `struct` instead
  982. - deprecate `getTupleEq`, use `tuple` instead
  983. - `Filterable`
  984. - deprecate `getFilterableComposition`, use `filter`, `filterMap`, `partition`, `partitionMap` helpers instead
  985. - `Foldable`
  986. - deprecate `toArray` in favour of `toReadonlyArray`
  987. - deprecate `getFoldableComposition`, use `reduce`, `foldMap`, `reduceRight` helpers instead
  988. - `FoldableWithIndex`
  989. - deprecate `getFoldableWithIndexComposition`, use `reduceWithIndex`, `foldMapWithIndex`, `reduceRightWithIndex` helpers instead
  990. - `Functor`
  991. - deprecate `getFunctorComposition`, use `map` helper instead
  992. - `FunctorWithIndex`
  993. - deprecate `getFunctorWithIndexComposition`, use `mapWithIndex` helper instead
  994. - `IO`
  995. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  996. - deprecate `getMonoid` in favour of `Applicative.getApplicativeMonoid`
  997. - deprecate `fromIO`
  998. - `IOEither`
  999. - deprecate `getApplySemigroup` in favour of `Apply.getApplySemigroup`
  1000. - daprecate `getApplyMonoid` in favour of `Applicative.getApplicativeMonoid`
  1001. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1002. - deprecate `getIOValidation`, use `getApplicativeIOValidation` and `getAltIOValidation` instead
  1003. - `Map`
  1004. - deprecate `insertAt` in favour of `upsertAt`
  1005. - deprecate `empty`
  1006. - `Monoid`
  1007. - deprecate `monoidAll`, use `boolean.MonoidAll` instead
  1008. - deprecate `monoidAny`, use `boolean.MonoidAny` instead
  1009. - deprecate `getFunctionMonoid`, use `function.getMonoid` instead
  1010. - deprecate `getEndomorphismMonoid`, use `function.getEndomorphismMonoid` instead (**Note**. The execution order in
  1011. `function.getEndomorphismMonoid` is reversed)
  1012. - deprecate `monoidString`, use `string.Monoid` instead
  1013. - deprecate `monoidSum`, use `number.MonoidSum` instead
  1014. - deprecate `monoidProduct`, use `number.MonoidProduct` instead
  1015. - deprecate `fold`, use `concatAll` instead
  1016. - deprecate `getMeetMonoid`, use `min` instead
  1017. - deprecate `getJoinMonoid`, use `max` instead
  1018. - deprecate `getDualMonoid`, use `reverse` instead
  1019. - deprecate `getStructMonoid`, use `struct` instead
  1020. - deprecate `getTupleMonoid`, use `tuple` instead
  1021. - `NonEmptyArray`
  1022. - deprecate `fold`, use `concatAll` instead
  1023. - deprecate `prependToAll`, use `prependAll` instead
  1024. - deprecate `cons` in favour of `prepend`
  1025. - deprecate `snoc` in favour of `append`
  1026. - deprecate `uncons` in favour of `unprepend`
  1027. - deprecate `unsnoc` in favour of `unappend`
  1028. - deprecate `filter` in favour of `Array`'s `filter`
  1029. - deprecate `filterWithIndex` in favour of `Array`'s `filterWithIndex`
  1030. - `Option`
  1031. - deprecate `getApplySemigroup` in favour of `Apply.getApplySemigroup`
  1032. - deprecate `getApplyMonoid` in favour of `Applicative.getApplicativeMonoid`
  1033. - `Ord`
  1034. - deprecate `ordBoolean`, use `boolean.Ord` instead
  1035. - deprecate `ordString`, use `string.Ord` instead
  1036. - deprecate `ordNumber`, use `number.Ord` instead
  1037. - deprecate `ordDate`, use `Date.Ord` instead
  1038. - deprecate `getDualOrd`, use `reverse` instead
  1039. - deprecate `getTupleOrd`, use `tuple` instead
  1040. - `Ordering`
  1041. - deprecate `eqOrdering`, use `Eq` instead
  1042. - deprecate `monoidOrdering`, use `Monoid` instead
  1043. - deprecate `invert` in favour of `reverse`
  1044. - `Ring`
  1045. - deprecate `getFunctionRing`, use `function.getRing` instead
  1046. - `Reader`
  1047. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1048. - deprecate `getMonoid` in favour of `Applicative.getApplicativeMonoid`
  1049. - `ReaderEither`
  1050. - deprecate `getApplySemigroup` in favour of `Apply.getApplySemigroup`
  1051. - deprecate `getApplyMonoid` in favour of `Applicative.getApplicativeMonoid`
  1052. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1053. - deprecate `getReaderValidation`, use `getApplicativeReaderValidation` and `getAltReaderValidation` instead
  1054. - deprecate `local`, Use `Reader`'s `local` instead
  1055. - `ReaderTask`
  1056. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1057. - deprecate `getMonoid` in favour of `Applicative.getApplicativeMonoid`
  1058. - deprecate `run`
  1059. - deprecate `local`, Use `Reader`'s `local` instead
  1060. - `ReaderTaskEither`
  1061. - deprecate `getApplySemigroup` in favour of `Apply.getApplySemigroup`
  1062. - deprecate `getApplyMonoid` in favour of `Applicative.getApplicativeMonoid`
  1063. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1064. - deprecate `getReaderTaskValidation`, use `getApplicativeReaderTaskValidation` and `getAltReaderTaskValidation` instead
  1065. - deprecate `run`
  1066. - deprecate `local`, Use `Reader`'s `local` instead
  1067. - `ReaderTaskEither`
  1068. - deprecate `run`
  1069. - `ReadonlyArray`
  1070. - deprecate `prependToAll`, use `prependAll` instead
  1071. - deprecate `cons` in favour of `prepend`
  1072. - deprecate `snoc` in favour of `append`
  1073. - `ReadonlyNonEmptyArray`
  1074. - deprecate `fold`, use `concatAll` instead
  1075. - deprecate `prependToAll`, use `prependAll` instead
  1076. - deprecate `insertAt`, Use `ReadonlyArray`'s `insertAt` instead
  1077. - deprecate `cons` in favour of `prepend`
  1078. - deprecate `snoc` in favour of `append`
  1079. - deprecate `uncons` in favour of `unprepend`
  1080. - deprecate `unsnoc` in favour of `unappend`
  1081. - deprecate `filter` in favour of `ReadonlyArray`'s `filter`
  1082. - deprecate `filterWithIndex` in favour of `ReadonlyArray`'s `filterWithIndex`
  1083. - `ReadonlyMap`
  1084. - deprecate `insertAt` in favour of `upsertAt`
  1085. - `ReadonlyRecord`
  1086. - deprecate `hasOwnProperty`, use `has` instead
  1087. - deprecate `insertAt` in favour of `upsertAt`
  1088. - `ReadonlySet`
  1089. - deprecate `fromArray` in favour of `fromReadonlyArray`
  1090. - `ReadonlyTuple`
  1091. - deprecate `mapLeft` in favour of `mapSnd`
  1092. - deprecate `map` in favour of `mapFst`
  1093. - `Record`
  1094. - deprecate `hasOwnProperty`, use `has` instead
  1095. - deprecate `insertAt` in favour of `upsertAt`
  1096. - deprecate `empty`
  1097. - `Ring`
  1098. - deprecate `getTupleRing`, use `tuple` instead
  1099. - `Semigroup`
  1100. - deprecate `semigroupAll`, use `boolean.SemigroupAll` instead
  1101. - deprecate `semigroupAny`, use `boolean.SemigroupAny` instead
  1102. - deprecate `getFunctionSemigroup`, use `function.getSemigroup` instead
  1103. - deprecate `semigroupString`, use `string.Semigroup` instead
  1104. - deprecate `semigroupSum`, use `number.SemigroupSum` instead
  1105. - deprecate `semigroupProduct`, use `number.SemigroupProduct` instead
  1106. - deprecate `fold`, use `concatAll` instead
  1107. - deprecate `getIntercalateSemigroup`, use `intercalate` instead
  1108. - deprecate `getMeetSemigroup`, use `min` instead
  1109. - deprecate `getJoinSemigroup`, use `max` instead
  1110. - deprecate `getDualSemigroup`, use `reverse` instead
  1111. - deprecate `getStructSemigroup`, use `struct` instead
  1112. - deprecate `getTupleSemigroup`, use `tuple` instead
  1113. - deprecate `getFirstSemigroup`, use `first` instead
  1114. - deprecate `getLastSemigroup`, use `last` instead
  1115. - deprecate `getObjectSemigroup`, use `assign` instead
  1116. - `Set`
  1117. - deprecate `subset` in favour of `isSubset`
  1118. - `Show`
  1119. - deprecate `showBoolean`, use `boolean.Show` instead
  1120. - deprecate `showString`, use `string.Show` instead
  1121. - deprecate `showNumber`, use `number.Show` instead
  1122. - deprecate `getStructShow`, use `struct` instead
  1123. - deprecate `getTupleShow`, use `tuple` instead
  1124. - `Strong`
  1125. - deprecate `splitStrong` in favour of `split`
  1126. - deprecate `fanout` in favour of `fanOut`
  1127. - `Task`
  1128. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1129. - deprecate `getMonoid` in favour of `Applicative.getApplicativeMonoid`
  1130. - deprecate `fromTask`
  1131. - `TaskEither`
  1132. - deprecate `getApplySemigroup` in favour of `Apply.getApplySemigroup`
  1133. - deprecate `getApplyMonoid` in favour of `Applicative.getApplicativeMonoid`
  1134. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1135. - deprecate `getTaskValidation`, use `getApplicativeTaskValidation` and `getAltTaskValidation` instead
  1136. - `TaskThese`
  1137. - deprecate `functorTaskThese` instance in favour of `Functor`
  1138. - deprecate `bifunctorTaskThese` instance in favour of `Bifunctor`
  1139. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1140. - deprecate `toTuple` in favour of `toTuple2`
  1141. - `These`
  1142. - deprecate `toTuple` in favour of `toTuple2`
  1143. - `Traversable`
  1144. - deprecate `getTraversableComposition`, use `traverse`, `sequence` helpers instead
  1145. - `Tuple`
  1146. - deprecate `mapLeft` in favour of `mapSnd`
  1147. - deprecate `map` in favour of `mapFst`
  1148. - **New Feature**
  1149. - add `Pointed` type class
  1150. - add `FromEither` type class
  1151. - add `FromIO` type class
  1152. - add `FromTask` type class
  1153. - add `TaskOption` module
  1154. - add `string` module
  1155. - add `number` module
  1156. - add `Separated` module (@YBogomolov)
  1157. - add `Json` module
  1158. - `Apply`
  1159. - add `ap` helper
  1160. - add `apS` helper
  1161. - add `apFirst` helper
  1162. - add `apSecond` helper
  1163. - add `getApplySemigroup`
  1164. - `Applicative`
  1165. - add `getApplicativeMonoid`
  1166. - `Array`
  1167. - add `Pointed` instance
  1168. - add `Apply` instance
  1169. - add `matchLeft` alias
  1170. - add `matchRight` alias
  1171. - add `size`
  1172. - better `unsafeInsertAt` signature
  1173. - better `chunksOf` signature
  1174. - add `getSemigroup`
  1175. - `boolean`
  1176. - add `foldW`
  1177. - add `match` alias
  1178. - add `matchW` alias
  1179. - add `Eq` instance
  1180. - add `BooleanAlgebra` instance
  1181. - add `SemigroupAll` instance
  1182. - add `SemigroupAny` instance
  1183. - add `MonoidAll` instance
  1184. - add `MonoidAny` instance
  1185. - add `Ord` instance
  1186. - add `Show` instance
  1187. - `BooleanAlgebra`
  1188. - add `reverse`
  1189. - `Chain`
  1190. - add `bind` helper
  1191. - add `chainFirst` helper
  1192. - `Compactable`
  1193. - add `compact` helper
  1194. - add `separate` helper
  1195. - add `separated` constructor
  1196. - `Date`
  1197. - add `Eq` instance
  1198. - add `Ord` instance
  1199. - `Filterable`
  1200. - add `filter` helper
  1201. - add `filterMap` helper
  1202. - add `partition` helper
  1203. - add `partitionMap` helper
  1204. - `Foldable`
  1205. - add `reduce` helper
  1206. - add `foldaMap` helper
  1207. - add `reduceRight` helper
  1208. - `FoldableWithIndex`
  1209. - add `reduceWithIndex` helper
  1210. - add `foldaMapWithIndex` helper
  1211. - add `reduceRightWithIndex` helper
  1212. - `function`
  1213. - add `getBooleanAlgebra`
  1214. - add `getSemigroup`
  1215. - add `getMonoid`
  1216. - add `getSemiring`
  1217. - add `getRing`
  1218. - add `getEndomorphismMonoid`
  1219. - `Functor`
  1220. - add `map` helper
  1221. - add `bindTo` helper
  1222. - add `flap` derivable, #1393 (@williamareynolds)
  1223. - `FunctorWithIndex`
  1224. - add `mapWithIndex` helper
  1225. - `Either`
  1226. - add `Pointed` instance
  1227. - add `Apply` instance
  1228. - add `getCompactable`
  1229. - add `getFilterable`
  1230. - add `FromEither` instance
  1231. - add `toUnion`, closes #1362
  1232. - add `foldW`
  1233. - add `match` alias
  1234. - add `matchW` alias
  1235. - add `orElseW`
  1236. - add `tryCatchK`
  1237. - add `fromOptionK`
  1238. - add `chainOptionK`
  1239. - `EitherT`
  1240. - split `getEitherM` into separated functions
  1241. - `Eq`
  1242. - add `getSemigroup`
  1243. - add `struct`
  1244. - add `tuple`
  1245. - `Identity`
  1246. - add `Pointed` instance
  1247. - add `Apply` instance
  1248. - `IO`
  1249. - add `Pointed` instance
  1250. - add `Apply` instance
  1251. - add `FromIO` instance
  1252. - `IOEither`
  1253. - add `Pointed` instance
  1254. - add `getCompactable`
  1255. - add `FromIO` instance
  1256. - add `FromEither` instance
  1257. - add `tryCatchK` combinator
  1258. - add `toUnion`
  1259. - add `foldW`
  1260. - add `match` alias
  1261. - add `matchW` alias
  1262. - add `orElseW`
  1263. - add `fromOptionK`
  1264. - add `chainOptionK`
  1265. - `Map`
  1266. - add `filterWithIndex` combinator
  1267. - add `filterMapWithIndex` combinator
  1268. - add `partitionWithIndex` combinator
  1269. - add `partitionMapWithIndex` combinator
  1270. - add `getTraversableWithIndex` instance
  1271. - add `getFoldableWithIndex` instance
  1272. - `Monoid`
  1273. - add `concatAll`
  1274. - add `min`
  1275. - add `max`
  1276. - add `reverse`
  1277. - add `struct`
  1278. - add `tuple`
  1279. - `NonEmptyArray`
  1280. - add `Pointed` instance
  1281. - add `Apply` instance
  1282. - add `concatAll`
  1283. - add `isNonEmpty` guard
  1284. - add `fromReadonlyNonEmptyArray` constructor
  1285. - add `chainWithIndex` combinator
  1286. - add `chop`
  1287. - add `splitAt`
  1288. - add `chunksOf`
  1289. - `Option`
  1290. - add `Pointed` instance
  1291. - add `Apply` instance
  1292. - add `foldW`
  1293. - add `match` alias
  1294. - add `matchW` alias
  1295. - add `tryCatchK`
  1296. - `OptionT`
  1297. - split `getOptionM` into separated functions
  1298. - `Ord`
  1299. - add `equalsDefault`
  1300. - add `reverse`
  1301. - add `tuple`
  1302. - `Ordering`
  1303. - add `Eq` instance
  1304. - add `Semigroup` instance
  1305. - add `Monoid` instance
  1306. - add `match`
  1307. - `Random`
  1308. - add `randomElem`
  1309. - `Reader`
  1310. - add `Pointed` instance
  1311. - add `Apply` instance
  1312. - export `first`, `second`, `left`, `right`
  1313. - `ReaderT`
  1314. - split `getReaderM` into separated functions
  1315. - `ReaderEither`
  1316. - add `Pointed` instance
  1317. - add `Apply` instance
  1318. - add `FromEither` instance
  1319. - add `getCompactable`
  1320. - add `getFilterable`
  1321. - add `toUnion`
  1322. - add `foldW`
  1323. - add `match` alias
  1324. - add `matchW` alias
  1325. - add `orElseW`
  1326. - add `fromOptionK`
  1327. - add `chainOptionK`
  1328. - `ReaderTask`
  1329. - add `Pointed` instance
  1330. - add `ApplyPar` instance
  1331. - add `ApplySeq` instance
  1332. - add `FromIO` instance
  1333. - add `FromTask` instance
  1334. - add `traverseSeqArrayWithIndex`
  1335. - add `traverseSeqArray`
  1336. - add `sequenceSeqArray`
  1337. - export `Chain` instance
  1338. - export `Monad` instance
  1339. - export `MonadIO` instance
  1340. - export `MonadTask` instance
  1341. - `ReaderTaskEither`
  1342. - add `Pointed` instance
  1343. - add `ApplyPar` instance
  1344. - add `ApplySeq` instance
  1345. - add `FromIO` instance
  1346. - add `FromTask` instance
  1347. - add `FromEither` instance
  1348. - add `getCompactable`
  1349. - add `getFilterable`
  1350. - add `toUnion`
  1351. - add `foldW`
  1352. - add `match` alias
  1353. - add `matchW` alias
  1354. - add `orElseW`
  1355. - add `fromOptionK`
  1356. - add `chainOptionK`
  1357. - export `Chain` instance
  1358. - export `Monad` instance
  1359. - export `MonadIO` instance
  1360. - export `MonadTask` instance
  1361. - export `MonadThrow` instance
  1362. - `ReadonlyArray`
  1363. - add `Pointed` instance
  1364. - add `Apply` instance
  1365. - add `getSemigroup`
  1366. - add `matchLeft` instance
  1367. - add `matchRight` instance
  1368. - add `size`
  1369. - better `unsafeInsertAt` signature
  1370. - better `chunksOf` signature, closes #1407
  1371. - `ReadonlyMap`
  1372. - add `filterWithIndex` combinator
  1373. - add `filterMapWithIndex` combinator
  1374. - add `partitionWithIndex` combinator
  1375. - add `partitionMapWithIndex` combinator
  1376. - add `getFunctorWithIndex`
  1377. - add `getFoldable`
  1378. - add `getFoldableWithIndex`
  1379. - add `getTraversable`
  1380. - add `getTraversableWithIndex`
  1381. - `ReadonlyNonEmptyArray`
  1382. - add `Pointed` instance
  1383. - add `Apply` instance
  1384. - add `concatAll`
  1385. - add `isNonEmpty`
  1386. - add `chainWithIndex`
  1387. - add `chop`
  1388. - add `splitAt`
  1389. - add `chunksOf`
  1390. - `ReadonlySet`
  1391. - add `isEmpty`
  1392. - add `size`
  1393. - add `toggle`
  1394. - `Ring`
  1395. - add `tuple`
  1396. - `Set`
  1397. - add `isEmpty`
  1398. - add `size`
  1399. - `Semigroup`
  1400. - add `constant`
  1401. - add `concatAll`
  1402. - add `intercalate`
  1403. - add `min`
  1404. - add `max`
  1405. - add `struct`
  1406. - add `tuple`
  1407. - add `first`
  1408. - add `last`
  1409. - add `assign`
  1410. - `Show`
  1411. - add `struct`
  1412. - add `tuple`
  1413. - `State`
  1414. - add `Pointed` instance
  1415. - add `Apply` instance
  1416. - `StateT`
  1417. - split `getStateM` into separated functions
  1418. - `StateReaderTaskEither`
  1419. - add `Pointed` instance
  1420. - add `Apply` instance
  1421. - add `Monad` instance
  1422. - add `FromIO` instance
  1423. - add `FromTask` instance
  1424. - add `FromEither` instance
  1425. - add `fromOptionK`
  1426. - add `chainOptionK`
  1427. - export `MonadIO` instance
  1428. - export `MonadTask` instance
  1429. - export `MonadThrow` instance
  1430. - `Task`
  1431. - add `Pointed` instance
  1432. - add `ApplyPar` instance
  1433. - add `ApplySeq` instance
  1434. - add `FromIO` instance
  1435. - add `FromTask` instance
  1436. - export `Chain` instance
  1437. - export `Monad` instance
  1438. - export `MonadIO` instance
  1439. - export `MonadTask` instance
  1440. - `TaskEither`
  1441. - add `Pointed` instance
  1442. - add `ApplyPar` instance
  1443. - add `ApplySeq` instance
  1444. - add `getCompactable`
  1445. - add `FromIO` instance
  1446. - add `FromTask` instance
  1447. - add `FromEither` instance
  1448. - add `toUnion`
  1449. - add `foldW`
  1450. - add `match` alias
  1451. - add `matchW` alias
  1452. - add `orElseW`
  1453. - add `fromOptionK`
  1454. - add `chainOptionK`
  1455. - export `Chain` instance
  1456. - export `Monad` instance
  1457. - export `MonadIO` instance
  1458. - export `MonadTask` instance
  1459. - export `MonadThrow` instance
  1460. - `TaskThese`
  1461. - add `Functor` instance
  1462. - add `Pointed` instance
  1463. - add `Bifunctor` instance
  1464. - add `toTuple2`
  1465. - add `getApply`
  1466. - add `FromIO` instance
  1467. - add `FromTask` instance
  1468. - add `fromEither` function
  1469. - add `FromEither` instance
  1470. - add `getChain` instance
  1471. - add `foldW`
  1472. - add `match` alias
  1473. - add `matchW` alias
  1474. - add `fromOption`
  1475. - add `fromOptionK`
  1476. - add `fromPredicate`
  1477. - `These`
  1478. - add `Pointed` instance
  1479. - add `of` function
  1480. - add `getApply`
  1481. - add `toTuple2`
  1482. - add `FromEither` instance
  1483. - add `fromOption` constructor
  1484. - add `foldW`
  1485. - add `match` alias
  1486. - add `matchW` alias
  1487. - add `fromOptionK`
  1488. - `TaskOption`
  1489. - export `Chain` instance
  1490. - export `Monad` instance
  1491. - `TheseT`
  1492. - split `getTheseM` into separated functions
  1493. - `Traversable`
  1494. - add `traverse` helper
  1495. - add `sequence` helper
  1496. - `Tree`
  1497. - add `Pointed` instance
  1498. - add `Apply` instance
  1499. - `Writer`
  1500. - add `getPointed`
  1501. - add `getApply`
  1502. - add `getApplicative`
  1503. - add `getChain`
  1504. - **Bug Fix**
  1505. - `ReadonlyRecord` / `Record`: remove `extends string` constraints in `singleton` / `insertAt`, closes #1413
  1506. - `TaskOption`
  1507. - fix `getOrElseW` signature
  1508. - **Internal**
  1509. - add `internal` module
  1510. - **Polish**
  1511. - the scope in `bindTo`, `bind`, `bindW`, `apS`, `apSW` is now correctly `readonly`
  1512. - fix `FromEither` type parameter order
  1513. - `Array` / `ReadonlyArray`
  1514. - assert arrays as non-empty when using `some`, #1424 (@thewilkybarkid)
  1515. - fix `matchLeft`, `matchRight` type parameter order
  1516. - `EitherT`
  1517. - add overloads for `Kind2`, `Kind3`, `Kind4`
  1518. - `OptionT`
  1519. - add overloads for `Kind2`, `Kind3`, `Kind4`
  1520. - `ReaderT`
  1521. - add overloads for `Kind2`, `Kind3`, `Kind4`
  1522. - `ReadonlyMap`
  1523. - sort keys in `getShow`
  1524. - `ReadonlySet`
  1525. - sort keys in `getShow`
  1526. - `StateT`
  1527. - add overloads for `Kind2`, `Kind3`
  1528. - `TheseT`
  1529. - add overloads for `Kind2`, `Kind3`, `Kind4`
  1530. # 2.10.0-rc.8
  1531. - **Polish**
  1532. - the scope in `bindTo`, `bind`, `bindW`, `apS`, `apSW` is now correctly `readonly`
  1533. - fix `FromEither` type parameter order
  1534. # 2.10.0-rc.7
  1535. - **Breaking Change** (with respect to `2.10.0-rc`)
  1536. - rename module `object` to `struct`
  1537. # 2.10.0-rc.6
  1538. - **Bug Fix**
  1539. - `ReadonlyNonEmptyArray`
  1540. - remove circular dependency on `NonEmptyArray`, closes #1443
  1541. - **Breaking Change** (with respect to `2.10.0-rc`)
  1542. - `EitherT`
  1543. - rename `match` to `matchE` and add `match`
  1544. - `IOEither`
  1545. - rename `match` / `matchW` to `matchE` / `matchWE` and add `match` / `matchW`
  1546. - `OptionT`
  1547. - rename `match` to `matchE` and add `match`
  1548. - `ReaderEither`
  1549. - rename `match` / `matchW` to `matchE` / `matchWE` and add `match` / `matchW`
  1550. - `ReaderTaskEither`
  1551. - rename `match` / `matchW` to `matchE` / `matchWE` and add `match` / `matchW`
  1552. - `TheseT`
  1553. - rename `match` to `matchE` and add `match`
  1554. - `TaskEither`
  1555. - rename `match` / `matchW` to `matchE` / `matchWE` and add `match` / `matchW`
  1556. - `TaskOption`
  1557. - rename `match` / `matchW` to `matchE` / `matchWE` and add `match` / `matchW`
  1558. - `TaskThese`
  1559. - rename `match` / `matchW` to `matchE` / `matchWE` and add `match` / `matchW`
  1560. # 2.10.0-rc.5
  1561. - **Bug Fix**
  1562. - `TaskOption`
  1563. - fix `getOrElseW` signature
  1564. - **Breaking Change** (with respect to `2.10.0-rc`)
  1565. - `OptionT`
  1566. - rename `none` to `zero` and change signature
  1567. - `ReaderT`
  1568. - remove `ask`, `asks` (they will be derived from the `FromReader` type-class in `2.11`)
  1569. - `Semigroup`
  1570. - move `assign` to `object` module and rename to `getAssignSemigroup`
  1571. - `ReaderT`
  1572. - remove `get`, `put`, `modify`, `gets` (they will be derived from the `FromState` type-class in `2.11`)
  1573. - **Deprecation**
  1574. - `Tuple`
  1575. - deprecate `mapLeft` in favour of `mapSnd`
  1576. - deprecate `map` in favour of `mapFst`
  1577. - `ReadonlyTuple`
  1578. - deprecate `mapLeft` in favour of `mapSnd`
  1579. - deprecate `map` in favour of `mapFst`
  1580. - **Polish**
  1581. - `Array` / `ReadonlyArray`
  1582. - assert arrays as non-empty when using `some`, #1424 (@thewilkybarkid)
  1583. - fix `matchLeft`, `matchRight` type parameter order
  1584. - `EitherT`
  1585. - add overloads for `Kind2`, `Kind3`, `Kind4`
  1586. - `OptionT`
  1587. - add overloads for `Kind2`, `Kind3`, `Kind4`
  1588. - `ReaderT`
  1589. - add overloads for `Kind2`, `Kind3`, `Kind4`
  1590. - `ReadonlyMap`
  1591. - sort keys in `getShow`
  1592. - `ReadonlySet`
  1593. - sort keys in `getShow`
  1594. - `StateT`
  1595. - add overloads for `Kind2`, `Kind3`
  1596. - `TheseT`
  1597. - add overloads for `Kind2`, `Kind3`, `Kind4`
  1598. - **Internal**
  1599. - add `internal` module
  1600. # 2.10.0-rc.4
  1601. - **Deprecations**
  1602. - `Array`
  1603. - deprecate `empty`
  1604. - `Map`
  1605. - deprecate `empty`
  1606. - `NonEmptyArray`
  1607. - deprecate `filter` in favour of `Array`'s `filter`
  1608. - deprecate `filterWithIndex` in favour of `Array`'s `filterWithIndex`
  1609. - `ReadonlyNonEmptyArray`
  1610. - deprecate `filter` in favour of `ReadonlyArray`'s `filter`
  1611. - deprecate `filterWithIndex` in favour of `ReadonlyArray`'s `filterWithIndex`
  1612. - `Record`
  1613. - deprecate `empty`
  1614. - **Polish**
  1615. - `NonEmptyArray`
  1616. - remove duplicated `append`, `prepend`, `isNonEmpty`
  1617. - `ReadonlyNonEmptyArray`
  1618. - remove duplicated `append`, `prepend`, `isNonEmpty`
  1619. # 2.10.0-rc.3
  1620. - **Deprecations**
  1621. - `Array`
  1622. - deprecate `cons` in favour of `prepend`
  1623. - deprecate `snoc` in favour of `append`
  1624. - `Ordering`
  1625. - deprecate `invert` in favour of `reverse`
  1626. - `ReadonlyMap`
  1627. - deprecate `insertAt` in favour of `upsertAt`
  1628. - `ReadonlyRecord`
  1629. - deprecate `insertAt` in favour of `upsertAt`
  1630. - `Map`
  1631. - deprecate `insertAt` in favour of `upsertAt`
  1632. - `NonEmptyArray`
  1633. - deprecate `cons` in favour of `prepend`
  1634. - deprecate `snoc` in favour of `append`
  1635. - deprecate `uncons` in favour of `unprepend`
  1636. - deprecate `unsnoc` in favour of `unappend`
  1637. - `Record`
  1638. - deprecate `insertAt` in favour of `upsertAt`
  1639. - `ReadonlyArray`
  1640. - deprecate `cons` in favour of `prepend`
  1641. - deprecate `snoc` in favour of `append`
  1642. - `ReadonlyNonEmptyArray`
  1643. - deprecate `insertAt`, Use `ReadonlyArray`'s `insertAt` instead
  1644. - deprecate `cons` in favour of `prepend`
  1645. - deprecate `snoc` in favour of `append`
  1646. - deprecate `uncons` in favour of `unprepend`
  1647. - deprecate `unsnoc` in favour of `unappend`
  1648. - `ReadonlySet`
  1649. - deprecate `fromArray` in favour of `fromReadonlyArray`
  1650. - `Set`
  1651. - deprecate `subset` in favour of `isSubset`
  1652. - **New Feature**
  1653. - `Array`
  1654. - add `size`
  1655. - better `unsafeInsertAt` signature
  1656. - better `chunksOf` signature
  1657. - add `getSemigroup`
  1658. - `Map`
  1659. - add `filterWithIndex` combinator
  1660. - add `filterMapWithIndex` combinator
  1661. - add `partitionWithIndex` combinator
  1662. - add `partitionMapWithIndex` combinator
  1663. - add `getTraversableWithIndex` instance
  1664. - add `getFoldableWithIndex` instance
  1665. - `NonEmptyArray`
  1666. - add `isNonEmpty` guard
  1667. - add `fromReadonlyNonEmptyArray` constructor
  1668. - add `chainWithIndex` combinator
  1669. - add `chop`
  1670. - add `splitAt`
  1671. - add `chunksOf`
  1672. - `Ordering`
  1673. - add `match`
  1674. - `ReadonlyArray`
  1675. - add `size`
  1676. - better `unsafeInsertAt` signature
  1677. - better `chunksOf` signature, closes #1407
  1678. - `ReadonlyNonEmptyArray`
  1679. - add `isNonEmpty`
  1680. - add `chainWithIndex`
  1681. - add `chop`
  1682. - add `splitAt`
  1683. - add `chunksOf`
  1684. - `ReadonlySet`
  1685. - add `isEmpty`
  1686. - add `size`
  1687. - add `toggle`
  1688. - `Set`
  1689. - add `isEmpty`
  1690. - add `size`
  1691. - `string`
  1692. - add `empty`
  1693. - add `isEmpty`
  1694. - add `size`
  1695. - **Bug Fix**
  1696. - `ReadonlyRecord` / `Record`: remove `extends string` constraints in `singleton` / `insertAt`, closes #1413
  1697. # 2.10.0-rc.2
  1698. - **Deprecations**
  1699. - `Choice`
  1700. - deprecate `splitChoice` in favour of `split`
  1701. - deprecate `fanin` in favour of `fanIn`
  1702. - `Strong`
  1703. - deprecate `splitStrong` in favour of `split`
  1704. - deprecate `fanout` in favour of `fanOut`
  1705. - **New Feature**
  1706. - `Reader`
  1707. - export `first`, `second`, `left`, `right`
  1708. - `ReaderTask`
  1709. - export `Chain` instance
  1710. - export `Monad` instance
  1711. - export `MonadIO` instance
  1712. - export `MonadTask` instance
  1713. - `ReaderTaskEither`
  1714. - export `Chain` instance
  1715. - export `Monad` instance
  1716. - export `MonadIO` instance
  1717. - export `MonadTask` instance
  1718. - export `MonadThrow` instance
  1719. - `StateReaderTaskEither`
  1720. - export `MonadIO` instance
  1721. - export `MonadTask` instance
  1722. - export `MonadThrow` instance
  1723. - `Task`
  1724. - export `Chain` instance
  1725. - export `Monad` instance
  1726. - export `MonadIO` instance
  1727. - export `MonadTask` instance
  1728. - `TaskEither`
  1729. - export `Chain` instance
  1730. - export `Monad` instance
  1731. - export `MonadIO` instance
  1732. - export `MonadTask` instance
  1733. - export `MonadThrow` instance
  1734. - `TaskOption`
  1735. - export `Chain` instance
  1736. - export `Monad` instance
  1737. - **Polish**
  1738. - `Compactable`
  1739. - split `compact` / `separate` constraints
  1740. # 2.10.0-rc.1
  1741. - **Deprecations**
  1742. - deprecate `pipeable` module, use the specific helpers instead
  1743. - deprecate `ValidationT` module, use `EitherT` instead
  1744. - deprecate "mega instances", use small, specific instances instead
  1745. - deprecate the old monad transformers, use the specific helpers instead
  1746. - `Applicative`
  1747. - deprecate `getApplicativeComposition`, use `ap` helper instead
  1748. - `Array`
  1749. - deprecate `prependToAll`, use `prependAll` instead
  1750. - `BooleanAlgebra`
  1751. - deprecate `booleanAlgebraBoolean`, use `boolean.BooleanAlgebra` instead
  1752. - deprecate `getFunctionBooleanAlgebra`, use `function.getBooleanAlgebra` instead
  1753. - deprecate `getDualBooleanAlgebra`, use `reverse` instead
  1754. - `Bounded`
  1755. - deprecate `boundedNumber`, use `number.Bounded` instead
  1756. - `Compactable`
  1757. - deprecate `getCompactableComposition`, use `compact`, `separate` helpers instead
  1758. - deprecate `Separated`, use `Separated.Separated` instead
  1759. - `Either`
  1760. - deprecate `getApplySemigroup` in favour of `Apply.getApplySemigroup`
  1761. - deprecate `getApplyMonoid` in favour of `Applicative.getApplicativeMonoid`
  1762. - deprecate `getValidationSemigroup` in favour of `Apply.getApplySemigroup`
  1763. - deprecate `getValidationMonoid` in favour of `Applicative.getApplicativeMonoid`
  1764. - deprecate `getValidation`, use `getApplicativeValidation` and `getAltValidation` instead
  1765. - deprecate `Json` type, use the `Json` module instead
  1766. - deprecate `parseJSON` type, use the `Json` module instead
  1767. - deprecate `stringifyJSON` type, use the `Json` module instead
  1768. - `Eq`
  1769. - deprecate `eqBoolean`, use `boolean.Eq` instead
  1770. - deprecate `eqString`, use `string.Eq` instead
  1771. - deprecate `eqNumber`, use `number.Eq` instead
  1772. - deprecate `eqDate`, use `Date.Eq` instead
  1773. - deprecate `getStructEq`, use `struct` instead
  1774. - deprecate `getTupleEq`, use `tuple` instead
  1775. - `Filterable`
  1776. - deprecate `getFilterableComposition`, use `filter`, `filterMap`, `partition`, `partitionMap` helpers instead
  1777. - `Foldable`
  1778. - deprecate `toArray` in favour of `toReadonlyArray`
  1779. - deprecate `getFoldableComposition`, use `reduce`, `foldMap`, `reduceRight` helpers instead
  1780. - `FoldableWithIndex`
  1781. - deprecate `getFoldableWithIndexComposition`, use `reduceWithIndex`, `foldMapWithIndex`, `reduceRightWithIndex` helpers instead
  1782. - `Functor`
  1783. - deprecate `getFunctorComposition`, use `map` helper instead
  1784. - `FunctorWithIndex`
  1785. - deprecate `getFunctorWithIndexComposition`, use `mapWithIndex` helper instead
  1786. - `IO`
  1787. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1788. - deprecate `getMonoid` in favour of `Applicative.getApplicativeMonoid`
  1789. - deprecate `fromIO`
  1790. - `IOEither`
  1791. - deprecate `getApplySemigroup` in favour of `Apply.getApplySemigroup`
  1792. - deprecate `getApplyMonoid` in favour of `Applicative.getApplicativeMonoid`
  1793. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1794. - deprecate `getIOValidation`, use `getApplicativeIOValidation` and `getAltIOValidation` instead
  1795. - `Monoid`
  1796. - deprecate `monoidAll`, use `boolean.MonoidAll` instead
  1797. - deprecate `monoidAny`, use `boolean.MonoidAny` instead
  1798. - deprecate `getFunctionMonoid`, use `function.getMonoid` instead
  1799. - deprecate `getEndomorphismMonoid`, use `function.getEndomorphismMonoid` instead (**Note**. The execution order in
  1800. `function.getEndomorphismMonoid` is reversed)
  1801. - deprecate `monoidString`, use `string.Monoid` instead
  1802. - deprecate `monoidSum`, use `number.MonoidSum` instead
  1803. - deprecate `monoidProduct`, use `number.MonoidProduct` instead
  1804. - deprecate `fold`, use `concatAll` instead
  1805. - deprecate `getMeetMonoid`, use `min` instead
  1806. - deprecate `getJoinMonoid`, use `max` instead
  1807. - deprecate `getDualMonoid`, use `reverse` instead
  1808. - deprecate `getStructMonoid`, use `struct` instead
  1809. - deprecate `getTupleMonoid`, use `tuple` instead
  1810. - `NonEmptyArray`
  1811. - deprecate `fold`, use `concatAll` instead
  1812. - deprecate `prependToAll`, use `prependAll` instead
  1813. - `Option`
  1814. - deprecate `getApplySemigroup` in favour of `Apply.getApplySemigroup`
  1815. - deprecate `getApplyMonoid` in favour of `Applicative.getApplicativeMonoid`
  1816. - `Ord`
  1817. - deprecate `ordBoolean`, use `boolean.Ord` instead
  1818. - deprecate `ordString`, use `string.Ord` instead
  1819. - deprecate `ordNumber`, use `number.Ord` instead
  1820. - deprecate `ordDate`, use `Date.Ord` instead
  1821. - deprecate `getDualOrd`, use `reverse` instead
  1822. - deprecate `getTupleOrd`, use `tuple` instead
  1823. - `Ordering`
  1824. - deprecate `eqOrdering`, use `Eq` instead
  1825. - deprecate `monoidOrdering`, use `Monoid` instead
  1826. - `Ring`
  1827. - deprecate `getFunctionRing`, use `function.getRing` instead
  1828. - `Reader`
  1829. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1830. - deprecate `getMonoid` in favour of `Applicative.getApplicativeMonoid`
  1831. - `ReaderEither`
  1832. - deprecate `getApplySemigroup` in favour of `Apply.getApplySemigroup`
  1833. - deprecate `getApplyMonoid` in favour of `Applicative.getApplicativeMonoid`
  1834. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1835. - deprecate `getReaderValidation`, use `getApplicativeReaderValidation` and `getAltReaderValidation` instead
  1836. - deprecate `local`, Use `Reader`'s `local` instead
  1837. - `ReaderTask`
  1838. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1839. - deprecate `getMonoid` in favour of `Applicative.getApplicativeMonoid`
  1840. - deprecate `run`
  1841. - deprecate `local`, Use `Reader`'s `local` instead
  1842. - `ReaderTaskEither`
  1843. - deprecate `getApplySemigroup` in favour of `Apply.getApplySemigroup`
  1844. - deprecate `getApplyMonoid` in favour of `Applicative.getApplicativeMonoid`
  1845. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1846. - deprecate `getReaderTaskValidation`, use `getApplicativeReaderTaskValidation` and `getAltReaderTaskValidation` instead
  1847. - deprecate `run`
  1848. - deprecate `local`, Use `Reader`'s `local` instead
  1849. - `ReaderTaskEither`
  1850. - deprecate `run`
  1851. - `ReadonlyArray`
  1852. - deprecate `prependToAll`, use `prependAll` instead
  1853. - `ReadonlyNonEmptyArray`
  1854. - deprecate `fold`, use `concatAll` instead
  1855. - deprecate `prependToAll`, use `prependAll` instead
  1856. - `ReadonlyRecord`
  1857. - deprecate `hasOwnProperty`, use `has` instead
  1858. - `Record`
  1859. - deprecate `hasOwnProperty`, use `has` instead
  1860. - `Ring`
  1861. - deprecate `getTupleRing`, use `tuple` instead
  1862. - `Semigroup`
  1863. - deprecate `semigroupAll`, use `boolean.SemigroupAll` instead
  1864. - deprecate `semigroupAny`, use `boolean.SemigroupAny` instead
  1865. - deprecate `getFunctionSemigroup`, use `function.getSemigroup` instead
  1866. - deprecate `semigroupString`, use `string.Semigroup` instead
  1867. - deprecate `semigroupSum`, use `number.SemigroupSum` instead
  1868. - deprecate `semigroupProduct`, use `number.SemigroupProduct` instead
  1869. - deprecate `fold`, use `concatAll` instead
  1870. - deprecate `getIntercalateSemigroup`, use `intercalate` instead
  1871. - deprecate `getMeetSemigroup`, use `min` instead
  1872. - deprecate `getJoinSemigroup`, use `max` instead
  1873. - deprecate `getDualSemigroup`, use `reverse` instead
  1874. - deprecate `getStructSemigroup`, use `struct` instead
  1875. - deprecate `getTupleSemigroup`, use `tuple` instead
  1876. - deprecate `getFirstSemigroup`, use `first` instead
  1877. - deprecate `getLastSemigroup`, use `last` instead
  1878. - deprecate `getObjectSemigroup`, use `assign` instead
  1879. - `Show`
  1880. - deprecate `showBoolean`, use `boolean.Show` instead
  1881. - deprecate `showString`, use `string.Show` instead
  1882. - deprecate `showNumber`, use `number.Show` instead
  1883. - deprecate `getStructShow`, use `struct` instead
  1884. - deprecate `getTupleShow`, use `tuple` instead
  1885. - `Task`
  1886. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1887. - deprecate `getMonoid` in favour of `Applicative.getApplicativeMonoid`
  1888. - deprecate `fromTask`
  1889. - `TaskEither`
  1890. - deprecate `getApplySemigroup` in favour of `Apply.getApplySemigroup`
  1891. - deprecate `getApplyMonoid` in favour of `Applicative.getApplicativeMonoid`
  1892. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1893. - deprecate `getTaskValidation`, use `getApplicativeTaskValidation` and `getAltTaskValidation` instead
  1894. - `TaskThese`
  1895. - deprecate `functorTaskThese` instance in favour of `Functor`
  1896. - deprecate `bifunctorTaskThese` instance in favour of `Bifunctor`
  1897. - deprecate `getSemigroup` in favour of `Apply.getApplySemigroup`
  1898. - deprecate `toTuple` in favour of `toTuple2`
  1899. - `These`
  1900. - deprecate `toTuple` in favour of `toTuple2`
  1901. - `Traversable`
  1902. - deprecate `getTraversableComposition`, use `traverse`, `sequence` helpers instead
  1903. - **New Feature**
  1904. - add `Pointed` type class
  1905. - add `FromEither` type class
  1906. - add `FromIO` type class
  1907. - add `FromTask` type class
  1908. - add `TaskOption` module
  1909. - add `string` module
  1910. - add `number` module
  1911. - add `Separated` module (@YBogomolov)
  1912. - add `Json` module
  1913. - `Apply`
  1914. - add `ap` helper
  1915. - add `apS` helper
  1916. - add `apFirst` helper
  1917. - add `apSecond` helper
  1918. - add `getApplySemigroup`
  1919. - `Applicative`
  1920. - add `getApplicativeMonoid`
  1921. - `Array`
  1922. - add `Pointed` instance
  1923. - add `Apply` instance
  1924. - add `matchLeft` alias
  1925. - add `matchRight` alias
  1926. - `boolean`
  1927. - add `foldW`
  1928. - add `match` alias
  1929. - add `matchW` alias
  1930. - add `Eq` instance
  1931. - add `BooleanAlgebra` instance
  1932. - add `SemigroupAll` instance
  1933. - add `SemigroupAny` instance
  1934. - add `MonoidAll` instance
  1935. - add `MonoidAny` instance
  1936. - add `Ord` instance
  1937. - add `Show` instance
  1938. - `BooleanAlgebra`
  1939. - add `reverse`
  1940. - `Chain`
  1941. - add `bind` helper
  1942. - add `chainFirst` helper
  1943. - `Compactable`
  1944. - add `compact` helper
  1945. - add `separate` helper
  1946. - add `separated` constructor
  1947. - `Date`
  1948. - add `Eq` instance
  1949. - add `Ord` instance
  1950. - `Filterable`
  1951. - add `filter` helper
  1952. - add `filterMap` helper
  1953. - add `partition` helper
  1954. - add `partitionMap` helper
  1955. - `Foldable`
  1956. - add `reduce` helper
  1957. - add `foldaMap` helper
  1958. - add `reduceRight` helper
  1959. - `FoldableWithIndex`
  1960. - add `reduceWithIndex` helper
  1961. - add `foldaMapWithIndex` helper
  1962. - add `reduceRightWithIndex` helper
  1963. - `function`
  1964. - add `getBooleanAlgebra`
  1965. - add `getSemigroup`
  1966. - add `getMonoid`
  1967. - add `getSemiring`
  1968. - add `getRing`
  1969. - add `getEndomorphismMonoid`
  1970. - `Functor`
  1971. - add `map` helper
  1972. - add `bindTo` helper
  1973. - add `flap` derivable, #1393 (@williamareynolds)
  1974. - `FunctorWithIndex`
  1975. - add `mapWithIndex` helper
  1976. - `Either`
  1977. - add `Pointed` instance
  1978. - add `Apply` instance
  1979. - add `getCompactable`
  1980. - add `getFilterable`
  1981. - add `FromEither` instance
  1982. - add `toUnion`, closes #1362
  1983. - add `foldW`
  1984. - add `match` alias
  1985. - add `matchW` alias
  1986. - add `orElseW`
  1987. - add `tryCatchK`
  1988. - add `fromOptionK`
  1989. - add `chainOptionK`
  1990. - `EitherT`
  1991. - split `getEitherM` into separated functions
  1992. - `Eq`
  1993. - add `getSemigroup`
  1994. - add `struct`
  1995. - add `tuple`
  1996. - `Identity`
  1997. - add `Pointed` instance
  1998. - add `Apply` instance
  1999. - `IO`
  2000. - add `Pointed` instance
  2001. - add `Apply` instance
  2002. - add `FromIO` instance
  2003. - `IOEither`
  2004. - add `Pointed` instance
  2005. - add `getCompactable`
  2006. - add `FromIO` instance
  2007. - add `FromEither` instance
  2008. - add `tryCatchK` combinator
  2009. - add `toUnion`
  2010. - add `foldW`
  2011. - add `match` alias
  2012. - add `matchW` alias
  2013. - add `orElseW`
  2014. - add `fromOptionK`
  2015. - add `chainOptionK`
  2016. - `Monoid`
  2017. - add `concatAll`
  2018. - add `min`
  2019. - add `max`
  2020. - add `reverse`
  2021. - add `struct`
  2022. - add `tuple`
  2023. - `NonEmptyArray`
  2024. - add `Pointed` instance
  2025. - add `Apply` instance
  2026. - add `concatAll`
  2027. - `Option`
  2028. - add `Pointed` instance
  2029. - add `Apply` instance
  2030. - add `foldW`
  2031. - add `match` alias
  2032. - add `matchW` alias
  2033. - add `tryCatchK`
  2034. - `OptionT`
  2035. - split `getOptionM` into separated functions
  2036. - `Ord`
  2037. - add `equalsDefault`
  2038. - add `reverse`
  2039. - add `tuple`
  2040. - `Ordering`
  2041. - add `Eq` instance
  2042. - add `Semigroup` instance
  2043. - add `Monoid` instance
  2044. - `Random`
  2045. - add `randomElem`
  2046. - `Reader`
  2047. - add `Pointed` instance
  2048. - add `Apply` instance
  2049. - `ReaderT`
  2050. - split `getReaderM` into separated functions
  2051. - `ReaderEither`
  2052. - add `Pointed` instance
  2053. - add `Apply` instance
  2054. - add `FromEither` instance
  2055. - add `getCompactable`
  2056. - add `getFilterable`
  2057. - add `toUnion`
  2058. - add `foldW`
  2059. - add `match` alias
  2060. - add `matchW` alias
  2061. - add `orElseW`
  2062. - add `fromOptionK`
  2063. - add `chainOptionK`
  2064. - `ReaderTask`
  2065. - add `Pointed` instance
  2066. - add `ApplyPar` instance
  2067. - add `ApplySeq` instance
  2068. - add `FromIO` instance
  2069. - add `FromTask` instance
  2070. - add `traverseSeqArrayWithIndex`
  2071. - add `traverseSeqArray`
  2072. - add `sequenceSeqArray`
  2073. - `ReaderTaskEither`
  2074. - add `Pointed` instance
  2075. - add `ApplyPar` instance
  2076. - add `ApplySeq` instance
  2077. - add `FromIO` instance
  2078. - add `FromTask` instance
  2079. - add `FromEither` instance
  2080. - add `getCompactable`
  2081. - add `getFilterable`
  2082. - add `toUnion`
  2083. - add `foldW`
  2084. - add `match` alias
  2085. - add `matchW` alias
  2086. - add `orElseW`
  2087. - add `fromOptionK`
  2088. - add `chainOptionK`
  2089. - `ReadonlyArray`
  2090. - add `Pointed` instance
  2091. - add `Apply` instance
  2092. - add `getSemigroup`
  2093. - add `matchLeft` instance
  2094. - add `matchRight` instance
  2095. - `ReadonlyMap`
  2096. - add `filterWithIndex` combinator
  2097. - add `filterMapWithIndex` combinator
  2098. - add `partitionWithIndex` combinator
  2099. - add `partitionMapWithIndex` combinator
  2100. - add `getFunctorWithIndex`
  2101. - add `getFoldable`
  2102. - add `getFoldableWithIndex`
  2103. - add `getTraversable`
  2104. - add `getTraversableWithIndex`
  2105. - `ReadonlyNonEmptyArray`
  2106. - add `Pointed` instance
  2107. - add `Apply` instance
  2108. - add `concatAll`
  2109. - `Ring`
  2110. - add `tuple`
  2111. - `Semigroup`
  2112. - add `constant`
  2113. - add `concatAll`
  2114. - add `intercalate`
  2115. - add `min`
  2116. - add `max`
  2117. - add `struct`
  2118. - add `tuple`
  2119. - add `first`
  2120. - add `last`
  2121. - add `assign`
  2122. - `Show`
  2123. - add `struct`
  2124. - add `tuple`
  2125. - `State`
  2126. - add `Pointed` instance
  2127. - add `Apply` instance
  2128. - `StateT`
  2129. - split `getStateM` into separated functions
  2130. - `StateReaderTaskEither`
  2131. - add `Pointed` instance
  2132. - add `Apply` instance
  2133. - add `Monad` instance
  2134. - add `FromIO` instance
  2135. - add `FromTask` instance
  2136. - add `FromEither` instance
  2137. - add `fromOptionK`
  2138. - add `chainOptionK`
  2139. - `Task`
  2140. - add `Pointed` instance
  2141. - add `ApplyPar` instance
  2142. - add `ApplySeq` instance
  2143. - add `FromIO` instance
  2144. - add `FromTask` instance
  2145. - `TaskEither`
  2146. - add `Pointed` instance
  2147. - add `ApplyPar` instance
  2148. - add `ApplySeq` instance
  2149. - add `getCompactable`
  2150. - add `FromIO` instance
  2151. - add `FromTask` instance
  2152. - add `FromEither` instance
  2153. - add `toUnion`
  2154. - add `foldW`
  2155. - add `match` alias
  2156. - add `matchW` alias
  2157. - add `orElseW`
  2158. - add `fromOptionK`
  2159. - add `chainOptionK`
  2160. - `TaskThese`
  2161. - add `Functor` instance
  2162. - add `Pointed` instance
  2163. - add `Bifunctor` instance
  2164. - add `toTuple2`
  2165. - add `getApply`
  2166. - add `FromIO` instance
  2167. - add `FromTask` instance
  2168. - add `fromEither` function
  2169. - add `FromEither` instance
  2170. - add `getChain` instance
  2171. - add `foldW`
  2172. - add `match` alias
  2173. - add `matchW` alias
  2174. - add `fromOption`
  2175. - add `fromOptionK`
  2176. - add `fromPredicate`
  2177. - `These`
  2178. - add `Pointed` instance
  2179. - add `of` function
  2180. - add `getApply`
  2181. - add `toTuple2`
  2182. - add `FromEither` instance
  2183. - add `fromOption` constructor
  2184. - add `foldW`
  2185. - add `match` alias
  2186. - add `matchW` alias
  2187. - add `fromOptionK`
  2188. - `TheseT`
  2189. - split `getTheseM` into separated functions
  2190. - `Traversable`
  2191. - add `traverse` helper
  2192. - add `sequence` helper
  2193. - `Tree`
  2194. - add `Pointed` instance
  2195. - add `Apply` instance
  2196. - `Writer`
  2197. - add `getPointed`
  2198. - add `getApply`
  2199. - add `getApplicative`
  2200. - add `getChain`
  2201. # 2.9.5
  2202. - **Polish**
  2203. - `Array`, `ReadonlyArray`: change `scanLeft` and `scanRight` to return `NonEmptyArray`, `ReadonlyNonEmptyArray`, #1391 (@willheslam)
  2204. # 2.9.4
  2205. - **Bug Fix**
  2206. - fix `filter` overloads in `NonEmptyArray` / `ReadonlyNonEmptyArray`, closes #1388 (@gcanti)
  2207. # 2.9.3
  2208. - **Polish**
  2209. - add more `/*#__PURE__*/` comments to improve tree shaking, #1370 (@OliverJAsh)
  2210. # 2.9.2
  2211. - **Polish**
  2212. - add more `/*#__PURE__*/` comments to improve tree shaking, #1368 (@OliverJAsh)
  2213. # 2.9.1
  2214. - **Polish**
  2215. - `Array` / `ReadonlyArray`
  2216. - `sort`: return the input when length <= 1, closes #1357 (@gcanti)
  2217. - `uniq`: return the input when length <= 1 (@gcanti)
  2218. # 2.9.0
  2219. - **New Feature**
  2220. - `Array`
  2221. - add `altW` (@gcanti)
  2222. - add `intersperse` (@marcotoniut)
  2223. - add `prependToAll` (@marcotoniut)
  2224. - add `every` (@gcanti)
  2225. - add `some` (@gcanti)
  2226. - add `Do` (@gcanti)
  2227. - `Either`
  2228. - add `altW` (@gcanti)
  2229. - add `fromNullableK` (@gcanti)
  2230. - add `chainNullableK` (@gcanti)
  2231. - add `traverseArrayWithIndex` (@mohaalak @iamomiid)
  2232. - add `traverseArray` (@mohaalak @iamomiid)
  2233. - add `sequenceArray` (@mohaalak @iamomiid)
  2234. - add `Do` (@gcanti)
  2235. - add `filterOrElseW` (@gcanti)
  2236. - `Identity`
  2237. - add `altW` (@gcanti)
  2238. - add `Do` (@gcanti)
  2239. - `IO`
  2240. - add `traverseArrayWithIndex` (@mohaalak @iamomiid)
  2241. - add `traverseArray` (@mohaalak @iamomiid)
  2242. - add `sequenceArray` (@mohaalak @iamomiid)
  2243. - add `Do` (@gcanti)
  2244. - `IOEither`
  2245. - add `altW` (@gcanti)
  2246. - add `traverseArrayWithIndex` (@mohaalak @iamomiid)
  2247. - add `traverseArray` (@mohaalak @iamomiid)
  2248. - add `sequenceArray` (@mohaalak @iamomiid)
  2249. - add `traverseSeqArrayWithIndex` (@mohaalak @iamomiid)
  2250. - add `traverseSeqArray` (@mohaalak @iamomiid)
  2251. - add `sequenceSeqArray` (@mohaalak @iamomiid)
  2252. - add `Do` (@gcanti)
  2253. - add `filterOrElseW` (@gcanti)
  2254. - `NonEmptyArray`
  2255. - add `altW` (@gcanti)
  2256. - add `uncons` (@marcotoniut)
  2257. - add `unsnoc` (@marcotoniut)
  2258. - add `intersperse` (@marcotoniut)
  2259. - add `prependToAll` (@marcotoniut)
  2260. - add `Do` (@gcanti)
  2261. - `Option`
  2262. - add `altW` (@gcanti)
  2263. - add `fromNullableK` (@gcanti)
  2264. - add `chainNullableK` (@gcanti)
  2265. - add `traverseArrayWithIndex` (@mohaalak @iamomiid)
  2266. - add `traverseArray` (@mohaalak @iamomiid)
  2267. - add `sequenceArray` (@mohaalak @iamomiid)
  2268. - add `Do` (@gcanti)
  2269. - `Reader`
  2270. - add `traverseArrayWithIndex` (@mohaalak @iamomiid)
  2271. - add `traverseArray` (@mohaalak @iamomiid)
  2272. - add `sequenceArray` (@mohaalak @iamomiid)
  2273. - add `Do` (@gcanti)
  2274. - `ReaderEither`
  2275. - add `altW` (@gcanti)
  2276. - add `traverseArrayWithIndex` (@mohaalak @iamomiid)
  2277. - add `traverseArray` (@mohaalak @iamomiid)
  2278. - add `sequenceArray` (@mohaalak @iamomiid)
  2279. - add `Do` (@gcanti)
  2280. - add `filterOrElseW` (@gcanti)
  2281. - `ReaderTask`
  2282. - add `traverseArrayWithIndex` (@mohaalak @iamomiid)
  2283. - add `traverseArray` (@mohaalak @iamomiid)
  2284. - add `sequenceArray` (@mohaalak @iamomiid)
  2285. - add `traverseSeqArrayWithIndex` (@mohaalak @iamomiid)
  2286. - add `traverseSeqArray` (@mohaalak @iamomiid)
  2287. - add `sequenceSeqArray` (@mohaalak @iamomiid)
  2288. - add `Do` (@gcanti)
  2289. - `ReaderTaskEither`
  2290. - add `altW` (@gcanti)
  2291. - add `traverseArrayWithIndex` (@mohaalak @iamomiid)
  2292. - add `traverseArray` (@mohaalak @iamomiid)
  2293. - add `sequenceArray` (@mohaalak @iamomiid)
  2294. - add `traverseSeqArrayWithIndex` (@mohaalak @iamomiid)
  2295. - add `traverseSeqArray` (@mohaalak @iamomiid)
  2296. - add `sequenceSeqArray` (@mohaalak @iamomiid)
  2297. - add `Do` (@gcanti)
  2298. - add `filterOrElseW` (@gcanti)
  2299. - `ReadonlyArray`
  2300. - add `altW` (@gcanti)
  2301. - add `intersperse` (@marcotoniut)
  2302. - add `prependToAll` (@marcotoniut)
  2303. - add `every` (@gcanti)
  2304. - add `some` (@gcanti)
  2305. - add `Do` (@gcanti)
  2306. - `ReadonlyNonEmptyArray`
  2307. - add `altW` (@gcanti)
  2308. - add `uncons` (@marcotoniut)
  2309. - add `unsnoc` (@marcotoniut)
  2310. - add `intersperse` (@marcotoniut)
  2311. - add `prependToAll` (@marcotoniut)
  2312. - add `Do` (@gcanti)
  2313. - `State`
  2314. - add `traverseArrayWithIndex` (@mohaalak @iamomiid)
  2315. - add `traverseArray` (@mohaalak @iamomiid)
  2316. - add `sequenceArray` (@mohaalak @iamomiid)
  2317. - `StateReaderTaskEither`
  2318. - add `altW` (@gcanti)
  2319. - add `traverseArrayWithIndex` (@mohaalak @iamomiid)
  2320. - add `traverseArray` (@mohaalak @iamomiid)
  2321. - add `sequenceArray` (@mohaalak @iamomiid)
  2322. - add `filterOrElseW` (@gcanti)
  2323. - `Task`
  2324. - add `traverseArrayWithIndex` (@mohaalak @iamomiid)
  2325. - add `traverseArray` (@mohaalak @iamomiid)
  2326. - add `sequenceArray` (@mohaalak @iamomiid)
  2327. - add `traverseSeqArrayWithIndex` (@mohaalak @iamomiid)
  2328. - add `traverseSeqArray` (@mohaalak @iamomiid)
  2329. - add `sequenceSeqArray` (@mohaalak @iamomiid)
  2330. - add `Do` (@gcanti)
  2331. - `TaskEither`
  2332. - add `altW` (@gcanti)
  2333. - add `traverseArrayWithIndex` (@mohaalak @iamomiid)
  2334. - add `traverseArray` (@mohaalak @iamomiid)
  2335. - add `sequenceArray` (@mohaalak @iamomiid)
  2336. - add `traverseSeqArrayWithIndex` (@mohaalak @iamomiid)
  2337. - add `traverseSeqArray` (@mohaalak @iamomiid)
  2338. - add `sequenceSeqArray` (@mohaalak @iamomiid)
  2339. - add `Do` (@gcanti)
  2340. - add `filterOrElseW` (@gcanti)
  2341. - `Tree`
  2342. - add `Do` (@gcanti)
  2343. - **Deprecation**
  2344. - `Option`
  2345. - deprecate `mapNullable` in favour of `chainNullableK` (@gcanti)
  2346. - `StateReaderTaskEither`
  2347. - deprecate `stateReaderTaskEitherSeq` because is useless, `stateReaderTaskEither` is already sequential (@gcanti)
  2348. # 2.8.6
  2349. - **Bug Fix**
  2350. - fix #1350 (@gcanti)
  2351. # 2.8.5
  2352. - **Polish**
  2353. - `IOEither`
  2354. - export missing `of` function (@gcanti)
  2355. - `ReaderEither`
  2356. - export missing `of` function (@gcanti)
  2357. # 2.8.4
  2358. - **Polish**
  2359. - `IOEither`
  2360. - add `ApplicativePar` instance (@gcanti)
  2361. - add `ApplicativeSeq` instance (@gcanti)
  2362. - **Deprecation**
  2363. - `IOEither`
  2364. - deprecate `Applicative` in favour of `ApplicativePar` (@gcanti)
  2365. # 2.8.3
  2366. - **Polish**
  2367. - `Reader`
  2368. - export `Strong` instance (@urgent)
  2369. - export `Choice` instance (@gcanti)
  2370. # 2.8.2
  2371. - **Polish**
  2372. - increase the supported number of arguments of pipe function (@heka1024)
  2373. - **Bug fix**
  2374. - revert `groupBy` change in #1286 (@gcanti)
  2375. - **Internal**
  2376. - define all non-pipeable internal functions in terms of the corresponding pipeable versions (@gcanti)
  2377. # 2.8.1
  2378. - **Polish**
  2379. - fix `HKT` typings duplication (which might break module augmentation)
  2380. # 2.8.0
  2381. - **New Feature**
  2382. - expose `fp-ts` modules without lib/es6 prefix, #1241 (@StefanoMagrassi)
  2383. - `Array`
  2384. - add `apS` (@gcanti)
  2385. - add `bind` (@gcanti)
  2386. - add `bindTo` (@gcanti)
  2387. - `Either`
  2388. - add `apW` (@gcanti)
  2389. - add `apS` (@gcanti)
  2390. - add `apSW` (@gcanti)
  2391. - add `bind` (@gcanti)
  2392. - add `bindTo` (@gcanti)
  2393. - add `bindW` (@gcanti)
  2394. - add `chainFirstW`, #1273 (@leemhenson)
  2395. - add `getFilterable` (@gcanti)
  2396. - `Foldable`
  2397. - add `toArray`, #1272 (@newswim)
  2398. - add `reduceM` (@gcanti)
  2399. - `Identity`
  2400. - add `apS` (@gcanti)
  2401. - add `bind` (@gcanti)
  2402. - add `bindTo` (@gcanti)
  2403. - `IO`
  2404. - add `apS` (@gcanti)
  2405. - add `bind` (@gcanti)
  2406. - add `bindTo` (@gcanti)
  2407. - `IOEither`
  2408. - add `apS` (@gcanti)
  2409. - add `apSW` (@gcanti)
  2410. - add `bind` (@gcanti)
  2411. - add `bindTo` (@gcanti)
  2412. - add `bindW` (@gcanti)
  2413. - add `chainFirstW`, #1273 (@leemhenson)
  2414. - `NonEmptyArray`
  2415. - add `apS` (@gcanti)
  2416. - add `bind` (@gcanti)
  2417. - add `bindTo` (@gcanti)
  2418. - relax `group` signature (@gcanti)
  2419. - relax `groupBy` signature (@gcanti)
  2420. - relax `groupSort` signature (@gcanti)
  2421. - relax `sort` signature (@gcanti)
  2422. - `Option`
  2423. - add `apS` (@gcanti)
  2424. - add `bind` (@gcanti)
  2425. - add `bindTo` (@gcanti)
  2426. - `Reader`
  2427. - add `apW` (@gcanti)
  2428. - add `apS` (@gcanti)
  2429. - add `apSW` (@gcanti)
  2430. - add `bind` (@gcanti)
  2431. - add `bindTo` (@gcanti)
  2432. - add `bindW` (@gcanti)
  2433. - `ReaderEither`
  2434. - add `apS` (@gcanti)
  2435. - add `apSW` (@gcanti)
  2436. - add `bind` (@gcanti)
  2437. - add `bindTo` (@gcanti)
  2438. - add `bindW` (@gcanti)
  2439. - add `chainFirstW`, #1273 (@leemhenson)
  2440. - `ReaderTask`
  2441. - add `apS` (@gcanti)
  2442. - add `apSW` (@gcanti)
  2443. - add `bind` (@gcanti)
  2444. - add `bindTo` (@gcanti)
  2445. - add `bindW` (@gcanti)
  2446. - `ReaderTaskEither`
  2447. - add `apS` (@gcanti)
  2448. - add `apSW` (@gcanti)
  2449. - add `bind` (@gcanti)
  2450. - add `bindTo` (@gcanti)
  2451. - add `bindW` (@gcanti)
  2452. - add `chainFirstW`, #1273 (@leemhenson)
  2453. - `ReadonlyArray`
  2454. - add `apS` (@gcanti)
  2455. - add `bind` (@gcanti)
  2456. - add `bindTo` (@gcanti)
  2457. - `ReadonlyNonEmptyArray`
  2458. - add `apS` (@gcanti)
  2459. - add `bind` (@gcanti)
  2460. - add `bindTo` (@gcanti)
  2461. - relax `group` signature (@gcanti)
  2462. - relax `groupBy` signature (@gcanti)
  2463. - relax `groupSort` signature (@gcanti)
  2464. - relax `sort` signature (@gcanti)
  2465. - `State`
  2466. - add `apS` (@gcanti)
  2467. - add `bind` (@gcanti)
  2468. - add `bindTo` (@gcanti)
  2469. - add `evaluate` (@gcanti)
  2470. - add `execute` (@gcanti)
  2471. - `StateReaderTaskEither`
  2472. - add `apS` (@gcanti)
  2473. - add `apSW` (@gcanti)
  2474. - add `bind` (@gcanti)
  2475. - add `bindTo` (@gcanti)
  2476. - add `bindW` (@gcanti)
  2477. - add `chainFirstW`, #1273 (@leemhenson)
  2478. - add `evaluate` (@gcanti)
  2479. - add `execute` (@gcanti)
  2480. - `Task`
  2481. - add `apS` (@gcanti)
  2482. - add `bind` (@gcanti)
  2483. - add `bindTo` (@gcanti)
  2484. - `TaskEither`
  2485. - add `apS` (@gcanti)
  2486. - add `apSW` (@gcanti)
  2487. - add `bind` (@gcanti)
  2488. - add `bindTo` (@gcanti)
  2489. - add `bindW` (@gcanti)
  2490. - add `chainFirstW`, #1273 (@leemhenson)
  2491. - `Tree`
  2492. - add `apS` (@gcanti)
  2493. - add `bind` (@gcanti)
  2494. - add `bindTo` (@gcanti)
  2495. - `Writer`
  2496. - add `evaluate` (@gcanti)
  2497. - add `execute` (@gcanti)
  2498. - **Deprecation**
  2499. - `Foldable`
  2500. - deprecate `foldM` in favour of `reduceM` (@gcanti)
  2501. - `State`
  2502. - deprecate `evalState` in favour of `evaluate` (@gcanti)
  2503. - deprecate `execState` in favour of `execute` (@gcanti)
  2504. - `StateReaderTaskEither`
  2505. - deprecate `evalState` in favour of `evaluate` (@gcanti)
  2506. - deprecate `execState` in favour of `execute` (@gcanti)
  2507. - `Writer`
  2508. - deprecate `evalWriter` in favour of `evaluate` (@gcanti)
  2509. - deprecate `execWriter` in favour of `execute` (@gcanti)
  2510. # 2.7.1
  2511. - **Bug Fix**
  2512. - `ReadonlyArray`
  2513. - fix `FunctorWithIndex` instance name (@gcanti)
  2514. - fix `Functor` instance name (@gcanti)
  2515. - **Polish**
  2516. - `Array`
  2517. - relax `sort` signature (@gcanti)
  2518. - relax `sortBy` signature (@gcanti)
  2519. - `Map`
  2520. - export `mapWithIndex` (@gcanti)
  2521. - `ReadonlyArray`
  2522. - relax `sort` signature (@gcanti)
  2523. - relax `sortBy` signature (@gcanti)
  2524. - `ReadonlyMap`
  2525. - export `mapWithIndex` (@gcanti)
  2526. # 2.7.0
  2527. - **Bug Fix**
  2528. - `These`
  2529. - fix `ap` implementation in `getMonad` function (@gcanti)
  2530. - **Polish**
  2531. - improve performance of sequenceT and sequenceS, fix #1255 (@gcanti)
  2532. - **New Feature**
  2533. - `function`
  2534. - add `hole` (type hole simulation) (@gcanti)
  2535. - `Array`
  2536. - add `chainWithIndex`, #1256 (@OliverJAsh)
  2537. - add `Functor` instance (@gcanti)
  2538. - add `FunctorWithIndex` instance (@gcanti)
  2539. - add `Applicative` instance (@gcanti)
  2540. - add `Monad` instance (@gcanti)
  2541. - add `Unfoldable` instance (@gcanti)
  2542. - add `Alt` instance (@gcanti)
  2543. - add `Alternative` instance (@gcanti)
  2544. - add `Extend` instance (@gcanti)
  2545. - add `Compactable` instance (@gcanti)
  2546. - add `Filterable` instance (@gcanti)
  2547. - add `FilterableWithIndex` instance (@gcanti)
  2548. - add `Foldable` instance (@gcanti)
  2549. - add `FoldableWithIndex` instance (@gcanti)
  2550. - add `Traversable` instance (@gcanti)
  2551. - add `TraversableWithIndex` instance (@gcanti)
  2552. - add `Witherable` instance (@gcanti)
  2553. - `Const`
  2554. - add `Functor` instance (@gcanti)
  2555. - add `Contravariant` instance (@gcanti)
  2556. - add `Bifunctor` instance (@gcanti)
  2557. - `Either`
  2558. - add `getApplicativeValidation` constrained instance (@gcanti)
  2559. - add `getAltValidation` constrained instance (@gcanti)
  2560. - add `Functor` instance (@gcanti)
  2561. - add `Applicative` instance (@gcanti)
  2562. - add `Monad` instance (@gcanti)
  2563. - add `Foldable` instance (@gcanti)
  2564. - add `Traversable` instance (@gcanti)
  2565. - add `Bifunctor` instance (@gcanti)
  2566. - add `Alt` instance (@gcanti)
  2567. - add `Extend` instance (@gcanti)
  2568. - add `ChainRec` instance (@gcanti)
  2569. - add `MonadThrow` instance (@gcanti)
  2570. - `Eq`
  2571. - add `Contravariant` instance (@gcanti)
  2572. - `Identity`
  2573. - add `Functor` instance (@gcanti)
  2574. - add `Applicative` instance (@gcanti)
  2575. - add `Monad` instance (@gcanti)
  2576. - add `Foldable` instance (@gcanti)
  2577. - add `Traversable` instance (@gcanti)
  2578. - add `Alt` instance (@gcanti)
  2579. - add `Comonad` instance (@gcanti)
  2580. - add `ChainRec` instance (@gcanti)
  2581. - `IO`
  2582. - add `Functor` instance (@gcanti)
  2583. - add `Applicative` instance (@gcanti)
  2584. - add `Monad` instance (@gcanti)
  2585. - add `MonadIO` instance (@gcanti)
  2586. - add `ChainRec` instance (@gcanti)
  2587. - `IOEither`
  2588. - add `getApplicativeIOValidation` constrained instance (@gcanti)
  2589. - add `getAltIOValidation` constrained instance (@gcanti)
  2590. - add `Functor` instance (@gcanti)
  2591. - add `Applicative` instance (@gcanti)
  2592. - add `Monad` instance (@gcanti)
  2593. - add `Bifunctor` instance (@gcanti)
  2594. - add `Alt` instance (@gcanti)
  2595. - add `MonadIO` instance (@gcanti)
  2596. - add `MonadThrow` instance (@gcanti)
  2597. - `Map`
  2598. - add `Functor` instance (@gcanti)
  2599. - add `Compactable` instance (@gcanti)
  2600. - add `Filterable` instance (@gcanti)
  2601. - `NonEmptyArray`
  2602. - add `Functor` instance (@gcanti)
  2603. - add `FunctorWithIndex` instance (@gcanti)
  2604. - add `Applicative` instance (@gcanti)
  2605. - add `Monad` instance (@gcanti)
  2606. - add `Foldable` instance (@gcanti)
  2607. - add `FoldableWithIndex` instance (@gcanti)
  2608. - add `Traversable` instance (@gcanti)
  2609. - add `TraversableWithIndex` instance (@gcanti)
  2610. - add `Alt` instance (@gcanti)
  2611. - add `Comonad` instance (@gcanti)
  2612. - `Option`
  2613. - add `Functor` instance (@gcanti)
  2614. - add `Applicativ` instance (@gcanti)
  2615. - add `Monad` instance (@gcanti)
  2616. - add `Foldable` instance (@gcanti)
  2617. - add `Alt` instance (@gcanti)
  2618. - add `Alternative` instance (@gcanti)
  2619. - add `Extend` instance (@gcanti)
  2620. - add `Compactable` instance (@gcanti)
  2621. - add `Filterable` instance (@gcanti)
  2622. - add `Traversable` instance (@gcanti)
  2623. - add `Witherable` instance (@gcanti)
  2624. - add `MonadThrow` instance (@gcanti)
  2625. - `Ord`
  2626. - add `ContravariantOrd` instance (@gcanti)
  2627. - `Reader`
  2628. - add `Functor` instance (@gcanti)
  2629. - add `Applicative` instance (@gcanti)
  2630. - add `Monad` instance (@gcanti)
  2631. - add `Profunctor` instance (@gcanti)
  2632. - add `Category` instance (@gcanti)
  2633. - add `String` instance (@gcanti)
  2634. - add `Choice` instance (@gcanti)
  2635. - `ReaderEither`
  2636. - add `getApplicativeReaderValidation` constrained instance (@gcanti)
  2637. - add `getAltReaderValidation` constrained instance (@gcanti)
  2638. - add `Functor` instance (@gcanti)
  2639. - add `Applicative` instance (@gcanti)
  2640. - add `Monad` instance (@gcanti)
  2641. - add `Bifunctor` instance (@gcanti)
  2642. - add `Alt` instance (@gcanti)
  2643. - add `MonadThrow` instance (@gcanti)
  2644. - `ReaderTask`
  2645. - add `Functor` instance (@gcanti)
  2646. - add `ApplicativePar` instance (@gcanti)
  2647. - add `ApplicativeSeq` instance (@gcanti)
  2648. - `ReaderTaskEither`
  2649. - add `getApplicativeReaderTaskValidation` constrained instance (@gcanti)
  2650. - add `getAltReaderTaskValidation` constrained instance (@gcanti)
  2651. - add `Functor` instance (@gcanti)
  2652. - add `ApplicativePar` instance (@gcanti)
  2653. - add `ApplicativeSeq` instance (@gcanti)
  2654. - add `Bifunctor` instance (@gcanti)
  2655. - add `Alt` instance (@gcanti)
  2656. - `ReadonlyArray`
  2657. - add `chainWithIndex`, #1256 (@OliverJAsh)
  2658. - add `Functor` instance (@gcanti)
  2659. - add `FunctorWithIndex` instance (@gcanti)
  2660. - add `Applicative` instance (@gcanti)
  2661. - add `Monad` instance (@gcanti)
  2662. - add `Unfoldable` instance (@gcanti)
  2663. - add `Alt` instance (@gcanti)
  2664. - add `Alternative` instance (@gcanti)
  2665. - add `Extend` instance (@gcanti)
  2666. - add `Compactable` instance (@gcanti)
  2667. - add `Filterable` instance (@gcanti)
  2668. - add `FilterableWithIndex` instance (@gcanti)
  2669. - add `Foldable` instance (@gcanti)
  2670. - add `FoldableWithIndex` instance (@gcanti)
  2671. - add `Traversable` instance (@gcanti)
  2672. - add `TraversableWithIndex` instance (@gcanti)
  2673. - add `Witherable` instance (@gcanti)
  2674. - `ReadonlyMap`
  2675. - add `Functor` instance (@gcanti)
  2676. - add `Compactable` instance (@gcanti)
  2677. - add `Filterable` instance (@gcanti)
  2678. - `ReadonlyNonEmptyArray`
  2679. - add `Functor` instance (@gcanti)
  2680. - add `FunctorWithIndex` instance (@gcanti)
  2681. - add `Applicative` instance (@gcanti)
  2682. - add `Monad` instance (@gcanti)
  2683. - add `Foldable` instance (@gcanti)
  2684. - add `FoldableWithIndex` instance (@gcanti)
  2685. - add `Traversable` instance (@gcanti)
  2686. - add `TraversableWithIndex` instance (@gcanti)
  2687. - add `Alt` instance (@gcanti)
  2688. - add `Comonad` instance (@gcanti)
  2689. - `ReadonlyRecord`
  2690. - add `Functor` instance (@gcanti)
  2691. - add `FunctorWithIndex` instance (@gcanti)
  2692. - add `Foldable` instance (@gcanti)
  2693. - add `Compactable` instance (@gcanti)
  2694. - add `Filterable` instance (@gcanti)
  2695. - add `FilterableWithIndex` instance (@gcanti)
  2696. - add `Traversable` instance (@gcanti)
  2697. - add `TraversableWithIndex` instance (@gcanti)
  2698. - add `Witherable` instance (@gcanti)
  2699. - `ReadonlyTuple`
  2700. - add `Functor` instance (@gcanti)
  2701. - add `Bifunctor` instance (@gcanti)
  2702. - add `Semigroupoid` instance (@gcanti)
  2703. - add `Comonad` instance (@gcanti)
  2704. - add `Foldable` instance (@gcanti)
  2705. - add `Traversable` instance (@gcanti)
  2706. - `Record`
  2707. - add `Functor` instance (@gcanti)
  2708. - add `FunctorWithIndex` instance (@gcanti)
  2709. - add `Foldable` instance (@gcanti)
  2710. - add `Compactable` instance (@gcanti)
  2711. - add `Filterable` instance (@gcanti)
  2712. - add `FilterableWithIndex` instance (@gcanti)
  2713. - add `Traversable` instance (@gcanti)
  2714. - add `TraversableWithIndex` instance (@gcanti)
  2715. - add `Witherable` instance (@gcanti)
  2716. - `State`
  2717. - add `Functor` instance (@gcanti)
  2718. - add `Applicative` instance (@gcanti)
  2719. - add `Monad` instance (@gcanti)
  2720. - `Store`
  2721. - add `Functor` instance (@gcanti)
  2722. - add `Comonad` instance (@gcanti)
  2723. - `StateReaderTaskEither`
  2724. - add `Functor` instance (@gcanti)
  2725. - add `Applicative` instance (@gcanti)
  2726. - add `Bifunctor` instance (@gcanti)
  2727. - add `Alt` instance (@gcanti)
  2728. - `Task`
  2729. - add `Functor` instance (@gcanti)
  2730. - add `ApplicativePar` instance (@gcanti)
  2731. - add `ApplicativeSeq` instance (@gcanti)
  2732. - `TaskEither`
  2733. - add `getApplicativeTaskValidation` constrained instance (@gcanti)
  2734. - add `getAltTaskValidation` constrained instance (@gcanti)
  2735. - add `Functor` instance (@gcanti)
  2736. - add `ApplicativePar` instance (@gcanti)
  2737. - add `ApplicativeSeq` instance (@gcanti)
  2738. - add `Bifunctor` instance (@gcanti)
  2739. - add `Alt` instance (@gcanti)
  2740. - `TaskThese`
  2741. - add `Functor` instance (@gcanti)
  2742. - add `Bifunctor` instance (@gcanti)
  2743. - `These`
  2744. - add `getApplicative` constrained instance (@gcanti)
  2745. - add `Functor` instance (@gcanti)
  2746. - add `Bifunctor` instance (@gcanti)
  2747. - add `Foldable` instance (@gcanti)
  2748. - add `Traversable` instance (@gcanti)
  2749. - `Traced`
  2750. - rename `traced` to `Functor` for consistency (@gcanti)
  2751. - `Tree`
  2752. - add `Functor` instance (@gcanti)
  2753. - add `Applicative` instance (@gcanti)
  2754. - add `Monad` instance (@gcanti)
  2755. - add `Foldable` instance (@gcanti)
  2756. - add `Traversable` instance (@gcanti)
  2757. - add `Comonad` instance (@gcanti)
  2758. - `Writer`
  2759. - add `Functor` instance (@gcanti)
  2760. - `Tuple`
  2761. - add `Functor` instance (@gcanti)
  2762. - add `Bifunctor` instance (@gcanti)
  2763. - add `Semigroupoid` instance (@gcanti)
  2764. - add `Comonad` instance (@gcanti)
  2765. - add `Foldable` instance (@gcanti)
  2766. - add `Traversable` instance (@gcanti)
  2767. # 2.6.7
  2768. - **Polish**
  2769. - refine `Either.parseJSON` return type, #1252 (@OliverJAsh)
  2770. - add missing `chainW` to `ReaderTask`, #1254 (@adameier)
  2771. # 2.6.6
  2772. - **Polish**
  2773. - `Array`
  2774. - export `unfold` (@gcanti)
  2775. - make `lookup` data-last (@gcanti)
  2776. - make `elem` data-last (@gcanti)
  2777. - make `difference` data-last (@gcanti)
  2778. - make `intersection` data-last (@gcanti)
  2779. - make `union` data-last (@gcanti)
  2780. - make `zip` data-last (@gcanti)
  2781. - make `cons` data-last (@gcanti)
  2782. - `Map`
  2783. - make `member` data-last (@gcanti)
  2784. - make `elem` data-last (@gcanti)
  2785. - make `lookup` data-last (@gcanti)
  2786. - make `lookupWithKey` data-last (@gcanti)
  2787. - make `isSubmap` data-last (@gcanti)
  2788. - `NonEmptyArray`
  2789. - make `zip` data-last (@gcanti)
  2790. - `ReadonlyArray`
  2791. - export `unfold` (@gcanti)
  2792. - make `lookup` data-last (@gcanti)
  2793. - make `elem` data-last (@gcanti)
  2794. - make `difference` data-last (@gcanti)
  2795. - make `intersection` data-last (@gcanti)
  2796. - make `union` data-last (@gcanti)
  2797. - make `zip` data-last (@gcanti)
  2798. - make `cons` data-last (@gcanti)
  2799. - `ReadonlyMap`
  2800. - make `member` data-last (@gcanti)
  2801. - make `elem` data-last (@gcanti)
  2802. - make `lookup` data-last (@gcanti)
  2803. - make `lookupWithKey` data-last (@gcanti)
  2804. - make `isSubmap` data-last (@gcanti)
  2805. - `ReadonlyNonEmptyArray`
  2806. - make `zip` data-last (@gcanti)
  2807. - `ReadonlyRecord`
  2808. - make `isSubrecord` data-last (@gcanti)
  2809. - make `lookup` data-last (@gcanti)
  2810. - make `elem` data-last (@gcanti)
  2811. - `ReadonlySet`
  2812. - make `isSubset` data-last (@gcanti)
  2813. - make `elem` data-last (@gcanti)
  2814. - make `union` data-last (@gcanti)
  2815. - make `intersection` data-last (@gcanti)
  2816. - make `difference` data-last (@gcanti)
  2817. - `Record`
  2818. - make `isSubrecord` data-last (@gcanti)
  2819. - make `lookup` data-last (@gcanti)
  2820. - make `elem` data-last (@gcanti)
  2821. - `Set`
  2822. - make `subset` data-last (@gcanti)
  2823. - make `elem` data-last (@gcanti)
  2824. - make `union` data-last (@gcanti)
  2825. - make `intersection` data-last (@gcanti)
  2826. - make `difference` data-last (@gcanti)
  2827. - `Semigroup`
  2828. - make `fold` data-last (@gcanti)
  2829. # 2.6.5
  2830. - **Polish**
  2831. - export a pipeable `wither` function from all modules which admit a `Witherable` instance (@gcanti)
  2832. - export a pipeable `wilt` function from all modules which admit a `Witherable` instance (@gcanti)
  2833. # 2.6.4
  2834. - **Bug Fix**
  2835. - `ReadonlyMap`
  2836. - `traverseWithIndex` should sort the keys (@gcanti)
  2837. - `ReadonlyRecord`
  2838. - `traverseWithIndex` should sort the keys (@gcanti)
  2839. # 2.6.3
  2840. - **Polish**
  2841. - change `ReadonlyNonEmptyArray` definition to get better type inference (@gcanti)
  2842. - move `pipe` to `function` module (@gcanti)
  2843. - export `sequence` from all modules which admit a `Traversable` instance (@gcanti)
  2844. - export a pipeable `traverse` function from all modules which admit a `Traversable` instance (@gcanti)
  2845. - export a pipeable `traverseWithIndex` function from all modules which admit a `TraversableWithIndex` instance (@gcanti)
  2846. - remove monad transformers imports from all modules (@gcanti)
  2847. # 2.6.2
  2848. The goal of this release is to make `fp-ts` more "tree shaking" friendly.
  2849. - **Polish**
  2850. - add `/*@__PURE__*/` comments to pipeables (@gcanti)
  2851. - add `/*@__PURE__*/` comments to transformers (@gcanti)
  2852. - remove `pipeable.ts` module imports (@gcanti)
  2853. # 2.6.1
  2854. - **New Feature**
  2855. - add W variants, closes #904 (@gcanti)
  2856. - `Const`
  2857. - add missing instances, #1201 (@gcanti)
  2858. - `Date`
  2859. - add `eqDate`, `eqMonth`, `eqYear` (@gcanti)
  2860. - `Either`
  2861. - add `getOrElseW` (@gcanti)
  2862. - add `chainW` (@gcanti)
  2863. - `Eq`
  2864. - add `getMonoid` (@gcanti)
  2865. - `IOEither`
  2866. - add `getOrElseW` (@gcanti)
  2867. - add `chainW` (@gcanti)
  2868. - add `chainEitherKW` (@giogonzo)
  2869. - `Option`
  2870. - add `getOrElseW` (@gcanti)
  2871. - `Reader`
  2872. - add `chainW` (@gcanti)
  2873. - `ReaderEither`
  2874. - add `getOrElseW` (@gcanti)
  2875. - add `chainW` (@gcanti)
  2876. - add `chainEitherKW` (@giogonzo)
  2877. - `ReaderTaskEither`
  2878. - add `getOrElseW` (@gcanti)
  2879. - add `chainW` (@gcanti)
  2880. - add `chainEitherKW` (@giogonzo)
  2881. - add `chainTaskEitherKW` (@giogonzo)
  2882. - add `chainIOEitherKW` (@giogonzo)
  2883. - `StateReaderTaskEither`
  2884. - add `chainW` (@gcanti)
  2885. - add `chainEitherKW` (@giogonzo)
  2886. - add `chainTaskEitherKW` (@giogonzo)
  2887. - add `chainReaderTaskEitherKW` (@giogonzo)
  2888. - add `chainIOEitherKW` (@giogonzo)
  2889. - `TaskEither`
  2890. - add `getOrElseW` (@gcanti)
  2891. - add `chainW` (@gcanti)
  2892. - add `chainEitherKW` (@giogonzo)
  2893. - add `chainIOEitherKW` (@giogonzo)
  2894. - `Tree`
  2895. - add `fold` function (@gcanti)
  2896. # 2.5.4
  2897. - **Polish**
  2898. - `StateT`
  2899. - add missing `StateM2C` and `StateM3C` (@qlonik)
  2900. # 2.5.3
  2901. - **Polish**
  2902. - `Either`
  2903. - add missing instances to `getValidation` (@gcanti)
  2904. - `IOEither`
  2905. - relax `Bifunctor2C` to `Bifunctor2` in `getIOValidation` (@gcanti)
  2906. - `ReaderEither`
  2907. - relax `Bifunctor3C` to `Bifunctor3` in `getReaderValidation` (@gcanti)
  2908. - `ReaderTaskEither`
  2909. - relax `Bifunctor3C` to `Bifunctor3` in `getReaderTaskValidation` (@gcanti)
  2910. - `TaskEither`
  2911. - relax `Bifunctor2C` to `Bifunctor2` in `getTaskValidation` (@gcanti)
  2912. # 2.5.1
  2913. - **New Feature**
  2914. - `Eq`
  2915. - add `eqStrict`, closes #965 (@gcanti)
  2916. - `NonEmptyArray`
  2917. - add `fold` (@vicrac)
  2918. - add `zip`, `zipWith` and `unzip`, closes #1109 (@gcanti)
  2919. - `Semigroup`
  2920. - add `getIntercalateSemigroup` (@gcanti)
  2921. - `Set`
  2922. - add `toggle` (@ryota-ka)
  2923. - `TaskEither`
  2924. - add `tryCatchK` (@DenisFrezzato)
  2925. - `These`
  2926. - add missing `MonadThrow` instance (@gcanti)
  2927. - `ReaderTaskEither`
  2928. - add missing `leftReaderTask`, `rightReaderTask` functions (@gcanti)
  2929. - `StateReaderTaskEither`
  2930. - add missing `Bifunctor`, `Alt` instances (@gcanti)
  2931. - **Experimental**
  2932. - add `ReadonlyArray` module (@gcanti)
  2933. - add `ReadonlyNonEmptyArray` module (@gcanti)
  2934. - add `ReadonlySet` module (@gcanti)
  2935. - add `ReadonlyMap` module (@gcanti)
  2936. - add `ReadonlyRecord` module (@gcanti)
  2937. - add `ReadonlyTuple` module (@gcanti)
  2938. # 2.4.4
  2939. - **Polish**
  2940. - add missing `MonadIO4` (@mlegenhausen)
  2941. - add missing `MonadTask4` (@mlegenhausen)
  2942. - `StateReaderTaskEither`
  2943. - add missing `MonadTask4` instance (@mlegenhausen)
  2944. - add missing `filterOrElse`, `fromPredicate` combinators (@mlegenhausen)
  2945. # 2.4.3
  2946. - **Bug Fix**
  2947. - don't set `target: es6` in `tsconfig.build-es6.json`, fix #1110 (@gcanti)
  2948. # 2.4.2
  2949. - **Bug Fix**
  2950. - fix `Invariant` definition (@gcanti)
  2951. # 2.4.1
  2952. - **Polish**
  2953. - `NonEmptyArray`
  2954. - add overloading to `group` managing non empty arrays, closes #831 (@gcanti)
  2955. - `foldMap` and `foldMapWithIndex` now require a `Semigroup` instead of a `Monoid` (@gcanti)
  2956. # 2.4.0
  2957. - **New Feature**
  2958. - add `WriterT` module, closes #1050 (@gcanti)
  2959. - add `TheseT` module (@gcanti)
  2960. - add `TaskThese` module (@gcanti)
  2961. - `function`
  2962. - add `tupled`, `untupled` functions, closes #1062 (@gcanti)
  2963. - `IOEither`
  2964. - add `fromEitherK`, `chainEitherK` (@gcanti)
  2965. - `ReaderEither`
  2966. - add `fromEitherK`, `chainEitherK` (@gcanti)
  2967. - `ReaderTask`
  2968. - add `run` (@gcanti)
  2969. - add `fromIOK`, `chainIOK`, `fromTaskK`, `chainTaskK` (@gcanti)
  2970. - `ReaderTaskEither`
  2971. - add `fromEitherK`, `chainEitherK`, `fromIOEitherK`, `chainIOEitherK`, `fromTaskEitherK`, `chainTaskEitherK` (@gcanti)
  2972. - `These`
  2973. - add `swap` (@gcanti)
  2974. - `Ord`
  2975. - add `getMonoid` (@vicrac)
  2976. - `Ordering`
  2977. - add `monoidOrdering` (@gcanti)
  2978. - `StateReaderTaskEither`
  2979. - add `fromEitherK`, `chainEitherK`, `fromIOEitherK`, `chainIOEitherK`, `fromTaskEitherK`, `chainTaskEitherK`, `fromReaderTaskEitherK`, `chainReaderTaskEitherK` (@gcanti)
  2980. - `Task`
  2981. - add `fromIOK`, `chainIOK` (@gcanti)
  2982. - `TaskEither`
  2983. - add `fromEitherK`, `chainEitherK`, `fromIOEitherK`, `chainIOEitherK` (@gcanti)
  2984. - **Deprecation**
  2985. - `Ord`
  2986. - deprecate `getSemigroup` in favor of `getMonoid` (@gcanti)
  2987. - `Ordering`
  2988. - deprecate `semigroupOrdering` in favor of `monoidOrdering` (@gcanti)
  2989. - **Internal**
  2990. - use native `Promise.race` in `Task.getRaceMonoid` (@gcanti)
  2991. # 2.3.1
  2992. - **Bug Fix**
  2993. - `Array.ts`
  2994. - fix `sortBy` failing on empty list of ords, #1046 (@vicrac)
  2995. # 2.3.0
  2996. - **New Feature**
  2997. - add `ReaderTask` module (@sledorze)
  2998. - `ReaderTaskEither`
  2999. - add `getReaderTaskValidation` (@sledorze)
  3000. - `ReaderEither`
  3001. - add `getReaderValidation` (@gcanti)
  3002. - `TaskEither`
  3003. - improve `getTaskValidation` (@gcanti)
  3004. - `IOEither`
  3005. - improve `getIOValidation` (@gcanti)
  3006. # 2.2.0
  3007. - **New Feature**
  3008. - add `boolean` module, closes #930 (@giogonzo)
  3009. - add `ChainRec` instance to `IO` (@gcanti)
  3010. - `NonEmptyArray`
  3011. - add `init` (@steida)
  3012. - add `Alt` instance (@gcanti)
  3013. - **Internal**
  3014. - add new 3C variants and related overloads (@sledorze)
  3015. # 2.1.2
  3016. - **Bug Fix**
  3017. - `fromNullable` now uses `NonNullable` in its return type, fixes #1004 (@gcanti)
  3018. # 2.1.1
  3019. - **Bug Fix**
  3020. - add `sequenceT` and `sequenceS` overload signatures for `Kind4`, fixes #969 (@pfgray)
  3021. # 2.1.0
  3022. - **New Feature**
  3023. - add constrained `Filterable` instance to `IOEither`, `TaskEither`, #959 (@giogonzo)
  3024. # 2.0.5
  3025. - **Bug Fix**
  3026. - fix `PipeableApply2C` definition (@gcanti)
  3027. # 2.0.4
  3028. - **Polish**
  3029. - `ReaderTaskEither`
  3030. - add missing `bracket` function (@mlegenhausen)
  3031. # 2.0.3
  3032. - **Bug Fix**
  3033. - fix `sequenceT`, `sequenceS` implementations, closes #914 (@gcanti)
  3034. # 2.0.2
  3035. - **Bug Fix**
  3036. - add `reduce` to `FoldableComposition2C1` (@anilanar)
  3037. # 2.0.1
  3038. - **Bug Fix**
  3039. - fix `PipeableBifunctor` definition (@gcanti)
  3040. - fix `chunksOf` implementation, #897 (@gcanti)
  3041. # 2.0.0
  3042. - **Breaking Change**
  3043. - remove deprecated APIs (@gcanti)
  3044. - remove classes (@gcanti)
  3045. - remove all phantom fields (@gcanti)