morelinq / MoreLINQ

Extensions to LINQ to Objects
https://morelinq.github.io/
Apache License 2.0
3.63k stars 409 forks source link

Use .NET 8 SDK to add .NET 8 target #1041

Closed atifaziz closed 7 months ago

atifaziz commented 7 months ago

This PR adds the .NET 8 target (requiring SDK upgrade to 8.0 too), primarily to address #1012.

This PR overlaps with #1039 from @viceroypenguin, which was done in parallel. Any differences will be consolidated here.

codecov[bot] commented 7 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (97dbe98) 92.62% compared to head (663a61c) 92.62%.

:exclamation: Current head 663a61c differs from pull request most recent head a3b88be. Consider uploading reports for the commit a3b88be to get more accurate results

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #1041 +/- ## ======================================= Coverage 92.62% 92.62% ======================================= Files 113 113 Lines 3419 3419 Branches 1055 1055 ======================================= Hits 3167 3167 Misses 189 189 Partials 63 63 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

viceroypenguin commented 7 months ago

a3b88be I thought about this too. I think I would qualify it as shipped, because even though there's no net8 version released, net8 consumers are consuming the net6 version which does have these methods. The important thing for the shipped/unshipped files is to have awareness via PR which things are added for the consumer in the next update. net8 consumers won't see these functions as new in net8, they'll just have net8 improvements.

atifaziz commented 7 months ago

@viceroypenguin Technically speaking, there's no difference but it just seems more honest and less confusing (especially for newcomers and pre-releases) to say it's unshipped for now.

The important thing for the shipped/unshipped files is to have awareness via PR which things are added for the consumer in the next update.

You might be saying the same thing, but I think it's more to avoid accidentally leaking something into the Public API. It could be eventually used for tacking too.