1# Changelog 2 3This project follows semantic versioning. 4 5The MSRV (Minimum Supported Rust Version) is 1.37.0, and typenum is tested 6against this Rust version. 7 8### Unreleased 9 10### 1.14.0 (2021-09-01) 11- [changed] Sealed all marker traits. Documentation already stated that these 12 should not be implemented outside the crate, so this is not considered a 13 breaking change. 14 15### 1.13.0 (2021-03-12) 16- [changed] MSRV from 1.22.0 to 1.37.0. 17- [fixed] `op` macro with 2018 edition import. 18- [changed] Allowed calling `assert_type_eq` and `assert_type` at top level. 19- [added] Marker trait `Zero` for `Z0`, `U0`, and `B0`. 20- [added] Implementation of `Pow` trait for f32 and f64 with negative exponent. 21- [added] Trait `ToInt`. 22 23### 1.12.0 (2020-04-13) 24- [added] Feature `force_unix_path_separator` to support building without Cargo. 25- [added] Greatest common divisor operator `Gcd` with alias `Gcf`. 26- [added] `gcd` to the `op!` macro. 27- [changed] Added `Copy` bound to `Rhs` of `Mul<Rhs>` impl for `<TArr<V, A>`. 28- [changed] Added `Copy` bound to `Rhs` of `Div<Rhs>` impl for `<TArr<V, A>`. 29- [changed] Added `Copy` bound to `Rhs` of `PartialDiv<Rhs>` impl for `<TArr<V, A>`. 30- [changed] Added `Copy` bound to `Rhs` of `Rem<Rhs>` impl for `<TArr<V, A>`. 31- [fixed] Make all functions #[inline]. 32 33### 1.11.2 (2019-08-26) 34- [fixed] Cross compilation from Linux to Windows. 35 36### 1.11.1 (2019-08-25) 37- [fixed] Builds on earlier Rust builds again and added Rust 1.22.0 to Travis to 38 prevent future breakage. 39 40### 1.11.0 (2019-08-25) 41- [added] Integer `log2` to the `op!` macro. 42- [added] Integer binary logarithm operator `Logarithm2` with alias `Log2`. 43- [changed] Removed `feature(i128_type)` when running with the `i128` 44 feature. Kept the feature flag. for typenum to maintain compatibility with 45 old Rust versions. 46- [added] Integer `sqrt` to the `op!` macro. 47- [added] Integer square root operator `SquareRoot` with alias `Sqrt`. 48- [fixed] Bug with attempting to create U1024 type alias twice. 49 50### 1.10.0 (2018-03-11) 51- [added] The `PowerOfTwo` marker trait. 52- [added] Associated constants for `Bit`, `Unsigned`, and `Integer`. 53 54### 1.9.0 (2017-05-14) 55- [added] The `Abs` type operater and corresponding `AbsVal` alias. 56- [added] The feature `i128` that enables creating 128-bit integers from 57 typenums. 58- [added] The `assert_type!` and `assert_type_eq!` macros. 59- [added] Operators to the `op!` macro, including those performed by `cmp!`. 60- [fixed] Bug in `op!` macro involving functions and convoluted expressions. 61- [deprecated] The `cmp!` macro. 62 63### 1.8.0 (2017-04-12) 64- [added] The `op!` macro for conveniently performing type-level operations. 65- [added] The `cmp!` macro for conveniently performing type-level comparisons. 66- [added] Some comparison type-operators that are used by the `cmp!` macro. 67 68### 1.7.0 (2017-03-24) 69- [added] Type operators `Min` and `Max` with accompanying aliases `Minimum` and 70 `Maximum` 71 72### 1.6.0 (2017-02-24) 73- [fixed] Bug in `Array` division. 74- [fixed] Bug where `Rem` would sometimes exit early with the wrong answer. 75- [added] `PartialDiv` operator that performs division as a partial function -- 76 it's defined only when there is no remainder. 77 78### 1.5.2 (2017-02-04) 79- [fixed] Bug between `Div` implementation and type system. 80 81### 1.5.1 (2016-11-08) 82- [fixed] Expanded implementation of `Pow` for primitives. 83 84### 1.5.0 (2016-11-03) 85- [added] Functions to the `Pow` and `Len` traits. This is *technically* a 86 breaking change, but it would only break someone's code if they have a custom 87 impl for `Pow`. I would be very surprised if that is anyone other than me. 88 89### 1.4.0 (2016-10-29) 90- [added] Type-level arrays of type-level integers. (PR #66) 91- [added] The types in this crate are now instantiable. (Issue #67, PR #68) 92 93### 1.3.1 (2016-03-31) 94- [fixed] Bug with recent nightlies. 95 96### 1.3.0 (2016-02-07) 97- [changed] Removed dependency on libstd. (Issue #53, PR #55) 98- [changed] Reorganized module structure. (PR #57) 99 100### 1.2.0 (2016-01-03) 101- [added] This change log! 102- [added] Convenience type aliases for operators. (Issue #48, PR #50) 103- [added] Types in this crate now derive all possible traits. (Issue #42, PR 104 #51) 105