Skip to content

Releases: PawelGerr/Thinktecture.Runtime.Extensions

4.1.1

06 Feb 23:28
Compare
Choose a tag to compare
  • Fixed "missing namespace"

4.1.0

05 Feb 08:48
Compare
Choose a tag to compare

Features

  • EF ValueConverters can be applied on DbContextOptionsBuilder via method UseValueObjectValueConverter

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 and UseValueObjectValueConverter 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

01 Feb 07:42
Compare
Choose a tag to compare
  • Source Gen: Include the namespace into the source gen hintName, in case there are multiple types with the same name.
  • Source Gen (Value Objects): Implement IComparable if the key member has an IComparer.

4.0.0

14 Jan 22:31
Compare
Choose a tag to compare

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

25 Sep 12:59
Compare
Choose a tag to compare
  • Enum.Get throws UnknownEnumIdentifierException which inherits from KeyNotFoundException
  • The JsonSerializers catch UnknownEnumIdentifierException and throw JsonException/JsonSerializationException which are handled properly by the frameworks like ASP.NET Core.

3.0.0

10 Jul 15:45
Compare
Choose a tag to compare

3.0.0-beta10

10 Jul 15:33
Compare
Choose a tag to compare
3.0.0-beta10 Pre-release
Pre-release
  • Added new switch "NullInFactoryMethodsYieldsNull" for value type source gen.
  • Added extension method "TrimOrNullify" for strings
  • (BREAKING) Renamed "ValueType" to "ValueObject"

3.0.0-beta09

10 Jul 12:42
Compare
Choose a tag to compare
3.0.0-beta09 Pre-release
Pre-release
  • 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

10 Jul 12:41
Compare
Choose a tag to compare
3.0.0-beta08 Pre-release
Pre-release
  • ValueTypeModelBinderProvider should not try to bind value from body so JSON serializer kicks in
  • JSON converters should catch ValidationException and throw JsonExceptions
  • ValueTypeModelBinderProvider should not bind value with [FromService] as well

3.0.0-beta07

10 Jul 12:40
Compare
Choose a tag to compare
3.0.0-beta07 Pre-release
Pre-release
  • 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 and ValueTypeMetadataLookup to folder "Internal"
  • Extension method AddEnumAndValueTypeConverters is using ctors of the value types for reading instead of factories because DB is "source of truth"