Release v15.34.5
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
ComplexKeyDictionaryJsonConverterFactorytoSerializationConfigurationExtensionsandChronicleClientfor complex dictionary key serializationPointJsonConverter,LineStringJsonConverter, andPolygonJsonConverterto both serialization configuration points for geospatial type support
Changed
- Updated
SerializationConfigurationExtensions._convertersto 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:
-
Kernel Serialization (
Source/Kernel/Core/Setup/Serialization/SerializationConfigurationExtensions.cs):- Central Orleans serialization configuration used across the kernel
-
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.