Upgrade Instructions

Describes how to upgrading existing installations to new versions.

In this article, you will find everything you need to upgrade your Umbraco CMS project.

If you are new to upgrades, be sure to read the introduction to upgrades in Umbraco first.

You will find instructions on how to upgrade to a new minor or major version as well as how to run upgrades unattended.

Upgrade to a new Major

You can upgrade to a new major version of Umbraco CMS directly by using NuGet.

You must upgrade to the closest Long-term Support (LTS) major version before upgrading to the latest version. For Umbraco 10, the closest long-term support version is Umbraco 13. Once the project is on Umbraco 13, you can move on to Umbraco 14.

Choose the correct .NET version

Use the table below to determine which .NET version to upgrade to when going through the steps below.

CMS version
.NET version

16

9.0

15

9.0

14

8.0

13

8.0

12

7.0

11

7.0

10

6.0.5

Upgrade your project using Visual Studio

If you are upgrading a Cloud project locally from version 14 to 15, remove the Umbraco.Cloud.Cms.PublicAccess and Umbraco.Cloud.Identity.Cms packages. For more details, see Step 3: Upgrade the project locally using Visual Studio in the Umbraco Cloud Documentation.

It's recommended that you upgrade the site offline and test the upgrade fully before deploying it to the production environment.

  1. Stop your site in IIS to prevent any changes from being made while you are upgrading.

  2. Open your Umbraco project in Visual Studio.

  3. Right-click on the project name in the Solution Explorer and select Properties.

  4. Select the .NET version from the Target Framework drop-down.

  5. Go to Tools > NuGet Package Manager > Manage NuGet Packages for Solution...

  6. Go to the Installed tab in the NuGet Package Manager.

  7. Upgrade Umbraco.Cms.

    a. Select the correct version from the Version drop-down.

    b. Click Install to upgrade your project.

If you have other packages like Umbraco Forms installed, upgrade them before upgrading Umbraco.CMS. Consult the version-specific upgrade notes for Umbraco Forms if relevant.

  1. Make sure that your connection string has TrustServerCertificate=True to complete the upgrade successfully:

appsettings.json
"ConnectionStrings": {
    "umbracoDbDSN": "Server=YourLocalSQLServerHere;Database=NameOfYourDatabaseHere;User Id=NameOfYourUserHere;Password=YourPasswordHere;TrustServerCertificate=True"
}
  1. Restart your site in IIS, then build and run your project to finish the installation.

Umbraco 13 and later versions use the Minimal Hosting Model.

If you have added custom code to the startup.cs file, it is recommended to move that code into a Composer after upgrading.

It is necessary to run the upgrade installer on each environment of your Umbraco site. This wil occur on first boot of an upgraded project as it is deployed into a new environment.

Potential issues and gotchas

If you receive an error that a deploy license is missing even though you have a valid license, follow the guide below.

Google Chrome has aggressive caching, so when experiencing startup issues, clear the cache and cookies thoroughly. Ideally, this should be done for other browsers as well.

Nudge the cache in Chrome following these steps:

  1. Open the developer tools (F12).

  2. Go to the settings (Cog icon).

  3. Ensure that "Disable cache (while DevTools is open)" is checked.

  4. Refresh the page, and the cache will be invalidated.

  5. Right-click the "reload" button next to your address bar and choose "Empty cache and hard reload".

All caches and cookies have now been cleared from your Google Chrome browser. Generally, it is a good thing to do occasionally.

Upgrade to a new Minor

NuGet installs the latest version of the package when you use the dotnet add package command unless you specify a package version:

dotnet add package Umbraco.Cms --version <VERSION>

Add a package reference to your project by executing the dotnet add package Umbraco.Cms command in the directory that contains your project file.

Run dotnet restore to install the package.

When the command completes, open the .csproj file to make sure the package reference was updated:

YourProjectName.csproj
<ItemGroup>
  <PackageReference Include="Umbraco.Cms" Version="x.x.x" />
</ItemGroup>

Run an unattended upgrade

When upgrading your Umbraco project, it is possible to enable the upgrade to run unattended. This means that you will not need to run through the installation wizard when upgrading.

Below you will find the steps you need to take in order to upgrade your project unattended.

Are you running a load-balanced setup with multiple servers and environments?

Check out the section about Unattended upgrades in a load-balanced setup.

Enable the unattended upgrade feature

  1. Add the Umbraco:Cms:Unattended:UpgradeUnattended configuration key.

  2. Set the value of the key to true.

appsettings.json
{
    "Umbraco": {
        "CMS": {
            "Unattended": {
                "UpgradeUnattended": true
            }
        }
    }
}

Run the upgrade

With the correct configuration applied, the project will be upgraded on the next boot.

Boot order

The Runtime level uses Run instead of Upgrade to allow the website to continue to boot up directly after the migration is run. This happens instead of initiating the otherwise required restart.

The upgrade is run after Composers but before Components, and the UmbracoApplicationStartingNotification. This is because the migration requires services that are registered in Composers, and Components require that Umbraco and the database are ready.

Unattended upgrades in a load-balanced setup

Follow the steps outlined below to use unattended upgrades in a load-balanced setup.

  1. Deploy to all environments.

  2. Set the Umbraco:CMS:Unattended:UpgradeUnattended configuration key to true for the Main server only.

  3. Boot the Main server, and the upgrade will run automatically.

  4. Wait for the upgrade to complete.

  5. Boot the Read-Only servers and ensure they do not show the “upgrade required” screen.

Legacy Umbraco

The steps outlined in this article apply to Umbraco version 10 and later versions.

Are you upgrading to a minor version for Umbraco 6, 7, or 8? You can find the appropriate guide below:

Minor upgrades for Umbraco 8Minor upgrades for Umbraco 7

Last updated

Was this helpful?