The number 9 on an orange background

Umbraco releases v9

The 28th of September was marked with a big red cross on every Umbraco fan’s calendar out there. The much anticipated Umbraco version 9 was released yesterday, moving the Umbraco CMS to the modern .NET 5/ASP.NET Core stack. Let’s explore what all the fuss was about.

Mario Lopez

29 September 2021

4 minute read

Installing a new Umbraco 9 site is not going to give you, aesthetically speaking, anything you haven’t seen before in Umbraco version 8. The back-office design is the same, actually still powered by our old friend AngularJS (more about this later), and you won’t find any new features that you don’t currently have.

But the best of Umbraco 9, and the reason why all the kids are crazy about it, is not what you can see, but what is under the hood. The underlying engine is what will make this new version much better than its predecessor.

Bye Bye .NET Framework

Umbraco 9 targets .NET 5. This is a big deal. Umbraco has been running on the .NET Framework for a while now, and a lot of people expected to be using the more modern .NET Core with the release of version 8.

This didn’t happen and some felt a bit let down having to wait longer to use a framework that started to power very powerful applications out there in the Microsoft technology space.

Anecdotally, I have even heard of developers leaving their agency because they felt that their skills were getting obsolete having to develop on the .NET framework.

The truth is that Umbraco 7 was not a clean slate in terms of tech debt. It still had a lot of legacy code, inherited from its WebForms past and dynamic models support. The update to Umbraco 8 didn’t involve a change in the framework but it involved a lot of cleanups, getting rid of those old parts and making the system ready for .NET Core.

Welcome .NET 5/ASP.NET Core

The new targeted .NET 5 will give us a lot of goodies to play with, and that’s why there is a sense of excitement in the Umbraco community. 

Cross-platform compatibility

You currently need a Windows PC to develop Umbraco and that’s going to change. The old .NET Framework doesn’t run on a Mac, but in the last few years, Microsoft has focused on making development platform-agnostic, which means that now we can develop on a Mac targeting .NET 5.

This will make a lot of front end developers (FEDs) happy. Many designers and FEDs are used to working on a Mac, and developing for Umbraco has meant that they need to work on a Windows PC or on a virtual Windows machine.

Dependency injection

Dependency injection in Umbraco has always been possible using external packages, but now DI comes out of the box with .NET 5, which will make this technique super easy to use. It will also allow developers to build solutions that are loosely coupled.

Performance

.NET 5 has tonnes of performance and security improvements. I couldn’t find an overall benchmark comparison between .NET 4.8 and .NET 5, but you can read this article with lots of tests and explanations about those improvements.

If we just take the results of a few of the tests we can see that the improvement in performance is noticeable.

Umbraco v9 performance table

Packages

The way we will have to install packages in Umbraco is something that will change dramatically with v9.

For years, packages have been made available as Umbraco packages, which you can install from the Umbraco back-office, and Nuget packages, which just a developer can install using Visual Studio.

But these two types of packages are a pain for package developers who need to support both approaches (some package developers decided to offer only NuGet packages).

Umbraco packages are being retired in favour of Nuget. This makes packages easier to update and deploy.

What’s next?

As we have seen, moving to .NET 5 is a big step forward. And although this has been a long-awaited project, for some it still falls a bit short. The reason? AngularJS.

On Umbraco V9, the back-office is still running on AngularJS, a pretty famous and powerful JavaScript framework that was long ago superseded by its own version 2 years ago and by other newer and better libraries. Even the native JavaScript has evolved over the years making it even more powerful than before.

There is still no news about when we can say goodbye to AngularJS but some work has been in progress to adapt the back-office to the upcoming improvements.

We can also read on that page that TypeScript will be used to develop the new back-office.

Join the party

We were fortunate to join the Umbraco v9 launch party pretty late last night. For those who are not night owls and missed the launch party, Luminary is sponsoring the next online Australian Umbraco Meetup where you can install and troubleshoot v9 and try out the latest packages and apps with peer support. You can register here for this special session on Wednesday, 13 October at 6pm (UTC+11).  

Want to work with an Umbraco Platinum Partner?

Contact Us

Keep Reading

Want more? Here are some other blog posts you might be interested in.