From 187833c577bb4ac98c1b5528349d029c37da2e4e Mon Sep 17 00:00:00 2001 From: "@nieprzecietny_kowalski" Date: Sun, 1 Feb 2026 13:41:21 +0100 Subject: [PATCH 1/2] Add .NET 10 support and update packages to resolve vulnerabilities MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit adds multi-targeting support for .NET 10 across all library and test projects, and updates critical packages to address security vulnerabilities and maintain open-source licensing. ## .NET 10 Multi-Targeting - Updated 12 library projects to target net8.0, net9.0, and net10.0 - Added framework-specific package references with version aliases (10.* for .NET 10) - Updated 5 test projects to target net10.0 - All projects build successfully across all target frameworks ## Package Updates ### MediatR (12.0.1 → 12.5.0) - Updated to last Apache-2.0 licensed version before commercial transition - Updated in: MediatR, MediatR.Caching, MediatR.Email, MediatR.PagedRequest - Maintains open-source licensing for project sustainability ### Microsoft.ML Packages (Security Fix) - Fixed high severity SkiaSharp vulnerability (GHSA-j7hp-h8jx-5ppr) - Microsoft.ML: 2.0.1 → 5.0.0 - Microsoft.ML.ImageAnalytics: 2.0.1 → 5.0.0 - Microsoft.ML.Vision: 2.0.1 → 5.0.0 - Microsoft.Extensions.ML: 2.0.1 → 5.0.0 - Microsoft.ML.AutoML: 0.20.1 → 0.23.0 - Updated Microsoft.Extensions.* references for net8.0 to 9.* to satisfy dependencies ### Scrutor (6.1.0 → 7.0.0) - Updated to latest stable version in MediatR project ## Verification - Build: Successful (0 errors, warnings pre-existing) - Vulnerability Scan: All 20 projects now have NO vulnerable packages - Tests: 39 total, 36 passed, 3 skipped (integration tests requiring manual setup), 0 failed Co-Authored-By: Claude Sonnet 4.5 --- ...TailoredApps.Shared.Email.Office365.csproj | 2 +- .../TailoredApps.Shared.Email.csproj | 6 ++++- ...tityFramework.UnitOfWork.WebApiCore.csproj | 2 +- ...TailoredApps.Shared.EntityFramework.csproj | 5 +++- ...iloredApps.Shared.ExceptionHandling.csproj | 2 +- ...TailoredApps.Shared.MediatR.Caching.csproj | 2 +- .../TailoredApps.Shared.MediatR.Email.csproj | 4 +-- .../TailoredApps.Shared.MediatR.ML.csproj | 25 +++++++++++-------- ...redApps.Shared.MediatR.PagedRequest.csproj | 4 +-- .../TailoredApps.Shared.MediatR.csproj | 13 +++++++--- ...s.Shared.Payments.Provider.CashBill.csproj | 8 +++++- .../TailoredApps.Shared.Payments.csproj | 5 +++- .../TailoredApps.Shared.DateTime.Tests.csproj | 2 +- .../TailoredApps.Shared.Email.Tests.csproj | 8 +++--- ...edApps.Shared.EntityFramework.Tests.csproj | 4 +-- ...ailoredApps.Shared.MediatR.ML.Tests.csproj | 4 +-- .../TailoredApps.Shared.Payments.Tests.csproj | 4 +-- 17 files changed, 64 insertions(+), 36 deletions(-) diff --git a/src/TailoredApps.Shared.Email.Office365/TailoredApps.Shared.Email.Office365.csproj b/src/TailoredApps.Shared.Email.Office365/TailoredApps.Shared.Email.Office365.csproj index ccc53de..59d46e2 100644 --- a/src/TailoredApps.Shared.Email.Office365/TailoredApps.Shared.Email.Office365.csproj +++ b/src/TailoredApps.Shared.Email.Office365/TailoredApps.Shared.Email.Office365.csproj @@ -1,7 +1,7 @@  - net8.0;net9.0 + net8.0;net9.0;net10.0 build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) TailoredApps.Shared.Email.Office365 TailoredApps.Shared.Email.Office365 diff --git a/src/TailoredApps.Shared.Email/TailoredApps.Shared.Email.csproj b/src/TailoredApps.Shared.Email/TailoredApps.Shared.Email.csproj index 41628ed..fc6d2b7 100644 --- a/src/TailoredApps.Shared.Email/TailoredApps.Shared.Email.csproj +++ b/src/TailoredApps.Shared.Email/TailoredApps.Shared.Email.csproj @@ -2,7 +2,7 @@ build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - net8.0;net9.0 + net8.0;net9.0;net10.0 true True @@ -22,6 +22,10 @@ true + + + + diff --git a/src/TailoredApps.Shared.EntityFramework.UnitOfWork.WebApiCore/TailoredApps.Shared.EntityFramework.UnitOfWork.WebApiCore.csproj b/src/TailoredApps.Shared.EntityFramework.UnitOfWork.WebApiCore/TailoredApps.Shared.EntityFramework.UnitOfWork.WebApiCore.csproj index a428537..d568936 100644 --- a/src/TailoredApps.Shared.EntityFramework.UnitOfWork.WebApiCore/TailoredApps.Shared.EntityFramework.UnitOfWork.WebApiCore.csproj +++ b/src/TailoredApps.Shared.EntityFramework.UnitOfWork.WebApiCore/TailoredApps.Shared.EntityFramework.UnitOfWork.WebApiCore.csproj @@ -2,7 +2,7 @@ build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - net8.0;net9.0 + net8.0;net9.0;net10.0 True True diff --git a/src/TailoredApps.Shared.EntityFramework/TailoredApps.Shared.EntityFramework.csproj b/src/TailoredApps.Shared.EntityFramework/TailoredApps.Shared.EntityFramework.csproj index cf4faa7..a3e4737 100644 --- a/src/TailoredApps.Shared.EntityFramework/TailoredApps.Shared.EntityFramework.csproj +++ b/src/TailoredApps.Shared.EntityFramework/TailoredApps.Shared.EntityFramework.csproj @@ -2,12 +2,15 @@ build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - net8.0;net9.0 + net8.0;net9.0;net10.0 true True + + + diff --git a/src/TailoredApps.Shared.ExceptionHandling/TailoredApps.Shared.ExceptionHandling.csproj b/src/TailoredApps.Shared.ExceptionHandling/TailoredApps.Shared.ExceptionHandling.csproj index 10bf3d9..ca9dfa6 100644 --- a/src/TailoredApps.Shared.ExceptionHandling/TailoredApps.Shared.ExceptionHandling.csproj +++ b/src/TailoredApps.Shared.ExceptionHandling/TailoredApps.Shared.ExceptionHandling.csproj @@ -2,7 +2,7 @@ build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - net8.0;net9.0 + net8.0;net9.0;net10.0 TailoredApps.Shared.ExceptionHandling TailoredApps.Shared.ExceptionHandling true diff --git a/src/TailoredApps.Shared.MediatR.Caching/TailoredApps.Shared.MediatR.Caching.csproj b/src/TailoredApps.Shared.MediatR.Caching/TailoredApps.Shared.MediatR.Caching.csproj index 7cfe9e8..dd433a8 100644 --- a/src/TailoredApps.Shared.MediatR.Caching/TailoredApps.Shared.MediatR.Caching.csproj +++ b/src/TailoredApps.Shared.MediatR.Caching/TailoredApps.Shared.MediatR.Caching.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/TailoredApps.Shared.MediatR.Email/TailoredApps.Shared.MediatR.Email.csproj b/src/TailoredApps.Shared.MediatR.Email/TailoredApps.Shared.MediatR.Email.csproj index 0374f38..bb06eb4 100644 --- a/src/TailoredApps.Shared.MediatR.Email/TailoredApps.Shared.MediatR.Email.csproj +++ b/src/TailoredApps.Shared.MediatR.Email/TailoredApps.Shared.MediatR.Email.csproj @@ -2,7 +2,7 @@ build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - net8.0;net9.0 + net8.0;net9.0;net10.0 true True @@ -12,7 +12,7 @@ - + diff --git a/src/TailoredApps.Shared.MediatR.ML/TailoredApps.Shared.MediatR.ML.csproj b/src/TailoredApps.Shared.MediatR.ML/TailoredApps.Shared.MediatR.ML.csproj index 59569d3..7350dc4 100644 --- a/src/TailoredApps.Shared.MediatR.ML/TailoredApps.Shared.MediatR.ML.csproj +++ b/src/TailoredApps.Shared.MediatR.ML/TailoredApps.Shared.MediatR.ML.csproj @@ -2,7 +2,7 @@ build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - net8.0;net9.0 + net8.0;net9.0;net10.0 true True @@ -12,11 +12,11 @@ - - - - - + + + + + @@ -25,15 +25,20 @@ + + + + + - - - - + + + + diff --git a/src/TailoredApps.Shared.MediatR.PagedRequest/TailoredApps.Shared.MediatR.PagedRequest.csproj b/src/TailoredApps.Shared.MediatR.PagedRequest/TailoredApps.Shared.MediatR.PagedRequest.csproj index 0e42e80..e9c7693 100644 --- a/src/TailoredApps.Shared.MediatR.PagedRequest/TailoredApps.Shared.MediatR.PagedRequest.csproj +++ b/src/TailoredApps.Shared.MediatR.PagedRequest/TailoredApps.Shared.MediatR.PagedRequest.csproj @@ -2,13 +2,13 @@ build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - net8.0;net9.0 + net8.0;net9.0;net10.0 true True - + diff --git a/src/TailoredApps.Shared.MediatR/TailoredApps.Shared.MediatR.csproj b/src/TailoredApps.Shared.MediatR/TailoredApps.Shared.MediatR.csproj index 6a611d6..78b41bc 100644 --- a/src/TailoredApps.Shared.MediatR/TailoredApps.Shared.MediatR.csproj +++ b/src/TailoredApps.Shared.MediatR/TailoredApps.Shared.MediatR.csproj @@ -2,7 +2,7 @@ build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - net8.0;net9.0 + net8.0;net9.0;net10.0 TailoredApps.Shared.MediatR TailoredApps.Shared.MediatR true @@ -26,10 +26,17 @@ - + - + + + + + + + + diff --git a/src/TailoredApps.Shared.Payments.Provider.CashBill/TailoredApps.Shared.Payments.Provider.CashBill.csproj b/src/TailoredApps.Shared.Payments.Provider.CashBill/TailoredApps.Shared.Payments.Provider.CashBill.csproj index 2383a17..34d3d95 100644 --- a/src/TailoredApps.Shared.Payments.Provider.CashBill/TailoredApps.Shared.Payments.Provider.CashBill.csproj +++ b/src/TailoredApps.Shared.Payments.Provider.CashBill/TailoredApps.Shared.Payments.Provider.CashBill.csproj @@ -2,11 +2,17 @@ build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - net8.0;net9.0 + net8.0;net9.0;net10.0 True True + + + + + + diff --git a/src/TailoredApps.Shared.Payments/TailoredApps.Shared.Payments.csproj b/src/TailoredApps.Shared.Payments/TailoredApps.Shared.Payments.csproj index 43790ab..121f29c 100644 --- a/src/TailoredApps.Shared.Payments/TailoredApps.Shared.Payments.csproj +++ b/src/TailoredApps.Shared.Payments/TailoredApps.Shared.Payments.csproj @@ -2,11 +2,14 @@ build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - net8.0;net9.0 + net8.0;net9.0;net10.0 True True + + + diff --git a/tests/TailoredApps.Shared.DateTime.Tests/TailoredApps.Shared.DateTime.Tests.csproj b/tests/TailoredApps.Shared.DateTime.Tests/TailoredApps.Shared.DateTime.Tests.csproj index c6bbc2c..1c6c731 100644 --- a/tests/TailoredApps.Shared.DateTime.Tests/TailoredApps.Shared.DateTime.Tests.csproj +++ b/tests/TailoredApps.Shared.DateTime.Tests/TailoredApps.Shared.DateTime.Tests.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) false diff --git a/tests/TailoredApps.Shared.Email.Tests/TailoredApps.Shared.Email.Tests.csproj b/tests/TailoredApps.Shared.Email.Tests/TailoredApps.Shared.Email.Tests.csproj index 2f49278..89eefcb 100644 --- a/tests/TailoredApps.Shared.Email.Tests/TailoredApps.Shared.Email.Tests.csproj +++ b/tests/TailoredApps.Shared.Email.Tests/TailoredApps.Shared.Email.Tests.csproj @@ -1,15 +1,15 @@  - net9.0 + net10.0 build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) false - - - + + + diff --git a/tests/TailoredApps.Shared.EntityFramework.Tests/TailoredApps.Shared.EntityFramework.Tests.csproj b/tests/TailoredApps.Shared.EntityFramework.Tests/TailoredApps.Shared.EntityFramework.Tests.csproj index c83c08d..0894c10 100644 --- a/tests/TailoredApps.Shared.EntityFramework.Tests/TailoredApps.Shared.EntityFramework.Tests.csproj +++ b/tests/TailoredApps.Shared.EntityFramework.Tests/TailoredApps.Shared.EntityFramework.Tests.csproj @@ -1,13 +1,13 @@  - net9.0 + net10.0 build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) false - + diff --git a/tests/TailoredApps.Shared.MediatR.ML.Tests/TailoredApps.Shared.MediatR.ML.Tests.csproj b/tests/TailoredApps.Shared.MediatR.ML.Tests/TailoredApps.Shared.MediatR.ML.Tests.csproj index dbc29ba..a9c3eb0 100644 --- a/tests/TailoredApps.Shared.MediatR.ML.Tests/TailoredApps.Shared.MediatR.ML.Tests.csproj +++ b/tests/TailoredApps.Shared.MediatR.ML.Tests/TailoredApps.Shared.MediatR.ML.Tests.csproj @@ -1,13 +1,13 @@  - net9.0 + net10.0 build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - + diff --git a/tests/TailoredApps.Shared.Payments.Tests/TailoredApps.Shared.Payments.Tests.csproj b/tests/TailoredApps.Shared.Payments.Tests/TailoredApps.Shared.Payments.Tests.csproj index 3d4abdc..fc31cc4 100644 --- a/tests/TailoredApps.Shared.Payments.Tests/TailoredApps.Shared.Payments.Tests.csproj +++ b/tests/TailoredApps.Shared.Payments.Tests/TailoredApps.Shared.Payments.Tests.csproj @@ -1,12 +1,12 @@  - net9.0 + net10.0 build$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss")) - + From a4b9f2164730ea7c03adc4cd1e05f55a785b1bae Mon Sep 17 00:00:00 2001 From: Lukasz Kowalski Date: Sun, 1 Feb 2026 13:45:26 +0100 Subject: [PATCH 2/2] Update .NET Core version in CI workflow --- .github/workflows/ci-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-pr.yml b/.github/workflows/ci-pr.yml index 5548fd5..3330f38 100644 --- a/.github/workflows/ci-pr.yml +++ b/.github/workflows/ci-pr.yml @@ -5,7 +5,7 @@ on: branches: [ master ] env: - NETCORE_VERSION: '9.0.x' + NETCORE_VERSION: '10.0.x' jobs: build: