Table of Contents

Version 2.88.1

Skottie and servicing release · Released August 17, 2022 · NuGet · GitHub Release

API changes · SkiaSharp API diff · HarfBuzzSharp 2.8.2.1

Highlights

SkiaSharp 2.88.1 adds a substantial new animation story with Skottie, expands WinUI and Tizen support on newer target frameworks, and refreshes several native dependencies. It also fixes a range of real-world issues across Alpine Linux, Unicode font loading, Apple scaling behavior, and browser-hosted scenarios.

Breaking Changes

  • Skottie and SceneGraph moved out of the core assembly — Applications using those APIs should make sure the matching packages are referenced explicitly instead of expecting everything to ship in SkiaSharp.dll. (#2091)

New Features

Animation & Text

  • Basic Skottie support — Introduces the first Skottie bindings, then rounds them out with nullable annotations, TimeSpan overloads, writable SKDataStream, and support for non-seekable streams. ❤️ @jeromelaban (#1987, #2119, #2128, #2126)
  • Better text shaping controlsSKShaper now respects SKPaint.TextAlign. ❤️ @koolkdev (#1910)
  • AVIF encode support — Exposes AVIF as an image encode format. ❤️ @mgood7123 (#2154)

Platform

  • WinUI and Uno support — Adds WinUI support and keeps Uno generation aligned on supported targets, with follow-up generation fixes for Xamarin targets. (#2042, #2098, #2199)
  • More modern target frameworks — Adds net6.0-tizen and expands Skottie package TFMs across Apple, Android, tvOS, Mac Catalyst, and Tizen. (#2099, #2133)
  • Updated WebAssembly toolchain — Adds emscripten 3.1.7 support. ❤️ @jeromelaban (#2094)

Bug Fixes

  • Unicode font names load correctly — Fixes font loading when the font name contains Unicode characters. ❤️ @lindexi (#2146)
  • Apple view scaling updates — Reshapes SKGLView correctly when Window.BackingScaleFactor changes. ❤️ @HarlanHugh (#1854)
  • Alpine and libc loading reliability — Fixes Alpine builds and prefers the full libc library name where required. (#2168, #2192, #2213)
  • Safer native lock cleanup — Checks whether the lock has already been finalized before entering or leaving the critical section. ❤️ @RichardD2 (#2195)
  • Animation and imaging fixes — Adds BOM handling for animation loading and fixes PNG loading by updating zlib. (#2167, #2045)

Native Dependencies

  • Refreshed native libraries — Updates zlib, libjpeg-turbo, libwebp, and libexpat to newer servicing releases. (#2045, #2206, #2193, #2189)

Platform Support

Platform What's New
🍎 Apple Better scaling updates and broader Skottie TFMs
🪟 Windows WinUI support and safer native critical-section cleanup
🐧 Linux Alpine and libc loading fixes
🌐 WebAssembly emscripten 3.1.7 support
🤖 Android / 📺 Tizen Expanded target framework coverage for Skottie and core packages

Community Contributors ❤️

Contributor What They Did
@jeromelaban Added core Skottie support, WinUI work, broader TFMs, and emscripten 3.1.7 support
@koolkdev Made SKShaper respect SKPaint.TextAlign
@lindexi Fixed Unicode font loading
@RichardD2 Hardened critical-section finalization handling
@HarlanHugh Fixed SKGLView backing-scale reshape behavior
@mgood7123 Exposed AVIF encoding support

Preview 108 (August 12, 2022)

Made configuration APIs public and refined libc probing on affected platforms.

Full Changelog


Preview 104 (August 8, 2022)

Fixed Unicode font loading, completed a missing macios feature, refreshed native dependencies, and improved Alpine builds.

Full Changelog


Preview 91 (July 14, 2022)

Added BOM handling for animations, exposed AVIF encoding, and continued Alpine servicing.

Full Changelog


Preview 79 (June 29, 2022)

Expanded Skottie TFMs and made SKDataStream writable like SKData.

Full Changelog


Preview 75 (June 26, 2022)

Improved Skottie handling for non-seekable streams and fixed SKGLView backing-scale updates.

Full Changelog


Preview 71 (June 20, 2022)

Added nullable annotations and TimeSpan overloads for Skottie while broadening target framework support.

Full Changelog


Preview 63 (June 8, 2022)

Introduced Skottie, WinUI, net6.0-tizen, emscripten 3.1.7 support, and several package-structure improvements.

Full Changelog


Preview 1 (May 22, 2022)

Started the 2.88.1 servicing train with a PNG-loading fix via an updated zlib.

Full Changelog