Repository navigation
Release v4.50.0
Summary
Module, feature and slice render plans now carry the shared declarations their slices need. Regenerating one slice in an existing repository then produces the same shared files as a whole-application render, instead of leaving them out or overwriting them.
Added
- Scoped render plans now include every concept and composite type their selected slices reference, transitively, including through projections over other modules' events and through scoped projection children, joins and removals. The rendered files are byte-identical to the ones an application-scope plan produces. Concepts and types that the selection does not reference are left out.
Changed
- Generated authorization policies are now rendered one file per protected operation, as
GeneratedPolicies/StagePolicy_{operation}.cs. Opaque policy bodies and their typed contexts are rendered one file per use site.GeneratedPolicies/Policies.cs,PolicyBodies.csandTypedContexts/PolicyContext.cskeep their paths, and their content no longer depends on which slices are rendered. Each policy registers itself, andRegisterGeneratedapplies the registrations in name order. - After upgrading, render a generated application at application scope once before rendering a single module, feature or slice, so that every policy moves to the new layout. See https://github.com/Cratis/Stage/blob/main/Documentation/guides/build-renderer-target.md. (#211)