Skip to content

Updated to latest version of .net10#367

Merged
Jaben merged 1 commit into
ChangemakerStudios:developfrom
Abdulstar:upgrade-dotnet-10
Jun 17, 2026
Merged

Updated to latest version of .net10#367
Jaben merged 1 commit into
ChangemakerStudios:developfrom
Abdulstar:upgrade-dotnet-10

Conversation

@Abdulstar

@Abdulstar Abdulstar commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

All projects have been upgraded to .net10 and packages has been updated as well, only one-line of code added to throw exception for cancellation token!

Summary by CodeRabbit

  • Chores
    • Upgraded platform support to .NET 10.0 across all application components.
    • Updated all third-party dependencies to their latest stable versions for enhanced security, stability, and performance.
    • Refreshed test framework versions and tooling to support updated testing infrastructure.

@coderabbitai

coderabbitai Bot commented Jun 13, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: caea569a-203f-4808-bc7b-b5e9161ecc55

📥 Commits

Reviewing files that changed from the base of the PR and between a3a4a95 and 40e6ee4.

📒 Files selected for processing (22)
  • examples/SendEmailTest/SendEmailTest.csproj
  • examples/SendEmailTestWithBadSSL/SendEmailTestWithBadSSL.csproj
  • examples/SendEmailWithFileLinks/SendEmailWithFileLinks.csproj
  • examples/SendEmailWithPdfAttachment/SendEmailWithPdfAttachment.csproj
  • examples/SendEmailWithTls/SendEmailWithTls.csproj
  • examples/SendRichEmailTest/SendRichEmailTest.csproj
  • examples/SendWordWrapTest/SendWordWrapTest.csproj
  • src/Papercut.Common/Papercut.Common.csproj
  • src/Papercut.Core/Papercut.Core.csproj
  • src/Papercut.Infrastructure.IPComm/Papercut.Infrastructure.IPComm.csproj
  • src/Papercut.Infrastructure.Smtp/Papercut.Infrastructure.Smtp.csproj
  • src/Papercut.Message/Papercut.Message.csproj
  • src/Papercut.Rules/App/RulesRunner.cs
  • src/Papercut.Rules/Papercut.Rules.csproj
  • src/Papercut.Service.TrayNotification/Papercut.Service.TrayNotification.csproj
  • src/Papercut.Service/Papercut.Service.csproj
  • src/Papercut.UI/AppLayer/Themes/ThemeManagerService.cs
  • src/Papercut.UI/Papercut.csproj
  • test/Papercut.Core.Tests/Papercut.Core.Tests.csproj
  • test/Papercut.Infrastructure.Smtp.Tests/Papercut.Infrastructure.Smtp.Tests.csproj
  • test/Papercut.Message.Tests/Papercut.Message.Tests.csproj
  • test/Papercut.Rules.Tests/Papercut.Rules.Tests.csproj

📝 Walkthrough

Walkthrough

This PR upgrades the Papercut SMTP solution from .NET 9.0 to .NET 10.0 across all projects—examples, core libraries, and tests—with coordinated NuGet package version updates. Two code changes enhance cancellation handling in rule execution and refine the reactive scheduler in theme monitoring.

Changes

NET 10.0 Framework and Dependency Upgrade

Layer / File(s) Summary
Example projects framework and dependencies
examples/SendEmailTest/*.csproj, examples/SendEmailTestWithBadSSL/*.csproj, examples/SendEmailWithFileLinks/*.csproj, examples/SendEmailWithPdfAttachment/*.csproj, examples/SendEmailWithTls/*.csproj, examples/SendRichEmailTest/*.csproj, examples/SendWordWrapTest/*.csproj
All seven example projects transition to net10.0 with pinned NuGet versions: MailKit/MimeKit to 4.17.0, Microsoft.Extensions.Configuration variants to 10.0.9.
Core library projects framework and dependencies
src/Papercut.Common/*.csproj, src/Papercut.Core/*.csproj, src/Papercut.Infrastructure.IPComm/*.csproj, src/Papercut.Infrastructure.Smtp/*.csproj, src/Papercut.Message/*.csproj, src/Papercut.Rules/*.csproj, src/Papercut.Service.TrayNotification/*.csproj, src/Papercut.Service/*.csproj, src/Papercut.UI/*.csproj
Eight core libraries upgrade target framework from net9.0 to net10.0. NuGet updates span mail handling (MailKit, MimeKit, SmtpServer), DI containers (Autofac, Autofac.Extensions.DependencyInjection), reactive extensions (System.Reactive 6.1.0), logging/sinks (Serilog variants), configuration, and system packages.
Test projects framework and dependencies
test/Papercut.Core.Tests/*.csproj, test/Papercut.Infrastructure.Smtp.Tests/*.csproj, test/Papercut.Message.Tests/*.csproj, test/Papercut.Rules.Tests/*.csproj
Five test projects upgrade to net10.0 and refresh test infrastructure: NUnit (4.4.0 → 4.6.1), Microsoft.NET.Test.Sdk (18.0.0 → 18.6.0), NUnit3TestAdapter (5.2.0 → 6.2.0), and AwesomeAssertions (9.2.0 → 9.4.0).
Code compatibility adjustments
src/Papercut.Rules/App/RulesRunner.cs, src/Papercut.UI/AppLayer/Themes/ThemeManagerService.cs
RunNewMessageRules adds token.ThrowIfCancellationRequested() check during enabled-rule iteration. ThemeManagerService system theme subscription changes from RxApp.MainThreadScheduler to RxSchedulers.MainThreadScheduler for reactive scheduling.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Poem

🐰 From dot-net nine to ten we hop,
Dependencies dance, frameworks don't stop—
Cancellation tokens and schedulers align,
The upgrade pipeline runs so fine!
A rabbit's work, with patience and care,
Builds faster software everywhere! 🚀

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ 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%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main objective of the changeset: upgrading all projects from .NET 9 to .NET 10 and updating NuGet packages.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@Jaben
Jaben merged commit 27578cd into ChangemakerStudios:develop Jun 17, 2026
3 checks passed
@Jaben

Jaben commented Jun 17, 2026

Copy link
Copy Markdown
Member

This looks good! Thanks for the PR @Abdulstar !

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