5097444d56
Re-review 1: HandleDispatch's terminal guard and its AwaitingApplyAcks flip read the row separately, so a lost-dispatch closure committed between them was silently reopened. The flip now carries the RowVersion the guard read; a change in between is a concurrency conflict (nothing seeded, nothing published, coordinator reset). Pinned on real SQL Server with a closure injected between the two reads (fails without the fix). AdminOps' apply deadline and the coordinator's now both read DeployTimings.ApplyDeadline, passed explicitly to both singletons. Microsoft.IdentityModel.Protocols(.OpenIdConnect) pinned to 8.11.0 and referenced directly by the Security project, so the whole IdentityModel family resolves 8.11.0 (fresh restore clean of NU190x/NU1605). Refs #733 Claude-Session: https://claude.ai/code/session_01Ub9hGmYLQvn9XETzw7CMsT
238 lines
18 KiB
XML
238 lines
18 KiB
XML
<Project>
|
|
<PropertyGroup>
|
|
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<PackageVersion Include="Akka" Version="1.5.62" />
|
|
<PackageVersion Include="Akka.Cluster" Version="1.5.62" />
|
|
<PackageVersion Include="Akka.Cluster.Hosting" Version="1.5.62" />
|
|
<PackageVersion Include="Akka.Cluster.Tools" Version="1.5.62" />
|
|
<PackageVersion Include="Akka.Hosting" Version="1.5.62" />
|
|
<PackageVersion Include="Akka.Logger.Serilog" Version="1.5.60" />
|
|
<PackageVersion Include="Akka.Remote" Version="1.5.62" />
|
|
<PackageVersion Include="Akka.Remote.Hosting" Version="1.5.62" />
|
|
<PackageVersion Include="Akka.Streams" Version="1.5.62" />
|
|
<PackageVersion Include="Akka.Streams.TestKit" Version="1.5.62" />
|
|
<PackageVersion Include="Akka.TestKit.Xunit2" Version="1.5.62" />
|
|
<PackageVersion Include="Avalonia" Version="11.2.7" />
|
|
<PackageVersion Include="Avalonia.Controls.DataGrid" Version="11.2.7" />
|
|
<PackageVersion Include="Avalonia.Desktop" Version="11.2.7" />
|
|
<PackageVersion Include="Avalonia.Diagnostics" Version="11.2.7" />
|
|
<PackageVersion Include="Avalonia.Fonts.Inter" Version="11.2.7" />
|
|
<PackageVersion Include="Avalonia.Headless" Version="11.2.7" />
|
|
<PackageVersion Include="Avalonia.Svg.Skia" Version="11.2.0.2" />
|
|
<PackageVersion Include="Avalonia.Themes.Fluent" Version="11.2.7" />
|
|
<PackageVersion Include="Beckhoff.TwinCAT.Ads" Version="7.0.172" />
|
|
<PackageVersion Include="bunit" Version="2.0.33-preview" />
|
|
<PackageVersion Include="CliFx" Version="2.3.6" />
|
|
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.0" />
|
|
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
|
|
<PackageVersion Include="FluentAssertions" Version="8.3.0" />
|
|
<PackageVersion Include="Google.Protobuf" Version="3.34.1" />
|
|
<PackageVersion Include="Grpc.AspNetCore" Version="2.76.0" />
|
|
<PackageVersion Include="Grpc.Core.Api" Version="2.76.0" />
|
|
<PackageVersion Include="Grpc.Net.Client" Version="2.76.0" />
|
|
<PackageVersion Include="Grpc.Tools" Version="2.76.0" />
|
|
<PackageVersion Include="libplctag" Version="1.5.2" />
|
|
<PackageVersion Include="MessagePack" Version="2.5.301" />
|
|
<!-- First-party bearer validation for /auth/token's JWTs (R03:2.4, Lane C fix round 1). Same 10.0.x servicing
|
|
line as the other Microsoft.AspNetCore.* pins. It depends on Microsoft.IdentityModel.Protocols(.OpenIdConnect)
|
|
8.0.1; those two are pinned to 8.11.0 below (and referenced directly by the Security project, the JwtBearer
|
|
entry point, so the pin applies without transitive pinning) to keep the whole IdentityModel family on one
|
|
version with Microsoft.IdentityModel.Tokens / System.IdentityModel.Tokens.Jwt. -->
|
|
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.AspNetCore.DataProtection" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.0" />
|
|
<PackageVersion Include="Microsoft.AspNetCore.SignalR.Client" Version="10.0.0" />
|
|
<!--
|
|
Surgical transitive pin #4. GHSA-334f-vvp4-7g6p (CVE-2026-70159, NU1903 high) flags
|
|
Microsoft.AspNetCore.SignalR.Common 10.0.0..10.0.12, which SignalR.Client 10.0.0 pulls in via
|
|
SignalR.Client.Core. 10.0.13 is the first fixed version, pinned by direct PackageReference in
|
|
AdminUI (the one project that references SignalR.Client). Bumping SignalR.Client itself to
|
|
10.0.13 was tried and rejected: SignalR.Client.Core 10.0.13 floors Microsoft.Extensions.Logging /
|
|
DependencyInjection at 10.0.13, which the AdminUI shared framework absorbs but non-Web consumers
|
|
downstream (OpcUaServer.IntegrationTests, which references Logging.Abstractions 10.0.7 directly)
|
|
do not, producing an NU1605 downgrade.
|
|
-->
|
|
<PackageVersion Include="Microsoft.AspNetCore.SignalR.Common" Version="10.0.13" />
|
|
<PackageVersion Include="Microsoft.AspNetCore.SignalR.Core" Version="1.2.0" />
|
|
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="10.0.7" />
|
|
<!--
|
|
Roslyn analyzer packages pin to the same major version as the SDK's compiler.
|
|
.NET SDK 10.0.105 ships compiler 5.0.0.0. Microsoft.CodeAnalysis.CSharp 5.3.x emits
|
|
analyzer DLLs that reference compiler 5.3.0.0 and fail with CS9057 on the local SDK.
|
|
Pin to 5.0.0 (matches the compiler the SDK ships) until the SDK rolls to 10.0.110+.
|
|
-->
|
|
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="5.0.0" />
|
|
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.12.0" />
|
|
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="5.0.0" />
|
|
<PackageVersion Include="Microsoft.Data.SqlClient" Version="6.1.1" />
|
|
<PackageVersion Include="Microsoft.Data.Sqlite" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.FASTER.Core" Version="2.6.5" />
|
|
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.Extensions.Hosting.WindowsServices" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.Extensions.Http" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="10.0.7" />
|
|
<PackageVersion Include="Microsoft.IdentityModel.Protocols" Version="8.11.0" />
|
|
<PackageVersion Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="8.11.0" />
|
|
<PackageVersion Include="Microsoft.IdentityModel.Tokens" Version="8.11.0" />
|
|
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
|
|
<PackageVersion Include="Microsoft.Playwright" Version="1.51.0" />
|
|
<PackageVersion Include="Moq" Version="4.20.72" />
|
|
<!--
|
|
MQTT client for the Mqtt / Sparkplug B driver. MQTTnet v5 is the first line shipping a
|
|
net10.0 TFM (lib/net10.0, and an EMPTY net10.0 dependency group — zero transitive
|
|
packages, so it cannot participate in a diamond under this repo's deliberately-OFF
|
|
CentralPackageTransitivePinningEnabled). Sparkplug B payloads are hand-rolled rather than
|
|
taken from SparkplugNet, whose newest release (1.3.10) still pins MQTTnet 4.3.6.1152 and
|
|
ships net6.0/net8.0 only.
|
|
-->
|
|
<PackageVersion Include="MQTTnet" Version="5.2.0.1603" />
|
|
<!-- Driver.MTConnect carries NO backend NuGet. The TrakHound MTConnect.NET-Common/-HTTP pins
|
|
Task 0 added were removed in Task 7 (2026-07-24): neither package can parse an MTConnect
|
|
document (the XML formatter ships in a third, unreferenced package) nor frame the /sample
|
|
multipart stream socket-free. The driver uses HttpClient + System.Xml.Linq only. See the
|
|
Task 0 CORRECTION block in docs/plans/2026-07-24-mtconnect-driver.md. -->
|
|
<!-- Fully managed PostgreSQL ADO.NET provider for the Sql poll driver's PostgresDialect
|
|
(NpgsqlFactory.Instance). No native libpq / client install — the same "managed only"
|
|
constraint that rules out Odbc. Referenced by Driver.Sql.Dialect alongside
|
|
Microsoft.Data.SqlClient; consumers inherit it transitively. Latest stable, shipping a
|
|
native lib/net10.0 TFM. -->
|
|
<PackageVersion Include="Npgsql" Version="10.0.3" />
|
|
<PackageVersion Include="Novell.Directory.Ldap.NETStandard" Version="3.6.0" />
|
|
<PackageVersion Include="OPCFoundation.NetStandard.Opc.Ua.Client" Version="1.5.378.106" />
|
|
<!-- Core carries Opc.Ua.StatusCodes, the oracle StatusCodeParityTests checks the drivers'
|
|
hard-coded uint constants against. Referenced by that TEST project only — the drivers
|
|
themselves stay SDK-free by design and keep spelling status codes as bare uints. -->
|
|
<PackageVersion Include="OPCFoundation.NetStandard.Opc.Ua.Core" Version="1.5.378.106" />
|
|
<PackageVersion Include="OPCFoundation.NetStandard.Opc.Ua.Configuration" Version="1.5.378.106" />
|
|
<PackageVersion Include="OPCFoundation.NetStandard.Opc.Ua.Server" Version="1.5.378.106" />
|
|
<!-- Fully managed ODP.NET Core for the Sql poll driver's OracleDialect
|
|
(OracleClientFactory.Instance). The ".Core" package is the 100%-managed driver — no Oracle
|
|
Instant Client / OCI native install, matching the Npgsql constraint above. Latest stable of
|
|
the 23.x (Oracle 23ai) line, which ships lib/net8.0 + netstandard2.1. -->
|
|
<PackageVersion Include="Oracle.ManagedDataAccess.Core" Version="23.26.300" />
|
|
<!-- OpenTelemetry.Api < 1.15.3 has GHSA-g94r-2vxg-569j (header-parsing memory DoS). The trio
|
|
is pulled transitively at 1.9.0; pin to 1.15.3 (matches the Extensions.Hosting pin below),
|
|
applied via a direct PackageReference in the Cluster project so the server stack inherits it. -->
|
|
<PackageVersion Include="OpenTelemetry" Version="1.15.3" />
|
|
<PackageVersion Include="OpenTelemetry.Api" Version="1.15.3" />
|
|
<PackageVersion Include="OpenTelemetry.Api.ProviderBuilderExtensions" Version="1.15.3" />
|
|
<PackageVersion Include="OpenTelemetry.Exporter.Prometheus.AspNetCore" Version="1.15.3-beta.1" />
|
|
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.15.3" />
|
|
<PackageVersion Include="Polly.Core" Version="8.6.6" />
|
|
<PackageVersion Include="S7netplus" Version="0.20.0" />
|
|
<PackageVersion Include="Serilog" Version="4.3.1" />
|
|
<PackageVersion Include="Serilog.AspNetCore" Version="10.0.0" />
|
|
<PackageVersion Include="Serilog.Extensions.Hosting" Version="10.0.0" />
|
|
<PackageVersion Include="Serilog.Formatting.Compact" Version="3.0.0" />
|
|
<PackageVersion Include="Serilog.Settings.Configuration" Version="10.0.0" />
|
|
<PackageVersion Include="Serilog.Sinks.Console" Version="6.0.0" />
|
|
<PackageVersion Include="Serilog.Sinks.File" Version="7.0.0" />
|
|
<PackageVersion Include="Shouldly" Version="4.3.0" />
|
|
<!--
|
|
Surgical transitive pin: Microsoft.Data.Sqlite pulls SQLitePCLRaw.bundle_e_sqlite3 2.1.11
|
|
(native lib.e_sqlite3 2.1.11 — the top of the CVE-2025-6965 / GHSA-2m69-gcr7-jv3q vulnerable
|
|
range, <= 2.1.11). 2.1.12 is the first fixed native bundle (embeds the SQLite 3.50.2+ patch).
|
|
A direct PackageReference in Core.AlarmHistorian promotes this to the resolved version,
|
|
clearing the advisory without CentralPackageTransitivePinningEnabled (which breaks the Roslyn split).
|
|
-->
|
|
<PackageVersion Include="SQLitePCLRaw.bundle_e_sqlite3" Version="2.1.12" />
|
|
<!--
|
|
Surgical transitive pin #2. Four NU1903 high-severity advisories (GHSA-23rf-6693-g89p,
|
|
GHSA-8q5v-6pqq-x66h, GHSA-cvvh-rhrc-wg4q, GHSA-g8r8-53c2-pm3f) landed in the NuGet audit
|
|
data against System.Security.Cryptography.Xml 10.0.7, which Microsoft.AspNetCore.DataProtection
|
|
10.0.7 pulls in transitively for its key storage. Under TreatWarningsAsErrors every FRESH
|
|
restore goes red — 204 NU1903 errors across the solution — while machines with cached audit
|
|
data keep building, so this surfaces first on a clean clone or a docker image build, not
|
|
locally. Verified 2026-07-21 by restoring a detached worktree.
|
|
|
|
10.0.10 is the patched version, pinned by direct PackageReference in Core.Configuration (the
|
|
one project where the DataProtection chain enters). Bumping the DataProtection parent to
|
|
10.0.10 instead was rejected in the sister repo for a reason that applies here too: it floors
|
|
Microsoft.Extensions.* and, through the EFCore adapter, Microsoft.EntityFrameworkCore at
|
|
10.0.10, forcing a family-wide servicing bump (NU1605 downgrade cascade) that deserves its own
|
|
reviewed change.
|
|
|
|
2026-10-22: raised 10.0.10 -> 10.0.13. Three more NU1903 advisories (GHSA-7hqp-7c5m-4vq6,
|
|
GHSA-c399-9853-6jmj, GHSA-r955-8q5j-3h83; vulnerable <= 10.0.12) landed against 10.0.10, again
|
|
red only on a fresh restore (~67 projects). 10.0.13 is the first fixed version. Same pin site,
|
|
same reasoning against the DataProtection parent bump.
|
|
-->
|
|
<PackageVersion Include="System.Security.Cryptography.Xml" Version="10.0.13" />
|
|
<!--
|
|
Surgical transitive pin #3. GHSA-846f-f764-76mx (NU1903 high) + GHSA-2fmv-rv2c-59x7 (NU1902
|
|
moderate) flag System.Security.Cryptography.Pkcs <= 10.0.12 and 9.0.0..9.0.20. Two chains bring
|
|
it in, both entering at Core.Configuration:
|
|
- System.Security.Cryptography.Xml 10.0.x -> Pkcs 10.0.x (same version as Xml), and
|
|
- Microsoft.EntityFrameworkCore.SqlServer 10.0.7 -> Microsoft.Data.SqlClient 6.1.1 -> Pkcs 9.0.4.
|
|
In Web-SDK consumers (AdminUI, ControlPlane, Host, Security, ...) the ASP.NET Core shared
|
|
framework prunes the Xml chain, so the SqlClient 9.0.4 floor is what resolves there (~9
|
|
projects); everywhere else the Xml chain's 10.0.10 won (~67 projects). Raising the Xml pin alone
|
|
only fixes the second group, so Pkcs is pinned explicitly at 10.0.13 (first fixed 10.x) by a
|
|
direct PackageReference in Core.Configuration. Its net10.0 dependency group is empty, so the pin
|
|
floors nothing else. Bumping Microsoft.Data.SqlClient / EFCore.SqlServer instead would be the
|
|
family-wide servicing bump the Xml note above declines.
|
|
-->
|
|
<PackageVersion Include="System.Security.Cryptography.Pkcs" Version="10.0.13" />
|
|
<PackageVersion Include="System.CommandLine" Version="2.0.5" />
|
|
<PackageVersion Include="System.Data.SqlClient" Version="4.9.0" />
|
|
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="8.11.0" />
|
|
<PackageVersion Include="System.IO.Pipes.AccessControl" Version="5.0.0" />
|
|
<PackageVersion Include="System.Memory" Version="4.5.5" />
|
|
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
|
|
<!-- Tmds.DBus.Protocol < 0.21.3 has GHSA-xrw6-gwf8-vvr9 (High); pulled transitively by
|
|
Avalonia.X11 (Linux desktop). Pin to the patched 0.21.3 in the same 0.x line.
|
|
Applied via a direct PackageReference in the consuming desktop project(s). -->
|
|
<PackageVersion Include="Tmds.DBus.Protocol" Version="0.21.3" />
|
|
<!-- xunit v2 pin: AdminUI.Tests / ControlPlane.Tests / Runtime.Tests are held on v2 by
|
|
Akka.TestKit.Xunit2 (no xunit.v3 TestKit ships as of Akka 1.5.62 — both candidate ids
|
|
Akka.TestKit.Xunit3 / Akka.TestKit.Xunit.v3 return BlobNotFound on nuget.org, verified
|
|
2026-07-13). All 44 other test projects are on xunit.v3 1.1.0. Remove this pin and migrate
|
|
the 3 holdouts when Akka ships an xunit.v3 TestKit. (R2-12 / 07/C-4.) -->
|
|
<PackageVersion Include="xunit" Version="2.9.3" />
|
|
<PackageVersion Include="xunit.runner.visualstudio" Version="3.0.2" />
|
|
<PackageVersion Include="xunit.v3" Version="1.1.0" />
|
|
<PackageVersion Include="ZB.MOM.WW.Health" Version="0.3.0" />
|
|
<!--
|
|
LocalDb: embedded SQLite node-local cache + optional 2-node gRPC replication. The core
|
|
package floors the native SQLitePCLRaw.lib.e_sqlite3 at 2.1.12, so consumers inherit the
|
|
CVE-2025-6965-fixed native binary without needing the surgical pin below.
|
|
-->
|
|
<PackageVersion Include="ZB.MOM.WW.LocalDb" Version="0.3.4" />
|
|
<PackageVersion Include="ZB.MOM.WW.LocalDb.Replication" Version="0.3.4" />
|
|
<PackageVersion Include="ZB.MOM.WW.Health.Akka" Version="0.3.0" />
|
|
<PackageVersion Include="ZB.MOM.WW.Health.EntityFrameworkCore" Version="0.3.0" />
|
|
<PackageVersion Include="ZB.MOM.WW.Telemetry" Version="0.1.0" />
|
|
<PackageVersion Include="ZB.MOM.WW.Telemetry.Serilog" Version="0.1.0" />
|
|
<PackageVersion Include="ZB.MOM.WW.MxGateway.Client" Version="0.2.1" />
|
|
<PackageVersion Include="ZB.MOM.WW.MxGateway.Contracts" Version="0.2.1" />
|
|
<PackageVersion Include="ZB.MOM.WW.Configuration" Version="0.1.0" />
|
|
<PackageVersion Include="ZB.MOM.WW.Auth.Abstractions" Version="0.3.0" />
|
|
<PackageVersion Include="ZB.MOM.WW.Auth.Ldap" Version="0.3.0" />
|
|
<PackageVersion Include="ZB.MOM.WW.Auth.AspNetCore" Version="0.3.0" />
|
|
<PackageVersion Include="ZB.MOM.WW.Secrets" Version="0.6.2" />
|
|
<PackageVersion Include="ZB.MOM.WW.Secrets.Abstractions" Version="0.6.2" />
|
|
<PackageVersion Include="ZB.MOM.WW.Secrets.Ui" Version="0.6.2" />
|
|
<PackageVersion Include="ZB.MOM.WW.Secrets.Replicator.AkkaDotNet" Version="0.6.2" />
|
|
<PackageVersion Include="ZB.MOM.WW.Audit" Version="0.1.0" />
|
|
<PackageVersion Include="ZB.MOM.WW.Theme" Version="0.4.1" />
|
|
<PackageVersion Include="ZB.MOM.WW.HistorianGateway.Client" Version="0.3.0" />
|
|
<PackageVersion Include="ZB.MOM.WW.HistorianGateway.Contracts" Version="0.3.0" />
|
|
</ItemGroup>
|
|
</Project> |