NetSparkleUpdater / NetSparkle

NetSparkle is a C#, cross-platform, highly-configurable software update framework with pre-built UI for .NET developers compatible with .NET 4.6.2/.NET 6+, WinForms, WPF, and Avalonia; uses Ed25519 signatures. View basic usage here in the README and try the samples for yourself.
https://netsparkleupdater.github.io/NetSparkle/
MIT License
606 stars 84 forks source link

Supported framework versions for NetSparkleUpdater.SparkleUpdater #463

Closed christophwille closed 9 months ago

christophwille commented 1 year ago

Given that NetSparkle main NuGet supports netstandard2.0, is there a specific reason to support other frameworks at all? (I admit to not checking all the #IFs)

As an aside - given that anything < 4.6.2 and Core 6.0 are out of support, when do you consider removing older frameworks?

Deadpikle commented 1 year ago

See #314 for dropping .NET < 4.6.2.

Fair question.

There's really no time frame in my mind here. That'd obviously be a major version breaking change calling for a 3.0 version, but supporting older versions of .NET doesn't really seem to be holding back development of new features at all since everything is setup with the #if blocks and all that. The original library supported down to .NET 4.5.x way back in the day.

I feel like a 3.0 version would call for other breaking changes and adjustments to this lib, and I really don't have time for such things right now -- that would be the "other reason".

For a more direct answer to your question, I've always thought (and am very much willing to be corrected) that compiling things/making things available for all available frameworks is always best practice...? System.Text.Json by MS (https://www.nuget.org/packages/System.Text.Json/) is available for netstandard2.0, .NET 4.6.2, .NET 6, and .NET 7 all at the same time. I'd assume that the later versions of the compiler/etc. would work best if user is using .NET X and lib is also available for .NET X. Very much willing to be corrected in my understanding, here.

(Admittedly, I always am a fan of backwards compatibility with companies not moving on for [insert reason here], and since this isn't hurting anything at the moment, nor is it making the code too ugly, I'm prone to keeping things longer than just releasing a new major version that drops old support.)

Deadpikle commented 9 months ago

Dropped EOL versions in 57fa9ad2597ec6615894464b8f2ccef881dda52b and 87381f2d3422e36fe5f614c85e43687eed497c42; considering this completed for now