Skip to content

fix(sdk): pin SkiaSharp to 3.119.2 and exclude it from auto-update (iOS <26.2)#2159

Merged
agneszitte merged 1 commit into
mainfrom
dev/agzi/pin-skiasharp-3.119.2-main
Jul 13, 2026
Merged

fix(sdk): pin SkiaSharp to 3.119.2 and exclude it from auto-update (iOS <26.2)#2159
agneszitte merged 1 commit into
mainfrom
dev/agzi/pin-skiasharp-3.119.2-main

Conversation

@agneszitte

@agneszitte agneszitte commented Jul 10, 2026

Copy link
Copy Markdown
Member

What & why

Two changes on main:

  1. Pin SkiaSharp 3.119.43.119.2 in the Uno.Sdk (packages.json SkiaSharp group + generated ReadMe.md).
    3.119.4 ships its Apple assets targeting iOS 26.2 (net10.0-ios26.2), incompatible with iOS < 26.2 (Xcode < 26.2) builds → NuGet falls back to the neutral net10.0 SkiaSharp assembly with no native libSkiaSharp → iOS apps break (runtime DllNotFoundException: libSkiaSharp / MT0099 / NU1605). 3.119.2 is the last iOS-safe version (as shipped by public Uno.Sdk 6.5.36).

  2. Add SkiaSharp to .github/sdk-update-exclude.json so the Uno.Sdk.Updater stops re-bumping it in the automated "Uno.Sdk Update" PRs (same mechanism already used for SvgSkia / WinAppSdk — the updater action reads this file via --exclude-file). Without this, the next automated update would revert the pin back to 3.119.4.

This holds SkiaSharp at 3.119.2 until either the 3.119.5 backport (mono/SkiaSharp#3798, corrects the asset TFM to ios26.0) lands, or the v4 move in Uno.Sdk 7.0 — at which point the SkiaSharp exclude entry should be removed.

Files

  • src/Uno.Sdk/packages.json — SkiaSharp group → 3.119.2
  • src/Uno.Sdk/ReadMe.md — regenerated version table + embedded manifest
  • .github/sdk-update-exclude.json — add SkiaSharp

Related to unoplatform/uno#23680
Related to unoplatform/uno.chefs#1750
Related to https://github.com/unoplatform/uno-private/issues/1957#issuecomment-4938024224

@agneszitte

Copy link
Copy Markdown
Member Author

Why SkiaSharp is excluded from the auto-updater

SkiaSharp is held at 3.119.2 (the last iOS-safe version) on purpose. 3.119.4 ships its Apple assets targeting iOS 26.2 (net10.0-ios26.2), which are incompatible with iOS < 26.2 (Xcode < 26.2) builds → NuGet falls back to the platform-neutral net10.0 assembly with no native libSkiaSharp binding → iOS apps break (runtime DllNotFoundException: libSkiaSharp / MT0099 / NU1605).

Adding SkiaSharp to .github/sdk-update-exclude.json stops the Uno.Sdk.Updater from re-bumping it back to 3.119.4 in the automated "Uno.Sdk Update" PRs (same mechanism already used for SvgSkia / WinAppSdk).

Related:

When to remove this exclude (and let SkiaSharp move forward again): whichever comes first —

  1. the SkiaSharp team ships a 3.119.5 backport of Fix Apple platform TFMs: use 26.0 for libraries, unversioned for apps mono/SkiaSharp#3798 (then bump to it), or
  2. we move to SkiaSharp v4 (4.148.0+) — planned for Uno.Sdk 7.0 — which already carries the ios26.0 fix.

Until then, we deliberately hold the SkiaSharp bump at 3.119.2.

@agneszitte
agneszitte marked this pull request as draft July 10, 2026 21:05
@agneszitte
agneszitte force-pushed the dev/agzi/pin-skiasharp-3.119.2-main branch from e8dc0c2 to 882fdd7 Compare July 13, 2026 15:42
…de from auto-update

SkiaSharp 3.119.4 ships iOS-26.2 assets that break iOS <26.2 (Xcode <26.2) builds
(uno#23680, uno.chefs#1750). Pin SkiaSharp to 3.119.2 and bump Hot Design to
1.20.0-dev.477 (post uno.hotdesign#7206, floors SkiaSharp 3.119.2) so the pin
resolves without NU1605. Add SkiaSharp to the Uno.Sdk.Updater exclude list (+ JSONC
support) so automated SDK-update PRs stop re-bumping it. Remove on SkiaSharp 3.119.5
(mono/SkiaSharp#3798) or the v4 move at Uno.Sdk 7.0 (mono/SkiaSharp#4031).

Related to unoplatform/uno#23680
Related to unoplatform/uno.chefs#1750

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@agneszitte
agneszitte marked this pull request as ready for review July 13, 2026 15:42
@agneszitte
agneszitte merged commit 94c811b into main Jul 13, 2026
160 of 162 checks passed
@agneszitte
agneszitte deleted the dev/agzi/pin-skiasharp-3.119.2-main branch July 13, 2026 17:35
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