Is it time to use Umbraco 8, 9 or 10?
When developing a new website or making a major amendment to a site, a key decision that needs to be made is which version of Umbraco to use. While this is a technical decision, we think that this has to be a business made by the client.
Now more than ever this is a complex decision. Just this week we’ve seen Umbraco Partners on the horns of a dilemma – they started a project a year ago on Umbraco 8, and now the site is ready to launch the client is asking why it is not on Umbraco 9. With the imminent launch of Umbraco 10 shortly, it’s leaving many people wondering what’s the right version of Umbraco to use. So let’s look at the benefits, and potential risks the different options face.
Umbraco 8 was first launched in February 2019, and has gone through 18 minor versions, with Umbraco 8.18 being the last minor version of Umbraco 8. Umbraco 8 is now in Long Term Support until February 2024, and then will continue to receive security updates until February 2025.
It exists in an ecosystem of a large number of rich packages and plugins. Umbraco 8 is written using older Microsoft .NET technologies, called .NET Framework - this is often seen as one of it’s major weaknesses - however there are a large number of Umbraco developers with the skills to build and maintain sites on Umbraco 8 using .NET Framework.
Umbraco 9 was launched in September 2021, and has had 5 minor versions. Umbraco 9 was a watershed moment for Umbraco, as they moved away from .NET Framework to the more modern ASP.NET Core and .NET 5. While the business functionality built into Umbraco 9 is not substantially different from Umbraco 8, this new development platform means that Umbraco moves into a more stable supportable position with respect to Microsoft technologies.
This does, however, present a problem, in that there is a substantial amount of learning needed by the community of Umbraco developers to enable them to deliver client facing projects on Umbraco 9. There are also fewer packages available on Umbraco 9 compared to Umbraco 8.
But 9 months on from it’s initial release, this is beginning to change - there are more of the key Umbraco packages available on Umbraco 9. There are also many sites launched on Umbraco 9 so many of the early bugs, that might have hurt those on the leading edge, have now been resolved.
However, choosing whether to launch on Umbraco 9 currently isn’t that simple. Umbraco 10 is due for release in June 2022, and will be based on ASP.NET Core 6 and .NET 6 which is currently the latest version of .NET. Umbraco have committed that by releasing a site on Umbraco 10 with ASP.NET Core 6 you can be sure that it's safe for 36 months without any breaking changes.
Upgrading from Umbraco 9 to Umbraco 10 is set to be a simpler process than the upgrade from 8 to 9, where a substantial amount of work was required to rewrite all custom code that was built into your site. But it will take effort to undertake, and to test.
If you have a site that’s recently released or about to be released on 8, then we think there is a very strong case that was a sensible move, and that there is no rush to upgrade or migrate.
But at this point, do you build a new site on Umbraco 8, 9 or 10? There’s no one size fits all answer to this.
For new build projects we’d advocate building on Umbraco 9 and later upgrading to Umbraco 10 at a sensible point. There’s rarely a case to be made to delay a project and wait for 10 to release and stabilise.
For upgrades of sites from 8 or earlier - the picture is less clear. If the only reason to upgrade is for supportability reasons, we’d probably wait until 10 is released and stabilised. If there are other compelling activities in the project, we’d probably upgrade to 9 now, and do a following upgrade to 10 at a later date.
RELATED BLOG POSTS
With the advent of Umbraco 8.1.0 it is now possible to upgrade a site from a previous version to Umbraco 8. However, this is by no means an automated process. The new upgrade feature in 8.1.0 works similarly to previous Umbraco upgrades - they upgrade content stored in the database, but don’t provide provision to upgrade custom code written in Templates, Partial Views or Controllers. Umbraco 8 is a substantial breaking change from Umbraco 7, and so the effort needed to upgrade an existing site shouldn’t be underestimated. Critically the code used by Umbraco Developers to create Templates, Partials and…READ MORE