Version 3.119.0
New platforms and Skia m119 · Released April 25, 2025 · NuGet · GitHub Release
Supersedes 3.118.0 · 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
SkiaSharp 3.119.0 advances the engine to Skia m119 and adds LoongArch64, RISC-V64, and Alpine Linux support. This release adds Direct3D rendering on Windows, iOS Simulator Metal performance gains, tvOS Metal view support, LoongArch64 and RISC-V64 Linux builds, Alpine Linux cross-compilation, and SKColorFilter additions. It also fixes a .NET Framework packages.config regression.
Breaking Changes
None in this release.
Engine
- Skia advanced to milestone m119 — The bundled Skia engine moves to m119, bringing upstream rendering improvements and bug fixes. (#3062)
- Direct3D rendering enabled on Windows — Skia is now compiled with Direct3D backend support on Windows, unlocking hardware-accelerated GPU rendering via D3D12. — ❤️ @Kation (#2823)
- Vulkan Memory Allocator updated — vulkanmemoryallocator has been updated to 3.2.1. — ❤️ @kasperk81 (#3196)
API Surface
- Missing SKColorFilter types added — Several SKColorFilter factory methods that were present in Skia but missing from the binding have been exposed. (#2882)
- SaveLayerRec support added to SKCanvas — SKCanvas now exposes the SaveLayerRec overload of SaveLayer, enabling fine-grained control over layer compositing parameters. — ❤️ @ahmed605 (#2962)
Bug Fixes
- packages.config regression fixed — A regression in 3.116.0 that broke .NET Framework and Mono projects using packages.config has been corrected. — ❤️ @sungaila (#3112)
- iOS Simulator Metal performance restored — The iOS Simulator was incorrectly bypassing Metal; this fix restores proper GPU-accelerated rendering in the simulator. — ❤️ @taublast (#3156)
- SKImage.FromPicture implementation corrected — SKImage.FromPicture was producing incorrect output; the implementation has been fixed to match the expected behaviour. (#3231)
- SKCanvas incorrect call fixed — An incorrect native call in SKCanvas has been corrected. — ❤️ @kkwpsv (#3143)
Platform
- LoongArch64 and RISC-V64 Linux builds added — Native assets are now produced for LoongArch64 and RISC-V64 Linux targets, expanding the set of supported architectures. — ❤️ @4Darmygeometry, @kasperk81 (#3198, #3192)
- Alpine Linux cross-compilation support added — The clang-cross toolchain has been extended to support Alpine Linux, enabling musl-based Linux builds. — ❤️ @kasperk81 (#3200)
- tvOS Metal view support added — SKMetalView is now available on tvOS, bringing hardware-accelerated rendering to the tvOS platform. — ❤️ @MartinZikmund (#3114)
- Metal API available for GRBackendRenderTarget on all platforms — Metal-specific constructors and accessors for GRBackendRenderTarget are now available on all supported Apple platforms including tvOS. — ❤️ @spouliot (#3070)
- Windows ARM GL and tvOS targets corrected — GL rendering is now enabled on Windows ARM, and tvOS deployment targets have been corrected. (#3189, #3199)
Security
- Native dependencies updated — libpng has been updated to 1.6.44, freetype2 to 2.13.3+, libexpat to 2.6.4, libjpeg-turbo to 2.1.5.1+, and HarfBuzz to 8.3.1. (#3059, #3061, #3056, #3060, #3052)
HarfBuzzSharp 8.3.1.1
Ships HarfBuzzSharp 8.3.1.1 with extended platform coverage for LoongArch64, RISC-V64, Alpine Linux, and corrected ARM and Blazor targets.
Community Contributors ❤️
Thank you to everyone who contributed to this release!
| Contributor | Contributions |
|---|---|
| @kasperk81 | Added RISC-V64 and LoongArch64 build support and fixed Linux tests (#3192, #3194, #3196, #3200) |
| @4Darmygeometry | Added LoongArch64 native build support (#3198) |
| @ahmed605 | Implemented SaveLayerRec support for SKCanvas (#2962) |
| @Kation | Added Direct3D rendering support on Windows (#2823) |
| @kkwpsv | Fixed an incorrect native call in SKCanvas (#3143) |
| @MartinZikmund | Improved tvOS Metal view support (#3114) |
| @pjcollins | Resolved the CVE-2024-30105 vulnerability (#3166) |
| @spouliot | Added Metal API for GRBackendRenderTarget (#3070) |
| @sungaila | Fixed the packages.config regression for .NET Framework and Mono projects (#3112) |
| @taublast | Improved iOS Simulator Metal performance (#3156) |
Preview 1 (March 31, 2025)
Preview 1 introduced LoongArch64 and RISC-V64 Linux support, Direct3D on Windows, tvOS Metal view, Alpine Linux cross-compilation, SaveLayerRec, missing SKColorFilter types, and fixes for packages.config, iOS Simulator Metal, and the SKImage.FromPicture implementation.
Preview 2 (December 5, 2024)
Preview 2 of 3.118.0 added Metal GRBackendRenderTarget APIs, fixed .NET 9 Blazor rendering, updated the Android NDK to r27c, and resolved the NuGet PackagePath issue.
Preview 1 (November 6, 2024)
Preview 1 of 3.118.0 advanced the bundled Skia engine through milestones m117 and m118 and updated HarfBuzz to 8.3.1.