All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
ChaCha20LegacyCoretype andNoncetype alias (#570)
rand_corev0.10 support (#333, #513)- 64-bit counter support (#439)
{get,set}_block_posinherent methods (#516)- AVX-512 backend - requires
--cfg chacha20_avx512to enable (#477) - Inherent methods for RNG state (de)serialization (#541)
- Bump
cipherfrom0.4to0.5- replacesgeneric-arraywithhybrid-array(#338, #521) - Edition changed to 2024 and MSRV bumped to 1.85 (#397)
- Relax MSRV policy and allow MSRV bumps in patch releases
- Bump
cpufeaturesto v0.3 (#530) --cfg chacha20_backend="..."replaces previouschacha20_force*(#520)chacha20_force_avx2=>chacha20_backend="avx2"chacha20_force_avx512=>chacha20_backend="avx512"chacha20_force_soft=>chacha20_backend="soft"chacha20_force_sse2=>chacha20_backend="sse2"
chacha20_force_neoncfg attribute - now on-by-default for supported targets (#361)stdfeature (#397)Cloneimpls (#462)
chacha20_force_soft,chacha20_force_sse2, andchacha20_force_avx2configuration flags (#293)
- Bump
cipherdependency to v0.4 (#276)
- Minimal versions build (#290)
- Unpin
zeroizedependency (#301)
- NEON implementation for aarch64 (#274)
- SSE2 autodetection support (#270)
xchachafeature: allXChaCha*types are now available by-default (#271)
- Pin
zeroizedependency to v1.3 (#256)
hchachafeature (#234)
Cloneimpls on RNGs (#220)
- Links in documentation (#142)
- Avoid accidental
allocandstdlinking (#105)
- Replace macros with
Roundstrait + generics (#100)
- Fix warnings when building with
rngfeature alone (#99)
CryptoRngmarker on allChaCha*Rngtypes (#91)
- Fix broken buffering logic (#86)
NOTE: This release was yanked due to a showstopper bug in the newly added buffering logic which when seeking in the keystream could result in plaintexts being clobbered with the keystream instead of XOR'd correctly.
The bug was addressed in v0.3.1 (#86).
- Simplify portable implementation (#76)
- Make 2018 edition crate; MSRV 1.34+ (#77)
- Replace
salsa20-coredependency withctr-derived buffering (#81)
byteorderdependency (#80)
- Ensure block counter < MAX_BLOCKS (#68)
- SSE2 accelerated implementation (#61)
- Add
MAX_BLOCKSandBLOCK_SIZEconstants (#47)
- Refactor around a
ctr-like type (#44) - Extract and encapsulate
Ciphertype (#43) - Switch tests to use
new_sync_test!(#42) - Refactor into
ChaCha20andChaCha20Legacy(#25)
- Initial release