natural-0.5.0.1: changelog.md
0.5.0.1
* Hide `Natural` and `Positive` constructors from export
* Rewrite doctests to use prism-based construction for external module compatibility
0.5.0.0
* Add `NotZero` data type for non-zero integers (positive or negative)
with `HasNotZero`, `AsNotZero` classes, `SumNotZero`, `MaxNotZero`,
`MinNotZero` newtype wrappers, and functions: `positiveNotZero`,
`negativeNotZero`, `notZeroPositive`, `notZeroInteger`, `isPositive`,
`isNegative`, `negateNZ`, `absoluteNZ`, `signumNZ`, `plusNZ`,
`multiplyNZ`, `notZeroOr`
* Add `AsPositive NotZero` instance
* Add `ToJSON` and `FromJSON` instances for `Natural`, `Positive`,
`NotZero`, and all newtype wrappers (`ProductNatural`, `MaxNatural`,
`MinNatural`, `SumPositive`, `MaxPositive`, `MinPositive`,
`SumNotZero`, `MaxNotZero`, `MinNotZero`)
* Add `toJsonNatural`, `parseJsonNatural`, `toJsonPositive`,
`parseJsonPositive`, `toJsonNotZero`, `parseJsonNotZero` functions
* Add `aeson` dependency
* Change `Semigroup Positive` from addition to multiplication
* Remove `Monoid Positive` (no additive identity for positives)
* Add `SumPositive` wrapper for addition of positives
* Remove redundant `notZero` function (identical to `_Positive` on `Natural`)
* Rename `square` to `power`, `square1` to `power1`
* Fix `(!!)` returning `Nothing` for index zero
* Fix `(!!!)` off-by-one indexing
* Fix `minus1` producing `Positive 0` when arguments are equal
* Fix `length` using lazy `foldl` (now strict `foldl'`)
* Add doctests to all functions and instances
* Modernise cabal file to cabal-version 2.4
* Add doctest test-suite and benchmarks
* Update repository to https://gitlab.com/system-f/code/natural
0.4.0.0
* Add `ToJSON` and `FromJSON` instances for `Natural`, `Positive`, and all newtype wrappers (`ProductNatural`, `MaxNatural`, `MinNatural`, `SumPositive`, `MaxPositive`, `MinPositive`).
* Add `toJsonNatural`, `parseJsonNatural`, `toJsonPositive`, `parseJsonPositive` functions.
* Add `aeson` dependency.
* Rename `square` to `power` and `square1` to `power1`.
* Fix `(!!)` which previously returned `Nothing` for all inputs.
* Fix `(!!!)` which previously returned `Nothing` for all inputs.
* Fix `multiply1` which was performing addition instead of multiplication.
* Fix `minus1` off-by-one when arguments are equal.
* Remove invalid `Monoid Positive` instance (`mempty` was `Positive 0`).
* Add Haddock documentation and doctests.
0.3.0.7
* Update version bounds
0.3.0.6
* Support `lens` up to `5.1`
0.3.0.5
* Support GHC 8.10.1.
0.3.0.4
* add `naturalPositive` iso and `instance AsPositive Natural` prism.
0.3.0.3
* added some more functions.
0.3.0.2
* fix bug in `zero` and `one` prisms.
* rename `Natural` to `Positive`.
* rename `Whole` to `Natural`.
0.2.0.2
* change `data Natural` to have a minimum bound of 1.
* add `data Whole` which has a minimum bound of 0.
0.1.0.2
* add `minus` function.
* add `one` and `one'` values.
* add `list` iso.
0.1.0.1
* Add support for GHC 7.10 and GHC 8.4.
0.1.0.0
* This change log starts.
* The initial version of natural.