Skip to content

Release v22.49.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 05:31
d7c14ec

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. IAggregateRootContext is unchanged; the declared source is carried by the optional IAggregateRootEventSourceContext, 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 with SP0044, SP0045 and SP0046 what the language cannot state yet. (part of #2987)
  • Analyzer ARCCHR0013 suggests 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 EventForEventSourceId that routes with the legacy EventSourceType or EventStreamType is now appended by those strings instead of through the command's definition, which previously dropped them. (part of #2987)