Skip to content

v3.2.0

Latest
Compare
Choose a tag to compare
@samuel-lucas6 samuel-lucas6 released this 17 Nov 12:01
· 1 commit to main since this release

Please install Geralt via NuGet.

Added

  • The IncrementalBLAKE2b state can now be cached. This means static data at the beginning (e.g., the same key) can be processed just once for repeated calls, improving performance. Note that CacheState() can only cache the state once. Each subsequent call will overwrite the previously cached state. This was done for backwards compatibility, to allow zeroing the cached state, and because you shouldn't be able to cache the state with IncrementalPoly1305, for example.

Changed

  • Now using some new language features, like LibraryImport.
  • The state in incremental classes now gets zeroed if there's an exception/Dispose() is manually called.
  • The byte array buffers in Encodings.ToHex() and Encodings.ToBase64() now get zeroed after a string is returned.
  • BLAKE2b.ComputeHash() with a stream now throws InvalidOperationException if the stream can't be read. Previously, this would've been a NotSupportedException from the .NET API.
  • Tests are now run on .NET 9 as well as .NET 8.
  • The test packages have been updated.

Fixed

  • stackalloc is no longer used for Encodings.ToHex() and Encodings.ToBase64(), which could've resulted in a StackOverflowException with large enough inputs.

Removed