Skip to content

Swap ImageSharp to ImageMagick - #1578

Open
mcmonkey4eva wants to merge 1 commit into
masterfrom
magick-swap
Open

mcmonkey4eva wants to merge 1 commit into
masterfrom
magick-swap

Conversation

@mcmonkey4eva

Copy link
Copy Markdown
Member

because imagesharp's last few updates have been record breakingly stupid so we're gonna just not f wit dat (we pretty much fully just can't use it courtesy of sixlabors having brain damage or something)

This PR is a preview of the change so extension developers can check against it before merge

Bulk of this change was written by GPT-6.1 Sol, but I ended up rewriting several chunks of it because even Sol is still kinda dumb

because imagesharp's last few updates have been record breakingly stupid so we're gonna just not f wit dat
Reaper176 added a commit to Reaper176/SwarmUI-experimental that referenced this pull request Oct 22, 2026
Integrate mcmonkey4eva's upstream ImageSharp replacement from
mcmonkeyprojects/SwarmUI PR mcmonkeyprojects#1578, commit
d951a39, preserving fork history and
filename-reservation behavior. Pin Magick.NET-Q16-AnyCPU 15.0.0 instead
of 14.16.0 and remove ImageSharp/Drawing without a license key.

Port Classic Inpaint and package MagicPrompt/WhatTheDuck compatibility
patches. Preserve ICC and Unicode EXIF, repair cloned-image WebP alpha
writes, restrict decoding to raster codecs, and reject unsupported APNG
instead of silently dropping frames. Supply native-compatible TTF fonts
with original licenses, source, and reproducible conversion instructions.

Validation: 127 NUnit tests and 25 extension image checks pass; both
complete external extension source trees compile against the new core.
Direct/transitive NuGet audit is clean. Document the two newer native
conditional advisories and their absent prerequisites in this setup.
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