Update dependency Pillow to v11 - autoclosed #9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/pillow-11.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
==7.1.1->==11.2.1Release Notes
python-pillow/Pillow (Pillow)
v11.2.1Compare Source
https://pillow.readthedocs.io/en/stable/releasenotes/11.2.1.html
Deprecations
Documentation
Dependencies
Testing
make cleanorpipin tox #8754 [@hugovk]Type hints
Other changes
startswith/endswithonce with a tuple, andrangewithoutstart=0#8799 [@hugovk]startswith/endswith#8761 [@hugovk]pythoncapi_compat.hto fix building with PyPy3.11 #8757 [@mgorny]Image._wedge#8755 [@hugovk]bdf_slantandbdf_spacingvariables #8753 [@hugovk]v11.1.0Compare Source
See GitHub Releases:
v11.0.0Compare Source
Update licence to MIT-CMU #8460
[hugovk]
Conditionally define ImageCms type hint to avoid requiring core #8197
[radarhere]
Support writing LONG8 offsets in AppendingTiffWriter #8417
[radarhere]
Use ImageFile.MAXBLOCK when saving TIFF images #8461
[radarhere]
Do not close provided file handles with libtiff when saving #8458
[radarhere]
Support ImageFilter.BuiltinFilter for I;16* images #8438
[radarhere]
Use ImagingCore.ptr instead of ImagingCore.id #8341
[homm, radarhere, hugovk]
Updated EPS mode when opening images without transparency #8281
[Yay295, radarhere]
Use transparency when combining P frames from APNGs #8443
[radarhere]
Support all resampling filters when resizing I;16* images #8422
[radarhere]
Free memory on early return #8413
[radarhere]
Cast int before potentially exceeding INT_MAX #8402
[radarhere]
Check image value before use #8400
[radarhere]
Improved copying imagequant libraries #8420
[radarhere]
Use Capsule for WebP saving #8386
[homm, radarhere]
Fixed writing multiple StripOffsets to TIFF #8317
[Yay295, radarhere]
Fix dereference before checking for NULL in ImagingTransformAffine #8398
[PavlNekrasov]
Use transposed size after opening for TIFF images #8390
[radarhere, homm]
Improve ImageFont error messages #8338
[yngvem, radarhere, hugovk]
Mention MAX_TEXT_CHUNK limit in PNG error message #8391
[radarhere]
Cast Dib handle to int #8385
[radarhere]
Accept float stroke widths #8369
[radarhere]
Deprecate ICNS (width, height, scale) sizes in favour of load(scale) #8352
[radarhere]
Improved handling of RGBA palettes when saving GIF images #8366
[radarhere]
Deprecate isImageType #8364
[radarhere]
Support converting more modes to LAB by converting to RGBA first #8358
[radarhere]
Deprecate support for FreeType 2.9.0 #8356
[hugovk, radarhere]
Removed unused TiffImagePlugin IFD_LEGACY_API #8355
[radarhere]
Handle duplicate EXIF header #8350
[zakajd, radarhere]
Return early from BoxBlur if either width or height is zero #8347
[radarhere]
Check text is either string or bytes #8308
[radarhere]
Added writing XMP bytes to JPEG #8286
[radarhere]
Support JPEG2000 RGBA palettes #8256
[radarhere]
Expand C image to match GIF frame image size #8237
[radarhere]
Allow saving I;16 images as PPM #8231
[radarhere]
When IFD is missing, connect get_ifd() dictionary to Exif #8230
[radarhere]
Skip truncated ICO mask if LOAD_TRUNCATED_IMAGES is enabled #8180
[radarhere]
Treat unknown JPEG2000 colorspace as unspecified #8343
[radarhere]
Updated error message when saving WebP with invalid width or height #8322
[radarhere, hugovk]
Remove warning if NumPy failed to raise an error during conversion #8326
[radarhere]
If left and right sides meet in ImageDraw.rounded_rectangle(), do not draw rectangle to fill gap #8304
[radarhere]
Remove WebP support without anim, mux/demux, and with buggy alpha #8213
[homm, radarhere]
Add missing TIFF CMYK;16B reader #8298
[homm]
Remove all WITH_* flags from _imaging.c and other flags #8211
[homm]
Improve ImageDraw2 shape methods #8265
[radarhere]
Lock around usages of imaging memory arenas #8238
[lysnikolaou]
Deprecate JpegImageFile huffman_ac and huffman_dc #8274
[radarhere]
Deprecate ImageMath lambda_eval and unsafe_eval options argument #8242
[radarhere]
Changed ContainerIO to subclass IO #8240
[radarhere]
Move away from APIs that use borrowed references under the free-threaded build #8216
[hugovk, lysnikolaou]
Allow size argument to resize() to be a NumPy array #8201
[radarhere]
Drop support for Python 3.8 #8183
[hugovk, radarhere]
Add support for Python 3.13 #8181
[hugovk, radarhere]
Fix incompatibility with NumPy 1.20 #8187
[neutrinoceros, radarhere]
Remove PSFile, PyAccess and USE_CFFI_ACCESS #8182
[hugovk, radarhere]
v10.4.0Compare Source
Raise FileNotFoundError if show_file() path does not exist #8178
[radarhere]
Improved reading 16-bit TGA images with colour #7965
[Yay295, radarhere]
Deprecate non-image ImageCms modes #8031
[radarhere]
Fixed processing multiple JPEG EXIF markers #8127
[radarhere]
Do not preserve EXIFIFD tag by default when saving TIFF images #8110
[radarhere]
Added ImageFont.load_default_imagefont() #8086
[radarhere]
Added Image.WARN_POSSIBLE_FORMATS #8063
[radarhere]
Remove zero-byte end padding when parsing any XMP data #8171
[radarhere]
Do not detect Ultra HDR images as MPO #8056
[radarhere]
Raise SyntaxError specific to JP2 #8146
[Yay295, radarhere]
Do not use first frame duration for other frames when saving APNG images #8104
[radarhere]
Consider I;16 pixel size when using a 1 mode mask #8112
[radarhere]
When saving multiple PNG frames, convert to mode rather than raw mode #8087
[radarhere]
Added byte support to FreeTypeFont #8141
[radarhere]
Allow float center for rotate operations #8114
[radarhere]
Do not read layers immediately when opening PSD images #8039
[radarhere]
Restore original thread state #8065
[radarhere]
Read IM and TIFF images as RGB, rather than RGBX #7997
[radarhere]
Only preserve TIFF IPTC_NAA_CHUNK tag if type is BYTE or UNDEFINED #7948
[radarhere]
Clarify ImageDraw2 error message when size is missing #8165
[radarhere]
Support unpacking more rawmodes to RGBA palettes #7966
[radarhere]
Removed support for Qt 5 #8159
[radarhere]
Improve
ImageFont.freetypesupport for XDG directories on Linux #8135[mamg22, radarhere]
Improved consistency of XMP handling #8069
[radarhere]
Use pkg-config to help find libwebp and raqm #8142
[radarhere]
Accept 't' suffix for libtiff version #8126, #8129
[radarhere]
Deprecate ImageDraw.getdraw hints parameter #8124
[radarhere, hugovk]
Added ImageDraw circle() #8085
[void4, hugovk, radarhere]
Add mypy target to Makefile #8077
[Yay295]
Added more modes to Image.MODES #7984
[radarhere]
Deprecate BGR;15, BGR;16 and BGR;24 modes #7978
[radarhere, hugovk]
Fix ImagingAccess for I;16N on big-endian #7921
[Yay295, radarhere]
Support reading P mode TIFF images with padding #7996
[radarhere]
Deprecate support for libtiff < 4 #7998
[radarhere, hugovk]
Corrected ImageShow UnixViewer command #7987
[radarhere]
Use functools.cached_property in ImageStat #7952
[nulano, hugovk, radarhere]
Add support for reading BITMAPV2INFOHEADER and BITMAPV3INFOHEADER #7956
[Cirras, radarhere]
Support reading CMYK JPEG2000 images #7947
[radarhere]
v10.3.0Compare Source
CVE-2024-28219: Use
strncpyto avoid buffer overflow #7928[radarhere, hugovk]
Deprecate
eval(), replacing it withlambda_eval()andunsafe_eval()#7927[radarhere, hugovk]
Raise
ValueErrorif seeking to greater than offset-sized integer in TIFF #7883[radarhere]
Add
--reportargument to__main__.pyto omit supported formats #7818[nulano, radarhere, hugovk]
Added RGB to I;16, I;16L, I;16B and I;16N conversion #7918, #7920
[radarhere]
Fix editable installation with custom build backend and configuration options #7658
[nulano, radarhere]
Fix putdata() for I;16N on big-endian #7209
[Yay295, hugovk, radarhere]
Determine MPO size from markers, not EXIF data #7884
[radarhere]
Improved conversion from RGB to RGBa, LA and La #7888
[radarhere]
Support FITS images with GZIP_1 compression #7894
[radarhere]
Use I;16 mode for 9-bit JPEG 2000 images #7900
[scaramallion, radarhere]
Raise ValueError if kmeans is negative #7891
[radarhere]
Remove TIFF tag OSUBFILETYPE when saving using libtiff #7893
[radarhere]
Raise ValueError for negative values when loading P1-P3 PPM images #7882
[radarhere]
Added reading of JPEG2000 palettes #7870
[radarhere]
Added alpha_quality argument when saving WebP images #7872
[radarhere]
Fixed joined corners for ImageDraw rounded_rectangle() non-integer dimensions #7881
[radarhere]
Stop reading EPS image at EOF marker #7753
[radarhere]
PSD layer co-ordinates may be negative #7706
[radarhere]
Use subprocess with CREATE_NO_WINDOW flag in ImageShow WindowsViewer #7791
[radarhere]
When saving GIF frame that restores to background color, do not fill identical pixels #7788
[radarhere]
Fixed reading PNG iCCP compression method #7823
[radarhere]
Allow writing IFDRational to UNDEFINED tag #7840
[radarhere]
Fix logged tag name when loading Exif data #7842
[radarhere]
Use maximum frame size in IHDR chunk when saving APNG images #7821
[radarhere]
Prevent opening P TGA images without a palette #7797
[radarhere]
Use palette when loading ICO images #7798
[radarhere]
Use consistent arguments for load_read and load_seek #7713
[radarhere]
Turn off nullability warnings for macOS SDK #7827
[radarhere]
Fix shift-sign issue in Convert.c #7838
[r-barnes, radarhere]
Open 16-bit grayscale PNGs as I;16 #7849
[radarhere]
Handle truncated chunks at the end of PNG images #7709
[lajiyuan, radarhere]
Match mask size to pasted image size in GifImagePlugin #7779
[radarhere]
Release GIL while calling
WebPAnimDecoderGetNext#7782[evanmiller, radarhere]
Fixed reading FLI/FLC images with a prefix chunk #7804
[twolife]
Update wl-paste handling and return None for some errors in grabclipboard() on Linux #7745
[nik012003, radarhere]
Remove execute bit from
setup.py#7760[hugovk]
Do not support using test-image-results to upload images after test failures #7739
[radarhere]
Changed ImageMath.ops to be static #7721
[radarhere]
Fix APNG info after seeking backwards more than twice #7701
[esoma, radarhere]
Deprecate ImageCms constants and versions() function #7702
[nulano, radarhere]
Added PerspectiveTransform #7699
[radarhere]
Add support for reading and writing grayscale PFM images #7696
[nulano, hugovk]
Add LCMS2 flags to ImageCms #7676
[nulano, radarhere, hugovk]
Rename x64 to AMD64 in winbuild #7693
[nulano]
v10.2.0Compare Source
Add
keep_rgboption when saving JPEG to prevent conversion of RGB colorspace #7553[bgilbert, radarhere]
Trim glyph size in ImageFont.getmask() #7669, #7672
[radarhere, nulano]
Deprecate IptcImagePlugin helpers #7664
[nulano, hugovk, radarhere]
Allow uncompressed TIFF images to be saved in chunks #7650
[radarhere]
Concatenate multiple JPEG EXIF markers #7496
[radarhere]
Changed IPTC tile tuple to match other plugins #7661
[radarhere]
Do not assign new fp attribute when exiting context manager #7566
[radarhere]
Support arbitrary masks for uncompressed RGB DDS images #7589
[radarhere, akx]
Support setting ROWSPERSTRIP tag #7654
[radarhere]
Apply ImageFont.MAX_STRING_LENGTH to ImageFont.getmask() #7662
[radarhere]
Optimise
ImageColorusingfunctools.lru_cache#7657[hugovk]
Restricted environment keys for ImageMath.eval() #7655
[wiredfool, radarhere]
Optimise
ImageMode.getmodeusingfunctools.lru_cache#7641[hugovk, radarhere]
Fix incorrect color blending for overlapping glyphs #7497
[ZachNagengast, nulano, radarhere]
Attempt memory mapping when tile args is a string #7565
[radarhere]
Fill identical pixels with transparency in subsequent frames when saving GIF #7568
[radarhere]
Corrected duration when combining multiple GIF frames into single frame #7521
[radarhere]
Handle disposing GIF background from outside palette #7515
[radarhere]
Seek past the data when skipping a PSD layer #7483
[radarhere]
Import plugins relative to the module #7576
[deliangyang, jaxx0n]
Translate encoder error codes to strings; deprecate
ImageFile.raise_oserror()#7609[bgilbert, radarhere]
Support reading BC4U and DX10 BC1 images #6486
[REDxEYE, radarhere, hugovk]
Optimize ImageStat.Stat.extrema #7593
[florath, radarhere]
Handle pathlib.Path in FreeTypeFont #7578
[radarhere, hugovk, nulano]
Added support for reading DX10 BC4 DDS images #7603
[sambvfx, radarhere]
Optimized ImageStat.Stat.count #7599
[florath]
Correct PDF palette size when saving #7555
[radarhere]
Fixed closing file pointer with olefile 0.47 #7594
[radarhere]
Raise ValueError when TrueType font size is not greater than zero #7584, #7587
[akx, radarhere]
If absent, do not try to close fp when closing image #7557
[RaphaelVRossi, radarhere]
Allow configuring JPEG restart marker interval on save #7488
[bgilbert, radarhere]
Decrement reference count for PyObject #7549
[radarhere]
Implement
streamtype=1option for tables-only JPEG encoding #7491[bgilbert, radarhere]
If save_all PNG only has one frame, do not create animated image #7522
[radarhere]
Fixed frombytes() for images with a zero dimension #7493
[radarhere]
v10.1.0Compare Source
Added TrueType default font to allow for different sizes #7354
[radarhere]
Fixed invalid argument warning #7442
[radarhere]
Added ImageOps cover method #7412
[radarhere, hugovk]
Catch struct.error from truncated EXIF when reading JPEG DPI #7458
[radarhere]
Consider default image when selecting mode for PNG save_all #7437
[radarhere]
Support BGR;15, BGR;16 and BGR;24 access, unpacking and putdata #7303
[radarhere]
Added CMYK to RGB unpacker #7310
[radarhere]
Improved flexibility of XMP parsing #7274
[radarhere]
Support reading 8-bit YCbCr TIFF images #7415
[radarhere]
Allow saving I;16B images as PNG #7302
[radarhere]
Corrected drawing I;16 points and writing I;16 text #7257
[radarhere]
Set blue channel to 128 for BC5S #7413
[radarhere]
Increase flexibility when reading IPTC fields #7319
[radarhere]
Set C palette to be empty by default #7289
[radarhere]
Added gs_binary to control Ghostscript use on all platforms #7392
[radarhere]
Read bounding box information from the trailer of EPS files if specified #7382
[nopperl, radarhere]
Added reading 8-bit color DDS images #7426
[radarhere]
Added has_transparency_data #7420
[radarhere, hugovk]
Fixed bug when reading BC5S DDS images #7401
[radarhere]
Prevent TIFF orientation from being applied more than once #7383
[radarhere]
Use previous pixel alpha for QOI_OP_RGB #7357
[radarhere]
Added BC5U reading #7358
[radarhere]
Allow getpixel() to accept a list #7355
[radarhere, homm]
Allow GaussianBlur and BoxBlur to accept a sequence of x and y radii #7336
[radarhere]
Expand JPEG buffer size when saving optimized or progressive #7345
[radarhere]
Added session type check for Linux in ImageGrab.grabclipboard() #7332
[TheNooB2706, radarhere, hugovk]
Allow "loop=None" when saving GIF images #7329
[radarhere]
Fixed transparency when saving P mode images to PDF #7323
[radarhere]
Added saving LA images as PDFs #7299
[radarhere]
Set SMaskInData to 1 for PDFs with alpha #7316, #7317
[radarhere]
Changed Image mode property to be read-only by default #7307
[radarhere]
Silence exceptions in repr_jpeg and repr_png #7266
[mtreinish, radarhere]
Do not use transparency when saving GIF if it has been removed when normalizing mode #7284
[radarhere]
Fix missing symbols when libtiff depends on libjpeg #7270
[heitbaum]
v10.0.1Compare Source
Updated libwebp to 1.3.2 #7395
[radarhere]
Updated zlib to 1.3 #7344
[radarhere]
v10.0.0Compare 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.0Compare 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.0Compare 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.0Compare 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.0Compare 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.1Compare 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.0Compare 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.1Compare 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.0Compare 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.0Compare 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]
v8.3.2Compare Source
CVE-2021-23437 Raise ValueError if color specifier is too long
[hugovk, radarhere]
Fix 6-byte OOB read in FliDecode
[wiredfool]
Add support for Python 3.10 #5569, #5570
[hugovk, radarhere]
Ensure TIFF
RowsPerStripis multiple of 8 for JPEG compression #5588[kmilos, radarhere]
Updates for
ImagePalettechannel order #5599[radarhere]
Hide FriBiDi shim symbols to avoid conflict with real FriBiDi library #5651
[nulano]
v8.3.1Compare Source
Catch OSError when checking if fp is sys.stdout #5585
[radarhere]
Handle removing orientation from alternate types of EXIF data #5584
[radarhere]
Make Image.array take optional dtype argument #5572
[t-vi, radarhere]
v8.3.0Compare Source
Use snprintf instead of sprintf. CVE-2021-34552 #5567
[radarhere]
Limit TIFF strip size when saving with LibTIFF #5514
[kmilos]
Allow ICNS save on all operating systems #4526
[baletu, radarhere, newpanjing, hugovk]
De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables #4989
[gofr, radarhere]
Replaced xml.etree.ElementTree #5565
[radarhere]
Moved CVE image to pillow-depends #5561
[radarhere]
Added tag data for IFD groups #5554
[radarhere]
Improved ImagePalette #5552
[radarhere]
Add DDS saving #5402
[radarhere]
Improved getxmp() #5455
[radarhere]
Convert to float for comparison with float in IFDRational eq #5412
[radarhere]
Allow getexif() to access TIFF tag_v2 data #5416
[radarhere]
Read FITS image mode and size #5405
[radarhere]
Merge parallel horizontal edges in ImagingDrawPolygon #5347
[radarhere, hrdrq]
Use transparency behind first GIF frame and when disposing to background #5557
[radarhere, zewt]
Avoid unstable nature of qsort in Quant.c #5367
[radarhere]
Copy palette to new images in ImageOps expand #5551
[radarhere]
Ensure palette string matches RGB mode #5549
[radarhere]
Do not modify EXIF of original image instance in exif_transpose() #5547
[radarhere]
Fixed default numresolution for small JPEG2000 images #5540
[radarhere]
Added DDS BC5 reading #5501
[radarhere]
Raise an error if ImageDraw.textbbox is used without a TrueType font #5510
[radarhere]
Added ICO saving in BMP format #5513
[radarhere]
Ensure PNG seeks to end of previous chunk at start of load_end #5493
[radarhere]
Do not allow TIFF to seek to a past frame #5473
[radarhere]
Avoid race condition when displaying images with eog #5507
[mconst]
Added specific error messages when ink has incorrect number of bands #5504
[radarhere]
Allow converting an image to a numpy array to raise errors #5379
[radarhere]
Removed DPI rounding from BMP, JPEG, PNG and WMF loading #5476, #5470
[radarhere]
Remove spikes when drawing thin pieslices #5460
[xtsm]
Updated default value for SAMPLESPERPIXEL TIFF tag #5452
[radarhere]
Removed TIFF DPI rounding #5446
[radarhere, hugovk]
Include code in WebP error #5471
[radarhere]
Do not alter pixels outside mask when drawing text on an image with transparency #5434
[radarhere]
Reset handle when seeking backwards in TIFF #5443
[radarhere]
Replace sys.stdout with sys.stdout.buffer when saving #5437
[radarhere]
Fixed UNDEFINED TIFF tag of length 0 being changed in roundtrip #5426
[radarhere]
Fixed bug when checking FreeType2 version if it is not installed #5445
[radarhere]
Do not round dimensions when saving PDF #5459
[radarhere]
Added ImageOps contain() #5417
[radarhere, hugovk]
Changed WebP default "method" value to 4 #5450
[radarhere]
Switched to saving 1-bit PDFs with DCTDecode #5430
[radarhere]
Use bpp from ICO header #5429
[radarhere]
Corrected JPEG APP14 transform value #5408
[radarhere]
Changed TIFF tag 33723 length to 1 #5425
[radarhere]
Changed ImageMorph incorrect mode errors to ValueError #5414
[radarhere]
Add EXIF tags specified in EXIF 2.32 #5419
[gladiusglad]
Treat previous contents of first GIF frame as transparent #5391
[radarhere]
For special image modes, revert default resize resampling to NEAREST #5411
[radarhere]
JPEG2000: Support decoding subsampled RGB and YCbCr images #4996
[nulano, radarhere]
Stop decoding BC1 punchthrough alpha in BC2&3 #4144
[jansol]
Use zero if GIF background color index is missing #5390
[radarhere]
Fixed ensuring that GIF previous frame was loaded #5386
[radarhere]
Valgrind fixes #5397
[wiredfool]
Round down the radius in rounded_rectangle #5382
[radarhere]
Fixed reading uncompressed RGB data from DDS #5383
[radarhere]
v8.2.0Compare Source
Added getxmp() method #5144
[UrielMaD, radarhere]
Add ImageShow support for GraphicsMagick #5349
[latosha-maltba, radarhere]
Do not load transparent pixels from subsequent GIF frames #5333
[zewt, radarhere]
Use LZW encoding when saving GIF images #5291
[raygard]
Set all transparent colors to be equal in quantize() #5282
[radarhere]
Allow PixelAccess to use Python int when parsing x and y #5206
[radarhere]
Removed Image._MODEINFO #5316
[radarhere]
Add preserve_tone option to autocontrast #5350
[elejke, radarhere]
Fixed linear_gradient and radial_gradient I and F modes #5274
[radarhere]
Add support for reading TIFFs with PlanarConfiguration=2 #5364
[kkopachev, wiredfool, nulano]
Deprecated categories #5351
[radarhere]
Do not premultiply alpha when resizing with Image.NEAREST resampling #5304
[nulano]
Dynamically link FriBiDi instead of Raqm #5062
[nulano]
Allow fewer PNG palette entries than the bit depth maximum when saving #5330
[radarhere]
Use duration from info dictionary when saving WebP #5338
[radarhere]
Stop flattening EXIF IFD into getexif() #4947
[radarhere, kkopachev]
Replaced tiff_deflate with tiff_adobe_deflate compression when saving TIFF images #5343
[radarhere]
Save ICC profile from TIFF encoderinfo #5321
[radarhere]
Moved RGB fix inside ImageQt class #5268
[radarhere]
Allow alpha_composite destination to be negative #5313
[radarhere]
Ensure file is closed if it is opened by ImageQt.ImageQt #5260
[radarhere]
Added ImageDraw rounded_rectangle method #5208
[radarhere]
Added IPythonViewer #5289
[radarhere, Kipkurui-mutai]
Only draw each rectangle outline pixel once #5183
[radarhere]
Use mmap instead of built-in Win32 mapper #5224
[radarhere, cgohlke]
Handle PCX images with an odd stride #5214
[radarhere]
Only read different sizes for "Large Thumbnail" MPO frames #5168
[radarhere]
Added PyQt6 support #5258
[radarhere]
Changed Image.open formats parameter to be case-insensitive #5250
[Piolie, radarhere]
Deprecate Tk/Tcl 8.4, to be removed in Pillow 10 (2023-07-01) #5216
[radarhere]
Added tk version to pilinfo #5226
[radarhere, nulano]
Support for ignoring tests when running valgrind #5150
[wiredfool, radarhere, hugovk]
OSS-Fuzz support #5189
[wiredfool, radarhere]
v8.1.2Compare Source
[wiredfool]
v8.1.1Compare Source
Use more specific regex chars to prevent ReDoS. CVE-2021-25292
[hugovk]
Fix OOB Read in TiffDecode.c, and check the tile validity before reading. CVE-2021-25291
[wiredfool]
Fix negative size read in TiffDecode.c. CVE-2021-25290
[wiredfool]
Fix OOB read in SgiRleDecode.c. CVE-2021-25293
[wiredfool]
Incorrect error code checking in TiffDecode.c. CVE-2021-25289
[wiredfool]
PyModule_AddObject fix for Python 3.10 #5194
[radarhere]
v8.1.0Compare Source
Fix TIFF OOB Write error. CVE-2020-35654 #5175
[wiredfool]
Fix for Read Overflow in PCX Decoding. CVE-2020-35653 #5174
[wiredfool, radarhere]
Fix for SGI Decode buffer overrun. CVE-2020-35655 #5173
[wiredfool, radarhere]
Fix OOB Read when saving GIF of xsize=1 #5149
[wiredfool]
Makefile updates #5159
[wiredfool, radarhere]
Add support for PySide6 #5161
[hugovk]
Use disposal settings from previous frame in APNG #5126
[radarhere]
Added exception explaining that repr_png saves to PNG #5139
[radarhere]
Use previous disposal method in GIF load_end #5125
[radarhere]
Allow putpalette to accept 1024 integers to include alpha values #5089
[radarhere]
Fix OOB Read when writing TIFF with custom Metadata #5148
[wiredfool]
Added append_images support for ICO #4568
[ziplantil, radarhere]
Block TIFFTAG_SUBIFD #5120
[radarhere]
Fixed dereferencing potential null pointers #5108, #5111
[cgohlke, radarhere]
Deprecate FreeType 2.7 #5098
[hugovk, radarhere]
Moved warning to end of execution #4965
[radarhere]
Removed unused fromstring and tostring C methods #5026
[radarhere]
init() if one of the formats is unrecognised #5037
[radarhere]
Moved string_dimension CVE image to pillow-depends #4993
[radarhere]
Support raw rgba8888 for DDS #4760
[qiankanglai]
v8.0.1Compare Source
Update FreeType used in binary wheels to 2.10.4 to fix CVE-2020-15999.
[radarhere]
Moved string_dimension image to pillow-depends #4993
[radarhere]
v8.0.0Compare Source
Drop support for EOL Python 3.5 #4746, #4794
[hugovk, radarhere, nulano]
Drop support for PyPy3 < 7.2.0 #4964
[nulano]
Remove ImageCms.CmsProfile attributes deprecated since 3.2.0 #4768
[hugovk, radarhere]
Remove long-deprecated Image.py functions #4798
[hugovk, nulano, radarhere]
Add support for 16-bit precision JPEG quantization values #4918
[gofr]
Added reading of IFD tag type #4979
[radarhere]
Initialize offset memory for PyImagingPhotoPut #4806
[nqbit]
Fix TiffDecode comparison warnings #4756
[nulano]
Docs: Add dark mode #4968
[hugovk, nulano]
Added macOS SDK install path to library and include directories #4974
[radarhere, fxcoudert]
Imaging.h: prevent confusion with system #4923
[ax3l, ,radarhere]
Avoid using pkg_resources in PIL.features.pilinfo #4975
[nulano]
Add getlength and getbbox functions for TrueType fonts #4959
[nulano, radarhere, hugovk]
Allow tuples with one item to give single color value in getink #4927
[radarhere, nulano]
Add support for CBDT and COLR fonts #4955
[nulano, hugovk]
Removed OSError in favour of DecompressionBombError for BMP #4966
[radarhere]
Implemented another ellipse drawing algorithm #4523
[xtsm, radarhere]
Removed unused JpegImagePlugin._fixup_dict function #4957
[radarhere]
Added reading and writing of private PNG chunks #4292
[radarhere]
Implement anchor for TrueType fonts #4930
[nulano, hugovk]
Fixed bug in Exif delitem #4942
[radarhere]
Fix crash in ImageTk.PhotoImage on MinGW 64-bit #4946
[nulano]
Moved CVE images to pillow-depends #4929
[radarhere]
Refactor font_getsize and font_render #4910
[nulano]
Fixed loading profile with non-ASCII path on Windows #4914
[radarhere]
Fixed effect_spread bug for zero distance #4908
[radarhere, hugovk]
Added formats parameter to Image.open #4837
[nulano, radarhere]
Added regular_polygon draw method #4846
[comhar]
Raise proper TypeError in putpixel #4882
[nulano, hugovk]
Added writing of subIFDs #4862
[radarhere]
Fix IFDRational eq bug #4888
[luphord, radarhere]
Fixed duplicate variable name #4885
[liZe, radarhere]
Added homebrew zlib include directory #4842
[radarhere]
Corrected inverted PDF CMYK colors #4866
[radarhere]
Do not try to close file pointer if file pointer is empty #4823
[radarhere]
ImageOps.autocontrast: add mask parameter #4843
[navneeth, hugovk]
Read EXIF data tEXt chunk into info as bytes instead of string #4828
[radarhere]
Replaced distutils with setuptools #4797, #4809, #4814, #4817, #4829, #4890
[hugovk, radarhere]
Add MIME type to PsdImagePlugin #4788
[samamorgan]
Allow ImageOps.autocontrast to specify low and high cutoffs separately #4749
[millionhz, radarhere]
v7.2.0Compare Source
Do not convert I;16 images when showing PNGs #4744
[radarhere]
Fixed ICNS file pointer saving #4741
[radarhere]
Fixed loading non-RGBA mode APNGs with dispose background #4742
[radarhere]
Deprecated _showxv #4714
[radarhere]
Deprecate Image.show(command="...") #4646
[nulano, hugovk, radarhere]
Updated JPEG magic number #4707
[Cykooz, radarhere]
Change STRIPBYTECOUNTS to LONG if necessary when saving #4626
[radarhere, hugovk]
Write JFIF header when saving JPEG #4639
[radarhere]
Replaced tiff_jpeg with jpeg compression when saving TIFF images #4627
[radarhere]
Writing TIFF tags: improved BYTE, added UNDEFINED #4605
[radarhere]
Consider transparency when pasting text on an RGBA image #4566
[radarhere]
Added method argument to single frame WebP saving #4547
[radarhere]
Use ImageFileDirectory_v2 in Image.Exif #4637
[radarhere]
Corrected reading EXIF metadata without prefix #4677
[radarhere]
Fixed drawing a jointed line with a sequence of numeric values #4580
[radarhere]
Added support for 1-D NumPy arrays #4608
[radarhere]
Parse orientation from XMP tags #4560
[radarhere]
Speed up text layout by not rendering glyphs #4652
[nulano]
Fixed ZeroDivisionError in Image.thumbnail #4625
[radarhere]
Replaced TiffImagePlugin DEBUG with logging #4550
[radarhere]
Fix repeatedly loading .gbr #4620
[ElinksFr, radarhere]
JPEG: Truncate icclist instead of setting to None #4613
[homm]
Fixes default offset for Exif #4594
[rodrigob, radarhere]
Fixed bug when unpickling TIFF images #4565
[radarhere]
Fix pickling WebP #4561
[hugovk, radarhere]
Replace IOError and WindowsError aliases with OSError #4536
[hugovk, radarhere]
v7.1.2Compare Source
[radarhere]
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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 Renovate Bot.
38e00de901toaadc004980aadc004980to9e245624c49e245624c4to0b369be15d0b369be15dtob4c05c34f8Update dependency Pillow to v11to Update dependency Pillow to v11 - autoclosedPull request closed