Skip to content

Release v4.166.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 19:47
2571149

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 with STAGE-ESM-017; a whole composite Set now 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.