Back to Skiasharp

2.88.4

documentation/docfx/releases/2.88.4.md

4.150.013.3 KB
Original Source
<!-- RAW PR DATA — Do not remove this comment block. AI uses this data to generate the polished release notes below. Re-run the script to refresh this data from git history. Generated: 2026-06-17T23:56:11Z by generate-release-notes.py version: 2.88.4 status: stable branch: release/2.88.4 diff: release/2.88.3..release/2.88.4 prs: 48 api: self=2.88.4/index.md;hb=2.8.2.4 PRs grouped by the preview they first shipped in (newest first). Render each milestone as a trailing "## <label> (<date>)" section per TEMPLATE.md, and merge them all for the top-level Highlights: ## Preview 96 · 2.88.4 · 2023-08-17 · https://github.com/mono/SkiaSharp/compare/v2.88.4-preview.95...v2.88.4-preview.96 (1 PRs) - Try and follow more dotnet versions (#2556) by @github-actions[bot] in https://github.com/mono/SkiaSharp/pull/2557 [community ✨] ## Preview 95 · 2.88.4 · 2023-08-16 · https://github.com/mono/SkiaSharp/compare/v2.88.4-preview.82...v2.88.4-preview.95 (5 PRs) - Include the NativeReference for Hot Restart by @mattleibow in https://github.com/mono/SkiaSharp/pull/2553 - Skip the .NET 7.0.4xx installs by @mattleibow in https://github.com/mono/SkiaSharp/pull/2554 - Removing nesting levels through block-scoped `using` statement by @Lehonti in https://github.com/mono/SkiaSharp/pull/2528 [community ✨] - fix: Disambiguate SKGLView for uno and maui targets by @jeromelaban in https://github.com/mono/SkiaSharp/pull/2529 [community ✨] - Update libpng to v1.6.40 and libexpat to 2.5.0+more by @mattleibow in https://github.com/mono/SkiaSharp/pull/2510 (skia: mono/skia#101) ## Preview 82 · 2.88.4 · 2023-06-22 · https://github.com/mono/SkiaSharp/compare/v2.88.4-preview.76...v2.88.4-preview.82 (6 PRs) - fix: Adjust net7.0-* resolution for Uno.WinUI targets by @jeromelaban in https://github.com/mono/SkiaSharp/pull/2503 [community ✨] - feat: Move to JSImport for WinUI Target on net7.0 by @jeromelaban in https://github.com/mono/SkiaSharp/pull/2428 [community ✨] - Fixed ToRect extension method extension by @niza93 in https://github.com/mono/SkiaSharp/pull/2392 [community ✨] - Pack the iossimulator RID artifacts by @mattleibow in https://github.com/mono/SkiaSharp/pull/2498 - Update Cake to the latest 2.x version by @mattleibow in https://github.com/mono/SkiaSharp/pull/2500 - Include the new WASM assets in Blazor for .NET 8 by @mattleibow in https://github.com/mono/SkiaSharp/pull/2497 ## Preview 76 · 2.88.4 · 2023-06-19 · https://github.com/mono/SkiaSharp/compare/v2.88.4-preview.70...v2.88.4-preview.76 (5 PRs) - fix(wasm): Enable Wasm EH and SIMD in all configurations for net8+ by @jeromelaban in https://github.com/mono/SkiaSharp/pull/2495 [community ✨] - Improve performance of hex string parsing in SKColor by @jwikberg in https://github.com/mono/SkiaSharp/pull/2467 [community ✨] - Support for ARM64 macOS Machines by @mattleibow in https://github.com/mono/SkiaSharp/pull/2468 (skia: mono/skia#100) - Add a .NET iOS & Mac Catalyst sample and .NET "Core" sample support by @mattleibow in https://github.com/mono/SkiaSharp/pull/2491 - Update macOS and Xcode by @mattleibow in https://github.com/mono/SkiaSharp/pull/2425 ## Preview 70 · 2.88.4 · 2023-06-14 · https://github.com/mono/SkiaSharp/compare/v2.88.3...v2.88.4-preview.70 (31 PRs) - Run cve-bin-tool by @mattleibow in https://github.com/mono/SkiaSharp/pull/2490 - Update a few dependencies by @mattleibow in https://github.com/mono/SkiaSharp/pull/2487 - Use the new DownloadBuildArtifacts task by @mattleibow in https://github.com/mono/SkiaSharp/pull/2489 - Update bitmap SKAlphaType in SKXamlCanvas.Wasm.cs by @roubachof in https://github.com/mono/SkiaSharp/pull/2443 [community ✨] - Fix SKCanvasView dispose exception when the view is disposed before it's rendered by @jjzhang12 in https://github.com/mono/SkiaSharp/pull/2472 [community ✨] - additional check to avoid exception by @FoggyFinder in https://github.com/mono/SkiaSharp/pull/2313 [community ✨] - chore: Add support for .NET 8 Preview 4 by @jeromelaban in https://github.com/mono/SkiaSharp/pull/2457 [community ✨] - Install .NET 7 by @mattleibow in https://github.com/mono/SkiaSharp/pull/2485 - Install a specific Tizen version by @mattleibow in https://github.com/mono/SkiaSharp/pull/2486 - Update zlib to 1.2.13 by @mattleibow in https://github.com/mono/SkiaSharp/pull/2484 (skia: mono/skia#99) - Update Cake files to override deployment targets by @mattleibow in https://github.com/mono/SkiaSharp/pull/2482 - Ship the .aar with the NuGet for android by @dellis1972 in https://github.com/mono/SkiaSharp/pull/2465 [community ✨] - Add a manual, full-run pipeline by @mattleibow in https://github.com/mono/SkiaSharp/pull/2480 - Skip updating GitHub status when no token by @mattleibow in https://github.com/mono/SkiaSharp/pull/2479 - Add `$schema` to `cgmanifest.json` by @JamieMagee in https://github.com/mono/SkiaSharp/pull/2232 [community ✨] - Use the new XHarness .NET tool and latest .NET 6 MAUI by @mattleibow in https://github.com/mono/SkiaSharp/pull/2478 - Switch to Debian archives by @mattleibow in https://github.com/mono/SkiaSharp/pull/2476 - Use the correct method for setting Opaque on macOS by @mattleibow in https://github.com/mono/SkiaSharp/pull/2477 - [Uno] Default Opaque to false for SKXamlCanvas on MacOS and iOS by @roubachof in https://github.com/mono/SkiaSharp/pull/2398 [community ✨] - Update SKSwapChainPanel.Android.cs by @roubachof in https://github.com/mono/SkiaSharp/pull/2400 [community ✨] - Update SKSwapChainPanel.iOS.cs by @roubachof in https://github.com/mono/SkiaSharp/pull/2401 [community ✨] - [ci] Use default feed to install the .NET SDK by @pjcollins in https://github.com/mono/SkiaSharp/pull/2393 [community ✨] - [ci] Add exclusions for PoliCheck and CredScan by @pjcollins in https://github.com/mono/SkiaSharp/pull/2389 [community ✨] - [Tizen] Fixes Canvas Size calculation by @myroot in https://github.com/mono/SkiaSharp/pull/2322 [community ✨] - Update some more NuGets by @mattleibow in https://github.com/mono/SkiaSharp/pull/2304 - Enable CodeQL by @Redth in https://github.com/mono/SkiaSharp/pull/2303 [community ✨] - Use the latest versions of some NuGets and SDKs by @mattleibow in https://github.com/mono/SkiaSharp/pull/2301 - feat(wasm): Add mt and mt+simd, fix harfbuzz for emsdk 3.1.12 by @jeromelaban in https://github.com/mono/SkiaSharp/pull/2286 [community ✨] - Update Windows App SDK by @mattleibow in https://github.com/mono/SkiaSharp/pull/2276 - Force an older version of Windows SDK by @mattleibow in https://github.com/mono/SkiaSharp/pull/2273 - Removing all .NET 5 SDK requirements by @mattleibow in https://github.com/mono/SkiaSharp/pull/2266 --> <!-- Generated: 2026-06-18T00:00:00Z by claude-sonnet-4.5 -->

Version 2.88.4

Platform servicing release · Released August 22, 2023 · NuGet · GitHub Release

API changes · SkiaSharp API diff · HarfBuzzSharp 2.8.2.4

Highlights

SkiaSharp 2.88.4 is a broad servicing release focused on keeping the 2.x line healthy on modern platforms. It improves .NET 8, Uno, and WebAssembly readiness, updates several native dependencies, expands Apple and Android packaging, and lands a deep set of fixes across view controls and platform integrations.

Breaking Changes

None in this release.

New Features

Platform

  • .NET 8 readiness — Adds support for .NET 8 Preview 4, ships the new WebAssembly assets needed by Blazor on .NET 8, and keeps the release aligned with newer SDKs. ❤️ @jeromelaban (#2457, #2497)
  • WinUI JSImport path on .NET 7 — Moves the WinUI target over to JSImport and adjusts target resolution for newer Uno stacks. ❤️ @jeromelaban (#2428, #2503, #2529)
  • Broader Apple support — Adds .NET iOS and Mac Catalyst samples, packages iOS simulator RID artifacts, and supports ARM64 macOS build machines. (#2491, #2498, #2468)
  • Android AAR shipping — Includes the .aar payload directly in the Android NuGet package. ❤️ @dellis1972 (#2465)

Web & WASM

  • More capable WebAssembly builds — Adds multithreaded and multithreaded+SIMD variants, then enables exception handling and SIMD across all net8+ configurations. ❤️ @jeromelaban (#2286, #2495)

Bug Fixes

  • View disposal and guard fixes — Fixes SKCanvasView dispose-time exceptions and adds extra guard checks to avoid view lifecycle crashes. ❤️ @jjzhang12 (#2472), ❤️ @FoggyFinder (#2313)
  • Uno rendering correctness — Corrects SKXamlCanvas alpha handling on WebAssembly, defaults Opaque more safely on Apple-backed Uno targets, and refreshes swap-chain panel implementations. ❤️ @roubachof (#2443, #2398, #2400, #2401)
  • Tizen layout fix — Corrects canvas size calculation on Tizen. ❤️ @myroot (#2322)
  • Core API cleanup — Improves SKColor hex parsing performance and fixes the ToRect extension helper. ❤️ @jwikberg (#2467), ❤️ @niza93 (#2392)

Native Dependencies

  • Servicing refresh for bundled libraries — Updates zlib, libpng, and libexpat to newer releases in the native layer. (#2484, #2510)

Platform Support

PlatformWhat's New
🍎 AppleARM64 macOS build support, iOS/Mac Catalyst samples, iOS simulator artifacts
🤖 Android.aar packaged directly in the NuGet
🌐 WebAssemblyMT + SIMD variants and net8-ready assets
🪟 Windows / UnoJSImport transition and newer target-resolution fixes
📺 TizenCanvas size calculation fix

Community Contributors ❤️

ContributorWhat They Did
@jeromelabanAdvanced Uno/.NET 8 readiness and expanded WebAssembly build variants
@roubachofImproved Uno rendering behavior across WebAssembly, iOS, macOS, and Android
@dellis1972Added Android .aar packaging to the NuGet
@jjzhang12Fixed SKCanvasView dispose exceptions
@FoggyFinderAdded extra guard checks to avoid exceptions
@myrootFixed Tizen canvas size calculations
@jwikbergImproved SKColor hex parsing performance
@niza93Fixed the ToRect extension helper

Preview 96 (August 17, 2023)

This preview primarily carried follow-up automation and versioning work rather than new user-facing changes.

Full Changelog


Preview 95 (August 16, 2023)

Added Hot Restart packaging support, tightened Uno target selection, and refreshed libpng and libexpat.

Full Changelog


Preview 82 (June 22, 2023)

Advanced Uno net7 targeting, shipped iOS simulator artifacts, and added .NET 8 Blazor assets.

Full Changelog


Preview 76 (June 19, 2023)

Enabled broader WASM EH/SIMD coverage, improved SKColor parsing, and expanded Apple build and sample support.

Full Changelog


Preview 70 (June 14, 2023)

Started the release with .NET 8 preview support, Android NuGet AAR packaging, new WASM variants, and several Uno and Tizen fixes.

Full Changelog