Back to Skiasharp

3.119.0

documentation/docfx/releases/3.119.0.md

4.150.013.3 KB
Original Source
<!-- RAW PR DATA — Do not remove this comment block. AI uses this data to generate the polished release notes below. Re-run the script to refresh this data from git history. Generated: 2026-06-17T23:58:18Z by generate-release-notes.py version: 3.119.0 status: stable supersedes: 3.118.0 (preview only, rolled up) branch: release/3.119.0 diff: release/3.116.1..release/3.119.0 prs: 52 api: self=3.119.0/index.md;hb=8.3.1.1 PRs grouped by the preview they first shipped in (newest first). Render each milestone as a trailing "## <label> (<date>)" section per TEMPLATE.md, and merge them all for the top-level Highlights: ## Unreleased — not yet in a tagged preview (3 PRs) - Merge pipeline changes to release by @mattleibow in https://github.com/mono/SkiaSharp/pull/3252 - Fix the SKImage.FromPicture implementation by @mattleibow in https://github.com/mono/SkiaSharp/pull/3231 (skia: mono/skia#156) - The fontconfig package was updated by @mattleibow in https://github.com/mono/SkiaSharp/pull/3221 ## Preview 1 · 3.119.0 · 2025-03-31 · https://github.com/mono/SkiaSharp/compare/v3.118.0-preview.2.3...v3.119.0-preview.1.2 (31 PRs) - Add LoongArch64 build support by @4Darmygeometry in https://github.com/mono/SkiaSharp/pull/3198 [community ✨] - The stageDependencies envvar is too big for devops by @mattleibow in https://github.com/mono/SkiaSharp/pull/3216 - Use a "better" dotnet-install URL by @mattleibow in https://github.com/mono/SkiaSharp/pull/3215 - Increase Linux support by @mattleibow in https://github.com/mono/SkiaSharp/pull/3209 - Extend clang-cross to support alpine by @kasperk81 in https://github.com/mono/SkiaSharp/pull/3200 [community ✨] - Update vulkanmemoryallocator to 3.2.1 by @kasperk81 in https://github.com/mono/SkiaSharp/pull/3196 [community ✨] (skia: mono/skia#152) - Set the correct target for tvOS by @mattleibow in https://github.com/mono/SkiaSharp/pull/3199 (skia: mono/skia#153) - Compile Skia with Direct3D on Windows platform by @Kation in https://github.com/mono/SkiaSharp/pull/2823 [community ✨] (skia: mono/skia#121) - Add riscv64 build support by @kasperk81 in https://github.com/mono/SkiaSharp/pull/3192 [community ✨] - fix linux tests by @kasperk81 in https://github.com/mono/SkiaSharp/pull/3194 [community ✨] - Fix targets for ARM machines by @mattleibow in https://github.com/mono/SkiaSharp/pull/3190 - Enable GL on Windows ARM by @mattleibow in https://github.com/mono/SkiaSharp/pull/3189 (skia: mono/skia#151) - Exclude code that will never run on Apple by @mattleibow in https://github.com/mono/SkiaSharp/pull/3187 - Update the externals with tvOS fixes by @mattleibow in https://github.com/mono/SkiaSharp/pull/3186 (skia: mono/skia#150) - Reduce the unused dependencies by @mattleibow in https://github.com/mono/SkiaSharp/pull/3180 (skia: mono/skia#149) - Implement SkCanvas::SaveLayerRec by @ahmed605 in https://github.com/mono/SkiaSharp/pull/2962 [community ✨] (skia: mono/skia#130) - Bump skia to milestone 119 by @mattleibow in https://github.com/mono/SkiaSharp/pull/3062 (skia: mono/skia#148) - Update libpng to 1.6.44 by @mattleibow in https://github.com/mono/SkiaSharp/pull/3059 (skia: mono/skia#146) - Add the missing SKColorFilter types by @mattleibow in https://github.com/mono/SkiaSharp/pull/2882 - Fix regression that breaks projects using .NET Framework/Mono and packages.config by @sungaila in https://github.com/mono/SkiaSharp/pull/3112 [community ✨] - Disable more unused externals by @mattleibow in https://github.com/mono/SkiaSharp/pull/3171 - [build] Address CVE-2024-30105 by @pjcollins in https://github.com/mono/SkiaSharp/pull/3166 [community ✨] - Fix iOS Simulator performance with Metal by @taublast in https://github.com/mono/SkiaSharp/pull/3156 [community ✨] - Support SKMetalView on tvOS by @MartinZikmund in https://github.com/mono/SkiaSharp/pull/3114 [community ✨] - Manually list all the artifacts to download by @mattleibow in https://github.com/mono/SkiaSharp/pull/3161 - Restore the .NET tools first by @mattleibow in https://github.com/mono/SkiaSharp/pull/3154 - Fix the incorrect call. by @kkwpsv in https://github.com/mono/SkiaSharp/pull/3143 [community ✨] - The initial run of dotnet and/or cake hangs by @mattleibow in https://github.com/mono/SkiaSharp/pull/3152 - Reland #2873 Disable unused / problematic tools by @mattleibow in https://github.com/mono/SkiaSharp/pull/3150 - Use the correct PackagePath attribute by @mattleibow in https://github.com/mono/SkiaSharp/pull/3100 - Update the Android NDK to r27c and update to 16kb alignment by @mattleibow in https://github.com/mono/SkiaSharp/pull/3096 ## Preview 2 · 3.118.0 · 2024-12-05 · https://github.com/mono/SkiaSharp/compare/v3.118.0-preview.1.2...v3.118.0-preview.2.3 (14 PRs) - Log more information about disk space and skip the MSVC builds on public by @mattleibow in https://github.com/mono/SkiaSharp/pull/3090 - Fix the import for apps with a base path by @mattleibow in https://github.com/mono/SkiaSharp/pull/3092 - Move the WASM fix to SkiaSharp by @mattleibow in https://github.com/mono/SkiaSharp/pull/3088 - Use the Microsoft Hosted Pool by @mattleibow in https://github.com/mono/SkiaSharp/pull/3051 - Add Metal API for GRBackendRenderTarget to all platforms by @spouliot in https://github.com/mono/SkiaSharp/pull/3070 [community ✨] - Move the Blazor workaround into WASM by @mattleibow in https://github.com/mono/SkiaSharp/pull/3082 - Use `<WindowsSdkPackageVersion>` to set the SDK version by @mattleibow in https://github.com/mono/SkiaSharp/pull/3085 - Skip the skia PR checkout by @mattleibow in https://github.com/mono/SkiaSharp/pull/3083 - Add a workflow to auto label issues by @mattleibow in https://github.com/mono/SkiaSharp/pull/3080 - Fix .NET 9 ASP.NET Blazor issues by @mattleibow in https://github.com/mono/SkiaSharp/pull/3064 - Update bug-report.yml by @mattleibow in https://github.com/mono/SkiaSharp/pull/3063 - Update freetype2 to 2.13.3+ by @mattleibow in https://github.com/mono/SkiaSharp/pull/3061 (skia: mono/skia#143) - Update libexpat to v2.6.4 by @mattleibow in https://github.com/mono/SkiaSharp/pull/3056 (skia: mono/skia#142) - Update libjpeg_turbo to the latest commit: 2.1.5.1+commits by @mattleibow in https://github.com/mono/SkiaSharp/pull/3060 (skia: mono/skia#141) ## Preview 1 · 3.118.0 · 2024-11-06 · https://github.com/mono/SkiaSharp/compare/v3.116.1...v3.118.0-preview.1.2 (4 PRs) - Update harfbuzz to 8.3.1 by @mattleibow in https://github.com/mono/SkiaSharp/pull/3052 (skia: mono/skia#140) - Bump the version of the packages to 3.118 by @mattleibow in https://github.com/mono/SkiaSharp/pull/3050 - Update skia to Milestone 118 by @mattleibow in https://github.com/mono/SkiaSharp/pull/3048 (skia: mono/skia#139) - Update skia to milestone 117 by @mattleibow in https://github.com/mono/SkiaSharp/pull/3047 (skia: mono/skia#138) --> <!-- Generated: 2026-06-18T00:00:00Z by claude-sonnet-4.5 -->

Version 3.119.0

Milestone 119 platform release · Released · 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 8.3.1.1

Highlights

SkiaSharp 3.119.0 rolls the skipped 3.118.0 previews into one stable release and moves the line to Skia milestone 119. It broadens platform reach with Direct3D-enabled Windows builds, new Linux architectures, better tvOS and Metal coverage, and several rendering and API additions. HarfBuzzSharp 8.3.1.1 ships alongside this release; see the linked companion page for its binding-level details.

Breaking Changes

None in this release.

New Features

Engine & Rendering

  • Skia milestone 119 — Rebases the native engine to milestone 119 and establishes the foundation for the 3.119 line. (#3062)
  • Direct3D-enabled Windows builds — Windows native builds now include Direct3D support. ❤️ @Kation (#2823)
  • SkCanvas::SaveLayerRec bindings — Adds managed access to another low-level canvas composition API. ❤️ @ahmed605 (#2962)

API Surface

  • Expanded SKColorFilter coverage — Adds the missing SKColorFilter types to round out the managed API surface. (#2882)
  • Metal render-target APIs across platforms — Exposes the Metal GRBackendRenderTarget APIs consistently across platforms. ❤️ @spouliot (#3070)

Platform

  • tvOS Metal view support — Adds SKMetalView support on tvOS. ❤️ @MartinZikmund (#3114)
  • LoongArch64 and RISC-V64 Linux support — Extends native packaging to additional Linux architectures. ❤️ @4Darmygeometry (#3198) and ❤️ @kasperk81 (#3192)
  • Improved Alpine cross-compilation — Expands cross-compilation support for Alpine-based targets. ❤️ @kasperk81 (#3200)

Bug Fixes

  • packages.config compatibility on .NET Framework and Mono — Fixes a regression that broke older project systems. ❤️ @sungaila (#3112)
  • Blazor and WebAssembly app-hosting fixes — Resolves .NET 9 ASP.NET Blazor issues, including applications hosted under a base path. (#3064, #3092, #3088, #3082)
  • Apple platform rendering fixes — Improves iOS Simulator Metal performance and tightens tvOS targeting. ❤️ @taublast (#3156) and (#3199)
  • SKImage.FromPicture correctness — Fixes the managed implementation so generated images match expected behavior. (#3231)

Security

  • Refreshed native dependencies — Updates key native components including libpng, libexpat, libjpeg-turbo, and FreeType, and includes the CVE-2024-30105 servicing work. (#3059, #3056, #3060, #3061, #3166)

Platform Support

PlatformWhat's New
🍎 AppletvOS Metal view support, Metal API expansion, Simulator performance fixes
🪟 WindowsDirect3D-enabled native builds
🐧 LinuxLoongArch64 and RISC-V64 packaging, Alpine cross-compilation
🌐 WebAssemblyBlazor hosting and base-path fixes

Community Contributors ❤️

ContributorWhat They Did
@KationEnabled Direct3D support in Windows builds
@ahmed605Added SkCanvas::SaveLayerRec bindings
@spouliotAdded Metal render-target APIs across platforms
@MartinZikmundAdded tvOS SKMetalView support
@4DarmygeometryAdded LoongArch64 native build support
@kasperk81Added RISC-V64 support and improved Alpine cross-compilation
@sungailaFixed packages.config compatibility regressions
@taublastImproved Metal performance on the iOS Simulator

Preview 1 (March 31, 2025)

Skia milestone 119 landed with new architectures, Direct3D-enabled Windows builds, tvOS and Metal work, and several API additions.

Full Changelog


Preview 2 (December 5, 2024)

Introduced the first wave of 3.118 servicing fixes, including Blazor .NET 9 compatibility work, Metal API expansion, and native dependency refreshes.

Full Changelog


Preview 1 (November 6, 2024)

Began the line with Skia milestone 117/118 updates and the HarfBuzz 8.3.1 refresh.

Full Changelog