Version 4.151.0
Skia m151 with managed perf wins · Released July 30, 2026 · NuGet · GitHub Release
API changes · SkiaSharp API diff · HarfBuzzSharp API diff
Highlights
SkiaSharp 4.151.0 updates to Skia m151 and ports several hot P/Invoke paths to managed code. Color and premultiply conversions, HarfBuzz buffer encoding, and tag parsing all move off native round-trips for lower overhead. It also fixes a native resource leak and a CPU raster regression.
Breaking Changes
None in this release.
Engine
- Skia updated to milestone m151 — Brings the bundled Skia engine up to the m151 upstream release line, plus the ongoing chrome/m151 bug-fix merges throughout the preview cycle. (#4294, #4312, #4382, #4443, #4489)
API Surface
- Span overloads for hex color parsing — SKColor hex parsing is optimized and gains ReadOnlySpan
overloads for allocation-free parsing. (#4345)
Bug Fixes
- Native resource leak in SKImage fixed — Fixes a native resource leak in SKImage.FromEncodedData(SKData, SKRectI). (#3997)
- CPU raster regression fixed — Restores SK_ENABLE_LEGACY_SHADERCONTEXT to fix a CPU raster rendering regression introduced by the engine update. (#4428)
Lifecycle & Internals
- Hot paths ported to managed code — SKColor-to-SKColorF conversion, single-value SKPMColor premultiply/unpremultiply, HarfBuzzSharp.Buffer.AddUtf8, HarfBuzzSharp.Tag.Parse, SKFourByteTag.Parse, and SKShaper glyph reads now avoid P/Invoke round-trips and per-call allocations. (#4370, #4385, #4376, #4408, #4396, #4388)
Platform
- WASM Emscripten 5.0.6 support for .NET 11 — Adds Emscripten 5.0.6 static libraries built with the new exnref exception handling required by .NET 11. — ❤️ @ramezgerges (#4459, #4487)
HarfBuzzSharp 14.2.1
Makes Buffer.AddUtf8(string) allocation-free with a pooled UTF-8 encode and removes a per-call allocation from Tag.Parse.
Community Contributors ❤️
Thank you to everyone who contributed to this release!
| Contributor | Contributions |
|---|---|
| @ramezgerges | Added Emscripten 5.0.6 WASM support for .NET 11 and bumped the Skia submodule to drop the SK_BUILD_FOR_WASM redefinition. (#3788, #4340, #4459) |
Release Candidate 1 (July 21, 2026)
Release Candidate 1 fixed the SKImage native resource leak and the CPU raster regression ahead of the stable release.
Preview 2 (July 14, 2026)
Preview 2 added the managed performance ports for color conversion, HarfBuzz buffer encoding, and tag parsing.
Preview 1 (July 2, 2026)
Preview 1 updated Skia to milestone m151 and began the WASM Emscripten 5.0.6 work.