.NET Core 3.1 is nearing end-of-support

.NET Core 3.1 is nearing end-of-support

Upgrade to .NET 6 Now

.NET Core 3.1 will reach end-of-life on December 13, 2022 - less than 60 days away from the date of this post. If you're still running production applications on .NET Core 3.1, you need to get moving and upgrade.

.NET Versions and Support

If you're not familiar with the .NET release cadence, here's some background. The original .NET Framework is Windows only. In 2014, .NET Core was announced, which made .NET cross-platform and open source. That meant you could run your .NET solutions on Linux and macOS as well as Windows, opening up a great many options. You can track .NET releases and support lifetimes at Microsoft's .NET and .NET Core Support Policy page. When support ends, patches and security patches are no longer issued, so it's risky to remain on a non-supported version.

.NET Core 3.1 (December 2019-2022) was a very successful release that saw a high adoption rate. I think of it as when .NET Core entered the mainstream. With support ending, it's time to move to a later version. Now things get slightly confusing, because there was no .NET Core 4 (to avoid confusion with .NET Framework 4). Microsoft dropped the ".NET Core" naming convention and now calls modern .NET simply ".NET". Microsoft also adopted a release cadence that alternates between Long Term Support (3 years of support) versions and non-LTS (18 months of support) versions. The next version after .NET Core 3.1 is .NET 5 (November 2020-May 2022), but support has already ended for that non-LTS release. .NET 6 (November 2021-November 2024) is the logical release to move to.

VersionTypeRelease DateEnd of SupportStatus
.NET 6LTS2021-11-082024-11-12Supported
.NET 5Non-LTS2020-11-102022-05-10No longer supported
.NET Core 3.1LTS2019-12-032022-12-13Approaching end of support

What can you expect in terms of code changes when moving from .NET Core 3.1 to .NET 6? There are a few changes, but they aren't earth-shattering. See Migrate from ASP.NET Core 3.1 to 6.0 for guidance. There are some nice new features in .NET 6, including minimal code, but you aren't required to use those features so none of that is a complication for upgrading.

.NET 6 on AWS

If you run .NET workloads on AWS, moving to .NET 6 is straightforward. .NET 6 is supported on many AWS services. Refer to the .NET 6 support on AWS guide for details.

Many developers like to learn from code examples and tutorials. You can find lots of .NET 6 on AWS content, from AWS and community members, on the .NET on AWS website community page.

ChannelContent TypeSource
Basement ProgrammerBlog, YouTube, PodcastsTom Moore, AWS Developer Advocate, Boston
No DogmaBlog, PodcastBryan Hogan, AWS Developer Advocate, Boston
Code with MukeshBlogMukesh Murugan, community member, India
Coding with IsaacPodcast, YouTubeIsaac Levin, AWS Developer Advocate, Seattle
François BouterucheBlogFrançois Bouteruche, AWS Developer Advocate, Paris ]
Hello, CloudBlogDavid Pallmann, Manager Developer Advocacy, Texas
Nick ChapsasYouTubeNick Chapsas, AWS Community Builder & Microsoft MVP, UK
Rahul NathBlog, YouTubeRahul Nath, AWS Community Builder & Microsoft MVP, Australia
Wes DoyleYouTubeWes Doyle, AWS Community Builder, Wisconsin

.NET 6 is a good release, you can move to it with confidence. The time to let go of .NET Core 3.1 is now. There's no need to panic, but you need to get moving.