Skip to content

Releases: saucecontrol/Blake2Fast

v2.0.0

13 Jun 20:08
Compare
Choose a tag to compare

Breaking Changes

  • The root namespace has been changed from SauceControl.Blake2Fast to simply Blake2Fast.
  • CreateIncrementalHasher now returns the hash state struct directly rather than a boxed IBlake2Incremental reference. This enables GC allocation-free incremental hashing.
  • The code to support running on big-endian platforms has been removed. This code was never tested, and leaving it out simplifies the remaining implementation.

IBlake2Incremental Improvements

  • Added Finish(Span<byte>) overload.
  • Added DigestLength property so the size of span required for Finish(Span<byte>) can be queried in advance.
  • Added Update<T>() generic methods accepting a struct, array of struct, or Span of struct.
  • Update() now throws if called after Finish()

Performance Improvements

  • The SSE4.1 BLAKE2s and AVX2 BLAKE2b implementations are roughly 10% faster than in v1.0

v1.0.0

26 Jul 07:35
Compare
Choose a tag to compare
  • Added support for .NET Core 3.0
  • Added AVX2 implementation of BLAKE2b (.NET Core 3.0 only)
  • Unified API to use Span<byte> or ReadOnlySpan<byte> everywhere instead of using ArraySegment<byte> and byte[] for older targets.
  • Added strong name key
  • Removed NetStandard 1.0 build target due to lack of Span<T> support.

v0.2.0

18 Jun 19:07
Compare
Choose a tag to compare
  • Added ComputeAndWriteHash method for allocation-free hashing

v0.1.0

15 Jun 01:40
Compare
Choose a tag to compare

Initial release