Table of Contents

Version 2.88.8

Trimming and compatibility overloads · Released April 9, 2024 · NuGet · GitHub Release

API changes · SkiaSharp API diff · HarfBuzzSharp API diff

Highlights

SkiaSharp 2.88.8 adds compat overloads for SKImageFilter and makes SKXamlCanvas trim-friendly.

Breaking Changes

  • Default arguments removed from SKImageFilter.Create methods* — Optional trailing arguments on SKImageFilter.CreateAlphaThreshold, CreateArithmetic, CreateBlendMode, CreateBlur, CreateColorFilter, CreateDilate, CreateDisplacementMapEffect, CreateDistantLitDiffuse/Specular, CreateDropShadow, CreateDropShadowOnly, CreateErode, CreateMagnifier, CreateMatrixConvolution, CreateMerge, CreateOffset, CreatePaint, CreatePointLitDiffuse/Specular and CreateSpotLitDiffuse/Specular no longer have C# default values. Companion overloads without those optional parameters were added (#2810) so calls made through the compiler continue to work, but any code that reflected on the signature or dispatched dynamically may need to be updated. (#2810)

API Surface

  • New SKImageFilter compatibility overloads — New overloads on the SKImageFilter.Create* factory methods keep existing source-level callers working now that the default arguments have been removed. (#2810)

Lifecycle & Internals

  • Trim-friendly PlatformConfiguration — The PlatformConfiguration properties are now annotated so the trimmer can preserve them, avoiding runtime failures in trimmed apps. (#2734)
  • SKXamlCanvas removes async voidSKXamlCanvas no longer uses async void, so exceptions surface where callers can observe them. (#2731)
  • Invalid externs no longer emitted — The native binding no longer declares extern functions for entry points that don't exist, so the DLL loads cleanly on tighter loaders. (#2710)

HarfBuzzSharp 7.3.0.2

HarfBuzzSharp 7.3.0.2 picks up the APIScan and compliance YAML clean-up alongside the SkiaSharp maintenance.

Preview 1 (April 4, 2024)

Preview 1 landed the SKImageFilter compatibility overloads, the trim annotations on PlatformConfiguration, the SKXamlCanvas async void fix and the invalid-extern cleanup.

Full changelog