Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Proposal] Increase minimum netframework target to net461 #768

Closed
iamcarbon opened this issue Feb 14, 2022 · 6 comments
Closed

[Proposal] Increase minimum netframework target to net461 #768

iamcarbon opened this issue Feb 14, 2022 · 6 comments

Comments

@iamcarbon
Copy link
Contributor

iamcarbon commented Feb 14, 2022

.NET Framework 4.5.2, 4.6, 4.6.1 will reach End of Support on April 26, 2022 and will no longer be updated or receive security updates. Additionally, our dependencies (e.g. System.Security.Cryptography.Pkcs and System.Text.Encoding.CodePages) have already raised their minimum target to .NETFramework 4.6.1.

While there is currently little overhead maintaining support for these older targets, we're in an odd place if one of these libraries requires a patch and we are unable to update.

Users that are unable to upgrade running Windows Server 2013 can continue to utilize the current library release.

[ ] https://devblogs.microsoft.com/dotnet/net-framework-4-5-2-4-6-4-6-1-will-reach-end-of-support-on-april-26-2022/

@iamcarbon
Copy link
Contributor Author

We should also consider dropping our .NET5.0 target to keep things simple and prevent our framework targets from pilling up now that .NET is on a yearly release cycle. .NET5.0 users would continue to be supported through the .NETSTANDARD2.1 target.

.NET 5.0 will reach end of life on May 08, 2022 and will receive no future updates, while .NET6.0 is supported for 3 years.

@jstedfast
Copy link
Owner

jstedfast commented Feb 14, 2022

I've been considering dropping 4.5.2 and bumping the 4.6 version to 4.6.1 because that actually gets us the CodePages feature.

I wish I had metrics on how many users were still on various frameworks. I've been periodically purging old frameworks. For example, with 3.0, I dropped support for netstandard1.x and then recently dropped support for net45 (bumped to net452). Dropped support for net35 and net40 for MimeKit 2.0 which was years after 4.0 was end-of-lifed.

I think what I'll do is to continue making releases for these frameworks until the end of April - I think that's a good time to drop them (and we'd have the perfect excuse).

I mostly dropped net45 recently because I switched to VS2022 when I moved to the VS team and I no longer had the net45 targeting pack available so had no choice.

(Now that I have multiple copies of VS2022 installed, I don't have room for VS2019 haha)

@jstedfast
Copy link
Owner

I just dropped net46 in favor of net461. I do know I have some users on net461 based on bug reports I've gotten in the past month or so around TypeLoadExceptions due to missing System.Text.Encoding.CodePages.

...which leads me to wonder if I should make all .NET Framework versions >= 461 depend on System.Text.Encoding.CodePages rather than just using System.Reflection to dynamically load it if it exists. I hate using reflection hacks like that...

@iamcarbon
Copy link
Contributor Author

+1 to removing the reflection hack and taking a dependency on System.Text.Encoding.CodePages.

@jstedfast
Copy link
Owner

Just added the System.Text.Encoding.CodePages dependency. I think this will solve all of the "it doesn't work on ASP.NET" error reports I always get :)

@jstedfast
Copy link
Owner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants