Repository navigation
Release v4.22.0
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/setsubset 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 asawait, 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