NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #473 most downloaded on crates.io
Elliptic curve group traits and utilities
Last release 4 months ago
01 Jun 2026
Release timing varies
gaps range from 1 weeks to 2.4 years
Most releases are documented
notes for 8 of 13 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
15 releases · first in 2018
group::CurveAffine, an affine-representation trait that the curve-specific affine traits are now built on top of.
group::CurveAffine, an affine-representation trait that the curve-specific
affine traits are now built on top of.group::Group::mul_by_generator, with a default implementation. Implementors
can override it to take advantage of precomputed tables.group::Group::try_random<R: TryRng + ?Sized>(rng: &mut R) -> Result<Self, R::Error>,
a new trait method that must be implemented by downstreams. It samples a
non-identity group element using a fallible RNG and propagates the RNG's error.ff 0.14, rand_core 0.10.group::Group::random(rng: impl RngCore) -> Self has been changed to
Group::random<R: Rng + ?Sized>(rng: &mut R) -> Self, to enable passing a
trait object as the RNG. It now has a default implementation in terms of
Group::try_random.CurveAffine
trait:
group::Curve::AffineRepr has been renamed to Curve::Affine.group::Curve::Affine or the group::CurveAffine trait
instead; trait implementors must implement group::CurveAffine instead
using the same logic):
group::cofactor::CofactorCurvegroup::cofactor::CofactorCurveAffinegroup::prime::PrimeCurvegroup::prime::PrimeCurveAffinegroup::cofactor::CofactorCurveAffine and group::prime::PrimeCurveAffine
now have blanket implementations for all types C: group::CurveAffine where
C::Curve implements CofactorCurve or PrimeCurve respectively.One column per quarter.
Nothing published for this version
Nothing published for this version
### Changed - Bumped ff to 0.13
ff to 0.13group::{WnafBase, WnafScalar} structs for caching precomputations of both bases and scalars, for improved many-base many-scalar multiplication perform
group::{WnafBase, WnafScalar} structs for caching precomputations of both
bases and scalars, for improved many-base many-scalar multiplication
performance.impl memuse::DynamicUsage for group::{Wnaf WnafBase, WnafScalar}, behind the
new wnaf-memuse feature flag, to enable the heap usage of these types to be
measured at runtime.Wnaf internals for improved performance.### Changed - MSRV is now 1.56.0. - Bumped ff to 0.12
ff to 0.12The affine scalar multiplication bounds on the following traits had typos that prevented multiplying by &Self::Scalar, which has now been fixed:
&Self::Scalar, which has now been fixed:
group::cofactor::{CofactorCurve::Affine, CofactorCurveAffine}group::prime::{PrimeCurve::Affine, PrimeCurveAffine}Copy + Send + Sync + 'static bounds on group::GroupEncoding::Repr.ff to 0.11.group::ff, which re-exports the ff crate to make version-matching easier.
group::ff, which re-exports the ff crate to make version-matching easier.ff to 0.10.group::cofactor::CofactorGroup::is_torsion_free provided implementation
(trait implementors must now implement this method themselves). This avoids
a hard dependency on the ff/bits feature flag.Bumped dependencies to ff 0.9, rand_core 0.6, rand 0.8.
ff 0.9, rand_core 0.6, rand 0.8.group::{wnaf, Wnaf, WnafGroup} are now gated behind the (default-enabled) alloc feature flag. The byteorder dependency is now optional.
no_std support.ff to 0.8.group::{wnaf, Wnaf, WnafGroup} are now gated behind the (default-enabled)
alloc feature flag. The byteorder dependency is now optional.group::tests is now gated behind the tests feature flag. The rand and
rand_xorshift dependencies are now optional.fmt::Display bound from the following traits:
group::Groupgroup::cofactor::CofactorCurveAffinegroup::prime::PrimeCurveAffineNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →