bifunctors-5.5.15: CHANGELOG.markdown
5.5.15 [2023.02.27]
-------------------
* Support `th-abstraction-0.5.*`.
5.5.14 [2022.12.07]
-------------------
* Define `Functor`, `Foldable`, and `Traversable` instances for `Sum` and
`Product`.
5.5.13 [2022.09.12]
-------------------
* Make the `Biapplicative` instances for tuples lazy, to match their `Bifunctor`
instances.
5.5.12 [2022.05.07]
-------------------
* Backport an upstream GHC change which removes the default implementation of
`bitraverse`. Per the discussion in
https://github.com/haskell/core-libraries-committee/issues/47, this default
implementation was completely broken, as attempting to use it would always
result in an infinite loop.
5.5.11 [2021.04.30]
-------------------
* Allow building with `template-haskell-2.18` (GHC 9.2).
5.5.10 [2021.01.21]
-------------------
* Fix a bug in which `deriveBifoldable` could generate code that triggers
`-Wunused-matches` warnings.
5.5.9 [2020.12.30]
------------------
* Explicitly mark modules as Safe or Trustworthy.
5.5.8 [2020.10.01]
------------------
* Fix a bug in which `deriveBifunctor` would fail on sufficiently complex uses
of rank-n types in constructor fields.
* Fix a bug in which `deriveBiunctor` and related functions would needlessly
reject data types whose two last type parameters appear as oversaturated
arguments to a type family.
5.5.7 [2020.01.29]
------------------
* Add `Data.Bifunctor.Biap`.
5.5.6 [2019.11.26]
------------------
* Add `Category`, `Arrow`, `ArrowChoice`, `ArrowLoop`, `ArrowZero`, and
`ArrowPlus` instances for `Data.Bifunctor.Product`.
5.5.5 [2019.08.27]
------------------
* Add `Eq{1,2}`, `Ord{1,2}`, `Read{1,2}`, and `Show{1,2}` instances for data
types in the `Data.Bifunctor.*` module namespace where possible. The
operative phrase is "where possible" since many of these instances require
the use of `Eq2`/`Ord2`/`Read2`/`Show2`, which are not avaiable when
built against `transformers-0.4.*`.
5.5.4 [2019.04.26]
------------------
* Support `th-abstraction-0.3` or later.
* Don't incur a `semigroup` dependency on recent GHCs.
5.5.3 [2018.07.04]
------------------
* Make `biliftA2` a class method of `Biapplicative`.
* Add the `traverseBia`, `sequenceBia`, and `traverseBiaWith` functions for
traversing a `Traversable` container in a `Biapplicative`.
* Avoid incurring some dependencies when using recent GHCs.
5.5.2 [2018.02.06]
------------------
* Don't enable `Safe` on GHC 7.2.
5.5.1 [2018.02.04]
------------------
* Test suite fixes for GHC 8.4.
5.5 [2017.12.07]
----------------
* `Data.Bifunctor.TH` now derives `bimap`/`bitraverse`
implementations for empty data types that are strict in the argument.
* `Data.Bifunctor.TH` no longer derives `bifoldr`/`bifoldMap` implementations
that error on empty data types. Instead, they simply return the folded state
(for `bifoldr`) or `mempty` (for `bifoldMap`).
* When using `Data.Bifunctor.TH` to derive `Bifunctor` or `Bitraversable`
instances for data types where the last two type variables are at phantom
roles, generated `bimap`/`bitraverse` implementations now use `coerce` for
efficiency.
* Add `Options` to `Data.Bifunctor.TH`, along with variants of existing
functions that take `Options` as an argument. For now, the only configurable
option is whether derived instances for empty data types should use the
`EmptyCase` extension (this is disabled by default).
5.4.2
-----
* Make `deriveBitraversable` use `liftA2` in derived implementations of `bitraverse` when possible, now that `liftA2` is a class method of `Applicative` (as of GHC 8.2)
* Backport slightly more efficient implementations of `bimapDefault` and `bifoldMapDefault`
5.4.1
-----
* Add explicit `Safe`, `Trustworthy`, and `Unsafe` annotations. In particular, annotate the `Data.Bifoldable` module as `Trustworthy` (previously, it was inferred to be `Unsafe`).
5.4
---
* Only export `Data.Bifoldable` and `Data.Bitraversable` when building on GHC < 8.1, otherwise they come from `base`
* Allow TH derivation of `Bifunctor` and `Bifoldable` instances for datatypes containing unboxed tuple types
5.3
---
* Added `bifoldr1`, `bifoldl1`, `bimsum`, `biasum`, `binull`, `bilength`, `bielem`, `bimaximum`, `biminimum`, `bisum`, `biproduct`, `biand`, `bior`, `bimaximumBy`, `biminimumBy`, `binotElem`, and `bifind` to `Data.Bifoldable`
* Added `Bifunctor`, `Bifoldable`, and `Bitraversable` instances for `GHC.Generics.K1`
* TH code no longer generates superfluous `mempty` or `pure` subexpressions in derived `Bifoldable` or `Bitraversable` instances, respectively
5.2.1
----
* Added `Bifoldable` and `Bitraversable` instances for `Constant` from `transformers`
* `Data.Bifunctor.TH` now compiles warning-free on GHC 8.0
5.2
-----
* Added several `Arrow`-like instances for `Tannen` so we can use it as the Cayley construction if needed.
* Added `Data.Bifunctor.Sum`
* Added `BifunctorFunctor`, `BifunctorMonad` and `BifunctorComonad`.
* Backported `Bifunctor Constant` instance from `transformers`
5.1
---
* Added `Data.Bifunctor.Fix`
* Added `Data.Bifunctor.TH`, which permits `TemplateHaskell`-based deriving of `Bifunctor`, `Bifoldable` and `Bitraversable` instances.
* Simplified `Bitraversable`.
5
-
* Inverted the dependency on `semigroupoids`. We can support a much wider array of `base` versions than it can.
* Added flags
4.2.1
-----
* Support `Arg` from `semigroups` 0.16.2
* Fixed a typo.
4.2
---
* Bumped dependency on `tagged`, which is required to build cleanly on GHC 7.9+
* Only export `Data.Bifunctor` when building on GHC < 7.9, otherwise it comes from `base`.
4.1.1.1
-------
* Added documentation for 'Bifoldable' and 'Bitraversable'
4.1.1
-----
* Added `Data.Bifunctor.Join`
* Fixed improper lower bounds on `base`
4.1.0.1
-------
* Updated to BSD 2-clause license
4.1
---
* Added product bifunctors
4.0
---
* Compatibility with `semigroupoids` 4.0
3.2
---
* Added missing product instances for `Biapplicative` and `Biapply`.
3.1
-----
* Added `Data.Biapplicative`.
* Added the `Clown` and `Joker` bifunctors from Conor McBride's "Clowns to the left of me, Jokers to the right."
* Added instances for `Const`, higher tuples
* Added `Tagged` instances.
3.0.4
-----
* Added `Data.Bifunctor.Flip` and `Data.Bifunctor.Wrapped`.
3.0.3
---
* Removed upper bounds from my other package dependencies