Back to Skiasharp

2.88.1

documentation/docfx/releases/2.88.1.md

4.150.014.2 KB
Original Source
<!-- RAW PR DATA — Do not remove this comment block. AI uses this data to generate the polished release notes below. Re-run the script to refresh this data from git history. Generated: 2026-06-17T23:56:09Z by generate-release-notes.py version: 2.88.1 status: stable branch: release/2.88.1 diff: release/2.88.0..release/2.88.1 prs: 48 api: self=2.88.1/index.md;hb=2.8.2.1 PRs grouped by the preview they first shipped in (newest first). Render each milestone as a trailing "## <label> (<date>)" section per TEMPLATE.md, and merge them all for the top-level Highlights: ## Preview 108 · 2.88.1 · 2022-08-12 · https://github.com/mono/SkiaSharp/compare/v2.88.1-preview.104...v2.88.1-preview.108 (4 PRs) - Make the configuration public by @mattleibow in https://github.com/mono/SkiaSharp/pull/1856 - Use the full library name of libc by @mattleibow in https://github.com/mono/SkiaSharp/pull/2213 - Use the new .NET by @mattleibow in https://github.com/mono/SkiaSharp/pull/2212 - fix .gitignore again by @mgood7123 in https://github.com/mono/SkiaSharp/pull/2162 [community ✨] ## Preview 104 · 2.88.1 · 2022-08-08 · https://github.com/mono/SkiaSharp/compare/v2.88.1-preview.91...v2.88.1-preview.104 (8 PRs) - fix: Force use Uno's Roslyn hosted generators instead of Uno.SourceGeneration tasks by @jeromelaban in https://github.com/mono/SkiaSharp/pull/2199 [community ✨] - Fix load the font which the name contains unicode text by @lindexi in https://github.com/mono/SkiaSharp/pull/2146 [community ✨] - Update libjpeg-turbo to 2.1.3 by @mattleibow in https://github.com/mono/SkiaSharp/pull/2206 (skia: mono/skia#97) - The missing feature in macios is now implemented by @mattleibow in https://github.com/mono/SkiaSharp/pull/2198 - Check whether the lock has been finalized before trying to enter/leave the critical section. by @RichardD2 in https://github.com/mono/SkiaSharp/pull/2195 [community ✨] - Update libwebp to 1.2.3 by @mattleibow in https://github.com/mono/SkiaSharp/pull/2193 (skia: mono/skia#96) - Update libexpat to 2.4.8 by @mattleibow in https://github.com/mono/SkiaSharp/pull/2189 (skia: mono/skia#95) - Fix the Alpine build by @mattleibow in https://github.com/mono/SkiaSharp/pull/2192 ## Preview 91 · 2.88.1 · 2022-07-14 · https://github.com/mono/SkiaSharp/compare/v2.88.1-preview.79...v2.88.1-preview.91 (7 PRs) - Fix Alpine builds by @mattleibow in https://github.com/mono/SkiaSharp/pull/2168 - Support loading animations with BOM by @mattleibow in https://github.com/mono/SkiaSharp/pull/2167 - expose AVIF image encode format by @mgood7123 in https://github.com/mono/SkiaSharp/pull/2154 [community ✨] - Clean up the nuspecs and add xmldoc by @mattleibow in https://github.com/mono/SkiaSharp/pull/2140 - add /.idea to git ignore by @mgood7123 in https://github.com/mono/SkiaSharp/pull/2138 [community ✨] - The C API is incremented by @mattleibow in https://github.com/mono/SkiaSharp/pull/2137 (skia: mono/skia#94) - Bump Newtonsoft.Json in /samples/Basic/Web/SkiaSharpSample by @dependabot[bot] in https://github.com/mono/SkiaSharp/pull/2131 [community ✨] ## Preview 79 · 2.88.1 · 2022-06-29 · https://github.com/mono/SkiaSharp/compare/v2.88.1-preview.75...v2.88.1-preview.79 (3 PRs) - fix: Add net6.0 ios, android, catalyst, macos, tvos, tizen for Skottie by @jeromelaban in https://github.com/mono/SkiaSharp/pull/2133 [community ✨] - Update benchmark projects by @mattleibow in https://github.com/mono/SkiaSharp/pull/2130 - Make the SKDataStream writeable like SKData by @mattleibow in https://github.com/mono/SkiaSharp/pull/2128 ## Preview 75 · 2.88.1 · 2022-06-26 · https://github.com/mono/SkiaSharp/compare/v2.88.1-preview.71...v2.88.1-preview.75 (2 PRs) - [skottie] Handle non-seekable streams by @mattleibow in https://github.com/mono/SkiaSharp/pull/2126 - Reshape SKGLView when Window.BackingScaleFactor changes (#1853) by @HarlanHugh in https://github.com/mono/SkiaSharp/pull/1854 [community ✨] ## Preview 71 · 2.88.1 · 2022-06-20 · https://github.com/mono/SkiaSharp/compare/v2.88.1-preview.63...v2.88.1-preview.71 (3 PRs) - Add nullable attributes, TimeSpan and overloads to Skottie by @mattleibow in https://github.com/mono/SkiaSharp/pull/2119 - Add support for nullable and add newer TFMs by @mattleibow in https://github.com/mono/SkiaSharp/pull/2120 - Update README.md and externals/skia submodule by @mattleibow in https://github.com/mono/SkiaSharp/pull/2118 (skia: mono/skia#83) ## Preview 63 · 2.88.1 · 2022-06-08 · https://github.com/mono/SkiaSharp/compare/v2.88.1-preview.1...v2.88.1-preview.63 (18 PRs) - Add the net6.0-tizen TFM by @mattleibow in https://github.com/mono/SkiaSharp/pull/2099 - Install Tizen on CI by @mattleibow in https://github.com/mono/SkiaSharp/pull/2100 - feat: Add support for emscripten 3.1.7 by @jeromelaban in https://github.com/mono/SkiaSharp/pull/2094 [community ✨] - SKShaper: Support SKPaint.TextAlign property by @koolkdev in https://github.com/mono/SkiaSharp/pull/1910 [community ✨] - Move Skottie and SceneGraph out of the core SkiaSharp.dll by @mattleibow in https://github.com/mono/SkiaSharp/pull/2091 - fix: Force roslyn generation for xamarin targets by @mattleibow in https://github.com/mono/SkiaSharp/pull/2098 - Merge the "classic" projects by @mattleibow in https://github.com/mono/SkiaSharp/pull/2092 - Add support for excluding "namespaces" by @mattleibow in https://github.com/mono/SkiaSharp/pull/2093 - feat: Add basic Skottie support by @jeromelaban in https://github.com/mono/SkiaSharp/pull/1987 [community ✨] (skia: mono/skia#84) - ci: add retries for dowload and upload tasks by @jeromelaban in https://github.com/mono/SkiaSharp/pull/2088 [community ✨] - Update Generator by @mattleibow in https://github.com/mono/SkiaSharp/pull/2087 - fix(unowasm): Adds missing Uno.WinUI javascript support file by @jeromelaban in https://github.com/mono/SkiaSharp/pull/2086 [community ✨] - Dynamically determine to build managed-only by @mattleibow in https://github.com/mono/SkiaSharp/pull/2085 - Use macOS 11 to get things green by @mattleibow in https://github.com/mono/SkiaSharp/pull/2083 - Reduce shields cache by @mattleibow in https://github.com/mono/SkiaSharp/pull/2079 - Add WinUI support by @jeromelaban in https://github.com/mono/SkiaSharp/pull/2042 [community ✨] - Make pipelines better by @mattleibow in https://github.com/mono/SkiaSharp/pull/2078 - Return null on invalid resize bounds by @mattleibow in https://github.com/mono/SkiaSharp/pull/2054 ## Preview 1 · 2.88.1 · 2022-05-22 · https://github.com/mono/SkiaSharp/compare/v2.88.0...v2.88.1-preview.1 (3 PRs) - Update docs by @mattleibow in https://github.com/mono/SkiaSharp/pull/2052 - Fix PNG loading issues by updating the zlib to one with fixes by @mattleibow in https://github.com/mono/SkiaSharp/pull/2045 (skia: mono/skia#85) - Fix CI after VS updates by @mattleibow in https://github.com/mono/SkiaSharp/pull/2047 (skia: mono/skia#86) --> <!-- Generated: 2026-06-18T00:00:00Z by claude-sonnet-4.5 -->

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

PlatformWhat's New
🍎 AppleBetter scaling updates and broader Skottie TFMs
🪟 WindowsWinUI support and safer native critical-section cleanup
🐧 LinuxAlpine and libc loading fixes
🌐 WebAssemblyemscripten 3.1.7 support
🤖 Android / 📺 TizenExpanded target framework coverage for Skottie and core packages

Community Contributors ❤️

ContributorWhat They Did
@jeromelabanAdded core Skottie support, WinUI work, broader TFMs, and emscripten 3.1.7 support
@koolkdevMade SKShaper respect SKPaint.TextAlign
@lindexiFixed Unicode font loading
@RichardD2Hardened critical-section finalization handling
@HarlanHughFixed SKGLView backing-scale reshape behavior
@mgood7123Exposed 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