Skip to content

Support net10.0, remove net6.0, and upgrade packages#78

Merged
gdlcf88 merged 2 commits into
mainfrom
dotnet-10
Jun 16, 2026
Merged

Support net10.0, remove net6.0, and upgrade packages#78
gdlcf88 merged 2 commits into
mainfrom
dotnet-10

Conversation

@gdlcf88

@gdlcf88 gdlcf88 commented Jun 16, 2026

Copy link
Copy Markdown
Member

Summary

  • Add .NET 10 support and drop .NET 6. Multi-target projects now build for net10.0;net9.0;net8.0 (the netstandard2.1 core libraries are unchanged).
  • Upgrade .NET 8/9 and library dependencies to the latest stable versions to keep the matrix consistent and error-free.

Target frameworks

net9.0;net8.0;net6.0net10.0;net9.0;net8.0 across all multi-target src/test projects and common.testing.props.

Dependency updates (Directory.Build.props)

Package Old New
EF Core (net10) 10.0.9 (new)
EF Core (net9) 9.0.8 9.0.17
EF Core (net8) 8.0.19 8.0.28
EF Core (net6) 6.0.36 removed
Microsoft.Extensions.* 9.0.8 10.0.9
Microsoft.NET.Test.Sdk 17.13.0 18.6.0
Grpc 2.71.0 2.80.0
Google.Protobuf 3.32.0 3.35.1
Dapper 2.1.66 2.1.79
MongoDB.Driver 3.4.3 3.9.0
Newtonsoft.Json 13.0.3 13.0.4
DistributedLock.Core 1.0.8 1.0.9

Also: package version 1.4.0 → 1.5.0, ConfigureAwait.Fody 3.4.1, coverlet.collector 6.0.4 → 10.0.1, xunit.runner.visualstudio 3.1.4 → 3.1.5.

Verified Microsoft.Extensions.* 10.0.9 still ships netstandard2.0/2.1 targets, so the netstandard2.1 core libraries remain compatible.

CI workflows

  • test.yml: installed SDKs 6.0.x/7.0.x/9.0.x8.0.x/9.0.x/10.0.x
  • publish.yml: 9.0.x10.0.x

Incidental fix

The C# 14 analyzer surfaced CS9336 in DtmGrpcTmClient.cs: is not null or "" parses as (is not null) or (is ""), i.e. just is not null — the or "" was dead code, contrary to the apparent intent ("not null and not empty"). Changed to is not (null or ""). Note: this changes runtime behavior for an empty-string ActionApiToken (the header is no longer added).

Testing

  • dotnet build (Debug & Release): 0 errors.
  • All tests pass on net10.0 and net8.0 (106 each). net9.0 compiles but wasn't run locally (runtime not installed); CI covers all three.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.64%. Comparing base (ddacc44) to head (d9f1941).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #78      +/-   ##
==========================================
- Coverage   84.81%   84.64%   -0.17%     
==========================================
  Files          99       99              
  Lines        2410     2410              
  Branches      184      184              
==========================================
- Hits         2044     2040       -4     
  Misses        312      312              
- Partials       54       58       +4     

☔ View full report in Codecov by Harness.
📢 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.

The C# 14 redundant-pattern fix changed the `ActionApiToken` guard line,
which left it only partially branch-covered (the empty/null path was never
exercised), failing the codecov patch check. Add tests for both the
configured and not-configured cases.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gdlcf88 gdlcf88 merged commit c8de280 into main Jun 16, 2026
4 checks passed
@gdlcf88 gdlcf88 deleted the dotnet-10 branch June 16, 2026 12:21
@gdlcf88 gdlcf88 restored the dotnet-10 branch June 16, 2026 12:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants