Repository navigation
Release v4.20.0
Added
- Stage renders more of the executable model onto Cratis now that the upstream fixes are released:
- projection literal mappings in
fromblocks, using only literals Chronicle's fluent value expression can carry exactly; - removing a child through a join;
$context.occurredon produced events, with one timestamp for the payload and the event's occurrence;- contract and production tags that aren’t duplicated. This is part of #117.
- projection literal mappings in
- Validation rules and command requirements with warning or information severity reject the command, using Arc's
[BlockOnValidationSeverity]. (#116) - Specifications for protected queries run through Arc's query pipeline, including denials. They are admitted only when every seeded event comes from the queried key.
- The semantic runtime rebuilds its state from stored events on restart through Screenplay's
EstablishWorld. It refuses to start on a history it can't reproduce.
Changed
- Stage targets Chronicle 19.8.1, Arc 22.25.0 and Screenplay 4.41.1. Generated applications and the Host image use the same versions, and CI checks the Chronicle projection oracle against v19.8.1.
- The semantic engine no longer registers Chronicle projection mirrors, so its read models no longer appear as projection views in the Workbench. The admission endpoint no longer reports
projectionMirror. The default engine is unchanged. - Specifications that assert a value derived from
$context.occurredare rejected, because the generated handler uses the actual time.
Still rejected
These are still rejected, each with its STAGE diagnostic:
- composite-key read models, which need Cratis/Chronicle#4265;
FromAll, which needs Cratis/Chronicle#4266;- literals in
every/allblocks; - the projection shapes tracked in Chronicle #4125 and #4166;
- role-only policies (Arc #2761);
- per-run projection specifications (#15);
- given read models (#14).