Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 55 additions & 8 deletions documentation/docfx/releases/4.147.0-unreleased.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,85 @@
AI uses this data to generate the polished release notes below.
Re-run the script to refresh this data from git history.

Generated: 2026-05-24T21:32:44Z by generate-release-notes.py
Generated: 2026-06-10T22:14:46Z by generate-release-notes.py
version: 4.147.0
status: unreleased
branch: main
diff: release/4.147.0-preview.3..main
prs: 5
prs: 26

- Rework the lifecycle of singleton instances by @ramezgerges in https://github.com/mono/SkiaSharp/pull/4080 [community ✨] (29 commits, 8 days)
- Promote SKPaint text/font obsolete members to error by @ramezgerges in https://github.com/mono/SkiaSharp/pull/4068 [community ✨] (7 commits, 4 days)
- Update expat to 2.8.1 by @mattleibow in https://github.com/mono/SkiaSharp/pull/4079 (1 commit, 1 day) (skia: mono/skia#245)
- [skia-sync] Merge upstream chrome/m147 bug fixes by @mattleibow in https://github.com/mono/SkiaSharp/pull/4081 (2 commits, 2 days)
- Migrate device and WASM tests from XHarness to DeviceRunners `dotnet test` by @mattleibow in https://github.com/mono/SkiaSharp/pull/4004 (23 commits, 8 days)
- feat(ci-status): add GitHub Actions tracking and restructure as collect → AI → render pipeline by @mattleibow in https://github.com/mono/SkiaSharp/pull/4099 (8 commits, 2 days)
- Add Chrome Releases blog integration to security-audit skill by @mattleibow in https://github.com/mono/SkiaSharp/pull/4097 (18 commits, 1 day)
- Fix WinUI Projection DLL not found for .NET 9 consumers by @mattleibow in https://github.com/mono/SkiaSharp/pull/4084 (1 commit, 1 day)
- Add ci-status skill for daily CI health dashboard by @mattleibow in https://github.com/mono/SkiaSharp/pull/4094 (7 commits, 2 days)
- Revert "Add --pull to Docker builds to ensure fresh base images (#4087)" by @mattleibow in https://github.com/mono/SkiaSharp/pull/4091 (1 commit, 1 day)
- Move .NET SDK install to common section for all builds by @mattleibow in https://github.com/mono/SkiaSharp/pull/4089 (1 commit, 1 day)
- Add --pull to Docker builds to ensure fresh base images by @mattleibow in https://github.com/mono/SkiaSharp/pull/4087 (1 commit, 1 day)
- Migrate Linux Docker builds to .NET official cross-compilation images by @mattleibow in https://github.com/mono/SkiaSharp/pull/4062 (49 commits, 3 days)
- Add es-metadata.yml to cache exclude list by @mattleibow in https://github.com/mono/SkiaSharp/pull/4077 (1 commit, 1 day)
- Add es-metadata.yml with initial configuration by @mattleibow in https://github.com/mono/SkiaSharp/pull/4075 (1 commit, 1 day)
- docs: force-push docs-live to prevent repo size bloat by @mattleibow in https://github.com/mono/SkiaSharp/pull/4073 (1 commit, 1 day)
- [skia-sync] Merge upstream chrome/m147 bug fixes by @mattleibow in https://github.com/mono/SkiaSharp/pull/4044 (1 commit, 1 day) (skia: mono/skia#242)
- Improve security-audit skill: schema enforcement, CG reliability, and report quality by @mattleibow in https://github.com/mono/SkiaSharp/pull/4070 (5 commits, 1 day)
- Update .NET SDK version to 10.0.108 by @mattleibow in https://github.com/mono/SkiaSharp/pull/4055 (3 commits, 2 days)
- Update skia submodule to disable unused dependency manifests by @mattleibow in https://github.com/mono/SkiaSharp/pull/4054 (1 commit, 1 day) (skia: mono/skia#243)
- Update release notes for 4.147.0 (unreleased/main) by @github-actions[bot] in https://github.com/mono/SkiaSharp/pull/4061 [community ✨] (1 commit, 1 day)
- [Security] Add Component Governance alert integration to security-audit skill by @mattleibow in https://github.com/mono/SkiaSharp/pull/4058 (30 commits, 2 days)
- Fix release notes workflow to always checkout main by @mattleibow in https://github.com/mono/SkiaSharp/pull/4059 (2 commits, 1 day)
- [docs] Update release notes for 4.147.0 (preview.3) by @mattleibow in https://github.com/mono/SkiaSharp/pull/4057 (3 commits, 1 day)
- Update harfbuzz to 14.2.0 by @mattleibow in https://github.com/mono/SkiaSharp/pull/4035 (1 commit, 1 day) (skia: mono/skia#241)
- Document ADO pipeline chain tracking in release skills by @mattleibow in https://github.com/mono/SkiaSharp/pull/4050 (9 commits, 2 days)
-->

<!-- Generated: 2026-05-24T21:34:00Z by claude-sonnet-4.6 -->
<!-- Generated: 2026-06-10T22:14:46Z by claude-sonnet-4.6 -->

# Version 4.147.0

> **Upcoming release** · In development · Not yet available on NuGet

## Highlights

This release updates the HarfBuzz text-shaping engine to version 14.2.0, bringing the latest upstream improvements to text layout across all platforms.
This release brings two significant API improvements from community contributor [@ramezgerges](https://github.com/ramezgerges): a reworked singleton instance lifecycle that improves reliability of long-lived objects, and the promotion of deprecated `SKPaint` text/font members to compile errors to enforce migration to the modern font API. The Skia engine also receives upstream Chrome m147 bug fixes, a security update for expat, and a HarfBuzz bump.

## Breaking Changes

*None in this release.*
- **`SKPaint` text/font obsolete members now errors** — Members previously marked `[Obsolete]` for text and font handling are promoted to compile errors, requiring migration to the dedicated `SKFont` API. ❤️ [@ramezgerges](https://github.com/ramezgerges) ([#4068](https://github.com/mono/SkiaSharp/pull/4068))

## New Features

### Text & Fonts
### API Surface

- **HarfBuzz 14.2.0** — Updates the bundled HarfBuzz library from the previous version to 14.2.0, picking up upstream bug fixes and shaping improvements. ([#4035](https://github.com/mono/SkiaSharp/pull/4035))
- **Reworked singleton instance lifecycle** — Overhauls how singleton instances (such as `SKTypeface.Default` and similar cached objects) are created, tracked, and disposed, improving reliability in long-lived applications and preventing subtle use-after-dispose issues. ❤️ [@ramezgerges](https://github.com/ramezgerges) ([#4080](https://github.com/mono/SkiaSharp/pull/4080))

Plus several CI and documentation improvements.
### Engine

- **Upstream Skia m147 bug fixes (×2)** — Two rounds of upstream Chrome m147 Skia bug fixes merged in, keeping the engine current with Google's latest patches. ([#4044](https://github.com/mono/SkiaSharp/pull/4044), [#4081](https://github.com/mono/SkiaSharp/pull/4081))
- **Disabled unused Skia dependency manifests** — Trims unnecessary build-time dependency declarations from the Skia submodule, reducing build noise. ([#4054](https://github.com/mono/SkiaSharp/pull/4054))

## Bug Fixes

- **WinUI Projection DLL not found on .NET 9** — Resolves a `DllNotFoundException` for the WinUI projection DLL when consuming SkiaSharp in .NET 9 WinUI applications. ([#4084](https://github.com/mono/SkiaSharp/pull/4084))

## Security

- **expat updated to 2.8.1** — Bumps the bundled expat XML library to 2.8.1, picking up upstream security and bug fixes. ([#4079](https://github.com/mono/SkiaSharp/pull/4079))
- **HarfBuzz updated to 14.2.0** — Bumps the bundled HarfBuzz text shaping library to 14.2.0. ([#4035](https://github.com/mono/SkiaSharp/pull/4035))

## Platform Support

| Platform | What's New |
|----------|-----------|
| 🪟 Windows | WinUI Projection DLL fix for .NET 9 |
| 🐧 Linux | Migrated to official .NET cross-compilation Docker images |
| 🌐 WebAssembly | Migrated device and WASM tests to DeviceRunners `dotnet test` |

## Community Contributors ❤️

| Contributor | What They Did |
|-------------|--------------|
| [@ramezgerges](https://github.com/ramezgerges) | Reworked singleton instance lifecycle; promoted `SKPaint` text/font obsoletes to errors |