1# Changelog
2
3This project follows semantic versioning.
4
5The MSRV (Minimum Supported Rust Version) is 1.22.0, and typenum is tested against this Rust
6version. Much of typenum should work on as low a version as 1.20.0, but that is not guaranteed.
7
8### Unreleased
9
10### 1.11.2 (2019-08-26)
11- [fixed] Cross compilation from Linux to Windows.
12
13### 1.11.1 (2019-08-25)
14- [fixed] Builds on earlier Rust builds again and added Rust 1.22.0 to Travis to prevent future breakage.
15
16### 1.11.0 (2019-08-25)
17- [added] Integer `log2` to the `op!` macro.
18- [added] Integer binary logarithm operator `Logarithm2` with alias `Log2`.
19- [changed] Removed `feature(i128_type)` when running with the `i128` feature. Kept the feature flag.
20  for typenum to maintain compatibility with old Rust versions.
21- [added] Integer `sqrt` to the `op!` macro.
22- [added] Integer square root operator `SquareRoot` with alias `Sqrt`.
23- [fixed] Bug with attempting to create U1024 type alias twice.
24
25### 1.10.0 (2018-03-11)
26- [added] The `PowerOfTwo` marker trait.
27- [added] Associated constants for `Bit`, `Unsigned`, and `Integer`.
28
29### 1.9.0 (2017-05-14)
30- [added] The `Abs` type operater and corresponding `AbsVal` alias.
31- [added] The feature `i128` that enables creating 128-bit integers from typenums.
32- [added] The `assert_type!` and `assert_type_eq!` macros.
33- [added] Operators to the `op!` macro, including those performed by `cmp!`.
34- [fixed] Bug in `op!` macro involving functions and convoluted expressions.
35- [deprecated] The `cmp!` macro.
36
37### 1.8.0 (2017-04-12)
38- [added] The `op!` macro for conveniently performing type-level operations.
39- [added] The `cmp!` macro for conveniently performing type-level comparisons.
40- [added] Some comparison type-operators that are used by the `cmp!` macro.
41
42### 1.7.0 (2017-03-24)
43- [added] Type operators `Min` and `Max` with accompanying aliases `Minimum` and `Maximum`
44
45### 1.6.0 (2017-02-24)
46- [fixed] Bug in `Array` division.
47- [fixed] Bug where `Rem` would sometimes exit early with the wrong answer.
48- [added] `PartialDiv` operator that performs division as a partial function -- it's defined only
49  when there is no remainder.
50
51### 1.5.2 (2017-02-04)
52- [fixed] Bug between `Div` implementation and type system.
53
54### 1.5.1 (2016-11-08)
55- [fixed] Expanded implementation of `Pow` for primitives.
56
57### 1.5.0 (2016-11-03)
58- [added] Functions to the `Pow` and `Len` traits. This is *technically* a breaking change, but it
59  would only break someone's code if they have a custom impl for `Pow`. I would be very surprised
60  if that is anyone other than me.
61
62### 1.4.0 (2016-10-29)
63- [added] Type-level arrays of type-level integers. (PR #66)
64- [added] The types in this crate are now instantiable. (Issue #67, PR #68)
65
66### 1.3.1 (2016-03-31)
67- [fixed] Bug with recent nightlies.
68
69### 1.3.0 (2016-02-07)
70- [changed] Removed dependency on libstd. (Issue #53, PR #55)
71- [changed] Reorganized module structure. (PR #57)
72
73### 1.2.0 (2016-01-03)
74- [added] This change log!
75- [added] Convenience type aliases for operators. (Issue #48, PR #50)
76- [added] Types in this crate now derive all possible traits. (Issue #42, PR #51)
77