What a site actually references
A site restores the libraries, not the template. Cendia.Templates is a dotnet new shim and
is in no site's dependency graph — it delivers the starting files and then plays no further part.
The packages a site depends on:
| Package | What it is |
|---|---|
Cendia.Core |
The model: content types, fields, scheduling, audiences, security |
Cendia.Data |
Persistence and the CmsDbContext |
Cendia.AspNetCore |
Hosting: AddCendia / MapCendia, delivery, preview, rendering |
Cendia.UI |
The authoring surface |
Cendia.SchemaGenerator |
A build-time source generator; referenced as an analyzer |
Cendia.Storage.AzureBlob |
Optional media storage |
There is no metapackage, deliberately. Explicit references mean a site says what it uses, and a dependency that appears has to be asked for.
The upgrade promise, and its limit
Package updates flow into an existing project. The scaffold does not.
That is the whole shape of an upgrade: you take new packages, and the files dotnet new gave you
stay yours. It is also why the Starter is kept deliberately minimal — the promise holds only while
the scaffold is small enough to have nothing that needs to flow.
If a release changes something in the scaffolded files, that is an upgrade note, and it will say so in words rather than expecting you to diff a template.
SchemaGenerator is a build-time dependency
Cendia.SchemaGenerator is referenced with PrivateAssets="all" and as an analyzer. It emits
descriptors for your content types at build time; it is not part of what your site ships, and it
never appears in the dependency graph of anything that references your site.
Where announcements live
Release announcements and upgrade notes are CMS content on this site, not files in this section — see Releases. This section covers the mechanics that do not change between releases; what changed in a given version is published as an announcement, with a date on it.
The split is deliberate, and it is the same one the whole site runs on: a guide describes code, so it lives in the repo and changes in the same commit as the code it documents. An announcement is editorial and dated — written once, never revised — so it is authored in the CMS, where scheduling and a publishing workflow are worth having.