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.
master - Unreleased
0.4.1 - 2020-07-15
- Fix issue where
AsyncDecrypterStream
would return empty buffers while processing streams.
0.4.0 - 2020-07-13
- Add support for async key lookups by way of a
AsyncDecrypter
type which wraps the decryption state machine into aDecrypterInner
type (with synchronous key lookup being done by the now-wrapper typeDecrypter
).
- Bump MSRV from 1.39 to 1.42
- Replace
Decrypter
withAsyncDecrypter
type inAsyncDecrypterStream
to support using async key lookup functions when using the decrypter stream.
0.3.0 - 2020-03-20
- Add
Encrypter
andDecrypter
methodsupdate_to_vec
, which automatically allocates and fills aVec<u8>
for output. - Add
with_capacity
toSaltlickEncrypter
types andwith_capacity
/deferred_with_capacity
toSaltlickDecrypter
types to allow control of inner buffer sizes. - Wrappers now exist for all permutations of encrypt/decrypt and
Read
,Write
, andBufRead
. - Add async implementations for
AsyncRead
,AsyncWrite
,AsyncBufRead
andStream
data sources.
Encrypter
andDecrypter
now reuses buffers for communicating with libsodium through sodiumoxide, avoiding many extra allocations and removing the need for theMultiBuf
helper.- The methods
Encrypter::pull
andDecrypter::push
are now calledEncrypter::update
andDecrypter::update
and have changed function signatures. EncryptingWriter
andDecryptingReader
have been moved into thewrite
andread
modules respectively. They have been renamedSaltlickEncrypter
andSaltlickDecrypter
.
MultiBuf
has been completely removed in favor of slices for input and output toEncrypter
/Decrypter
update
functions.is_not_finalized
functions have been removed fromEncrypter
/Decrypter
- use!is_finalized()
instead.
0.2.0 - 2020-01-16
- Add deferred key-loading function to
Decrypter
, allowing the type to be constructed with a closure that later provides a secret key based on the public key present in a stream. - Extend deferred key-loading to
DecryptingReader
. - Add helper functions to
PublicKey
andSecretKey
that read/write keys directly to/from PEM-encoded files.
- Change MSRV from 1.34 to 1.39 to address MSRV change in sodiumoxide (>=1.36) and bytes (>=1.39).
0.1.0 - 2019-07-22
- Initial library development