Release v16.3.1
Summary
The Projection Declaration Language is now part of the Cratis Screenplay language, and Screenplay owns its grammar, parsing and syntax tree. Chronicle consumes the published Cratis.Screenplay package and supplies a visitor that turns projection syntax into its existing ProjectionDefinition object graph - the runtime projection engine is unchanged, only how the object graph is produced.
Changed
- The projection declaration compiler now uses the Cratis Screenplay compiler for parsing;
ILanguageService.Compile, code generation and PDL round tripping behave as before $causedByidentity property references are camelCase (subject,name,userName), consistent with the well known expressions- Namespace qualified projection names round trip through compile and generate
- The projection language reference moved to the Screenplay documentation; Chronicle's pages and the Workbench help panel link there
Removed
- The internal PDL tokenizer, parser and AST - replaced by the
Cratis.Screenplaysyntax tree and visitor contracts