Whether your on 7, 8, 9 or somewhere in-between it might be time to upgrade to Umbraco 10.
Benefits of upgrading
- Umbraco 10 runs on .Net 6, both of which are long-term-support (LTS) versions of their respective product. End of life for Umbraco 10 is June 16, 2025, making an Umbraco 10 upgrade a good investment of time as it's end of life exceeds that of both Umbraco 11 and Umbraco 12 by almost a year.
- Umbraco 10 includes ImageSharp 2 support, which introduces support for WebP files, which are more efficient than .PNG files. This allows for smaller image files to be used on your website.
- .Net 6 has performance improvements over previous versions of .Net, meaning your website can run more efficiently.
How do I upgrade to Umbraco 10?
If you're upgrading from Umbraco 9, you should be able to update the Umbraco packages on your project to Umbraco 10 versions. You will be prompted with an automatic database migration when you next login to the back office.
If you're upgrading from version 8 or earlier, you will need to migrate to Umbraco 10 instead - this will also include an upgrade to .Net 6. If this is the case you'll need to uninstall the existing Umbraco packages and install version 10 of Umbraco.Cms packages. You'll then need to update the using statements throughout your code to point to the new namespaces, as well as any other code changes required from the .Net upgrade. Fortunately, the database upgrade is as simple as if you are upgrading from version 9, as you will get the same prompt to run the automatic database migration.
Curveballs to look out for
If you're looking to upgrade to Umbraco 10 and you are using Umbraco Forms, make sure you've enabled forms storage in the database before you upgrade. You can do this by adding the following line to your UmbracoForms.Config file, which can be found by default in App_Plugins\UmbracoForms\UmbracoForms.config:
<setting key="StoreUmbracoFormsInDb" value="True" />
Umbraco should then automatically move your forms to the database, which will be updated alongside the database upgrade.
What to think about for the future upgrades
Umbraco 11 and 12 are both available for upgrade now - each with new features and performance upgrades, however will require an upgrade to .Net 7. However, both of these versions are Short-Term-Support (STS) versions of Umbraco, so their end-of-life is before that of Umbraco 10.
Umbraco syncs it's LTS releases with .Net's LTS releases. The next LTS release of .Net is version 8, which will line up with Umbraco 13 - the next LTS version of Umbraco. If you're looking for a version that will last you a while, then waiting for December 2023 for Umbraco 13 may be better for your project. Umbraco 8 will be receiving security updates until December of 2025, so will be safe for use for over 2 years at the time of this post being written.
Handy Tips?
- Some static classes may no longer be available if you're upgrading to .net core. The functionality included in these classes (e.g. HttpContext) may now be accessible through dependency injection.
- If you're using the Our.Umbraco.DocTypeGridEditor package, you may need to delete the existing App_Plugins/DocTypeGridEditor folder before upgrading to prevent errors on your views.
- You can use the .net upgrade-assistant to speed up your project's upgrades to .net 6.