Table of Contents

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

Platform What's New
🍎 Apple ARM64 macOS build support, iOS/Mac Catalyst samples, iOS simulator artifacts
🤖 Android .aar packaged directly in the NuGet
🌐 WebAssembly MT + SIMD variants and net8-ready assets
🪟 Windows / Uno JSImport transition and newer target-resolution fixes
📺 Tizen Canvas size calculation fix

Community Contributors ❤️

Contributor What They Did
@jeromelaban Advanced Uno/.NET 8 readiness and expanded WebAssembly build variants
@roubachof Improved Uno rendering behavior across WebAssembly, iOS, macOS, and Android
@dellis1972 Added Android .aar packaging to the NuGet
@jjzhang12 Fixed SKCanvasView dispose exceptions
@FoggyFinder Added extra guard checks to avoid exceptions
@myroot Fixed Tizen canvas size calculations
@jwikberg Improved SKColor hex parsing performance
@niza93 Fixed 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