Skip to content

feat!: .NET 10 Support#245

Merged
samtrion merged 1 commit intomainfrom
feature/dotnet-10
Dec 5, 2025
Merged

feat!: .NET 10 Support#245
samtrion merged 1 commit intomainfrom
feature/dotnet-10

Conversation

@samtrion
Copy link
Copy Markdown
Contributor

@samtrion samtrion commented Dec 5, 2025

Summary by CodeRabbit

Release Notes

  • Chores
    • Added support for .NET 10.0 Windows platform
    • Removed legacy GitVersion configuration workaround
    • Updated test infrastructure for improved code consistency

✏️ Tip: You can customize this high-level summary in your review settings.

@samtrion samtrion self-assigned this Dec 5, 2025
Copilot AI review requested due to automatic review settings December 5, 2025 17:27
@samtrion samtrion requested a review from a team as a code owner December 5, 2025 17:27
@samtrion samtrion requested review from benwirren and removed request for a team December 5, 2025 17:27
@samtrion samtrion added state:ready for merge Indicates that a pull request has been reviewed and approved, and is ready to be merged into the mai type:feature Indicates a new feature or enhancement to be added. labels Dec 5, 2025
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Dec 5, 2025

Walkthrough

The pull request updates the project's build configuration to support .NET 10 Windows target framework and removes an associated GitVersion workaround, while refactoring lambda expressions in tests to use inferred parameter types instead of explicit typing throughout multiple test methods.

Changes

Cohort / File(s) Summary
Build Configuration
Directory.Build.props
Added net10.0-windows to target frameworks and removed GitVersionTargetFramework workaround block
Test Refactoring
tests/NetEvolve.Extensions.Hosting.WinForms.Tests.Unit/Internals/WindowsFormsSynchronizationContextProviderTests.cs
Converted lambda parameter syntax from explicit types (int input) to inferred types input across multiple test methods

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

  • The build configuration change is straightforward with minimal risk
  • Lambda refactoring changes are repetitive and follow a consistent pattern across tests, reducing cognitive load per occurrence

Poem

🐰 A rabbit hops through frameworks new,
Net10 for Windows—a modern view!
Lambdas simplified, types inferred clear,
Build configs brightened—the path's now here! 🌟

Pre-merge checks

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'feat!: .NET 10 Support' clearly and directly describes the main objective of the pull request—adding .NET 10 support to the project. The title aligns with the file changes, which add net10.0-windows to target frameworks.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between 47e62a5 and 42ed450.

📒 Files selected for processing (2)
  • Directory.Build.props (1 hunks)
  • tests/NetEvolve.Extensions.Hosting.WinForms.Tests.Unit/Internals/WindowsFormsSynchronizationContextProviderTests.cs (6 hunks)
⏰ 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). (3)
  • GitHub Check: Build & Tests / Run Tests / Testing .NET solution
  • GitHub Check: CodeQL analysis (csharp)
  • GitHub Check: Agent
🔇 Additional comments (2)
Directory.Build.props (1)

3-3: net10.0-windows TFM addition is correct and supported

The net10.0-windows entry is the correct Target Framework Moniker for .NET 10 Windows desktop apps. It is officially supported by the .NET 10 SDK (10.0.100+) and Windows targeting packs are available. Your build configuration is consistent and compatible.

tests/NetEvolve.Extensions.Hosting.WinForms.Tests.Unit/Internals/WindowsFormsSynchronizationContextProviderTests.cs (1)

99-99: Lambda parameter type inference is correct and behavior-preserving

Changes from (int input) => input * 2 to input => input * 2 are safe. C# infers the parameter type from the target delegate signature when a lambda is passed as a method argument. In this case, the Invoke and InvokeAsync method signatures provide sufficient context for the compiler to infer that input is int, making the behavior identical to the explicit form. This is a clean simplification that improves readability without changing semantics.

Also applies to: 112-112, 281-282, 296-301, 318-319, 331-331


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

Copilot AI left a 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 PR adds .NET 10 support to the project by updating the target frameworks and removing the GitVersion workaround that is no longer necessary. The changes also modernize lambda expressions to leverage C# type inference, making the code more concise while maintaining clarity.

Key Changes:

  • Added net10.0-windows to the target frameworks, enabling .NET 10 support
  • Removed the GitVersion target framework workaround, indicating GitVersion now supports .NET 10
  • Simplified lambda expressions by removing explicit type annotations where the compiler can infer types

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
Directory.Build.props Added net10.0-windows to _TargetFrameworks and removed obsolete GitVersion workaround configuration
tests/.../WindowsFormsSynchronizationContextProviderTests.cs Simplified lambda expressions by removing explicit parameter type annotations (e.g., (int input) => to input =>) across 6 test methods

@codecov
Copy link
Copy Markdown

codecov Bot commented Dec 5, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.79%. Comparing base (ca68227) to head (42ed450).
⚠️ Report is 17 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #245   +/-   ##
=======================================
  Coverage   96.79%   96.79%           
=======================================
  Files           7        7           
  Lines         343      343           
  Branches       31       31           
=======================================
  Hits          332      332           
  Misses          8        8           
  Partials        3        3           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@samtrion samtrion merged commit 6857a4c into main Dec 5, 2025
16 of 17 checks passed
@samtrion samtrion deleted the feature/dotnet-10 branch December 5, 2025 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state:ready for merge Indicates that a pull request has been reviewed and approved, and is ready to be merged into the mai type:feature Indicates a new feature or enhancement to be added.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants