Dependencies: Update NuGet packages to latest minor and patch versions (17) - #23453
Conversation
|
Claude finished @AndyButland's task in 2m 21s —— View job PR ReviewTarget: Routine minor/patch NuGet dependency maintenance for 17.6, including two transitive security pins ( Suggestions
Approved with Suggestions for improvementGood to go, but please carefully consider the importance of the suggestions. |
There was a problem hiding this comment.
Pull request overview
Routine dependency maintenance for the 17.6 release: updates centrally-managed (and test) NuGet package versions to latest minor/patch levels, and adds/updates explicit pins to ensure vulnerable transitives are resolved to patched versions (including for Umbraco.Web.UI, which opts out of central package management).
Changes:
- Bump central package versions in
Directory.Packages.props(Microsoft.Extensions.*, EF Core, OpenIddict, Serilog, MessagePack, Nerdbank.GitVersioning, etc.). - Update test package versions in
tests/Directory.Packages.props(Microsoft.AspNetCore.Mvc.Testing, Microsoft.NET.Test.Sdk, System.Data.*). - Update
Umbraco.Web.UIinline package references for security/patching (Microsoft.EntityFrameworkCore.Design,Microsoft.OpenApi, and addSQLitePCLRaw.lib.e_sqlite3).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
Directory.Packages.props |
Central version bumps + security transitive pin update for System.Security.Cryptography.Xml (and other package minor/patch updates). |
tests/Directory.Packages.props |
Updates centrally-managed test dependency versions to align with the 10.0.10/10.8.0 wave and newer test SDK. |
src/Umbraco.Web.UI/Umbraco.Web.UI.csproj |
Updates inline package versions for the non-CPM project and adds an explicit SQLite native lib reference to ensure the patched version is used. |
Bump all NuGet dependencies that were behind to their latest available minor or patch release, as reported by dotnet-outdated. No major-version updates are included. Also raise the transitive security pins to close known advisories: - System.Security.Cryptography.Xml 10.0.9 -> 10.0.10 - SQLitePCLRaw.lib.e_sqlite3 pinned inline in Umbraco.Web.UI (2.1.12), which the central pin does not reach as that project manages versions inline (GHSA-2m69-gcr7-jv3q). Align the central Microsoft.OpenApi pin (2.9.0 -> 2.11.0) with the inline Umbraco.Web.UI version so CPM projects resolve the same floor. Both were already patched for CVE-2026-49451; this is consistency, not a fix. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
e857e93 to
5632cec
Compare
|
I see this one has triggered a failing integration test - will review to see if we either fix the test or rollback one of the upgrades (and bring it in again, with fixed tests, for the next minor). |
Microsoft.OpenApi 2.11.0 changes how a nullable, type-less schema is serialized in OpenAPI 3.0 mode (from "nullable": true to "enum": [null]), which diverges from the committed Delivery API OpenAPI 3.0 contract and fails the OpenApiContractTest integration test on this line. (The 18.x line is unaffected: it generates OpenAPI 3.1 via Microsoft.AspNetCore.OpenApi, where that 3.0 serialization path does not apply.) Revert the bump here (central pin + Umbraco.Web.UI inline) back to 2.9.0, the version release/17.6 already ships. 2.9.0 is itself the patched version for CVE-2026-49451, so no vulnerability is reintroduced. The upgrade to 2.11.0 and the accompanying contract regeneration will be handled in a dedicated 17.7 PR with time for review and testing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Document why Microsoft.OpenApi is held at 2.9.0 (2.10.0+ regresses OpenAPI 3.0 nullability serialization, corrupting the Delivery API contract - see microsoft/OpenAPI.NET#2967) so the routine dependency-update process does not bump it. Central pin + Umbraco.Web.UI inline. Comment-only; no version change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|



Description
Routine dependency maintenance for the 17.6 release. Updates all NuGet packages that were behind to their latest available minor or patch version, as reported by
dotnet-outdated. No major-version updates are included.It also raises two transitive security pins to close known advisories (see Security below).
Production packages (
Directory.Packages.props)Microsoft.Extensions.*(Caching.Abstractions, Caching.Memory, Configuration.Abstractions, Configuration.Json, DependencyInjection, FileProviders.Embedded, FileProviders.Physical, Hosting.Abstractions, Http, Identity.Core, Identity.Stores, Logging, Options, Options.ConfigurationExtensions, Options.DataAnnotations)Microsoft.Data.SqliteMicrosoft.EntityFrameworkCore.SqliteMicrosoft.EntityFrameworkCore.SqlServerMicrosoft.AspNetCore.Mvc.Razor.RuntimeCompilationMicrosoft.Extensions.Caching.HybridMessagePackOpenIddict.Abstractions/OpenIddict.AspNetCore/OpenIddict.EntityFrameworkCoreSerilogNerdbank.GitVersioning(GlobalPackageReference)Test packages (
tests/Directory.Packages.props)Microsoft.AspNetCore.Mvc.TestingMicrosoft.Extensions.Logging.DebugSystem.Data.Odbc/System.Data.OleDbMicrosoft.Extensions.TimeProvider.TestingMicrosoft.NET.Test.SdkInline versions
src/Umbraco.Web.UI/Umbraco.Web.UI.csproj:Microsoft.EntityFrameworkCore.Design10.0.9 → 10.0.10.Security
System.Security.Cryptography.Xmltransitive pin 10.0.9 → 10.0.10 (patched advisory).SQLitePCLRaw.lib.e_sqlite3— the central pin to2.1.12(forGHSA-2m69-gcr7-jv3q, High severity) did not reachUmbraco.Web.UI, which opts out of central package management and resolved the vulnerable2.1.11transitively. Added an inlinePackageReferenceto2.1.12, mirroring the existingMicrosoft.OpenApiinline pin.dotnet list package --vulnerable --include-transitiveis now clean across the whole solution.Deliberately left unchanged
Microsoft.OpenApi— held at 2.9.0 (2.11.0 update kept back), now with a documentedHOLDcomment.dotnet-outdatedoffered 2.9.0 → 2.11.0, but 2.10.0+ reworked how nullable schemas serialize in OpenAPI 3.0 mode — type-less nullable schemas emit"enum": [null](constraining values to null) instead of"nullable": true, and nullableoneOf$refs (e.g. mediafocalPoint/coordinates) drop"nullable": trueentirely. The Delivery API on this line generates OpenAPI 3.0 (via Swashbuckle), so this diverges from the committed contract (OpenApiContractTest) and misleads client generation. It's a deliberate upstream 3.0.3 spec-compliance change tracked at microsoft/OpenAPI.NET#2967, with no fixed 2.x release yet. 2.9.0 is itself already patched for CVE-2026-49451, so holding introduces no vulnerability. AHOLD/do-not-bump comment (referencing Add Multi Url Picker to core #2967) has been added to the pin inDirectory.Packages.propsandUmbraco.Web.UI.csprojso the routine update process skips it. (The 18.x line is unaffected: it generates OpenAPI 3.1 viaMicrosoft.AspNetCore.OpenApi, which doesn't exercise the changed 3.0 path.)HOLD/do not bumpcomment (e.g.Umbraco.Code).Testing
Solution should build and CI checks pass.