Version 3.0.0
Major 3.x milestone preview · Preview only · Superseded by 3.116.0 · These changes later shipped in 3.116.0 · NuGet · GitHub Release
API changes · SkiaSharp API diff · HarfBuzzSharp 8.3.0
Highlights
SkiaSharp 3.0 marked the major reset for the library: a cleaned-up API surface, modernized platform support, broader GPU and view coverage, and a large wave of new bindings on the road to the first stable 3.x release. This preview train never shipped as 3.0.0 stable, but its work rolled directly into 3.116.0.
Breaking Changes
- Obsolete 2.x APIs were removed — The 3.x line drops members and types that had already been marked obsolete, making this a real migration point for existing applications. (#2539)
New Features
Engine
- Established the 3.x Skia foundation — Moved the new line onto the refreshed Skia milestone 116 base and continued updating the externals during the preview cycle. (#2829, #2885, #3026)
- Expanded core graphics bindings — Added
SKBlender, moreSKPictureAPIs, Skottie's Animation Builder,SKImage.ToRawShader, andbeginRecordingoverloads with R-Tree support. (#2830, #2883, #2630, #2748, #2889)
Views & UI
- Added major new view controls — Introduced
SKGLView, accelerated WinUI views, andSKGLElementfor WPF. (#2598, #2733, ❤️ @gmurray81 #2317) - Broadened Apple and Metal support — Adopted Metal on Mac Catalyst and aligned Metal APIs across target frameworks. (#2747, ❤️ @maxkatz6 #2788)
- Improved Blazor and XAML views — Exposed Blazor component DPI and fixed several Uno, WASM, and XAML rendering and unload edge cases. (❤️ @beto-rodriguez #1832, ❤️ @jeromelaban #2559 #2563 #2854, ❤️ @Youssef1313 #2918)
API Surface
- Added migration-friendly overloads and spans — Added
GetPixelSpanwith offsets,SetRectRadiispan overloads, compatibility overloads forSKFilterQuality, and span-based color filter APIs. (#2609, ❤️ @Youssef1313 #2949 #2963, #2879) - Modernized native interop — Adopted function pointers and
LibraryImportfor the binding layer. ❤️ @maxkatz6 (#2917)
Platform
- Updated the platform baseline for 3.x — Added .NET 9 support, switched WinForms to the new GLControl packages, and refreshed ANGLE and workload packaging for modern SDKs. (❤️ @jeromelaban #3010, #2989, #2950, #2970)
Bug Fixes
- Fixed memory and encoding regressions — Resolved MAUI view leaks and restored the earlier
SKBitmap.Encodebehavior forSKPngEncoderOptions. (#2955, ❤️ @sungaila #3014) - Improved rendering correctness — Fixed Apple Metal snapshot color output, cloned
SKPaintdisposal crashes,GetKerningPairAdjustments, and background stretching behavior. (❤️ @taublast #2804, ❤️ @jeremy-visionaid #2904, ❤️ @pdjonov #2858, #2922)
Platform Support
| Platform | What's New |
|---|---|
| 🎨 Core API | SKBlender, SKPicture additions, Skottie builder, shader APIs, and new span overloads |
| 🪟 Windows | New WinForms GLControl packages, accelerated WinUI views, and WPF SKGLElement |
| 🍎 Apple | Metal on Mac Catalyst and common Metal APIs across target frameworks |
| 🌐 WebAssembly | Blazor DPI support plus Uno and canvas reliability fixes |
| 🤖 Android | Updated toolchains and packaging for the 3.x line |
Community Contributors ❤️
| Contributor | What They Did |
|---|---|
| @jeromelaban | Added .NET 9 support and fixed Uno, WASM, and XAML view issues |
| @maxkatz6 | Modernized interop and unified Metal APIs |
| @Youssef1313 | Added compatibility overloads and fixed Uno BGRA rendering |
| @gmurray81 | Added SKGLElement for WPF |
| @beto-rodriguez | Exposed Blazor component DPI |
| @taublast | Fixed the Apple Metal snapshot color regression |
| @jeremy-visionaid | Fixed cloned SKPaint disposal crashes |
| @pdjonov | Fixed GetKerningPairAdjustments |
| @sungaila | Restored SKBitmap.Encode compatibility |
| @Redth | Updated Skia late in the preview cycle |
Links
Unreleased
Updated Skia once more ahead of the later handoff into the stable 3.116 release.
Preview 5 (October 24, 2024)
.NET 9 support, interop modernization, MAUI leak fixes, and migration-focused compatibility overloads rounded out the final 3.0 preview.
Preview 4 (July 18, 2024)
Expanded the 3.x API surface with SKBlender, more SKPicture work, better Uno behavior, and a broad set of reliability fixes.
Preview 3 (April 9, 2024)
Added WPF, Blazor, and Metal platform work while continuing the 3.x compatibility cleanup.
Preview 2 (February 20, 2024)
Added Skottie's Animation Builder, SKImage.ToRawShader, and Mac Catalyst Metal support.
Preview 1 (February 6, 2024)
Introduced the first public 3.0 preview with new views, WinUI acceleration, obsolete API cleanup, and the initial wave of 3.x platform work.