Table of Contents

Version 3.119.0

Major feature release · Released April 29, 2025 · NuGet · GitHub Release

Highlights

This release upgrades the Skia engine to milestone 119 and brings significant platform expansion — Direct3D support on Windows, OpenGL on Windows ARM, tvOS Metal rendering, plus new Linux builds for RISC-V 64, LoongArch64, and Alpine. Nine community contributors drove the majority of user-facing changes, including ❤️ @Kation (Direct3D), ❤️ @ahmed605 (SaveLayerRec), and ❤️ @kasperk81 (RISC-V, Alpine, and more).

Breaking Changes

None in this release.

New Features

Engine

  • Skia milestone 119 — Upgrades the underlying Skia graphics engine to Chrome milestone 119, bringing rendering improvements and new codec support. (#3062)

GPU & Rendering

  • Direct3D support on Windows — Compiles Skia with Direct3D enabled on Windows, unlocking a new GPU backend. ❤️ @Kation (#2823)
  • OpenGL on Windows ARM — Enables the GL backend for Windows ARM64 devices. (#3189)

API Surface

  • Missing SKColorFilter types — Adds SKColorFilter factory methods that were previously unavailable (arithmetic, table, lighting). (#2882)
  • SkCanvas::SaveLayerRec — Exposes SaveLayer with the full SaveLayerRec parameter set for advanced compositing. ❤️ @ahmed605 (#2962)

Platform

  • tvOS SKMetalView support — Adds Metal-based rendering views for tvOS, bringing parity with iOS and macOS. ❤️ @MartinZikmund (#3114)
  • RISC-V 64 build support — Adds native build targets for the RISC-V 64-bit architecture on Linux. ❤️ @kasperk81 (#3192)
  • LoongArch64 build support — Adds native build targets for the LoongArch 64-bit architecture on Linux. ❤️ @4Darmygeometry (#3198)
  • Alpine Linux support — Extends the clang-cross toolchain to build for musl-based Alpine Linux. ❤️ @kasperk81 (#3200)
  • Android NDK r27c with 16 KB page alignment — Updates the Android NDK and enables 16 KB page alignment for newer Android devices. (#3096)

Security

  • CVE-2024-30105 addressed — Patches a known vulnerability in the build dependencies. ❤️ @pjcollins (#3166)
  • libpng updated to 1.6.44 — Picks up security and bug fixes from upstream libpng. (#3059)

Bug Fixes

  • Fixed SKImage.FromPicture implementation — Corrects image creation from recorded pictures when no color space is provided; fixes null return. Fixes #3157. (#3231)
  • Fixed incorrect call in SafeRef — Resolves a misrouted native call that could cause unexpected behavior. ❤️ @kkwpsv (#3143)
  • iOS Simulator Metal performance — Avoids unnecessary GPU work on the simulator, dramatically improving performance. ❤️ @taublast (#3156)
  • .NET Framework / Mono packages.config regression — Fixes a packaging regression that broke projects using the classic NuGet format. ❤️ @sungaila (#3112)
  • Vulkan Memory Allocator updated to 3.2.1 — Picks up stability fixes for Vulkan rendering. ❤️ @kasperk81 (#3196)
  • Broader Linux compatibility — Increases the range of supported Linux configurations. (#3209)

Plus several CI, build system, and infrastructure improvements.

Platform Support

Platform What's New
🍎 Apple tvOS SKMetalView, iOS Simulator Metal perf fix
🪟 Windows Direct3D backend, OpenGL on ARM64
🐧 Linux RISC-V 64, LoongArch64, Alpine (musl), broader compatibility
🤖 Android NDK r27c, 16 KB page alignment
🎨 Core API Skia m119, new SKColorFilter types, SaveLayerRec

Community Contributors ❤️

Contributor What They Did
@Kation Direct3D support on Windows
@ahmed605 SkCanvas::SaveLayerRec implementation
@MartinZikmund tvOS SKMetalView support
@kasperk81 RISC-V 64, Alpine Linux builds, Vulkan Memory Allocator update
@4Darmygeometry LoongArch64 build support
@kkwpsv SafeRef native call fix
@taublast iOS Simulator Metal performance fix
@sungaila .NET Framework / Mono packages.config fix
@pjcollins CVE-2024-30105 patch

Preview 1 (April 1, 2025)

Bumped Skia to milestone 119 with Direct3D on Windows, tvOS Metal support, new SKColorFilter types, SaveLayerRec API, RISC-V 64 / LoongArch64 / Alpine Linux builds, and multiple bug fixes including iOS Simulator performance and .NET Framework compatibility.

Full Changelog