- Update MSRV to 1.29.0
- Add
as_inner
method toHash
trait - Add
n_bytes_hashed
toHashEngine
trait
- Support hash newtypes with reversed hex serialization.
- Add
sha256t
module for SHA-256-based tagged hashes. - Add
FromStr
for hash newtypes. - Add
from_hash
for hash newtypes.
- Add
as_hash(&self) -> <inner>
method to hash newtypes.
- Make the inner variable of
sha256::Midstat
public - Drop the
byteorder
dependency in favor of manual endianness implementations (later this will be in stdlib so we can drop even that) - Fix the
hash_newtype
macro, which did not compile before
- Add hash_newtype macro that allows third parties to create newtype structs.
- Add
hex::Error
type for errors generated by thehex
module.
- Add
no_std
support, rearrange traits to not depend onio::Write
- Fix panic when parsing hashes that contain multibyte characters
- Add
FromStr
to all hashes which hex-parses them
- Add
from_inner
method to all hashes - Update
FromHex
trait to requirefrom_byte_iter
method rather thanfrom_hex
be implemented - Make
Hmac
midstate an actual HMAC midstate - Allow
Display
of truncated hashes - Require using a constructor for
HexIterator
and then clean up the internals - Strongly type
sha256::Midstate
to allow independent serialization - Add siphash24 module
- Implement the
FromHex
trait on many more types
- Bump minimum required rustc version to 1.22.0
- Fixed serde deserialization into owned string that previously caused panics when doing round-trip (de)serialization
HashEngine::block_size()
andHash::len()
are now associated constantsHashEngine::BLOCK_SIZE
andHash::LEN
- Removed
block_size()
method fromHash
trait. It is still available as<T as Hash>::Engine::BLOCK_SIZE
- Add a constant-time comparison function
- Simplify
io::Write::write
implementations by having them do only partial writes - Add fuzzing support
- Allow
Hash
es to be borrowed as[u8]
- Replace public
Hash
inners withinto_inner
method
- Initial release