Visitar URL original
chore(sdk): Bump Uno.Sdk.Private versions behind the 7.0 stables and SkiaSharp 4.156.0 (backport #26165) by agneszitte · Pull Request #26322 · unoplatform/uno · GitHub
Skip to content

chore(sdk): Bump Uno.Sdk.Private versions behind the 7.0 stables and SkiaSharp 4.156.0 (backport #26165) - #26322

Merged
agneszitte merged 7 commits into
release/stable/7.0from
dev/agzi/sdk-private-70-sr1
Nov 12, 2026
Merged

agneszitte merged 7 commits into
release/stable/7.0from
dev/agzi/sdk-private-70-sr1

Conversation

@agneszitte

@agneszitte agneszitte commented Nov 12, 2026 •

Copy link
Copy Markdown
Member

GitHub Issue: relates to https://github.com/unoplatform/private/issues/1251 (Uno Platform 7.0: post-release manifest update), for https://github.com/unoplatform/private/issues/1262 (7.0 SR1); related to #26179 (SkiaSharp 4.156.0); related to #26332 (SVG fails to load)

PR Type:

🏗️ Build or CI related changes

What changed? 🚀

After the 7.0 release (Uno.Sdk 7.0.5), this bumps the versions in src/Uno.Sdk/packages.json (the Uno.Sdk.Private manifest) that are behind the stable ones in the 7.0 manifest (uno.templates 7.0.5), to those versions. Same post-release step as #25899 after 6.7 SR2.

Why before the SR1 core build: the SR1 packages (C# Markup, App MCP, Hot Design) build on the Uno.Sdk.Private that comes out of the SR1 core build. Hot Design must use the Licensing version this manifest declares (settings), so it needs 2.0.1 here to build on the stable Licensing.

Group Before After (7.0.5)
settings 2.0.0-dev.23 2.0.1
hotdesign 2.0.0-dev.2 2.0.1
AppMcp 2.0.0-dev.7 2.0.1
CSharpMarkup 7.0.0-dev.33 7.0.1
Extensions 8.0.0-dev.150 8.0.1
Toolkit 11.0.0-dev.157 11.0.1
Themes 9.0.0-dev.61 9.0.1
Resizetizer 2.0.0-dev.36 2.0.1
sdkextras 6.4.0-dev.15 6.4.1
UnoFonts 2.10.0-dev.9 2.10.1
Reactor 0.1.0-dev.77 0.1.1
WasmBootstrap (net10.0) 10.1.0-dev.284 10.1.1
UnoMaui, UnoRetarget 0.1.0-dev.1 0.1.0-dev.2
Maui 10.0.90 10.0.120
MauiCompatibility 10.0.90 10.0.120
MicrosoftLoggingConsole 10.0.12 10.0.14
MicrosoftWebView2 1.0.4191.47 1.0.4314.35
MsalClient 4.87.0 4.92.0
WinAppSdkBuildTools 10.0.28000.2705 10.0.28000.2957
WinAppSdkBuildToolsWinApp 0.7.1 0.8.0
AndroidXWearTiles 1.6.1 1.6.2
VlcNativeWindowsAssets 3.0.23.1 3.0.24
  • Versions already on a newer build are left as they are: WasmBootstrap net11.0 (11.1.0-dev.5), SvgSkia (5.2.3), and the net11.0 Maui / MicrosoftLoggingConsole pins, already on .NET 11 GA (11.0.0).
  • No group is added to or removed from the manifest. The base pin set is net10.0, so no net10.0 override is added.
  • Replaces chore(sdk): Align Uno.Sdk.Private with the 7.0 stables #26282, closed before the 7.0 release.

SkiaSharp 4.156.0 for 7.0 SR1

  • Backport of chore(deps): Bump SkiaSharp to 4.156.0 #26165 (cherry-picked as is): Uno core moves to SkiaSharp 4.156.0, which fixes 2 critical CVEs (uno-private#2486 and uno-private#2487). Same change as on master, so the next master → 7.0 sync merges cleanly.
  • The manifest's SkiaSharp group (Skottie, Views.WinUI, the NativeAssets packages) moves from 4.151.1 to 4.156.0, the version Uno core now uses: chore(deps): Bump SkiaSharp to 4.156.0 #26165 left it on 4.151.1 (confirmed overlooked; the 4.151.1 bump changed both files). The CVE fixes are in the native Skia binaries, so apps must not keep the 4.151.1 native packages through these pins.
  • The manifest's HarfBuzzSharp (native assets) moves from 14.2.1.1 to 14.4.0.100, which SkiaSharp.HarfBuzz 4.156.0 requires (7.0.5 has 14.4.0).
  • The nuspecs of Uno.WinUI.Composition.Skia, Uno.WinUI.Graphics2DSK and Uno.WinUI.Svg still declared SkiaSharp 4.151.1 (19 entries), so the packed Uno packages let apps resolve the 4.151.1 SkiaSharp and native packages. They move to 4.156.0, the same files the 4.151.1 bump changed.
  • Core HarfbuzzSharpVersion and the Uno.WinUI.nuspec dependency move from 14.2.1.1 to 14.4.0.100, so the managed HarfBuzzSharp matches the native packages pinned in the manifest (review suggestion).
  • Docs (using-skia-desktop.md): the SkiaSharp upgrade section now references the managed SkiaSharp, SkiaSharp.Skottie and HarfBuzzSharp packages along with SkiaSharpVersion / HarfBuzzSharpVersion. SkiaSharpVersion alone only moves the native packages, and SkiaSharp fails at startup when managed and native differ. The PackageReference Update example had no effect, so it is removed.

Svg.Skia floor

  • The Uno.WinUI.Svg nuspec floor moves from Svg.Skia 3.0.6 to 5.2.3 (6 entries), the version Uno.UI.Svg.dll is built against. With 3.0.6, parsing an SVG on desktop fails with "Could not load file or assembly 'Svg.Skia, Version=5.2.3.0'" (SVG images fail to load on desktop with Uno.Sdk 7.0.5 and the Svg feature #26332).
  • The public Uno.Sdk must pin Svg.Skia 5.2.3 in the same version that brings this floor (uno.templates, with the core bump), or Android/iOS restores fail with NU1605.

Validated locally

  • build/ci/scripts/validate-packages-json.ps1: all 117 package/version combinations exist on nuget.org (SkiaSharp 4.156.0 and HarfBuzzSharp 14.4.0.100 included), and the dependency checks pass for the base/net10.0, net10.0 and net11.0 pin sets.
  • Uno.UI.Composition.Managed (the HarfBuzzSharp consumer) builds against HarfBuzzSharp 14.4.0.100 (net10.0, .NET SDK 11.0.100).
  • Smoke test of the new versions on .NET 10 and .NET 11 (Windows): native Skia 156 loads, HarfBuzz shapes Latin and Arabic text, shaped text renders, PNG round trip, SVG (Svg.Skia 5.2.3) and Lottie (Skottie) render.
  • Uno.UI.Composition.Skia builds for net10.0 and net11.0 against SkiaSharp 4.156.0 / HarfBuzzSharp 14.4.0.100, with no NU1605/NU1608/NU1107.
  • The package set these PRs produce, simulated in an Uno.Sdk 7.0.5 app (desktop + WebAssembly): every SkiaSharp package on 4.156.0 and every HarfBuzzSharp package on 14.4.0.100. Desktop builds, and the WebAssembly build links the 4.156.0 native Skia.
  • Managed SkiaSharp 4.151.1 over native 4.156.0 (the mismatch the nuspec fix prevents) fails at startup: "The version of the native libSkiaSharp library (156.0) is incompatible with this version of SkiaSharp".
  • In a Uno.Sdk 7.0.5 app with the Svg feature, Uno's SkiaSvgRenderer.Parse throws that error with Svg.Skia 3.0.6 and parses the SVG with 5.2.3. A restore with a 5.2.3 floor fails with NU1605 against the 3.0.6 pin and succeeds with 5.2.3.
  • Uno.Sdk.AddInVersionValidation.Tests (dotnet test -c Release, .NET SDK 11.0.100): passes with Licensing 2.0.1, Hot Design 2.0.1 and App MCP 2.0.1.

Matching master PR: #26325.

PR Checklist ✅

  • 🧪 Added Runtime tests, UI tests, or a manual test sample: N/A, dependency versions only.
  • 📚 Docs have been added/updated: SkiaSharp upgrade section of using-skia-desktop.md.
  • 🖼️ Validated PR Screenshots Compare Test Run results: to check on this run (Skia 151 → 156).
  • ❗ Contains NO breaking changes
  • 👀 Reviewed 2 other open pull requests (optional but appreciated!)

🤖 Generated with Claude Code

Raise the src/Uno.Sdk/packages.json pins that are behind the released
Uno.Sdk 7.0.5 manifest to those versions. Newer builds stay as they are.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mergify

mergify Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

This pull request is merged.

@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @agneszitte's task in 9s —— View job


Review of #26322

  • Read the diff against origin/release/stable/7.0
  • Checked it against the PR description table

Verdict: ship. I found no issues, so I posted no inline comments.

  • The change touches only src/Uno.Sdk/packages.json, with 24 lines changed one-for-one.
  • Every changed version matches the "After (7.0.5)" table in the PR description, including the WasmBootstrap net10.0 override.
  • The net11.0 WasmBootstrap pin is untouched, as the description says.
  • No groups or packages were added or removed, and the JSON structure is unchanged.
  • The title follows Conventional Commits (chore(sdk): ...). The change has no C# or XAML, so the code-style rules don't apply.

Limits of this review:

  • I checked the diff only by inspection. I did not run validate-packages-json.ps1 or the Uno.Sdk.AddInVersionValidation.Tests. I did not check the versions against the uno.templates 7.0.5 manifest or nuget.org. The PR description reports both validations as run locally, and I did not re-run them.
  • The PR checklist boxes for tests, docs and screenshots are unchecked. Each says N/A, which is reasonable for a manifest pin bump.

@github-actions github-actions Bot added the area/sdk Categorizes an issue or PR as relevant to the Uno.Sdk label Nov 12, 2026
@unodevops

Copy link
Copy Markdown
Contributor

🤖 Your WebAssembly Sample App stage site is ready! Visit it here:

jonpryor and others added 2 commits November 11, 2026 20:25
Fixes: #26179
Fixes: unoplatform/uno-private#2486
Fixes: unoplatform/uno-private#2487

Context: mono/SkiaSharp@3047f3a
Context: mono/SkiaSharp@9745920

Changes: mono/SkiaSharp@v4.151.1...v4.156.0

	% git diff --shortstat 279f93f4...c4ef2022
	 2789 files changed, 168880 insertions(+), 141362 deletions(-)

SkiaSharp 4.156.0 includes Skia 156.x, which fixes a couple of
Very Important Issues™.

(cherry picked from commit c1a99a9)
Uno core moved to SkiaSharp 4.156.0 (security fixes in the native Skia
binaries) but the manifest still pinned the 4.151.1 SkiaSharp packages.
HarfBuzzSharp moves to 14.4.0.100, which SkiaSharp.HarfBuzz 4.156.0
requires.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the area/build Categorizes an issue or PR as relevant to build infrastructure label Nov 12, 2026
@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @agneszitte's task in 16s —— View job


Review of #26322 (re-review after new commits)

Verdict: ship, with one question to settle first. I found no blocking issues. I did not run the build or validate-packages-json.ps1, so everything below comes from reading the diff.

Changes since the last review

  • src/Directory.Packages.props and build/ci/tests/.azure-devops-tests-android-nativeaot-build.yml now use SkiaSharp 4.156.0.
  • The SkiaSharp group in src/Uno.Sdk/packages.json is also at 4.156.0. All three places agree.
  • The PR description doesn't mention the SkiaSharp bump or the HarfBuzzSharp change below. Please add them so the description matches the diff.

Issue (minor, needs a decision): HarfBuzzSharp version mismatch

  • src/Uno.Sdk/packages.json sets the HarfBuzzSharp group to 14.4.0.100.
  • The PR description table says 14.4.0.
  • src/Directory.Packages.props still has HarfbuzzSharpVersion at 14.2.1.1.
  • If 14.4.0.100 is intended, which looks likely since SkiaSharp 4.156.0 ships with it, update the description. Also decide whether HarfbuzzSharpVersion should be bumped alongside, because the SDK manifest and the repo's own pin will otherwise differ.
  • validate-packages-json.ps1 was run on the earlier commits. Please re-run it, since the manifest has changed since then.

Cross-cutting notes

  • The Conventional Commits title is fine. The change contains no C# or XAML, so the code-style rules don't apply.
  • The PR is a version-pin change, so tests, docs and screenshots are reasonably N/A.

@agneszitte agneszitte changed the title chore(sdk): Bump Uno.Sdk.Private versions behind the 7.0 stables (release/stable/7.0) chore(sdk): Bump Uno.Sdk.Private versions behind the 7.0 stables and SkiaSharp 4.156.0 (backport #26165) Nov 12, 2026
… SkiaSharp 4.156.0

The SkiaSharp 4.156.0 bump only moved src/Directory.Packages.props. The
Composition.Skia, Graphics2DSK and Svg nuspecs still declared SkiaSharp
4.151.1, so the packed Uno packages let apps resolve the 4.151.1
SkiaSharp and native packages. HarfBuzzSharp moves to 14.4.0.100, the
version paired with SkiaSharp 4.156.0 and pinned in Uno.Sdk.Private.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@unodevops

Copy link
Copy Markdown
Contributor

🤖 Your WebAssembly Sample App stage site is ready! Visit it here:

@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @agneszitte's task in 14s —— View job


Review of #26322 (re-review after new commits)

Verdict: ship. I found no issues, so I posted no inline comments. Counts: 0 blocking, 0 minor.

I checked the diff by inspection only. I did not run the build or validate-packages-json.ps1.

Points from the previous review

  • The earlier HarfbuzzSharpVersion concern is resolved. src/Directory.Packages.props now has HarfbuzzSharpVersion at 14.4.0.100. That matches packages.json and both HarfBuzzSharp dependencies in build/nuget/Uno.WinUI.nuspec.
  • The PR description now covers the SkiaSharp 4.156.0 and HarfBuzzSharp 14.4.0.100 changes.

Consistency checks

  • No 4.151.1 or 14.2.1.1 remains in Directory.Packages.props, the nuspecs or the Android NativeAOT CI yaml.
  • All the SkiaSharp dependency versions in the nuspecs read 4.156.0. This covers Composition.Skia, Graphics2DSK and Svg, including the NativeAssets android, ios and tvos entries.
  • The Android NativeAOT CI pipeline passes -p:SkiaSharpVersion=4.156.0, so it matches Directory.Packages.props.

Notes

  • The nuspec files hard-code these versions because they don't expand MSBuild properties. Future bumps have to change Directory.Packages.props and the nuspecs together. This backport does that.
  • The PR checklist item for the Screenshots Compare run is still open. Check the Skia 151 → 156 differences there before merging.

The examples showed 4.148.0, now older than the version the Uno.Sdk
brings, and without the native Skia security fixes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @agneszitte's task in 10s —— View job


Review of #26322 (re-review after new commits)

Verdict: ship. 0 blocking, 0 minor. I posted no inline comments.

I checked the diff by inspection only. I did not run the build, validate-packages-json.ps1 or the tests.

Consistency

  • SkiaSharp is at 4.156.0 in all of these: src/Directory.Packages.props, the SkiaSharp group in src/Uno.Sdk/packages.json, the three nuspecs, doc/articles/features/using-skia-desktop.md and the Android NativeAOT CI yaml.
  • HarfBuzzSharp is at 14.4.0.100 in Directory.Packages.props, packages.json and Uno.WinUI.nuspec.
  • No 4.151.1 or 14.2.1.1 remains in the files this PR changes.
  • Nuspec versions are hard-coded, so future bumps have to change them together with Directory.Packages.props. This PR does that.

Before merging

  • The Screenshots Compare Test Run checklist item is still open. Check the Skia 151 → 156 differences there.

SkiaSharpVersion only retargets the native-asset packages: the managed
SkiaSharp packages come through the Uno Platform packages, and SkiaSharp
fails at startup when the managed and native versions differ. The
PackageReference Update example had no effect, since the Uno.Sdk adds
its references after the project file. Show the properties together
with direct references to the managed packages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @agneszitte's task in 8s —— View job


Review of #26322 (re-review after new commits)

Verdict: ship. 0 blocking, 0 minor. I posted no inline comments.

I checked by inspection and a grep only. I did not run the build, validate-packages-json.ps1 or the tests.

Consistency

  • No 4.151.1 or 14.2.1.1 remains in src/Directory.Packages.props, src/Uno.Sdk/packages.json, the nuspecs in build/nuget, the Android NativeAOT CI yaml or using-skia-desktop.md.
  • The diff adds no lines that reintroduce those old versions.
  • The nuspec versions are hard-coded, so future SkiaSharp bumps must change them together with Directory.Packages.props.

Before merging

  • The Screenshots Compare Test Run checklist item is still open. Check the Skia 151 → 156 differences there.

@unodevops

Copy link
Copy Markdown
Contributor

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-26322/docs/index.html

@unodevops

Copy link
Copy Markdown
Contributor

🤖 Your WebAssembly Sample App stage site is ready! Visit it here:

…inst

Uno.UI.Svg.dll references Svg.Skia 5.2.3.0, but the Uno.WinUI.Svg
nuspec still declared Svg.Skia 3.0.6 as its floor, so an app could
resolve 3.0.6 and fail to load Svg.Skia when parsing an SVG.

The public Uno.Sdk must pin Svg.Skia 5.2.3 in the same version that
brings this floor, or Android/iOS restores fail with NU1605.

Related to #26332

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @agneszitte's task in 12s —— View job


Review of #26322 (re-review after new commits)

Verdict: ship. 0 blocking, 0 minor. I posted no inline comments.

I checked by inspection and grep only. I did not run the build, validate-packages-json.ps1 or the tests.

Consistency

  • SkiaSharp is 4.156.0 in src/Directory.Packages.props, the SkiaSharp group in src/Uno.Sdk/packages.json, the three nuspecs (Composition.Skia, Graphics2DSK, Svg) and the Android NativeAOT CI yaml.
  • HarfBuzzSharp is 14.4.0.100 in Directory.Packages.props, packages.json and both entries in Uno.WinUI.nuspec.
  • No 4.151.1 or 14.2.1.1 remains in src, build or doc. I did not grep .md files outside the changed docs.
  • The nuspec versions are hard-coded, so later SkiaSharp bumps must change them together with Directory.Packages.props.

Before merging

  • The Screenshots Compare Test Run checklist item is still open. Check the Skia 151 → 156 differences there.

@unodevops

Copy link
Copy Markdown
Contributor

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-26322/docs/index.html

@unodevops

Copy link
Copy Markdown
Contributor

🤖 Your WebAssembly Sample App stage site is ready! Visit it here:

@agneszitte
agneszitte merged commit 936e725 into release/stable/7.0 Nov 12, 2026
77 checks passed
@agneszitte
agneszitte deleted the dev/agzi/sdk-private-70-sr1 branch November 12, 2026 07:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/build Categorizes an issue or PR as relevant to build infrastructure area/sdk Categorizes an issue or PR as relevant to the Uno.Sdk kind/documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants