-
Notifications
You must be signed in to change notification settings - Fork 33
chore: Deprecate .NET 6 support #987
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
base: main
Are you sure you want to change the base?
Conversation
- Remove net6.0 from TargetFrameworks in Directory.Build.props files - Remove all #if NET6_0 conditional compilation blocks - Simplify #if NET8_0_OR_GREATER blocks by removing .NET 6 fallback code - Update documentation to reflect .NET 8 only support - Fix e2e test projects that were still targeting .NET 6 All 703 core unit tests pass. Breaking change: .NET 6 projects need to upgrade to .NET 8. Fixes aws-powertools#749
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #987 +/- ##
==========================================
- Coverage 73.46% 73.34% -0.13%
==========================================
Files 203 203
Lines 8190 8174 -16
Branches 879 877 -2
==========================================
- Hits 6017 5995 -22
- Misses 1881 1888 +7
+ Partials 292 291 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Thank you @dcabib will look into it shortly. |
@dani-abib thank you, after reviewing there are a couple of things missing in the pull request: |
- Remove ALL remaining #if NET8_0_OR_GREATER blocks and their #endif pairs - Remove #elif NET6_0 blocks from test files - Change TargetFrameworks to TargetFramework (singular) since we only target one framework - Clean up orphaned #endif directives that caused compilation errors Build now succeeds with 0 errors, only warnings remain.
|
Hey team! I implemented the .NET 6 deprecation as requested in #749. Since .NET 6 is out of support and AWS Lambda is dropping it in October, I cleaned up all the dual-targeting mess we had.
What I did:
Fixed the targeting:
Directory.Build.props
files to only targetnet8.0
(removednet6.0;net8.0
)Cleaned up the code:
#if NET6_0
blocks across the codebase#if NET8_0_OR_GREATER
blocks that had fallback code for .NET 6MD5.Create()
instead of the oldHashAlgorithm.Create()
fallbackUpdated docs:
Testing:
I ran the full test suite - all 703 unit tests pass! Build is clean too. The e2e tests fail but that's because of missing Lambda functions in the cloud, not our changes.
Breaking change heads up:
Yeah, this is breaking. If you're still on .NET 6, you'll need to upgrade your projects to .NET 8. But honestly, you should be doing that anyway since .NET 6 is EOL.
Just change your
<TargetFramework>net6.0</TargetFramework>
to<TargetFramework>net8.0</TargetFramework>
and install .NET 8. No API changes needed.Fixes #749