Repository navigation
Release v22.61.0
Summary
The generated Screenplay model and the embedded Screenplay viewer now build on Screenplay 4.98.0 and describe operational secrets and specification event routes.
Added
- The generator now uses
Cratis.Screenplayand@cratis/screenplay-language4.98.0, so the embedded viewer picks up the newer language (#3078) - A concept marked both
[Encrypted]and[NotAudited]is generated as@sensitive, and as@pii @sensitivewhen it is also[PII]. Markings on a property or its positional constructor parameter are read as well (#3079) - A concept with only
[Encrypted]or only[NotAudited]is not marked@sensitive; the partial marking is reported asSP0058(Information) (#3079) - With
ScreenplayOptions.AuthoringOnlyConstructsenabled, specifications state where events land:stream <Source>.<Stream>andstreamIdon given and appended events, andno streamon expected events. Source and stream declarations are added for routes the specifications state (#3060) - Expected events can carry the issued command's route when every production uses command context and the stream id is a concrete value (#3060)
Changed
- A concept used as a command identifier, event-source identifier, destination or stream id has its
@piiand@sensitiveannotations left off, because Screenplay rejects protected identities there;SP0059(Information) reports it and the identity and route stay in the document (#3079) - A scenario whose routes conflict with the declared source and stream types is left out with
SP0039instead of emitting a guessed route (#3060) - Without
AuthoringOnlyConstructs, a scenario that needs an event route is left out withSP0060(Information) rather than dropping the route silently. An unrouted occurrence in authoring-only output is reported with the same code (#3060) - A command's source and stream route is left out when one of its productions is routed explicitly or cannot be proven, and the source's identifier type is not a
Uuid, so the document compiles under the stricter checks (#3060)
Fixed
-
A scenario is generated only when every command and event property it needs can be stated from the specification. Scenarios that rely on generated values such as
CustomerId.New(), leave a property unset, or expect anullvalue are now left out withSP0039, so the document binds under Screenplay's complete-fixture rules instead of failing withSP0056(#3078) -
Authoring-only scoped documents no longer both import and declare the same read model, or import one they never declare. The import is now decided from the declarations the scoped document actually emits (#3064)