Back to Skiasharp

1.68.2

documentation/docfx/releases/1.68.2.md

4.150.016.6 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:55:25Z by generate-release-notes.py version: 1.68.2 status: stable branch: release/1.68.2 diff: release/1.68.1..release/1.68.2 prs: 71 api: self=1.68.2/index.md;hb=2.6.1.2 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: ## Unreleased — not yet in a tagged preview (10 PRs) - Update docs for release by @mattleibow in https://github.com/mono/SkiaSharp/pull/1263 - Prevent the GC from collecting "this" and "pixels" by @mattleibow in https://github.com/mono/SkiaSharp/pull/1258 - Rename some methods to be more .NET by @mattleibow in https://github.com/mono/SkiaSharp/pull/1255 - Null out the field when disposing. Fixes #960 by @mattleibow in https://github.com/mono/SkiaSharp/pull/1256 - No need to allocate on disposal by @mattleibow in https://github.com/mono/SkiaSharp/pull/1257 - Always reference netstandard by @mattleibow in https://github.com/mono/SkiaSharp/pull/1250 - Expose a generic, writable span for the pixels by @mattleibow in https://github.com/mono/SkiaSharp/pull/1242 - Use the correct URL for OpenJDK on Linux by @mattleibow in https://github.com/mono/SkiaSharp/pull/1245 - Fixed unit tests crashes and a WGL deadlock (#1228 for master) by @mattleibow in https://github.com/mono/SkiaSharp/pull/1237 - [Android.Views] Refresh the surface when recreated by @mattleibow in https://github.com/mono/SkiaSharp/pull/1234 ## Preview 60 · 1.68.2 · 2020-04-13 · https://github.com/mono/SkiaSharp/compare/v1.68.2-preview.50...v1.68.2-preview.60 (9 PRs) - Remove the [Preserve] attribute by @mattleibow in https://github.com/mono/SkiaSharp/pull/1229 - Make sure to not dispose system fonts by @mattleibow in https://github.com/mono/SkiaSharp/pull/1224 - Remove reflection usage for SKObject creation by @Gillibald in https://github.com/mono/SkiaSharp/pull/1209 [community ✨] - Link Code of Conduct by @terrajobst in https://github.com/mono/SkiaSharp/pull/1216 [community ✨] - Update cake to 0.37 by @mattleibow in https://github.com/mono/SkiaSharp/pull/1215 - Update expat native library to 2.2.9 by @mattleibow in https://github.com/mono/SkiaSharp/pull/1214 - Update SKTouchHandler.cs to fix crash bug caused by passing incorrect parameter, added pressure and eraser handling by @mscherotter in https://github.com/mono/SkiaSharp/pull/1212 [community ✨] - Release the skia objects when the view is unloaded by @mattleibow in https://github.com/mono/SkiaSharp/pull/1213 - Add a test for text align by @mattleibow in https://github.com/mono/SkiaSharp/pull/1207 ## Preview 50 · 1.68.2 · 2020-04-03 · https://github.com/mono/SkiaSharp/compare/v1.68.2-preview.45...v1.68.2-preview.50 (4 PRs) - Resolve some concurrency issues by @mattleibow in https://github.com/mono/SkiaSharp/pull/1200 - Fixing issue #1187 by @mattleibow in https://github.com/mono/SkiaSharp/pull/1206 - Added device type to touch events (touch, mouse, pen) by @mscherotter in https://github.com/mono/SkiaSharp/pull/1191 [community ✨] - The lang parameter is not used, so remove it. by @mattleibow in https://github.com/mono/SkiaSharp/pull/1190 ## Preview 45 · 1.68.2 · 2020-03-24 · https://github.com/mono/SkiaSharp/compare/v1.68.2-preview.43...v1.68.2-preview.45 (2 PRs) - Re-work views to avoid incorrect disposal by @mattleibow in https://github.com/mono/SkiaSharp/pull/1180 - Merge filter factory overloads now accept null arguments by @ziriax in https://github.com/mono/SkiaSharp/pull/1185 [community ✨] ## Preview 43 · 1.68.2 · 2020-03-15 · https://github.com/mono/SkiaSharp/compare/v1.68.2-preview.39...v1.68.2-preview.43 (3 PRs) - Add the expected overload for newer versions XF.Tizen by @mattleibow in https://github.com/mono/SkiaSharp/pull/1117 - Update all the build tools by @mattleibow in https://github.com/mono/SkiaSharp/pull/1175 - Use vcpkg to build ANGLE by @mattleibow in https://github.com/mono/SkiaSharp/pull/1158 ## Preview 39 · 1.68.2 · 2020-02-27 · https://github.com/mono/SkiaSharp/compare/v1.68.2-preview.29...v1.68.2-preview.39 (7 PRs) - A few changes and improvements by @mattleibow in https://github.com/mono/SkiaSharp/pull/1153 - Change paint encoding instead of throwing #1151 by @mattleibow in https://github.com/mono/SkiaSharp/pull/1152 - Make sure the view is still in the hierarchy by @mattleibow in https://github.com/mono/SkiaSharp/pull/1143 - Before drawing, MakeCurrent by @mattleibow in https://github.com/mono/SkiaSharp/pull/1141 - Add a WPF for .NET Core sample by @mattleibow in https://github.com/mono/SkiaSharp/pull/1140 - Queue the redraw. Fixes #1074 by @mattleibow in https://github.com/mono/SkiaSharp/pull/1135 - Prevent double load issue. Fixes #1118 by @mattleibow in https://github.com/mono/SkiaSharp/pull/1133 ## Preview 29 · 1.68.2 · 2020-02-06 · https://github.com/mono/SkiaSharp/compare/v1.68.2-preview.21...v1.68.2-preview.29 (6 PRs) - Added more from SKImage by @mattleibow in https://github.com/mono/SkiaSharp/pull/1126 - Added the rest of SKRegion members by @mattleibow in https://github.com/mono/SkiaSharp/pull/1125 - More Improvements by @mattleibow in https://github.com/mono/SkiaSharp/pull/1123 - Improve Generator & Structs by @mattleibow in https://github.com/mono/SkiaSharp/pull/1122 - Adding the SKColorF (with SKColorSpace) overloads by @mattleibow in https://github.com/mono/SkiaSharp/pull/1116 (skia: mono/skia#74) - Update the build for the new team by @mattleibow in https://github.com/mono/SkiaSharp/pull/1120 ## Preview 21 · 1.68.2 · 2020-01-19 · https://github.com/mono/SkiaSharp/compare/v1.68.2-preview.17...v1.68.2-preview.21 (3 PRs) - Update Xamarin.Forms to v4.2.0.910310 by @mattleibow in https://github.com/mono/SkiaSharp/pull/1109 - Make sure all things are listed in cgmanifest.json by @mattleibow in https://github.com/mono/SkiaSharp/pull/1103 - Fix issues with buffer samples #1087 by @mattleibow in https://github.com/mono/SkiaSharp/pull/1098 ## Preview 17 · 1.68.2 · 2020-01-10 · https://github.com/mono/SkiaSharp/compare/v1.68.1.1-preview.9...v1.68.2-preview.17 (15 PRs) - SKGLViewRenderer dispose corrections by @zbyszekpy in https://github.com/mono/SkiaSharp/pull/1095 [community ✨] - Add a few more members for SKCanvas by @mattleibow in https://github.com/mono/SkiaSharp/pull/1090 - [WIP] Add GTK views for Xamarin.Forms by @mattleibow in https://github.com/mono/SkiaSharp/pull/1089 (skia: mono/skia#72) - Fix broken antialiasing with UWP SKSwapChainPanel by @validvoid in https://github.com/mono/SkiaSharp/pull/1086 [community ✨] - Fix some issues with macOS SKGLView by @mattleibow in https://github.com/mono/SkiaSharp/pull/1083 - Multi-target SkiaSharp.Views.Windows.Forms by @mattleibow in https://github.com/mono/SkiaSharp/pull/1082 - WPF Mouse Wheel on Touch Event by @alexandrvslv in https://github.com/mono/SkiaSharp/pull/1079 [community ✨] - Update the OpenJDK and Tizen bits by @mattleibow in https://github.com/mono/SkiaSharp/pull/1015 - Add SKShader binding to create Improved Perlin noise by @mattleibow in https://github.com/mono/SkiaSharp/pull/1056 - Update to v1.68.2 by @mattleibow in https://github.com/mono/SkiaSharp/pull/1077 - Upgrade to VS2019 and .NET Core 3.0 by @mattleibow in https://github.com/mono/SkiaSharp/pull/1030 - Remove an unused argument of type TaskScheduler from AnimatedSampleBase by @bender2k14 in https://github.com/mono/SkiaSharp/pull/1063 [community ✨] - suffices to start the rotation matrix as the identity matrix by @bender2k14 in https://github.com/mono/SkiaSharp/pull/1062 [community ✨] - Don't go straight for the max samples by @mattleibow in https://github.com/mono/SkiaSharp/pull/1060 - Add the .targets file to buildTransitive by @mattleibow in https://github.com/mono/SkiaSharp/pull/1057 ## Preview 9 · 1.68.1.1 · 2019-12-10 · https://github.com/mono/SkiaSharp/compare/v1.68.1...v1.68.1.1-preview.9 (12 PRs) - Correctly decode images by @mattleibow in https://github.com/mono/SkiaSharp/pull/1055 - Improve the Docker samples by @mattleibow in https://github.com/mono/SkiaSharp/pull/1051 - Pulling in some changes from other places by @mattleibow in https://github.com/mono/SkiaSharp/pull/1054 - Improve native build process + add Nano Server by @mattleibow in https://github.com/mono/SkiaSharp/pull/1040 - Assemblies are required in platform ref folders by @mattleibow in https://github.com/mono/SkiaSharp/pull/1044 - Use a patch update for now as this is just fixes by @mattleibow in https://github.com/mono/SkiaSharp/pull/1045 - Update README.md by @mattleibow in https://github.com/mono/SkiaSharp/pull/1043 - TryRemove instances WeakReferences by @daltonks in https://github.com/mono/SkiaSharp/pull/1039 [community ✨] - Add Code Checks by @mattleibow in https://github.com/mono/SkiaSharp/pull/1038 - Fix issues with harfbuzz strings by @mattleibow in https://github.com/mono/SkiaSharp/pull/1034 - Cherry pick some fixes for buffer overflow bugs by @mattleibow in https://github.com/mono/SkiaSharp/pull/1037 - Use Docker to Build Linux & Update Versions to v1.68.2 by @mattleibow in https://github.com/mono/SkiaSharp/pull/1036 --> <!-- Generated: 2026-06-18T00:00:00Z by claude-sonnet-4.5 -->

Version 1.68.2

Stability, views, and touch improvements · Released April 30, 2020 · NuGet · GitHub Release

API changes · SkiaSharp API diff · HarfBuzzSharp 2.6.1.2

Highlights

Version 1.68.2 is a broad quality release for the 1.x line, bringing new APIs, better pixel access, improved touch input, and a long list of lifecycle and platform fixes across Android, macOS, UWP, Windows Forms, and Xamarin.Forms. It also ships with HarfBuzzSharp 2.6.1.2 for the matching text-binding updates.

Breaking Changes

None in this release.

New Features

API Surface

  • Core graphics expansion — Adds more SKImage, SKRegion, and SKCanvas members, plus SKColorF overloads with color-space support and improved Perlin noise shader creation. (#1126, #1125, #1090, #1116, #1056)
  • Writable pixel spans — Exposes a generic writable span over pixel memory to make low-level image manipulation easier and safer. (#1242)

Platform

  • View platform coverage — Adds GTK views for Xamarin.Forms, multi-targets Windows Forms views, and fills in expected Xamarin.Forms Tizen overloads. (#1089, #1082, #1117)
  • Touch input improvements — Adds device-type reporting for touch events along with pressure and eraser handling. ❤️ @mscherotter (#1191, #1212)

Bug Fixes

  • View lifecycle and disposal — Reworks disposal to avoid incorrect ownership transitions, releases Skia objects when views unload, and fixes Android surface recreation behavior. (#1180, #1213, #1234)
  • Platform-specific rendering fixes — Fixes UWP antialiasing, macOS SKGLView issues, redraw timing problems, and double-load scenarios. ❤️ @validvoid, @zbyszekpy, @alexandrvslv (#1086, #1095, #1083, #1135, #1133)
  • Memory and threading stability — Resolves concurrency issues, WGL deadlocks, unit test crashes, system-font disposal problems, and GC lifetime hazards around pixel buffers. ❤️ @Gillibald (#1200, #1237, #1224, #1258, #1209)
  • API correctness — Allows null merge-filter factory arguments, changes paint encoding behavior to avoid throwing, and removes unnecessary allocations during disposal. ❤️ @ziriax (#1185, #1152, #1257)

Community Contributors ❤️

ContributorWhat They Did
@GillibaldRemoved reflection from SKObject creation and helped harden object lifetime behavior
@mscherotterExpanded touch input with device type, pressure, and eraser support
@ziriaxImproved merge filter factory null handling
@validvoidFixed UWP antialiasing for SKSwapChainPanel
@zbyszekpyCorrected SKGLViewRenderer disposal
@alexandrvslvAdded WPF mouse wheel touch-event support

Unreleased

Final release prep focused on pixel-lifetime safety, .NET-friendly naming cleanup, and a last round of Android and WGL fixes.

Full Changelog


Preview 60 (April 13, 2020)

This preview tightened view and font lifetimes, improved touch pressure and eraser handling, and removed reflection from object creation.

Full Changelog


Preview 50 (April 3, 2020)

This preview resolved concurrency issues and added touch device-type reporting.

Full Changelog


Preview 45 (March 24, 2020)

This preview reworked view disposal and improved merge-filter factory null handling.

Full Changelog


Preview 43 (March 15, 2020)

This preview added the expected Xamarin.Forms Tizen overload and continued the platform bring-up work for ANGLE-backed rendering.

Full Changelog


Preview 39 (February 27, 2020)

This preview fixed redraw, hierarchy, and GL context issues while improving paint encoding behavior.

Full Changelog


Preview 29 (February 6, 2020)

This preview expanded the core API surface with new SKImage, SKRegion, and SKColorF capabilities.

Full Changelog


Preview 21 (January 19, 2020)

This preview stabilized buffer behavior and prepared the 1.68.2 line for the larger API wave that followed.

Full Changelog


Preview 17 (January 10, 2020)

This first 1.68.2 preview introduced improved GPU and text APIs, broader view-platform support, and several platform-specific fixes.

Full Changelog


Preview 9 (December 10, 2019)

This carried forward the 1.68.1.1 servicing work around decoding, packaging, native builds, and HarfBuzz string fixes.

Full Changelog