Pillow

Latest version: v11.1.0

Safety actively analyzes 721825 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 24

10.0.1

Not secure
-------------------

- Updated libwebp to 1.3.2 7395
[radarhere]

- Updated zlib to 1.3 7344
[radarhere]

10.0.0

Not secure
-------------------

- 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]

9.5.0

Not secure
------------------

- 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]

9.4.0

Not secure
------------------

- 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]

9.3.0

Not secure
------------------

- 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]

9.2.0

Not secure
------------------

- 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]

Page 2 of 24

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.