1# Release 0.4.6 (2024-05-07) 2 3- [Upgrade to 2021 edition, **MSRV 1.60**][121] 4- [Add `const ZERO`/`ONE`/`I` and implement `ConstZero` and `ConstOne`][125] 5- [Add `c32` and `c64` functions to help construct `Complex` values][126] 6 7**Contributors**: @cuviper 8 9[121]: https://github.com/rust-num/num-complex/pull/121 10[125]: https://github.com/rust-num/num-complex/pull/125 11[126]: https://github.com/rust-num/num-complex/pull/126 12 13# Release 0.4.5 (2024-02-06) 14 15- [Relaxed `T` bounds on `serde::Deserialize` for `Complex<T>`.][119] 16 17**Contributors**: @cuviper, @WalterSmuts 18 19[119]: https://github.com/rust-num/num-complex/pull/119 20 21# Release 0.4.4 (2023-08-13) 22 23- [Fixes NaN value for `powc` of zero][116] 24 25**Contributors**: @cuviper, @domna 26 27[116]: https://github.com/rust-num/num-complex/pull/116 28 29# Release 0.4.3 (2023-01-19) 30 31- [`Complex` now optionally supports `bytecheck` 0.6 and `rkyv` 0.7][110]. 32 33**Contributors**: @cuviper, @zyansheep 34 35[110]: https://github.com/rust-num/num-complex/pull/110 36 37# Release 0.4.2 (2022-06-17) 38 39- [The new `ComplexFloat` trait][95] provides a generic abstraction between 40 floating-point `T` and `Complex<T>`. 41- [`Complex::exp` now handles edge cases with NaN and infinite parts][104]. 42 43**Contributors**: @cuviper, @JorisDeRidder, @obsgolem, @YakoYakoYokuYoku 44 45[95]: https://github.com/rust-num/num-complex/pull/95 46[104]: https://github.com/rust-num/num-complex/pull/104 47 48# Release 0.4.1 (2022-04-29) 49 50- [`Complex::from_str_radix` now returns an error for radix > 18][90], because 51 'i' and 'j' as digits are ambiguous with _i_ or _j_ imaginary parts. 52- [`Complex<T>` now implements `bytemuck` traits when `T` does][100]. 53- [`Complex::cis` creates a complex with the given phase][101], _e_<sup>_i_ θ</sup>. 54 55**Contributors**: @bluss, @bradleyharden, @cuviper, @rayhem 56 57[90]: https://github.com/rust-num/num-complex/pull/90 58[100]: https://github.com/rust-num/num-complex/pull/100 59[101]: https://github.com/rust-num/num-complex/pull/101 60 61# Release 0.4.0 (2021-03-05) 62 63- `rand` support has been updated to 0.8, requiring Rust 1.36. 64 65**Contributors**: @cuviper 66 67# Release 0.3.1 (2020-10-29) 68 69- Clarify the license specification as "MIT OR Apache-2.0". 70 71**Contributors**: @cuviper 72 73# Release 0.3.0 (2020-06-13) 74 75### Enhancements 76 77- [The new "libm" feature passes through to `num-traits`][73], enabling `Float` 78 features on no-`std` builds. 79 80### Breaking Changes 81 82- `num-complex` now requires Rust 1.31 or greater. 83 - The "i128" opt-in feature was removed, now always available. 84- [Updated public dependences][65]: 85 - `rand` support has been updated to 0.7, requiring Rust 1.32. 86- [Methods for `T: Float` now take values instead of references][82], most 87 notably affecting the constructor `from_polar`. 88 89**Contributors**: @cuviper, @SOF3, @vks 90 91[65]: https://github.com/rust-num/num-complex/pull/65 92[73]: https://github.com/rust-num/num-complex/pull/73 93[82]: https://github.com/rust-num/num-complex/pull/82 94 95# Release 0.2.4 (2020-01-09) 96 97- [`Complex::new` is now a `const fn` for Rust 1.31 and later][63]. 98- [Updated the `autocfg` build dependency to 1.0][68]. 99 100**Contributors**: @burrbull, @cuviper, @dingelish 101 102[63]: https://github.com/rust-num/num-complex/pull/63 103[68]: https://github.com/rust-num/num-complex/pull/68 104 105# Release 0.2.3 (2019-06-11) 106 107- [`Complex::sqrt()` is now more accurate for negative reals][60]. 108- [`Complex::cbrt()` computes the principal cube root][61]. 109 110**Contributors**: @cuviper 111 112[60]: https://github.com/rust-num/num-complex/pull/60 113[61]: https://github.com/rust-num/num-complex/pull/61 114 115# Release 0.2.2 (2019-06-10) 116 117- [`Complex::l1_norm()` computes the Manhattan distance from the origin][43]. 118- [`Complex::fdiv()` and `finv()` use floating-point for inversion][41], which 119 may avoid overflows for some inputs, at the cost of trigonometric rounding. 120- [`Complex` now implements `num_traits::MulAdd` and `MulAddAssign`][44]. 121- [`Complex` now implements `Zero::set_zero` and `One::set_one`][57]. 122- [`Complex` now implements `num_traits::Pow` and adds `powi` and `powu`][56]. 123 124**Contributors**: @adamnemecek, @cuviper, @ignatenkobrain, @Schultzer 125 126[41]: https://github.com/rust-num/num-complex/pull/41 127[43]: https://github.com/rust-num/num-complex/pull/43 128[44]: https://github.com/rust-num/num-complex/pull/44 129[56]: https://github.com/rust-num/num-complex/pull/56 130[57]: https://github.com/rust-num/num-complex/pull/57 131 132# Release 0.2.1 (2018-10-08) 133 134- [`Complex` now implements `ToPrimitive`, `FromPrimitive`, `AsPrimitive`, and `NumCast`][33]. 135 136**Contributors**: @cuviper, @termoshtt 137 138[33]: https://github.com/rust-num/num-complex/pull/33 139 140# Release 0.2.0 (2018-05-24) 141 142### Enhancements 143 144- [`Complex` now implements `num_traits::Inv` and `One::is_one`][17]. 145- [`Complex` now implements `Sum` and `Product`][11]. 146- [`Complex` now supports `i128` and `u128` components][27] with Rust 1.26+. 147- [`Complex` now optionally supports `rand` 0.5][28], implementing the 148 `Standard` distribution and [a generic `ComplexDistribution`][30]. 149- [`Rem` with a scalar divisor now avoids `norm_sqr` overflow][25]. 150 151### Breaking Changes 152 153- [`num-complex` now requires rustc 1.15 or greater][16]. 154- [There is now a `std` feature][22], enabled by default, along with the 155 implication that building *without* this feature makes this a `#![no_std]` 156 crate. A few methods now require `FloatCore`, and the remaining methods 157 based on `Float` are only supported with `std`. 158- [The `serde` dependency has been updated to 1.0][7], and `rustc-serialize` 159 is no longer supported by `num-complex`. 160 161**Contributors**: @clarcharr, @cuviper, @shingtaklam1324, @termoshtt 162 163[7]: https://github.com/rust-num/num-complex/pull/7 164[11]: https://github.com/rust-num/num-complex/pull/11 165[16]: https://github.com/rust-num/num-complex/pull/16 166[17]: https://github.com/rust-num/num-complex/pull/17 167[22]: https://github.com/rust-num/num-complex/pull/22 168[25]: https://github.com/rust-num/num-complex/pull/25 169[27]: https://github.com/rust-num/num-complex/pull/27 170[28]: https://github.com/rust-num/num-complex/pull/28 171[30]: https://github.com/rust-num/num-complex/pull/30 172 173 174# Release 0.1.43 (2018-03-08) 175 176- [Fix a usage typo in README.md][20]. 177 178**Contributors**: @shingtaklam1324 179 180[20]: https://github.com/rust-num/num-complex/pull/20 181 182 183# Release 0.1.42 (2018-02-07) 184 185- [num-complex now has its own source repository][num-356] at [rust-num/num-complex][home]. 186 187**Contributors**: @cuviper 188 189[home]: https://github.com/rust-num/num-complex 190[num-356]: https://github.com/rust-num/num/pull/356 191 192 193# Prior releases 194 195No prior release notes were kept. Thanks all the same to the many 196contributors that have made this crate what it is! 197 198