Releases: reazen/relude
Releases · reazen/relude
Add Relude.Globals module for use as a global open
v0.5.0
- Add a special module named
Relude_Globals
(akaRelude.Globals
) which is intended to serve those who want to use a globalopen Relude.Globals
to bring in the coreRelude
functionality. - Note: it is not required to
open Relude.Globals
to use Relude. We are also not encouraging or discouraging anyone to globally open anything from Relude - it is a personal/team decision as to whether to globally open any library for use. - See #71
Additional AsyncData/AsyncResult helpers
v0.4.0
- Add some helper functions to
AsyncData
/AsyncResult
likefold
,foldLazy
,foldByValue
, etc. - See #66
Refactoring, renaming, and bugfixes
v0.3.0
At a Glance
- IO got some testing and bugfixes courtesy of @johnhaley81 and @andywhite37
- Better interop with Js.Promise
catchError
should work better forAsync
now
- @mlms13 refactored the List and Array modules
- More code is reused (by deriving functionality from
Relude_Foldables
) - Naming and signatures are more consistent across modules
- More code is reused (by deriving functionality from
- Array docs exist, and
take
anddrop
work more predictably with negatives (h/t @jdeisenberg)
🚨 Breaking Changes 🚨
- In both Relude.List and Relude.Array:
take
anddrop
are nowtakeExactly
anddropExactly
takeUpTo
anddropUpTo
are nowtake
anddrop
- In Relude.List:
removeBy
andremove
are nowremoveFirstBy
andremoveFirst
List.sumFloat
is nowList.Float.sum
List.String.map
is nowRelude.String.mapChars
containsF
,indexOfF
,sortF
are nowcontainsBy
, etcRelude_ListF
is gone, just useRelude.List
insteadRelude.List.Sequence
(used internally byNonEmpty
) is no longer public- Nested typeclass modules (e.g
Relude.List.Option.Traversable
) have been removed (for now?)
- In Relude.Array:
- Removed
Array.one
(useArray.pure
instead) - Removed
Array.mkString
(useArray.String.joinWith
instead) - Rename several functions to
...By
:contains
is nowcontainsBy
indexOf
is nowindexOfBy
sort
is nowsortBy
distinct
is nowdistinctBy
- Removed
- In Relude.String
replaceAll
is nowreplaceEach
✨ New Things ✨
- In both Relude.List and Relude.Array
minBy
,min
,maxBy
, andmax
functions
- In Relude.List:
List.Result.sequence: list(Belt.Result.t('a, 'e)) => Belt.Result.t(list('a), 'e)
List.Float
now matchesList.Int
with functions forcontains,
sort,
sum,
product`, and more
- In Relude.Array:
Array.void
,Array.flap
,Array.map2
(up tomap5
) fromArray.Monad
Array.countBy
fromArray.Foldable
Array.sort
(which uses anORD
module)Array.contains
,Array.indexOf
, andArray.distinct
(which use anEQ
module)Array.fold
andArray.intercalate
(which use aMONOID
module)Array.shuffle
which returns a copy (unlikeshuffleInPlace
)Array.removeFirst
,Array.removeFirstBy
,Array.removeEach
,Array.removeEachBy
- Add submodules (e.g.
Array.String
,Array.Int
, etc) to match theList
submodules
- In Relude.String:
removeFirst
andremoveEach
Various small, but breaking changes
v0.1.1: Test release for versioning strategy using npm version
This was just a test to see how tagging and releases work.
v0.1.0: An initial "release"
While the README still includes a "WIP" note, we've been using roughly this version of Relude in production for several months. It works reasonably well, but there are known inconsistencies in function names and signatures.
We plan to begin addressing several open issues that will lead to breaking API changes (generally with easy migration paths). In order to properly document those breaking changes, we need to be able to compare the API with some previous point in time. This 0.1.0
release marks that point in time.