units-2.4: CHANGES.md
Release notes for `units`
=========================
Version 2.4
-----------
* New interface with the `linear` package in `Data.Metrology.Linear`.
* New `Show` and `Read` instances for dimensionless quantities.
* New `NFData` instances for quantities, thanks to @rimmington.
* GHC 8 compatibility.
Version 2.3
-----------
* `Data.Metrology.TH.evalType` now works in GHC 7.10 on dimensions like `Volume` instead
of just base dimensions.
* Break out the units parser into its own package: `units-parser`.
* Add `Data.Metrology.Unsafe.UnsafeQu`, which has `Functor` and other
instances.
* Fix the fixity of `%`. It was way too high! Now it's 5.
* Add the ability to convert in and out of point quantities. See `quOfPoint`
and friends in `Data.Metrology.Vector`.
Version 2.2.1
-------------
* Compatibility with GHC 7.10.
* Added `AdditiveGroup` and `VectorSpace` instances for `Qu`.
Version 2.2
-----------
* Some types of arithmetic operations are different to aid in type inference.
For example, `*|` does not normalize its dimension list.
* The types of the `derive...` TH functions now allow for deriving units
based on composite dimensions/units.
* New TH function to help declare constants, called `declareConstant`.
Version 2.1
-----------
* Includes a decently comprehensive test suite.
* Add support for unit parsing within expressions:
g = 9.8 % [si| m/s^2 |]
See `Data.Metrology.Parser`.
* Now, `Data.Metrology` exports operators that work with the default
LCSU. Use `Data.Metrology.Poly` to get the old, more flexible operators.
* Moved `showIn` from `Data.Metrology.Show` to `Data.Metrology.Poly`. This
allows users to import `showIn` without a `Show` instance for quantities.
* Numeric operations are available based on vector spaces, as implemented in
the `vector-space` library. See `Data.Metrology.Vector`.
* Some documentation cleanup.
* New function `evalType` that evaluates a type, using Template Haskell. This
allows for easier instance declarations for quantities.
* New class `Quantity` that allows for easy conversions with non-`units` types.
* A few bugfixes.
* The `Eq` and `Ord` instances now work over any quantity, not just dimensionless ones.
* New functions in `Data.Metrology.TH` that define `Dimension` and `Unit` instances
for you.
Version 2.0
-----------
This is a major update. `units` now supports the notion of a local unit set
and of separable dimensions and units. See the description in the
[draft paper](http://www.cis.upenn.edu/~eir/papers/2014/units/units.pdf) for
more info.
This update will very likely break any code that used `units-1.x`.
The update was written in partnership with Takayuki Muranushi.
Version 1.1
-----------
* Added dependency on the singletons library
* Brought up to date with changes for GHC 7.8
* Generalized numerical representation
* Improved Haddock headers
Version 1.0.1
-------------
* Fixed dependency on base to force compilation with GHC >= 7.7
Version 1.0
-----------
* First release