Skip to content

Release v4.241.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 18:58
73aa1c1

Added

  • Captures over source events now carry the type of their key onto the appended event's identity, so a typed key such as a Uuid-based concept is no longer flattened to text. Models that use it select ESM v32; other models keep their version and bytes. (#1035)
  • New Cratis.Screenplay.Matching package: generated .NET applications can validate concept matches rules with the same portable matcher the compiler admits, including patterns too large for .NET's non-backtracking regex engine. Reference it at the same version as the Screenplay compiler. (#1034)

Changed

  • The Screenplay language is no longer frozen at ESM v28: new constructs can be admitted again, each byte-changing change with its own ESM version, delivered once Stage admits it or refuses it with a typed refusal. See https://github.com/Cratis/Screenplay/blob/main/decisions/0105-lift-the-screenplay-language-freeze.md (#1035)
  • Moving a declaration through the C# workspace API now refuses the same cases as the MCP propose-move tool: a specification shared with a declaration that stays, or a move that leaves a specification obligation unmet. Carried specifications are computed automatically; a supplied list must match them. (#965)
  • propose-move refusals now report the standard ProposalRejected failure kind with the usual rejection fields. (#965)
  • Admissible samples and the new-model examples start with explicit protected command reads. (part of #1007)
  • NuGet packages now include the Cratis icon, and packages without their own tags get Screenplay tags. (#1020)
  • The @cratis/screenplay-language npm package now lists Cratis as author and links to the Screenplay documentation. (#1020)