chore(deps): update dependency pillow to v10 [security] #276
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.
This PR contains the following updates:
==8.3.2
->==10.0.1
GitHub Vulnerability Alerts
CVE-2022-45198
Pillow before 9.2.0 performs Improper Handling of Highly Compressed GIF Data (Data Amplification).
GHSA-56pw-mpj4-fxww
Pillow versions before v10.0.1 bundled libwebp binaries in wheels that are vulnerable to CVE-2023-5129 (previously CVE-2023-4863). Pillow v10.0.1 upgrades the bundled libwebp binary to v1.3.2.
Release Notes
python-pillow/Pillow (pillow)
v10.0.1
Compare Source
Updated libwebp to 1.3.2 #7395
[radarhere]
Updated zlib to 1.3 #7344
[radarhere]
v10.0.0
Compare Source
Fixed deallocating mask images #7246
[radarhere]
Added ImageFont.MAX_STRING_LENGTH #7244
[radarhere, hugovk]
Fix Windows build with pyproject.toml #7230
[hugovk, nulano, radarhere]
Do not close provided file handles with libtiff #7199
[radarhere]
Convert to HSV if mode is HSV in getcolor() #7226
[radarhere]
Added alpha_only argument to getbbox() #7123
[radarhere. hugovk]
Prioritise speed in repr_png #7242
[radarhere]
Do not use CFFI access by default on PyPy #7236
[radarhere]
Limit size even if one dimension is zero in decompression bomb check #7235
[radarhere]
Use --config-settings instead of deprecated --global-option #7171
[radarhere]
Better C integer definitions #6645
[Yay295, hugovk]
Fixed finding dependencies on Cygwin #7175
[radarhere]
Changed grabclipboard() to use PNG instead of JPG compression on macOS #7219
[abey79, radarhere]
Added in_place argument to ImageOps.exif_transpose() #7092
[radarhere]
Fixed calling putpalette() on L and LA images before load() #7187
[radarhere]
Fixed saving TIFF multiframe images with LONG8 tag types #7078
[radarhere]
Fixed combining single duration across duplicate APNG frames #7146
[radarhere]
Remove temporary file when error is raised #7148
[radarhere]
Do not use temporary file when grabbing clipboard on Linux #7200
[radarhere]
If the clipboard fails to open on Windows, wait and try again #7141
[radarhere]
Fixed saving multiple 1 mode frames to GIF #7181
[radarhere]
Replaced absolute PIL import with relative import #7173
[radarhere]
Replaced deprecated Py_FileSystemDefaultEncoding for Python >= 3.12 #7192
[radarhere]
Improved wl-paste mimetype handling in ImageGrab #7094
[rrcgat, radarhere]
Added repr_jpeg() for IPython display_jpeg #7135
[n3011, radarhere, nulano]
Use "/sbin/ldconfig" if ldconfig is not found #7068
[radarhere]
Prefer screenshots using XCB over gnome-screenshot #7143
[nulano, radarhere]
Fixed joined corners for ImageDraw rounded_rectangle() odd dimensions #7151
[radarhere]
Support reading signed 8-bit TIFF images #7111
[radarhere]
Added width argument to ImageDraw regular_polygon #7132
[radarhere]
Support I mode for ImageFilter.BuiltinFilter #7108
[radarhere]
Raise error from stderr of Linux ImageGrab.grabclipboard() command #7112
[radarhere]
Added unpacker from I;16B to I;16 #7125
[radarhere]
Support float font sizes #7107
[radarhere]
Use later value for duplicate xref entries in PdfParser #7102
[radarhere]
Load before getting size in getstate #7105
[bigcat88, radarhere]
Fixed type handling for include and lib directories #7069
[adisbladis, radarhere]
Remove deprecations for Pillow 10.0.0 #7059, #7080
[hugovk, radarhere]
Drop support for soon-EOL Python 3.7 #7058
[hugovk, radarhere]
v9.5.0
Compare Source
Added ImageSourceData to TAGS_V2 #7053
[radarhere]
Clear PPM half token after use #7052
[radarhere]
Removed absolute path to ldconfig #7044
[radarhere]
Support custom comments and PLT markers when saving JPEG2000 images #6903
[joshware, radarhere, hugovk]
Load before getting size in array_interface #7034
[radarhere]
Support creating BGR;15, BGR;16 and BGR;24 images, but drop support for BGR;32 #7010
[radarhere]
Consider transparency when applying APNG blend mask #7018
[radarhere]
Round duration when saving animated WebP images #6996
[radarhere]
Added reading of JPEG2000 comments #6909
[radarhere]
Decrement reference count #7003
[radarhere, nulano]
Allow libtiff_support_custom_tags to be missing #7020
[radarhere]
Improved I;16N support #6834
[radarhere]
Added QOI reading #6852
[radarhere, hugovk]
Added saving RGBA images as PDFs #6925
[radarhere]
Do not raise an error if os.environ does not contain PATH #6935
[radarhere, hugovk]
Close OleFileIO instance when closing or exiting FPX or MIC #7005
[radarhere]
Added int to IFDRational for Python >= 3.11 #6998
[radarhere]
Added memoryview support to Dib.frombytes() #6988
[radarhere, nulano]
Close file pointer copy in the libtiff encoder if still open #6986
[fcarron, radarhere]
Raise an error if ImageDraw co-ordinates are incorrectly ordered #6978
[radarhere]
Added "corners" argument to ImageDraw rounded_rectangle() #6954
[radarhere]
Added memoryview support to frombytes() #6974
[radarhere]
Allow comments in FITS images #6973
[radarhere]
Support saving PDF with different X and Y resolutions #6961
[jvanderneutstulen, radarhere, hugovk]
Fixed writing int as UNDEFINED tag #6950
[radarhere]
Raise an error if EXIF data is too long when saving JPEG #6939
[radarhere]
Handle more than one directory returned by pkg-config #6896
[sebastic, radarhere]
Do not retry past formats when loading all formats for the first time #6902
[radarhere]
Do not retry specified formats if they failed when opening #6893
[radarhere]
Do not unintentionally load TIFF format at first #6892
[radarhere]
Stop reading when EPS line becomes too long #6897
[radarhere]
Allow writing IFDRational to BYTE tag #6890
[radarhere]
Raise ValueError for BoxBlur filter with negative radius #6874
[hugovk, radarhere]
Support arbitrary number of loaded modules on Windows #6761
[javidcf, radarhere, nulano]
v9.4.0
Compare Source
Fixed null pointer dereference crash with malformed font #6846
[wiredfool, radarhere]
Return from ImagingFill early if image has a zero dimension #6842
[radarhere]
Reversed deprecations for Image constants, except for duplicate Resampling attributes #6830
[radarhere]
Improve exception traceback readability #6836
[hugovk, radarhere]
Do not attempt to read IFD1 if absent #6840
[radarhere]
Fixed writing int as ASCII tag #6800
[radarhere]
If available, use wl-paste or xclip for grabclipboard() on Linux #6783
[radarhere]
Added signed option when saving JPEG2000 images #6709
[radarhere]
Patch OpenJPEG to include ARM64 fix #6718
[radarhere]
Added support for I;16 modes in putdata() #6825
[radarhere]
Added conversion from RGBa to RGB #6708
[radarhere]
Added DDS support for uncompressed L and LA images #6820
[radarhere, REDxEYE]
Added LightSource tag values to ExifTags #6749
[radarhere]
Fixed PyAccess after changing ICO size #6821
[radarhere]
Do not use EXIF from info when saving PNG images #6819
[radarhere]
Fixed saving EXIF data to MPO #6817
[radarhere]
Added Exif hide_offsets() #6762
[radarhere]
Only compare to previous frame when checking for duplicate GIF frames while saving #6787
[radarhere]
Always initialize all plugins in registered_extensions() #6811
[radarhere]
Ignore non-opaque WebP background when saving as GIF #6792
[radarhere]
Only set tile in ImageFile setstate #6793
[radarhere]
When reading BLP, do not trust JPEG decoder to determine image is CMYK #6767
[radarhere]
Added IFD enum to ExifTags #6748
[radarhere]
Fixed bug combining GIF frame durations #6779
[radarhere]
Support saving JPEG comments #6774
[smason, radarhere]
Added getxmp() to WebPImagePlugin #6758
[radarhere]
Added "exact" option when saving WebP #6747
[ashafaei, radarhere]
Use fractional coordinates when drawing text #6722
[radarhere]
Fixed writing int as BYTE tag #6740
[radarhere]
Added MP Format Version when saving MPO #6735
[radarhere]
Added Interop to ExifTags #6724
[radarhere]
CVE-2007-4559 patch when building on Windows #6704
[TrellixVulnTeam, nulano, radarhere]
Fix compiler warning: accessing 64 bytes in a region of size 48 #6714
[wiredfool]
Use verbose flag for pip install #6713
[wiredfool, radarhere]
v9.3.0
Compare Source
Limit SAMPLESPERPIXEL to avoid runtime DOS #6700
[wiredfool]
Initialize libtiff buffer when saving #6699
[radarhere]
Inline fname2char to fix memory leak #6329
[nulano]
Fix memory leaks related to text features #6330
[nulano]
Use double quotes for version check on old CPython on Windows #6695
[hugovk]
Remove backup implementation of Round for Windows platforms #6693
[cgohlke]
Fixed set_variation_by_name offset #6445
[radarhere]
Fix malloc in _imagingft.c:font_setvaraxes #6690
[cgohlke]
Release Python GIL when converting images using matrix operations #6418
[hmaarrfk]
Added ExifTags enums #6630
[radarhere]
Do not modify previous frame when calculating delta in PNG #6683
[radarhere]
Added support for reading BMP images with RLE4 compression #6674
[npjg, radarhere]
Decode JPEG compressed BLP1 data in original mode #6678
[radarhere]
Added GPS TIFF tag info #6661
[radarhere]
Added conversion between RGB/RGBA/RGBX and LAB #6647
[radarhere]
Do not attempt normalization if mode is already normal #6644
[radarhere]
Fixed seeking to an L frame in a GIF #6576
[radarhere]
Consider all frames when selecting mode for PNG save_all #6610
[radarhere]
Don't reassign crc on ChunkStream close #6627
[wiredfool, radarhere]
Raise a warning if NumPy failed to raise an error during conversion #6594
[radarhere]
Show all frames in ImageShow #6611
[radarhere]
Allow FLI palette chunk to not be first #6626
[radarhere]
If first GIF frame has transparency for RGB_ALWAYS loading strategy, use RGBA mode #6592
[radarhere]
Round box position to integer when pasting embedded color #6517
[radarhere, nulano]
Removed EXIF prefix when saving WebP #6582
[radarhere]
Pad IM palette to 768 bytes when saving #6579
[radarhere]
Added DDS BC6H reading #6449
[ShadelessFox, REDxEYE, radarhere]
Added support for opening WhiteIsZero 16-bit integer TIFF images #6642
[JayWiz, radarhere]
Raise an error when allocating translucent color to RGB palette #6654
[jsbueno, radarhere]
Added reading of TIFF child images #6569
[radarhere]
Improved ImageOps palette handling #6596
[PososikTeam, radarhere]
Defer parsing of palette into colors #6567
[radarhere]
Apply transparency to P images in ImageTk.PhotoImage #6559
[radarhere]
Use rounding in ImageOps contain() and pad() #6522
[bibinhashley, radarhere]
Fixed GIF remapping to palette with duplicate entries #6548
[radarhere]
Allow remap_palette() to return an image with less than 256 palette entries #6543
[radarhere]
Corrected BMP and TGA palette size when saving #6500
[radarhere]
Do not call load() before draft() in Image.thumbnail #6539
[radarhere]
Copy palette when converting from P to PA #6497
[radarhere]
Allow RGB and RGBA values for PA image putpixel #6504
[radarhere]
Removed support for tkinter in PyPy before Python 3.6 #6551
[nulano]
Do not use CCITTFaxDecode filter if libtiff is not available #6518
[radarhere]
Fallback to not using mmap if buffer is not large enough #6510
[radarhere]
Fixed writing bytes as ASCII tag #6493
[radarhere]
Open 1 bit EPS in mode 1 #6499
[radarhere]
Removed support for tkinter before Python 1.5.2 #6549
[radarhere]
Allow default ImageDraw font to be set #6484
[radarhere, hugovk]
Save 1 mode PDF using CCITTFaxDecode filter #6470
[radarhere]
Added support for RGBA PSD images #6481
[radarhere]
Parse orientation from XMP tag contents #6463
[bigcat88, radarhere]
Added support for reading ATI1/ATI2 (BC4/BC5) DDS images #6457
[REDxEYE, radarhere]
Do not clear GIF tile when checking number of frames #6455
[radarhere]
Support saving multiple MPO frames #6444
[radarhere]
Do not double quote Pillow version for setuptools >= 60 #6450
[radarhere]
Added ABGR BMP mask mode #6436
[radarhere]
Fixed PSDraw rectangle #6429
[radarhere]
Raise ValueError if PNG sRGB chunk is truncated #6431
[radarhere]
Handle missing Python executable in ImageShow on macOS #6416
[bryant1410, radarhere]
v9.2.0
Compare Source
Deprecate ImageFont.getsize and related functions #6381
[nulano, radarhere]
Fixed null check for fribidi_version_info in FriBiDi shim #6376
[nulano]
Added GIF decompression bomb check #6402
[radarhere]
Handle PCF fonts files with less than 256 characters #6386
[dawidcrivelli, radarhere]
Improved GIF optimize condition #6378
[raygard, radarhere]
Reverted to array_interface with the release of NumPy 1.23 #6394
[radarhere]
Pad PCX palette to 768 bytes when saving #6391
[radarhere]
Fixed bug with rounding pixels to palette colors #6377
[btrekkie, radarhere]
Use gnome-screenshot on Linux if available #6361
[radarhere, nulano]
Fixed loading L mode BMP RLE8 images #6384
[radarhere]
Fixed incorrect operator in ImageCms error #6370
[LostBenjamin, hugovk, radarhere]
Limit FPX tile size to avoid extending outside image #6368
[radarhere]
Added support for decoding plain PPM formats #5242
[Piolie, radarhere]
Added apply_transparency() #6352
[radarhere]
Fixed behaviour change from endian fix #6197
[radarhere]
Allow remapping P images with RGBA palettes #6350
[radarhere]
Fixed drawing translucent 1px high polygons #6278
[radarhere]
Pad COLORMAP to 768 items when saving TIFF #6232
[radarhere]
Fix P -> PA conversion #6337
[RedShy, radarhere]
Once exif data is parsed, do not reload unless it changes #6335
[radarhere]
Only try to connect discontiguous corners at the end of edges #6303
[radarhere]
Improve transparency handling when saving GIF images #6176
[radarhere]
Do not update GIF frame position until local image is found #6219
[radarhere]
Netscape GIF extension belongs after the global color table #6211
[radarhere]
Only write GIF comments at the beginning of the file #6300
[raygard, radarhere]
Separate multiple GIF comment blocks with newlines #6294
[raygard, radarhere]
Always use GIF89a for comments #6292
[raygard, radarhere]
Ignore compression value from BMP info dictionary when saving as TIFF #6231
[radarhere]
If font is file-like object, do not re-read from object to get variant #6234
[radarhere]
Raise ValueError when trying to access internal fp after close #6213
[radarhere]
Support more affine expression forms in im.point() #6254
[benrg, radarhere]
Populate Python palette in fromarray() #6283
[radarhere]
Raise ValueError if PNG chunks are truncated #6253
[radarhere]
Use durations from each frame by default when saving GIFs #6265
[radarhere]
Adjust BITSPERSAMPLE to match SAMPLESPERPIXEL when opening TIFFs #6270
[radarhere]
Search pkgconf system libs/cflags #6138
[jameshilliard, radarhere]
Raise ValueError for invalid PPM maxval #6242
[radarhere]
Corrected screencapture argument in ImageGrab.grab() #6244
[axt-one]
Deprecate support for Qt 5 (PyQt5 and PySide2) #6237
[hugovk, radarhere]
Increase wait time of temporary file deletion on Windows #6224
[AlexTedeschi]
Deprecate FreeTypeFont.getmask2 fill parameter #6220
[nulano, radarhere, hugovk]
Round lut values where necessary #6188
[radarhere]
Load before getting size in resize() #6190
[radarhere]
Load image before performing size calculations in thumbnail() #6186
[radarhere]
Deprecated PhotoImage.paste() box parameter #6178
[radarhere]
v9.1.1
Compare Source
When reading past the end of a TGA scan line, reduce bytes left. CVE-2022-30595
[radarhere]
Do not open images with zero or negative height #6269
[radarhere]
v9.1.0
Compare Source
Add support for multiple component transformation to JPEG2000 #5500
[scaramallion, radarhere, hugovk]
Fix loading FriBiDi on Alpine #6165
[nulano]
Added setting for converting GIF P frames to RGB #6150
[radarhere]
Allow 1 mode images to be inverted #6034
[radarhere]
Raise ValueError when trying to save empty JPEG #6159
[radarhere]
Always save TIFF with contiguous planar configuration #5973
[radarhere]
Connected discontiguous polygon corners #5980
[radarhere]
Ensure Tkinter hook is activated for getimage() #6032
[radarhere]
Use screencapture arguments to crop on macOS #6152
[radarhere]
Do not mark L mode JPEG as 1 bit in PDF #6151
[radarhere]
Added support for reading I;16R TIFF images #6132
[radarhere]
If an error occurs after creating a file, remove the file #6134
[radarhere]
Fixed calling DisplayViewer or XVViewer without a title #6136
[radarhere]
Retain RGBA transparency when saving multiple GIF frames #6128
[radarhere]
Save additional ICO frames with other bit depths if supplied #6122
[radarhere]
Handle EXIF data truncated to just the header #6124
[radarhere]
Added support for reading BMP images with RLE8 compression #6102
[radarhere]
Support Python distributions where _tkinter is compiled in #6006
[lukegb]
Added support for PPM arbitrary maxval #6119
[radarhere]
Added BigTIFF reading #6097
[radarhere]
When converting, clip I;16 to be unsigned, not signed #6112
[radarhere]
Fixed loading L mode GIF with transparency #6086
[radarhere]
Improved handling of PPM header #5121
[Piolie, radarhere]
Reset size when seeking away from "Large Thumbnail" MPO frame #6101
[radarhere]
Replace requirements.txt with extras #6072
[hugovk, radarhere]
Added PyEncoder and support BLP saving #6069
[radarhere]
Handle TGA images with packets that cross scan lines #6087
[radarhere]
Added FITS reading #6056
[radarhere, hugovk]
Added rawmode argument to Image.getpalette() #6061
[radarhere]
Fixed BUFR, GRIB and HDF5 stub saving #6071
[radarhere]
Do not automatically remove temporary ImageShow files on Unix #6045
[radarhere]
Correctly read JPEG compressed BLP images #4685
[Meithal, radarhere]
Merged _MODE_CONV typ into ImageMode as typestr #6057
[radarhere]
Consider palette size when converting and in getpalette() #6060
[radarhere]
Added enums #5954
[radarhere]
Ensure image is opaque after converting P to PA with RGB palette #6052
[radarhere]
Attach RGBA palettes from putpalette() when suitable #6054
[radarhere]
Added get_photoshop_blocks() to parse Photoshop TIFF tag #6030
[radarhere]
Drop excess values in BITSPERSAMPLE #6041
[mikhail-iurkov]
Added unpacker from RGBA;15 to RGB #6031
[radarhere]
Enable arm64 for MSVC on Windows #5811
[gaborkertesz-linaro, gaborkertesz]
Keep IPython/Jupyter text/plain output stable #5891
[shamrin, radarhere]
Raise an error when performing a negative crop #5972
[radarhere, hugovk]
Deprecated show_file "file" argument in favour of "path" #5959
[radarhere]
Fixed SPIDER images for use with Bio-formats library #5956
[radarhere]
Ensure duplicated file pointer is closed #5946
[radarhere]
Added specific error if path coordinate type is incorrect #5942
[radarhere]
Return an empty bytestring from tobytes() for an empty image #5938
[radarhere]
Remove readonly from Image.eq #5930
[hugovk]
v9.0.1
Compare Source
In show_file, use os.remove to remove temporary images. CVE-2022-24303 #6010
[radarhere, hugovk]
Restrict builtins within lambdas for ImageMath.eval. CVE-2022-22817 #6009
[radarhere]
v9.0.0
Compare Source
Restrict builtins for ImageMath.eval(). CVE-2022-22817 #5923
[radarhere]
Ensure JpegImagePlugin stops at the end of a truncated file #5921
[radarhere]
Fixed ImagePath.Path array handling. CVE-2022-22815, CVE-2022-22816 #5920
[radarhere]
Remove consecutive duplicate tiles that only differ by their offset #5919
[radarhere]
Improved I;16 operations on big endian #5901
[radarhere]
Limit quantized palette to number of colors #5879
[radarhere]
Fixed palette index for zeroed color in FASTOCTREE quantize #5869
[radarhere]
When saving RGBA to GIF, make use of first transparent palette entry #5859
[radarhere]
Pass SAMPLEFORMAT to libtiff #5848
[radarhere]
Added rounding when converting P and PA #5824
[radarhere]
Improved putdata() documentation and data handling #5910
[radarhere]
Exclude carriage return in PDF regex to help prevent ReDoS #5912
[hugovk]
Fixed freeing pointer in ImageDraw.Outline.transform #5909
[radarhere]
Added ImageShow support for xdg-open #5897
[m-shinder, radarhere]
Support 16-bit grayscale ImageQt conversion #5856
[cmbruns, radarhere]
Convert subsequent GIF frames to RGB or RGBA #5857
[radarhere]
Do not prematurely return in ImageFile when saving to stdout #5665
[infmagic2047, radarhere]
Added support for top right and bottom right TGA orientations #5829
[radarhere]
Corrected ICNS file length in header #5845
[radarhere]
Block tile TIFF tags when saving #5839
[radarhere]
Added line width argument to polygon #5694
[radarhere]
Do not redeclare class each time when converting to NumPy #5844
[radarhere]
Only prevent repeated polygon pixels when drawing with transparency #5835
[radarhere]
Add support for pickling TrueType fonts #5826
[hugovk, radarhere]
Only prefer command line tools SDK on macOS over default MacOSX SDK #5828
[radarhere]
Drop support for soon-EOL Python 3.6 #5768
[hugovk, nulano, radarhere]
Fix compilation on 64-bit Termux #5793
[landfillbaby]
Use title for display in ImageShow #5788
[radarhere]
Remove support for FreeType 2.7 and older #5777
[hugovk, radarhere]
Fix for PyQt6 #5775
[hugovk, radarhere]
Removed deprecated PILLOW_VERSION, Image.show command parameter, Image._showxv and ImageFile.raise_ioerror #5776
[radarhere]
v8.4.0
Compare Source
Prefer global transparency in GIF when replacing with background color #5756
[radarhere]
Added "exif" keyword argument to TIFF saving #5575
[radarhere]
Copy Python palette to new image in quantize() #5696
[radarhere]
Read ICO AND mask from end #5667
[radarhere]
Actually check the framesize in FliDecode.c #5659
[wiredfool]
Determine JPEG2000 mode purely from ihdr header box #5654
[radarhere]
Fixed using info dictionary when writing multiple APNG frames #5611
[radarhere]
Allow saving 1 and L mode TIFF with PhotometricInterpretation 0 #5655
[radarhere]
For GIF save_all with palette, do not include palette with each frame #5603
[radarhere]
Keep transparency when converting from P to LA or PA #5606
[radarhere]
Copy palette to new image in transform() #5647
[radarhere]
Added "transparency" argument to EpsImagePlugin load() #5620
[radarhere]
Corrected pathlib.Path detection when saving #5633
[radarhere]
Added WalImageFile class #5618
[radarhere]
Consider I;16 pixel size when drawing text #5598
[radarhere]
If default conversion from P is RGB with transparency, convert to RGBA #5594
[radarhere]
Speed up rotating square images by 90 or 270 degrees #5646
[radarhere]
Add support for reading DPI information from JPEG2000 images
[rogermb, radarhere]
Catch TypeError from corrupted DPI value in EXIF #5639
[homm, radarhere]
Do not close file pointer when saving SGI images #5645
[farizrahman4u, radarhere]
Deprecate ImagePalette size parameter #5641
[radarhere, hugovk]
Prefer command line tools SDK on macOS #5624
[radarhere]
Added tags when saving YCbCr TIFF #5597
[radarhere]
PSD layer count may be negative #5613
[radarhere]
Fixed ImageOps expand with tuple border on P image #5615
[radarhere]
Fixed error saving APNG with duplicate frames and different duration times #5609
[thak1411, radarhere]
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.