Commit Graph

3 Commits

Author SHA1 Message Date
MazenMkhinini
960864fd70 chore(plugin-catalog): pin image-utils to the three-platform commit
2cc23a9 -> c4123fbdb315137b40e4c5b4b5fd3eb2298dae66. The pinned commit runs its suite on ubuntu-latest, macos-latest and
windows-latest (actions/runs/35520540211, all green), so windows is declared in platforms instead of
being excluded without explanation, and the README now gives the manual install route that Windows
needs because install.sh is a POSIX shell script.

What CI found and fixed on the way to that green run, all of it reaching the plugin only through this
branch: an in-place overwrite of a multi-frame image failed on Windows because the input's read handle
(and the mapping Pillow uses for single-strip BMP/TIFF/PNG/P) was still open at the rename; a
read-only target is refused by Windows even with the mode restored afterwards, so the attribute is
cleared for the rename and put back either way; WinError 5/32 from an external holder is retried
briefly; release/rename/chmod hold the plugin's guard lock; and converting a JPEG with EXIF
orientation 5-8 to TIFF no longer fails its own verification (Pillow's TIFF reader applies the tag,
so the file legitimately reads back transposed).

Diff adopted: 5 commits, tools.py +158/-23, tests +366, README +5, 135 tests (134 + 1 platform skip
on Windows).
2026-09-20 10:27:04 -07:00
MazenMkhinini
9bf24e4e4d chore(plugin-catalog): bump image-utils pin to the CI-tested commit
b1eb2585 -> 2cc23a99a6df9238b25cd5dc118946563afb1bd9. The new commit adds a linux/macOS/Windows test matrix and the two platform
guards it needed, so the pinned code is now tested on every platform the entry claims plus Windows.

Diff being adopted: .github/workflows/tests.yml (new), tests/test_image_utils.py and
tests/test_competition_fixes.py (platform guards only). No plugin behaviour changes.
2026-09-20 10:27:04 -07:00
MazenMkhinini
e2978d0a81 feat(plugin-catalog): add image-utils 2026-09-20 10:27:04 -07:00