Umbraco ballons and unicorn balloons

Alpha 3 release of Umbraco on .NET Core

Bjarke Mikkelsen Berg
Written by Bjarke Berg

It’s time for the 3rd alpha release of Umbraco on .NET Core. This release includes routing and website rendering, updates to dependency injection and more. A lot of the progress is made possible by community contributions and the Unicore community team. Let’s take a look at what’s in the release.

Before we dive in to the release, a quick reminder that the Umbraco London Group is hosting an online meetup on Thursday, February 11. There will be talks by Emma Garland, Carole Rennie Logan and myself, all centered around the move to .Net Core. If you want an overview of what Project Unicore is, checkout the new landing page.

What’s included in Alpha 3

Since the last alpha release, a lot of cool features are now available, including:

Website rendering
Routing with razor templates is now fully functional, which means you can render and query content as expected. For a quick demo check out the following video:

Netcore Website Rendering

This is a big milestone and one of the major requirements for the beta release.

Package Support
You can now register and create packages. While much of the base functionality is in place it is still too early to work on package migration from v8 to Project Unicore. This will be the main focus after the beta release and we expect changes and updates to occur in this area.

Models Builder
The embedded Models Builder has been updated to work on ASP.NET Core and the Roslyn compiler.

Although that main focus has not been on the backoffice, we still updated lots of things since the last alpha release. Areas like changes to the web APIs such as all C# enums now being serialized as strings. 

Dependency Injection (DI)
Change of dependency container from LightInject to the native container shipped in ASP.NET Core. This means that we’re aligning Umbraco with the standard way of handling DI in .NET Core and if needed you can implement your preferred way by using other DI frameworks such as LightInject on top.

Framework updated to .NET 5
Another change in this alpha release is the update of the underlying framework and other dependencies from .NET Core 3.1 to .NET 5 and the web specific ASP.NET Core from 3.1 to ASP.NET Core 5. 

Even though .NET 5 is not an LTS version, we want to ensure that Umbraco is staying up-to-date with the new changes in the framework. There are a number of benefits in .NET 5, such as improved performance, and this also means that projects that include Umbraco can easily update the underlying framework to .NET 6 LTS when this is released (scheduled for November 2021), while Umbraco keeps its dependencies to ASP.NET Core 5.

It’s a little confusing with the .NET naming, we know 😉 If you want further explanation see this blog post from Microsoft introducing .NET 5.

As you can see a lot of things have been updated and changed in order to work with the new framework. All testing of the mentioned areas is very much appreciated and will be a big help to us as we get closer to the beta release.

Who is the Alpha release relevant for?

Like the other alpha releases, this release is mainly addressed to developers who have an interest in helping, testing and finalizing the project. It is still too early to start upgrading packages to use this version, as lots of APIs will still need to be updated or revisited.

Furthermore, since this is an alpha release, you should not expect that any data stored in the database or on the filesystem will work on later versions. In other words - please don’t start solutions on this release that will end in production.

But please do start testing and help us move forward with the .NET 5 move 🙏 

How to get started

The procedure to get started is the same as for the other alpha versions. Be aware of the new prerequisites about having .NET 5 SDK.

Ensure you update your Umbraco dotnet template, and then you are ready to create new projects running on the alpha 3. See a full description and other interesting notes in the Umbraco .NET Core documentation.

If you want to be on the bleeding edge, we also offer nightly builds. But be aware these are not tested as intensively as the alpha releases.

Known Issues in this Alpha release

While using the alpha beware of the following known issues:

  • Often when using the backoffice, a “Not the Ambian scope” exception is shown. Often you can just retry the operation.
  • Restarts during install
    • When the Umbraco solution is installed, a restart is required. Right now we need to use IIS/IIS express to handle the next request and start the process again. Sometimes this fails and you need to start the process again
  • Members are still an area with lots of missing functionality
  • Mac/Linux + Examine/Lucene issue as that assembly still is built for .NET Framework.

How to provide feedback

The above are all known issues meaning you don’t need to report these. We try to keep the list of known issues up-to-date in the Umbraco .NET Core documentation. If you find other issues that are not already reported, please report them on the GitHub tracker by following the link or selecting “🌟 .Net Core Bug Report” when creating a new issue.

Umbraco Netcore Github Issue

What’s next?

Even though this alpha release is another significant milestone for the project, there are still areas to migrate. 

Some of the most significant parts that are still to come are:

  • Examine migrated to .NET Standard
  • All remaining member functionality and related parts need to be migrated to ASP.NET Core Identity
  • HQ Packages are not available, so no Starter kit or Forms
  • Documentation

These parts will be released in future alpha, beta releases or the release candidates. We will, of course, make sure to keep you updated in future blog posts and Product Update blog posts so you know when you’re able to test the different parts.

If you'd like to pull down the source code that this template is built from, the latest .NET Core Umbraco branch is on the "netcore/dev" branch. You can find a list of open issues on the issue tracker. All help and pull requests are very welcome!

Upcoming Beta version March 2021 

We aim for having the first beta release ready by the end of March. The beta releases are defined as a feature-complete CMS, but still without the HQ packages. We expect to ship multiple beta releases when we fix issues found or other improvements are ready. From the beta releases, we will also start documenting all changes between releases, to help package developers migrate packages to the .NET Core version.

Community contributions to this Alpha version

We’ve been thrilled to see such significant contributions to this release from across the Umbraco community. 

First of all, our Unicore team has again contributed across a number of crucial areas such as discussions, advising, coding and testing the Alpha. Huge thanks to Emma, Benjamin, Steve Andy and Simone.

Furthermore, we’ve had some great contributions from members of our community:

H5YR🙌 to everyone who has helped us on this project! 

Now - help us get even further by testing out the alpha 3!

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 the Umbraco community on Our.

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