diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9d14a1ca..4a75ffb7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -38,20 +38,25 @@ jobs: - uses: dtolnay/rust-toolchain@1.66.1 - run: cargo build --all-features - test_all_features: - name: test all features combinations - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4.1.7 - - uses: dtolnay/rust-toolchain@stable - - run: cargo install cargo-all-features - # We check and then test because some test dependencies could help - # a bugged build work, while a regular build would fail. - - run: cargo check-all-features --release - # Note that this also tests each crate separately, which also helps - # catching some issues. - - run: cargo test-all-features --release + # TODO: this is filling up the disk space in CI. See if there is a way to + # workaround it. + + # build_all_features: + # name: build all features combinations + # runs-on: ubuntu-latest + + # steps: + # - uses: actions/checkout@v4.1.7 + # - uses: dtolnay/rust-toolchain@stable + # - run: cargo install cargo-all-features + # # We check and then test because some test dependencies could help + # # a bugged build work, while a regular build would fail. + # # Note that this also builds each crate separately, which also helps + # # catching some issues. + # - run: cargo check-all-features + # # Build all tests. We don't run them to save time, since it's unlikely + # # that tests would fail due to feature combinations. + # - run: cargo test-all-features --no-run build_no_std: name: build with no_std diff --git a/book/src/tutorial/importing.md b/book/src/tutorial/importing.md index 7fd3c563..56d01746 100644 --- a/book/src/tutorial/importing.md +++ b/book/src/tutorial/importing.md @@ -6,7 +6,7 @@ Add to your `Cargo.toml` file: ``` [dependencies] -frost-ristretto255 = "1.0.0" +frost-ristretto255 = "2.0.0-rc.0" ``` ## Handling errors @@ -38,7 +38,7 @@ needs to be transmitted. The importing would look like: ``` [dependencies] -frost-ristretto255 = { version = "0.7.0", features = ["serde"] } +frost-ristretto255 = { version = "2.0.0-rc.0", features = ["serde"] } ``` Note that serde usage is optional. Applications can use different encodings, and diff --git a/frost-core/CHANGELOG.md b/frost-core/CHANGELOG.md index 354325c3..abd9af08 100644 --- a/frost-core/CHANGELOG.md +++ b/frost-core/CHANGELOG.md @@ -4,6 +4,8 @@ Entries are listed in reverse chronological order. ## Unreleased +## 2.0.0-rc.0 + * Changed the `deserialize()` function of Elements and structs containing Elements to return an error if the element is the identity. This is a requirement in the FROST specification that wasn't being followed. We are not @@ -32,10 +34,6 @@ Entries are listed in reverse chronological order. * Removed `batch::Item::into()` which created a batch Item from a triple of VerifyingKey, Signature and message. Use the new `batch::Item::new()` instead (which can return an error). -* Removed the `MulAssign> for Scalar` implementation since it - will result in a coherence error in future Rust versions (see #625). In the - unlikely case you're using this, you can replace e.g. `scalar *= identifier` - with `scalar = identifier * scalar`. * Add no-std support to all crates except frost-ed448. To use, do not enable the `std` feature that is enabled by default (i.e. use `default-features = false`); Note that it always links to an external `alloc` crate (i.e. there is @@ -44,9 +42,6 @@ Entries are listed in reverse chronological order. breaking change if you are disabling default features but rely on `Error` implementing `std::error::Error`. In that case, simply enable the `std` feature. - -## 1.0.1 - * Fixed `no-default-features`, previously it wouldn't compile. * Fixed some feature handling that would include unneeded dependencies in some cases. diff --git a/frost-core/Cargo.toml b/frost-core/Cargo.toml index 0f45e388..be353141 100644 --- a/frost-core/Cargo.toml +++ b/frost-core/Cargo.toml @@ -4,7 +4,7 @@ edition = "2021" # When releasing to crates.io: # - Update CHANGELOG.md # - Create git tag. -version = "1.0.0" +version = "2.0.0-rc.0" authors = [ "Deirdre Connolly ", "Chelsea Komlo ", diff --git a/frost-ed25519/Cargo.toml b/frost-ed25519/Cargo.toml index c90007bb..5c1833bb 100644 --- a/frost-ed25519/Cargo.toml +++ b/frost-ed25519/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" # - Update html_root_url # - Update CHANGELOG.md # - Create git tag. -version = "1.0.0" +version = "2.0.0-rc.0" authors = [ "Deirdre Connolly ", "Chelsea Komlo ", @@ -25,15 +25,15 @@ rustdoc-args = ["--cfg", "docsrs"] [dependencies] curve25519-dalek = { version = "=4.1.3", features = ["rand_core"] } document-features = "0.2.7" -frost-core = { path = "../frost-core", version = "1.0.0", default-features = false } -frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", default-features = false } +frost-core = { path = "../frost-core", version = "2.0.0-rc.0", default-features = false } +frost-rerandomized = { path = "../frost-rerandomized", version = "2.0.0-rc.0", default-features = false } rand_core = "0.6" sha2 = { version = "0.10.2", default-features = false } [dev-dependencies] criterion = "0.5" -frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] } -frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] } +frost-core = { path = "../frost-core", version = "2.0.0-rc.0", features = ["test-impl"] } +frost-rerandomized = { path = "../frost-rerandomized", version = "2.0.0-rc.0", features = ["test-impl"] } ed25519-dalek = "2.0.0" insta = { version = "1.31.0", features = ["yaml"] } hex = { version = "0.4.3", default-features = false, features = ["alloc"] } diff --git a/frost-ed448/Cargo.toml b/frost-ed448/Cargo.toml index 1ee169b3..ead6ef37 100644 --- a/frost-ed448/Cargo.toml +++ b/frost-ed448/Cargo.toml @@ -4,7 +4,7 @@ edition = "2021" # When releasing to crates.io: # - Update CHANGELOG.md # - Create git tag. -version = "1.0.0" +version = "2.0.0-rc.0" authors = [ "Deirdre Connolly ", "Chelsea Komlo ", @@ -24,15 +24,15 @@ rustdoc-args = ["--cfg", "docsrs"] [dependencies] document-features = "0.2.7" ed448-goldilocks = { version = "0.9.0" } -frost-core = { path = "../frost-core", version = "1.0.0", default-features = false } -frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", default-features = false } +frost-core = { path = "../frost-core", version = "2.0.0-rc.0", default-features = false } +frost-rerandomized = { path = "../frost-rerandomized", version = "2.0.0-rc.0", default-features = false } rand_core = "0.6" sha3 = { version = "0.10.6", default-features = false } [dev-dependencies] criterion = "0.5" -frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] } -frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] } +frost-core = { path = "../frost-core", version = "2.0.0-rc.0", features = ["test-impl"] } +frost-rerandomized = { path = "../frost-rerandomized", version = "2.0.0-rc.0", features = ["test-impl"] } lazy_static = "1.4" insta = { version = "1.31.0", features = ["yaml"] } hex = { version = "0.4.3", default-features = false, features = ["alloc"] } diff --git a/frost-p256/Cargo.toml b/frost-p256/Cargo.toml index 4124d5cd..b55969e9 100644 --- a/frost-p256/Cargo.toml +++ b/frost-p256/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" # - Update html_root_url # - Update CHANGELOG.md # - Create git tag. -version = "1.0.0" +version = "2.0.0-rc.0" authors = [ "Deirdre Connolly ", "Chelsea Komlo ", @@ -25,15 +25,15 @@ rustdoc-args = ["--cfg", "docsrs"] [dependencies] document-features = "0.2.7" p256 = { version = "0.13.0", features = ["hash2curve"], default-features = false } -frost-core = { path = "../frost-core", version = "1.0.0", default-features = false } -frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", default-features = false } +frost-core = { path = "../frost-core", version = "2.0.0-rc.0", default-features = false } +frost-rerandomized = { path = "../frost-rerandomized", version = "2.0.0-rc.0", default-features = false } rand_core = "0.6" sha2 = { version = "0.10.2", default-features = false } [dev-dependencies] criterion = "0.5" -frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] } -frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] } +frost-core = { path = "../frost-core", version = "2.0.0-rc.0", features = ["test-impl"] } +frost-rerandomized = { path = "../frost-rerandomized", version = "2.0.0-rc.0", features = ["test-impl"] } insta = { version = "1.31.0", features = ["yaml"] } hex = { version = "0.4.3", default-features = false, features = ["alloc"] } lazy_static = "1.4" diff --git a/frost-rerandomized/Cargo.toml b/frost-rerandomized/Cargo.toml index 0d8a83e2..b4394f56 100644 --- a/frost-rerandomized/Cargo.toml +++ b/frost-rerandomized/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" # - Update html_root_url # - Update CHANGELOG.md # - Create git tag. -version = "1.0.0" +version = "2.0.0-rc.0" authors = [ "Deirdre Connolly ", "Chelsea Komlo ", @@ -25,7 +25,7 @@ rustdoc-args = ["--cfg", "docsrs"] [dependencies] derive-getters = "0.4.0" document-features = "0.2.7" -frost-core = { path = "../frost-core", version = "1.0.0", features = [ +frost-core = { path = "../frost-core", version = "2.0.0-rc.0", features = [ "internals" ], default-features = false } hex = { version = "0.4.3", default-features = false, features = ["alloc"] } diff --git a/frost-ristretto255/Cargo.toml b/frost-ristretto255/Cargo.toml index 95f28af9..677ecc92 100644 --- a/frost-ristretto255/Cargo.toml +++ b/frost-ristretto255/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" # - Update html_root_url # - Update CHANGELOG.md # - Create git tag. -version = "1.0.0" +version = "2.0.0-rc.0" authors = ["Deirdre Connolly ", "Chelsea Komlo ", "Conrado Gouvea "] readme = "README.md" license = "MIT OR Apache-2.0" @@ -21,15 +21,15 @@ rustdoc-args = ["--cfg", "docsrs"] [dependencies] curve25519-dalek = { version = "=4.1.3", features = ["rand_core"] } document-features = "0.2.7" -frost-core = { path = "../frost-core", version = "1.0.0", default-features = false } -frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", default-features = false } +frost-core = { path = "../frost-core", version = "2.0.0-rc.0", default-features = false } +frost-rerandomized = { path = "../frost-rerandomized", version = "2.0.0-rc.0", default-features = false } rand_core = "0.6" sha2 = { version = "0.10.2", default-features = false } [dev-dependencies] criterion = { version = "0.5", features = ["html_reports"] } -frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] } -frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] } +frost-core = { path = "../frost-core", version = "2.0.0-rc.0", features = ["test-impl"] } +frost-rerandomized = { path = "../frost-rerandomized", version = "2.0.0-rc.0", features = ["test-impl"] } insta = { version = "1.31.0", features = ["yaml"] } hex = { version = "0.4.3", default-features = false, features = ["alloc"] } lazy_static = "1.4" diff --git a/frost-secp256k1/Cargo.toml b/frost-secp256k1/Cargo.toml index a7bf2ebf..cf3afc6c 100644 --- a/frost-secp256k1/Cargo.toml +++ b/frost-secp256k1/Cargo.toml @@ -4,7 +4,7 @@ edition = "2021" # When releasing to crates.io: # - Update CHANGELOG.md # - Create git tag. -version = "1.0.0" +version = "2.0.0-rc.0" authors = [ "Deirdre Connolly ", "Chelsea Komlo ", @@ -23,16 +23,16 @@ rustdoc-args = ["--cfg", "docsrs"] [dependencies] document-features = "0.2.7" -frost-core = { path = "../frost-core", version = "1.0.0", default-features = false } -frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", default-features = false } +frost-core = { path = "../frost-core", version = "2.0.0-rc.0", default-features = false } +frost-rerandomized = { path = "../frost-rerandomized", version = "2.0.0-rc.0", default-features = false } k256 = { version = "0.13.0", features = ["arithmetic", "expose-field", "hash2curve"], default-features = false } rand_core = "0.6" sha2 = { version = "0.10.2", default-features = false } [dev-dependencies] criterion = "0.5" -frost-core = { path = "../frost-core", version = "1.0.0", features = ["test-impl"] } -frost-rerandomized = { path = "../frost-rerandomized", version = "1.0.0", features = ["test-impl"] } +frost-core = { path = "../frost-core", version = "2.0.0-rc.0", features = ["test-impl"] } +frost-rerandomized = { path = "../frost-rerandomized", version = "2.0.0-rc.0", features = ["test-impl"] } insta = { version = "1.31.0", features = ["yaml"] } hex = { version = "0.4.3", default-features = false, features = ["alloc"] } lazy_static = "1.4"