Upgrade Sitefinity .NET Core Renderer


Sitefinity .NET Core Renderer and Sitefinity CMS are two decoupled applications that communicate via REST API calls. The communication is one-way, only the Renderer recognizes that there is an Sitefinity CMS instance and stores its URL in the appsettings.json file.

When you have two applications working together, it is important to upgrade them in a way that you avoid downtime. Therefore, Sitefinity CMS is backward compatible with older versions of Sitefinity .NET Core Renderer. This way, you can first upgrade the CMS application an afterwards – the Renderer. The newly upgraded CMS will continue running with the old Renderer, while you are upgrading it. This ensures that there is no downtime during the upgrade process.

IMPORTANT: Sitefinity CMS 14.4 is backward compatible with Sitefinity .NET Core Renderer 14.0, 14.1. 14.2 and 14.3.


Only the built-in features of Sitefinity CMS are backward compatible. If you have any custom widgets or endpoints, you must ensure that they will continue to work with the old Sitefinity .NET Core Renderer versions.

Recommended upgrade flow

We recommended first upgrading Sitefinity CMS, and then the Sitefinity .NET Core Renderer. When you start your upgrade process with the CMS and the Renderer running the same version, you should perform the following general steps:

  1. Upgrade Sitefinity CMS
  2. Connect Sitefinity .NET Core Renderer to the new Sitefinity CMS.
  3. Shut down the old Sitefinity CMS version.
  4. Upgrade Sitefinity .NET Core Renderer.
  5. Connect the upgraded Renderer to the upgraded CMS.
  6. Shut down the old Sitefinity .NET Core Renderer.

.NET Core Renderer breaking changes

Changed namespaces

With the 14.4 release, for the Renderer the following interfaces and classes are moved from Progress.Sitefinity.AspNetCore.Widgets.Models.Common to Progress.Sitefinity.AspNetCore.Models.Common namespace:

  • IHasMargins
  • IHasPaddings
  • OffsetSize
  • OffsetStyleBase

If your project is created on a version prior to 14.4 and you are referring any of them, you must change namespace Progress.Sitefinity.AspNetCore.Widgets.Models.Common to Progress.Sitefinity.AspNetCore.Models.Common.

Changes in Program.cs

With Program.cs file style entry point, the following line of code is no longer required:
app.UseEndpoints(endpoints =>
{ endpoints.MapSitefinityEndpoints(); });

Changes in output cache configuration

Output cache is no longer configured via Startup.cs

For more information, see Configure cache.

Want to learn more?

Sign up for our free beginner training. Boost your credentials through advanced courses and certification.
Register for Sitefinity training and certification.

Was this article helpful?