Table of Contents

Version 2.88.4

.NET 8 preview, ARM64 macOS, and security updates · Released August 22, 2023 · NuGet · GitHub Release

Highlights

A substantial servicing release spanning nearly a year of work. Key additions include .NET 8 preview support, ARM64 macOS build machines, WASM multi-threading with SIMD, and Android .aar shipping in NuGet. Security updates cover zlib, libpng, and libexpat. Ten new community contributors helped fix disposal bugs, improve performance, and refine Uno Platform integration.

Breaking Changes

None in this release.

New Features

Platform

  • .NET 8 Preview support — Build infrastructure updated for .NET 8 Preview 4. ❤️ @jeromelaban (#2457)
  • ARM64 macOS build machines — Native builds now run on Apple Silicon (ARM64) macOS machines. (#2468)
  • WASM multi-threading and SIMD — Added multi-threaded and multi-threaded+SIMD WASM configurations. ❤️ @jeromelaban (#2286)
  • WASM Exception Handling and SIMD for .NET 8+ — Enabled Wasm EH and SIMD in all configurations for .NET 8 and later. ❤️ @jeromelaban (#2495)
  • Blazor .NET 8 assets — New WASM assets included for Blazor on .NET 8. (#2497)
  • JSImport for WinUI on .NET 7 — Moved from JS interop to modern JSImport for Uno WinUI WASM targets. ❤️ @jeromelaban (#2428)
  • Ship .aar with Android NuGet — Android Archive (.aar) now included in the NuGet for better Android tooling integration. ❤️ @dellis1972 (#2465)
  • iOS Hot Restart NativeReference — Added NativeReference metadata so iOS Hot Restart works correctly. (#2553)
  • iOS Simulator RID artifacts — The iossimulator RID now ships native assets. (#2498)
  • Windows App SDK update — Bumped to a newer Windows App SDK. (#2276)

Engine

  • SKColor hex parsing performance — Significantly improved hex string parsing performance for SKColor. ❤️ @jwikberg (#2467)
  • CodeQL security scanning — Enabled CodeQL analysis in CI for automated vulnerability detection. ❤️ @Redth (#2303)
  • CVE binary tool scanning — Added cve-bin-tool to CI for detecting known vulnerabilities in native binaries. (#2490)

Security

  • Update zlib to 1.2.13 — Addresses known vulnerabilities in the compression library. (#2484)
  • Update libpng to v1.6.40 — Addresses known vulnerabilities. (#2510)
  • Update libexpat to 2.5.0 — Addresses known vulnerabilities. (#2510)

Bug Fixes

  • Fix Tizen canvas size calculation — Corrected how canvas dimensions are computed on Tizen. ❤️ @myroot (#2322)
  • Fix Android ObjectDisposedException — Added additional checks to avoid ObjectDisposedException on Android views. ❤️ @FoggyFinder (#2313)
  • Fix SKCanvasView dispose before render — Prevents exceptions when the view is disposed before its first render. ❤️ @jjzhang12 (#2472)
  • Fix ToRect extension method — Corrected the ToRect extension to return proper values. ❤️ @niza93 (#2392)
  • Fix Uno opaque defaults on iOS/macOS — Set SKSwapChainPanel and SKXamlCanvas to non-opaque by default for consistency. ❤️ @roubachof (#2398, #2400, #2401)
  • Fix macOS opaque method — Used the correct method for setting Opaque on macOS. (#2477)
  • Fix bitmap SKAlphaType in WASM — Corrected alpha type when rendering bitmaps in SKXamlCanvas on WASM. ❤️ @roubachof (#2443)
  • Disambiguate SKGLView for Uno/MAUI — Resolved type conflicts between Uno and MAUI SKGLView targets. ❤️ @jeromelaban (#2529)

Platform Support

Platform What's New
🍎 Apple ARM64 macOS builds, iOS Hot Restart support, iOS Simulator RID, opaque fix
🪟 Windows Updated Windows App SDK
🤖 Android .aar in NuGet, ObjectDisposedException fix, canvas dispose fix
🌐 WebAssembly Multi-threading, SIMD, .NET 8 Blazor, JSImport for WinUI, alpha type fix

Community Contributors ❤️

Contributor What They Did
@Redth CodeQL security scanning
@roubachof Uno opaque defaults and WASM alpha type fixes
@dellis1972 Android .aar in NuGet
@FoggyFinder Android ObjectDisposedException guard
@jjzhang12 SKCanvasView dispose-before-render fix
@jwikberg SKColor hex parsing performance
@niza93 ToRect extension method fix
@JamieMagee $schema for cgmanifest.json
@Lehonti Code cleanup with block-scoped using
@myroot Tizen canvas size fix
@jeromelaban WASM MT+SIMD, .NET 8, JSImport, SKGLView disambiguation

Preview 96 (August 22, 2023)

.NET SDK version tracking improvements.

Full Changelog


Preview 95 (August 22, 2023)

Updated libpng and libexpat, SKGLView disambiguation for Uno/MAUI, and iOS Hot Restart support.

Full Changelog


Preview 82 (June 26, 2023)

Blazor .NET 8 assets, ToRect fix, JSImport for WinUI, and iOS Simulator RID.

Full Changelog


Preview 76 (June 19, 2023)

ARM64 macOS builds, SKColor hex parsing performance, and WASM EH+SIMD for .NET 8.

Full Changelog


Preview 70 (June 16, 2023)

Initial preview with .NET 5 SDK removal, Windows App SDK update, WASM multi-threading, zlib 1.2.13, CodeQL scanning, and multiple Uno/Android/Tizen bug fixes.

Full Changelog