Skip to content

Release Notes

Brandon Dahler edited this page Mar 27, 2018 · 15 revisions

Release notes





  • Pull Request #21 - Net40 Async
    • Minor changes to make building *.Net40Async packages possible, no functionality changes.
  • required to update dependencies when fixing net40 issue with Data.HashFunction.Interfaces

1.8.1 (Breaking Changes Present)

  • Pull Request #18 - Fix bug in MurmurHash3 128-bit implementation that produced incorrect hash values when the input's length was greater than 31 and the UnifiedData.ForEachGroupAsync function provided more than a single group at a time (always for byte array inputs, stream-implementation specific for streams).
  • Issue #16, Pull Request #17 - Fix bug in xxHash 64-bit implementation that produced incorrect hash values when the input's length was divisible by 4.


  • Rename NuGet package System.Data.HashFunction.Blake2B to System.Data.HashFunction.Blake2
  • Add NuGet package System.Data.HashFunction.Interfaces to contain IHashFunction{,Async} interfaces.


  • Add Blake2B
  • Rearrange project structure and build process.


  • Minor modifications to allow packaging of a framework v4.0 version alongside the existing framework v4.5 version.


  • Add sugar methods as extensions methods on top of IHashFunction.


  • Modified UnifiedData to increase performance.


Breaking change for custom hash function implementations that rely on HashFunctionBase only.

  • Added async support for all possible implementations.
  • Added new interface IHashFunctionAsync to denote async-enabled hash functions.


  • Added xxHash's 64-bit implementation.
  • Re-added the ability to specify an initialization value for xxHash.


Breaking change for Data.HashFunction.CRC only.

  • Update namespacing for CRC standards implementations:
    System.Data.HashFunction to System.Data.HashFunction.CRCStandards.
  • Update name and parent of CRC settings type:
    System.Data.HashFunction.CRCSettings to System.Data.HashFunction.CRC.Setting.
  • Update parent of CRC standards enum:
    System.Data.HashFunction.CRCStandards.Standard to System.Data.HashFunction.CRC.Standard.
  • Update parent of CRC standards dictionary:
    System.Data.HashFunction.CRCStandards.Standards to System.Data.HashFunction.CRC.Standards.


Breaking change.


0.1.2 (version improperly incremented)

  • Implementation of a generalized CRC algorithm.
  • Provide 71 standard implementations for CRC. Many thanks to the work done by the authors of CRC RevEng's catalogue!


  • Initial release.
  • Implementation of a variety of hash functions.
Clone this wiki locally
You can’t perform that action at this time.