Version 10.0 of Umbraco was released recently. Umbraco is a content management system for editing and managing dynamic web pages. The whole thing is written in C# and runs on a Microsoft infrastructure. There is a positive and proactive community with more than 50,000 registered users and developers who ensure a stable flow of releases. The release notes for this release can be found below.
Umbraco 10 Release – Umbraco CMS on .NET 6
Umbraco 10 is both the first of many and contains many firsts. It is the first on the new major release cadence, it’s a long-term support major, it has full support for cross-platform development, running on the latest framework, supports WebP images, and much more. Let’s take a look at why Umbraco 10 is the best version of Umbraco yet and a great starting point for new projects.
First Major on the new Release Cadence
If you’ve been using or following Umbraco for a while, you might be surprised that a new major is coming out just 8 months after the release of Umbraco 9. Historically new Umbraco majors have been released with multiple years in between and were more often than not huge overhauls to both the UI and API layer. This meant that upgrading to a new major version, while tempting, was a big undertaking with numerous breaking changes and migration of data, code, and more. We want to change this.
A move to “proper” semantic versioning was announced along with a new release cadence to make releases more predictable and upgrades as easy as possible. This has resulted in minor releases every 6 weeks, with new features and improvements. And from this release forward, a new major will be released every 6 months, aligned with the .NET release cadence, to ensure that Umbraco developers can always run on the latest available technology. It also has the advantage of making it possible to provide larger changes on a steady and predictable cadence.
That all means that with Umbraco 10 you are running .NET 6, ASP.NET Core 6, and C#10 – and by being a major release the development team has had the opportunity to properly address some long-standing issues and legacy technology. You can read more about Versioning and Release Cadence in the Product Knowledge Center†
Long Term Support (LTS)
Not only have we aligned Umbraco releases to the .NET release cadence, but it is also aligned with Microsoft’s LTS policy for the underlying framework.
As .NET 6 is an LTS release, so is Umbraco 10. The next LTS release of .NET will be version 8 targeted for release in November 2023 and Umbraco 13 will be released shortly after as an LTS version. Again, this should help make it easier to predict releases and plan for future projects. You can read more about Long-term Support and End-of-Life policies in the Product Knowledge Center† Umbraco 10 is an LTS release with support ending in 2025.
Umbraco is a cross platform CMS
Huge steps were made toward extending Umbraco’s cross-platform capabilities with the release of Umbraco 9 and the move to ASP.NET Core but there were still some hurdles to overcome when running Umbraco on Unix. We’re pleased to announce that as of Umbraco 10 we now have full support for both Windows and Unix-based platforms. Technically, this has been achieved by introducing a new embedded database option for local development. Say hello to SQLite, a fully cross-platform capable file-based database.
SQLite replaces SQL Compact Edition (CE) as the quick and easy way to spin up Umbraco locally. Installing and running Umbraco is now the same across all platforms, all you need is to have the .NET SDK installed and you can follow the same installation instructions anywhere.
Now running .NET 6
Many of the new features and improvements you get access to with Umbraco 10 comes from the underlying framework update from .NET 5 to .NET 6.
There are multiple areas that have improved performance and a notable new version of C# (C#10) adds features to simplify development and enhance productivity such as Filescoped Namespaces, and Constant Interpolated Strings. If you look at Umbraco source code you might notice an even cleaner solution – not only do you get access to all these great new features, they’re already being used in the Umbraco Core to make things easier to maintain and use going forward.
Nullable Reference Types
This is another one of the big new features in C#10 and it has been a big focus to enable this by default for the Umbraco core. You can of course also make use of it for your own Umbraco projects, it’s enabled by default for new projects, and you can opt-in on existing projects. see the Nullable Reference Type documentation for more information.
Probably the fastest Umbraco in the world…
As mentioned above .NET 6 does provide some performance gains over previous versions- That coupled with the huge increase in performance we saw with Umbraco means there’s never been a better time to start with Umbraco. see the Performance Improvements in .NET 6 article for more information.
More performance + WebP support
.NET 6 is not the only thing that helps boost performance in Umbraco 10. ImageSharp, the powerful image processing library used in Umbraco, has been updated to version 2 and this also comes with a number of performance enhancements and support for encoding and decoding the webp file format – this has been a much-requested for quite a while now and it’s great to see it fully supported in Umbraco 10. See the ImageSharp 2 announcement blog post for more details.
Umbraco Forms 10 and Umbraco Deploy 10
Also released today are new versions for both Umbraco Forms and Deploy. While they are new major versions, the changes have been made primarily to ensure full support for running on Umbraco 10 and .NET 6. You can read the details in the version-specific upgrade notes for Umbraco forms and Deploy†