Table of Contents

Version 2.80.0

Major milestone update with Vulkan, ARM, and text overhaul · Released July 9, 2020 · NuGet · GitHub Release

Highlights

This is the biggest SkiaSharp release in years, upgrading to Skia milestone 80 and adding broad new platform support. Vulkan backends land on Android, Windows, and Linux. ARM64 support comes to Windows (UWP and Win32), and ARM/ARM64 support arrives for Linux — including Raspberry Pi. Text processing has been entirely rewritten around the new SKFont type with Span<T>-based APIs for near-zero-allocation performance. Native libraries are no longer embedded in managed DLLs, improving build times and giving developers better control over native assets. Three community contributors helped drive this release.

Breaking Changes

API Renames

  • SKEncodingSKTextEncoding — The old SKEncoding enum is deprecated in favor of SKTextEncoding.
  • GRPixelConfig deprecated — Use SKColorType instead for GPU surface configuration.

Minimum Version Bumps

  • UWP minimum — Now requires Windows 10.0.16299 or later.
  • .NET Framework minimum — Now requires .NET Framework 4.6.2 or later.
  • Xamarin.Forms minimum — Now requires Xamarin.Forms 4.5+.

Color Space Rework

  • Several SKColorSpace-related types have been deprecated in favor of improved types with better access to transfer functions and ICC profiles. Usage of SKMatrix44 is being phased out.

Text Processing Rewrite

  • SKTextBlob and SKTextBlobBuilder now focus on glyphs and only expose convenience members for text. The underlying text engine has moved to SKFont.

Native Library Packaging

  • Native libSkiaSharp binaries are no longer embedded in managed DLLs. This improves build performance but may require updating deployment configurations.

New Features

Engine

  • Skia milestone 80 — Upgraded to the latest Skia engine with all upstream improvements. (Native Changelogs)

GPU & Rendering

  • Vulkan backend support — Full Vulkan rendering support on Android, Windows, and Linux with new GRVkBackendContext, GRVkImageInfo, and related types. ❤️ @tuccio ❤️ @MarchingCube
  • SharpVk integration — New GRSharpVkBackendContext and extension methods for GRVkExtensions to use SharpVk objects directly.
  • Streamlined GPU typesGRContext and GRGlInterface creation and usage have been simplified.

Text

  • SKFont type — New text-focused type that is a subset of SKPaint, providing cleaner text APIs.
  • Span<T>-based text APIs — Near-zero-allocation text processing across the text pipeline.
  • Improved DrawTextOnPathSKCanvas.DrawTextOnPath now supports not warping characters, with a better managed implementation after native support was dropped in Skia. ❤️ @Ziriax
  • Simplified DrawShapedText — New overloads for SKCanvas.DrawShapedText via SkiaSharp.HarfBuzz for easier common cases.

API Surface

  • SKColorSpace rework — New types for accessing transfer functions and ICC profiles.
  • SKColorF on SKPaint — Get and set colors using SKColorF with optional color space support.
  • SKPath.ToWinding() — Convert paths to winding fill type.
  • Additional SKImageFilter overloads — More factory method overloads for image filters.
  • Native version validation — The managed library now validates the native library version and throws if incompatible. (#1252)

Platform

  • Windows ARM64 — Full ARM64 support for both UWP and Win32 platforms.
  • Linux ARM / ARM64 — Native binaries for Debian ARM, ARM64, and Raspberry Pi.
  • Alpine / musl support — Linux builds for Alpine and other musl-based distributions, including no-dependency variants.
  • WASM static library (experimental) — Pre-built .a file for WebAssembly via SkiaSharp.NativeAssets.WebAssembly, for manual linking or use with Uno Platform. (#1389)
  • .NET Framework ARM — Proper 32/64 bit and ARM library loading for .NET Framework apps.

Platform Support

Platform What's New
🪟 Windows ARM64 for UWP and Win32, Vulkan backend, Nano Server support
🐧 Linux ARM / ARM64 / Raspberry Pi, Alpine / musl, Vulkan backend
🤖 Android Vulkan backend
🌐 WebAssembly Experimental static library package
🍎 Apple Xamarin.Forms minimum bumped to 4.5+

Community Contributors ❤️

Contributor What They Did
@tuccio Vulkan backend support
@MarchingCube Vulkan backend support
@Ziriax Improved DrawTextOnPath with non-warping character support

Preview Build 33 (July 1, 2020)

Pre-release build leading up to the stable release.

Full Changelog


Preview Build 24 (June 27, 2020)

Pre-release build with ongoing stabilization.

Full Changelog


Preview Build 14 (June 18, 2020)

Pre-release build with ongoing stabilization.

Full Changelog


Preview Build 12 (June 16, 2020)

Pre-release build with ongoing stabilization.

Full Changelog


Preview Build 3 (June 8, 2020)

Initial preview of the 2.80.0 release cycle.

Full Changelog