documentation/docfx/releases/2.88.0.md
MAUI, .NET 6 and Mac Catalyst · Released May 22, 2022 · NuGet · GitHub Release
API changes · SkiaSharp API diff · HarfBuzzSharp API diff
SkiaSharp 2.88.0 adds .NET 6, .NET MAUI, Mac Catalyst, WinUI and Blazor WebAssembly support. This is the first stable release built for the .NET 6 era. It ships new views for .NET MAUI (both compat and handlers), first-class Mac Catalyst binaries, an ASP.NET Blazor WebAssembly component, and refreshes HarfBuzz to 2.8.2. Native lifecycle and packaging were reworked to fit the new TFMs.
nfloat overloads of ToUIImage on SKBitmap, SKPixmap and SKPicture in SkiaSharp.Views.iOS and SkiaSharp.Views.tvOS were removed as part of the .NET 6 unification. Pass the scale as float and the orientation on the remaining overloads instead.GRContext was reparented from SKObject onto the new GRRecordingContext base type to match upstream Skia. Existing code that uses GRContext continues to work; code that reflected on the base type or cast to SKObject needs to update.net6.0-* TFMs, and shipping .NET MAUI views (both the compat layer and the new handlers) are included. (#1740, #1707, #1678, #1749, #1782, #1932, #1965, #1967, #1986, #2004, #2029)netcoreapp3.1. (#1800, #1774)SKCanvasView component targets ASP.NET Blazor WebAssembly, with an infinite-loop guard on invalidation. — ❤️ @JensKrumsieck (#1811, #1889)IgnorePixelScaling property on the canvas views produces the intended coordinate space instead of double-scaling. (#1804)SKCanvasView no longer throws a NullReferenceException in certain lifecycle paths. — ❤️ @jsuarezruiz (#1734)HandleDictionary lock was replaced with a critical section on Windows to reduce contention under load. — ❤️ @toptensoftware (#1817)HarfBuzzSharp 2.8.2 refreshes the bundled HarfBuzz shaping engine, adds Mac Catalyst binaries and gains net6.0-* TFMs alongside its SkiaSharp counterpart.
Thank you to everyone who contributed to this release!
| Contributor | Contributions |
|---|---|
| @jeromelaban | Bumped Uno to 4.0 so the Uno-hosted views keep pace with the SDK (#1746, #1873) |
| @jonathanpeppers | Android packaging fixes — kept .so files out of class libraries and trimmed generated Resource.designer.cs fields (#1812, #1895) |
| @akoeplinger | Made the Linux native loader try libdl.so.2 before libdl.so so newer distributions resolve (#2010) |
| @JensKrumsieck | Fixed an infinite invalidation loop in the Blazor SKCanvasView (#1889) |
| @jsuarezruiz | Guarded against a NullReferenceException in the .NET MAUI SKCanvasView (#1734) |
| @mjbond-msft | Contributed to the .NET 6 / MAUI enablement work landing in this release (#1954) |
| @toptensoftware | Replaced the Windows HandleDictionary lock with a critical section to cut contention (#1817) |
Preview 266 finished the .NET MAUI RC 3 line-up and picked up the last packaging fixes before stable.
Preview 256 moved to .NET MAUI RC 2.
Preview 254 moved to .NET MAUI RC 1 and switched CI to macOS Monterey.
Preview 232 refreshed native tooling to Python 3 and Clang 12, and picked up more upstream Skia fixes.
Preview 209 rolled up Skia and interop fixes, and refreshed the Mac Catalyst build inputs.
Preview 187 moved to .NET MAUI Preview 12 and tightened Android packaging.
Preview 179 bumped Uno to 4.0.
Preview 178 moved to .NET MAUI Preview 11 and added the Blazor SKCanvasView infinite-loop guard, the Windows lock rework and the enum-blittability workaround.
Preview 155 rolled up upstream updates.
Preview 152 refreshed a batch of dependencies and picked up new APIs.
Preview 150 added the ASP.NET Blazor WebAssembly SKCanvasView component.
Preview 145 tuned Android packaging and moved to .NET MAUI Preview 7.
Preview 140 was a plumbing-only cut.
Preview 139 fixed IgnorePixelScaling, added main PDBs to the packages and moved to Windows App SDK.
Preview 127 updated HarfBuzz to 2.8.2 and added Xamarin.Forms support on netcoreapp3.1.
Preview 120 moved to .NET 6, guarded the .NET MAUI SKCanvasView and set the iOS view background.
Preview 61 opened the 2.88 line with .NET 6 TFMs, Mac Catalyst binaries and the first .NET MAUI views.