Table of Contents

Version 3.119.4

GTK4, Tizen and platform reach · Released May 22, 2026 · NuGet · GitHub Release

Supersedes 3.119.3 · Rolls up preview-only work that was never released as stable — those changes are included cumulatively below.

API changes · SkiaSharp API diff · HarfBuzzSharp API diff

Highlights

3.119.4 adds SkiaSharp.Views.Gtk4, Tizen x64/arm64 natives, Linux Bionic assets, and refreshes the AoT/Windows/Apple story. It ships on the .NET 10 SDK, hardens Windows and Linux natives, fixes an AoT crash and a MAUI Android tab-switch regression, and rebuilds libpng, libwebp and brotli.

Breaking Changes

None in this release.

API Surface

  • New SkiaSharp.Views.Gtk4 package — Adds SkiaSharp.Views.Gtk4 built on the GirCore Gtk-4.0 bindings, giving GTK4 apps a first-class SKDrawingArea/SKGLArea host. (#3527)

Bug Fixes

  • MAUI Android SKGLView survives tab switches — SKGLView now re-renders correctly after a MAUI TabBar switch on Android. — ❤️ @SimonvBez (#3076)
  • AoT and Linux ARM64 crashes fixed — SkiaSharp no longer crashes at startup on NativeAOT builds compiled with IlcDisableReflection=true, and the Linux ARM64 native library now bundles fontconfig correctly. (#3485, #3494)
  • GTK4 and WindowsForms fixes — Fixes a Cairo assertion crash in the GTK4 SKDrawingArea, and switches the WindowsForms controls to use the DesignMode property directly. (#3562, #3614)
  • Direct3D 12 delay-load — D3D12 DLLs are now delay-loaded so the library keeps starting on systems without DirectX 12 installed. (#3633)

Platform

  • Tizen and Linux Bionic — Adds Tizen x64 and arm64 native builds (Studio 6.1) and Linux Bionic native assets, and splits the Tizen native CI into per-architecture jobs. — ❤️ @4Darmygeometry (#3620, #3619, #3217, #3672)
  • tvOS device/simulator split — Splits the tvOS native builds and NativeReference targets into separate device and simulator frameworks, matching the iOS packaging. (#3561, #3563)
  • .NET 10 SDK and net48 — Builds on the .NET 10 SDK with workload version-set pinning, and adds a net48 full-framework target for Windows validation via PolySharp. — ❤️ @4Darmygeometry (#3514, #3631, #3642)

Lifecycle & Internals

  • SKManagedStream refactor — SKManagedStream now uses an SKData snapshot instead of a parent/child chain, simplifying its lifetime and fixing subtle disposal ordering issues. (#3589)

Security

  • Native dependency refresh — Updates libpng to 1.6.58 (via 1.6.54), libwebp to 1.6.0 and brotli to 1.2.0, and enforces -Wl,--no-undefined on Linux and Android native builds to catch missing symbols at link time. (#3723, #3452, #3478, #3469, #3629)
  • Windows and Linux native hardening — Enables the Spectre mitigation flag on both libSkiaSharp.dll and libSkiaSharp.so. — ❤️ @sshumakov (#3496, #3502)

HarfBuzzSharp 8.3.1.5

HarfBuzzSharp 8.3.1.5 picks up the same Tizen, Linux Bionic and .NET 10 packaging work, plus the Spectre mitigation on both Windows and Linux natives.

Community Contributors ❤️

Thank you to everyone who contributed to this release!

Contributor Contributions
@4Darmygeometry Linux Bionic native assets, PolySharp-based C# 13 support on legacy TFMs, and the new net48 validation target (#3217, #3631, #3642)
@sshumakov Enabled the Spectre mitigation flag on both libSkiaSharp.dll and libSkiaSharp.so (#3496, #3502)
@ramezgerges Moved the AI agent configuration to a shared location for Claude Code and GitHub Copilot (#3692)
@SimonvBez Fixed SKGLView not rendering after a MAUI TabBar switch on Android (#3076)

Preview 1 (April 22, 2026)

The 3.119.4 preview line collected the SkiaSharp.Views.Gtk4 package, Tizen x64/arm64 support, Linux Bionic assets, the .NET 10 SDK move, the SKManagedStream refactor, the AoT/ARM64 fixes and the libpng/libwebp/brotli refresh.

Full changelog

Preview 1 (February 7, 2026)

The 3.119.3 preview was a servicing round: native-dependency refreshes (libwebp 1.6.0, libpng 1.6.54, brotli 1.2.0, libexpat 2.7.3), Spectre-mitigation build flags, and AoT and Linux ARM64 crash fixes.

Full changelog