Skip to content

Release v19.7.2

Choose a tag to compare

@github-actions github-actions released this 26 Sep 00:25
e5ce136

Three projection engine fixes that bring the .NET client, the testing engine and the in-memory sink in line with the declaration language and the MongoDB sink.

Changed

  • Fluent .FromAll() and model-bound [FromAll] projections now subscribe to every event type in the event sequence, as a declaration all block already does. Existing projections that use FromAll will be redefined, and will start creating or updating read-model instances for events from any event source, keyed by event source id unless another key is given. Use FromEvery for mappings that should only apply to the projection's own event types. Combining FromAll with FromEvery applies both sets of mappings to all event types. Event types already mapped through From, a join or a derivative are not processed a second time by the all-events subscription (#4164)

Fixed

  • Literal set-mappings in projection declarations (status = "draft", isActive = true, version = 1, and non-negative numeric add/subtract operands) now project their values. Before this fix they resolved to null. Stored definitions pick up the literal values without migration, but read models built before the fix keep their null values until they are replayed. An empty or otherwise unsupported value expression now fails when the projection is created instead of silently resolving to null (#4124)
  • Removing a joined child with RemovedWithJoin now removes it from every parent in the in-memory sink and in ReadModelScenario, matching MongoDB. Before this fix the parent that received the event kept the child (#4167)