diff --git a/.travis.yml b/.travis.yml index fc5f2dc..4b61db3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,8 +9,8 @@ env: - TEST_COMMAND=test EXTRA_FLAGS='--no-default-features' FEATURES='std u32_backend' # Tests the u64 backend - TEST_COMMAND=test EXTRA_FLAGS='--no-default-features' FEATURES='std u64_backend' - # Tests the avx2 backend - - TEST_COMMAND=test EXTRA_FLAGS='--no-default-features' FEATURES='std avx2_backend' + # Tests the simd backend + - TEST_COMMAND=test EXTRA_FLAGS='--no-default-features' FEATURES='std simd_backend' # Tests serde support and default feature selection - TEST_COMMAND=test EXTRA_FLAGS='' FEATURES='serde' # Tests building without std. We have to select a backend, so we select the one @@ -21,9 +21,9 @@ env: matrix: exclude: - # Test the avx2 backend only on nightly + # Test the simd backend only on nightly - rust: stable - env: TEST_COMMAND=test EXTRA_FLAGS='--no-default-features' FEATURES='std avx2_backend' + env: TEST_COMMAND=test EXTRA_FLAGS='--no-default-features' FEATURES='std simd_backend' # Test no_std+alloc only on nightly - rust: stable env: TEST_COMMAND=test EXTRA_FLAGS='--lib --no-default-features' FEATURES='alloc u32_backend' diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e63ebe..f97d7e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,18 +1,28 @@ # Changelog -Entries are listed in reverse chronological order. +Entries are listed in reverse chronological order per undeprecated +major series. -## 3.0.0 +## 3.x series + +### 3.0.1 + +* Update the optional `packed-simd` dependency to rely on a newer, + maintained version of the `packed-simd-2` crate. + +### 3.0.0 * Update the `digest` dependency to `0.9`. This requires a major version because the `digest` traits are part of the public API, but there are otherwise no changes to the API. -## 2.1.0 +## 2.x series + +### 2.1.0 * Make `Scalar::from_bits` a `const fn`, allowing its use in `const` contexts. -## 2.0.0 +### 2.0.0 * Fix a data modeling error in the `serde` feature pointed out by Trevor Perrin which caused points and scalars to be serialized with length fields rather @@ -31,13 +41,15 @@ Entries are listed in reverse chronological order. The only significant change is the data model change to the `serde` feature; besides the `rand_core` version bump, there are no other user-visible changes. -## 1.2.4 +## 1.x series + +### 1.2.4 * Specify a semver bound for `clear_on_drop` rather than an exact version, addressing an issue where changes to inline assembly in rustc prevented `clear_on_drop` from working without an update. -## 1.2.3 +### 1.2.3 * Fix an issue identified by a Quarkslab audit (and Jack Grigg), where manually constructing unreduced `Scalar` values, as needed for X/Ed25519, and then @@ -51,14 +63,14 @@ besides the `rand_core` version bump, there are no other user-visible changes. * Fix compilation on nightly broken due to changes to the `#[doc(include)]` path root (not quite correctly done in 1.2.2). -## 1.2.2 +### 1.2.2 * Fix a typo in an internal doc-comment. * Add the "crypto" tag to crate metadata. * Fix compilation on nightly broken due to changes to the `#[doc(include)]` path root. -## 1.2.1 +### 1.2.1 * Fix a bug in bucket index calculations in the Pippenger multiscalar algorithm for very large input sizes. @@ -67,7 +79,7 @@ besides the `rand_core` version bump, there are no other user-visible changes. * Ensure that that multiscalar and NAF computations work correctly on extremal `Scalar` values constructed via `from_bits`. -## 1.2.0 +### 1.2.0 * New multiscalar multiplication algorithm with better performance for large problem sizes. The backend algorithm is selected @@ -76,16 +88,16 @@ besides the `rand_core` version bump, there are no other user-visible changes. * Equality of Edwards points is now checked in projective coordinates. * Serde can now be used with `no_std`. -## 1.1.4 +### 1.1.4 * Fix typos in documentation comments. * Remove unnecessary `Default` bound on `Scalar::from_hash`. -## 1.1.3 +### 1.1.3 * Reverts the change in 1.1.0 to allow owned and borrowed RNGs, which caused a breakage due to a subtle interaction with ownership rules. (The `RngCore` change is retained). -## 1.1.2 +### 1.1.2 * Disabled KaTeX on `docs.rs` pending proper [support upstream](https://github.com/rust-lang/docs.rs/issues/302). @@ -93,7 +105,7 @@ besides the `rand_core` version bump, there are no other user-visible changes. * Fixed an issue related to `#[cfg(rustdoc)]` which prevented documenting multiple backends. -## 1.1.0 +### 1.1.0 * Adds support for precomputation for multiscalar multiplication. * Restructures the internal source tree into `serial` and `vector` backends (no change to external API). @@ -102,19 +114,19 @@ besides the `rand_core` version bump, there are no other user-visible changes. * Replaces the `rand` dependency with `rand_core`. * Generalizes trait bounds on `RistrettoPoint::random()` and `Scalar::random()` to allow owned and borrowed RNGs and to allow `RngCore` instead of `Rng`. -## 1.0.3 +### 1.0.3 * Adds `ConstantTimeEq` implementation for compressed points. -## 1.0.2 +### 1.0.2 * Fixes a typo in the naming of variables in Ristretto formulas (no change to functionality). -## 1.0.1 +### 1.0.1 * Depends on the stable `2.0` version of `subtle` instead of `2.0.0-pre.0`. -## 1.0.0 +### 1.0.0 Initial stable release. Yanked due to a dependency mistake (see above). diff --git a/Cargo.toml b/Cargo.toml index c65b819..b58f3f8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ name = "curve25519-dalek" # - update CHANGELOG # - update html_root_url # - update README if required by semver -version = "3.0.0" +version = "3.0.1" authors = ["Isis Lovecruft ", "Henry de Valence "] readme = "README.md" @@ -45,7 +45,9 @@ byteorder = { version = "^1.2.3", default-features = false, features = ["i128"] digest = { version = "0.9", default-features = false } subtle = { version = "^2.2.1", default-features = false } serde = { version = "1.0", default-features = false, optional = true, features = ["derive"] } -packed_simd = { version = "0.3", features = ["into_bits"], optional = true } +# The original packed_simd package was orphaned, see +# https://github.com/rust-lang/packed_simd/issues/303#issuecomment-701361161 +packed_simd = { version = "0.3.4", package = "packed_simd_2", features = ["into_bits"], optional = true } zeroize = { version = "1", default-features = false } [features]