Relude Versions Save

🌀 Safe, performant, user-friendly and lightweight Haskell standard library

v1.2.0.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/kowainik/relude/compare/v1.1.0.0...v1.2.0.0

v1.1.0.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/kowainik/relude/compare/v1.0.0.1...v1.1.0.0

v1.0.0.1

3 years ago

v1.0.0.0

3 years ago
  • #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 of relude 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 and inverseMap functions that previously were introduced in the Relude.Extra.Enum module. Relude.Enum module created that is exported in the main Relude module by default.

    Migration guide: If you were using any of these functions you can now remove Relude.Extra.Enum from your imports and explicit mixins section as they are available for you with the Relude module.

  • Remove the Eq constraint on universeNonEmpty

  • #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:

      -- Was:
      import Relude.Extra.Validation (Validation (..), ..)
      -- Became:
      import Validation (Validation (..), ..)
      
  • #346, #347: Reimplement ordNub through nubOrd from containers. Add ordNubOn, intNub and intNubOn functions.

  • #327: Add infinitely as more strictly typed forever.

  • #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 from base.

  • #309: Reexport span from Data.List.

  • #319: Implement partitionWith.

  • #307: Add foldr1 to Foldable1.

  • #316: Add average and average1 — efficient functions for finding average on foldable structures.

  • #306: Add maximumOn1 and minimumOn1 to Foldable1.

  • #301: Add traceShowWith to Relude.Debug.

  • #304, #317: Various documentation improvements.

  • Updates to relude-specific .hlint rules.

Thanks @googleson78, @sushi-shi, @rektrex, @aleator, @mjgpy3, @dalpd, @Bodigrim for helping with this release!

v0.7.0.0

4 years ago

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' from Data.List.
  • #256: Make cycle total function.
  • #233: Add etaReaderT to Relude.Monad.Trans to help with performance.
  • #294: Add atomicModifyIORef_ and atomicModifyIORef'_.
  • #293: Add memptyIfFalse and memptyIfTrue functions.
  • Reexport NonEmpty functions from Relude.List.NonEmpty instead of Relude.List.Reexport.
  • #239: Reexport more STM functions that work with TMVar from Relude.Lifted.Concurrent.
  • #227: Create Relude.Extra module
  • #228: Add universeNonEmpty function.
  • #249: Fix infix of the Relude.Extra.Lens (^.) operator.
  • Reexport partial read from Relude.Unsafe for consistency.
  • #244: Remove deprecated functions: prec, dupe and mapBoth.
  • #246: Deprecate Relude.Extra.Validation in favour of validation-selective
  • #196: Deprecate mapToFst and mapToSnd. Introduce toFst and toSnd in Relude.Extra.Tuple as shorter aliases for mapToFst. Implement fmapToFst and fmapToSnd. Add more HLint rules for Relude.Extra.Tuple functions.
  • #286: readEither is not polymorphic over the first argument anymore. Now it takes String.
  • #281: Move One property tests from doctest to hedgehog. Significant test time boost.
  • #264: Support Dhall-16.0.0 in HLint rules.

See CHANGELOG for more details.

v0.6.0.0

4 years ago
  • #171: Add custom type errors to various functions and instances.

    • head, tail, last, init
    • words, unwords, lines, unlines
    • error
    • ToText, ToLText, ToString instances for bytestrings
    • Foldable1 instance for ordinary lists
    • Monad instance for Validation

    (by @vrom911, @chshersh)

  • #164: Reexport ShortByteString, 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 to prev
    • dupe to dup

    (by @Cmdv, @chshersh)

  • #192: Reexport foldMap' from Data.Foldable. (by @tfausak)

  • #201: Implement !!? as a safe equivalent of !! that returns a Maybe. (by @kutyel)

  • #203: Implement the guarded combinator. (by @JonathanLorimer)

  • #214: Add mapMaybeM function. (by @vrom911)

  • #174: Implement bimapBoth in Relude.Extra.Tuple module, mark mapBoth 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 and Semigroup instances for the Validation type. (by @mauriciofierrom)

  • #156: Implement helper type-level functions in Relude.Extra.Type. (by @TheMatten)

  • #170: Implement Elem type family. (by @kutyel)

  • #165: Re-export GHC.Float.atan2. (by @ethercrow)

  • #155: Implement foldlSC — short-circuting list fold — in Relude.Extra.Foldable. (by @josephcsible)

  • #158: Support GHC-8.6.5. (by @chshersh)

  • #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, and anyM in terms of &&^ and ||^
    • Use foldr instead of explicit recursion and toList
    • Use mapToFst instead of zip to improve list fusion in inverseMap
    • Implement foldMap1 for NonEmpty in terms of foldr
    • Use $> instead of *> and pure where possible
    • Implement asumMap and foldMapA by coercing foldMap
    • Return Failure early in <* and *> too

    (by @josephcsible)

  • #187: Remove tasty and tasty-hedgehog dependencies and their redundant imports. (by @dalpd)

v0.5.0

5 years ago
  • #127: Implement Relude.Extra.Lens module.
  • #125: Moved many numerical functions and types in Relude.Numeric. Reexport toIntegralSized from Data.Bits. Add integerToBounded and integerToNatural in Relude.Numeric.
  • #121: Reexport Ap from Data.Monoid. Change definition of foldMapA to use Ap.
  • #129: Add appliedTo and chainedTo as named versions of operators =<< and <**>.
  • #138: Add RealFloat to Relude.Numeric.
  • #144: Add traverseToSnd and friends to Relude.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.

v0.4.0

5 years ago

See the changelog

v0.3.0

5 years ago

See CHANGELOG.md for details.

v0.2.0

5 years ago

See CHANGELOG.md for more details.