Releases: orion-rs/orion
0.14.2
0.14.1
0.14.0
-
[Breaking change] Function
as_bytes()
for public newtypes are replaced withAsRef<>
trait implementations. This means allas_bytes()
calls need to be replaced withas_ref()
. -
[Breaking change] The
SecretKey
for BLAKE2b is longer padded with zeroes to the length of the blocksize. Thus, theSecretKey
no longer has aget_original_length()
function, but the same result will be represented by theget_length()
function instead. -
[Breaking change] All calls to
as_ref()
andunprotected_as_bytes()
return the newtypes data with what it was initialized, regardless of padding. (With the exception of HMAC) -
[Breaking change] All calls to
get_length()
return the length of the newtype with what is what initialized, regardless of padding. (With the exception of HMAC) -
[Breaking change] All newtypes that offer
generate()
now panic if the RNG fails to initialize of read from its source. This also means that newtypegenerate()
functions, that do not take in a size parameter, no longer return aResult
. -
[Breaking change]
ValidationCryptoError
andFinalizationCryptoError
have been removed. Though this doesn't mean that there is less information available, see issue here. -
[Breaking change] Support for cSHAKE256 has been dropped, also meaning orion no longer depends on tiny-keccak. 8% decrease in
unsafe
code in dependencies. -
All fuzzing targets in
fuzz
that used libFuzzer have been deprecated in favor of those in orion-fuzz using honggfuzz-rs. -
Improvements to fuzzing targets in orion-fuzz.
-
Added
From<[u8; C]>
trait implementations for C-length fixed-sized newtypes, so that the caller may avoid usingResult
when not working with slices. -
[Breaking change] Module
hazardous::constants
has been removed and all types made private. Only a select number of constants have been re-exported in their respective modules. See here for more information. -
It is now strictly advised agianst using orion in debug mode, for what is meant to be production use. Using
opt-level = 0
with orion, is also advised against. See security section. -
rand_os
has been replaced withgetrandom
. -
Improvements to documentation examples as they no longer use
.unwrap()
but?
instead.
0.13.4
0.13.3
0.13.2
Changelog:
- PBKDF2 and BLAKE2b now panic on lengths exceeding (2^32-1) * 64 and 2*(2^64-1), respectively.
- ChaCha20 length constrictions are now equivalent to those of the RFC and panics on trying to process more than 2^32-1 keystream blocks.
- Documentation improvements.
- OpenSSL test vectors for BLAKE2b.
Note: Strictly speaking, the first two changes are breaking, but because of the unlikeliness that this has an effect on anybody, they were not marked as such.
0.13.1
0.13.0
Changelog:
- [Breaking change]:
orion::hazardous::hash::sha512
previously used the sameDigest
as BLAKE2b. This is no longer the case, making it impossible to specify a non fixed-length hash asDigest
with SHA512. - [Breaking change]:
HLEN
constant renamed toSHA512_OUTSIZE
andSHA2_BLOCKSIZE
constant renamed toSHA512_BLOCKSIZE
. - Added
POLY1305_OUTSIZE
constant. - Improved documentation for high-level
Password
,SecretKey
inhazardous
shmac
andblake2b
, as well asPassword
inpbkdf2
ofhazardous
. - Added AppVeyor builds and testing for Windows MSVC with Visual Studio 2017.