10.7.1 [2021.10.30]
2------------------
3* Backport new instances from GHC 9.2/`base-4.16`
4  * `Eq1`, `Read1`, and `Show1` instances for `Complex`
5  * `Eq{1,2}`, `Ord{1,2}`, `Show{1,2}`, and `Read{1,2}` instances for `(,,)`
6     and `(,,,)`
7
80.7 [2021.07.25]
9----------------
10* Backport changes from `transformers-0.6.*`:
11  * Remove the long-deprecated `selectToCont` function from
12    `Control.Monad.Trans.Select`.
13  * Backport various `Generic`, `Generic1`, and `Data` instances.
14  * Backport `handleE`, `tryE`, and `finallyE` to `Control.Monad.Trans.Except`.
15  * Backport explicit implementations of `(<$)`, `liftA2`, `(*>)`, and `(<*)`
16    for `Control.Applicative.Backwards`.
17  * Backport a lazier implementation of `(<*>)` for `Control.Applicative.Lift`.
18
190.6.6 [2020.09.30]
20------------------
21* Add `FunctorClassesDefault`, an adapter newtype suitable for `DerivingVia`,
22  to `Data.Functor.Classes.Generic`.
23* Fix a bug in which `readsPrec1Default`/`liftReadsPrecDefault` would parse
24  empty data types too strictly.
25
260.6.5 [2019.05.11]
27------------------
28* Ensure that the backported `MonadFail` instance for `ExceptT` is available
29  when built against `transformers-0.4.*`.
30
310.6.4 [2019.04.01]
32------------------
33* Use more conservative CPP to guard the backported `MonadFix` instance for
34  `ListT`.
35
360.6.3 [2019.04.01]
37------------------
38* Backport changes from `transformers-0.5.6.*`:
39  * Backport the `MonadFix` instance for `ListT` in
40    `Control.Monad.Trans.Instances`.
41  * Generalize the type of `except` in `Control.Monad.Trans.Except`.
42* Backport `MonadFail` instances for `AccumT`, `Reverse`, and `SelectT` on
43  pre-8.0 versions of GHC by depending on the `fail` package if necessary.
44* Backport `MonadFail` instances for monad transformer types in
45  `Control.Monad.Trans.Instances`.
46
470.6.2
48-----
49* `transformers-compat` now uses automatic flags instead of manual ones.
50  This has a number of benefits:
51
52  * There is no need for making several simultaneous releases to support each
53    flag combination.
54  * As a result, the `cabal-install` constraint solver should have a much
55    easier time figuring out install-plans involving `transformers-compat`.
56
57  Due to old `cabal-install` bugs, `cabal-install-1.16` and older may have a
58  harder time installing this package, so it is recommended that you use
59  `cabal-install-1.18` or later. (Or, if you must use `cabal-install-1.16` or
60  older, installing `transformers-compat` with the appropriate flags should
61  help.)
62
630.6.1.6
64-------
65* 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.
66  This release is configured with none of `-ftwo`, `-fthree`, `-ffour`, or `-ffive` (which works with `transformers-0.5.3` and above).
67
680.6.1.5
69-------
70* 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.
71  This release is configured with `-ffive` (which works with `transformers-0.5` up until, but not including, `transformers-0.5.3`).
72
730.6.1.4
74-------
75* 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.
76  This release is configured with `-ffour` (which works with the `transformers-0.4` series).
77
780.6.1.3
79-------
80* 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.
81  This release is configured with `-fthree` (which works with the `transformers-0.3` series).
82
830.6.1.2
84-------
85* 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.
86  This release is configured with `-ftwo` (which works with the `transformers-0.2` series).
87
880.6.1
89-----
90* Fix an oversight in which the `Control.Monad.Trans.Accum` and
91  `Control.Monad.Trans.Select` modules were not backported when built with the
92  `-ffour` flag.
93
940.6.0.6
95-------
96* 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.
97  This release is configured with none of `-ftwo`, `-fthree`, `-ffour`, or `-ffive` (which works with `transformers-0.5.3` and above).
98
990.6.0.5
100-------
101* 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.
102  This release is configured with `-ffive` (which works with `transformers-0.5` up until, but not including, `transformers-0.5.3`).
103
1040.6.0.4
105-------
106* 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.
107  This release is configured with `-ffour` (which works with the `transformers-0.4` series).
108
1090.6.0.3
110-------
111* 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.
112  This release is configured with `-fthree` (which works with the `transformers-0.3` series).
113
1140.6.0.2
115-------
116* 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.
117  This release is configured with `-ftwo` (which works with the `transformers-0.2` series).
118
1190.6
120---
121* 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).
122* 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`.
123* 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.
124* Backport changes from `transformers-0.5.5`:
125  * Backport the `Semigroup` instance for `Constant`
126  * Add `mapSelect` and `mapSelectT`
127  * Define `selectToContT` (and deprecate `selectToCont` in favor of that)
128  * Define some explicit `(*>)` definitions to avoid space leaks
129* Backport changes from `transformers-0.5.4` (i.e., add `Bifoldable` and `Bitraversable` instances for `Data.Functor.Constant`)
130* Backport changes from `transformers-0.5.3`:
131  * Backport the `Control.Monad.Trans.Accum` and `Control.Monad.Trans.Select` modules
132  * Backport the `eitherToErrors` and `elimLift` functions to `Control.Applicative.Lift`
133  * Backport `Bits`, `FiniteBits`, `IsString`, `Num`, `Real`, `Integral`, `Fractional`, `Floating`, `RealFrac`, and `RealFloat` instances for `Data.Functor.Identity`
134  * Backport `Monad`, `MonadFail`, and `MonadPlus` instances for `Data.Functor.Reverse`
135  * Backport `Eq1`, `Ord1`, `Read1`, and `Show1` instances for `Data.Proxy`
136* Backport changes from `transformers-0.5.2` (i.e., add more `INLINE` annotations)
137* Backport changes from `transformers-0.5.1` (i.e., add `Bounded`, `Enum`, `Ix`, and `Storable` instances for `Identity`)
138
1390.5.1.4
140-------
141* 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.
142  This release is configured with neither `-ftwo` nor `-fthree` (which works with `transformers-0.4` and above).
143
1440.5.1.3
145-------
146* 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.
147  This release is configured with `-fthree` (which works with the `transformers-0.3` series).
148
1490.5.1.2
150-------
151* 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.
152  This release is configured with `-ftwo` (which works with the `transformers-0.2` series).
153
1540.5.1
155-----
156* Fix a bug in which `PolyKinds` was enabled on GHC 7.4, resulting in interface file bugs on that version of GHC.
157
1580.5.0.4
159-------
160* 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.
161  This release is configured with neither `-ftwo` nor `-fthree` (which works with `transformers-0.4` and above).
162
1630.5.0.3
164-------
165* 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.
166  This release is configured with `-fthree` (which works with the `transformers-0.3` series).
167
1680.5.0.2
169-------
170* 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.
171  This release is configured with `-ftwo` (which works with the `transformers-0.2` series).
172
1730.5
174---
175* Update `transformers-compat` to incorporate changes from the `transformers-0.5` series. These changes include:
176  * The `Data.Functor.Classes` module was completely redesigned.
177  * Modules now have `Safe` or `Trustworthy` annotations.
178  * Data types and type synonyms are poly-kinded when possible.
179* Add `Control.Monad.Trans.Instances`, a module of orphan instances that mimic instances available in later versions of `transformers`.
180
1810.4.0.4
182-------
183* 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.
184  This release is configured with neither `-ftwo` nor `-fthree` (which works with `transformers-0.4` and above).
185
1860.4.0.3
187-------
188* 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.
189  This release is configured with `-fthree` (which works with the `transformers-0.3` series).
190
1910.4.0.2
192-------
193* 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.
194  This release is configured with `-ftwo` (which works with the `transformers-0.2` series).
195
1960.4
197---
198* Added support for the missing `ExceptT` instances from `mtl`.
199
200  This was not done lightly. While this means that by default incurring a dependency on `transformers-compat` drags in `mtl` when you are
201  using an old `transformers`, it means that users do not have to orphan these instances and permits wider adoption of `ExceptT`.
202
203  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.
204
2050.3.3.4
206-------
207* Versions 0.3.3.2–0.3.3.4 were a successful attempt to fix build problems caused by the cabal backtracker.
208* Each of these is a build with a different set of flags configured.
209  This release is configured with neither `-ftwo` nor `-fthree` (which works with `transformers-0.4` and above).
210
2110.3.3.3
212-------
213* Versions 0.3.3.2–0.3.3.4 were a successful attempt to fix build problems caused by the cabal backtracker.
214* Each of these is a build with a different set of flags configured.
215  This release is configured with `-fthree` (which works with the `transformers-0.3` series).
216
2170.3.3.2
218-------
219* Versions 0.3.3.2–0.3.3.4 were a successful attempt to fix build problems caused by the cabal backtracker.
220* Each of these is a build with a different set of flags configured.
221  This release is configured with `-ftwo` (which works with the `transformers-0.2` series).
222
2230.3.2
224-----
225* This release was a failed (or at least, only partially successful) attempt to fix build problems caused by the cabal backtracker.
226
2270.3.1
228-----
229* `transformers 0.4.1` compatibility
230
2310.3
232---
233* Added the instances for `Data.Functor.Classes` from `transformers 0.4`
234* Switched `Control.Applicative.Backwards` and `Data.Functor.Reverse` to the split constructor/accessor style from `transformers 0.4`.
235
2360.2
237---
238* Added the new types and classes from `transformers 0.4`
239
2400.1.1.1
241-------
242* Wrote a better synopsis
243
2440.1.1
245-----
246* Updated to trick `cabal` into building an empty `libHStransformers-compat-0.1.a` on GHC 7.6.
247
2480.1
249---
250* Repository initialized by pulling the `transformers-0.2` compatibility layer out of `lens`.
251