Update Magick.NET-Q8-AnyCPU from 13.5.0 to 14.10.4#34455
Merged
mattleibow merged 7 commits intomainfrom Mar 18, 2026
Merged
Conversation
Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
Member
|
/azp run maui-pr-uitests, maui-pr-devicetests |
PureWeen
previously approved these changes
Mar 12, 2026
|
Azure Pipelines successfully started running 2 pipeline(s). |
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 34455Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 34455" |
…Magick.NET v14 Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
Member
|
/azp run maui-pr-devicetests |
Member
|
/azp run maui-pr-uitests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
1 similar comment
|
Azure Pipelines successfully started running 1 pipeline(s). |
3 tasks
This was referenced Mar 13, 2026
…s class In Magick.NET v14, the Drawables class moved from ImageMagick to ImageMagick.Drawing namespace, causing CS0246 build error at UITest.cs line 673. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Member
|
/azp run maui-pr |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the ImageMagick (Magick.NET) dependency used by MAUI’s visual test utilities and adjusts call sites to match updated Magick.NET APIs/types, primarily around image comparison and geometry/size handling.
Changes:
- Bump
Magick.NET-Q8-AnyCPUfrom13.5.0to14.10.4in the Magick-based visual test utility project. - Update Magick.NET API usages for image diff generation and cropping/page reset behavior.
- Adjust width/height handling to match updated Magick.NET
uint-based APIs (casts added in comparer/editor and Mac UI test screenshot masking).
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/TestUtils/src/VisualTestUtils.MagickNet/VisualTestUtils.MagickNet.csproj | Updates Magick.NET package version to a newer major release. |
| src/TestUtils/src/VisualTestUtils.MagickNet/MagickNetVisualDiffGenerator.cs | Switches to newer Compare(..., out ...) overload to generate diff image. |
| src/TestUtils/src/VisualTestUtils.MagickNet/MagickNetVisualComparer.cs | Adapts size comparison to updated Magick.NET width/height types via casts. |
| src/TestUtils/src/VisualTestUtils.MagickNet/MagickNetImageEditor.cs | Updates crop geometry construction and replaces RePage() with ResetPage(), plus size casts. |
| src/Controls/tests/TestCases.Shared.Tests/UITest.cs | Updates Magick image construction to use uint dimensions and adds required namespace import. |
src/TestUtils/src/VisualTestUtils.MagickNet/MagickNetVisualDiffGenerator.cs
Outdated
Show resolved
Hide resolved
src/TestUtils/src/VisualTestUtils.MagickNet/MagickNetVisualComparer.cs
Outdated
Show resolved
Hide resolved
- Add using var to MagickImage instances in MagickNetVisualDiffGenerator and MagickNetVisualComparer to prevent unmanaged memory leaks - Add ArgumentOutOfRangeException guards before uint casts in MagickNetImageEditor.Crop for negative width/height - Add early return guard in UITest.TakeScreenshot for invalid window bounds before uint cast Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
455b3c3 to
110564f
Compare
Member
|
/azp run maui-pr-devicetests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
1 similar comment
|
Azure Pipelines successfully started running 1 pipeline(s). |
Member
|
/azp run maui-pr-devicetests |
Member
|
/azp run maui-pr-uitests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
1 similar comment
|
Azure Pipelines successfully started running 1 pipeline(s). |
This was referenced Mar 18, 2026
Open
In Magick.NET v14, ErrorMetric.Fuzz changed its calculation and now reports much higher distortion values for the same images (e.g. 8.1% vs 0.25% in v13). ErrorMetric.RootMeanSquared in v14 produces the exact same values as v13's Fuzz, preserving existing comparison behavior and thresholds. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines successfully started running 1 pipeline(s). |
1 similar comment
|
Azure Pipelines successfully started running 1 pipeline(s). |
This was referenced Mar 19, 2026
KarthikRajaKalaimani
pushed a commit
to KarthikRajaKalaimani/maui
that referenced
this pull request
Mar 30, 2026
Update Magick.NET-Q8-AnyCPU from 13.5.0 to 14.10.4 with all breaking API changes resolved: - MagickGeometry/MagickImage constructors now take uint for dimensions - RePage() renamed to ResetPage() - Width/Height changed from int to uint - Compare() return type changed to IMagickImage<byte> - Drawables class moved to ImageMagick.Drawing namespace - ErrorMetric.Fuzz behavior changed; using RootMeanSquared to preserve existing comparison thresholds (see dotnet#34524 for follow-up) Also adds using var for MagickImage disposal and guards against negative dimensions before uint casts. Note: ErrorMetric.Fuzz in v14 is significantly more sensitive than v13 and detects real screenshot drift that was previously invisible. A follow-up issue (dotnet#34524) tracks switching back to Fuzz with regenerated baselines. Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com> Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
Updates the
Magick.NET-Q8-AnyCPUNuGet package from 13.5.0 to 14.10.4 and fixes all breaking API changes introduced in the major version bump.Changes
Package Update
Magick.NET-Q8-AnyCPU13.5.0 → 14.10.4 inVisualTestUtils.MagickNet.csprojBreaking API Fixes
MagickNetImageEditor.csRePage()→ResetPage()MagickNetImageEditor.csWidth/Heighttointinttouintin v14MagickNetVisualComparer.csWidth/Heighttointinttouintin v14MagickNetVisualDiffGenerator.csCompare()call signatureIMagickImage<byte>in v14MagickNetImageEditor.csMagickGeometryconstructor takesuintuintin v14UITest.csMagickImageconstructor takesuintuintin v14UITest.csusing ImageMagick.Drawing;Drawablesclass moved fromImageMagicktoImageMagick.Drawingnamespace in v14