Skip to content

Release v7.23.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 07:18
1647a05

Summary

Concepts can now declare how they make a new value, and GenerateValue offers cryptographically secure UUID v4 and UUID v7 generation on .NET 8, 9 and 10.

Added

  • IGeneratable<TSelf> in Cratis.Concepts: a concept implements static TSelf New(), so constrained generic code can create it without reflection and with Native AOT (part of #1176)
  • GenerateValue.Uuid() returns an RFC 9562 version 4 UUID from RandomNumberGenerator (part of #1176)
  • GenerateValue.UuidV7() returns an RFC 9562 version 7 UUID: Guid.CreateVersion7() on .NET 9 and later, and an equivalent implementation on .NET 8 (part of #1176)
  • Documentation page on generating values: https://github.com/Cratis/Fundamentals/blob/main/Documentation/csharp/generating-values.md (part of #1176)

Changed

  • CorrelationId implements IGeneratable<CorrelationId>, and CorrelationId.New() uses GenerateValue.Uuid() (part of #1176)