Version 4.150.0
Skia m150 and new filters · Released July 7, 2026 · NuGet · GitHub Release
API changes · SkiaSharp API diff · HarfBuzzSharp API diff
Highlights
SkiaSharp 4.150.0 updates to Skia m150 and expands filtering, culling, and overdraw diagnostics. It adds paint bounds for quick-reject culling, crop and empty image filters, and overdraw visualization. Rendering gains faster small-sigma raster blurs and cheaper repeated SKSurface.Canvas access, while HarfBuzzSharp moves to 14.2.1. This line also completes several planned v4 API removals.
Breaking Changes
- Pre-v4 obsolete APIs now produce compile errors — Legacy GRBackendRenderTarget constructors, run-buffer span methods, SKPaintHinting, and SKFilterQuality are now error-obsolete; migrate to the constructors without sampleCount, the Glyphs or Positions properties, SKFontHinting, and SKSamplingOptions. (#4195)
- .NET Interactive integration is no longer shipped — The deprecated SkiaSharp.DotNet.Interactive extension is removed from the SkiaSharp NuGet package. Consumers of Polyglot Notebooks must replace that integration or remain on an earlier package. (#4186)
Engine
- Skia advances to milestone 150 — The bundled engine moves from m148 to m150, retaining PDF support on Tizen and updating the native toolchains needed by Windows and WASM. (#4146)
- HarfBuzz updates to 14.2.1 — Text shaping gains upstream AAT, Arabic fallback, COLR v1, glyph-extents, subsetting, and script-tag fixes, with package and native versions aligned to the bundled binary. (#4167, #4214)
API Surface
- Paint bounds support quick-reject culling — SKPaint.GetFastBounds returns a conservative device-space rectangle after path effects, strokes, mask filters, and image filters are applied. (#4271)
- Image filter composition expands — SKImageFilter.CreateCrop constrains filter output by rectangle and tile mode, while CreateEmpty provides an explicit transparent-black node. (#4229, #4228)
- Overdraw data becomes visible — SKColorFilter.CreateOverdraw maps SKOverdrawCanvas counts to a six-color heat map for rendering diagnostics. (#4227)
Bug Fixes
- CPU blurs recover their fast path — Small-sigma raster blurs use the dedicated box-approximation path instead of the slower raster-pipeline implementation. — ❤️ @ramezgerges (#4269)
- Apple typeface stream access is synchronized — The bundled m150 fixes protect shared CoreText typeface streams from concurrent reads and writes. (#4190)
Lifecycle & Internals
- SKSurface reuses its Canvas wrapper — Repeated SKSurface.Canvas access now returns a cached managed wrapper and recreates it only after explicit disposal. — ❤️ @ramezgerges (#4247)
HarfBuzzSharp 14.2.1
Updates the bundled HarfBuzz and HarfBuzzSharp release from 14.2.0 to 14.2.1, including shaping, color-font, glyph-extents, and subsetting fixes.
Community Contributors ❤️
Thank you to everyone who contributed to this release!
| Contributor | Contributions |
|---|---|
| @ramezgerges | V4 API cleanup, faster small-sigma raster blurs, and SKSurface.Canvas wrapper caching (#4195, #4247, #4269) |
Stable (July 7, 2026)
Finalizes the 4.150.0 release line without additional product changes after the release candidate.
Release Candidate 1 (June 29, 2026)
Adds SKPaint.GetFastBounds for quick-reject culling, SKColorFilter.CreateOverdraw for heat-map diagnostics, and crop and empty image filter factories. Restores the faster path for small-sigma CPU blurs and caches the SKSurface.Canvas wrapper across repeated access. Also incorporates an m150 fix for concurrent Apple typeface stream access. (#4271, #4269, #4247, #4227, #4229, #4228, #4190)
Preview 2 (June 24, 2026)
Completes the planned v4 deprecation pass by making legacy GRBackendRenderTarget constructors, run-buffer span methods, SKPaintHinting, and SKFilterQuality compile errors with documented replacements. Removes the deprecated .NET Interactive extension from the SkiaSharp package. Updates bundled HarfBuzz and HarfBuzzSharp versioning to 14.2.1, bringing AAT, Arabic fallback, COLR v1, glyph-extents, and subsetting fixes. (#4195, #4186, #4167, #4214)
Preview 1 (June 13, 2026)
Updates the bundled Skia engine from milestone 148 to milestone 150. The update preserves Tizen PDF support through a C++17 backport and accommodates newer native requirements across Windows, WASM, and Direct3D builds. It also advances the SkiaSharp native and managed version line to 4.150.0 while retaining the existing operating-system support floors. (#4146)