Skip to content

Release v4.22.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 19:18
c69afcf

Added

  • The specification runner now runs specifications that assert read models or unprotected keyed snapshot queries. Each run defines its own projections from the admitted scalar from/set subset using Chronicle's per-run testing artifacts, so runs don't see each other's projections. A projected result that differs from the expectation fails the specification. Every canonical-corpus form that now runs agrees with Screenplay's reference runner.

Changed

  • The semantic specification executor no longer needs to run in a process isolated from an Arc host. The host's global service provider is left untouched after a run.
  • Generated C# now qualifies framework and cross-namespace types with global:: and escapes contextual keywords such as await, so authored names can no longer shadow them.

Fixed

  • Rendering and specification runs now reject authored names that would produce generated C# that does not compile or serialize. This covers names that collide with record-synthesized members, their own type, query methods and parameters, other generated types in the same namespace, and Chronicle's case-insensitive document id. Both paths use the same checks, so a specification can no longer pass while the rendered application fails to build.

Given read models, protected queries, and projection shapes outside the admitted subset (FromAll, composite keys, the Chronicle #4125 shapes, nested clear) are still reported as unsupported, never as passing. Remaining generated-name cases are tracked in #172.

Refs #15