0.7.2 [2022.06.26]
------------------
* Add `Eq`, `Ord`, `Read`, and `Show` instances for `FunctorClassesDefault` in
`Data.Functor.Classes.Generic`.
0.7.1 [2021.10.30]
------------------
* Backport new instances from GHC 9.2/`base-4.16`
* `Eq1`, `Read1`, and `Show1` instances for `Complex`
* `Eq{1,2}`, `Ord{1,2}`, `Show{1,2}`, and `Read{1,2}` instances for `(,,)`
and `(,,,)`
0.7 [2021.07.25]
----------------
* Backport changes from `transformers-0.6.*`:
* Remove the long-deprecated `selectToCont` function from
`Control.Monad.Trans.Select`.
* Backport various `Generic`, `Generic1`, and `Data` instances.
* Backport `handleE`, `tryE`, and `finallyE` to `Control.Monad.Trans.Except`.
* Backport explicit implementations of `(<$)`, `liftA2`, `(*>)`, and `(<*)`
for `Control.Applicative.Backwards`.
* Backport a lazier implementation of `(<*>)` for `Control.Applicative.Lift`.
0.6.6 [2020.09.30]
------------------
* Add `FunctorClassesDefault`, an adapter newtype suitable for `DerivingVia`,
to `Data.Functor.Classes.Generic`.
* Fix a bug in which `readsPrec1Default`/`liftReadsPrecDefault` would parse
empty data types too strictly.
0.6.5 [2019.05.11]
------------------
* Ensure that the backported `MonadFail` instance for `ExceptT` is available
when built against `transformers-0.4.*`.
0.6.4 [2019.04.01]
------------------
* Use more conservative CPP to guard the backported `MonadFix` instance for
`ListT`.
0.6.3 [2019.04.01]
------------------
* Backport changes from `transformers-0.5.6.*`:
* Backport the `MonadFix` instance for `ListT` in
`Control.Monad.Trans.Instances`.
* Generalize the type of `except` in `Control.Monad.Trans.Except`.
* Backport `MonadFail` instances for `AccumT`, `Reverse`, and `SelectT` on
pre-8.0 versions of GHC by depending on the `fail` package if necessary.
* Backport `MonadFail` instances for monad transformer types in
`Control.Monad.Trans.Instances`.
0.6.2
-----
* `transformers-compat` now uses automatic flags instead of manual ones.
This has a number of benefits:
* There is no need for making several simultaneous releases to support each
flag combination.
* As a result, the `cabal-install` constraint solver should have a much
easier time figuring out install-plans involving `transformers-compat`.
Due to old `cabal-install` bugs, `cabal-install-1.16` and older may have a
harder time installing this package, so it is recommended that you use
`cabal-install-1.18` or later. (Or, if you must use `cabal-install-1.16` or
older, installing `transformers-compat` with the appropriate flags should
help.)
0.6.1.6
-------
* Each of versions 0.6.1.2–0.6.1.6 is a 0.6.1 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.6.1 release notes describe the changes in this version.
This release is configured with none of `-ftwo`, `-fthree`, `-ffour`, or `-ffive` (which works with `transformers-0.5.3` and above).
0.6.1.5
-------
* Each of versions 0.6.1.2–0.6.1.6 is a 0.6.1 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.6.1 release notes describe the changes in this version.
This release is configured with `-ffive` (which works with `transformers-0.5` up until, but not including, `transformers-0.5.3`).
0.6.1.4
-------
* Each of versions 0.6.1.2–0.6.1.6 is a 0.6.1 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.6.1 release notes describe the changes in this version.
This release is configured with `-ffour` (which works with the `transformers-0.4` series).
0.6.1.3
-------
* Each of versions 0.6.1.2–0.6.1.6 is a 0.6.1 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.6.1 release notes describe the changes in this version.
This release is configured with `-fthree` (which works with the `transformers-0.3` series).
0.6.1.2
-------
* Each of versions 0.6.1.2–0.6.1.6 is a 0.6.1 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.6.1 release notes describe the changes in this version.
This release is configured with `-ftwo` (which works with the `transformers-0.2` series).
0.6.1
-----
* Fix an oversight in which the `Control.Monad.Trans.Accum` and
`Control.Monad.Trans.Select` modules were not backported when built with the
`-ffour` flag.
0.6.0.6
-------
* Each of versions 0.6.0.2–0.6.0.6 is a 0.6 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.6 release notes describe the changes in this version.
This release is configured with none of `-ftwo`, `-fthree`, `-ffour`, or `-ffive` (which works with `transformers-0.5.3` and above).
0.6.0.5
-------
* Each of versions 0.6.0.2–0.6.0.6 is a 0.6 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.6 release notes describe the changes in this version.
This release is configured with `-ffive` (which works with `transformers-0.5` up until, but not including, `transformers-0.5.3`).
0.6.0.4
-------
* Each of versions 0.6.0.2–0.6.0.6 is a 0.6 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.6 release notes describe the changes in this version.
This release is configured with `-ffour` (which works with the `transformers-0.4` series).
0.6.0.3
-------
* Each of versions 0.6.0.2–0.6.0.6 is a 0.6 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.6 release notes describe the changes in this version.
This release is configured with `-fthree` (which works with the `transformers-0.3` series).
0.6.0.2
-------
* Each of versions 0.6.0.2–0.6.0.6 is a 0.6 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.6 release notes describe the changes in this version.
This release is configured with `-ftwo` (which works with the `transformers-0.2` series).
0.6
---
* Introduce the `Data.Functor.Classes.Generic` module, which provides functions that can generically implement methods in the `Eq1`, `Ord1`, `Read1`, and `Show1` classes (without the usual boilerplate involved).
* Introduce the `generic-deriving` flag. When enabled, `transformers-compat` will depend on the `generic-deriving` library on older versions of GHC to backport `GHC.Generics` support for `Generic` instances and the machinery in `Data.Functor.Classes.Generic`.
* Some instances were present in `Data.Functor.Sum` but not in `Control.Monad.Trans.Instances` (e.g., the `Generic`, `Typeable`, and `Data` instances for `Sum`). This has been fixed.
* Backport changes from `transformers-0.5.5`:
* Backport the `Semigroup` instance for `Constant`
* Add `mapSelect` and `mapSelectT`
* Define `selectToContT` (and deprecate `selectToCont` in favor of that)
* Define some explicit `(*>)` definitions to avoid space leaks
* Backport changes from `transformers-0.5.4` (i.e., add `Bifoldable` and `Bitraversable` instances for `Data.Functor.Constant`)
* Backport changes from `transformers-0.5.3`:
* Backport the `Control.Monad.Trans.Accum` and `Control.Monad.Trans.Select` modules
* Backport the `eitherToErrors` and `elimLift` functions to `Control.Applicative.Lift`
* Backport `Bits`, `FiniteBits`, `IsString`, `Num`, `Real`, `Integral`, `Fractional`, `Floating`, `RealFrac`, and `RealFloat` instances for `Data.Functor.Identity`
* Backport `Monad`, `MonadFail`, and `MonadPlus` instances for `Data.Functor.Reverse`
* Backport `Eq1`, `Ord1`, `Read1`, and `Show1` instances for `Data.Proxy`
* Backport changes from `transformers-0.5.2` (i.e., add more `INLINE` annotations)
* Backport changes from `transformers-0.5.1` (i.e., add `Bounded`, `Enum`, `Ix`, and `Storable` instances for `Identity`)
0.5.1.4
-------
* Each of versions 0.5.1.2–0.5.1.4 is a 0.5.1 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.5.1 release notes describe the changes in this version.
This release is configured with neither `-ftwo` nor `-fthree` (which works with `transformers-0.4` and above).
0.5.1.3
-------
* Each of versions 0.5.1.2–0.5.1.4 is a 0.5.1 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.5.1 release notes describe the changes in this version.
This release is configured with `-fthree` (which works with the `transformers-0.3` series).
0.5.1.2
-------
* Each of versions 0.5.1.2–0.5.1.4 is a 0.5.1 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.5.1 release notes describe the changes in this version.
This release is configured with `-ftwo` (which works with the `transformers-0.2` series).
0.5.1
-----
* Fix a bug in which `PolyKinds` was enabled on GHC 7.4, resulting in interface file bugs on that version of GHC.
0.5.0.4
-------
* Each of versions 0.5.0.2–0.5.0.4 is a 0.5 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.5 release notes describe the changes in this version.
This release is configured with neither `-ftwo` nor `-fthree` (which works with `transformers-0.4` and above).
0.5.0.3
-------
* Each of versions 0.5.0.2–0.5.0.4 is a 0.5 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.5 release notes describe the changes in this version.
This release is configured with `-fthree` (which works with the `transformers-0.3` series).
0.5.0.2
-------
* Each of versions 0.5.0.2–0.5.0.4 is a 0.5 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.5 release notes describe the changes in this version.
This release is configured with `-ftwo` (which works with the `transformers-0.2` series).
0.5
---
* Update `transformers-compat` to incorporate changes from the `transformers-0.5` series. These changes include:
* The `Data.Functor.Classes` module was completely redesigned.
* Modules now have `Safe` or `Trustworthy` annotations.
* Data types and type synonyms are poly-kinded when possible.
* Add `Control.Monad.Trans.Instances`, a module of orphan instances that mimic instances available in later versions of `transformers`.
0.4.0.4
-------
* Each of versions 0.4.0.2–0.4.0.4 is a 0.4 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.4 release notes describe the changes in this version.
This release is configured with neither `-ftwo` nor `-fthree` (which works with `transformers-0.4` and above).
0.4.0.3
-------
* Each of versions 0.4.0.2–0.4.0.4 is a 0.4 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.4 release notes describe the changes in this version.
This release is configured with `-fthree` (which works with the `transformers-0.3` series).
0.4.0.2
-------
* Each of versions 0.4.0.2–0.4.0.4 is a 0.4 build with a different set of flags configured. Building this way allows us to work around bugs in `cabal`'s backtracker. The 0.4 release notes describe the changes in this version.
This release is configured with `-ftwo` (which works with the `transformers-0.2` series).
0.4
---
* Added support for the missing `ExceptT` instances from `mtl`.
This was not done lightly. While this means that by default incurring a dependency on `transformers-compat` drags in `mtl` when you are
using an old `transformers`, it means that users do not have to orphan these instances and permits wider adoption of `ExceptT`.
If you absolutely can't stand `mtl` and really want this package to build as valid `Haskell98`, then you can use `cabal install transformers-compat -f-mtl` to avoid incurring the dependency to get these instances. However, that is effectively an unsupported configuration.
0.3.3.4
-------
* Versions 0.3.3.2–0.3.3.4 were a successful attempt to fix build problems caused by the cabal backtracker.
* Each of these is a build with a different set of flags configured.
This release is configured with neither `-ftwo` nor `-fthree` (which works with `transformers-0.4` and above).
0.3.3.3
-------
* Versions 0.3.3.2–0.3.3.4 were a successful attempt to fix build problems caused by the cabal backtracker.
* Each of these is a build with a different set of flags configured.
This release is configured with `-fthree` (which works with the `transformers-0.3` series).
0.3.3.2
-------
* Versions 0.3.3.2–0.3.3.4 were a successful attempt to fix build problems caused by the cabal backtracker.
* Each of these is a build with a different set of flags configured.
This release is configured with `-ftwo` (which works with the `transformers-0.2` series).
0.3.2
-----
* This release was a failed (or at least, only partially successful) attempt to fix build problems caused by the cabal backtracker.
0.3.1
-----
* `transformers 0.4.1` compatibility
0.3
---
* Added the instances for `Data.Functor.Classes` from `transformers 0.4`
* Switched `Control.Applicative.Backwards` and `Data.Functor.Reverse` to the split constructor/accessor style from `transformers 0.4`.
0.2
---
* Added the new types and classes from `transformers 0.4`
0.1.1.1
-------
* Wrote a better synopsis
0.1.1
-----
* Updated to trick `cabal` into building an empty `libHStransformers-compat-0.1.a` on GHC 7.6.
0.1
---
* Repository initialized by pulling the `transformers-0.2` compatibility layer out of `lens`.