Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
"version": "2026.2.4",
"version": "2026.3.0",
"commands": [
"jb"
],
Expand All @@ -24,4 +24,4 @@
"rollForward": false
}
}
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the removal of this newline intentional?

1 change: 1 addition & 0 deletions .github/workflows/Steeltoe.All.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ jobs:
8.0.*
9.0.*
10.0.*
11.0.*

- name: Turn off dev certificate (macOS only)
if: ${{ matrix.os == 'macos-latest' }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/component-shared-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ jobs:
8.0.*
9.0.*
10.0.*
11.0.*

- name: Turn off dev certificate (macOS only)
if: ${{ inputs.OS == 'macos' }}
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ jobs:
8.0.*
9.0.*
10.0.*
11.0.*

- name: Git checkout
uses: actions/checkout@v7
Expand Down Expand Up @@ -149,7 +150,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.*
dotnet-version: 11.0.*

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have any concern about the sign tool working with the net11 sdk? I suppose we can address it if it fails, but I don't think we'll hit this path until the pr merges


- name: Install code signing tool
run: dotnet tool install --global sign --prerelease
Expand Down Expand Up @@ -209,7 +210,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.*
dotnet-version: 11.0.*
source-url: ${{ vars.AZURE_ARTIFACTS_FEED_URL }}
env:
NUGET_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -242,7 +243,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.*
dotnet-version: 11.0.*

- name: Download signed packages
uses: actions/download-artifact@v8
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/scan-vulnerable-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ jobs:
8.0.*
9.0.*
10.0.*
11.0.*

- name: Git checkout
uses: actions/checkout@v7
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/sonarcube.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ jobs:
8.0.*
9.0.*
10.0.*
11.0.*

- name: Install Sonar .NET Scanner
run: dotnet tool install --global dotnet-sonarscanner
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/verify-code-style.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ jobs:
8.0.*
9.0.*
10.0.*
11.0.*

- name: Git checkout
uses: actions/checkout@v7
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ In addition to the [feature documentation](https://steeltoe.io/api), we have bui

| Steeltoe Branch | .NET Version | Status |
| --- | --- | --- |
| main | .NET 8 - 10 | Unstable |
| main | .NET 8 - 11 | Unstable |
| 4.x | .NET 8 - 10 | Stable |
| 3.x | .NET 8 | Stable |
| 2.x | .NET Framework 4.6.1+ | Out of Support |
Expand Down
4 changes: 4 additions & 0 deletions shared-test.props
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,8 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' == 'net10.0' Or '$(TargetFramework)' == 'net9.0' or '$(TargetFramework)' == 'net8.0'">

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: this line uses both Or and or

<Using Include="System.Net.Http.Json" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand All @@ -12,7 +12,7 @@
<PackageReference Include="MongoDB.Driver" Version="$(MongoDbDriverVersion)" />
<PackageReference Include="MySqlConnector" Version="$(MySqlConnectorVersion)" />
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonVersion)" />
<PackageReference Include="Npgsql" Version="$(EntityFrameworkCoreTestVersion)" />
<PackageReference Include="Npgsql" Version="$(NpgsqlTestVersion)" />
<PackageReference Include="RabbitMQ.Client" Version="$(RabbitClientTestVersion)" />
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
3 changes: 3 additions & 0 deletions src/Common/test/Certificates.Test/CertificateCollector.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ namespace Steeltoe.Common.Certificates.Test;
/// </summary>
internal sealed class CertificateCollector : IDisposable
{
#pragma warning disable IDE0028 // Simplify collection initialization
// Justification: workaround for bug https://youtrack.jetbrains.com/issue/RSRP-505438/Collection-expression-with-with-expression-requires-language-version-preview

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I'm reading the youtrack issues correctly, your report was classified as a dupe of an issue that was fixed in 2026.3, which this PR bumps us to... Any chance this suppression isn't actually needed?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nevermind, it's fixed in the NEXT 2026.3 release

private readonly HashSet<X509Certificate2> _certificatesToDispose = new(ReferenceEqualityComparer.Instance);
#pragma warning restore IDE0028 // Simplify collection initialization
private IOptionsMonitor<CertificateOptions>? _optionsMonitor;
private string? _certificateName;
private IDisposable? _changeListener;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
2 changes: 1 addition & 1 deletion src/Common/test/Common.Test/Steeltoe.Common.Test.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
2 changes: 1 addition & 1 deletion src/Common/test/Http.Test/Steeltoe.Common.Http.Test.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
2 changes: 1 addition & 1 deletion src/Common/test/Net.Test/Steeltoe.Common.Net.Test.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
11 changes: 11 additions & 0 deletions src/Common/test/TestResources/DelegateToMockHttpClientHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,12 @@ public sealed class DelegateToMockHttpClientHandler : HttpClientHandler
{
// We want to forward to another HttpClient, but that fails because the outer client has already marked the message as sent.
// To avoid the error "The request message was already sent...", we need to revert that mark.
#if NET11_0_OR_GREATER
private static readonly FieldInfo FlagsField = typeof(HttpRequestMessage).GetField("_flags", BindingFlags.NonPublic | BindingFlags.Instance)!;
private const int AlreadySentBit = 0x01;
#else
private static readonly FieldInfo SendStatusField = typeof(HttpRequestMessage).GetField("_sendStatus", BindingFlags.NonPublic | BindingFlags.Instance)!;
#endif

public MockHttpMessageHandler Mock { get; } = new();

Expand Down Expand Up @@ -79,6 +84,12 @@ protected override HttpResponseMessage Send(HttpRequestMessage request, Cancella

private static void MarkMessageAsNotYetSent(HttpRequestMessage request)
{
#if NET11_0_OR_GREATER
int flags = (int)FlagsField.GetValue(request)!;
flags &= ~AlreadySentBit;
FlagsField.SetValue(request, flags);
#else
SendStatusField.SetValue(request, 0);
#endif
}
}
3 changes: 3 additions & 0 deletions src/Common/test/TestResources/MemoryFileProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,10 @@ private sealed class MemoryFileSystemEntry : IDirectoryContents, IFileInfo
public long Length => _fileContents?.Length ?? -1;
public DateTimeOffset LastModified => default;

#pragma warning disable IDE0028 // Simplify collection initialization
// Justification: workaround for bug https://youtrack.jetbrains.com/issue/RSRP-505438/Collection-expression-with-with-expression-requires-language-version-preview
public Dictionary<string, MemoryFileSystemEntry> Children { get; } = new(StringComparer.OrdinalIgnoreCase);
#pragma warning restore IDE0028 // Simplify collection initialization

private MemoryFileSystemEntry(string name, byte[]? fileContents)
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
<IsPackable>false</IsPackable>
</PropertyGroup>

Expand Down
2 changes: 1 addition & 1 deletion src/Common/test/TestResources/TestContextExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ namespace Steeltoe.Common.TestResources;

public static class TestContextExtensions
{
// ReSharper disable once ParameterOnlyUsedForPreconditionCheck.Global
public static bool IsRunningOnBuildServer(this ITestContext testContext)
{
ArgumentNullException.ThrowIfNull(testContext);

_ = testContext;
return Environment.GetEnvironmentVariable("CI") == "true";
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
// See the LICENSE file in the project root for more information.

using System.Net;
using System.Net.Http.Json;
using FluentAssertions.Extensions;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.Extensions.Primitives;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
// See the LICENSE file in the project root for more information.

using System.Net;
using System.Net.Http.Json;
using System.Text;
using FluentAssertions.Extensions;
using Microsoft.Extensions.Configuration;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
<TargetFrameworks>net11.0;net10.0;net9.0;net8.0</TargetFrameworks>
</PropertyGroup>

<Import Project="..\..\..\..\shared.props" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,15 @@ internal sealed class MySqlEntityFrameworkCorePackageResolver : PackageResolver
"MySqlConnector"
];

private static readonly List<string> MicrotingAssemblyNamesWithPreviewWorkaround =
[
"Microting.EntityFrameworkCore.MySql",
"MySqlConnector",
// Temporary workaround: The assembly name changed in the stable 10.x version, but the 11.0.0-preview.1 version doesn't contain that change yet.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need a tracking issue for dealing with this pre-release package ref & workaround? I'm assuming you wouldn't intend to ship with it and see that they plan to release in the next 7-10 days

// https://github.com/microting/Pomelo.EntityFrameworkCore.MySql/issues/272#issuecomment-6801878626
"Pomelo.EntityFrameworkCore.MySql"
];

private static readonly List<string> PomeloAssemblyNames =
[
"Pomelo.EntityFrameworkCore.MySql",
Expand All @@ -46,6 +55,9 @@ .. OracleAssemblyNames

internal static readonly MySqlEntityFrameworkCorePackageResolver MicrotingOnly = new(MicrotingAssemblyNames, [MicrotingPackageName]);

internal static readonly MySqlEntityFrameworkCorePackageResolver MicrotingOnlyWithPreviewWorkaround =
new(MicrotingAssemblyNamesWithPreviewWorkaround, [MicrotingPackageName]);

internal static readonly MySqlEntityFrameworkCorePackageResolver PomeloOnly = new(PomeloAssemblyNames, [PomeloPackageName]);

internal static readonly MySqlEntityFrameworkCorePackageResolver OracleOnly = new(OracleAssemblyNames, [OraclePackageName]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

using FluentAssertions.Extensions;
using Microsoft.Azure.Cosmos;
using Microsoft.Azure.Cosmos.Fluent;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging.Abstractions;
using NSubstitute;
Expand Down Expand Up @@ -127,9 +128,11 @@ public async Task Integration_Is_Connected_Returns_Up_Status()
const string serviceName = "Example";

const string connectionString =
"AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==";
"AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;DisableServerCertificateValidation=True";

var cosmosClient = new CosmosClient(connectionString);
var builder = new CosmosClientBuilder(connectionString);
builder.WithConnectionModeGateway();
CosmosClient cosmosClient = builder.Build();

await using ServiceProvider serviceProvider = CreateServiceProvider(serviceName, connectionString, cosmosClient);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
// See the LICENSE file in the project root for more information.

using System.Net;
using System.Net.Http.Json;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.Extensions.Primitives;
Expand Down
Loading
Loading