summaryrefslogtreecommitdiffstats
path: root/third_party/rust/subtle/CHANGELOG.md
blob: e6a38636531fc6fa49fcb2bcd5fcc29d1d8e5666 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Changelog

Entries are listed in reverse chronological order.

## 2.5.0

* Add constant-timedness note to the documentation for `CtOption::unwrap_or_else`.
* Add `CtOption::expect`.
* Add `ConstantTimeEq::ct_ne` with default implementation.
* Add new `core_hint_black_box` feature from Diane Hosfelt and Amber
  Sprenkels which utilises the original `black_box` functionality from
  when subtle was first written, which has now found it's way into the
  Rust standard library.
* Add new `const-generics` feature from @survived which adds support
  for subtle traits for generic arrays `[T; N]`.
* Add new feature for supporting `core::cmp::Ordering` for types which
  implement subtle traits, patch from @tarcieri.
* Update `rand` dependency to 0.8.

## 2.4.1

* Fix a bug in how the README was included in the documentation builds
  which caused nightly builds to break.

## 2.4.0

* Add new `ConstantTimeGreater` and `ConstantTimeLess` traits, as well
  as implementations for unsigned integers, by @isislovecruft.

## 2.3.0

* Add `impl ConstantTimeEq for Choice` by @tarcieri.
* Add `impl From<CtOption<T>> for Option<T>` by @CPerezz.  This is useful for
  handling library code that produces `CtOption`s in contexts where timing
  doesn't matter.
* Introduce an MSRV policy.

## 2.2.3

* Remove the `nightly`-only asm-based `black_box` barrier in favor of the
  volatile-based one, fixing compilation on current nightlies.

## 2.2.2

* Update README.md to clarify that 2.2 and above do not require the `nightly`
  feature.

## 2.2.1

* Adds an `or_else` combinator for `CtOption`, by @ebfull.
* Optimized `black_box` for `nightly`, by @jethrogb.
* Optimized `black_box` for `stable`, by @dsprenkels.
* Fixed CI for `no_std`, by @dsprenkels.
* Fixed fuzz target compilation, by @3for.

## 2.2.0

* Error during `cargo publish`, yanked.

## 2.1.1

* Adds the "crypto" tag to crate metadata.
* New shorter, more efficient ct_eq() for integers, contributed by Thomas Pornin.

## 2.1.0

* Adds a new `CtOption<T>` which acts as a constant-time `Option<T>`
  (thanks to @ebfull for the implementation).
* `Choice` now itself implements `ConditionallySelectable`.

## 2.0.0

* Stable version with traits reworked from 1.0.0 to interact better
  with the orphan rules.