From 85344cf815beafef7946030f93c1bdf5af0010b2 Mon Sep 17 00:00:00 2001 From: Chris Wolfgang <210299580+Chris-Wolfgang@users.noreply.github.com> Date: Thu, 20 Aug 2026 21:24:19 -0400 Subject: [PATCH] ci(pack): enable PackageValidation with per-package baselines (#175) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the fleet-standard PackageValidation gate to both shipped csprojs so `dotnet pack` runs Microsoft.DotNet.ApiCompat against the last-published NuGet version. Accidental ABI breaks — removed / renamed / type-changed public members, dropped TFMs — fail pack instead of shipping. Baselines (per current NuGet state): Wolfgang.Extensions.Logging.Data → 0.3.0 Wolfgang.Extensions.Logging.Data.EntityFramework6 → 0.2.0 EF6 lags the main package's cadence (last release was 0.2.0 while Data is at 0.3.0), so the two csprojs pin different baselines. Each will bump independently after its next release. Local `dotnet pack -c Release -v:normal` on both projects reports `RunPackageValidation: APICompat ran successfully without finding any breaking changes` — no ABI breaks between the current main and either published baseline, so this lands cleanly. Multi-line comment in each csproj explains the mechanism, the maintenance step (baseline bump after every release per the per-repo release flow), and the release.yaml pack-and-validate exercise path. Closes #175. Co-Authored-By: Claude Opus 4.7 --- ...ng.Extensions.Logging.Data.EntityFramework6.csproj | 11 +++++++++++ .../Wolfgang.Extensions.Logging.Data.csproj | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/src/Wolfgang.Extensions.Logging.Data.EntityFramework6/Wolfgang.Extensions.Logging.Data.EntityFramework6.csproj b/src/Wolfgang.Extensions.Logging.Data.EntityFramework6/Wolfgang.Extensions.Logging.Data.EntityFramework6.csproj index d599983..7a78428 100644 --- a/src/Wolfgang.Extensions.Logging.Data.EntityFramework6/Wolfgang.Extensions.Logging.Data.EntityFramework6.csproj +++ b/src/Wolfgang.Extensions.Logging.Data.EntityFramework6/Wolfgang.Extensions.Logging.Data.EntityFramework6.csproj @@ -11,6 +11,17 @@ the actual release version. --> 1.0.0.0 $([System.Text.RegularExpressions.Regex]::Replace("$(Version)", "[-+].*$", "")).0 + + true + 0.2.0 $(AssemblyName) Passive structured logging of every Entity Framework 6 command, connection, and transaction event via the EF6 interceptor pipeline. Register once at startup with AddLoggingInterceptors; delegates to Wolfgang.Extensions.Logging.Data for rendering and secret redaction. https://github.com/Chris-Wolfgang/Extensions-Logging-Data diff --git a/src/Wolfgang.Extensions.Logging.Data/Wolfgang.Extensions.Logging.Data.csproj b/src/Wolfgang.Extensions.Logging.Data/Wolfgang.Extensions.Logging.Data.csproj index ae62e18..fe6ff7e 100644 --- a/src/Wolfgang.Extensions.Logging.Data/Wolfgang.Extensions.Logging.Data.csproj +++ b/src/Wolfgang.Extensions.Logging.Data/Wolfgang.Extensions.Logging.Data.csproj @@ -11,6 +11,15 @@ the actual release version. --> 1.0.0.0 $([System.Text.RegularExpressions.Regex]::Replace("$(Version)", "[-+].*$", "")).0 + + true + 0.3.0 $(AssemblyName) Extension methods for ILogger and ILogger<T> that log DbConnection, DbCommand, DbParameter, and DbParameterCollection from System.Data.Common, with built-in secret redaction (passwords in connection strings, configurable parameter values). https://github.com/Chris-Wolfgang/Extensions-Logging-Data