Replace the custom zlib deflate stack with `System.IO.Compression.ZLibStream`, and add `ChunkedWriteStream` to keep PNG/TIFF/EXR output framed in fixed-size segments. Update the affected compressors and tests to match the new streaming path.
Use tile width (instead of full image width) when creating T4/T6/Modified Huffman decompressors for tiled TIFF decoding, preventing row-size mismatches and false overrun failures. Also standardize the CCITT overrun error message and add regression coverage for both strip-based and tiled reporter samples that must throw when decoded pixels exceed image width.
Adds explicit bounds checks before writing decoded CCITT runs in both T4 and Modified Huffman TIFF decompressors, preventing oversized runs from writing past the current row. Error messages were also standardized/capitalized for CCITT parsing failures. Includes new regression tests using compressed TIFF PoCs to verify decoding now throws ImageFormatException with the expected width-overrun message.
Fixes EXIF serialization when `ExifLong8Array` downgrades to `ExifDataType.Long` but still stores values as `ulong`. `ExifWriter.WriteValue` now handles `ulong` inputs in the `Long` branch by writing 32-bit values, and a BigTIFF metadata test verifies mixed in-range values are written correctly as two little-endian `uint`s.
Update TIFF metadata creation to build ImageMetadata after IFD tag processing and copy root-frame EXIF/ICC/IPTC/XMP profiles to image scope via deep clones. This keeps image-level metadata in sync for downstream single-frame encoders while preserving independent mutability between frame and image metadata. Tests now cover preserved ICC handling and verify image-level profile presence, equality, and non-shared instances for EXIF/XMP/IPTC, including ignore-metadata behavior.
Introduce explicit associated/unassociated pixel conversion APIs across `IPixel` and `PixelOperations`, and rework associated-alpha operations to use representation-aware bulk hooks. Update pixel implementations, converters, blenders, and generated code to consistently apply `Premultiply`/`UnPremultiply` semantics, plus SIMD-backed conversion paths for half and signed formats.
Fix codec and processing behavior where alpha handling was incorrect or lossy (notably TIFF/EXR decode/encode, convolution/resize/filter/normalization/dithering paths), and add targeted tests for these cases. Expand AOT compiler roots (including EXR and additional pixel/processor coverage), add a new public API test project for pixel-operations extensibility, and add broad alpha-representation and quantization regression coverage.
Added macos-26 and ubuntu-2204 github runners which run on arm
Use Tolerant ImageComparer
We now use the tolerant Image Comparer for now.
Disable Tests which need libgdiplus
This disables all tests which need libgdiplus for macs with arm.
The hosted runners do not have libgdiplus installed
Install libgdiplus on mac
Enable disabled tests on arm
Try to create symlink
Try without fallback path
Skip on linux
This was removed by mistake
Remove whitespace