Comments (7)
Hey @alexeyzimarev
Thanks for the suggestion for this. I believe there might be projects with .NET legacy frameworks still using this SDK, maybe @sighphyre can understand this better since I have no experience with .NET or .NET standards.
In any case, it's a really good suggestion to support newer, secure and long-term standards, and maybe we can branch out .NET Standard 2.0 from .NET legacy to support newer projects. What do you think?
from unleash-client-dotnet.
There might be indeed projects using unsupported .NET versions, but those versions aren't getting security fixes.
I believe it's a good practice to drop the support for unsupported platforms as it might push people to upgrade finally. It's unsafe to execute applications in production that use an unsupported .NET Framework version.
Also, the NuGet package is not going anywhere. People can use the current version until they decide to upgrade. When upgrading the package, they can change the target for their project to .NET Framework 4.7+ as it's fully compatible with 4.5.
from unleash-client-dotnet.
Hey @alexeyzimarev yeah I agree with your thoughts here, I see we're still supporting targets which hit EOL over 5 years ago, it's probably time to move towards dropping those. But I think this will require a major version bump, because @pransh15 is right here, there might be folks still using those and it feels rude to make changes that cause a project to not compile outside of a major version. What do you think about doing this in two steps? One PR to add support for .NET 6 and 7 and a second to remove the .NET frameworks? I'd be happy with the former right now, there's no real reason not to have support for those and we can do a major version bump directly after the latter? If you're willing to make the PRs it would be insanely appreciated..
Also, roping in @daveleek here for your thoughts
from unleash-client-dotnet.
Wasn't aware the newer .NET frameworks could target older windows framework versions, just assumed a windows framework would be required. That's on me :)
Adding new framework versions seems like a good idea, .NET 6, 7, and isn't there a newer .NET Standard? 2.1? Maybe add that too if possible? From the discussions I've had with @ivarconr on the matter, exactly which .NET versions are in active use by enterprise customers is difficult/tedious to figure out, and we're not super eager to alienate them/force them to upgrade. Thus I think removing support should only be done once we're confident of which to remove with least amount of harm done to customers.
Regarding figuring out which frameworks to drop support for there are a few options, we could add warnings for certain frameworks and we could also include versioning in separate client headers, then try to aggregate that and see what to do, but that's probably a business decision @sighphyre @ivarconr :)
from unleash-client-dotnet.
.NET Standard 2.1 is as good as dead as it was released together with .NET Core 3.1 to support some new SDK signatures. .NET Standard 2.0 is LTS, and 2.1 is not.
Newer SDK has some improvements that can be relevant and can be fenced with pragma directives. For example, response.Content.ReadAsStringAsync()
accepts the cancellation token.
I meant that dropping support for discontinued runtimes is that using such a runtime poses security risks for those who keep using them, and it costs very little to switch the target framework to a newer SDK like 4.7.1 or at least 4.6.1 for those who are still on 4.5.
As you maintain this client as a way to use your commercial product, I am fully aware of the concerns, so it's just a proposal. At the same time, most of the commercial vendors don't support .NET Framework versions less than 4.6.1. For example, Azure and Google libs only support 4.6.1+. At the same time, AWS still supports 3.5 and 4.5.
from unleash-client-dotnet.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
from unleash-client-dotnet.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
from unleash-client-dotnet.
Related Issues (20)
- Random error when accessing the temporary file "The process cannot access the file" HOT 2
- feat: Event system HOT 10
- How to suppress logging / set log level HOT 9
- Feat: Improve visibility of Unleash lifetime configuration
- feat: Add support for specifying HttpClientHandler HOT 8
- Update the C# language version HOT 3
- Support SystemTextJson HOT 3
- UseBootstrapFileProvider throws NullReferenceException HOT 4
- isEnabled for GradualRollout not working properly without a context
- Frequent errors in report-metrics-task HOT 5
- Handling incorrect UnleashClient configuration HOT 18
- Don't use string interpolation for log messages HOT 3
- Unhandled exception when writing to toggle file during startup HOT 6
- Counting variants in the `ToggleCount` is incorrectly implemented HOT 3
- Null ref in ToggleBootstrapFileProvider, FileSystem is null. HOT 3
- Gradual rollout without context always fails HOT 2
- Allow me to call `GetVariant` with context but without a default variant
- Support for AOT compiled runtime HOT 3
- .NET client configuration "Update" event HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unleash-client-dotnet.