Version 2.80.3
Metal, runtime effects, WinUI, and .NET 5 support · Released July 12, 2021 · NuGet · GitHub Release
Highlights
A feature-packed release bringing Metal rendering APIs to Apple platforms, the new SKRuntimeEffect API for custom GPU shaders, WinUI 3 desktop support, macOS ARM64 (Apple Silicon) native builds, .NET 5.0 support, and .NET Interactive integration. This release also includes Exif SubIFD reading, SKPicture serialization, GRContextOptions, and improved musl system detection. Five community contributors helped shape this release.
Breaking Changes
None in this release.
New Features
GPU & Rendering
- Metal API support — Full Metal rendering backend for Apple platforms (iOS, macOS), bringing hardware-accelerated GPU rendering via Metal. (#1394, #1598, #1615)
SKRuntimeEffectAPI — New API for custom GPU shader effects using SkSL (Skia Shading Language). (#1604)GRContextOptions— ExposedGRContextOptionsfor fine-grained control over GPU context creation. (#1529)GRContext.IsAbandoned— Exposed theIsAbandonedproperty in the C# API. (#1659)- GL surface creation resilience — Better handling of GL surface creation failures. ❤️ @gmurray81 (#1642)
API Surface
SKPictureserialization — New bindings for serializing and deserializingSKPictureobjects. (#1514)- Exif SubIFD support — Added support for reading the Exif SubIFD from image metadata. (#1518)
- ANGLE
GRGlInterfaceoutside UWP — Allow creating ANGLE-basedGRGlInterfacefrom non-UWP environments. ❤️ @Mikolaytis (#1519) - Stream copy optimization — Eliminated unnecessary array allocations when copying streams. (#1510)
Platform
- macOS ARM64 (Apple Silicon) — Native ARM64 build target for macOS. (#1627)
- .NET 5.0 support — Updated to target .NET 5.0. (#1697)
- WinUI 3 Desktop support — New views and rendering support for WinUI 3 desktop applications. (#1696, #1741)
- Uno Platform
SKXamlCanvas— Support forSKXamlCanvason Uno Platform SkiaSharp backends v2.0. (#1704) - .NET Interactive support — SkiaSharp images can now be displayed directly in .NET Interactive notebooks. (#1710)
- Improved musl detection — Properly detect and handle musl-based Linux systems. (#1657)
- Multiple emscripten WASM builds — Includes all emscripten versions for WASM compatibility. (#1590)
Bug Fixes
SKMatrix.IsInvertiblecrash — Fixed a crash when callingIsInvertibleon certain matrices. (#1527)- Image pixel reading — Fixed incorrect image pixel reading. (#1636)
- iOS font loading — Fixed font loading issues on iOS. (#1539)
- Display link defensiveness — More defensive handling in display link callbacks. (#1620)
- Buffer swap after resize — Fixed buffer swap issues after surface resize. (#1668)
- WPF
SKElement.OnRender—SKElement.OnRendernow does nothing if there is noPresentationSource, preventing crashes. ❤️ @HarlanHugh (#1606)
Platform Support
| Platform | What's New |
|---|---|
| 🍎 Apple | Metal rendering, macOS ARM64 (Apple Silicon), iOS font loading fix |
| 🪟 Windows | WinUI 3 Desktop support |
| 🐧 Linux | Improved musl system detection |
| 🌐 WebAssembly | Multiple emscripten builds, Uno SKXamlCanvas |
Community Contributors ❤️
| Contributor | What They Did |
|---|---|
| @gmurray81 | Improved GL surface creation failure handling |
| @HarlanHugh | Fixed WPF SKElement.OnRender crash without PresentationSource |
| @Mikolaytis | Enabled ANGLE GRGlInterface creation outside UWP |
| @jeromelaban | Uno Platform documentation updates |
Links
Preview 93 (July 12, 2021)
Added SKXamlCanvas support for Uno Platform SkiaSharp backends v2.0.
Preview 90 (May 30, 2021)
Major preview with Metal APIs, SKRuntimeEffect, macOS ARM64, .NET 5.0, WinUI Desktop, .NET Interactive, and musl detection improvements.
Preview 40 (February 6, 2021)
Added Metal APIs, GRContextOptions, WPF rendering fix, and build improvements.
Preview 24 (January 27, 2021)
WASM emscripten builds and build system updates.
Preview 18 (November 10, 2020)
Initial preview with SKPicture serialization, Exif SubIFD support, ANGLE improvements, stream optimization, and SKMatrix.IsInvertible fix.