Changelog of @hackage/universum 1.8.2.2

1.8.2.2

  • #297
    • Add support for GHC-9.10 without any user-visible changes.

1.8.2.1

  • #293
    • Add explicit kind signatures for custom operators.
    • Bump some dependency constraints to support GHC-9.8.

1.8.2

  • #289: Make universum work with LTS-21.0.
    • Re-export (~) type operator.
  • #283: Bump the upper version bound on text to 2.0.2.

1.8.1.1

  • #282: Bump the upper version bound on text to 2.0.1.

1.8.1

  • #271: Add compatibility with tasty-hedgehog 1.2.0.0

1.8.0

  • #252: Remove Option re-export. Use Maybe instead.

  • #176: Deprecate note.

  • #206: Remove listToMaybe. Migration guide: use safeHead directly with functions from Universum.Container instead.

  • #182: Deprecate microlens and microlens-mtl dependencies.

  • #165: Change the type of readMaybe from readMaybe :: Read a => String -> Maybe a to it's polymorphic version readMaybe :: forall b a. (ToString a, Read b) => a -> Maybe b.

  • #199: Change type of concatMap from concatMap :: Foldable f => (a -> [b]) -> t a -> [b] to concatMap :: Container c => (Element c -> [b]) -> c -> [b].

  • 250: Replace group export from Data.List with group, groupBy, groupWith and groupAllWith from Data.List.NonEmpty.

1.7.3

  • #236: Add updateMVar' and updateTVar'.

  • #244 Add ToPairs instances for [(k, v)] and NonEmpty (k, v).

  • #238: Add fromList.

1.7.2 (rev1)

  • Permit text-1.2.5.0.

1.7.2

  • Permit text-1.2.4.1.
  • #233: Add someNE.

1.7.1

  • #230: Add hoistMaybe and hoistEither functions similar to relude

1.7.0

  • #221: Add safe versions of minimum, maximum, minimumBy, maximumBy, foldr1, foldl1 functions for NonEmpty list. Old their versions from Container typeclass now return Maybe and have safe prefix in name (e.g. safeMinimum). Add unsafe versions of those functions to Unsafe module.
  • #185: Enable more warnings, fix all warnings.

1.6.1

  • #219: Bump upper bound on text.

1.6.0

  • #207: Remove various monad transformer combinators, flipfoldl', and <<$>> from the list of changes suggested in .hlint.yaml.

  • #214: Update supported GHC versions (replace 7.10.3 with 8.6.5).

  • #212 Added rewrite rule for toString . toText case. This may change semantics in some corner cases (because toString . toText is not strictly the identity function).

  • #215: Fix docstrings in Universum.Lifted.File to mention correct module when referencing related functions.

1.5.0

  • Make error's stacktrace exclude site of the error function itself.

  • #200: Implemented a lifted version of withFile and added hClose to Universum.Lifted.File as discussed previously in #186.

  • #204: Make trace non-polymorphic over text argument, add traceIdWith and traceShowIdWith.

  • #197 hPutStr, hPutStrLn and hPrint added to Universum.Print. The interface for the backing typeclass Universum.Print.Print changed. It was also moved to the internal module Universum.Print.Internal and should be considered unstable.

    Migration guide: The interface for the Print class should be considered internal and may be subject to sudden change. If you must implement your own instances, then import Universum.Print.Internal (be aware that there are name clashes in the functions from Universum.Print and Universum.Print.Internal)

  • #201 Generalized the type of Universum.Lifted.Env.die. Should not break existing code, apart from, perhaps, type inference.

1.4.0

  • #167: identity has been removed.

    Migration guide: use Universum.id instead.

  • #177: The mask_ reexport from safe-exceptions has been removed.

    Migration guide: use Control.Exception.Safe.mask_ from safe-exceptions instead.

  • #178: getArgs has been removed.

    Migration guide: use liftIO directly with System.Environment.getArgs from base.

  • #179: getContents and interact have been removed.

    Migration guide: use liftIO directly with Data.Text.Lazy.IO.getContents and Data.Text.Lazy.IO.interact, both from the text package.

  • #180: The Lifted.ST module has been removed.

    Migration guide: use liftIO directly with functions from Control.Monad.ST instead.

  • #181: list has been removed.

1.3.0

  • #167: identity has been deprecated.

    Migration guide: use Universum.id instead.

  • #170: Remove ElementConstraint from the Container class.

    Migration guide: remove ElementConstraint from every instance and every type signature.

  • #174 The type-operators dependency has been removed.

  • #177: The mask_ reexport from safe-exceptions has been deprecated.

    Migration_guide: use Control.Exception.Safe.mask_ from safe-exceptions instead.

  • #178: getArgs has been deprecated. To be removed in a future version.

    Migration guide: use liftIO directly with System.Environment.getArgs from base.

  • #179: getContents and interact have been deprecated.

    Migration guide: use liftIO directly with Data.Text.Lazy.IO.getContents and Data.Text.Lazy.IO.interact, both from the text package.

  • #180: The Lifted.ST module has been deprecated. To be removed in a future version.

    Migration guide: use liftIO directly with functions from Control.Monad.ST instead.

  • #181: list has been deprecated. To be removed in a future version.

1.2.0

  • #159 Breaking change: Remove text-format dependency.

    Migration guide: import Buildable type class either from text-format or formatting or fmt library. There is no direct replacement for pretty and prettyL in popular libraries. You can define prettyL = Data.Text.Lazy.Builder.toLazyText . build and pretty = Data.Text.Lazy.toStrict . prettyL`.

  • #164: Don't reexport log :: Floating a => a -> a.

1.1.1

  • #148: Add CODEOWNERS and contributing guide.
  • #135: Add documentation regarding internal module structure.
  • #113: Annotate at function from Unsafe module and ordNub function from Nub module with liquidhaskell.
  • #73: Add more examples to docs and fix warnings where possible.
  • Move reexport of NonEmpty to Universum.List module.

1.1.0

  • #144: Add Exc pattern synonym.
  • #60: Reexport Natural type from Numeric.Natura module.
  • #118: Reexport Type from Data.Kind module.
  • #130: Merge ToList and Container type classes into single type class Container.
  • #15: Add ?: function to Universum.Monad.Maybe.
  • #128: Add Unsafe module with unsafe functions to works with lists and Maybe.
  • #129: Reexport id.
  • #136: Change foldl' type back, add flipfoldl' instead.

1.0.4.1

  • #127: Fix doctest for text-1.2.3.

1.0.4

  • #53: Add doctest to universum. Also imporove and fix documentation.
  • #117: Drop the support of GHC-8.0.1.
  • #104: Reexport hashWithSalt from Data.Hashable.
  • #95: Reexport Compose from Data.Functor.Compose.
  • #124: Export methods of class Exception.

1.0.3

  • #114: Reexport more functions from safe-exceptions.

1.0.2

  • #91: Change argument order of foldl'.
  • #97: Add ToPairs type class with the ability to have list of pairs.

1.0.1

  • #100: Add bug function = impureThrow.

1.0.0

  • #90: Improve project structure.
  • #89: Add export of Universum.Nub module to Universum.
  • Add listToMaybe to Universum.Monad.Reexport.
  • #81: Make putText and putLText to be versions of putStr. Add putTextLn and putLTextLn -- versions of putStrLn.
  • #5: Add safe versions of head, tail, init, last functions for NonEmpty list. Old head (which returns Maybe) is renamed to safeHead. Reexports from safe are removed.
  • Remove unsnoc (this function is very slow and shouldn't be used).
  • #88: Add HasCallStack => to error and undefined functions.
  • #58: Make Element type family be associated type family. Remove {-# OVERLAPPABLE #-} instance for ToList and Container. Add default instances for basic types. Remove WrappedList newtype because it's not needed anymore. Remove NontrivialContainer constraint alias.
  • #56: Make elem and notElem faster for Set and HashSet by introducing ElementConstraint associated type family.
  • Remove Unsafe module. Though, see issue #128 for disuccion regarding possible return of this module.

0.9.1

  • Change base version to be < 5.

0.9.0

  • #79: Import '(<>)' from Semigroup, not Monoid.
  • Improve travis configartion.
  • #80: Rename Container to ToList, NontrivialContainer to Container. Keep NontrivialContainer as type alias.
  • Rename Containers module to Container.Class.
  • Move all container-related reexports from Universum to Container.Reexport.
  • Add default implementation of null function.
  • Add WrappedList newtype with instance of Container.
  • Improve compile time error messages for disallowed instances.

0.8.0

  • #83: Change the order of types in show and print functions.
  • Move string related reexports and functions to Conv module.
  • Rename Conv module to String.
  • Move print function to Print module.
  • #77: Add modify' function to export list.

0.7.1.1

  • #69: Document SuperComposition operator (...).

0.7.1

  • #68: Separate all 'nub' functions to Nub module, add sortNub and unstableNub there.
  • #54: Reorganize .cabal.
  • #21: Add benchmarks.
  • #65: Use TypeNats instead of TypeLits when possible.

0.7.0

  • #47: Reexport put and get for MonadState.
  • #48: Export boxed Vector type.
  • #49: Export IdentityT and runIdentityT.
  • #51: Add fromRight and fromLeft that behave like fromMaybe but for Either.
  • #52: Add maybeToMonoid :: Monoid m => Maybe m -> m.
  • Remove Symbol-related types for sure.
  • Return back seems to be useful function guardM removed in v0.3.
  • Add notElem for NonTrivialContainer.

0.6.1

  • Fixed version number bug (it had 4 numbers).

0.6.0.0

  • #62: Export exceptions-related functions from 'safe-exceptions'.

0.5.1

  • Fix an infinite loop in decodeUtf8 from Text to ByteString.Lazy.

0.5

  • Export MonadTrans typeclass.
  • Remove Symbol-related exports from GHC.TypeLits.
  • Remove SrcLoc and Location reexports from GHC.ExecutionStack.
  • Add With type operator.
  • Add hashNub.
  • Export strict StateT instead of lazy.

0.4.3

  • Assign associativity and priority to (...), export typeclass itself.

0.4.2

  • #25: Add vararg functions composition operator (...).
  • Rewrite concatMapM & concatForM so that they allow traversed and returned-by-function container types differ.

0.4.1

  • Reexport sortWith from GHC.Exts.

0.4

  • Add haddock documentation with 100% coverage.
  • Rewrite README tutorial.
  • #37: Add generalized version of readEither.
  • #38: Add evaluateNF, evaluateNF_, evaluateWHNF, evaluateWHNF_.
  • #39: Add lifted versions of IORef functions.
  • Remove foreach
  • Reexport (&&&) from Control.Arrow.
  • Add lifted version of readTVarIO.
  • interact and getContents work with Lazy Text.
  • Reexport MaybeT, maybeToExceptT, exceptToMaybeT.

0.3

  • #28: Remove putByteString and putLByteString.
  • #29: Remove panic, FatalError and notImplemented. Rename NotImplemented into Undefined.
  • #32: Remove orAlt, orEmpty, liftAA2, eitherA, purer, <<*>>, traceIO, guardM, hush, tryIO, liftM', liftM2', applyN, guardedA, Bifunctor instances for tuples of length higher than 2. Generalize concatMapM, add concatForM and operator versions.
  • #35: Generalize andM, orM, allM, anyM over container type.

0.2.2

  • #33: Add ($) and Each type operators.

0.2.1

  • #24: Add whenNothing, whenNothing_, whenNothingM, whenNothingM_, whenLeft, whenLeftM, whenRight, whenRightM, whenNotNull, whenNotNullM.
  • #26: Add usingReader, usingReaderT, usingState, usingStateT, executingState, executingStateT, evaluatingState, evaluatingStateT.
  • Remove maybeToEither.

0.2

  • Add one (similar to singleton).
  • Expose Symbol and Nat types from GHC.TypeLits by default.
  • Export genericLength and other generic list return functions.
  • Rename msg to fatalErrorMessage.
  • Export ExceptT
  • Export ReaderT, and StateT constructors.
  • Export NonEmpty type and constructor for Base 4.9 only.
  • Export Data.Semigroup type and functions for Base 4.9 only.
  • Export String.

0.1.13

  • Add lenses from microlens.
  • Add (<&>).
  • Reexport (&) from Data.Function if it's present there instead of always defining our own (this is actually done by reexporting it from Lens.Micro which does the right thing).
  • Fix a space leak in whenJust.

0.1.12

  • Use custom classes instead of Foldable. Thanks to this, length and similar functions can't anymore be used on tuples or Maybe, but can be used on e.g. Text, ByteString and IntSet.

  • Add allM, anyM, andM, orM.

  • Reexport fail and MonadFail.

0.1.11

  • Expose putByteString and putLByteString monomorphic versions of putStrLn functions
  • Switch exported (<>) to be from Data.Monoid instead of Semigroup.
  • Export Hashable

0.1.10

  • Generalize most IO functions to MonadIO
  • Make die available for older versions of base

0.1.9

  • Make sum and product strict

0.1.8

  • foreach for applicative traversals.
  • hush function for error handling.
  • tryIO function for error handling.
  • pass function for noop applicative branches.
  • Mask Handler typeclass export.
  • Mask yield function export.

0.1.7

  • Export monadic (>>) operator by default.
  • Add traceId and traceShowId functions.
  • Exportreader and state functions by default.
  • Export lifted throwIO and throwTo functions.

0.1.6

  • Add uncatchable panic exception throwing using Text message.
  • Remove printf
  • Remove string-conv dependency so Stack build works without extra-deps.
  • Bring Callstack machinery in for GHC 8.x.
  • Remove throw and assert from Control.Exception exports.
  • Remove unsafeShiftL and unsafeShiftR from Data.Bits exports.
  • Reexport throw as unsafeThrow via Unsafe module.
  • Hides all Show class functions. Only the Class itself is exported. Forbids custom instances that are not GHC derived.
  • Export encodeUtf8 and decodeUtf8 functions by default.
  • Adds unsnoc function.

0.1.5

  • Initial release.