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
.aarpayload 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
SKCanvasViewdispose-time exceptions and adds extra guard checks to avoid view lifecycle crashes. ❤️ @jjzhang12 (#2472), ❤️ @FoggyFinder (#2313) - Uno rendering correctness — Corrects
SKXamlCanvasalpha handling on WebAssembly, defaultsOpaquemore 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
SKColorhex parsing performance and fixes theToRectextension 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 |
Links
Preview 96 (August 17, 2023)
This preview primarily carried follow-up automation and versioning work rather than new user-facing changes.
Preview 95 (August 16, 2023)
Added Hot Restart packaging support, tightened Uno target selection, and refreshed libpng and libexpat.
Preview 82 (June 22, 2023)
Advanced Uno net7 targeting, shipped iOS simulator artifacts, and added .NET 8 Blazor assets.
Preview 76 (June 19, 2023)
Enabled broader WASM EH/SIMD coverage, improved SKColor parsing, and expanded Apple build and sample support.
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.