Skip to content

Releases: PawelGerr/Thinktecture.Runtime.Extensions

3.0.0-beta06

10 Jul 12:35
Compare
Choose a tag to compare
3.0.0-beta06 Pre-release
Pre-release
  • Analyzer forbids specification of a `IComparer1 on non-keyd value types.
  • Made JSON converters, MessagePack formatters and ASP.NET Core model binders to nested classes to prevent accessibility issues.
  • Added ValueTypeIgnoreAttribute to make members invisible to source generator

3.0.0-beta05

12 Feb 07:07
Compare
Choose a tag to compare
3.0.0-beta05 Pre-release
Pre-release
  • Made the key arg in ValidateConstructorArguments a ref parameter.
  • Changed the equality comparison (and GetHashCode) of the extensible/extended enums, so cloned base items are equal but siblings are not
  • The result of custom implementation of CreateInvalidItem is being checked so it doesn't return a key equals to valid key.

3.0.0-beta04

08 Feb 07:32
Compare
Choose a tag to compare
3.0.0-beta04 Pre-release
Pre-release
  • Enum-Like classes can be extended
  • Extension method for collection: SplitInBuckets
  • Added IComparer and IFormattable support to keyd value types

3.0.0-beta03

08 Feb 07:35
Compare
Choose a tag to compare
3.0.0-beta03 Pre-release
Pre-release
  • Value type members can specify a custom comparer using ValueTypeEqualityMemberAttribute
  • Added ASP.NET Core model binders for enums and value types
  • Source generator generates factory methods for value types
  • Source generator is able to generate JSON and MessagePack converters/formatter for non-keyd value types

3.0.0-beta02

08 Feb 07:37
Compare
Choose a tag to compare
3.0.0-beta02 Pre-release
Pre-release
  • Added non-generic version of Create to ValueTypeValueConverterFactory (EF)
  • Added explicit conversion from key to type (enums and keyd value types)

3.0.0-beta01

08 Feb 07:43
Compare
Choose a tag to compare
3.0.0-beta01 Pre-release
Pre-release
  • Enum-like classes are generated by a source generator instead of using reflection. The source gen is generates the constructor and "CreateInvalidItem" as well.
  • The name of the key property can be changed, i.e. be something different than "Key"
  • There are 2 types of enum: IEnum and IValidatableEnum
  • IValidatableEnum can be a struct as well, i.e. not just a class
  • Added source generator for immutable value types
  • Added partial method ValidateConstructorArguments to validate the ctor arguments
  • Added roslyn analyzer and code fixes for better experience

1.1.0

31 May 08:48
Compare
Choose a tag to compare

New

  • Convenience methods for empty Action<...> and empty read-only collections of non-generic type like IEnumerable and generic types like IReadOnlyList<T> and IReadOnlyDictionary<TKey,TValue>

Misc

  • Added a sample for integration of enum-like classes with Entity Framework Core
  • Switched samples and tests to .NET Core 2.1

1.0.0

26 Feb 21:25
Compare
Choose a tag to compare
  • Introduced a base type for enum-like classes