Last updated: Feb 23 2018

Area: Episerver CMS Applies to versions: Latest

Upgrading Episerver

The Episerver framework is simply a set of NuGet packages that are part of a web application, which can be hosted locally or in the cloud. Episerver is easily upgraded through Visual Studio and the NuGet package manager. New releases are available weekly, making it easy to keep your solutions up to date.

In this topic

Upgrading steps

Episerver products consist of a main NuGet package with dependecies to other required packages. When updating, you only have to select the main package.

Episerver release packages are published to the Episerver NuGet feed. You can download and install release packages from here via the Package Manager or command prompt in Visual Studio

  1. If not already done, add the Episerver NuGet feed to the NuGet package manager in Visual Studio, see Installing Episerver updates how to do this.
  2. Right-click on References in your project, and select Manage NuGet Packages.
  3. Select Updates EPiServer and click Update for the EPiServer.CMS package. This adds the latest changes to your project.
  4. Compile your solution and start the website. You may see a system application exception caused by conflicting application and database schema versions, as each database schema version targets a specific Episerver version.
  5. In the Visual Studio Package Manager Console, run the command update-epidatabase.
  6. Reload the website, and verify that you can log in to the user interface.

Release management

Semantic versioning

Episerver follows semantic versioning. Release packages are numbered with a three-digit series, for example 10.2.0.

When the first digit is bumped, the release is called a major version. Major versions are releases that have some breaking changes. And by breaking changes, we mean that a developer may have to change something in their code before they can upgrade. 

When the second digit is bumped, the release is called a minor version. A minor release has some new features. When the third digit is bumped, the release is a bugfix version and only contains bug fixes. It does not contain any new functionality.

Example of releases:

10.0.0 (breaking changes) -> 10.1.0 (contains same functionality as 10.0.0 plus some new functionality) -> 10.1.1 (contains same functionality as 10.1.0 plus some bug fixes) -> 10.2.0 (same functionality as 10.1.1 plus new functionality) -> ... -> 10.8.2 (contains all features and bug fixes from previous versions plus new bug fixes) -> 11.0.0 (breaking changes).

Continuous releases

Instead of doing large releases once or twice a year, Episerver uses a continuous release process with short development and test cycles, and release of new versions every week or fortnight.

This way each release only contains a limited number of features and bug fixes, speeding up the time to market and making upgrading smoother. Each new release package is cumulative, which means that it contains all previous updates as well. 

As a developer, you decide how often you want to upgrade, but the more often you upgrade, the smoother it is.

Release information

  • Episerver release notes
    The Episerver development teams use a software tracking system to track work items. When a feature or bug fix is ready, it is associated with a specific release and displayed in the Episerver release notes feed. Use this to see details about what is included in a specific package version for a product.
  • Episerver updates
    Once a week, the previous week's release packages are published to the Episerver NuGet feed. At the same time, an update summarizing the weekly release information is published to the Episerver release update feed. Use this as an overview to browse updates and decide when to upgrade a solution.
  • Episerver features
    There is also a feature summary published approximately every three months. Use this to get an overview of new functionality released, to help your customers to decide when to upgrade their solution.

Beta features

To quickly get access to new features that are being developed, you can install Beta features, see Beta features for more information on how to work with these.

Related topics

Comments