From 3d6e21b4ce10952211688081a8879e3e8e730d48 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 10 Jun 2026 22:18:00 +0000 Subject: [PATCH] Update release notes for 4.147.0 (unreleased/main) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../docfx/releases/4.147.0-unreleased.md | 63 ++++++++++++++++--- 1 file changed, 55 insertions(+), 8 deletions(-) diff --git a/documentation/docfx/releases/4.147.0-unreleased.md b/documentation/docfx/releases/4.147.0-unreleased.md index 67a1815bc67..e5a4f5f7706 100644 --- a/documentation/docfx/releases/4.147.0-unreleased.md +++ b/documentation/docfx/releases/4.147.0-unreleased.md @@ -3,13 +3,34 @@ 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) @@ -17,7 +38,7 @@ - Document ADO pipeline chain tracking in release skills by @mattleibow in https://github.com/mono/SkiaSharp/pull/4050 (9 commits, 2 days) --> - + # Version 4.147.0 @@ -25,16 +46,42 @@ ## 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 |