Skip to content

[inflight/candidate] Fix Resizetizer System.Memory compatibility for SVG filters and text - #39388

Merged
kubaflo merged 1 commit into
inflight/candidatefrom
kubaflo-sr12-release-readiness-2c8
Oct 14, 2026
Merged

kubaflo merged 1 commit into
inflight/candidatefrom
kubaflo-sr12-release-readiness-2c8

Conversation

@kubaflo

@kubaflo kubaflo commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

Note

Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!

Description of Change

Backport of #39342 from inflight/current to inflight/candidate for SR12. Explicit exception to the template's generic main-only guidance: the requested backport targets inflight/candidate.

Applies only the final merged source commit 61aaa8b2fbe6951ba5a7ebb22da65b49b8d4af38 relative to its single parent cc8e3495d1e67c9e84964d80671424c4fa9fa39b. Exactly three files, no unrelated dependencies or other backports, and no conflict resolution. The source and backport have identical stable patch ID 0df7c70d27f87549d83ef040c8e97d4fc80c9b90.

  • Align the bundled SkiaSharp, SkiaSharp.HarfBuzz and HarfBuzzSharp System.Memory references while retaining the net462 native loaders.
  • Package the adjusted copies without changing the original NuGet-cache assemblies.
  • Carry the existing six-case packaged regression test for Android/iOS SVG images, app icons and splash resources unchanged.

Validation on Candidate base e741040bbd9ed84f5ee9fadab207501e4fa0e0a2:

  • git diff --cached --check - passed before committing. Binary-inclusive source/backport stable patch IDs match.
  • dotnet /usr/local/share/dotnet/sdk/10.0.100/dotnet.dll build Microsoft.Maui.BuildTasks.slnf -p:BuildTaskOnlyBuild=true -v:q - passed, 0 errors; 3 Gradle Java 8 obsolescence warnings.
  • .dotnet/dotnet pack src/SingleProject/Resizetizer/src/Resizetizer.csproj --no-restore -c Debug -p:BuildTaskOnlyBuild=true -v:q - passed.
  • MAUI_PACKAGE_VERSION=10.0.120-dev .dotnet/dotnet test src/TestUtils/src/Microsoft.Maui.IntegrationTests/Microsoft.Maui.IntegrationTests.csproj --filter 'FullyQualifiedName~PackagedResizetizerRendersSvgFiltersAndText' --logger trx --results-directory artifacts/integration-tests/resizetizer-backport -v:q - passed, 6/6, 0 skipped.
  • Baseline control: with only the two production project-file changes removed, the same six packaged cases failed 6/6 with the intended MissingMethodException (SKTypeface.Clone), using a fresh isolated package cache. After restoring/repacking the backport, the same test command with --no-restore passed 6/6 again with another fresh cache. The tests remain unchanged in every arm.
  • dotnet /usr/local/share/dotnet/sdk/10.0.100/dotnet.dll test src/SingleProject/Resizetizer/test/UnitTests/Resizetizer.UnitTests.csproj -v:q - 573 passed, 20 failed, 2 skipped. The original Candidate control, using the same command plus --no-restore --logger trx --results-directory artifacts/tests/resizetizer-original-candidate, produced the exact same 20 failing SkiaSharpAppIconToolsTests.Resize.BasicTest cases and the same counts. These failures are not introduced by this backport.
  • .dotnet/dotnet format Microsoft.Maui.sln --no-restore --exclude Templates/src --exclude-diagnostics CA1822 --include src/TestUtils/src/Microsoft.Maui.IntegrationTests/ResizetizerTests.cs --verify-no-changes -v:q - passed.

The integration runner initially stopped because the repo-local SDK was absent. Provisioned only that SDK via dotnet /usr/local/share/dotnet/sdk/10.0.100/dotnet.dll build src/DotNet/DotNet.csproj '-t:_DownloadDotNetInstallScript;_InstallDotNet' -p:InstallWorkloadPacks=false -v:q (passed), then used the integration skill's manual test path with the actual locally packed 10.0.120-dev package. No tracked SDK/workload pins were changed. Build/test processes ran without GitHub/Copilot token environment variables.

Windows full-framework MSBuild validation remains for CI; no device, Mac Catalyst, XCTest or host UI automation was run. CI is pending, not claimed green.

Issues Fixed

Fixes #38319

Backport of #39342.

Backport of #39342 for #38319. Preserve the exact final three-file source delta, including packaged SVG regression coverage.

(cherry picked from commit 61aaa8b)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@kubaflo
kubaflo temporarily deployed to copilot-pat-pool October 14, 2026 16:10 — with GitHub Actions Inactive
@kubaflo
kubaflo temporarily deployed to copilot-pat-pool October 14, 2026 16:10 — with GitHub Actions Inactive
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

@kubaflo
kubaflo temporarily deployed to copilot-pat-pool October 14, 2026 16:11 — with GitHub Actions Inactive
@kubaflo
kubaflo merged commit aed9ea1 into inflight/candidate Oct 14, 2026
6 of 15 checks passed
@kubaflo
kubaflo deleted the kubaflo-sr12-release-readiness-2c8 branch October 14, 2026 16:12
@kubaflo
kubaflo temporarily deployed to copilot-pat-pool October 14, 2026 16:13 — with GitHub Actions Inactive
@github-actions github-actions Bot added this to the .NET 10 SR12 milestone Oct 14, 2026
@kubaflo
kubaflo temporarily deployed to copilot-pat-pool October 14, 2026 16:14 — with GitHub Actions Inactive
@kubaflo
kubaflo temporarily deployed to copilot-pat-pool October 14, 2026 16:15 — with GitHub Actions Inactive
kubaflo added a commit that referenced this pull request Oct 18, 2026
…SVG filters and text (#39388)

<!-- Please let the below note in for people that find this PR -->
> [!NOTE]
> Are you waiting for the changes in this PR to be merged?
> It would be very helpful if you could [test the resulting
artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
Thank you!

<!--
!!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING
MAIN. !!!!!!!
-->

### Description of Change

<!-- Enter description of the fix in this section -->

Backport of #39342 from `inflight/current` to `inflight/candidate` for
SR12. **Explicit exception to the template's generic main-only guidance:
the requested backport targets `inflight/candidate`.**

Applies only the final merged source commit
`61aaa8b2fbe6951ba5a7ebb22da65b49b8d4af38` relative to its single parent
`cc8e3495d1e67c9e84964d80671424c4fa9fa39b`. Exactly three files, no
unrelated dependencies or other backports, and no conflict resolution.
The source and backport have identical stable patch ID
`0df7c70d27f87549d83ef040c8e97d4fc80c9b90`.

- Align the bundled SkiaSharp, SkiaSharp.HarfBuzz and HarfBuzzSharp
System.Memory references while retaining the net462 native loaders.
- Package the adjusted copies without changing the original NuGet-cache
assemblies.
- Carry the existing six-case packaged regression test for Android/iOS
SVG images, app icons and splash resources unchanged.

**Validation on Candidate base
`e741040bbd9ed84f5ee9fadab207501e4fa0e0a2`:**

- `git diff --cached --check` - passed before committing.
Binary-inclusive source/backport stable patch IDs match.
- `dotnet /usr/local/share/dotnet/sdk/10.0.100/dotnet.dll build
Microsoft.Maui.BuildTasks.slnf -p:BuildTaskOnlyBuild=true -v:q` -
passed, 0 errors; 3 Gradle Java 8 obsolescence warnings.
- `.dotnet/dotnet pack
src/SingleProject/Resizetizer/src/Resizetizer.csproj --no-restore -c
Debug -p:BuildTaskOnlyBuild=true -v:q` - passed.
- `MAUI_PACKAGE_VERSION=10.0.120-dev .dotnet/dotnet test
src/TestUtils/src/Microsoft.Maui.IntegrationTests/Microsoft.Maui.IntegrationTests.csproj
--filter
'FullyQualifiedName~PackagedResizetizerRendersSvgFiltersAndText'
--logger trx --results-directory
artifacts/integration-tests/resizetizer-backport -v:q` - passed, 6/6, 0
skipped.
- Baseline control: with only the two production project-file changes
removed, the same six packaged cases failed 6/6 with the intended
`MissingMethodException` (`SKTypeface.Clone`), using a fresh isolated
package cache. After restoring/repacking the backport, the same test
command with `--no-restore` passed 6/6 again with another fresh cache.
The tests remain unchanged in every arm.
- `dotnet /usr/local/share/dotnet/sdk/10.0.100/dotnet.dll test
src/SingleProject/Resizetizer/test/UnitTests/Resizetizer.UnitTests.csproj
-v:q` - 573 passed, 20 failed, 2 skipped. The original Candidate
control, using the same command plus `--no-restore --logger trx
--results-directory artifacts/tests/resizetizer-original-candidate`,
produced the exact same 20 failing
`SkiaSharpAppIconToolsTests.Resize.BasicTest` cases and the same counts.
These failures are not introduced by this backport.
- `.dotnet/dotnet format Microsoft.Maui.sln --no-restore --exclude
Templates/src --exclude-diagnostics CA1822 --include
src/TestUtils/src/Microsoft.Maui.IntegrationTests/ResizetizerTests.cs
--verify-no-changes -v:q` - passed.

The integration runner initially stopped because the repo-local SDK was
absent. Provisioned only that SDK via `dotnet
/usr/local/share/dotnet/sdk/10.0.100/dotnet.dll build
src/DotNet/DotNet.csproj
'-t:_DownloadDotNetInstallScript;_InstallDotNet'
-p:InstallWorkloadPacks=false -v:q` (passed), then used the integration
skill's manual test path with the actual locally packed `10.0.120-dev`
package. No tracked SDK/workload pins were changed. Build/test processes
ran without GitHub/Copilot token environment variables.

Windows full-framework MSBuild validation remains for CI; no device, Mac
Catalyst, XCTest or host UI automation was run. CI is pending, not
claimed green.

### Issues Fixed

<!-- Please make sure that there is a bug logged for the issue being
fixed. The bug should describe the problem and how to reproduce it. -->

Fixes #38319

Backport of #39342.

<!--
Are you targeting main? All PRs should target the main branch unless
otherwise noted.
-->

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This branch was previously deployed

1 inactive deployment
copilot-pat-pool — 1b773f8d Deployed Oct 14, 2026 by kubaflo via conclusion #2353
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant