9.0RC Top Hero For Com 1500X500px 1@2X 80

Umbraco 9 Release Candidate

Bjarke Mikkelsen Berg
Written by Bjarke Berg

Umbraco 9 is almost done 🎉 It was feature-complete with the beta release and now the official add-ons, Umbraco Forms and Deploy, are also updated to work on .NET 5/ASP .NET Core. We’re super thrilled to see that many community packages are also up to speed with the releases - this means that when we ship the final version in August, you can feel confident in using Umbraco 9 for your next projects! We present to you the Umbraco 9 Release Candidate, which we hope you’ll take for a good spin 👏👏👏

Along with the official add-ons being available for Umbraco 9, a number of community packages have also been updated and there are more to come. We’re so thankful for all the hard work put in by the community and package developers to ensure a great launch for Umbraco 9. HIGH FIVE YOU ROCK 🙌


What’s new since Umbraco 9 Beta

The bulk of the work that has been done since the first beta release is related to how packages are handled in Umbraco.

The most significant change in this area has been to the package format and installation process. Due to technical changes in the underlying web framework, we can no longer make a stable package format that supports DLL files, if packages have to be installed during runtime. Instead, we have decided to go with the built-in package format for dotnet - NuGet packages. 

You can read more about the root cause and the initial approach to the issues in the Packages in Umbraco 9 on NuGet blog post.

Only one supported package format

NuGet packages have been supported in Umbraco for years and have already become the standard both for delivery and consumption for many users. From Umbraco 9, it will be the standard (and only) way of creating and installing packages in Umbraco. This should make it easier to document how to create, publish and maintain packages going forward.

Switching exclusively to NuGet does bring about some challenges as well, such as lack of support for content installation, discoverability/installation through the backoffice, and more. These have all been addressed as you can see below.

Package Migrations

In order to deal with content installation via packages, we’re introducing a new concept called Package Migrations. These are very similar to the migrations that Umbraco uses, but the solution can configure whether or not to execute these unattended, during startup or manually from the package section.

Run Package Magrations From The Backoffice in Umbraco

Package migrations can be used where packages normally have been using the original migrations, but it will also be possible to use Package Migrations to load an XML-doc with Umbraco content. This XML-doc can be generated from the Umbraco package section, in the same way you have been building Umbraco packages with content in the past.

The configuration of Package Migrations can be different for each environment and makes it possible to have the migration executed unattended on the development environment, but leave them or run them manually on other environments. This can be used when you use a tool like Umbraco Deploy or USync as these will migrate the content.

Changes to the Package section

Due to the change to only support NuGet packages, we have made some minor changes to the package section. Now, packages on Our.Umbraco need to be marked as “This package is in the new (V9+) NuGet format”, and have a “NuGet package URL” to be searchable from backoffice. This is required as the old compatibility information was tied to the uploaded files, which do not exist for v9.

Click here for full-screen video.

Starter Kit

The official Umbraco Starter Kit is available as a Beta, distributed as a NuGet package. This is possible due to the new Package Migrations.
The official Umbraco Starter Kit showcases both how to use Umbraco in a super simple example but also showcases how to create starter kits for Umbraco.

Besides shipping starter kits as NuGet packages, .NET5 also makes it possible to ship starter kits as dotnet new templates.

Other HQ packages

Umbraco Forms has been available in beta version since the third beta of the CMS but is now updated to work together with this new Release Candidate.

 Furthermore, we are now ready to ship Umbraco Deploy in the first beta version. The implementation of Umbraco Deploy led to a couple of changes in the CMS to make package development easier.

 Finally, we have also made the Umbraco.ExaminePDF available, so it is possible to read text in most PDF files.

Simpler install process

Now that we have reached release candidate status, we have decided to ship the NuGet package and templates for Umbraco 9 on the official NuGet.org feed. This makes the installation process of Umbraco 9 even simpler compared to the beta and alpha releases. See the How to get started section below for details. Forms and Deploy for Umbraco 9 are still in beta and available from the umbracoprereleases feed

What’s new in Umbraco 9?

If you want a full overview of changes in Umbraco 9 compared to Umbraco 8. Please refer to the blog post for the beta release.

Who is the release candidate relevant for?

You, most likely 😉 As we consider Umbraco 9 feature-complete, and more and more packages become available, this release is also relevant to more people. And if you want to be one step ahead of what the future of Umbraco will look like/work very soon, taking the Release Candidate for a spin is a great idea!

Real projects

Do note that it is still just a release candidate and we expect to find issues that need to be fixed before the final release. We do not recommend running live Umbraco 9 sites in production on the release candidate.

If you have a project that is targeted to go live after the final release of Umbraco 9.0.0, we recommend starting that project on the release candidate. We are currently targeting end-of-August for the final release.

Help us by testing/playing around

The more people building projects and testing out the release candidate the better. We appreciate all testing and especially edge cases that you have done in Umbraco previously. If you encounter any issues, please do raise an issue on the tracker - see below for more details. 

Package developers - Make your packages available

We know many package developers are starting to migrate their packages to Umbraco 9, including Vendr, uSync, DTGE, uMarketing Suite, Contentment and more. That is amazing - SuperTak! Packages are important for most Umbraco sites and the earlier these packages are available the more people can help to test both Umbraco and the packages, before the final release.

Illustration of a rocket being built by 4 hands. Umbraco logo and text 9.0 RC

How to get started

We have added a full guide to how to get started with the release candidate, but here you have a short summary.


First of all, please check the prerequisites list:

  • .Net 5 SDK
  • SQL connection string (MS SQL Server/Azure), unless you want to install using SQL CE (Compact Edition)

To use the new release candidate you can install the new Umbraco dotnet template:

   dotnet new -i Umbraco.Templates::9.0.0-rc001

Now that the Umbraco template is available, you can create a new empty Umbraco project:

   dotnet new umbraco -n MyCustomUmbracoSolution

This creates a new project with the name: MyCustomUmbracoSolution. You can now open the newly created project in your favourite IDE (Integrated Development Environment) or continue using the CLI (Command Line Interface)  commands.

In CLI the project can be built by navigating to the newly created folder and running the build command:

   cd MyCustomUmbracoSolution
   dotnet build

At this point, the project is ready to be executed:

   dotnet run

This will boot the project, and write the log to the console. The website is now running on the Kestrel server, it will be available on the ports written in the console.

By default, Umbraco installs without SQL CE support, due to the Windows-only limitation. SQL CE can be added by creating the project with the following command:

dotnet new umbraco --SqlCe -n MyCustomUmbracoSolution

How to provide feedback

If you find issues that are not already reported, please report them on the GitHub tracker by following the link or selecting “🐛 Bug Report” when creating a new issue.

Umbraco Netcore Github Issue

What’s next?

Even though this release is considered feature complete, it is unrealistic to expect there won't be more changes to come, although at this stage they should be minor bug fixes based on feedback and testing.

We plan to make new release candidate versions when bugs are fixed. Besides fixing potential bugs in the CMS and the HQ packages, we will also focus on making Umbraco 9 available on Umbraco Cloud and continue the efforts to document Umbraco 9 with the Documentation Curators. 

Finally, we will of course continue to merge new features from Umbraco 8 into Umbraco 9.

All of this leads up to the final release for Umbraco 9, which is targeted for release at the end of August, 2021.

Now, go on and take the Umbraco 9 Release Candidate for a spin!

Umbraco V9 RC art work

Be the first to know when Umbraco 9 launches

The anticipated new version of Umbraco CMS is around the corner - a version that moves the CMS to the modern .NET 5/ASP.NET Core.

This is a huge milestone that paves the way for a better, faster and more modern Umbraco. We're super excited for the launch which is planned to take place just very soon! Sign up and be the first one to know! 

Loved by developers, used by thousands around the world!

One of the biggest benefits of using Umbraco is that we have the friendliest Open Source community on this planet. A community that's incredibly pro-active, extremely talented and helpful.

If you get an idea for something you would like to build in Umbraco, chances are that someone has already built it. And if you have a question, are looking for documentation or need friendly advice, go ahead and ask on the community forums.

Want to be updated on everything Umbraco?

Sign up for the Umbraco newsletter and get the latest news and special offers sent directly to your inbox