akamsteeg / AtleX.HaveIBeenPwned

A fully async .NET Standard client library for the API of HaveIBeenPwned.com
https://www.nuget.org/packages/AtleX.HaveIBeenPwned/
MIT License
5 stars 0 forks source link

Determine how/when to drop NETFX support #68

Open akamsteeg opened 2 years ago

akamsteeg commented 2 years ago

At the time of writing the most recent version of AtleX.HaveIBeenPwned still supports .NET Framework (NETFX) by targeting .NET Standard 2.0. It is not tested on version 4.6.1, which has some .NET Standard issues, or earlier, but should work with .NET 4.6.2 or up.

Unit & integration tests are run against all Long Term Support (LTS) versions At the time of writing it's .NET 4.8.1, .NET Core 3.1 & .NET 6. This guarantees a broad range of supported frameworks. An indication of that is shown on NuGet.org.

However, .NET Standard 2.0 was released in August 2017, more than five years ago. Since that time, .NET Standard was improved upon and released as .NET Standard 2.1. That version will never be implemented by .NET Framework 4.8 and since it's unlikely that there will ever be a .NET Framework 4.9(+) it's safe to assume .NET Framework will never implement .NET Standard 2.1

.NET Core 3.0 (released in 2019) and up support .NET Standard 2.1. To safely use for example a ValueTask or HashCode (see #51) we need to drop support for NETFX.

This decision is not be taken lightly. It depends also on future plans for het HaveIBeenPwned.com API.

akamsteeg commented 1 year ago

Feedback: https://github.com/akamsteeg/AtleX.HaveIBeenPwned/issues/80#issuecomment-1445030530 The Powershell version included in Windows 11 is currently targetting NETFX.