Skip to content

v2.0.0

Latest
Compare
Choose a tag to compare
@brcrista brcrista released this 06 Dec 01:19

Breaking changes

  • RecoreFX now targets .NET 5.0
  • Removes IReadOnlyDictionaryExtensions, which contained two overloads of GetValueOrDefault(), preferring the now-standard method
  • Also removes IDictionaryExtensions.GetValueOrDefault<TKey, TValue>(Dictionary<TKey, TValue>, TKey), which is no longer needed to resolve ambiguity
  • Of<T>.Value is now init-only
  • Token and Ciphertext<THash> are now record types instead of subtypes of Of<string>

New features

  • The API now has type annotations for nullable references
  • Add Apply() and ApplyAsync()
  • Add Equals() overloads with IEqualityComparer<T> for Optional<T>, Either<TLeft, TRight>, and Result<TValue, TResult>
  • Add ToAsyncEnumerable<T>(Task<IEnumerable<T>>) and ToAsyncEnumerable(IEnumerable<Task<T>>)

Bug fixes

  • Fixed the equality and comparison methods of Token, MappedComparer, and MappedEqualityComparer so that they no longer throw NullReferenceException when passed null as an argument
  • Fixed Of<T>.ToString() not to throw NullReferenceException when the underlying value is null