Skip to content

Commit

Permalink
chore: Release 2.0.0-rc.3 (#128)
Browse files Browse the repository at this point in the history
* chore: Release 2.0.0-rc.3

* cargo update -p curve25519-dalek

* Added note about backends

* Fixed docs broken link

---------

Co-authored-by: Michael Rosenberg <michael@mrosenberg.pub>
  • Loading branch information
pinkforest and rozbb committed Jun 24, 2023
1 parent f683cf4 commit 8613b5a
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 29 deletions.
12 changes: 10 additions & 2 deletions CHANGELOG.md
Expand Up @@ -4,10 +4,14 @@ Entries are listed in reverse chronological order.

# 2.x Series

* Note: All `x255919-dalek` 2.x releases are in sync with the underlying `curve25519-dalek` 4.x releases.

## 2.0.0-rc.3

* Change: `StaticSecret` serialization and `to_bytes()` no longer returns clamped integers. Clamping is still always done during scalar-point multiplication.
* `StaticSecret` serialization and `to_bytes()` no longer returns clamped integers. Clamping is still always done during scalar-point multiplication.
* Update underlying `curve25519_dalek` library to `4.0.0-rc.3`. Notable changes:
* [curve25519-dalek backend] now by default auto selects `simd` backend over `serial` where supported.


## 2.0.0-rc.2

Expand All @@ -16,7 +20,9 @@ Entries are listed in reverse chronological order.
* Add `.as_bytes()` and `AsRef<[u8]>` for `Shared/StaticSecret`
* Add `getrandom` feature to provide `random_from_rng` constructors
* Make `StaticSecrets` optional via feature `static_secrets`
* Update underlying `curve25519_dalek` library to `4.0.0-rc.2`
* Update underlying `curve25519_dalek` library to `4.0.0-rc.2`. Notable changes:
* [curve25519-dalek backend] additive features have been removed in favor of cfg based selection.
* [curve25519-dalek backend] now by default auto selects the appropriate word size over the previous default `32`.

## 2.0.0-pre.1

Expand Down Expand Up @@ -88,3 +94,5 @@ Entries are listed in reverse chronological order.

* Adds support for static and ephemeral keys.

[curve25519-dalek backend]: https://github.com/dalek-cryptography/curve25519-dalek/#backends

62 changes: 42 additions & 20 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 2 additions & 6 deletions Cargo.toml
Expand Up @@ -6,7 +6,7 @@ edition = "2021"
# - update html_root_url
# - update CHANGELOG
# - if any changes were made to README.md, mirror them in src/lib.rs docs
version = "2.0.0-rc.2"
version = "2.0.0-rc.3"
authors = [
"Isis Lovecruft <isis@patternsinthevoid.net>",
"DebugSteven <debugsteven@gmail.com>",
Expand Down Expand Up @@ -38,7 +38,7 @@ rustdoc-args = [
features = ["getrandom", "reusable_secrets", "serde", "static_secrets"]

[dependencies]
curve25519-dalek = { version = "4.0.0-rc.2", default-features = false }
curve25519-dalek = { version = "=4.0.0-rc.3", default-features = false }
rand_core = { version = "0.6", default-features = false }
serde = { version = "1", default-features = false, optional = true, features = ["derive"] }
zeroize = { version = "1", default-features = false, optional = true, features = ["zeroize_derive"] }
Expand All @@ -61,7 +61,3 @@ alloc = ["curve25519-dalek/alloc", "serde?/alloc", "zeroize?/alloc"]
precomputed-tables = ["curve25519-dalek/precomputed-tables"]
reusable_secrets = []
static_secrets = []

[patch.crates-io.curve25519-dalek]
git = "https://github.com/dalek-cryptography/curve25519-dalek.git"
rev = "f460ae149b0000695205cc78f560d74a2d3918eb"
9 changes: 8 additions & 1 deletion README.md
Expand Up @@ -100,7 +100,7 @@ To install, add the following to your project's `Cargo.toml`:

```toml
[dependencies]
x25519-dalek = "2.0.0-rc.2"
x25519-dalek = "2.0.0-rc.3"
```

# MSRV
Expand All @@ -111,6 +111,12 @@ Current MSRV is 1.60.

Documentation is available [here](https://docs.rs/x25519-dalek).

# Performance and backend selection

Performance is a secondary goal behind correctness, safety, and clarity, but we aim to be competitive with other implementations. To this end, we allow users to choose their _backend_, i.e., the underlying implementation of elliptic curve and scalar arithmetic. Different backends have different use cases. For example, if you demand formally verified code, you want to use the `fiat` backend (as it was generated from [Fiat Crypto][fiat]).

Further instructions and details regarding backends can be found in the [curve25519-dalek docs](https://github.com/dalek-cryptography/curve25519-dalek#backends).

# Note

This code matches the [RFC7748][rfc7748] test vectors.
Expand All @@ -129,4 +135,5 @@ copyright © Amy Wibowo ([@sailorhg](https://twitter.com/sailorhg))
the NaCl family of encryption libraries (libsodium, TweetNaCl) which uses
`x25519-dalek` for key agreement

[fiat]: https://github.com/mit-plv/fiat-crypto
[crypto_box]: https://github.com/RustCrypto/nacl-compat/tree/master/crypto_box

0 comments on commit 8613b5a

Please sign in to comment.