Releases: PawelGerr/Thinktecture.Runtime.Extensions
Releases · PawelGerr/Thinktecture.Runtime.Extensions
7.0.0-beta02
- EF Core 8 RC2
7.0.0-beta01
- BREAKING: Use
SmartEnumAttribute<T>
instead ofIEnum<T>
/IValidatableEnum<T>
- Added support for EF Core 8
6.4.0
6.3.0
6.2.0
- Added support for properties with init-accessors
- Source Generator is not just looking for implemented operator-interfaces but checks for user-defined operators as well (useful for
DateOnly
) - The generation of the equality operators can be controlled via
EqualityComparisonOperators
6.1.0
6.0.1
- [BREAKING] String-members of Value Objects (as of Smart Enums) are compared with StringComparer.OrdinalIgnoreCase by default.
- Added further comparer accessors for
CurrentCulture*IgnoreCase
andInvariantCulture*IgnoreCase
- Optimizations on Source Generator pipelines
6.0.0
- v6 supports .NET 7 only.
- Introduced new interface "IEnum<in TKey, T>" which is going to be implemented by the source generator
- The key equality comparer is static abstract property in .NET 7
- The property "Items" is "static abstract"
- Keyed value objects implement IKeyedValueObject<T, TKey>
- Replaced KeyedValueObjectAttribute with non-generic interface IKeyedValueObject
- The delegate "Validate" is obsolete
- Replaced ValueObjectConstructorAttribute with IComplexValueObject
- Renamed ValueObjectMetadata to KeyedValueObjectMetadata
- Introduced ComplexValueObjectMetadata because it easier to use and faster then reflection
- Configurable whether to generate code for
ToString()
- Member comparers are provided via generic attributes instead of strings.
- ValueObjectTypeConverter doesn't have to be generated thanks to abstract static members
- Introduced non-generic IValidatableEnum which is used by serializers
- Renamed ValueObjectIgnoreAttribute to ValueObjectMemberIgnoreAttribute
- Renamed SkipCompareTo to SkipIComparables
- Smart Enums and Value Object implement IComparable, IFormattable and IParsable
- Minimal WebApi is able to bind Smart Enums and Value Objects thanks to IParsable
- Introduced new setting "SkipIFormattables"
- ToString doesn't return null
- Added implementation of IAdditionOperators, ISubtractionOperatorss, IMultiplyOperators, IDivisionOperators, IComparisonOperators
- Added operators that work with key-member-types
- Always-valid-smart-enums are considered equal if the object references are equal.
- Smart enums implement comparison operators as well.
- ValueObjectEqualityMemberAttribute is obsolete because we have ValueObjectMemberEqualityComparerAttribute
6.0.0-beta02
- v6 supports .NET 7 only.
- Introduced new interface "IEnum<in TKey, T>" which is going to be implemented by the source generator
- The key equality comparer is static abstract property in .NET 7
- The property "Items" is "static abstract"
- Keyed value objects implement IKeyedValueObject<T, TKey>
- Replaced KeyedValueObjectAttribute with non-generic interface IKeyedValueObject
- The delegate "Validate" is obsolete
- Replaced ValueObjectConstructorAttribute with IComplexValueObject
- Renamed ValueObjectMetadata to KeyedValueObjectMetadata
- Introduced ComplexValueObjectMetadata because it easier to use and faster then reflection
- Configurable whether to generate code for
ToString()
- Member comparers are provided via generic attributes instead of strings.
- ValueObjectTypeConverter doesn't have to be generated thanks to abstract static members
- Introduced non-generic IValidatableEnum which is used by serializers
- Renamed ValueObjectIgnoreAttribute to ValueObjectMemberIgnoreAttribute
- Renamed SkipCompareTo to SkipIComparables
- Smart Enums and Value Object implement IComparable, IFormattable and IParsable
- Minimal WebApi is able to bind Smart Enums and Value Objects thanks to IParsable
- Introduced new setting "SkipIFormattables"
- ToString doesn't return null
- Added implementation of IAdditionOperators, ISubtractionOperatorss, IMultiplyOperators, IDivisionOperators, IComparisonOperators
- Always-valid-smart-enums are considered equal if the object references are equal.
- Smart enums implement comparison operators as well.
- ValueObjectEqualityMemberAttribute is obsolete because we have ValueObjectMemberEqualityComparerAttribute