## Changes in 0.9.3 [2024.12.06]
 - Backport new instances from GHC 9.12/`base-4.21`:
   * `MonadFix` instance for `(,) a`
   * `Eq1`, `Ord1`, `Read1`, and `Show1` instances for basic `GHC.Generics`
     representation types
   * `Show` instance for `UAddr`
 - Drop support for pre-8.0 versions of GHC.

## Changes in 0.9.2 [2024.04.30]
 - Backport new instances from GHC 9.10/`base-4.20`:
   * `Fractional`, `RealFrac`, `Floating`, and `RealFloat` instances for `Compose`

## Changes in 0.9.1 [2023.10.11]
 - Backport new instances from GHC 9.8/`base-4.19`:
   * `Eq` and `Ord` instances for `SChar`, `SNat`, and `SSymbol`
   * `Enum`, `Bounded`, `Num`, `Real`, and `Integral` instances for `Compose`

## Changes in 0.9.0 [2023.03.05]
 - Adapt to recent changes to `Down` instances:
   * The `Bounded` instance for `Down` was changed in `base-4.15.0.0` to swap
     the values of `minBound` and `maxBound` for the underlying type. This
     change has now been propagated to `base-orphans`.
   * The `Enum` instance for `Down` was removed in `base-4.15.0.0`, but a
     different version of the instance was added back in `base-4.18.0.0`, where
     `succ` and `pred` are swapped. We have changed the backported version of
     this instance in `base-orphans` to match the behavior of the instance
     added in `base-4.18.0.0`.
   * The `Integral` instance for `Down` was removed from `base` entirely in
     `base-4.15.0.0`. We have finally removed it from `base-orphans` in this
     release, as it actively makes it more difficult to define the
     aforementioned `Enum` instance.

## Changes in 0.8.8.1 [2023.03.05]
 - Fix GHC 9.4 build error that was accidentally introduced in
   `base-orphans-0.8.8`.

## Changes in 0.8.8 [2023.03.05]
 - Backport new instances from GHC 9.6.1/`base-4.18.0.0`:
   * `Functor` instances for the `(,,,,) a b c d`, `(,,,,,) a b c d e`, and
     `(,,,,,) a b c d e f` tuple types.
   * `Eq` and `Ord` instances for `Generically1`

## Changes in 0.8.7 [2022.08.11]
 - Backport new instances from GHC 9.2.2/`base-4.16.1.0`:
   * `Ix` instances for various integral types in `Foreign.C.Types`,
     `Foreign.Ptr`, and `System.Posix.Types`. For a complete list of such types,
     see https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7385.
 - Backport a bugfix for the `Ord1 Down` instance from GHC 9.4/`base-4.17` such
   that it now uses reverse sort order.

## Changes in 0.8.6 [2021.10.29]
 - Backport `Eq`, `Ord`, `Bounded`, `Enum`, and `Ix` instances for `Solo`,
   introduced in GHC 9.2/`base-4.16`
 - Remove the backported `Eq1` and `Ord1` instances for `Fixed` that were
   introduced in `base-orphans-0.8.5`. While these briefly appeared in a
   release candidate version of GHC 9.2.1, they were ultimately removed from
   the final 9.2.1 release. This release of `base-orphans` synchronizes with
   that change.

## Changes in 0.8.5 [2021.08.29]
 - Backport new instances from GHC 9.2/`base-4.16`
   * `Eq1`, `Read1`, and `Show1` instances for `Complex`
   * `Eq1` and `Ord1` instances for `Fixed`
   * `Eq{1,2}`, `Ord{1,2}`, `Show{1,2}`, and `Read{1,2}` instances for `(,,)`
      and `(,,,)`
   * `Semigroup` and `Monoid` instances for `Data.Functor.Product` and
     `Data.Functor.Compose`

## Changes in 0.8.4 [2020.12.09]
 - Backport the `Ord` instances for `TyCon` and `TypeRep` to be available on
   GHC 7.0.

## Changes in 0.8.3 [2020.09.30]
 - Backport new instances from GHC 9.0/`base-4.15`
   * `MonadFix` and `MonadZip` instances for `Complex`
   * `Ix` instances for tuples of size 6 through 15

## Changes in 0.8.2 [2020.01.27]
 - Backport new instances from GHC 8.10/`base-4.14`
   * `Bits`, `Bounded`, `Enum`, `FiniteBits`, `Floating`, `Fractional`,
     `Integral`, `Ix`, `Real`, `RealFrac`, `RealFloat` and `Storable` instances
     for `Data.Ord.Down`
   * `Functor`, `Applicative`, `Monad`, `Alternative`, and `MonadPlus` instances
     for `Kleisli`
   * `Functor`, `Applicative`, and `Monad` instances for
     `(,,) a b` and `(,,,) a b c`
   * `Data` instances for `WrappedArrow` and `WrappedMonad`
   * `Data` and `IsList` instances for `ZipList`
   * `TestEquality` instance for `Compose`
 - Backport the `Typeable (() :: Constraint)` instance to be available on
   GHC 7.8.

## Changes in 0.8.1 [2019.03.25]
 - Ensure that the test suite passes non-negative numbers to `Bits` methods
   that require them, such as `bit`, `setBit`, `clearBit`, `complementBit`,
   and `testBit`.

## Changes in 0.8 [2018.07.02]
 - Backported new instance from GHC 8.6/`base-4.12`
   * Data types in `GHC.Generics`:
     - `Applicative` instance for `K1`
     - `Semigroup` instances for `U1`, `Par1`, `Rec1`, `K1`, `M1`, `(:*:)`,     `(:.:)`, and `V1`
     - `Monoid`    instances for `U1`, `Par1`, `Rec1`, `K1`, `M1`, `(:*:)`, and `(:.:)`
   * `Foldable` and `Traversable` instances for `Data.Monoid.Alt`
   * `MonadFix`, `MonadZip`, `Data`, `Foldable`, `Traversable`, `Eq1`, `Ord1`,
     `Read1`, and `Show1` instances for `Data.Ord.Down`

## Changes in 0.7 [2018.03.08]
 - Backported new instances from GHC 8.4/`base-4.11`
   * `Alternative` instance for `ZipList`
   * `Data` instance for `IntPtr` and `WordPtr`
   * `Num`, `Functor`, `Applicative`, `Monad`, `Semigroup`, and `Monoid`
     instances for `Data.Ord.Down`
   * `MonadFail`, `Semigroup`, and `Monoid` instances for strict `ST`

## Changes in 0.6 [2017.04.10]
 - Backported new instances from GHC 8.2/`base-4.10`
   (see https://github.com/haskell-compat/base-orphans/issues/39):
   * `Data` instance for `Const`
   * `Eq1`, `Ord1`, `Read1`, and `Show1` instances for `NonEmpty`
   * `Semigroup` instances for `IO`, `Event`, and `Lifetime`
 - Backported `Typeable` instances for `(:+:)`, `(:*:)`, `(:.:)`, `M1`, `Rec1`,
   `ArrowMonad`, `Kleisli`, `WrappedArrow`, `WrappedMonad`, and `Any` on GHC
   7.6 and earlier
 - Backported `Data` instances for `(:+:)`, `(:*:)`, `(:.:)`, `M1`, and `Rec1`
   on GHC 7.6 and earlier

## Changes in 0.5.4
 - Backported `Bits`, `FiniteBits`, `Floating`, `Fractional`, `Integral`,
   `IsString`, `Num`, `Real`, `RealFloat`, and `RealFrac` instances for
   `Identity` and `Const` (introduced in `base-4.9`)

## Changes in 0.5.3
 - Backported `Alternative`, `MonadPlus` and `MonadZip` instances for `U1` and
   `Proxy`, and made the `Functor`, `Foldable`, `Traversable`, `Alternative`,
   and `Monad` instances for `U1` lazier to correspond with `base-4.9`

## Changes in 0.5.2
 - Backported `Enum`, `Bounded`, `Ix`, `Functor`, `Applicative`, `Monad`,
   `MonadFix`, `MonadPlus`, `MonadZip`, `Foldable`, `Traversable`, and
   `Data` instances for datatypes in the `GHC.Generics` module (introduced in
   `base-4.9`)

## Changes in 0.5.1
 - The `Storable` instances for `Complex` and `Ratio` are now exactly as lazy
   as their counterparts in `base` (see issue
   [#36](https://github.com/haskell-compat/base-orphans/issues/36))

## Changes in 0.5.0
 - GHC 8.0 compatibility
 - Backported instances introduced in GHC 8.0/`base-4.9`
   (see https://github.com/haskell-compat/base-orphans/issues/32)

## Changes in 0.4.5
 - Import `Control.Monad.Instances` (which exports `Functor` and `Monad`
   instances for `(->) r`, and `Functor` instances for `(,) a` and `Either a`)
   on GHCs before 7.6. This ensures that these instances will always be in
   scope, and you won't have to import a module which is deprecated on recent
   GHC releases.
 - Fix build on GHC HEAD (again)

## Changes in 0.4.4
 - Fix build on GHC HEAD

## Changes in 0.4.3
 - Fix build on OSes where `HTYPE_DEV_T = Int32` (e.g., OS X)

## Changes in 0.4.2
 - `Functor` instances for `Handler`
 - `Functor`. `Applicative`, `Alternative`, and `MonadPlus` instances for
   `ArrowMonad`
 - Expose `Read` and `Show` instances for `Down` on GHCs before 7.8
 - `Bits`, `Bounded`, and `Integral` instances for `CDev`

## Changes in 0.4.1
 - Fixed imports on GHC < 7.8 on Windows

## Changes in 0.4.0
 - Removed all `Generic` and `Generic1` instances. These have been moved to the
   `generic-deriving` library.

## Changes in 0.3.3
 - `Typeable` instances for `(~)`, `Any`, `Constraint`, `CSigset`, `Handler`,
   `Opaque`, `SPEC`, and every promotable data constructor in `base`

## Changes in 0.3.2
 - `Storable (Complex a)` instance no longer requires a `RealFloat a`
   constraint if using `base-4.4` or later

## Changes in 0.3.1
 - `Functor`, `Applicative`, and `Monad` instances for `First` and `Last`

## Changes in 0.3.0
 - `Show` instance for `Fingerprint`
 - `Data.Orphans` is now `Trustworthy`
 - Backported the `Generic` and `Generic1` instances available in `base-4.7.0.0`
   to GHC 7.2, 7.4, and 7.6, namely
   * `Const`, `WrappedMonad`, and `ZipList` from `Control.Applicative`
   * `WrappedArrow` from `Control.Category`
   * `All`, `Any`, `Dual`, `Endo`, `First`, `Last`, `Product`, and `Sum` from
     `Data.Monoid`
   * `U1`, `Par1`, `Rec1`, `K1`, `M1`, `(:+:)`, `(:*:)`, `(:.:)`, `Arity`,
     `Associativity`, and `Fixity` from `GHC.Generics`

## Changes in 0.2.0
 - Drop GHC 6.12 (and `base-4.2.0.0`) compatibility
 - Fix Windows, GHCJS build
 - `Read` instance for `Fixed`
 - `Applicative` instances for strict and lazy `ST`
 - `Typeable` instance for `SampleVar`
 - `Applicative` and `Alternative` instances for `ReadP` and `ReadPrec`
 - `Typeable` instance for `KProxy`
 - `Typeable` instances for more data types in `GHC.`-prefixed modules
 - `Generic` instances for `Arity`, `Associativity`, and `Fixity` from
   the `GHC.Generics` module
 - Corrected the `Generic` instance for `(:*:)` to work around GHC bug #9830
