either-5.0.2: CHANGELOG.markdown
5.0.2 [2022.05.07]
------------------
* Tweak error messages of `fromRight'` and `fromLeft'` for clarity.
* Allow building with `mtl-2.3.*`.
5.0.1.1 [2019.05.02]
--------------------
* Only incur a `semigroups` dependency on pre-8.0 GHCs.
5.0.1 [2018.07.03]
------------------
* Make the `Semigroup`, `Apply`, and `Applicative` instances for `Validation`
lazier.
* Make `vap` lazier in its second argument.
* Introduce `vapm`, an even lazier version of `vap` which requires a
`Monoid` constraint. Also add `apm`, a counterpart for `Validation`.
* Use `test-framework` and `QuickCheck` in the test suite.
5
-
* Changed the semantics of the `Validation` `Alt` and `Alternative` instances to collect errors.
The previous implementation did not correctly abide the laws.
* Added `vap`, for when users want validation like semantics but don't want to convert back and forth to validation all the time. Similarly, added `ealt` to give either's `Alt` semantics to validation.
* Dropped the deprecated `Control.Monad.Trans.Either`. Use `Control.Monad.Trans.Except` from `transformers` and/or
`transformers-compat` instead.
4.5
----
* Add `MMonad` instance for `EitherT`
* Deprecate `Control.Monad.Trans.Either` in favor of `Control.Monad.Trans.Except`
* Add `firstEitherT`
4.4.1.1
-------
* Fixed building on newer GHCs. (type synonyms require explicit foralls for unused variables these days)
4.4.1
-----
* `transformers` 0.5 support
* Documentation fixes
4.4
---
* Support `mmorph`
4.3.4.1
-------
* Support `MonadRandom` 0.4
4.3.4
-----
* Support `bifunctors` 5, `profunctors` 5, and `semigroupoids` 5.
4.3.3.3
-------
* Fixed and enhanced documentation for `eitherToError`.
4.3.3.2
-------
* Support `exceptions` 0.8
4.3.3.1
-------
* Support `exceptions` 0.7
4.3.3
-----
* Added `eitherToError`.
4.3.2.1
-------
* Support `monad-control` 1.0
4.3.2
-----
* Added `Validation`.
4.3.0.2
-------
* Updated MonadRandom support.
4.3.0.1
-------
* Fixed import of `MonadCatch` to support versions of `base` before 4.6
4.3
---
* Inverted dependency between `free` and `either`.
4.2
---
* Added instances for `MonadThrow`, `MonadCatch`.
4.1
---
* Added instances for `MonadBase`, `MonadBaseControl`, and `MonadTransControl`.
4.0
---
* Updated dependencies.
3.4.2
-----
* Added 'Data.Either.Combinators'.
3.4.1
-----
* Trustworthy despite UndecidableInstances
3.4
---
* Delegate `fail` to the underlying `Monad`, rather than `error`.
3.3
---
* Inverted roles between `Semigroup` and `Alt`. This let us write `Alternative` and `MonadPlus` instances that are compatible.
* Removed the `Functor` constraint on most instances in exchange for incurring a `Monad` constraint on `Traversable`. `EitherT`
is after all, a `Monad` transformer first and foremost.
3.2
---
* Changed the `Semigroup` to use a `Semigroup` to combine `Left` branches. Left `Alt` untouched, so you can mix and match.
3.1
---
* Added instances for `mtl` classes and `MonadRandom`.
* The meaning of `mapEitherT` has changed to match `mapErrorT` in the `mtl`. The old `mapEitherT` is now `bimapEitherT`.
3.0.3
-----
* Started `CHANGELOG`