Skip to content

Release v4.109.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 06:23
7bd3275

Summary

Stage now admits ESM v20, so a model can put validation rules on concepts that generate their values. Studio, the cli and Arc can adopt Screenplay's v20 models through this release.

Added

  • Stage admits ESM v20 models: a concept that declares generate may carry validation rules, and the rendered concept has both its New() factory and its ConceptValidator. ESM v21 is still refused. (#393)
  • A rendered specification that uses a rule-bearing generated concept must pin its generated value, and a pinned value that fails the concept's rules is refused with STAGE-ESM-011. (#393)
  • A generated concept rule with warning or information severity is refused with STAGE-ESM-038, because the rendered application only rejects error-severity failures. (#393)

Changed

  • A value that Stage's Host generates and that fails its concept's shape or rules is reported as a server error after authorization and input validation, never as a validation error, and appends nothing. (#393)
  • The specification executor reports a generated fixture that fails its concept's rules with the reference evaluator's message, checking each fixture's shape and then its rules in fixture order. (#393)

Fixed

  • Stage decides whether generated values are guarded for freshness and shape by whether the model declares a generation strategy, matching the reference evaluator, instead of by ESM version. Models that only use implicit UUID generation are no longer guarded. (#393)