# 2.1.9 [2024.12.04]
* Drop support for pre-8.0 versions of GHC.

# 2.1.8 [2024.05.04]
* Fix a memory leak in `reifyTypeable`.

# 2.1.7 [2023.02.28]
* When building with `base-4.18` (GHC 9.6) or later, implement `reifyNat` and
  `reifySymbol` using the API provided by `GHC.TypeLits` instead of resorting
  to `unsafeCoerce`.

# 2.1.6 [2020.05.16]
* Fix a bug in which `give` (and possibly `reify`, `reifyNat`, and
  `reifySymbol`) could be unsoundly inlined by GHC 8.10 or older to produce
  incorrect runtime results.

# 2.1.5 [2019.08.27]
* Fix a bug in which `reifyNat` would yield incorrect results for very large
  `Integer`s on GHC 8.2 or later.

# 2.1.4 [2018.07.02]
* Allow building with GHC 8.6.

# 2.1.3 [2018.01.18]
* Add `Semigroup` instance for `ReflectedMonoid`.

# 2.1.2
* Support cross-compilation and unregistered GHC builds.

# 2.1.1.1
* Fixed typos in the documentation.

# 2.1.1
* Fixed support for GHC 7.0

# 2.1
* Added `ReifiedMonoid` and `ReifiedApplicative`.

# 2
* Added `reifyNat` and `reifySymbol` for GHC 7.8+, capable of reflecting into the `KnownNat` and `KnownSymbol` classes respectively for use with other APIs.
* Back-ported `reifyTypeable` from `lens`. This enables us to perform a (less efficient) form of `Typeable` reflection.

# 1.5.2
* Renamed the flag for disabling the use of `template-haskell`, to `-f-template-haskell` for consistency with my other packages.

# 1.5.1.2
* Builds warning-free on GHC 7.10.
* Added a dynamic FromJSON example.

# 1.5.1.1
* Updated the link to the paper.
* More examples.

# 1.5.1
* We no longer export Show (Q a) for GHC >= 7.4. This was causing random hangs when users tried to somehow run declaration splices from the REPL.
* We no longer depend on tagged for GHC >= 7.8, since `Proxy` is now in `base`.

# 1.5
* Added a flag to disable `template-haskell` support for GHC stage1 platforms.
* Added instances of `Reifies` for `GHC.TypeLits`

# 1.4
* Changed the behavior of the $(1) template haskell splices for Exp to use a Proxy rather than value-level numbers. This is more consistent with the role of this libraary and the other could always be generated via sa splice anyways.

# 1.3.1
* Added a workaround for changes in the behavior of the internal 'Magic' datatype under the current GHC PolyKinds implementation.

# 1.3
* Merged some functionality from Data.Analytics.Reflection. Notably the ability to use type nats to reflect numbers, and to splice numbers directly. This reduces orphan instances somewhat.

# 1.2
* Added `Given` and give.

# 1.1.7
* Fixed an issue caused by changes in GHC 7.7's typechecker by using explicit `ScopedTypeVariables`.

# 1.1.6:
* Relaxed an unnecessary strictness annotation in the fast implementation

# 1.1.5
* Both implementations now work on Hugs; the fast implementation ascends
  from the ranks of completely unportable black magic to being merely
  /mostly/ unportable black magic.

# From 0.5 to 1.1:

* Much faster implementation available that is about 50 /times/ faster than
  0.9 and which runs purely on black magic. This version is now used by
  default. To turn it off install with the `slow` flag. If you encounter a
  problem with the implementation, please contact the author.
* Removed `ReifiedNum`, `reflectNum`, and `reifyIntegral`; `reify` and
  `reflect` are about 3 orders of magnitude faster than the special case
  combinators were.

# 0.5
* Generalized the type signatures in reflect to allow you to pass any type
  with kind `* -> *` wrapped around the desired type as the phantom type
  argument rather than just a `Proxy`.

# 0.4
* Converted from `Data.Tagged` to using `Data.Proxy` for reflection. This
  reduces the need for helper functions and scoped type variables in user
  code.
