-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Support .NET 9 #3007
Support .NET 9 #3007
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #3007 +/- ##
==========================================
- Coverage 91.43% 81.99% -9.45%
==========================================
Files 76 76
Lines 3119 3121 +2
Branches 519 520 +1
==========================================
- Hits 2852 2559 -293
- Misses 267 562 +295
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
8114ddd
to
1f1d856
Compare
3035e94
to
3b7a626
Compare
2ae52bb
to
59eb50f
Compare
8649844
to
8a1a816
Compare
8a1a816
to
97ecc3a
Compare
28c0b81
to
91b447e
Compare
test/Swashbuckle.AspNetCore.IntegrationTests/Swashbuckle.AspNetCore.IntegrationTests.csproj
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's great to see preparations being made for .NET 9. I've shared some comments based on my own experience, that may be of help.
src/Swashbuckle.AspNetCore.Annotations/Swashbuckle.AspNetCore.Annotations.csproj
Outdated
Show resolved
Hide resolved
- Add `net9.0` TFMs. - Drop TFMs for all out-of-support versions of .NET. - Bump version to `7.0.0`. - Only audit direct NuGet dependencies. - Suppress vulnerabilities in IdentityServer4 used in sample. - Remove some now-redundant pre-processor directives.
Target .NET 9 versions for Microsoft.AspNetCore.OpenApi in test sites.
Bump Microsoft.OpenApi to the latest version.
* Update .NET SDK Update .NET SDK to version 9.0.100-preview.7.24407.12. --- updated-dependencies: - dependency-name: Microsoft.NET.Sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * Update NuGet packages Bump NuGet packages for .NET 9 preview 7. --------- Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Martin Costello <martin@martincostello.com>
Bump Microsoft.OpenApi to 1.6.18.
Bump Microsoft.OpenApi to 1.6.20.
Update Microsoft.OpenApi to 1.6.21.
* Update .NET SDK Update .NET SDK to version 9.0.100-rc.1.24452.12. --- updated-dependencies: - dependency-name: Microsoft.NET.Sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * Update NuGet packages Update NuGet packages for RC1. --------- Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Martin Costello <martin@martincostello.com>
Make all the middleware classes internal as they have no useful public-facing functionality (e.g. virtual members). Resolves #2805.
* Update .NET SDK Update .NET SDK to version 9.0.100-rc.2.24474.11. --- updated-dependencies: - dependency-name: Microsoft.NET.Sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * Update NuGet packages Update NuGet packages for .NET 9 RC2. --------- Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Martin Costello <martin@martincostello.com>
Bump Microsoft.OpenApi to 1.6.22.
Update packages for ASP.NET Core 8.0.10.
Put the newest first so Visual Studio loads the latest version as the selected TFM by default.
a296e67
to
7ba7bcf
Compare
- Remove redundant comment. - Add link to tracking issue in comment.
@mesMess Could I get a review/approval on this PR ahead-of-time please? I'd like to be able to merge this and ship a release on 12th November once the stable |
@martincostello the dotnet6 release is going to be out of release the same day that dotnet9 comes, why not deleting also dotnet6? |
It was considered (see original issue) but I decided against it to not generate a cliff on day 1 of support ending. 6 will be removed in a future release. Keeping the package versions in line with the TFMs keeps things in configurations that the .NET team explicitly test for, makes things easier to reason about to support, and means assemblies that ship with the shared framework able to be referenced in the deployed application. Making a .NET 8 app use .NET 9 assemblies bloats the deployed application as it has to include a copy of the newer assemblies. You can see Aspire 9 does this for example for its net8.0 and net9.0 targets. |
Yeah I was thinking of .net standard and also framework only, because( I do not know if many are using), but it can give the users of that platforms the ability of using the new STJ attributes. |
Maybe, but sometimes libraries have some features that only light up in newer runtimes due to language features needed, or new APIs or overloads of them. Trying to run a .NET 6 app with a 9 package won't have been tested for, and won't necessarily be able to use any improvements (or worse, fall back to netstandard2.0 and then lose even 5.0 or 6.0 specific features). Ultimately, it's not worth the complexity/burden to us in terms of support, over just using 6 with 6, 8 with 8 etc. If people want new features, they can upgrade their apps to the version that introduces them. |
Yep, I'll do that today. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Build bump 7 -> 8 (next LTS)
Microsoft OenApi version bump
Bump to the RC for .NET 9
Moving some object to internal from public
Some of the shipped/un-shipped files are empty
Sealing some internal classes (UI)
React to aspnet/Announcements#514 for .NET 9.
Update to the stable version of .NET 9.
test/Swashbuckle.AspNetCore.IntegrationTests/Swashbuckle.AspNetCore.IntegrationTests.csproj
Outdated
Show resolved
Hide resolved
Bump test packages for .NET 8.
That's fast! PS: Best of luck with your talk at netconf. |
Thanks for supporting .Net 9.0, just made my life a lot easier. |
Add support for .NET 9 and drop support for out-of-support versions of .NET.
Changes:
net9.0
TFMs.7.0.0
.internal
to resolve Consider making more types internal #2805.