Microsoft Warns .NET Core 1.0 and 1.1 Losing Support in June
Microsoft gave notice this week that .NET Core 1.0 and 1.1 will fall out of support on June 27, 2019.
Organizations using those releases should start planning upgrades to either .NET Core 2.1 or 2.2, the company advised. A .NET Core 2.0 release exists, which might seem to be an upgrade target, but Microsoft's notice stated that it hit its end-of-life milestone back on Oct. 1, 2018. While Microsoft has a .NET Core 3.0 release, it's apparently still at the preview testing stage, so it's not ready for production environments.
.NET Core reflects Microsoft's future direction over the venerable but Windows-centered .NET Framework. Even though Microsoft recently open sourced some of the main .NET Framework components, the company's future development efforts are being put into the .NET Core platform.
In June, .NET Core 2.1 and 2.2 will be about 3 years old. They'll need updating before that June end-of-life date because .NET Core follows Microsoft's Modern Lifecycle Policy.
Modern Lifecycle Policy
The Modern Lifecycle Policy offers vague terms compared with Microsoft's Fixed Lifecycle Support Policy with its traditional 10 years of support, which is associated with Windows systems. Under the Modern Lifecycle Policy, organizations are responsible for keeping the software updated, which requires applying all software releases (both major and minor) to continue to get product support from Microsoft. If the software falls out of support, then future software updates and security patches won't arrive.
With the Modern Lifecycle Policy, Microsoft only promises to give a "minimum 30-day notification when customers are required to take action in order to avoid significant degradation to the normal use of the service," according to Microsoft's FAQ.
The actual lifecycle support time period for a given software product under the Modern Lifecycle Policy seems to vary. In the case of .NET Core, the support period is about three years. However, the support period is affected by how organizations choose to update .NET Core. They can choose to get either the "Long-Term Support" (LTS) or the "Current" .NET Core releases.
The LTS and Current .NET Core options seem somewhat analogous to the Windows 10 update model, which has two "channel" update options. Here's Microsoft's explanation of the .NET Core options:
- LTS releases are designed for long-term support. They included features and components that have been stabilized, requiring few updates over a longer support release lifetime. These releases are a good choice for hosting applications that you do not intend to update.
- Current releases include new features that may undergo future change based on feedback. These releases are a good choice for applications in active development, giving you access to the latest features and improvements. You need to upgrade to later .NET Core releases more often to stay in support.
LTS releases are supported for "three years after initial release" or "one year after a subsequent LTS release" -- "whichever is longer." Current releases are supported "three months after a subsequent Current or LTS release," hence more frequent updates are required.
Microsoft also has a third category for these releases called "Maintenance." .NET Core 1.0 and 1.1 are presently considered to be at the Maintenance stage, which means that they are in the last stages of support but still get security patches.
The exact dates for when end-of-support will occur are shown in a table in this "Microsoft Support for .NET Core" document, and more details can be found in Microsoft's ".NET Core Support Policy" document. The migration process to a newer .NET Core release apparently involves changing the target framework value and removing the older bundled tooling by updating the .NET Core project file, as explained in this Microsoft migration document.
Kurt Mackie is senior news producer for the 1105 Enterprise Computing Group.