Releases: PawelGerr/Thinktecture.Runtime.Extensions
Releases · PawelGerr/Thinktecture.Runtime.Extensions
4.1.1
4.1.0
Features
- EF ValueConverters can be applied on
DbContextOptionsBuilder
via methodUseValueObjectValueConverter
Changes
- Analyzer: smart enums and value object must not be generic.
- Value object source gen should always generate a private ctor, i.e. even if the value object has no assignable members.
- Both
AddEnumAndValueObjectConverters
andUseValueObjectValueConverter
handle struct enums/value objects - Source gen: the types are fully qualified
- Adjusted newtonsoft and messagepack serializer/formatter so the (de)serialization of
null
is consistent.
4.0.1
4.0.0
Features
- Added support for EF Core 6
Improvements:
- Migrated the source generator from ISourceGenerator to IIncrementalGenerator
- Added "short-time cache" to AddEnumAndValueObjectConverters
- Some type references generated by the source gen are fully qualified now
Breaking Changes:
- Deleted "CollectionExtensions" because they were causing API polution.
- Removed SplitInBuckets in .NET 6 because we have the method "Chunk" now.
3.1.0
- Enum.Get throws
UnknownEnumIdentifierException
which inherits fromKeyNotFoundException
- The JsonSerializers catch
UnknownEnumIdentifierException
and throwJsonException
/JsonSerializationException
which are handled properly by the frameworks like ASP.NET Core.
3.0.0
- (BREAKING) Enum-like classes have been rewritten to use "Roslyn Source Generators" (see wiki: Enum like classes (a.k.a smart enums) for more information)
- New: Immutable value objects (wiki: Immutable value objects)
3.0.0-beta10
- Added new switch "NullInFactoryMethodsYieldsNull" for value type source gen.
- Added extension method "TrimOrNullify" for strings
- (BREAKING) Renamed "ValueType" to "ValueObject"
3.0.0-beta09
- A "class"-key-member can be casted to a "class"-ValueType
- Added extension methods AddReturn and AddChain for
ICollection<T>
- (BREAKING) Deleted source gen for ModelBinderAttribute because ValueTypeModelBinderProvider gives us more control.
3.0.0-beta08
ValueTypeModelBinderProvider
should not try to bind value from body so JSON serializer kicks in- JSON converters should catch
ValidationException
and throwJsonExceptions
ValueTypeModelBinderProvider
should not bind value with[FromService]
as well
3.0.0-beta07
ValueTypeMetadataLookup.Find
triggers the module constructor if there is no metadata for an enum/value type- Extension method
AddEnumAndValueTypeConverters
works with nested owned types now - Moved
EnumConstructorAttribute
,ValueTypeMetadata
andValueTypeMetadataLookup
to folder "Internal" - Extension method
AddEnumAndValueTypeConverters
is using ctors of the value types for reading instead of factories because DB is "source of truth"