Repository navigation
Release v19.7.2
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 declarationallblock already does. Existing projections that useFromAllwill 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. UseFromEveryfor mappings that should only apply to the projection's own event types. CombiningFromAllwithFromEveryapplies both sets of mappings to all event types. Event types already mapped throughFrom, 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 numericadd/subtractoperands) 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
RemovedWithJoinnow removes it from every parent in the in-memory sink and inReadModelScenario, matching MongoDB. Before this fix the parent that received the event kept the child (#4167)