Skip to content

Releases: kowainik/relude

v1.2.0.0 – GHC 9.4

01 Mar 16:36
e633cb3
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.1.0.0...v1.2.0.0

v1.1.0.0 - GHC 9.2

09 Jun 15:50
b2fccef
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.0.0.1...v1.1.0.0

Minor docs fixes

15 Mar 10:25
b032e83
Compare
Choose a tag to compare
v1.0.0.1

Minor docs fixes (#366)

v1.0: Reexport libs entirely, GHC 9, official standard

12 Mar 17:47
6df837b
Compare
Choose a tag to compare
  • #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!

GHC-8.10, Docs, New FUNctions and FUN

14 May 17:23
Compare
Choose a tag to compare

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: Better UX + better docs + more tests + new functions

30 Oct 20:07
a0e1e3e
Compare
Choose a tag to compare
  • #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: Lens + much more docs + better HLint support

18 Mar 01:59
Compare
Choose a tag to compare
  • #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: Contravariant, Bifoldable/Bitraversable, Validation and much more

06 Nov 15:55
Compare
Choose a tag to compare

v0.3.0: New combinators

09 Sep 12:46
bc23b0f
Compare
Choose a tag to compare

See CHANGELOG.md for details.

v0.2.0: Newtypes, documentation, reexports

19 Aug 06:23
8a7f822
Compare
Choose a tag to compare

See CHANGELOG.md for more details.