# Changelog for the [`ghc-typelits-knownnat`](http://hackage.haskell.org/package/ghc-typelits-knownnat) package
## 0.8.2 *October 17th 2025*
* Fix -fdefer-type-errors regression
## 0.8.1 *October 10th 2025*
* Fix [#53](https://github.com/clash-lang/ghc-typelits-knownnat/issues/53) The plugin sometimes doesn't look through type aliases
* Fix [#13](https://github.com/clash-lang/ghc-typelits-knownnat/issues/13) Type equality constraints aren't used by solver
* Fix [#42](https://github.com/clash-lang/ghc-typelits-knownnat/issues/42) Intermediate type variable stops derivation of `KnownNat` constraint
## 0.8.0 *September 8th 2025*
* Support for GHC 9.14.1.
* Drop support for GHC 8.0, 8.2, 8.4, 8.6.
## 0.7.13 *March 4th 2025*
* Support for GHC 9.12.1
## 0.7.12 *May 22nd, 2024*
* Support for GHC 9.10.1
## 0.7.11
* Fix infinite loop between plugin and solver pipeline
## 0.7.10 *November 14th 2023*
* Work around [GHC issue 23109](https://gitlab.haskell.org/ghc/ghc/-/issues/23109)
## 0.7.9 *October 10th 2023*
* Support for GHC 9.8.1
## 0.7.8 *February 20th 2023*
* Support for GHC-9.6.0.20230210
## 0.7.7 *October 10th 2022*
* Add support for GHC 9.4
## 0.7.6 *June 18th 2021*
* Add support for GHC 9.2.0.20210422
## 0.7.5 *February 10th 2021*
* Raise upper limit for TH dep to allow building on ghc-9.0.1
## 0.7.4 *January 1st 2021*
* Add support for GHC 9.0.1-rc1
## 0.7.3 *July 25th 2020*
* Fix https://github.com/clash-lang/clash-compiler/issues/1454
## 0.7.2 *February 6th 2020*
* Add support for GHC 8.10.0-alpha2
## 0.7.1 *October 8th 2019*
* Fix [#29](https://github.com/clash-lang/ghc-typelits-knownnat/issues/29)
* Fix [#30](https://github.com/clash-lang/ghc-typelits-knownnat/issues/30)
## 0.7 *August 26th 2018*
* Solve "known" type-level Booleans, also inside `If` (GHC 8.6+)
## 0.6 *September 14th 2018*
* Move `KnownNat2` instances for `Div` and `Mod` from `ghc-typelits-extra` to `ghc-typelits-knownnat`
## 0.5 *May 9th 2018*
* Fix Inferred constraint is too strong [#19](https://github.com/clash-lang/ghc-typelits-knownnat/issues/19)
## 0.4.2 *April 15th 2018*
* Add support for GHC 8.5.20180306
## 0.4.1 *March 17th, 2018*
* Add support for GHC 8.4.1
## 0.4 *January 4th, 2018*
* Add partial GHC 8.4.1-alpha1 support
* Drop `singletons` dependency [#15](https://github.com/clash-lang/ghc-typelits-knownnat/issues/15)
* `KnownNatN` classes no longer have the `KnownNatFN` associated type family
## 0.3.1 *August 17th 2017*
* Fix testsuite for GHC 8.2.1
## 0.3 *May 15th 2017*
* GHC 8.2.1 support: Underlying representation for `KnownNat` in GHC 8.2 is `Natural`, meaning users of this plugin will need to update their code to use `Natural` for GHC 8.2 as well.
## 0.2.4 *April 10th 2017*
* New features:
* Derive constraints for unary functions via a `KnownNat1` instance; thanks to @nshepperd [#11](https://github.com/clash-lang/ghc-typelits-knownnat/pull/11)
* Use type-substituted [G]iven KnownNats (partial solve for [#13](https://github.com/clash-lang/ghc-typelits-knownnat/issues/13))
## 0.2.3 *January 15th 2017*
* Solve normalised literal constraints, i.e.:
* `KnownNat (((addrSize + 1) - (addrSize - 1))) ~ KnownNat 2`
## 0.2.2 *September 29th 2016*
* New features:
* Derive smaller constraints from larger constraints when they differ by a single variable, i.e. `KnownNat (a + b), KnownNat b` implies `KnownNat a`.
## 0.2.1 *August 19th 2016*
* Fixes bugs:
* Source location of derived wanted constraints is, erroneously, always set to line 1, column 1
## 0.2 *August 17th 2016*
* New features:
* Handle `GHC.TypeLits.-`
* Handle custom, user-defined, type-level operations
* Thanks to Gabor Greif (@ggreif): derive smaller from larger constraints, i.e. `KnownNat (n+1)` implies `KnownNat n`
## 0.1.2
* New features: Solve "complex" KnownNat constraints involving arbitrary type-functions, as long as there is a given KnownNat constraint for this type functions.
## 0.1.1 *August 11th 2016*
* Fixes bug: panic on a non-given KnownNat constraint variable
## 0.1 *August 10th 2016*
* Initial release