-
Notifications
You must be signed in to change notification settings - Fork 1
V10.0.0/launch #17
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
V10.0.0/launch #17
Conversation
➖ remove support for net8.0 TFM
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughThis PR upgrades target frameworks to .NET 10.0, bumps numerous package versions (including release notes), migrates test tooling to xunit v3, updates Docker/DocFX and CI action/image references, cleans unused test imports, and changes a few async test signatures to return Task. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
🔇 Additional comments (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Pull Request Overview
This pull request represents a major version update (v10.0.0) that migrates the codebase from .NET 8 (LTS) to .NET 10 (LTS), while maintaining .NET 9 support. The changes comprehensively update all project files, dependencies, test configurations, documentation, and CI/CD pipelines to reflect this framework transition.
Key Changes:
- Replaced .NET 8 target framework with .NET 10 across all projects (maintaining .NET 9 and .NET Standard 2.0 where applicable)
- Updated all dependencies to latest compatible versions (Cuemon 10.0.0, Codebelt.Extensions.Xunit 11.0.0, xUnit v3, etc.)
- Migrated test infrastructure to xUnit v3 and Microsoft Testing Platform Runner
Reviewed Changes
Copilot reviewed 32 out of 32 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| testenvironments.json | Updated Docker image to include .NET 10.0.100 SDK |
| Multiple test files (ValidatorExtensionsTest.cs, ContractResolverExtensionsTest.cs, etc.) | Removed unused Xunit.Abstractions using statements |
| ServiceCollectionExtensionsTest.cs | Changed test method from async void to async Task (best practice) |
| All .csproj files | Updated TargetFrameworks from net9.0;net8.0 to net10.0;net9.0 |
| Directory.Packages.props | Upgraded all package dependencies and added .NET 10-specific package versions |
| Directory.Build.props | Updated framework targets and added Microsoft Testing Platform Runner support |
| README.md and package READMEs | Enhanced documentation with platform support details and added support policy note |
| PackageReleaseNotes.txt files | Added v10.0.0 release notes documenting the framework changes |
| CHANGELOG.md | Added v10.0.0 changelog entry |
| .github/workflows/pipelines.yml | Updated to v3 of Codebelt job templates and removed CodeQL job |
| .docfx/docfx.json | Updated TargetFramework to net10.0 for documentation generation |
| .docfx/Dockerfile.docfx | Updated nginx and docfx image versions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.nuget/Codebelt.Extensions.AspNetCore.Newtonsoft.Json/README.md
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.
Actionable comments posted: 4
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (32)
.docfx/Dockerfile.docfx(1 hunks).docfx/docfx.json(1 hunks).github/workflows/pipelines.yml(5 hunks).nuget/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json/PackageReleaseNotes.txt(1 hunks).nuget/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json/README.md(1 hunks).nuget/Codebelt.Extensions.AspNetCore.Newtonsoft.Json/PackageReleaseNotes.txt(1 hunks).nuget/Codebelt.Extensions.AspNetCore.Newtonsoft.Json/README.md(1 hunks).nuget/Codebelt.Extensions.Newtonsoft.Json.App/PackageReleaseNotes.txt(1 hunks).nuget/Codebelt.Extensions.Newtonsoft.Json.App/README.md(1 hunks).nuget/Codebelt.Extensions.Newtonsoft.Json/PackageReleaseNotes.txt(1 hunks).nuget/Codebelt.Extensions.Newtonsoft.Json/README.md(1 hunks)CHANGELOG.md(1 hunks)Directory.Build.props(3 hunks)Directory.Packages.props(1 hunks)README.md(1 hunks)src/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.csproj(1 hunks)src/Codebelt.Extensions.AspNetCore.Newtonsoft.Json/Codebelt.Extensions.AspNetCore.Newtonsoft.Json.csproj(1 hunks)src/Codebelt.Extensions.Newtonsoft.Json.App/Codebelt.Extensions.Newtonsoft.Json.App.csproj(1 hunks)test/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.Tests/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.Tests.csproj(1 hunks)test/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.Tests/Converters/JsonConverterCollectionExtensionsTest.cs(0 hunks)test/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.Tests/JsonSerializationInputFormatterTest.cs(0 hunks)test/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.Tests/JsonSerializationOutputFormatterTest.cs(0 hunks)test/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.Tests/MvcBuilderExtensionsTests.cs(0 hunks)test/Codebelt.Extensions.AspNetCore.Newtonsoft.Json.Tests/Codebelt.Extensions.AspNetCore.Newtonsoft.Json.Tests.csproj(1 hunks)test/Codebelt.Extensions.AspNetCore.Newtonsoft.Json.Tests/Formatters/ServiceCollectionExtensionsTest.cs(1 hunks)test/Codebelt.Extensions.Newtonsoft.Json.Tests/Converters/JsonConverterCollectionExtensionsTest.cs(0 hunks)test/Codebelt.Extensions.Newtonsoft.Json.Tests/Formatters/NewtonsoftJsonFormatterOptionsTest.cs(0 hunks)test/Codebelt.Extensions.Newtonsoft.Json.Tests/Formatters/NewtonsoftJsonFormatterTest.cs(0 hunks)test/Codebelt.Extensions.Newtonsoft.Json.Tests/JDataTest.cs(0 hunks)test/Codebelt.Extensions.Newtonsoft.Json.Tests/Serialization/ContractResolverExtensionsTest.cs(0 hunks)test/Codebelt.Extensions.Newtonsoft.Json.Tests/ValidatorExtensionsTest.cs(0 hunks)testenvironments.json(1 hunks)
💤 Files with no reviewable changes (10)
- test/Codebelt.Extensions.Newtonsoft.Json.Tests/Formatters/NewtonsoftJsonFormatterTest.cs
- test/Codebelt.Extensions.Newtonsoft.Json.Tests/Formatters/NewtonsoftJsonFormatterOptionsTest.cs
- test/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.Tests/MvcBuilderExtensionsTests.cs
- test/Codebelt.Extensions.Newtonsoft.Json.Tests/ValidatorExtensionsTest.cs
- test/Codebelt.Extensions.Newtonsoft.Json.Tests/JDataTest.cs
- test/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.Tests/JsonSerializationOutputFormatterTest.cs
- test/Codebelt.Extensions.Newtonsoft.Json.Tests/Serialization/ContractResolverExtensionsTest.cs
- test/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.Tests/JsonSerializationInputFormatterTest.cs
- test/Codebelt.Extensions.Newtonsoft.Json.Tests/Converters/JsonConverterCollectionExtensionsTest.cs
- test/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.Tests/Converters/JsonConverterCollectionExtensionsTest.cs
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
- GitHub Check: call-test (windows-2022, Debug) / 🧪 Test
- GitHub Check: call-test (ubuntu-24.04, Release) / 🧪 Test
- GitHub Check: call-test (ubuntu-24.04, Debug) / 🧪 Test
- GitHub Check: call-test (windows-2022, Release) / 🧪 Test
- GitHub Check: call-pack (Release) / 📦 Pack
- GitHub Check: call-pack (Debug) / 📦 Pack
- GitHub Check: CodeQL analysis (csharp)
- GitHub Check: Agent
🔇 Additional comments (24)
test/Codebelt.Extensions.AspNetCore.Newtonsoft.Json.Tests/Formatters/ServiceCollectionExtensionsTest.cs (1)
220-220: LGTM! Proper async test method signature.The migration from
async voidtoasync Taskaligns with xUnit v3 best practices and ensures the test runner can properly track async test completion and handle exceptions correctly..docfx/docfx.json (1)
17-17: LGTM!The DocFx TargetFramework update to net10.0 is consistent with the broader .NET 10 migration across the codebase.
CHANGELOG.md (1)
10-15: LGTM!The version 10.0.0 entry follows the Keep a Changelog format and appropriately documents the .NET 10 adoption and .NET 8 removal. Positioning at the top is correct.
.docfx/Dockerfile.docfx (1)
1-1: LGTM!The Docker image updates are minor patch versions (NGINX 1.29.1 → 1.29.3, DocFx 2.78.3 → 2.78.4), which are safe maintenance updates.
Also applies to: 6-6
.nuget/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json/README.md (1)
5-8: LGTM!The platform support documentation accurately reflects the updated target frameworks (.NET 9, .NET 10, .NET Standard 2, and .NET Framework 4.6.2+) and improves clarity for users.
testenvironments.json (1)
12-12: LGTM!The Docker image tag update adds .NET 10.0.100 support while maintaining .NET 8 and 9 patch levels, enabling comprehensive test coverage across all supported frameworks.
.nuget/Codebelt.Extensions.Newtonsoft.Json/README.md (1)
5-8: LGTM!The platform support documentation is consistent with other package READMEs and accurately reflects the updated target frameworks.
.nuget/Codebelt.Extensions.AspNetCore.Newtonsoft.Json/README.md (1)
5-8: LGTM!The platform support documentation is accurate and consistent with other package READMEs.
.nuget/Codebelt.Extensions.Newtonsoft.Json/PackageReleaseNotes.txt (1)
1-8: LGTM!The Version 10.0.0 entry is well-structured and clearly documents the migration from .NET 8 to .NET 10 while highlighting dependency updates. The ALM notes provide good transparency for package consumers.
.nuget/Codebelt.Extensions.Newtonsoft.Json.App/PackageReleaseNotes.txt (1)
1-8: Release notes are clear and well-structured.The version 10.0.0 release notes appropriately document the breaking change (removal of .NET 8 LTS support) and the addition of .NET 10 LTS. The availability statement correctly reflects the supported frameworks.
.nuget/Codebelt.Extensions.AspNetCore.Newtonsoft.Json/PackageReleaseNotes.txt (1)
1-8: Consistent release documentation.The release notes maintain consistency with the other package release notes in the repository, clearly documenting the framework migration.
.github/workflows/pipelines.yml (1)
83-88: CodeQL security scanning has been disabled.The CodeQL workflow has been commented out without explanation in the PR description. This removes automated security vulnerability scanning from the pipeline.
Please clarify:
- Is this change intentional or temporary?
- If permanent, what alternative security scanning approach will be used?
- Should CodeQL be re-enabled before merging?
Directory.Packages.props (2)
25-30: Good use of conditional package versioning.The conditional package references correctly align the Microsoft.AspNetCore.Mvc.NewtonsoftJson version with the target framework (9.0.11 for .NET 9, 10.0.0 for .NET 10).
21-22: Review comment is incorrect and should be dismissed.Test projects reference
Codebelt.Extensions.Xunit(a wrapper package), not xunit or xunit.v3 directly. The xunit.v3 update in Directory.Packages.props is a transitive dependency managed through this wrapper. Since xUnit v3 maintains backward compatibility with v2 APIs, and test code uses only standard attributes like[Fact]and[Theory], no code changes are required in test projects.Likely an incorrect or invalid review comment.
src/Codebelt.Extensions.Newtonsoft.Json.App/Codebelt.Extensions.Newtonsoft.Json.App.csproj (1)
4-4: Target frameworks updated correctly.The migration from
net9.0;net8.0tonet10.0;net9.0aligns with the PR objectives and is consistent across all project files.src/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.csproj (1)
4-4: Target frameworks migrated consistently.The framework update is consistent with the other project files in this PR.
test/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.Tests/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.Tests.csproj (1)
4-4: Test project frameworks updated.The test project correctly targets the same frameworks as the source projects.
src/Codebelt.Extensions.AspNetCore.Newtonsoft.Json/Codebelt.Extensions.AspNetCore.Newtonsoft.Json.csproj (1)
4-4: LGTM! Clean target framework update.The target frameworks have been updated correctly to support .NET 10 and .NET 9, aligning with the PR objectives.
test/Codebelt.Extensions.AspNetCore.Newtonsoft.Json.Tests/Codebelt.Extensions.AspNetCore.Newtonsoft.Json.Tests.csproj (1)
4-4: LGTM! Test project target frameworks updated correctly.The test project now targets the same frameworks as the source project, which is the expected configuration.
.nuget/Codebelt.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json/PackageReleaseNotes.txt (1)
1-8: LGTM! Clear and comprehensive release notes.The version 10.0.0 release notes clearly communicate the platform support changes and dependency updates. The format is consistent with the existing release note structure.
README.md (1)
3-23: LGTM! Excellent documentation improvements.The enhanced README provides clear information about:
- Project goals and license
- Supported platforms (.NET 9, .NET 10, .NET Standard 2, .NET Framework 4.6.2+)
- Version targeting strategy
These additions significantly improve the user experience and set appropriate expectations.
Directory.Build.props (3)
59-59: LGTM! Test project configuration updated for Microsoft Testing Platform Runner.The changes to
OutputTypeandUseMicrosoftTestingPlatformRunnerare correct and required for the Microsoft Testing Platform Runner, which provides improved test execution and reporting capabilities with xUnit v3.Also applies to: 69-69
74-75: Verify test compatibility with xUnit v3 and review breaking changes.xUnit v3 is production-ready and stable as of November 2025, with v3.2.0 released on November 2, 2025. Ensure that:
- All test code has been verified to work with xUnit v3 (the PR summary indicates this migration has been addressed)
- Documented breaking changes between v2 and v3 have been properly handled in the codebase
18-18: Approved — .NET 10 is production-ready and available for use..NET 10 was released as a General Availability (GA) LTS on November 11, 2025, and is marked as production-ready with three years of support. The target framework updates across Directory.Build.props are appropriate and safe for production release.
.nuget/Codebelt.Extensions.AspNetCore.Newtonsoft.Json/README.md
Outdated
Show resolved
Hide resolved
|



This pull request is a major update focused on adopting .NET 10 (LTS) and removing support for .NET 8 (LTS) across the codebase. It also upgrades dependencies to their latest compatible versions, updates build/test/pack workflows, and improves documentation and release notes to reflect these changes. The changes ensure the project stays current with supported frameworks and dependencies, and streamline maintenance going forward.
Framework and Dependency Upgrades
.NET 10and.NET 9, removing.NET 8support, and added.NET 10-specific package references where appropriate (Directory.Build.props,Directory.Packages.props, all*.csprojfiles). [1] [2] [3] [4] [5] [6] [7]Directory.Packages.props)..docfx/Dockerfile.docfx,.docfx/docfx.json). [1] [2]Build, Test, and CI/CD Pipeline Updates
.NET 8from matrix; commented out CodeQL job; updated NuGet push job to v2 (.github/workflows/pipelines.yml). [1] [2] [3] [4] [5]Documentation and Release Notes
README.md, all package README and release notes). [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]Miscellaneous Improvements
Directory.Build.props).JsonConverterCollectionExtensionsTest.cs).Summary by CodeRabbit
New Features
Chores
Documentation