PackageTrack
Sign in Get early access

jubjub

Implementation of the Jubjub elliptic curve group

0.10.0 4.1M downloads/mo #4978 most downloaded on crates.io zkcrypto/jubjub

What this package is like to depend on

Last release 3 years ago

no release in 18 months

Ships fairly regularly

a new release about every 5 months

Most releases are documented

notes for 10 of 12 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

12 releases · first in 2018

0 releases in the last 12 months

see the full history below

Release timeline

12 releases · Aug 2018 to Feb 2023
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 12
  1. 0.10.0 28 Feb 2023
    Release notes

    Changed

    • Bumped dependencies to bls12_381 0.8, ff 0.13, group 0.13.
    Open source →
  2. 0.9.0 04 May 2022
    Release notes

    Changed

    • Bumped MSRV to 1.56.0
    • Bumped dependencies to bls12_381 0.7, ff 0.12, group 0.12, bitvec 1.0.
    Open source →
  3. 0.8.0 02 Sep 2021
    Release notes

    Added

    • jubjub::Base, as an alias for jubjub::Fq.
    • jubjub::AffinePoint::batch_from_bytes, which enables the inversion inside jubjub::AffinePoint::from_bytes to be batched.

    Changed

    • Bumped dependencies to bls12_381 0.6, ff 0.11, group 0.11.
    Open source →
  4. 0.7.0 03 Jun 2021
    Release notes

    Security

    • A bug in the jubjub::{AffinePoint, ExtendedPoint, SubgroupPoint}::from_bytes APIs (and their group::GroupEncoding implementations) has been fixed. The APIs were documented as rejecting non-canonical points, but were accidentally accepting two specific non-canonical encodings. This could potentially cause a problem in consensus-critical protocols that expect encodings to be round-trip compatible (i.e. AffinePoint::from_bytes(b).unwrap().to_bytes() == b). See ZIP 216 for more details.
      • A new API jubjub::AffinePoint::from_bytes_pre_zip216_compatibility preserves the previous behaviour, for use where consensus compatibility is required.

    Changed

    • Bumped dependencies to bitvec 0.22, bls12_381 0.5, ff 0.10, group 0.10.
    • MSRV is now 1.51.0.
    Open source →
  5. 0.6.0 26 Jan 2021
    Release notes

    Changed

    • Bumped dependencies to bitvec 0.20, bls12_381 0.4, ff 0.9, group 0.9, rand_core 0.6.
    • MSRV is now 1.47.0.
    Open source →
  6. 0.5.1 09 Sep 2020

    Nothing published for this version

  7. 0.5.0 08 Sep 2020
    Release notes

    This upgrade bumps our dependencies bls12_381, group and ff, while making corresponding changes to the APIs. This release now only supports Rust compilers version 1.44.0 or later.

    Open source →
  8. 0.4.0 24 Aug 2020
    Release notes

    This release adds implementations of the ff and group traits. Additional trait implementations (for standard traits) have been added where the ff and group trait bounds require them.

    Added

    • jubjub::SubgroupPoint, which represents an element of Jubjub's prime-order subgroup. It implements the following traits:
      • group::{Group, GroupEncoding}
      • group::prime::PrimeGroup
    • New trait implementations for jubjub::ExtendedPoint:
      • group::{Curve, Group, GroupEncoding, WnafGroup}
      • group::cofactor::{CofactorCurve, CofactorGroup}
    • New trait implementations for jubjub::AffinePoint:
      • group::GroupEncoding
      • group::cofactor::CofactorCurveAffine
    • New trait implementations for jubjub::Fr:
      • ff::{Field, PrimeField}
    • jubjub::AffinePoint::is_identity
    • jubjub::AffinePoint::to_extended
    • jubjub::Scalar, as an alias for jubjub::Fr.

    Changed

    • We've migrated to bls12_381 0.2.
    • rand_core is now a regular dependency.
    • We depend on the byteorder crate again, as it is part of the ff::PrimeField trait.
    • The benchmarks are now implemented using criterion.
    Open source →
  9. 0.3.0 04 Dec 2019
    Release notes

    0.3.0 release of the jubjub crate.

    Open source →
    Release notes

    This release now depends on the bls12_381 crate, which exposes the Fq field type that we re-export.

    • The Fq and Fr field types now have better constant function support for various operations and constructors.
    • We no longer depend on the byteorder crate.
    • We've bumped our rand_core dev-dependency up to 0.5.
    • We've removed the std and nightly features.
    • We've bumped our dependency of subtle up to ^2.2.1.
    Open source →
  10. 0.2.0 03 Jun 2019
    Release notes

    0.2.0 release of the jubjub crate.

    Open source →
    Release notes

    This release switches to subtle 2.1 to bring in the CtOption type, and also makes a few useful API changes.

    • Implemented Mul<Fr> for AffineNielsPoint and ExtendedNielsPoint
    • Changed AffinePoint::to_niels() to be a const function so that constant curve points can be constructed without statics.
    • Implemented multiply_bits for AffineNielsPoint, ExtendedNielsPoint
    • Removed CtOption and replaced it with CtOption from subtle crate.
    • Modified receivers of some methods to reduce stack usage
    • Changed various into_bytes methods into to_bytes
    Open source →
  11. 0.1.0 01 Apr 2019
    Release notes

    Initial release of jubjub crate.

    Open source →
    Release notes

    Initial release.

    Open source →
  12. 0.0.0 29 Aug 2018

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive