Skip to content

Conversation

@thomhurst
Copy link
Owner

This PR contains the following updates:

Package Type Update Change
Microsoft.Extensions.DependencyInjection (source) nuget major 9.0.11 -> 10.0.0
Microsoft.Extensions.Http.Resilience (source) nuget major 9.10.0 -> 10.0.0
Microsoft.Extensions.ServiceDiscovery (source) nuget major 9.5.2 -> 10.0.0

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@thomhurst thomhurst added dependencies Pull requests that update a dependency file MAJOR renovate-bot labels Nov 11, 2025
@thomhurst thomhurst enabled auto-merge (squash) November 11, 2025 19:08
@claude
Copy link
Contributor

claude bot commented Nov 11, 2025

Claude finished @thomhurst's task —— View job


PR Review: Microsoft.Extensions v10 Update

Todo List:

  • Read repository guidelines (CLAUDE.md)
  • Review changed files and understand scope
  • Check for breaking changes in Microsoft.Extensions v10
  • Assess compatibility with TUnit
  • Review template project updates
  • Provide comprehensive feedback

📋 Review Summary

This PR updates three Microsoft.Extensions packages from v9 to v10, which is a major version update. The changes are minimal and focused on template projects and central package management.

✅ Positive Findings

Code Quality & Best Practices

  • Proper centralized package management: Uses Directory.Packages.props for version control ✅
  • Consistent versioning: All three packages are updated to the same major version (10.0.0) ✅
  • Template alignment: Both C# Aspire and F# templates are consistently updated ✅

Compatibility Assessment

  • Target framework compatibility: TUnit already targets .NET 9.0 and .NET 10.0, making this update appropriate ✅
  • Minimal scope: Only affects template projects and test infrastructure, not core TUnit functionality ✅
  • Usage patterns: Code review shows standard DI usage (ServiceCollection, ActivatorUtilities) which is stable across versions ✅

⚠️ Areas Requiring Attention

1. Breaking Changes Assessment

Risk Level: LOW - Microsoft.Extensions v10 is designed for .NET 10 but should be backward compatible with .NET 9.0. However:

  • Recommendation: Run full test suite to verify compatibility
  • Verification needed: Template instantiation tests should pass (particularly important for TUnit.Templates.Tests)

2. Template Project Considerations

Files affected:

  • TUnit.Templates/content/TUnit.FSharp/TestProject.fsproj:12 - F# template now references v10
  • TUnit.Templates/content/TUnit.Aspire.Starter/ - Aspire template updated for resilience and service discovery

Potential issues:

  • Template users may encounter version conflicts if they're not on .NET 10
  • Aspire service discovery and HTTP resilience APIs may have subtle changes

3. Missing Coverage

Test coverage gaps:

  • No explicit testing of template instantiation with new package versions visible in this PR
  • Template snapshot tests may need updating (particularly for TUnit.Templates.Tests)

🔍 Specific Code Review

Template Project Updates

<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="10.0.0" />
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="10.0.0" />

Analysis: Updates look correct, but both Http.Resilience and ServiceDiscovery had different minor versions in v9 (9.10.0 and 9.5.2 respectively), indicating active development. Watch for API changes.

📋 Recommendations

Required Actions

  1. Run template tests: Execute dotnet test TUnit.Templates.Tests to verify template instantiation works
  2. Check snapshot tests: Per TUnit guidelines, run TUnit.PublicAPI tests and update snapshots if needed
  3. Verify Aspire integration: Test Aspire starter template functionality with new resilience/service discovery packages

Testing Commands

# Test template functionality
dotnet test TUnit.Templates.Tests

# Check for API changes
dotnet test TUnit.PublicAPI

# Full test suite (following CLAUDE.md guidelines)
dotnet test -- --treenode-filter "/*/*/*/*[Category!=Performance]"

Follow-up Items

  1. Consider documenting minimum .NET version requirements for templates
  2. Monitor for user reports of template instantiation issues
  3. Watch Microsoft.Extensions release notes for any post-release breaking change announcements

🎯 Verdict

Approval Status: ✅ APPROVE WITH CONDITIONS

This is a well-executed dependency update that follows TUnit's conventions. The changes are minimal, focused, and use proper centralized package management. However, due to the major version nature of this update:

  • Required: Verify template tests pass
  • Recommended: Run full test suite before merge
  • Monitor: Post-merge user feedback on template functionality

The risk is low, but the testing validation is essential for a major version dependency update affecting user-facing templates.


@claude
Copy link
Contributor

claude bot commented Nov 11, 2025

Claude finished @thomhurst's task —— View job


PR Review: Microsoft.Extensions v10 Update

Todo List:

  • Read repository guidelines (CLAUDE.md)
  • Review changed files and understand scope
  • Check for breaking changes in Microsoft.Extensions v10
  • Assess compatibility with TUnit
  • Review template project updates
  • Provide comprehensive feedback

📋 Review Summary

This PR updates three Microsoft.Extensions packages from v9 to v10, which is a major version update. The changes are minimal and focused on template projects and central package management.

✅ Positive Findings

Code Quality & Best Practices

  • Proper centralized package management: Uses Directory.Packages.props for version control ✅
  • Consistent versioning: All three packages are updated to the same major version (10.0.0) ✅
  • Template alignment: Both C# Aspire and F# templates are consistently updated ✅

Compatibility Assessment

  • Target framework compatibility: TUnit already targets .NET 9.0 and .NET 10.0, making this update appropriate ✅
  • Minimal scope: Only affects template projects and test infrastructure, not core TUnit functionality ✅
  • Usage patterns: Code review shows standard DI usage (ServiceCollection, ActivatorUtilities) which is stable across versions ✅

⚠️ Areas Requiring Attention

1. Breaking Changes Assessment

Risk Level: LOW - Microsoft.Extensions v10 is designed for .NET 10 but should be backward compatible with .NET 9.0. However:

  • Recommendation: Run full test suite to verify compatibility
  • Verification needed: Template instantiation tests should pass (particularly important for TUnit.Templates.Tests)

2. Template Project Considerations

Files affected:

  • TUnit.Templates/content/TUnit.FSharp/TestProject.fsproj:12 - F# template now references v10
  • TUnit.Templates/content/TUnit.Aspire.Starter/ - Aspire template updated for resilience and service discovery

Potential issues:

  • Template users may encounter version conflicts if they're not on .NET 10
  • Aspire service discovery and HTTP resilience APIs may have subtle changes

3. Missing Coverage

Test coverage gaps:

  • No explicit testing of template instantiation with new package versions visible in this PR
  • Template snapshot tests may need updating (particularly for TUnit.Templates.Tests)

🔍 Specific Code Review

Template Project Updates

<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="10.0.0" />
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="10.0.0" />

Analysis: Updates look correct, but both Http.Resilience and ServiceDiscovery had different minor versions in v9 (9.10.0 and 9.5.2 respectively), indicating active development. Watch for API changes.

📋 Recommendations

Required Actions

  1. Run template tests: Execute dotnet test TUnit.Templates.Tests to verify template instantiation works
  2. Check snapshot tests: Per TUnit guidelines, run TUnit.PublicAPI tests and update snapshots if needed
  3. Verify Aspire integration: Test Aspire starter template functionality with new resilience/service discovery packages

Testing Commands

# Test template functionality
dotnet test TUnit.Templates.Tests

# Check for API changes
dotnet test TUnit.PublicAPI

# Full test suite (following CLAUDE.md guidelines)
dotnet test -- --treenode-filter "/*/*/*/*[Category!=Performance]"

Follow-up Items

  1. Consider documenting minimum .NET version requirements for templates
  2. Monitor for user reports of template instantiation issues
  3. Watch Microsoft.Extensions release notes for any post-release breaking change announcements

🎯 Verdict

Approval Status: ✅ APPROVE WITH CONDITIONS

This is a well-executed dependency update that follows TUnit's conventions. The changes are minimal, focused, and use proper centralized package management. However, due to the major version nature of this update:

  • Required: Verify template tests pass
  • Recommended: Run full test suite before merge
  • Monitor: Post-merge user feedback on template functionality

The risk is low, but the testing validation is essential for a major version dependency update affecting user-facing templates.


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file MAJOR renovate-bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants