The runtime deadline underneath your CMS

Microsoft set 10 November 2026 as the end of support for .NET 8 and .NET 9. For organisations running a .NET content platform such as Optimizely CMS 12, Umbraco 13 or Kentico Xperience 13, that date sits underneath the CMS rather than on its roadmap, and it calls for a planned response rather than a rushed one.

A row of plain concrete columns photographed in soft greyscale light.

Most content platform roadmaps track the CMS vendor's release calendar. Fewer track the runtime the CMS is built on, even though that runtime has its own support policy and its own end dates. For a large group of enterprise websites built on Microsoft .NET, one of those dates falls on 10 November 2026, and two vendor dates follow it before the end of the year.

This article sets out what the dates are, how they affect three widely used .NET content platforms, what a platform owner should check, and how to choose between the available options. It is written to remain useful whether you read it shortly before the date or some weeks after it.

Microsoft set 10 November 2026 as the end of support for .NET 8 and .NET 9

Microsoft publishes a support policy for .NET that distinguishes Long Term Support (LTS) releases from Standard Term Support (STS) releases. That policy lists 10 November 2026 as the end of support for both .NET 8 (an LTS release from November 2023) and .NET 9 (an STS release from November 2024). STS releases now receive two years of support, which is why the two versions share a date. The current LTS release, .NET 10, was released in November 2025 and is supported until 14 November 2028.

Microsoft defines end of support as the date when it "no longer provides fixes, updates, or online technical assistance." The policy page goes further and states that use of out-of-support .NET versions "may put your applications, application data, and computing environment at risk."

Nothing on a website stops working on the day support ends. The application continues to run, and the immediate effect is administrative rather than technical. What changes is that any security vulnerability found in the runtime after that date will not be fixed for that version, and the organisation is now carrying that exposure on every server, container and build agent that runs it.

A plain round analogue clock on a white wall.

Three widely used .NET content platforms are affected in different ways

The runtime date matters most where the CMS itself is tied to a specific .NET version. Each vendor has published its own position, and the positions differ.

Optimizely CMS 12

Runtime: .NET 8; .NET 10 compatibility announced

Vendor position: Optimizely does not formally end-of-life CMS versions. Its CMS 13 FAQ says CMS 12 will not officially support .NET 10 and points to CMS 13, built on .NET 10, as the path. A May 2026 Optimizely World post says CMS 12 is fully compatible with .NET 10 and recommends recent package versions to clear dependency warnings.

Documented path forward: Confirm with Optimizely which combination it supports for your solution: CMS 12 on .NET 10, or CMS 13 on .NET 10

Umbraco 13 (LTS)

Runtime: .NET 8

Vendor position: End of life on 14 December 2026, after which security patches and updates are no longer provided. Extended Long-Term Support (XLTS) is offered for an agreed period.

Documented path forward: Upgrade or rebuild on Umbraco 17 LTS, which supports .NET 10, or use XLTS as a bridge

Kentico Xperience 13

Runtime: .NET 8 for the ASP.NET Core live site (added in Refresh 11)

Vendor position: Technical support ends 31 December 2026, with releases limited to security hotfixes until then. From January 1, 2027 Kentico provides no further support, updates or security repairs.

Documented path forward: Move to Xperience by Kentico, supported by Kentico's migration toolkit

Two points stand out from the table. The first is that the .NET date and the CMS dates are close together but not identical, so a plan that addresses only one of them can leave the other open. The second is that Optimizely's public guidance has developed during 2026, which is a normal part of a vendor responding to its customers but means platform owners should confirm the current position with the vendor rather than relying on an article written earlier in the year, including this one.

The same pattern applies to platforms not listed here. Any CMS, DAM connector, search integration or custom application built on .NET 8 or .NET 9 is affected by the runtime date, even if the vendor's own product has a later end date.

Five checks belong on this month's list

The checks below are designed to produce facts rather than opinions, and each one can usually be completed by the existing platform team in a few days.

  • Record the .NET version for each production, staging and development environment, including build agents, containers, scheduled jobs and serverless functions, which are often missed.
  • For each platform, find the vendor's current statement of which CMS version runs on which .NET version, and note the date of that statement.
  • Map the add-ons and integrations, because commerce modules, search, forms, DAM connectors and custom packages often carry their own runtime constraints. Optimizely community guidance from October 2026, for example, describes how moving a CMS 12 solution with Commerce to .NET 10 also required a newer search package and a full reindex in every environment.
  • Where the platform runs on a vendor-managed cloud service, read that service's end-of-service policy, because the vendor may set its own timetable for unsupported versions. Umbraco Cloud, for example, publishes an end-of-service policy that moves projects past their extended support period to dedicated hosting for a limited time before hosting for that version ends.
  • Review the obligations that reference supported software. Security policies, client contracts, cyber insurance questionnaires and penetration test scopes often require supported software, and the runtime date can turn a compliant platform into a reportable exception.

Four options are available, and each suits a different situation

Once the facts are in hand, the choice usually falls into one of four options. They are not mutually exclusive, and a sensible plan often combines two of them in sequence.

Patch the runtime in place

Where the vendor supports the current CMS version on .NET 10, moving the runtime alone is the smallest change. It still requires dependency updates, regression testing and attention to behaviour that changes between runtime versions, such as memory management, but it does not change the editing experience or the content model.

Upgrade to the vendor's next major version

Moving to Optimizely CMS 13, Umbraco 17 or Xperience by Kentico resets both the runtime and the CMS support clock. It is a larger project, with changes to code, configuration and sometimes the editor interface, and it is the option most vendors point to as their long-term path.

Re-platform when the evidence supports it

Replacing the CMS is a significant decision that should rest on evidence about the platform's fit for the business over the next several years. A runtime date alone is rarely sufficient reason, although it can be the prompt for an assessment that reaches that conclusion on other grounds.

Use extended or managed support as a bridge

Vendor extended support, such as Umbraco's XLTS, or a managed service that takes responsibility for monitoring and compensating controls, can buy time for a planned upgrade. CMS extended support and managed-service controls do not extend Microsoft's support lifecycle for the underlying .NET runtime. We recommend treating this as a bridge with a defined end rather than as a destination, because the cost of staying on an out-of-support runtime tends to rise as time passes.

The Millau Viaduct crossing a wide valley, its tall pylons carrying the road deck.

The decision rests on three questions rather than on the date

In our experience, the organisations that handle runtime deadlines calmly are those that answer three questions before choosing an option.

The first is how long the organisation intends to remain on the current platform. If the answer is several years, an upgrade to the vendor's current major version usually costs less over that period than a runtime patch followed by an upgrade later. If the platform is already scheduled for replacement within a year or so, a runtime patch or a bridge is easier to justify.

The second is what the vendor supports for this specific solution, including its modules and integrations. Vendor positions are published, but they apply to the product, and the effort sits in everything built around it. A solution with heavy customisation or several integrations will usually find that the integration work outweighs the CMS work.

The third is what the organisation's own obligations require. If a contract or a security policy requires supported software, a bridge needs to be documented and agreed with whoever owns that obligation, not assumed.

We recommend recording the answers and the chosen option in a short decision record signed off by the platform owner and the security lead. It costs little, and it is the document an auditor or a new executive will ask for.

If the date has already passed, the steps are the same

Many organisations will read this after 10 November 2026, and some will already be running an out-of-support runtime. The steps above still apply, with a slight change of order. We recommend starting with exposure, so that internet-facing applications and anything handling personal or payment data are addressed first, and putting interim controls in place (closer monitoring, web application firewall rules, tighter access) while the chosen option is delivered. The aim is a documented plan with dates, so that the period on an unsupported runtime is a managed exception with a known end.

Frequently asked questions

When does .NET 8 support end?

Microsoft's .NET support policy lists 10 November 2026 as the end of support for both .NET 8 and .NET 9. After that date Microsoft no longer provides fixes, updates or technical assistance for those versions. .NET 10, the current Long Term Support release, is supported until 14 November 2028.

Does my website stop working when .NET 8 support ends?

No. Applications continue to run after the end-of-support date. The change is that newly discovered security vulnerabilities in the runtime are no longer fixed for that version, which increases risk over time and may conflict with security policies or contracts that require supported software.

When do Umbraco 13 and Kentico Xperience 13 reach end of support?

Umbraco lists 14 December 2026 as the end of life for Umbraco 13, with Umbraco 17 LTS as the recommended upgrade target and extended support available. Kentico lists 31 December 2026 as the end of support for Xperience 13, with Xperience by Kentico as the successor.

Should we upgrade the runtime or the whole CMS?

It depends on how long you plan to stay on the platform, what your vendor supports for your specific solution, and your security obligations. A runtime-only move is smaller but may need repeating later; a major version upgrade resets both support clocks. An assessment of the platform and its integrations is the most reliable way to decide.

Plan the response with evidence

The Enterprise CMS Health & Value Assessment gives platform owners a fixed-scope, evidence-led view of a CMS and its integrations, including runtime and version exposure, and produces a traffic-light scorecard and a roadmap of what to address now and what to plan next. Where the question is whether to stay on the current platform at all, the DXP Future State Assessment covers current-state platforms, target architecture and a controlled roadmap. Both are platform-agnostic and led by senior TBSCG consultants, and either may conclude that the right course is to wait. Our team is available to discuss which fits your situation.

Sources