HomeDev GuideRecipesAPI Reference
Dev GuideAPI ReferenceUser GuideLegal TermsGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Upgrade to CMS 8

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

No data migration is required; updating to Optimizely Content Management System (CMS 8) is no different from updating to the feature updates delivered previously through NuGet. To make sure the upgrade is as smooth as possible, take the steps in the following sections.

Breaking changes

A breaking change is a change that might cause other components to fail. When a breaking change happens 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 might or might not overlap over time.

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, fixing them before upgrading to a major version is good practice. For CMS 8, many methods became obsolete in 7.0 and were deleted.

Find the list of breaking changes for CMS 8 here.

Upgrade add-ons

You can upgrade add-ons managed with Visual Studio with the platform through NuGet. Upgrade add-ons installed through the user interface through the user interface.

You should convert add-ons installed through the user interface to NuGet add-ons after the upgrade to CMS 8. New in this release is a tool that automatically converts add-ons previously managed through the user interface to be managed as NuGet packages with Visual Studio. For more instructions on converting UI add-ons to NuGet add-ons, see Linus Ekström's blog post Upgrade your site and add-ons to EPiServer CMS 8 pre-release.

Incompatible add-ons installed through the user interface must be disabled to reach the user interface and the update functionality. An exception message displays information on how to deactivate an add-on that blocks startup, you can read more about disabling add-ons and UI or Visual Studio add-ons in the SDK.