From 2acdca3151e85cf777bd98135962d573de59bffa Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 12 Jun 2020 09:21:37 -0700 Subject: [PATCH] Release 0.3.0 --- Cargo.toml | 3 +-- README.md | 2 +- RELEASES.md | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 8714274d..4bd30d99 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,10 +8,9 @@ categories = [ "algorithms", "data-structures", "science" ] license = "MIT/Apache-2.0" name = "num-bigint" repository = "https://github.com/rust-num/num-bigint" -version = "0.3.0-pre" +version = "0.3.0" readme = "README.md" build = "build.rs" -publish = false exclude = ["/bors.toml", "/ci/*", "/.github/*"] edition = "2018" diff --git a/README.md b/README.md index c45c1283..4f2f831f 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ table offers a brief comparison to a few alternatives. | :--------------- | :------------- | :-------- | :------------- | | **`num-bigint`** | MIT/Apache-2.0 | 1.31 | pure rust | | [`ramp`] | Apache-2.0 | nightly | rust and inline assembly | -| [`rug`] | LGPL-3.0+ | 1.31 | bundles [GMP] via [`gmp-mpfr-sys`] | +| [`rug`] | LGPL-3.0+ | 1.37 | bundles [GMP] via [`gmp-mpfr-sys`] | | [`rust-gmp`] | MIT | stable? | links to [GMP] | | [`apint`] | MIT/Apache-2.0 | 1.26 | pure rust (unfinished) | diff --git a/RELEASES.md b/RELEASES.md index 358534ec..7f9c3d48 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,3 +1,42 @@ +# Release 0.3.0 (2020-06-12) + +### Enhancements + +- [The internal `BigDigit` may now be either `u32` or `u64`][62], although that + implementation detail is not exposed in the API. For now, this is chosen to + match the target pointer size, but may change in the future. +- [No-`std` is now supported with the `alloc` crate on Rust 1.36][101]. +- [`Pow` is now implemented for bigint values][137], not just references. +- [`TryFrom` is now implemented on Rust 1.34 and later][123], converting signed + integers to unsigned, and narrowing big integers to primitives. +- [`Shl` and `Shr` are now implemented for a variety of shift types][142]. +- A new `trailing_zeros()` returns the number of consecutive zeros from the + least significant bit. +- The new `BigInt::magnitude` and `into_parts` methods give access to its + `BigUint` part as the magnitude. + +### Breaking Changes + +- `num-bigint` now requires Rust 1.31 or greater. The "i128" feature was + removed, as support for 128-bit integers is now assumed. +- [Updated public dependences][110]: + - `rand` support has been updated to 0.7, requiring Rust 1.32. + - `quickcheck` support has been updated to 0.9, requiring Rust 1.34. +- [Removed `impl Neg for BigUint`][145], which only ever panicked. +- [Bit counts are now `u64` instead of `usize`][143]. + +**Contributors**: @cuviper, @dignifiedquire, @hansihe, +@kpcyrd, @milesand, @tech6hutch + +[62]: https://github.com/rust-num/num-bigint/pull/62 +[101]: https://github.com/rust-num/num-bigint/pull/101 +[110]: https://github.com/rust-num/num-bigint/pull/110 +[123]: https://github.com/rust-num/num-bigint/pull/123 +[137]: https://github.com/rust-num/num-bigint/pull/137 +[142]: https://github.com/rust-num/num-bigint/pull/142 +[143]: https://github.com/rust-num/num-bigint/pull/143 +[145]: https://github.com/rust-num/num-bigint/pull/145 + # Release 0.2.6 (2020-01-27) - [Fix the promotion of negative `isize` in `BigInt` assign-ops][133].