Skip to content

Release v22.61.0

Choose a tag to compare

@github-actions github-actions released this 09 Oct 04:15
79fbf5e

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.Screenplay and @cratis/screenplay-language 4.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 @sensitive when 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 as SP0058 (Information) (#3079)
  • With ScreenplayOptions.AuthoringOnlyConstructs enabled, specifications state where events land: stream <Source>.<Stream> and streamId on given and appended events, and no stream on 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 @pii and @sensitive annotations 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 SP0039 instead of emitting a guessed route (#3060)
  • Without AuthoringOnlyConstructs, a scenario that needs an event route is left out with SP0060 (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 a null value are now left out with SP0039, so the document binds under Screenplay's complete-fixture rules instead of failing with SP0056 (#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)