Skip to content

Release v15.34.5

Choose a tag to compare

@github-actions github-actions released this 11 Jun 13:14
f61f002

Chronicle's JSON serialization configuration was missing converters present in Cratis.Fundamentals.Globals. This PR adds those missing converters to ensure consistent serialization behavior across the framework, particularly for geospatial types and complex key dictionaries.

Added

  • ComplexKeyDictionaryJsonConverterFactory to SerializationConfigurationExtensions and ChronicleClient for complex dictionary key serialization
  • PointJsonConverter, LineStringJsonConverter, and PolygonJsonConverter to both serialization configuration points for geospatial type support

Changed

  • Updated SerializationConfigurationExtensions._converters to include all Fundamentals converters while preserving existing converter ordering for correct JSON matching behavior
  • Updated ChronicleClient.InitializeJsonSerializationOptions() to register the missing converters

Details

The changes affect two key serialization entry points:

  1. Kernel Serialization (Source/Kernel/Core/Setup/Serialization/SerializationConfigurationExtensions.cs):

    • Central Orleans serialization configuration used across the kernel
  2. Client Serialization (Source/Clients/DotNET/ChronicleClient.cs):

    • Client-side JSON serialization for events and commands

All existing Chronicle-specific converters remain intact. DerivedTypeJsonConverterFactory from Fundamentals was not added as Chronicle does not use the derived types infrastructure.