Repository navigation
Release v22.49.0
Commands and aggregate roots can declare the Chronicle event source definition they append through, and the Screenplay analysis and analyzers understand the declaration. It builds on Chronicle 19.30.0, which includes event source definitions.
Added
- Commands can append through registered event source definitions with
[EventSource<TSource>(stream)], preserving definition metadata and declared concurrency dimensions. (part of #2987) - Aggregate roots can declare
[EventSource<TSource>(stream)]: the source type and stream come from the definition, appended events record the event source, and rehydration reads only the events in the scope the commit guards.IAggregateRootContextis unchanged; the declared source is carried by the optionalIAggregateRootEventSourceContext, so existing custom implementations compile and run as before. (part of #2987) - Screenplay analysis reads
[EventSource<TSource>(stream)]on commands, resolves the definition, its stream and declared concurrency, and reports withSP0044,SP0045andSP0046what the language cannot state yet. (part of #2987) - Analyzer
ARCCHR0013suggests the event source definition for commands and aggregate roots whose[EventSourceType]and[EventStreamType]spell out a definition in the compilation. (part of #2987)
Changed
- A returned
EventForEventSourceIdthat routes with the legacyEventSourceTypeorEventStreamTypeis now appended by those strings instead of through the command's definition, which previously dropped them. (part of #2987)