Skip to content

Release v4.7.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 14:33
2a7304d

Added

  • Render portable Screenplay policies for commands and queries as registered Arc authorization policies, including module- and feature-level authorize. A command or query is [AllowAnonymous] only when no authorization applies. Expressions Arc would enforce differently fail with STAGE-ESM-015: role-only or claim-only policies that do not require authentication, ambiguous command subjects, and non-text claim targets. (part of #57)
  • Render all thirteen ESM validation rule kinds, concept validation rules and command requirements as generated validators, with the reference default messages. Warning and information severities, $strings. messages, and combinations whose failure order Arc cannot preserve are still rejected. (part of #116)
  • Render ESM projection scopes: several from events, root joins, children identified by a property, and property and arithmetic mappings. Several read models and keyed queries in one state-view slice are now admitted. Nested blocks, every/all, removals, composite keys, event-context mappings, whole-number arithmetic, and scopes that leave a required property unset fail with STAGE-ESM-017. (part of #117)
  • Render given events that state their event source in generated command, read-model and query specifications. Read-model and query assertions without exactly now check only the stated properties, as the reference does, and query specifications check projected state. (part of #14)
  • Generated rejection specifications now check the first validation message against the modeled then error.

Changed

  • Query arguments typed as a validated concept are rejected with STAGE-ESM-010, because Arc validates them and the reference does not.

Fixed

  • The legacy syntax renderer no longer renders [AllowAnonymous] for a command or query that inherits authorize from its module or feature. It now fails with AuthorizationCannotBeRendered.