-
Notifications
You must be signed in to change notification settings - Fork 335
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
Drop support for net461? #636
Comments
FYI Npgsql is dropping net45 but is retaining support for net461, mainly because for now there's nothing we seem to need urgently that would require us to drop that as well. ifdefs seem at quite tolerable levels at least for now. |
See previous discussion in #506. |
.NET Core 1.x support ended today: https://dotnet.microsoft.com/platform/support/policy/dotnet-core |
As of MySql.Data 8.0.18, |
.NET 4.5.1 and older is not supported by MS, thus references could be removed. .NET 4.5.2 and 4.6 should be supported about the same as framework itself. From: https://support.microsoft.com/en-us/help/17455/lifecycle-faq-net-framework
Many software companies sync to above lifecycle with their products, I think this project should too. |
As this issue is quite old, what's the current stance on this? I believe given the time that netstandard2.0 has been around and successful, is now the right time to drop anything that doesn't support it? I believe netstandard2.0 and net461 should be the baseline of supported frameworks. I would be willing to submit a PR if we reach consensus. |
From #972:
Other than slightly more complex code ( It would be super helpful if NuGet would show the number of downloads for each target framework so we could evaluate the need to support each one: NuGet/NuGetGallery#3450 |
My current thinking is that the 1.x series will continue supporting the current TFMs and that reducing TFM support (perhaps even as drastically to just |
@ViktorHofer Are you able to provide any internal support within Microsoft for NuGet/NuGetGallery#3450? As this comment NuGet/NuGetGallery#3450 (comment) indicates, it would be extremely useful for NuGet Package owners. |
It's great to hear that MySqlConnector already adopts newest framework features 🎉. I don't think there is a strong reason to drop older frameworks. That said, doing so would simplify the dependency graph, the test matrix (netstandard1.3 applies to many platforms which would ideally be tested on/for) and to convey the message that the repo doesn't target frameworks which are out of support (which might help in the long run).
Absolutely agree.
I would love to be able to help here. The NuGet team knows about the feature request and honestly speaking, we ourselves would have benefited of such statistics immensely already. Unfortunately there is nothing in my power to prioritize the item higher. |
From the other thread. When .NET Standard 2.0 was added to .NET a few years ago, I contributed to various open source libraries to add support for it. Now that time has passed I feel like the .NET ecosystem would benefit again from such a change, but this time the other way around, by cleaning up packages' dependency graph. Anytime, a package which targets .NET Standard < 2.0 is restored, all the transitive dependencies of the NETStandard.Library package are restored as well. Many of the packages that NETStandard.Library itself relies on, don't get updates anymore as those aren't built live anymore. Instead they are re-distributed from older packages into newer ones. As an example take a big open source repository like xunit which decided to stop supporting .NET Framework < 4.8, .NET Standard < 2.0 and .NET Core < 2.1. I personally think that it's valuable for the ecosystem to evolve and focus on supported frameworks and platforms. |
A few comments here too... As a contributor to various open source projects, I become hesitate to contribute when the projects support a large number of targets where changes risk breaking a legacy runtime. Dropping .NETSTANDARD1.3 minimizes the risk as a contributor triggering a platform specific bug that no-longer receives updates -- and unintentionally breaking another users applications. It also helps improve the health of the .NET ecosystem by getting these users to upgrade to a modern and supported runtime. |
To clarify: if I install If the former, I could certainly see dropping support for it to improve that scenario for almost all users. Deleting |
Right, the latter. You only get the transitive dependencies that are applicable to the tfms that your project targets. |
|
Split |
Removing |
Per #1205, .NET Framework 4.5.2 and 4.6.1 reached end of support on 26 April 2022: https://devblogs.microsoft.com/dotnet/net-framework-4-5-2-4-6-4-6-1-will-reach-end-of-support-on-april-26-2022/ However:
Adding support for .NET 7 could be a good time to retire the |
Split |
Doing so would allow the latest versions of System.Diagnostics.DiagnosticSource and Microsoft.Extensions.Logging.Abstractions to be used; this would be good to do for v2.3. It could also allow System.IO.Pipelines to be added as a dependency, but that's likely still a future task. |
To simplify the library (removing ifdefs), reduce package size, and possibly enable new features (e.g., pipelines, Utf8String?) remove support for the following platforms:
done in Removenetstandard1.3
netstandard1.3
support #1031.NET 4.5.xdone in Remove net45 support #1209Should the minimum .NET Framework version be updated to 4.8, or stay at 4.7.1? Or dropped entirely?
Right now System.IO.Pipelines still supports netstandard1.3, so dropping old platforms may not strictly be necessary.
This is also a current advantage of MySqlConnector over MySql.Data: we support
netstandard1.3
(vsnetstandard2.0
) andnet45
(vsnet452
).The text was updated successfully, but these errors were encountered: