Dropping support for some .NET versions #2776
Replies: 6 comments 11 replies
-
Beta Was this translation helpful? Give feedback.
-
@bruno-garcia one of those awesome pie charts with "what runtimes sentry users are running" would be helpful |
Beta Was this translation helpful? Give feedback.
-
one other suggestion i have: u could potentially do a release now with a msbuild warning that detects targeting of any of the planned obsolete ones. and links to this GH issue |
Beta Was this translation helpful? Give feedback.
-
.NET 4.6.2+ and .NET 6.0+ (or better, .NET 8.0+) seem like the two most reasonable targets to support. In my opinion, .NET Standard has become obsolete ever since .NET 5, when the rift in supported APIs started growing and .NET Standard was no longer expanded. I see no point in targeting .NET Standard anymore, unless it's the only target in the project (i.e. it doesn't require any of the newer APIs and doesn't use any platform-specific APIs). From my personal perspective, since I'd be using Sentry in apps, upgrading to the latest runtime is really easy, so I only need it to target the latest .NET version available. |
Beta Was this translation helpful? Give feedback.
-
I verified and the number of projects on ASP.NET Core on .NET Framework is quite low. So adding it to the list: Removing .NET Standard 2.0 from |
Beta Was this translation helpful? Give feedback.
-
4.0.0 is live with the new changes. |
Beta Was this translation helpful? Give feedback.
-
Sentry's core package and some integrations such as ASP.NET Core support a LOT of framework versions. Many not supported by Microsoft and the .NET team anymore. Since this package was created back in 2018, we have never dropped support to any framework version.
We're working the 4.0 release now and the time to drop some of these old frameworks came up.
But why are you doing that Sentry? When it's part of your philosophy that backward compatibility is king:
Because it's really hard. Every time we make a PR, we get CI to run about 11.700 tests. That's a lot of tests for an SDK.
The Sentry core package alone has 1442 tests. But it gets run several times, 8888 to be precise. That's because it's one run for each target framework that we support.
Additionally, we run tests (when applicable) on: Windows, macOS, Linux, iOS and Android.
Not only CI times, but the complexity of building new features, bug fixes, etc in all of those TFMs is really a lot of work.
We want to spend time building new things for you all.
Dropped framework versions
This has been out of support March 3, 2020
We don't intend to replace it with .NET Core 3.1, because that's also out of support, since December 13, 2022
Out of support since May 10, 2022. This was a Current release and even .NET Core 3.1 outlived it.
.NET Framework 4.6.1 was announced in Nov 30, 2015. And went out of support over a year ago, on Apr 26, 2022.
Looking at support from some popular libraries, .NET Framework 4.6.2 seems now be the baseline (this is the lowest supported version). For example,
Microsoft.Extensions.Logging
for example targets 4.6.2...NET Framework 4.6.2 was announced in August 2nd, 2016 and is going out of support in 2 months already.
In order to support .NET 8 for Android and iOS, we're left with the choice of either bundling the old builds on the new SDK, or simply drop support .NET 6 Mobile (
net6.0-android
andnet6.0-ios
). That's because Microsoft dropped support for building .NET 6 apps on mobile with the .NET 8 SDK. But since it's extremely likely (lots of bugs on those early releases!!) you'll be upgrading a mobile app on .NET to 7 (and likely 8 as soon as it's out in 2 weeks), we decided with dropping support. We're replacing it with support for .NET 7 instead.More context here:
This isn't decided today as much as a question: Do you target ns2.1 anywhere? If so, why? We feel we can keep ns2.1 as a baseline to have high interoperability (e.g: Unity) and 2.1 was just a .NET Core 3.1 bridge release and won't help us anymore here.
What packages get affected?
These frameworks would be dropped not only on the core
Sentry
package, but all integrations such asSentry.AspNetCore
andSentry.Serilog
.What versions are left?
Would love to hear YOUR thoughts: What do you need?
Beta Was this translation helpful? Give feedback.
All reactions