Changelog History
Page 1
-
v1.0.0.1 Changes
March 15, 2021- ๐ Minor documentation changes.
-
v1.0.0.0 Changes
March 12, 2021#353: Reexport most common modules from the following libraries:
containers
unordered-containers
text
bytestring
Now, when using
relude
, you don't need to add these libraries to your.cabal
file to enjoy their main API. Try removing them from your.cabal
file after upgrading to this version ofrelude
to see if you still need them.To utilise this feature, update the
mixin
part of your package configuration (if you're using the mixins approach) to the following:mixins: base hiding (Prelude) , relude (Relude as Prelude) , relude
- #345: Support GHC-9.0.
- โฌ๏ธ Upgrade minor GHC versions to GHC-8.10.4 and GHC-8.8.4.
- #268: Drop support of GHC-8.0.2.
- #270:
Standardise
universe
,universeNonEmpty
andinverseMap
functions that previously were introduced in theRelude.Extra.Enum
module.Relude.Enum
module created that is exported in the mainRelude
module by default.
Migration guide: If you were using any of these functions you can now remove
Relude.Extra.Enum
from your imports and explicitmixins
section as they are available for you with theRelude
module.- โ Remove the
Eq
constraint onuniverseNonEmpty
- #269:
Remove the
Relude.Extra.Validation
module.
Migration guide: If you use
Relude.Extra.Validation
in you project you need to:1. Add `validation-selective` into the `build-depends` section of your `.cabal` file. 2. Change imports of `Relude.Extra.Validation` to `Validation`: ```haskell -- Was: import Relude.Extra.Validation (Validation (..), ..) -- Became: import Validation (Validation (..), ..) ```
- #346,
#347:
Reimplement
ordNub
throughnubOrd
fromcontainers
. AddordNubOn
,intNub
andintNubOn
functions. - #327:
Add
infinitely
as more strictly typedforever
. - #311:
Add
maybeAt
function โ the non-operator version of!!?
with its arguments flipped. #314: Add lifted versions of functions to work with
Handle
:hFlush
hIsEOF
hSetBuffering
hGetBuffering
#305: Add lifted versions of functions to work with environment:
getArgs
lookupEnv
โ Add lifted version of the
readFile'
function.Reexport the
BufferMode
type frombase
.#309: Reexport
span
fromData.List
.#319: Implement
partitionWith
.#307: Add
foldr1
toFoldable1
.#316: Add
average
andaverage1
โ efficient functions for finding average on foldable structures.#306: Add
maximumOn1
andminimumOn1
toFoldable1
.#301: Add
traceShowWith
toRelude.Debug
.โก๏ธ Updates to
relude
-specific.hlint
rules.
Thanks @googleson78, @sushi-shi, @rektrex, @aleator, @mjgpy3, @dalpd, ๐ @Bodigrim for helping with this release!
-
v0.8.0.0 Changes
- โ Add
infinitely
as more strictly typedforever
.
- โ Add
-
v0.7.0.0 Changes
May 14, 2020- #253: Support GHC-8.10. Upgrade GHC-8.8 to 8.8.3.
- ๐ Significant documentation improvements:
- Add high-level description to each reexported module.
- Add String Conversion Table.
- Add
NonEmpty
lists functions tables. - Add
@since
annotations. - Improve README.
- Inline some external reexports into explicit lists of exports.
- Rewrite top-level
cabal
description.
- #234:
Reexport
scanl1
,scanr1
,scanl'
fromData.List
. - #256:
Make
cycle
total function. - #233:
Add
etaReaderT
toRelude.Monad.Trans
to help with performance. - #294:
Add
atomicModifyIORef_
andatomicModifyIORef'_
. - #293:
Add
memptyIfFalse
andmemptyIfTrue
functions. - Reexport
NonEmpty
functions fromRelude.List.NonEmpty
instead ofRelude.List.Reexport
. - #239:
Reexport more STM functions that work with
TMVar
fromRelude.Lifted.Concurrent
. - #227:
Create
Relude.Extra
module - #228:
Add
universeNonEmpty
function. - #249:
Breaking change: Fix infix of the
Relude.Extra.Lens
(^.)
operator. Change it toinfixl 8
. - Reexport partial
read
fromRelude.Unsafe
for consistency. - #244:
Remove deprecated functions:
prec
,dupe
andmapBoth
.
Migration rules: +
prec
: useprev
instead +dupe
: usedup
instead +mapBoth
: usebimapBoth
instead- #246:
Deprecate
Relude.Extra.Validation
in favour ofvalidation-selective
Migration rules: If you use
Relude.Extra.Validation
in you project you need to:1. Add `validation-selective` into the `build-depends` section of your `.cabal` file. 2. Change imports of `Relude.Extra.Validation` to `Validation`: ```haskell -- Was: import Relude.Extra.Validation (Validation (..), ..) -- Became: import Validation (Validation (..), ..) ```
- #196:
Deprecate
mapToFst
andmapToSnd
. IntroducetoFst
andtoSnd
inRelude.Extra.Tuple
as shorter aliases formapToFst
. ImplementfmapToFst
andfmapToSnd
. Add more HLint rules forRelude.Extra.Tuple
functions.
Migration rules:
- Replace
mapToFst
withtoFst
- Replace
mapToSnd
withtoSnd
- You can now use
fmapToFst
andfmapToSnd
instead of[f]map (mapToFst f)
and[f]map (mapToSnd f)
- #286:
Breaking change:
readEither
is not polymorphic over the first argument anymore. Now it takesString
.
- #286:
Breaking change:
Migration rules: Use one of the conversion function from the
Relude.String.Conversion
module to covert your old input value intoString
.For example, if you had
readEither @Text @Int myText
Now it should become:
readEither @Int (toString myText)
-
v0.6.0.0 Changes
October 30, 2019#171:
โ Add custom type errors to various functions and instances.head
,tail
,last
,init
words
,unwords
,lines
,unlines
error
ToText
,ToLText
,ToString
instances for bytestringsFoldable1
instance for ordinary listsMonad
instance forValidation
#164:
โ ReexportShortByteString
,toShort
/fromShort
functions.
(by @vrom911)#182:
๐ Support GHC-8.8.1.
(by @chshersh)#168,
#197:
๐ Improve documentation significantly (more and better examples, better wording).
(by @chshersh,
@vrom911,
@Cmdv)#177:
๐ Improve usage of performance pragmas.
(by @chshersh)#167:
๐ Rename functions (and deprecate old versions):prec
toprev
dupe
todup
#192:
ReexportfoldMap'
fromData.Foldable
.
(by @tfausak)#201:
Implement!!?
as a safe equivalent of!!
that returns aMaybe
.
(by @kutyel)#203:
Implement theguarded
combinator.
(by @JonathanLorimer)#214:
โ AddmapMaybeM
function.
(by @vrom911)#174:
ImplementbimapBoth
inRelude.Extra.Tuple
module,
๐ markmapBoth
as DEPRECATED.
(by @astynax)#221:
๐ Improve documentation for theValidation
module significantly.
(by @chshersh)#176:
โ Implement property-based tests forValidation
laws.
(by @astynax)#172:
โ AddMonoid
andSemigroup
instances for theValidation
type.
(by @mauriciofierrom)#156:
Implement helper type-level functions inRelude.Extra.Type
.
(by @TheMatten)#170:
ImplementElem
type family.
(by @kutyel)#165:
Re-exportGHC.Float.atan2
.
(by @ethercrow)#155:
ImplementfoldlSC
โ short-circuting list fold โ inRelude.Extra.Foldable
.
(by @josephcsible)#158:
๐ Support GHC-8.6.5.
(by @chshersh)#148:
๐ Migrate HLint rules to the latest Dhall spec.
(by @vrom911)#178:
Madedie
be polymorphic in its return type.
(by @ilyakooo0)#162,
#189,
#190,
#191,
#193,
#194,
#195:
๐จ Various refactorings and code improvements:- Breaking change: Reorder type parameters to
asumMap
- Implement
andM
,orM
,allM
, andanyM
in terms of&&^
and||^
- Use
foldr
instead of explicit recursion andtoList
- Use
mapToFst
instead ofzip
to improve list fusion ininverseMap
- Implement
foldMap1
forNonEmpty
in terms offoldr
- Use
$>
instead of*>
andpure
where possible - Implement
asumMap
andfoldMapA
by coercingfoldMap
- Return Failure early in
<*
and*>
too
(by @josephcsible)
#187:
โ Removetasty
andtasty-hedgehog
dependencies and their redundant imports.
(by @dalpd) -
v0.5.0 Changes
March 18, 2019- #127:
ImplementRelude.Extra.Lens
module. - #125:
๐ Moved many numerical functions and types inRelude.Numeric
.
ReexporttoIntegralSized
fromData.Bits
.
โ AddintegerToBounded
andintegerToNatural
inRelude.Numeric
. - #121:
ReexportAp
fromData.Monoid
. Change definition offoldMapA
to useAp
. - #129:
โ AddappliedTo
andchainedTo
as named versions of operators=<<
and<**>
. - #138:
โ AddRealFloat
toRelude.Numeric
. - #144:
โ AddtraverseToSnd
and friends toRelude.Extra.Tuple
. - #140:
๐ Improve text of custom compile-time error messages forelem
functions. - #136:
๐ CoverRelude.Extra.*
modules with custom HLint rules. - #146:
๐ Improve documentation forRelude.File
file: be more explicit about system
locale issues. - ๐ Improve documentation for
One
typeclass and add tests. - ๐ Support ghc-8.6.4 and ghc-8.4.4.
โฌ๏ธ Drop support for ghc-8.6.1 and ghc-8.4.3.
- #127:
-
v0.4.0 Changes
November 06, 2018- #70:
Reexport
Contravariant
for GHC >= 8.6.1. - #103:
Drop
utf8-string
dependency and improve performance of conversion functions. - #98:
Reexport
Bifoldable
related stuff frombase
. - #99:
Reexport
Bitraversable
related stuff frombase
. - #100:
Add
Relude.Extra.Validation
withValidation
data type. - #89:
Add
Relude.Extra.Type
module containing atypeName
function. - #92
Add
Relude.Extra.Tuple
module, containingdupe
,mapToFst
,mapToSnd
, andmapBoth
functions. - #97:
Add
(&&^)
and(||^)
operators. - #81:
Add
asumMap
toFoldable
functions. - #80:
Add hlint rules for
whenLeft
,whenLeftM
,whenRight
andwhenRightM
. - #79:
Add HLint rules for
One
typeclass. - โ Remove
openFile
andhClose
. - #83:
Make documentation for
nub
functions prettier. - #109: Use Dhall v3.0.0 for hlint file generation.
- #70:
Reexport
-
v0.3.0 Changes
September 09, 2018- #41:
Add
Foldable1
. - #64:
Remove
Print
typeclass. Addput[L]BS[Ln]
functions.trace
functions now takeString
as argument instead ofText
.
Important: this is a breaking change. If you used polymorphic
putStrLn
you need to remove type application or switch to one of the monomorphic functions. Also, you can't abstract overPrint
typeclass anymore.- #66:
Export
(>>>)
and(<<<)
fromControl.Category
. - #59:
Introduce
flap
function and its operator version??
. - #64:
Improve performance of functions from
Foldable1
. Addfoldl1'
function. - Reexport
uncons
frombase
. - Rewrite
die
implementation to usedie
frombase
. - #19:
Rewrite
.hlint.yaml
to Dhall. - ๐ Move
stdin
- andstdout
-related functions to new moduleRelude.Lifted.Terminal
. - #67:
Add HLint rules for
put*
functions. - #22:
readFile
,writeFile
andappendFile
now work withString
. Add lifted version ofhClose
. AddreadFile
,writeFile
andappendFile
alternatives forText
andByteString
. - #61:
Add
under2
andunderF2
functions toRelude.Extra.Newtype
. - #60:
Add
hoistMaybe
andhoistEither
functions.
- #41:
Add
-
v0.2.0 Changes
August 19, 2018- #43:
Implement
Relude.Extra.Newtype
module. - #46: Add a function that returns its own name.
- #48:
Export
<&>
frombase
. Also reexportfromLeft
andfromRight
frombase
where possible. - #49: Speed up and refactor property tests.
- #54:
Improve documentation.
Add more examples to documentation and more tests.
Reexport
withReader
andwithReaderT
. RemovesafeHead
. RenameRelude.List.Safe
toRelude.List.NonEmpty
.
- #43:
Implement