Join Emma, Bjarke, Warren and Rune for a look and the brand new Umbraco release, including live demos and highlights.
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.
Getting started with Umbraco 10
Getting Umbraco 10 up and running is just as easy as you are used to (and even easier if you’re on MacOS or Linux).
Umbraco 10 on Umbraco Cloud
From today, Umbraco 10 is the default version for new projects created on Umbraco Cloud - it really is the easiest way to start a new project - so why not head on over and create your next project or take a free 14-day trial?
As the entire project will need to be upgraded to .NET 6, existing Umbraco Cloud projects will need to follow the upgrade instructions to go from Umbraco 9 to 10.
Install on your own
If you’re installing Umbraco elsewhere the standard installation instructions is the way to go, and if you are upgrading on-premises installations remember to check the version specific documentation for Umbraco 9 -> 10.
Get off to a great start with Umbraco 10 documentation
The Documentation Curators and core developers have been busy updating Umbraco documentation for the new release. I’ve already linked to a few of the articles but there are more that have been updated (and more coming):
- Version-specific upgrades from 9 to 10
- Nullable Reference Types
- Breaking changes
The reference documentation for Configuration has also been updated with a new structure, separating out the Configuration for Umbraco on ASP.NET Core (Umbraco 9+) and ASP.NET (Umbraco 7 and 8).
Start using Umbraco 10 today
Umbraco 10 is available everywhere you get your Umbraco and we’re proud of this new major. So many new improvements and updates that will make your Umbraco sites faster and a delight to work with. You can find the full list of improvements, updates, and changes in the Umbraco 10 release notes.
The new features are enabled by the upgrade to .NET 6 (and all the other dependency updates) offers many new features for developers, and the response, even before the release has been amazing. We’re thankful for our wonderful community that has helped test and verify the release. The extended release candidate phase (6 weeks for a major) has been really productive, not least thanks to community feedback and resulted in no less than 5 RCs💪
Roll the credits 🎉
Speaking of contributions… Again, we can say a huge thank you and HIGH FIVE YOU ROCK to all the contributors to Umbraco 10. Of the 71 bug fixes and feature additions in 10.0.0, a total of 13 of them have been contributed by the community, by 10 unique contributors. We’re welcoming 1 brand new contributor who has made their first pull request for Umbraco CMS; marked with a star below. Welcome to the contributor club Johan Runsten! 🏆
⭐ = First pull request to any Umbraco CMS
And of course, as a thank you, we’ve just added another bunch of trees to our growing plot for today’s 10.0.0 release to celebrate your contributions! 🌳🌲🌴