Changelog for relude-0.7.0.0
Changelog
relude
uses PVP Versioning.
The changelog is available on GitHub.
0.7.0.0 — 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
insteaddupe
: usedup
insteadmapBoth
: 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:-
Add
validation-selective
into thebuild-depends
section of your.cabal
file. -
Change imports of
Relude.Extra.Validation
toValidation
:-- 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)
- Replace
-
#286: Breaking change:
readEither
is not polymorphic over the first argument anymore. Now it takesString
.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)
-
#281: Move
One
property tests fromdoctest
tohedgehog
. Significant test time boost. -
#264: Support Dhall-16.0.0 in HLint rules.
0.6.0.0 — Oct 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: Reexport
ShortByteString
,toShort
/fromShort
functions. (by @vrom911) -
#168, #197: Improve documentation significantly (more and better examples, better wording). (by @chshersh, @vrom911, @Cmdv)
-
#167: Rename functions (and deprecate old versions):
prec
toprev
dupe
todup
-
#201: Implement
!!?
as a safe equivalent of!!
that returns aMaybe
. (by @kutyel) -
#203: Implement the
guarded
combinator. (by @JonathanLorimer) -
#174: Implement
bimapBoth
inRelude.Extra.Tuple
module, markmapBoth
as DEPRECATED. (by @astynax) -
#221: Improve documentation for the
Validation
module significantly. (by @chshersh) -
#176: Implement property-based tests for
Validation
laws. (by @astynax) -
#172: Add
Monoid
andSemigroup
instances for theValidation
type. (by @mauriciofierrom) -
#156: Implement helper type-level functions in
Relude.Extra.Type
. (by @TheMatten) -
#165: Re-export
GHC.Float.atan2
. (by @ethercrow) -
#155: Implement
foldlSC
— short-circuting list fold — inRelude.Extra.Foldable
. (by @josephcsible) -
#148: Migrate HLint rules to the latest Dhall spec. (by @vrom911)
-
#178: Made
die
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)
- Breaking change: Reorder type parameters to
-
#187: Remove
tasty
andtasty-hedgehog
dependencies and their redundant imports. (by @dalpd)
0.5.0 — Mar 18, 2019
- #127:
Implement
Relude.Extra.Lens
module. - #125:
Moved many numerical functions and types in
Relude.Numeric
. ReexporttoIntegralSized
fromData.Bits
. AddintegerToBounded
andintegerToNatural
inRelude.Numeric
. - #121:
Reexport
Ap
fromData.Monoid
. Change definition offoldMapA
to useAp
. - #129:
Add
appliedTo
andchainedTo
as named versions of operators=<<
and<**>
. - #138:
Add
RealFloat
toRelude.Numeric
. - #144:
Add
traverseToSnd
and friends toRelude.Extra.Tuple
. - #140:
Improve text of custom compile-time error messages for
elem
functions. - #136:
Cover
Relude.Extra.*
modules with custom HLint rules. - #146:
Improve documentation for
Relude.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.
0.4.0 — Nov 6, 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.
0.3.0
-
#41: Add
Foldable1
. -
#63: 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.
0.2.0
- #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
.
0.1.1
- #44: Implement parser deriviation from pretty-printers.
0.1.0
- #7:
Remove
Container.Class.Container
. ExportFoldable
. - #2:
Remove
microlens
from dependencies. - #10:
Remove
VarArg
module. - #9:
Remove
safe-exceptions
from dependencies. ReexportException
andSomeException
fromControl.Exception
instead. - #11:
Remove
TypeOps
module andtype-operators
dependency. - #13:
Remove
list
,getContents
,interact
,getArgs
,note
functions. RemoveLifted.ST
module. RenameLifted.Env
toLifted.Exit
. - #16:
Rename
whenLeft
,whenRight
,whenLeftM
,whenRightM
towhenLeft_
andwhenRight_
,whenLeftM_
andwhenRightM_
. AddwhenLeft
,whenRight
,whenLeftM
,whenRightM
which return the value. - #18:
Add
LazyStrict
type class for conversions. map
is notfmap
anymore. Reexportmap
fromData.List
- #12:
Remove
liquid-haskell
support. - #20:
Add
viaNonEmpty
function. - #21:
Add
MonadFail
instance forEither
. - #17:
Add
foldMapA
andfoldMapM
functions. - #4:
Rename package to
Relude
. - #14:
Add
Relude.Extra.*
modules which are not exported by default but have useful functions. - #8:
Introduce
StaticMap
andDynamicMap
type classes as universal interface for Map-like structures.