Changelog for relude-1.0.0.1
Changelog
relude uses PVP Versioning.
The changelog is available on GitHub.
1.0.0.1 — Mar 15, 2021
- Minor documentation changes.
1.0.0.0 — Mar 12, 2021
-
#353: Reexport most common modules from the following libraries:
containersunordered-containerstextbytestring
Now, when using
relude, you don't need to add these libraries to your.cabalfile to enjoy their main API. Try removing them from your.cabalfile after upgrading to this version ofreludeto see if you still need them.To utilise this feature, update the
mixinpart 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,universeNonEmptyandinverseMapfunctions that previously were introduced in theRelude.Extra.Enummodule.Relude.Enummodule created that is exported in the mainReludemodule by default.Migration guide: If you were using any of these functions you can now remove
Relude.Extra.Enumfrom your imports and explicitmixinssection as they are available for you with theReludemodule. -
Remove the
Eqconstraint onuniverseNonEmpty -
#269: Remove the
Relude.Extra.Validationmodule.Migration guide: If you use
Relude.Extra.Validationin you project you need to:-
Add
validation-selectiveinto thebuild-dependssection of your.cabalfile. -
Change imports of
Relude.Extra.ValidationtoValidation:-- Was: import Relude.Extra.Validation (Validation (..), ..) -- Became: import Validation (Validation (..), ..)
-
-
#346, #347: Reimplement
ordNubthroughnubOrdfromcontainers. AddordNubOn,intNubandintNubOnfunctions. -
#327: Add
infinitelyas more strictly typedforever. -
#311: Add
maybeAtfunction — the non-operator version of!!?with its arguments flipped. -
#314: Add lifted versions of functions to work with
Handle:hFlushhIsEOFhSetBufferinghGetBuffering
-
#305: Add lifted versions of functions to work with environment:
getArgslookupEnv
-
Add lifted version of the
readFile'function. -
Reexport the
BufferModetype frombase. -
#309: Reexport
spanfromData.List. -
#319: Implement
partitionWith. -
#307: Add
foldr1toFoldable1. -
#316: Add
averageandaverage1— efficient functions for finding average on foldable structures. -
#306: Add
maximumOn1andminimumOn1toFoldable1. -
#301: Add
traceShowWithtoRelude.Debug. -
Updates to
relude-specific.hlintrules.
Thanks @googleson78, @sushi-shi, @rektrex, @aleator, @mjgpy3, @dalpd, @Bodigrim for helping with this release!
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
NonEmptylists functions tables. - Add
@sinceannotations. - Improve README.
- Inline some external reexports into explicit lists of exports.
- Rewrite top-level
cabaldescription.
-
#234: Reexport
scanl1,scanr1,scanl'fromData.List. -
#256: Make
cycletotal function. -
#233: Add
etaReaderTtoRelude.Monad.Transto help with performance. -
#294: Add
atomicModifyIORef_andatomicModifyIORef'_. -
#293: Add
memptyIfFalseandmemptyIfTruefunctions. -
Reexport
NonEmptyfunctions fromRelude.List.NonEmptyinstead ofRelude.List.Reexport. -
#239: Reexport more STM functions that work with
TMVarfromRelude.Lifted.Concurrent. -
#227: Create
Relude.Extramodule -
#228: Add
universeNonEmptyfunction. -
#249: Breaking change: Fix infix of the
Relude.Extra.Lens(^.)operator. Change it toinfixl 8. -
Reexport partial
readfromRelude.Unsafefor consistency. -
#244: Remove deprecated functions:
prec,dupeandmapBoth.Migration rules:
prec: useprevinsteaddupe: usedupinsteadmapBoth: usebimapBothinstead
-
#246: Deprecate
Relude.Extra.Validationin favour ofvalidation-selectiveMigration rules: If you use
Relude.Extra.Validationin you project you need to:-
Add
validation-selectiveinto thebuild-dependssection of your.cabalfile. -
Change imports of
Relude.Extra.ValidationtoValidation:-- Was: import Relude.Extra.Validation (Validation (..), ..) -- Became: import Validation (Validation (..), ..)
-
-
#196: Deprecate
mapToFstandmapToSnd. IntroducetoFstandtoSndinRelude.Extra.Tupleas shorter aliases formapToFst. ImplementfmapToFstandfmapToSnd. Add more HLint rules forRelude.Extra.Tuplefunctions.Migration rules:
- Replace
mapToFstwithtoFst - Replace
mapToSndwithtoSnd - You can now use
fmapToFstandfmapToSndinstead of[f]map (mapToFst f)and[f]map (mapToSnd f)
- Replace
-
#286: Breaking change:
readEitheris not polymorphic over the first argument anymore. Now it takesString.Migration rules: Use one of the conversion function from the
Relude.String.Conversionmodule to covert your old input value intoString.For example, if you had
readEither @Text @Int myTextNow it should become:
readEither @Int (toString myText) -
#281: Move
Oneproperty tests fromdoctesttohedgehog. 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,initwords,unwords,lines,unlineserrorToText,ToLText,ToStringinstances for bytestringsFoldable1instance for ordinary listsMonadinstance forValidation
-
#164: Reexport
ShortByteString,toShort/fromShortfunctions. (by @vrom911) -
#168, #197: Improve documentation significantly (more and better examples, better wording). (by @chshersh, @vrom911, @Cmdv)
-
#167: Rename functions (and deprecate old versions):
prectoprevdupetodup
-
#201: Implement
!!?as a safe equivalent of!!that returns aMaybe. (by @kutyel) -
#203: Implement the
guardedcombinator. (by @JonathanLorimer) -
#174: Implement
bimapBothinRelude.Extra.Tuplemodule, markmapBothas DEPRECATED. (by @astynax) -
#221: Improve documentation for the
Validationmodule significantly. (by @chshersh) -
#176: Implement property-based tests for
Validationlaws. (by @astynax) -
#172: Add
MonoidandSemigroupinstances for theValidationtype. (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
diebe 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, andanyMin terms of&&^and||^ - Use
foldrinstead of explicit recursion andtoList - Use
mapToFstinstead ofzipto improve list fusion ininverseMap - Implement
foldMap1forNonEmptyin terms offoldr - Use
$>instead of*>andpurewhere possible - Implement
asumMapandfoldMapAby coercingfoldMap - Return Failure early in
<*and*>too
(by @josephcsible)
- Breaking change: Reorder type parameters to
-
#187: Remove
tastyandtasty-hedgehogdependencies and their redundant imports. (by @dalpd)
0.5.0 — Mar 18, 2019
- #127:
Implement
Relude.Extra.Lensmodule. - #125:
Moved many numerical functions and types in
Relude.Numeric. ReexporttoIntegralSizedfromData.Bits. AddintegerToBoundedandintegerToNaturalinRelude.Numeric. - #121:
Reexport
ApfromData.Monoid. Change definition offoldMapAto useAp. - #129:
Add
appliedToandchainedToas named versions of operators=<<and<**>. - #138:
Add
RealFloattoRelude.Numeric. - #144:
Add
traverseToSndand friends toRelude.Extra.Tuple. - #140:
Improve text of custom compile-time error messages for
elemfunctions. - #136:
Cover
Relude.Extra.*modules with custom HLint rules. - #146:
Improve documentation for
Relude.Filefile: be more explicit about system locale issues. - Improve documentation for
Onetypeclass 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
Contravariantfor GHC >= 8.6.1. - #103:
Drop
utf8-stringdependency and improve performance of conversion functions. - #98:
Reexport
Bifoldablerelated stuff frombase. - #99:
Reexport
Bitraversablerelated stuff frombase. - #100:
Add
Relude.Extra.ValidationwithValidationdata type. - #89:
Add
Relude.Extra.Typemodule containing atypeNamefunction. - #92
Add
Relude.Extra.Tuplemodule, containingdupe,mapToFst,mapToSnd, andmapBothfunctions. - #97:
Add
(&&^)and(||^)operators. - #81:
Add
asumMaptoFoldablefunctions. - #80:
Add hlint rules for
whenLeft,whenLeftM,whenRightandwhenRightM. - #79:
Add HLint rules for
Onetypeclass. - Remove
openFileandhClose. - #83:
Make documentation for
nubfunctions prettier. - #109: Use Dhall v3.0.0 for hlint file generation.
0.3.0
-
#41: Add
Foldable1. -
#63: Remove
Printtypeclass. Addput[L]BS[Ln]functions.tracefunctions now takeStringas argument instead ofText.Important: this is a breaking change. If you used polymorphic
putStrLnyou need to remove type application or switch to one of the monomorphic functions. Also, you can't abstract overPrinttypeclass anymore. -
#66: Export
(>>>)and(<<<)fromControl.Category. -
#59: Introduce
flapfunction and its operator version??. -
#64: Improve performance of functions from
Foldable1. Addfoldl1'function. -
Reexport
unconsfrombase. -
Rewrite
dieimplementation to usediefrombase. -
#19: Rewrite
.hlint.yamlto Dhall. -
Move
stdin- andstdout-related functions to new moduleRelude.Lifted.Terminal. -
#67: Add HLint rules for
put*functions. -
#22:
readFile,writeFileandappendFilenow work withString. Add lifted version ofhClose. AddreadFile,writeFileandappendFilealternatives forTextandByteString. -
#61: Add
under2andunderF2functions toRelude.Extra.Newtype. -
#60: Add
hoistMaybeandhoistEitherfunctions.
0.2.0
- #43:
Implement
Relude.Extra.Newtypemodule. - #46: Add a function that returns its own name.
- #48:
Export
<&>frombase. Also reexportfromLeftandfromRightfrombasewhere possible. - #49: Speed up and refactor property tests.
- #54:
Improve documentation.
Add more examples to documentation and more tests.
Reexport
withReaderandwithReaderT. RemovesafeHead. RenameRelude.List.SafetoRelude.List.NonEmpty.
0.1.1
- #44: Implement parser deriviation from pretty-printers.
0.1.0
- #7:
Remove
Container.Class.Container. ExportFoldable. - #2:
Remove
microlensfrom dependencies. - #10:
Remove
VarArgmodule. - #9:
Remove
safe-exceptionsfrom dependencies. ReexportExceptionandSomeExceptionfromControl.Exceptioninstead. - #11:
Remove
TypeOpsmodule andtype-operatorsdependency. - #13:
Remove
list,getContents,interact,getArgs,notefunctions. RemoveLifted.STmodule. RenameLifted.EnvtoLifted.Exit. - #16:
Rename
whenLeft,whenRight,whenLeftM,whenRightMtowhenLeft_andwhenRight_,whenLeftM_andwhenRightM_. AddwhenLeft,whenRight,whenLeftM,whenRightMwhich return the value. - #18:
Add
LazyStricttype class for conversions. mapis notfmapanymore. ReexportmapfromData.List- #12:
Remove
liquid-haskellsupport. - #20:
Add
viaNonEmptyfunction. - #21:
Add
MonadFailinstance forEither. - #17:
Add
foldMapAandfoldMapMfunctions. - #4:
Rename package to
Relude. - #14:
Add
Relude.Extra.*modules which are not exported by default but have useful functions. - #8:
Introduce
StaticMapandDynamicMaptype classes as universal interface for Map-like structures.