HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Upgrade to CMS 11

Optimizely Content Management System (CMS 11) is a major version containing some incompatible API changes.

No data migration is required; updating to Optimizely Content Management System (CMS 11) is no different from updating to the feature updates delivered previously through NuGet. To make sure the upgrade is as smooth as possible, there are a few steps that you may want to take that are discussed in the next sections.

Breaking changes

A breaking change is a change that might cause other components to fail. When a breaking change is done to the signature of a method, class, or interface, the old signature is often kept intact but set as obsolete and may cause a warning message in Visual Studio. As long as the Visual Studio project setting "Treat Warnings as Errors" is not enabled in Visual Studio, you can postpone fixing these warnings until later.

Classes that expose constructors that take dependencies are normally deleted without an obsolete warning in major releases because the compiler gives enough information about what to change. Keeping them makes dependency injection complex because there are multiple constructors to choose from that, over time, might or might not overlap.

Obsolete methods are removed permanently in each major version to ensure the API is kept clean and usable over time. So, even if you can postpone fixing warning messages, ensuring they are fixed before upgrading to a major version is good practice. For CMS 11, many methods that were made obsolete in 10.0 are now deleted.

See Breaking changes (CMS 11).

Upgrade add-ons

Add-ons managed with Visual Studio can be upgraded with the platform through NuGet. Add-ons installed through the user interface must be upgraded through the user interface.

You should convert installed apps (add-ons) through the user interface NuGet apps after the upgrade to CMS 11. A tool can automatically convert previously managed apps through the user interface to be managed as NuGet packages through Visual Studio. For more instructions on converting user interface apps to NuGet apps, see Linus Ekström's blog post Upgrade your site and add-ons to EPiServer CMS 8 pre-release.

Incompatible apps installed through the user interface must be disabled to reach the user interface and the update functionality. An exception message shows information on turning off an app that blocks startup.