From 2a16c06b0abf0bdb28dce9184d23994a550a1fde Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 4 May 2026 20:05:43 -0500 Subject: [PATCH 1/5] Target net8.0 as minimum TFM for NuGet package The generated code uses ARM SIMD VectorTableLookup tuple overloads (and other APIs) that require net8.0+. The previous netstandard2.0 target was misleading since consumers on older frameworks would get compile errors from the generated code. - Change SortingNetworks (NuGet package) from netstandard2.0 to net8.0 - Change Directory.Build.props default from net10.0 to net8.0 - Remove redundant TFM override from sample project The generator project stays at netstandard2.0 (Roslyn requirement). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- Directory.Build.props | 2 +- SortingNetworks/SortingNetworks.csproj | 2 +- samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index cb0b9cd..4b03359 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@ - net10.0 + net8.0 enable enable latest diff --git a/SortingNetworks/SortingNetworks.csproj b/SortingNetworks/SortingNetworks.csproj index d3c7ade..1b39e49 100644 --- a/SortingNetworks/SortingNetworks.csproj +++ b/SortingNetworks/SortingNetworks.csproj @@ -1,7 +1,7 @@ - netstandard2.0 + net8.0 SortingNetworks.SourceGen Source generator for sorting-network-based sorting of small arrays, including depth-13 networks for 27 and 28 channels from arXiv:2511.04107. Jonathan Peppers diff --git a/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj b/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj index 7364fd9..0c32a11 100644 --- a/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj +++ b/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj @@ -2,7 +2,7 @@ Exe - net10.0 + From f925aa760b34694dc8692e3c3924e8bc6f2a0884 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 4 May 2026 20:09:22 -0500 Subject: [PATCH 2/5] Add RollForward=Major to tests, fix blank line in sample Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- SortingNetworks.Tests/SortingNetworks.Tests.csproj | 1 + samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/SortingNetworks.Tests/SortingNetworks.Tests.csproj b/SortingNetworks.Tests/SortingNetworks.Tests.csproj index e0f318b..0147012 100644 --- a/SortingNetworks.Tests/SortingNetworks.Tests.csproj +++ b/SortingNetworks.Tests/SortingNetworks.Tests.csproj @@ -2,6 +2,7 @@ false + Major diff --git a/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj b/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj index 0c32a11..8d58124 100644 --- a/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj +++ b/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj @@ -2,7 +2,6 @@ Exe - From bd3ba737dc9c9b78e28e316659d8b95d1abe0ba7 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 4 May 2026 20:24:06 -0500 Subject: [PATCH 3/5] Keep net10.0 in Directory.Build.props, override net8.0 where needed Benchmarks should run on the latest runtime for accurate perf numbers. Only the NuGet package, tests, and sample explicitly target net8.0 to validate the minimum supported TFM. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- Directory.Build.props | 2 +- SortingNetworks.Tests/SortingNetworks.Tests.csproj | 1 + samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Directory.Build.props b/Directory.Build.props index 4b03359..cb0b9cd 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@ - net8.0 + net10.0 enable enable latest diff --git a/SortingNetworks.Tests/SortingNetworks.Tests.csproj b/SortingNetworks.Tests/SortingNetworks.Tests.csproj index 0147012..c79c23e 100644 --- a/SortingNetworks.Tests/SortingNetworks.Tests.csproj +++ b/SortingNetworks.Tests/SortingNetworks.Tests.csproj @@ -1,6 +1,7 @@ + net8.0 false Major diff --git a/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj b/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj index 8d58124..a8426e4 100644 --- a/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj +++ b/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj @@ -2,6 +2,7 @@ Exe + net8.0 From fdd152a0e775534b74c47b648997b03f79afd3b3 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 4 May 2026 20:34:30 -0500 Subject: [PATCH 4/5] Fix CI: use RestoreAdditionalProjectSources for sample verification RestoreSources replaces all NuGet sources, preventing the net8.0 runtime host pack from being downloaded from nuget.org. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b67b3aa..930edef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: - name: Verify NuGet package run: > dotnet run --project samples/SortingNetworks.Sample - -p:RestoreSources=$(pwd)/SortingNetworks/bin/Release + -p:RestoreAdditionalProjectSources=$(pwd)/SortingNetworks/bin/Release - name: Upload artifacts uses: actions/upload-artifact@v7 From 366317ae42c5874e746d2f4d4ffc9e28efc00f18 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 4 May 2026 20:35:14 -0500 Subject: [PATCH 5/5] Use $(Version) for sample package reference instead of wildcard Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj b/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj index a8426e4..a3efc04 100644 --- a/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj +++ b/samples/SortingNetworks.Sample/SortingNetworks.Sample.csproj @@ -6,7 +6,7 @@ - +