Type: FAQ
Category: Umbraco Cloud > Versions & Upgrades
Tags: end-of-life, EOL, end-of-service, EOS, XLTS, extended support, Umbraco 8, Umbraco 9, unsupported version, migration, rebuild, upgrade, dedicated hosting, security patches
Product: Umbraco CMS, Umbraco Cloud
Version: v8, v9
Short answer
Umbraco 8 and Umbraco 9 have both reached End-of-Life and are no longer supported. Sites on them still run, but they no longer receive security or compliance patches. On Umbraco Cloud, projects on these versions have entered the End-of-Service process, which ends with the project being taken offline. Moving to a supported version before February 24, 2027 takes the project out of that process entirely.
End-of-Life dates
Umbraco 8: February 24, 2025
Umbraco 9: December 16, 2022
After End-of-Life, a version gets no further releases: no security patches, no compliance fixes, and no technical support.
What End-of-Service means on Umbraco Cloud
End-of-Service is the Umbraco Cloud process for projects left on an unsupported version. Two dates apply to Umbraco 8 and Umbraco 9 projects:
February 24, 2027: the project is moved automatically to dedicated hosting, isolating it from the shared environment. Dedicated hosting runs on Dedicated Resources, which carries a cost. Projects already on Dedicated Resources are unaffected.
February 24, 2028: hosting is discontinued and the project stops working. Data and files remain retrievable for 30 days after this date, then are permanently deleted.
Moving to a supported version before February 24, 2027 avoids both the move and the shutdown.
If you self-host rather than run on Umbraco Cloud, the End-of-Service process does not apply to you, but the End-of-Life dates above still do: an unsupported version stops receiving security patches wherever it runs.
Buying time: Extended Long-term Support (XLTS)
If moving to a supported version is not realistic in your timeframe, Extended Long-term Support is a paid option that keeps security and compliance patches coming for a version that has passed End-of-Life. It is available for Umbraco 7 and Umbraco 8, and for LTS versions from Umbraco 10 onwards. It is not available for Umbraco 9.
XLTS is a way to plan the move on your own schedule, not a way to avoid it: coverage runs for a limited period and then ends, and the End-of-Service dates above still apply to the project.
Because the coverage window differs per version, check with the Umbraco team what XLTS would cover for your site and until when before you build a plan around it. See Extended Long-term Support (XLTS).
If you are on Umbraco 8: migration or rebuild
There is no in-place upgrade from Umbraco 8. The framework moved from ASP.NET to ASP.NET Core at version 9, so moving forward is a migration or a rebuild.
Content and media can come across by reusing the existing database.
Templates and custom code cannot be migrated. They have to be reimplemented, including updating
.cshtmlfiles to the new namespaces.On Umbraco Cloud the move is done locally first: you migrate to Umbraco 10 on your own machine, then upgrade one major version at a time until you reach a version Cloud currently supports. You cannot run this migration directly on a Cloud environment.
How much work this is depends mostly on the site's age and how much custom code it carries, so it is worth scoping early.
If you are on Umbraco 9: an in-place upgrade
Umbraco 9 is already built on ASP.NET Core, so this is an upgrade rather than a rebuild. You move up through the major versions to a current release, and content, database and most custom code come with the project. The upgrade is done locally and then deployed to Cloud.
The step to plan for is Umbraco 14 and later, where the backoffice was rebuilt. Custom backoffice extensions and some legacy property editors need reworking as part of that step.
Not sure which path suits your site?
The right route depends on the site's size, how much custom code it has, and its dependencies. If you are on Umbraco Cloud, contact Umbraco and ask for an End-of-Service session, and we will help you map out the options. If you are already in a support conversation, ask to talk to a human agent.
Recommended documentation
Last updated on September 8, 2026
