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