Repository navigation
Release v4.166.0
Changed
- The Cratis renderer emits projections that set a collection or composite read-model property whole from an event property of exactly the same required type (
lines = lines,shipTo = shipTo) instead of refusing them withSTAGE-ESM-017; a whole compositeSetnow counts as establishing the composite for the required-properties check. Optional collections and element-level mappings stay refused. (#558) - A command can map a required collection or composite value read through a protected read into an event property of the same type instead of being refused with
STAGE-ESM-044. (#557) - A specification that expects the caller to be denied by the triggering command's authorization renders although the command's event triggers a reaction: a denied command appends nothing (
STAGE-ESM-011). (#503)
Fixed
- Acme Commerce Sales (
OrderStateProjection,ConfirmOrder) can be planned for rendering without stripping: its projection and decision read of the order lines and shipping address were refused.
Proof: new three-way conformance when_comparing_protected_composite_read_mappings (projection setting a collection and a composite, protected read, event): the reference and the rendered application pass all 3 specifications; Stage's executor still reports the collection-in-event-value gap and is asserted as such. Part of #503.