Table of Contents

Version 1.68.1

1.68.1 stable · Released November 22, 2019 · NuGet · GitHub Release

API changes · SkiaSharp API diff · HarfBuzzSharp API diff

Highlights

SkiaSharp 1.68.1 ships the long-running 1.68.1 line as stable with a broad wave of API, view and HarfBuzz work. This is a large servicing release built from six release candidates over four months. It expands the managed API with Span-based buffers, an SKPictureShader binding and new SKTypeface members, reworks the managed/native type layer for stability, splits the desktop view packages, and refreshes HarfBuzzSharp to 2.6.1.

Breaking Changes

None in this release.

API Surface

  • Span-based data, bitmap and text APIs — Adds Span overloads for data buffers, bitmap pixels and text blobs so callers can hand SkiaSharp existing memory without copying through byte arrays. (#865)
  • SKPictureShader and typeface additions — Binds SkPictureShader for tiling and transforming recorded pictures, adds SKTypeface.IsFixedPitch, and lands int-unicode overloads for consistency across the text APIs. — ❤️ @alexandrvslv, @Gillibald (#973, #1019, #972)
  • Managed/native type layer reworked — Reworks how managed wrappers own and reference native objects so shared instances such as colour spaces stop being disposed out from under callers. (#900, #922)
  • HarfBuzzSharp font funcs and table loading — Adds font-funcs bindings on the HarfBuzzSharp side and lets faces be loaded directly from table data, alongside general HarfBuzz binding polish. — ❤️ @Gillibald (#881, #862, #915)

Bug Fixes

  • iOS canvas and raster view corrections — Fixes the iOS canvas implementation and stops raster views allocating zero-byte buffers when the surface has no size yet. — ❤️ @Odirb (#879, #761, #863)
  • Memory and stability fixes — Frees native memory when a view is detached, plugs an SKRoundRect leak, and improves UWP GPU view stability under teardown. (#1005, #995, #1024, #1023, #1000)

Platform

  • Desktop view packages split; WPF Forms backend added — Splits the desktop view projects and NuGet packages so consumers can pull only the framework they need, and adds a WPF backend for Xamarin.Forms. (#899, #917)
  • watchOS and tvOS bitcode, arm64_32 for watchOS — Enables bitcode for watchOS and tvOS and adds the watchOS arm64_32 slice so SkiaSharp keeps working on modern Apple wearables. (#971, #967)
  • Optional fontconfig on Linux — Lets SkiaSharp be built without fontconfig for stripped-down Linux containers and images that do not ship the library. (#821)

HarfBuzzSharp 2.6.1

No HarfBuzzSharp binding changes shipped in this release — it rebuilds the same HarfBuzz as the previous line.

Community Contributors ❤️

Thank you to everyone who contributed to this release!

Contributor Contributions
@Gillibald HarfBuzzSharp 2.6.1 bump, HarfBuzz font funcs, int-unicode overloads, and additional HarfBuzz updates (#872, #881, #904, #929, #972, #984)
@alexandrvslv SKPictureShader binding (#973)
@danien Contributed a fix landing in this release (#892)
@newky2k Contributed a fix landing in this release (#724)
@Odirb Fixed ToSKPixmap display artifacts with transparent bitmaps (#849) (#863)

Release Candidate 172 (November 17, 2019)

Release Candidate 172 was the final RC before stable, folding in the last UWP GPU view stability fixes and colour corrections.

Full changelog

Release Candidate 170 (November 16, 2019)

Release Candidate 170 added the SKTypeface.IsFixedPitch binding and prepared for the stable cut.

Full changelog

Release Candidate 169 (November 12, 2019)

Release Candidate 169 landed the SKRoundRect leak fix and view teardown corrections.

Full changelog

Release Candidate 165 (November 6, 2019)

Release Candidate 165 brought in the SKPictureShader binding and further HarfBuzz updates.

Full changelog

Release Candidate 153 (October 19, 2019)

Release Candidate 153 shipped the managed/native type rework and bitcode support for watchOS/tvOS.

Full changelog

Release Candidate 147 (July 30, 2019)

Release Candidate 147 opened the 1.68.1 line with the Span APIs, the desktop package split, and the WPF Xamarin.Forms backend.

Full changelog