Table of Contents

Version 3.119.4

NuGet

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

Highlights

Version 3.119.4 is a substantial rollup covering 140 pull requests, absorbing all changes from the preview-only 3.119.3 line. The headlining additions are a brand-new SkiaSharp.Views.Gtk4 package, native support for Linux Bionic and Tizen x64/arm64, and Spectre mitigations for both Windows and Linux native libraries. This release also delivers a wave of crash fixes (Android MAUI tab switching, GTK4 Cairo assertion, tvOS framework splits, Linux ARM64 fontconfig, AoT with reflection disabled, and D3D12 on older Windows machines) alongside an SKManagedStream stability refactor and a full round of native dependency security updates. A strong contingent of community contributors — ❤️ @4Darmygeometry, ❤️ @SimonvBez, ❤️ @sshumakov, ❤️ @Copilot, and ❤️ @ramezgerges — shaped this release.

Breaking Changes

None in this release.

New Features

Platform

  • SkiaSharp.Views.Gtk4 package — A new first-class GTK4 view package powered by GirCore GTK-4.0 managed bindings, giving GTK4 applications a native SKDrawingArea without manual interop. ❤️ @Copilot (#3527)
  • Linux Bionic native assets — Adds native library support for Linux Bionic, enabling SkiaSharp in environments built against Android's Bionic libc. ❤️ @4Darmygeometry (#3217)
  • Tizen x64 and arm64 native builds — Adds full 64-bit native build support for Tizen, covering both x64 and arm64 architectures and updating to Tizen Studio 6.1. (#3620, #3619)

Compatibility

  • C# 13 support on legacy TFMs — Integrates PolySharp so that C# 13 language features compile cleanly on older target frameworks, keeping the codebase modern without dropping older consumers. ❤️ @4Darmygeometry (#3642)
  • .NET 4.8 full-framework target — Adds a net48 build configuration and uses it for Windows validation, improving test coverage for legacy .NET Framework consumers. ❤️ @4Darmygeometry (#3631)
  • .NET 10 SDK — Updates the build to the .NET 10 SDK with workload version-set pinning for reproducible CI across all platforms. (#3514)

Security

  • Spectre mitigation for Windows — Enables /Qspectre for libSkiaSharp.dll. ❤️ @sshumakov (#3496)
  • Spectre mitigation for Linux — Enables the Spectre mitigation compiler flag for libSkiaSharp.so. ❤️ @sshumakov (#3502)

Bug Fixes

Android

  • SKGLView blank after MAUI TabBar tab switch — Fixes a rendering regression where an SKGLView stopped drawing after the user switched away from and back to a MAUI tab. ❤️ @SimonvBez (#3076)

Apple

  • tvOS device/simulator framework split — Fixes NativeReference targets for tvOS to correctly separate device and simulator native frameworks, matching the iOS pattern and resolving archive-time linker errors. (#3561, #3563)

Linux

  • GTK4 Cairo assertion crash in SKDrawingArea — Resolves a Cairo assertion failure that occurred when using SKDrawingArea in a GTK4 application. (#3562)
  • Linux ARM64 startup crash — Adds the fontconfig runtime library to the cross-compile sysroot, fixing a crash on ARM64 Linux systems caused by a missing shared library at startup. (#3494)
  • loongarch build mapping — Fixes the loongarch architecture identifier in the Linux native build mapping so that the correct native library is loaded on LoongArch64 hosts. (#3648)

Windows

  • D3D12 crash on systems without DirectX 12 — Delay-loads D3D12 DLLs so that SkiaSharp no longer crashes at startup on machines that do not have DirectX 12 installed. (#3633)
  • Windows Forms DesignMode detection — Uses the DesignMode property directly in Windows Forms controls to correctly identify the design-time context and avoid spurious paint calls. (#3614)

.NET / Runtime

  • AoT crash when IlcDisableReflection=true — Fixes a native AOT publish crash that occurred when reflection was fully disabled. ❤️ @Copilot (#3485)

API

  • SKManagedStream lifetime stability — Refactors SKManagedStream to replace the fragile parent/child ownership chain with an SKData snapshot, eliminating a class of use-after-free and lifetime-related crashes. ❤️ @Copilot (#3589)

Dependencies

All updates address known CVEs or incorporate upstream bug fixes.

  • libpng — Updated to 1.6.58 (#3452, #3723)
  • libwebp — Updated to 1.6.0 (#3478)
  • brotli — Updated to 1.2.0 (#3469)
  • libexpat — Bumped from 2.6.4 to 2.7.3 (#3458)
  • libfontconfig-dev (loong64) — Updated from 2.17.1-4 to 2.17.1-5. ❤️ @Copilot (#3531)

Platform Support

Platform What's New
🍎 Apple tvOS device/simulator framework split fixed
🪟 Windows Spectre mitigation, D3D12 delay-load fix, Windows Forms DesignMode fix
🐧 Linux Spectre mitigation, Linux Bionic native assets, GTK4 package, ARM64 fontconfig fix, GTK4 Cairo fix, loongarch build fix
🤖 Android SKGLView MAUI tab-switch rendering fix
🎨 Core API SKManagedStream refactor, AoT reflection fix
🏗️ Build .NET 10 SDK, Tizen x64/arm64, C# 13 on legacy TFMs, .NET 4.8 target

Community Contributors ❤️

Contributor What They Did
@4Darmygeometry Linux Bionic native assets, C# 13 via PolySharp, .NET 4.8 full-framework target
@SimonvBez Fixed SKGLView rendering after MAUI TabBar tab switch on Android
@sshumakov Added Spectre mitigation for Windows and Linux native libraries
@Copilot GTK4 bindings package, SKManagedStream refactor, AoT crash fix, libfontconfig-dev update
@ramezgerges Unified AI agent configuration for Claude Code and GitHub Copilot