subtle
Pure-Rust traits and utilities for constant-time cryptographic implementations.
2.6.1
650M downloads/mo
#139 most downloaded on crates.io
dalek-cryptography/subtle
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 5 weeks to 1.6 years
Nearly every release is documented
notes for 11 of 12 stable releases
17 versions withdrawn
withdrawn after publishing
9 years old
29 releases · first in 2017
0 releases in the last 12 months
see the full history below
Release timeline
29 releases · May 2017 to Jun 2024Releases
latest 29-
2.6.124 Jun 2024 -
2.6.019 Jun 2024 withdrawn -
2.5.028 Feb 2023Release notes
Open source →- Add constant-timedness note to the documentation for
CtOption::unwrap_or_else. - Add
CtOption::expect. - Add
ConstantTimeEq::ct_newith default implementation. - Add new
core_hint_black_boxfeature from Diane Hosfelt and Amber Sprenkels which utilises the originalblack_boxfunctionality from when subtle was first written, which has now found it's way into the Rust standard library. - Add new
const-genericsfeature from @survived which adds support for subtle traits for generic arrays[T; N]. - Add new feature for supporting
core::cmp::Orderingfor types which implement subtle traits, patch from @tarcieri. - Update
randdependency to 0.8.
- Add constant-timedness note to the documentation for
-
2.4.113 Jul 2021Release notes
Open source →- Fix a bug in how the README was included in the documentation builds which caused nightly builds to break.
-
2.4.017 Dec 2020Release notes
Open source →- Add new
ConstantTimeGreaterandConstantTimeLesstraits, as well as implementations for unsigned integers, by @isislovecruft.
- Add new
-
2.3.008 Sep 2020Release notes
Open source →- Add
impl ConstantTimeEq for Choiceby @tarcieri. - Add
impl From<CtOption<T>> for Option<T>by @CPerezz. This is useful for handling library code that producesCtOptions in contexts where timing doesn't matter. - Introduce an MSRV policy.
- Add
-
2.2.329 May 2020Release notes
Open source →- Remove the
nightly-only asm-basedblack_boxbarrier in favor of the volatile-based one, fixing compilation on current nightlies.
- Remove the
-
2.2.227 Nov 2019Release notes
Open source →- Update README.md to clarify that 2.2 and above do not require the
nightlyfeature.
- Update README.md to clarify that 2.2 and above do not require the
-
2.2.128 Sep 2019Release notes
Open source →- Adds an
or_elsecombinator forCtOption, by @ebfull. - Optimized
black_boxfornightly, by @jethrogb. - Optimized
black_boxforstable, by @dsprenkels. - Fixed CI for
no_std, by @dsprenkels. - Fixed fuzz target compilation, by @3for.
- Adds an
-
2.2.027 Sep 2019 withdrawn -
2.1.131 Jul 2019Release notes
Open source →- Adds the "crypto" tag to crate metadata.
- New shorter, more efficient ct_eq() for integers, contributed by Thomas Pornin.
-
2.1.029 Apr 2019Release notes
Open source →- Adds a new
CtOption<T>which acts as a constant-timeOption<T>(thanks to @ebfull for the implementation). Choicenow itself implementsConditionallySelectable.
- Adds a new
-
2.0.013 Dec 2018Release notes
Open source →- Stable version with traits reworked from 1.0.0 to interact better with the orphan rules.
-
2.0.0-pre.005 Nov 2018 pre-release withdrawnNothing published for this version
-
1.0.025 Sep 2018Nothing published for this version
-
0.9.005 Sep 2018 withdrawnNothing published for this version
-
0.8.005 Sep 2018 withdrawnNothing published for this version
-
0.7.104 Sep 2018 withdrawnNothing published for this version
-
0.7.004 Jul 2018 withdrawnNothing published for this version
-
0.6.320 Jun 2018 withdrawnNothing published for this version
-
0.6.212 Apr 2018 withdrawnNothing published for this version
-
0.6.112 Apr 2018 withdrawnNothing published for this version
-
0.6.019 Mar 2018 withdrawnNothing published for this version
-
0.5.130 Jan 2018 withdrawnNothing published for this version
-
0.5.020 Jan 2018 withdrawnNothing published for this version
-
0.4.020 Jan 2018 withdrawnNothing published for this version
-
0.3.005 Oct 2017 withdrawnNothing published for this version
-
0.2.031 Jul 2017 withdrawnNothing published for this version
-
0.1.031 May 2017 withdrawnNothing published for this version