Skip to content

chore(deps): take the safe half of the August bumps; hold AngleSharp - #368

Merged
raroche merged 1 commit into
mainfrom
deps/safe-subset-aug2026
Aug 21, 2026
Merged

chore(deps): take the safe half of the August bumps; hold AngleSharp#368
raroche merged 1 commit into
mainfrom
deps/safe-subset-aug2026

Conversation

@raroche

@raroche raroche commented Aug 21, 2026

Copy link
Copy Markdown
Owner

Dependabot's grouped PR (#367, plus its stale duplicate #363) bundled genuinely good updates with one that breaks the engine. The group was closed and the safe subset is taken here — the same split #355 used.

Held — why #367 was closed

AngleSharp 1.6.0 → 1.7.1 and AngleSharp.Css 1.0.0-beta.144 → 1.0.1.

The 1.0.0 CHANGELOG note said the prerelease exception should be "revisited when AngleSharp.Css ships a stable 1.x". That has now happened — and the answer is no. Stable 1.0.1 still carries the background-image regression, and breaks more than the beta did. All five enforcing legs failed with 34 unit + 1 RealDocuments failures (8580/8617):

  • 20 Background_* paint tests — clip/position/size/repeat/no-repeat plus the sliced multi-page ones. Same signature as before: background-image: url(...) stops painting.
  • CSS preprocessor / at-rule testsCssParserAdapterPreprocessTests (opaque @layer/@container raw-body carriage), the @layer corpus case, GridShorthandProductionTests. This part is new and broader than the beta regression.

Taken

Package Change Note
SkiaSharp (+3 NativeAssets) 4.150.1 → 4.151.1 all four in lockstep
HarfBuzzSharp (+3 NativeAssets) 14.2.1.1 → 14.2.1.2 all four in lockstep
Microsoft.Playwright 1.61.0 → 1.62.0 re-pairs with the Docker image from #360
PDFtoImage 5.2.1 → 5.4.0 closes a documented caveat, below
Microsoft.SourceLink.GitHub 10.0.301 → 10.0.400

The native-asset packages are moved in lockstep deliberately — a partial bump produces a managed/native mismatch.

Microsoft.Playwright matters here beyond the version number: #360 just bumped the playwright/python Docker image to v1.62.0, and both halves of the reference harness should pin the same Chrome.

The PDFtoImage comment is rewritten because the bump closes its own caveat

5.2.1 declared a SkiaSharp 3.119.2 floor while production pinned 4.x, so PDFium ran against a SkiaSharp a whole major version newer than it compiled against — a removed 3.x API would only have surfaced as a runtime MissingMethodException. 5.4.0 declares 4.150.1, and production pins 4.151.1, so the skew is now a single patch.

Not taken

Microsoft.NET.Test.Sdk 18.9.0 — it appeared only in the stale #363 and Dependabot dropped it from the newer group. Left for Dependabot to re-propose on its own.

Verification

CI-green is not sufficient for dependency bumps in this repo, so this was verified locally:

  • build 0 errors / 0 NU warnings
  • UnitTests 8614 passed / 3 skipped
  • RenderingCorpus 41 — the suite that actually proves the PDFium/SkiaSharp pairing
  • RealDocuments 105
  • git diff --check clean

Note on the benchmark gate: it is currently failing intermittently on main itself (different sub-millisecond benchmarks on different runs — CacheHits_Isolated 1.46×, BlankPages(100) 1.25×). That is shared-runner noise against a tight 1.25% tolerance, unrelated to this PR, and is worth addressing separately now that the gate actually measures (post-#356).

Dependabot's grouped PR (#367, and its stale duplicate #363) bundled genuinely
good updates with one that breaks the engine, so the group was closed and the
safe subset is taken here — the same split #355 used.

HELD (why #367 was closed): AngleSharp 1.6.0 -> 1.7.1 and AngleSharp.Css
1.0.0-beta.144 -> 1.0.1. The stable 1.0.1 still carries the background-image
regression the beta did, and now breaks more: all five enforcing legs failed
with 34 unit + 1 RealDocuments failures — 20 Background_* paint tests plus the
CSS preprocessor/at-rule tests (CssParserAdapterPreprocessTests, the @layer
corpus case, GridShorthandProductionTests). The CHANGELOG's "revisit when
AngleSharp.Css ships a stable 1.x" has now been answered: it does not fix it.

TAKEN:
- SkiaSharp 4.150.1 -> 4.151.1 and HarfBuzzSharp 14.2.1.1 -> 14.2.1.2, each
  with all three NativeAssets packages moved in lockstep (a partial bump would
  give a managed/native mismatch).
- Microsoft.Playwright 1.61.0 -> 1.62.0, which re-pairs the managed half of the
  reference harness with the playwright/python Docker image just bumped in #360.
- PDFtoImage 5.2.1 -> 5.4.0, Microsoft.SourceLink.GitHub 10.0.301 -> 10.0.400.

The PDFtoImage comment is rewritten because the bump CLOSES the caveat it
documented: 5.2.1 declared a SkiaSharp 3.119.2 floor, so PDFium ran against a
SkiaSharp a whole major version newer than it compiled against (a removed 3.x
API would only have surfaced as a runtime MissingMethodException). 5.4.0
declares 4.150.1, and production pins 4.151.1, so the skew is now one patch.

Not taken: Microsoft.NET.Test.Sdk 18.9.0 — it appeared only in the stale #363
and Dependabot dropped it from the newer group; left for Dependabot to
re-propose on its own.

Verified locally (CI-green is not sufficient for dependency bumps in this repo):
build 0 errors / 0 NU warnings; UnitTests 8614 passed / 3 skipped;
RenderingCorpus 41 (the suite that proves the PDFium/SkiaSharp pairing);
RealDocuments 105; git diff --check clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 21, 2026 20:01

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@raroche
raroche merged commit 016de49 into main Aug 21, 2026
12 of 14 checks passed
@raroche
raroche deleted the deps/safe-subset-aug2026 branch August 21, 2026 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants