Update dependency Pillow to v11 #9
Loading…
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.0.0
Release Notes
python-pillow/Pillow (Pillow)
v11.0.0
Compare 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.0
Compare 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.freetype
support 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.0
Compare Source
CVE-2024-28219: Use
strncpy
to avoid buffer overflow #7928[radarhere, hugovk]
Deprecate
eval()
, replacing it withlambda_eval()
andunsafe_eval()
#7927[radarhere, hugovk]
Raise
ValueError
if seeking to greater than offset-sized integer in TIFF #7883[radarhere]
Add
--report
argument to__main__.py
to 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.0
Compare Source
Add
keep_rgb
option 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
ImageColor
usingfunctools.lru_cache
#7657[hugovk]
Restricted environment keys for ImageMath.eval() #7655
[wiredfool, radarhere]
Optimise
ImageMode.getmode
usingfunctools.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=1
option 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.0
Compare 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.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]
v8.3.2
Compare 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
RowsPerStrip
is multiple of 8 for JPEG compression #5588[kmilos, radarhere]
Updates for
ImagePalette
channel order #5599[radarhere]
Hide FriBiDi shim symbols to avoid conflict with real FriBiDi library #5651
[nulano]
v8.3.1
Compare 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.0
Compare 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.0
Compare 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.2
Compare Source
[wiredfool]
v8.1.1
Compare 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.0
Compare 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.1
Compare 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.0
Compare 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.0
Compare 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.2
Compare 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.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.