diff --git a/CHANGELOG.md b/CHANGELOG.md index 0943c8cc..f48c4af0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -74,6 +74,8 @@ Please ADD ALL Changes to the UNRELEASED SECTION and not a specific release - Dependencies - Updated Microsoft.NET.Test.Sdk to 18.10.0 - Dependencies - Updated AWSSDK to 4.0.102.6 - Dependencies - Updated Meziantou.Analyzer to 3.0.235 +- Upgrade all projects to net11.0 +- Update Docker base image to net11.0 preview runtime-deps (fixes CVE-2026-45447) ### Deprecated ### Removed - Removed NuGet audit suppressions for Scriban 6.2.0 vulnerabilities now that the transitive dependency has been dropped diff --git a/Dockerfile b/Dockerfile index 36dc75a0..e13dc4bd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # chiseled-extra is needed over chiseled for Discord #FROM mcr.microsoft.com/dotnet/runtime-deps:9.0-noble-chiseled-extra -FROM mcr.microsoft.com/dotnet/runtime-deps:10.0-preview-noble-chiseled-extra +FROM mcr.microsoft.com/dotnet/runtime-deps:11.0-preview-resolute-chiseled-extra WORKDIR /usr/src/app diff --git a/src/BuildBot.CloudFormation.Tests/BuildBot.CloudFormation.Tests.csproj b/src/BuildBot.CloudFormation.Tests/BuildBot.CloudFormation.Tests.csproj index 96a02c01..2ecded74 100644 --- a/src/BuildBot.CloudFormation.Tests/BuildBot.CloudFormation.Tests.csproj +++ b/src/BuildBot.CloudFormation.Tests/BuildBot.CloudFormation.Tests.csproj @@ -28,7 +28,7 @@ speed Exe false - net10.0 + net11.0 true true true @@ -41,7 +41,7 @@ - + diff --git a/src/BuildBot.CloudFormation.Tests/Publishers/CloudFormationMessageReceivedNotificationHandlerTests.cs b/src/BuildBot.CloudFormation.Tests/Publishers/CloudFormationMessageReceivedNotificationHandlerTests.cs index bdbc72eb..bbc63b15 100644 --- a/src/BuildBot.CloudFormation.Tests/Publishers/CloudFormationMessageReceivedNotificationHandlerTests.cs +++ b/src/BuildBot.CloudFormation.Tests/Publishers/CloudFormationMessageReceivedNotificationHandlerTests.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Threading; using System.Threading.Tasks; using BuildBot.CloudFormation; @@ -18,7 +19,7 @@ namespace BuildBot.CloudFormation.Tests.Publishers; public sealed class CloudFormationMessageReceivedNotificationHandlerTests : TestBase { - private const string ValidArn = "arn:aws:sns:eu-west-1:123:test"; + private const string VALID_ARN = "arn:aws:sns:eu-west-1:123:test"; private ( SnsNotificationOptions options, @@ -29,7 +30,7 @@ CloudFormationMessageReceivedNotificationHandler handler ) CreateHandler() { SnsNotificationOptions options = new( - TopicArn: ValidArn, + TopicArn: VALID_ARN, Region: "eu-west-1", AccessKey: "AKIAIOSFODNN7EXAMPLE", SecretKey: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" @@ -52,6 +53,11 @@ CloudFormationMessageReceivedNotificationHandler handler return (options, extractor, aws, mediator, handler); } + [SuppressMessage( + category: "Microsoft.IDE", + checkId: "IDE0028", + Justification = "Roslyn's IDE0028 codefix for Dictionary construction with an explicit IEqualityComparer drops the comparer, which then violates MA0002; see https://github.com/dotnet/roslyn/issues/75894" + )] private static CloudFormationMessageReceived MakeNotification(string topicArn) { return new CloudFormationMessageReceived( @@ -99,7 +105,7 @@ CloudFormationMessageReceivedNotificationHandler handler extractor.ExtractDeploymentProperties(Arg.Any()).Returns((Deployment?)null); - CloudFormationMessageReceived notification = MakeNotification(ValidArn); + CloudFormationMessageReceived notification = MakeNotification(VALID_ARN); await handler.Handle(notification: notification, cancellationToken: this.CancellationToken()); @@ -121,7 +127,7 @@ CloudFormationMessageReceivedNotificationHandler handler extractor.ExtractDeploymentProperties(Arg.Any()).Returns(deployment); aws.GetStackDetailsAsync(Arg.Any(), Arg.Any()).Returns((StackDetails?)null); - CloudFormationMessageReceived notification = MakeNotification(ValidArn); + CloudFormationMessageReceived notification = MakeNotification(VALID_ARN); await handler.Handle(notification: notification, cancellationToken: this.CancellationToken()); @@ -144,7 +150,7 @@ CloudFormationMessageReceivedNotificationHandler handler aws.GetStackDetailsAsync(Arg.Any(), Arg.Any()) .Returns(new StackDetails(Description: "A deployment", Version: "1.0.0")); - CloudFormationMessageReceived notification = MakeNotification(ValidArn); + CloudFormationMessageReceived notification = MakeNotification(VALID_ARN); await handler.Handle(notification: notification, cancellationToken: this.CancellationToken()); @@ -173,7 +179,7 @@ CloudFormationMessageReceivedNotificationHandler handler extractor.ExtractDeploymentProperties(Arg.Any()).Returns(deployment); aws.GetStackDetailsAsync(Arg.Any(), Arg.Any()).Returns((StackDetails?)null); - CloudFormationMessageReceived notification = MakeNotification(ValidArn); + CloudFormationMessageReceived notification = MakeNotification(VALID_ARN); await handler.Handle(notification: notification, cancellationToken: this.CancellationToken()); @@ -203,7 +209,7 @@ CloudFormationMessageReceivedNotificationHandler handler aws.GetStackDetailsAsync(Arg.Any(), Arg.Any()) .Returns(new StackDetails(Description: "A deployment", Version: "2.0.0")); - CloudFormationMessageReceived notification = MakeNotification(ValidArn); + CloudFormationMessageReceived notification = MakeNotification(VALID_ARN); await handler.Handle(notification: notification, cancellationToken: this.CancellationToken()); diff --git a/src/BuildBot.CloudFormation.Tests/Publishers/CloudFormationSubscriptionConfirmationNotificationHandlerTests.cs b/src/BuildBot.CloudFormation.Tests/Publishers/CloudFormationSubscriptionConfirmationNotificationHandlerTests.cs index 2b4a7d2c..6c700ed1 100644 --- a/src/BuildBot.CloudFormation.Tests/Publishers/CloudFormationSubscriptionConfirmationNotificationHandlerTests.cs +++ b/src/BuildBot.CloudFormation.Tests/Publishers/CloudFormationSubscriptionConfirmationNotificationHandlerTests.cs @@ -16,7 +16,7 @@ namespace BuildBot.CloudFormation.Tests.Publishers; public sealed class CloudFormationSubscriptionConfirmationNotificationHandlerTests : TestBase { - private const string ValidArn = "arn:aws:sns:eu-west-1:123:test"; + private const string VALID_ARN = "arn:aws:sns:eu-west-1:123:test"; private ( SnsNotificationOptions options, @@ -26,7 +26,7 @@ CloudFormationSubscriptionConfirmationNotificationHandler handler ) CreateHandler() { SnsNotificationOptions options = new( - TopicArn: ValidArn, + TopicArn: VALID_ARN, Region: "eu-west-1", AccessKey: "AKIAIOSFODNN7EXAMPLE", SecretKey: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" @@ -99,7 +99,7 @@ CloudFormationSubscriptionConfirmationNotificationHandler handler .Returns(httpClient); CloudFormationSubscriptionConfirmation notification = new( - TopicArn: ValidArn, + TopicArn: VALID_ARN, SubscribeUrl: new Uri("https://test.example.com/subscribe") ); @@ -137,7 +137,7 @@ CloudFormationSubscriptionConfirmationNotificationHandler handler .Returns(httpClient); CloudFormationSubscriptionConfirmation notification = new( - TopicArn: ValidArn, + TopicArn: VALID_ARN, SubscribeUrl: new Uri("https://test.example.com/subscribe") ); diff --git a/src/BuildBot.CloudFormation/BuildBot.CloudFormation.csproj b/src/BuildBot.CloudFormation/BuildBot.CloudFormation.csproj index c33bf116..009b04d9 100644 --- a/src/BuildBot.CloudFormation/BuildBot.CloudFormation.csproj +++ b/src/BuildBot.CloudFormation/BuildBot.CloudFormation.csproj @@ -28,7 +28,7 @@ speed Library false - net10.0 + net11.0 true true @@ -38,7 +38,7 @@ - + diff --git a/src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj b/src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj index 90a3607b..8fdf7f0b 100644 --- a/src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj +++ b/src/BuildBot.Discord.Tests/BuildBot.Discord.Tests.csproj @@ -28,7 +28,7 @@ speed Exe false - net10.0 + net11.0 true true true @@ -41,7 +41,7 @@ - + diff --git a/src/BuildBot.Discord/BuildBot.Discord.csproj b/src/BuildBot.Discord/BuildBot.Discord.csproj index 7a1a7f67..3e2b8b2d 100644 --- a/src/BuildBot.Discord/BuildBot.Discord.csproj +++ b/src/BuildBot.Discord/BuildBot.Discord.csproj @@ -28,7 +28,7 @@ speed Library false - net10.0 + net11.0 true true @@ -38,12 +38,11 @@ - + - diff --git a/src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj b/src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj index da174f8e..46b8105f 100644 --- a/src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj +++ b/src/BuildBot.GitHub.Tests/BuildBot.GitHub.Tests.csproj @@ -28,7 +28,7 @@ speed Exe false - net10.0 + net11.0 true true true @@ -41,7 +41,7 @@ - + diff --git a/src/BuildBot.GitHub/BuildBot.GitHub.csproj b/src/BuildBot.GitHub/BuildBot.GitHub.csproj index 1d4baed1..8e9bb2aa 100644 --- a/src/BuildBot.GitHub/BuildBot.GitHub.csproj +++ b/src/BuildBot.GitHub/BuildBot.GitHub.csproj @@ -28,7 +28,7 @@ speed Library false - net10.0 + net11.0 true true @@ -38,7 +38,7 @@ - + diff --git a/src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj b/src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj index 9afe2d1f..6297c8ba 100644 --- a/src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj +++ b/src/BuildBot.Health.Tests/BuildBot.Health.Tests.csproj @@ -28,7 +28,7 @@ speed Exe false - net10.0 + net11.0 true true true @@ -41,7 +41,7 @@ - + diff --git a/src/BuildBot.Health/BuildBot.Health.csproj b/src/BuildBot.Health/BuildBot.Health.csproj index e2220be7..4e21f4ec 100644 --- a/src/BuildBot.Health/BuildBot.Health.csproj +++ b/src/BuildBot.Health/BuildBot.Health.csproj @@ -28,7 +28,7 @@ speed Library false - net10.0 + net11.0 true true @@ -38,7 +38,7 @@ - + diff --git a/src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj b/src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj index 454d6886..2e9dee38 100644 --- a/src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj +++ b/src/BuildBot.Json.Tests/BuildBot.Json.Tests.csproj @@ -28,7 +28,7 @@ speed Exe false - net10.0 + net11.0 true true true @@ -41,7 +41,7 @@ - + diff --git a/src/BuildBot.Json/BuildBot.Json.csproj b/src/BuildBot.Json/BuildBot.Json.csproj index 092b29dc..cf4dc7bf 100644 --- a/src/BuildBot.Json/BuildBot.Json.csproj +++ b/src/BuildBot.Json/BuildBot.Json.csproj @@ -28,7 +28,7 @@ speed Library false - net10.0 + net11.0 true true @@ -38,7 +38,7 @@ - + diff --git a/src/BuildBot.ServiceModel.Tests/BuildBot.ServiceModel.Tests.csproj b/src/BuildBot.ServiceModel.Tests/BuildBot.ServiceModel.Tests.csproj index 8daa0980..184d4c0d 100644 --- a/src/BuildBot.ServiceModel.Tests/BuildBot.ServiceModel.Tests.csproj +++ b/src/BuildBot.ServiceModel.Tests/BuildBot.ServiceModel.Tests.csproj @@ -28,7 +28,7 @@ speed Exe false - net10.0 + net11.0 true true true @@ -41,7 +41,7 @@ - + diff --git a/src/BuildBot.ServiceModel/BuildBot.ServiceModel.csproj b/src/BuildBot.ServiceModel/BuildBot.ServiceModel.csproj index ee25b2ec..c24afee7 100644 --- a/src/BuildBot.ServiceModel/BuildBot.ServiceModel.csproj +++ b/src/BuildBot.ServiceModel/BuildBot.ServiceModel.csproj @@ -28,7 +28,7 @@ speed Library false - net10.0 + net11.0 true true diff --git a/src/BuildBot.Tests/BuildBot.Tests.csproj b/src/BuildBot.Tests/BuildBot.Tests.csproj index d8cae23b..ecc83767 100644 --- a/src/BuildBot.Tests/BuildBot.Tests.csproj +++ b/src/BuildBot.Tests/BuildBot.Tests.csproj @@ -28,7 +28,7 @@ speed Exe false - net10.0 + net11.0 true true true @@ -41,7 +41,7 @@ - + diff --git a/src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj b/src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj index 689c0d22..9224cd59 100644 --- a/src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj +++ b/src/BuildBot.Watchtower.Tests/BuildBot.Watchtower.Tests.csproj @@ -28,7 +28,7 @@ speed Exe false - net10.0 + net11.0 true true true @@ -41,7 +41,7 @@ - + diff --git a/src/BuildBot.Watchtower/BuildBot.Watchtower.csproj b/src/BuildBot.Watchtower/BuildBot.Watchtower.csproj index 1d4baed1..8e9bb2aa 100644 --- a/src/BuildBot.Watchtower/BuildBot.Watchtower.csproj +++ b/src/BuildBot.Watchtower/BuildBot.Watchtower.csproj @@ -28,7 +28,7 @@ speed Library false - net10.0 + net11.0 true true @@ -38,7 +38,7 @@ - + diff --git a/src/BuildBot/BuildBot.csproj b/src/BuildBot/BuildBot.csproj index 9d4eedd6..90c3f71a 100644 --- a/src/BuildBot/BuildBot.csproj +++ b/src/BuildBot/BuildBot.csproj @@ -38,7 +38,7 @@ https://github.com/funfair-tech/BuildBot false win-x64;win-arm64;osx-x64;osx-arm64;linux-x64;linux-arm64 - net10.0 + net11.0 true true true @@ -65,7 +65,7 @@ - + @@ -74,11 +74,11 @@ - - - - - + + + + +