Home Technology .NET's long-term support is not long-term enough, dev complains
Technology

.NET's long-term support is not long-term enough, dev complains

.NET's long-term support is not long-term enough, dev complains
Key Points

Microsoft's support policy for its .NET runtime and development platform is too short for enterprises, according to a developer who has revived a long-standing complaint in a new GitHub issue. The current release lifecycle for modern .NET, formerly known as .NET Core, is an annual major release, with even-numbered versions being long-term support (LTS) for three years, and odd-numbered versions maintained for two years.

Microsoft's support policy for its .NET runtime and development platform is too short for enterprises, according to a developer who has revived a long-standing complaint in a new GitHub issue. The current release lifecycle for modern .NET, formerly known as .NET Core, is an annual major release, with even-numbered versions being long-term support (LTS) for three years, and odd-numbered versions maintained for two years. The legacy and Windows-only .NET Framework, which is in maintenance, is defined as a component of Windows and therefore supported for much longer. Breaking changes are rare, but it is old and many libraries and application frameworks do not support it, including Microsoft's ASP.NET Core. Earlier this month, a developer opened an issue in the official .NET repository arguing that the LTS support window is "too short for upgrade and adoption cycles." The problem with the current three-year cycle is that by the time the next LTS release appears, two of those years have already elapsed, leaving just one year to upgrade. Even when they can get the upgrade done in time, potential customers "are hesitant to adopt software which is soon to run out of the defined EOL [end of life] window." Another developer commented: "I've got telemetry showing about 50 percent of the deployed versions of my software are running EOL versions." They also complained about the one-year upgrade window, saying: "I try to use netfx [.NET Framework] as much as I can because of the ten-year support tied to OS life but that's getting harder and harder as the ecosystem drops FX support." The problem is not new, but is becoming more pressing as .NET Framework ages. A similar complaint in 2023 drew comment from program manager Richard Lander, who said: "We chose the support time frames to enable a balance between stable deployment time for users and enabling the team to spend most of their time innovating." He said that Microsoft had discussed longer support time frames and extended paid support offerings but has "opted to continue with only the free support plan." Microsoft's free support period is shorter than that offered for some other platforms including Java (five years plus extended support for LTS versions) and Python (five years security fixes for all releases). Upgrading from one .NET version to another can sometimes be done easily, but complications include breaking changes, third-party dependencies that may also need updating, the usual testing and deployment cycle, and in some cases paying external developers for the upgrade. "The .NET Framework only incurs costs for functional modifications and bug fixes, but .NET tries to add to that the non-negligible cost of version upgrades at relatively short intervals," said a comment to the 2023 issue. In March, Microsoft principal software engineer Shay Rojansky requested feedback on dropping .NET Framework support in the Microsoft.Data.Sqlite library, drawing the comment that "right now .NET Standard 2.0 and framework 4.8 are the only .NET targets with reasonable support timelines available for enterprise." The .NET Standard 2.0 specifies a common set of APIs implemented by .NET Framework and modern .NET releases, including .NET 10. Rojansky said the comment was off-topic, yet it is a factor in the enduring use of .NET Framework, which in turn may explain why the proposal was closed as "not planned." ®
Microsoft (ORG) GitHub (ORG) Core (ORG) LTS (ORG) ASP.NET Core (ORG) EOL (ORG) FX (ORG) Richard Lander (PERSON) Java (ORG) Python (ORG) Shay Rojansky (PERSON) Standard 2.0 (ORG)
Originally published by The Register Read original →