Kentico Xperience 13's .NET support lifecycle - .NET 6
Read on to understand Kentico's and Microsoft's support lifecycle for .NET and the specific timelines for .NET 6 support in Kentico Xperience 13 solutions. Also, discover guidance on how, when, and why to update to .NET 8.
We recently published an announcement that covers our support policy for .NET 6 in Xperience by Kentico and guidance on adopting .NET 8.
This post is going to cover the same topic but for Kentico Xperience 13. There will be some overlap between the two posts, but there's some nuance with Kentico Xperience 13 that deserves its own space.
You can view the detailed .NET support lifecycle which includes all currently and previously supported versions.
Let's do the summary first for those who want the answer now 🤓 and questions later:
- Microsoft's support of .NET 6 will reach end-of-life (EOL) in November 2024
- Kentico's support for Kentico Xperience 13 solutions running on .NET 6 will also reach EOL in November 2024
- Customers are encouraged to begin adopting .NET 8 now for the live site of Kentico Xperience 13 solutions and all new Kentico Xperience 13 projects should start on ASP.NET Core, targeting .NET 8
- We already recommend starting new Kentico Xperience 13 live site applications with ASP.NET Core, and specify that ASP.NET Core 6.0 or newer is required.
- Existing Kentico Xperience 13 open source libraries on Kentico's GitHub that support ASP.NET Core will be updated to target .NET 8 instead of .NET 6 when our support of .NET 6 reaches EOL
- Kentico Xperience 13, as a product, when used with ASP.NET Core for the live site, will be updated to target .NET 8 only sometime after .NET 6 EOL, at which point .NET 6 projects will be required to target .NET 8 to apply future Kentico Xperience 13 Refreshes.
Microsoft's .NET support lifecycle
Microsoft has documented its .NET support lifecycle for awhile now, and for the past few versions of long term support (LTS) and standard term support (STS) releases things have settled into a familiar and predictable cadence. LTS releases (even numbered, like .NET 6 and .NET 8) are supported for 3 years and STS releases (odd numbered, like .NET 5 and .NET 7) for 18 months.
With the release of .NET 8 in November of 2023 we have a new LTS release, which means the previous LTS release - .NET 6 - will only be supported for an additional 12 months. That's right 🧐, .NET 6 will no longer be supported after November, 2024.
Kentico's .NET support lifecycle
Because Kentico Xperience 13 is built on top of .NET 6, we cannot provide support for a version of the framework Microsoft no longer supports. This means that our support of Kentico Xperience 13 solutions running on .NET 6 will also end after November, 2024.
Our plan is to always be aligned with Microsoft's .NET support lifecycle to keep things simple for customers, while also ensuring they have a pathway 🛣️ to the next LTS version of .NET.
Thankfully, we already introduced support for .NET 8 back in Kentico Xperience 13 Refresh 11, so customers have been able to update existing projects or start new ones on the latest LTS version of .NET since then.
What about the CMS application and .NET Framework support?
We know some customers and partners have built Kentico Xperience 13 sites using ASP.NET MVC 5. For you, we are not announcing any changes in support. Kentico Xperience 13 was designed to work with both ASP.NET MVC 5 and ASP.NET Core.
We can see from Microsoft's support policy page for ASP.NET that MVC 5 is the most recent version and is still supported, with no official end-of-support date.
The CMS application that administrators use for Kentico Xperience 13 solutions is built using ASP.NET Web Forms. Microsoft's support policy page for .NET Framework states that Web Forms is part of .NET Framework and falls under .NET Framework's support policy.
They state that "As long as it is installed on a supported version of Windows, .NET Framework 4.8.1 will continue to also be supported.", but do not provide an official end-of-support date.
This means that as long as Kentico Xperience 13 ASP.NET MVC 5 applications and the CMS Web Forms application both target a supported version of .NET Framework (which depends on the support policy of different versions of Windows) that also meets our Kentico Xperience 13 installation requirements (.NET 4.8 at this time), then your solutions will continue to be supported until Kentico Xperience 13 support ends, which is at the end of 2026.
Clarify and Simplify
Ok, that's a lot of links, dates, and .NETs so let's break this down as simply as possible:
- Kentico Xperience 13 using ASP.NET Core .NET 8
- You're good to go! Nice work!
- Kentico Xperience 13 using ASP.NET Core .NET 6
- The ASP.NET Core application will need to be updated to .NET 8 by November 2024 to be supported. No changes are required for the CMS ASP.NET application.
- Kentico Xperience 13 using ASP.NET MVC 5
- No changes are required to the ASP.NET MVC 5 application since Microsoft's support policy has not changed for that technology. No changes are required for the CMS ASP.NET application.
What does all of this mean for you and your Kentico Xperience 13 solutions 🤔?
If you are starting a new Kentico Xperience 13 solution, we recommend you do the following:
- Select ASP.NET Core as your technology choice for the live site application during installation
- Check the Target Framework Moniker (TFM) in your ASP.NET Core project
.csproj file and ensure it's targeting .NET 8.
- If you are authoring new libraries to support your Xperience projects, those should also target .NET 8 if they are for the ASP.NET Core application only, otherwise they should target .NET Standard 2.0 so that they can be used by both the ASP.NET Core and CMS applications.
What if you have an existing Kentico Xperience 13 project 🤨?
While you could wait for the buzzer and delay updating your project until November 2024, there's really no reason to wait and we recommend updating now 👍. .NET 8 is backwards compatible with .NET 6 code, so you can continue to share any .NET 6 investments across .NET 6 and .NET 8 applications, but we recommend updating these libraries to target .NET 8 as well, when the opportunity arises.
Our open source integrations for Kentico Xperience 13 that target .NET 6 will be updated to target .NET 8 when we drop support for .NET 6 in November 2024.
We recommend both ASP.NET Core and .NET 8 for all Kentico Xperience 13 solutions today for a few reasons.
- You will need to adopt modern .NET (6, 8, ect...) to take advantage of the latest C# language features, libraries, and technology being created by the .NET community.
- Xperience by Kentico, our new hybrid-headless DXP, is built on ASP.NET Core only and has the same support policy for .NET 6 and .NET 8. There is no ASP.NET MVC 5 version of Xperience by Kentico, and upgrading a Kentico Xperience 13 solution to Xperience by Kentico using our migration toolkit requires adopting ASP.NET Core.
- Further investments into ASP.NET MVC 5 today could be additional hurdles to adopting ASP.NET Core in the future.
- Finding software developers that support ASP.NET MVC 5 will become more difficult as time goes on, as this version of MVC was first released in 2013 and its roots go back to 2009.
- And, of course, .NET 6 will not be supported by Microsoft or Kentico after November 2024.
If you are looking for instructions on how to update an ASP.NET Core .NET 6 application to .NET 8, check out that section in the Xperience by Kentico post referenced at the top of this blog.
Hopefully, both Microsoft's and Kentico's timelines for support for Kentico Xperience 13 solutions using .NET 6 are now clear, but just in case the details got lost in the explanation you can reach out to us at firstname.lastname@example.org.