From 8f01bf48c051278dd001291b1e5e1f1a942ecd21 Mon Sep 17 00:00:00 2001
From: Bart Koelman <104792814+bart-vmware@users.noreply.github.com>
Date: Tue, 8 Sep 2026 12:35:37 +0200
Subject: [PATCH 1/4] Package updates
---
.config/dotnet-tools.json | 4 +--
shared-test.props | 2 +-
...oe.Bootstrap.AutoConfiguration.Test.csproj | 1 +
.../src/Connectors/PublicAPI.Shipped.txt | 2 ++
.../Steeltoe.Connectors.Test.csproj | 3 ++-
.../src/Abstractions/PublicAPI.Shipped.txt | 1 +
.../Steeltoe.Logging.DynamicSerilog.csproj | 4 +--
versions.props | 27 ++++++++++---------
8 files changed, 26 insertions(+), 18 deletions(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 7022843f4b..436c66fadd 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2026.2.0.2",
+ "version": "2026.2.1",
"commands": [
"jb"
],
@@ -17,7 +17,7 @@
"rollForward": false
},
"dotnet-coverage": {
- "version": "18.9.0",
+ "version": "18.11.0",
"commands": [
"dotnet-coverage"
],
diff --git a/shared-test.props b/shared-test.props
index e2a73db54e..0f4925cda1 100644
--- a/shared-test.props
+++ b/shared-test.props
@@ -15,7 +15,7 @@
-
+
diff --git a/src/Bootstrap/test/AutoConfiguration.Test/Steeltoe.Bootstrap.AutoConfiguration.Test.csproj b/src/Bootstrap/test/AutoConfiguration.Test/Steeltoe.Bootstrap.AutoConfiguration.Test.csproj
index 6e06050f02..eee10bda4b 100644
--- a/src/Bootstrap/test/AutoConfiguration.Test/Steeltoe.Bootstrap.AutoConfiguration.Test.csproj
+++ b/src/Bootstrap/test/AutoConfiguration.Test/Steeltoe.Bootstrap.AutoConfiguration.Test.csproj
@@ -11,6 +11,7 @@
+
diff --git a/src/Connectors/src/Connectors/PublicAPI.Shipped.txt b/src/Connectors/src/Connectors/PublicAPI.Shipped.txt
index 013c9d4e4a..e23921371c 100644
--- a/src/Connectors/src/Connectors/PublicAPI.Shipped.txt
+++ b/src/Connectors/src/Connectors/PublicAPI.Shipped.txt
@@ -112,3 +112,5 @@ Steeltoe.Connectors.SqlServer.SqlServerHostApplicationBuilderExtensions
Steeltoe.Connectors.SqlServer.SqlServerOptions
Steeltoe.Connectors.SqlServer.SqlServerOptions.SqlServerOptions() -> void
Steeltoe.Connectors.SqlServer.SqlServerServiceCollectionExtensions
+virtual Steeltoe.Connectors.ConnectorCreateConnection.Invoke(System.IServiceProvider! serviceProvider, string! serviceBindingName) -> object!
+virtual Steeltoe.Connectors.ConnectorCreateHealthContributor.Invoke(System.IServiceProvider! serviceProvider, string! serviceBindingName) -> Steeltoe.Common.HealthChecks.IHealthContributor!
diff --git a/src/Connectors/test/Connectors.Test/Steeltoe.Connectors.Test.csproj b/src/Connectors/test/Connectors.Test/Steeltoe.Connectors.Test.csproj
index bf2405d3f8..0bdb306f43 100644
--- a/src/Connectors/test/Connectors.Test/Steeltoe.Connectors.Test.csproj
+++ b/src/Connectors/test/Connectors.Test/Steeltoe.Connectors.Test.csproj
@@ -1,4 +1,4 @@
-
+
net10.0;net9.0;net8.0
@@ -7,6 +7,7 @@
+
diff --git a/src/Logging/src/Abstractions/PublicAPI.Shipped.txt b/src/Logging/src/Abstractions/PublicAPI.Shipped.txt
index df3b837d54..230c2eda13 100644
--- a/src/Logging/src/Abstractions/PublicAPI.Shipped.txt
+++ b/src/Logging/src/Abstractions/PublicAPI.Shipped.txt
@@ -35,3 +35,4 @@ Steeltoe.Logging.MessageProcessingLogger.MessageProcessors.get -> System.Collect
virtual Steeltoe.Logging.DynamicLoggerProvider.CreateMessageProcessingLogger(string! categoryName) -> Steeltoe.Logging.MessageProcessingLogger!
virtual Steeltoe.Logging.DynamicLoggerProvider.Dispose(bool disposing) -> void
virtual Steeltoe.Logging.MessageProcessingLogger.Log(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception? exception, System.Func! formatter) -> void
+virtual Steeltoe.Logging.LoggerFilter.Invoke(Microsoft.Extensions.Logging.LogLevel level) -> bool
diff --git a/src/Logging/src/DynamicSerilog/Steeltoe.Logging.DynamicSerilog.csproj b/src/Logging/src/DynamicSerilog/Steeltoe.Logging.DynamicSerilog.csproj
index 07804c6a7c..f7cb4cd3d5 100644
--- a/src/Logging/src/DynamicSerilog/Steeltoe.Logging.DynamicSerilog.csproj
+++ b/src/Logging/src/DynamicSerilog/Steeltoe.Logging.DynamicSerilog.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/versions.props b/versions.props
index ee63bf69be..8f1e471901 100644
--- a/versions.props
+++ b/versions.props
@@ -8,28 +8,29 @@
9.0.*
10.0.*
7.2.*
- 3.58.*
- 18.7.*
- 5.0.*
+ 3.62.*
+ 18.9.*
+ 5.9.*
7.0.*
- 7.0.*
- 3.8.*
+ 7.1.*
+ 3.11.*
2.6.*
- 9.7.*
+ 26.7.*
13.0.*
6.2.*
- 3.3.*
+ 5.6.*
7.2.*
4.0.*
8.4.*
10.25.0.139117
1.2.0-beta.556
2.0.*
- 8.15.*
+ 8.22.*
4.9.*
- 18.5.*
+ 18.9.*
+ 10.9.*
3.2.*
- 3.1.*
+ 4.0.*
@@ -53,7 +54,7 @@
-->
2.2.*
- 1.7.14.*
+ 1.8.*
9.0.652701
8.0.*
@@ -67,8 +68,10 @@
3.1.23
1.15.*-*
1.15.*
- 9.0.*
+ 10.0.*
+ 10.0.*
6.1.*
+ 9.0.*
From 43b93b623b748ddfe71f5844943325b4b33ce73c Mon Sep 17 00:00:00 2001
From: Bart Koelman <104792814+bart-vmware@users.noreply.github.com>
Date: Tue, 8 Sep 2026 13:26:39 +0200
Subject: [PATCH 2/4] Update Sonar analyzer to latest version
Changed rules:
-S4792 // Configuring loggers is security-sensitive
*S5042 Warning -> None // Guard against "Zip Bomb" attacks
+S8949: Warning // Use overload that takes CancellationToken
+S8969: Warning, Steeltoe: None (false positives) // ! operators should not be redundant
+S8970: Warning // Don't use ! when nullable disabled
+S8717 [SonarCloud-only] // Don't use multiple [Key] attributes in EF Core
+S8718 [SonarCloud-only] // About EF Core client-evaluated default values
+S8733 [SonarCloud-only] // Use AsSplitQuery in EF Core
+S8747 [SonarCloud-only] // Don't narrow column types in EF Core migrations
+S9022 [SonarCloud-only] // Duplicate Include calls in EF Core
+S9129 [SonarCloud-only] // Merge include chains in EF Core
---
Steeltoe.Debug.ruleset | 3 ++-
Steeltoe.Release.ruleset | 3 ++-
src/Common/src/Hosting/HostBuilderWrapper.cs | 2 --
src/Common/src/Logging/BootstrapLoggerFactory.cs | 4 ----
src/Logging/src/DynamicConsole/LoggingBuilderExtensions.cs | 2 --
src/Logging/src/DynamicSerilog/SerilogOptions.cs | 2 --
.../Actuators/Loggers/EndpointServiceCollectionExtensions.cs | 2 --
.../src/Endpoint/CoreActuatorServiceCollectionExtensions.cs | 3 ---
.../src/Tracing/TracingServiceCollectionExtensions.cs | 2 --
versions.props | 2 +-
10 files changed, 5 insertions(+), 20 deletions(-)
diff --git a/Steeltoe.Debug.ruleset b/Steeltoe.Debug.ruleset
index 97dc2006b9..ddd897aac8 100644
--- a/Steeltoe.Debug.ruleset
+++ b/Steeltoe.Debug.ruleset
@@ -1,5 +1,5 @@
-
+
@@ -128,6 +128,7 @@
+
diff --git a/Steeltoe.Release.ruleset b/Steeltoe.Release.ruleset
index 24a6a00a3b..5bc567fce8 100644
--- a/Steeltoe.Release.ruleset
+++ b/Steeltoe.Release.ruleset
@@ -1,5 +1,5 @@
-
+
@@ -113,6 +113,7 @@
+
diff --git a/src/Common/src/Hosting/HostBuilderWrapper.cs b/src/Common/src/Hosting/HostBuilderWrapper.cs
index 07ee6af1c8..ebf8976223 100644
--- a/src/Common/src/Hosting/HostBuilderWrapper.cs
+++ b/src/Common/src/Hosting/HostBuilderWrapper.cs
@@ -148,9 +148,7 @@ public void ConfigureLogging(Action
}
else
{
-#pragma warning disable S4792 // Configuring loggers is security-sensitive
_configureServicesActions.Add((contextWrapper, collection) => collection.AddLogging(builder => configureAction(contextWrapper, builder)));
-#pragma warning restore S4792 // Configuring loggers is security-sensitive
}
}
diff --git a/src/Common/src/Logging/BootstrapLoggerFactory.cs b/src/Common/src/Logging/BootstrapLoggerFactory.cs
index 2ad4ad0ad8..4f5c96ddd1 100644
--- a/src/Common/src/Logging/BootstrapLoggerFactory.cs
+++ b/src/Common/src/Logging/BootstrapLoggerFactory.cs
@@ -24,9 +24,7 @@ public sealed class BootstrapLoggerFactory : ILoggerFactory
private static readonly Action ConfigureConsole = loggingBuilder =>
{
loggingBuilder.SetMinimumLevel(LogLevel.Trace);
-#pragma warning disable S4792 // Configuring loggers is security-sensitive
loggingBuilder.AddConsole(options => options.MaxQueueLength = 1);
-#pragma warning restore S4792 // Configuring loggers is security-sensitive
var appSettings = new Dictionary
{
@@ -81,9 +79,7 @@ public static BootstrapLoggerFactory CreateEmpty(Action configu
{
ArgumentNullException.ThrowIfNull(configure);
-#pragma warning disable S4792 // Configuring loggers is security-sensitive
return new BootstrapLoggerFactory(configure);
-#pragma warning restore S4792 // Configuring loggers is security-sensitive
}
///
diff --git a/src/Logging/src/DynamicConsole/LoggingBuilderExtensions.cs b/src/Logging/src/DynamicConsole/LoggingBuilderExtensions.cs
index 9bb66887ef..9137293171 100644
--- a/src/Logging/src/DynamicConsole/LoggingBuilderExtensions.cs
+++ b/src/Logging/src/DynamicConsole/LoggingBuilderExtensions.cs
@@ -51,9 +51,7 @@ private static void EnsureConsoleLoggingIsRegistered(ILoggingBuilder builder)
{
if (builder.Services.All(descriptor => descriptor.SafeGetImplementationType() != typeof(ConsoleLoggerProvider)))
{
-#pragma warning disable S4792 // Configuring loggers is security-sensitive
builder.AddConsole();
-#pragma warning restore S4792 // Configuring loggers is security-sensitive
}
}
diff --git a/src/Logging/src/DynamicSerilog/SerilogOptions.cs b/src/Logging/src/DynamicSerilog/SerilogOptions.cs
index 871e3a9a63..354dce2cd9 100644
--- a/src/Logging/src/DynamicSerilog/SerilogOptions.cs
+++ b/src/Logging/src/DynamicSerilog/SerilogOptions.cs
@@ -50,9 +50,7 @@ internal void SetSerilogOptions(IConfiguration configuration)
MinimumLevel.Default = defaultLevel;
}
-#pragma warning disable S4792 // Configuring loggers is security-sensitive
_serilogConfiguration = new LoggerConfiguration().ReadFrom.Configuration(configuration).ClearLevels(MinimumLevel);
-#pragma warning restore S4792 // Configuring loggers is security-sensitive
}
///
diff --git a/src/Management/src/Endpoint/Actuators/Loggers/EndpointServiceCollectionExtensions.cs b/src/Management/src/Endpoint/Actuators/Loggers/EndpointServiceCollectionExtensions.cs
index 3205e465f3..cb48427479 100644
--- a/src/Management/src/Endpoint/Actuators/Loggers/EndpointServiceCollectionExtensions.cs
+++ b/src/Management/src/Endpoint/Actuators/Loggers/EndpointServiceCollectionExtensions.cs
@@ -40,9 +40,7 @@ public static IServiceCollection AddLoggersActuator(this IServiceCollection serv
{
ArgumentNullException.ThrowIfNull(services);
-#pragma warning disable S4792 // Configuring loggers is security-sensitive
services.AddLogging(loggingBuilder => loggingBuilder.AddDynamicConsole());
-#pragma warning restore S4792 // Configuring loggers is security-sensitive
services.AddCoreActuatorServices(configureMiddleware);
diff --git a/src/Management/src/Endpoint/CoreActuatorServiceCollectionExtensions.cs b/src/Management/src/Endpoint/CoreActuatorServiceCollectionExtensions.cs
index 1445569f65..e948691fa7 100644
--- a/src/Management/src/Endpoint/CoreActuatorServiceCollectionExtensions.cs
+++ b/src/Management/src/Endpoint/CoreActuatorServiceCollectionExtensions.cs
@@ -76,10 +76,7 @@ public static class CoreActuatorServiceCollectionExtensions
private static void AddCommonActuatorServices(IServiceCollection services, bool configureMiddleware)
{
-#pragma warning disable S4792 // Configuring loggers is security-sensitive
services.AddLogging();
-#pragma warning restore S4792 // Configuring loggers is security-sensitive
-
services.AddRouting();
services.TryAddSingleton();
services.TryAddSingleton();
diff --git a/src/Management/src/Tracing/TracingServiceCollectionExtensions.cs b/src/Management/src/Tracing/TracingServiceCollectionExtensions.cs
index 5d830b5421..dd61266050 100644
--- a/src/Management/src/Tracing/TracingServiceCollectionExtensions.cs
+++ b/src/Management/src/Tracing/TracingServiceCollectionExtensions.cs
@@ -31,9 +31,7 @@ public static IServiceCollection AddTracingLogProcessor(this IServiceCollection
ArgumentNullException.ThrowIfNull(services);
services.AddApplicationInstanceInfo();
-#pragma warning disable S4792 // Configuring loggers is security-sensitive
services.AddLogging(loggingBuilder => loggingBuilder.AddDynamicConsole());
-#pragma warning restore S4792 // Configuring loggers is security-sensitive
services.TryAddEnumerable(ServiceDescriptor.Singleton());
return services;
diff --git a/versions.props b/versions.props
index 8f1e471901..e94e82c170 100644
--- a/versions.props
+++ b/versions.props
@@ -22,7 +22,7 @@
7.2.*
4.0.*
8.4.*
- 10.25.0.139117
+ 10.33.0.1635
1.2.0-beta.556
2.0.*
8.22.*
From 9f0b96cee95907ff1b5414fe30d59810917953a0 Mon Sep 17 00:00:00 2001
From: Bart Koelman <104792814+bart-vmware@users.noreply.github.com>
Date: Tue, 8 Sep 2026 13:42:35 +0200
Subject: [PATCH 3/4] Sort PackageReference entries
---
shared-test.props | 2 +-
.../test/Connectors.Test/Steeltoe.Connectors.Test.csproj | 8 ++++----
.../Steeltoe.Connectors.EntityFrameworkCore.Test.csproj | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/shared-test.props b/shared-test.props
index 0f4925cda1..7e63773b57 100644
--- a/shared-test.props
+++ b/shared-test.props
@@ -18,8 +18,8 @@
-
+
diff --git a/src/Connectors/test/Connectors.Test/Steeltoe.Connectors.Test.csproj b/src/Connectors/test/Connectors.Test/Steeltoe.Connectors.Test.csproj
index 0bdb306f43..7d6d266ce1 100644
--- a/src/Connectors/test/Connectors.Test/Steeltoe.Connectors.Test.csproj
+++ b/src/Connectors/test/Connectors.Test/Steeltoe.Connectors.Test.csproj
@@ -7,16 +7,16 @@
-
-
-
-
+
+
+
+
diff --git a/src/Connectors/test/EntityFrameworkCore.Test/Steeltoe.Connectors.EntityFrameworkCore.Test.csproj b/src/Connectors/test/EntityFrameworkCore.Test/Steeltoe.Connectors.EntityFrameworkCore.Test.csproj
index c20f357982..27f23bfef4 100644
--- a/src/Connectors/test/EntityFrameworkCore.Test/Steeltoe.Connectors.EntityFrameworkCore.Test.csproj
+++ b/src/Connectors/test/EntityFrameworkCore.Test/Steeltoe.Connectors.EntityFrameworkCore.Test.csproj
@@ -9,9 +9,9 @@
-
+
From 2b2175dcafba0520f4a13c92d65311a34bb36309 Mon Sep 17 00:00:00 2001
From: Bart Koelman <104792814+bart-vmware@users.noreply.github.com>
Date: Wed, 9 Sep 2026 13:01:29 +0200
Subject: [PATCH 4/4] Fix flaky test
---
.../RelationalDatabaseHealthContributorTest.cs | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/Connectors/test/Connectors.Test/RelationalDatabaseHealthContributorTest.cs b/src/Connectors/test/Connectors.Test/RelationalDatabaseHealthContributorTest.cs
index 04ace068da..a7f5abb2dc 100644
--- a/src/Connectors/test/Connectors.Test/RelationalDatabaseHealthContributorTest.cs
+++ b/src/Connectors/test/Connectors.Test/RelationalDatabaseHealthContributorTest.cs
@@ -32,7 +32,12 @@ public async Task PostgreSQL_Not_Connected_Returns_Down_Status()
result.Description.Should().Be("PostgreSQL health check failed");
result.Details.Should().Contain("host", "localhost");
result.Details.Should().Contain("service", "Example");
- result.Details.Should().ContainKey("error").WhoseValue.As().Should().StartWith("NpgsqlException: ");
+
+ string errorMessage = result.Details.Should().ContainKey("error").WhoseValue.As();
+
+ errorMessage.Should().Match(error =>
+ error.StartsWith("NpgsqlException: Failed to connect", StringComparison.Ordinal) ||
+ error.StartsWith("TimeoutException: ", StringComparison.Ordinal));
}
[Fact(Skip = "Integration test - Requires local PostgreSQL server")]