Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin pillow to latest version 9.2.0 #241

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Jul 1, 2022

This PR pins pillow to the latest release 9.2.0.

Changelog

9.2.0

------------------

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

9.1.1

------------------

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

9.1.0

------------------

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

9.0.1

------------------

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

9.0.0

------------------

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

8.4.0

------------------

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

8.3.2

------------------

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

8.3.1

------------------

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

8.3.0

------------------

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

8.2.0

------------------

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

8.1.2

------------------

- Fix Memory DOS in BLP (CVE-2021-27921), ICNS (CVE-2021-27922) and ICO (CVE-2021-27923) Image Plugins
[wiredfool]

8.1.1

------------------

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

8.1.0

------------------

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

8.0.1

------------------

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

8.0.0

------------------

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

7.2.0

------------------

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

7.1.2

------------------

- Raise an EOFError when seeking too far in PNG 4528
[radarhere]

7.1.1

------------------

- Fix regression seeking and telling PNGs 4512 4514
[hugovk, radarhere]

7.1.0

------------------

- Fix multiple OOB reads in FLI decoding 4503
[wiredfool]

- Fix buffer overflow in SGI-RLE decoding 4504
[wiredfool, hugovk]

- Fix bounds overflow in JPEG 2000 decoding 4505
[wiredfool]

- Fix bounds overflow in PCX decoding 4506
[wiredfool]

- Fix 2 buffer overflows in TIFF decoding 4507
[wiredfool]

- Add APNG support 4243
[pmrowla, radarhere, hugovk]

- ImageGrab.grab() for Linux with XCB 4260
[nulano, radarhere]

- Added three new channel operations 4230
[dwastberg, radarhere]

- Prevent masking of Image reduce method in Jpeg2KImagePlugin 4474
[radarhere, homm]

- Added reading of earlier ImageMagick PNG EXIF data 4471
[radarhere]

- Fixed endian handling for I;16 getextrema 4457
[radarhere]

- Release buffer if function returns prematurely 4381
[radarhere]

- Add JPEG comment to info dictionary 4455
[radarhere]

- Fix size calculation of Image.thumbnail() 4404
[orlnub123]

- Fixed stroke on FreeType < 2.9 4401
[radarhere]

- If present, only use alpha channel for bounding box 4454
[radarhere]

- Warn if an unknown feature is passed to features.check() 4438
[jdufresne]

- Fix Name field length when saving IM images 4424
[hugovk, radarhere]

- Allow saving of zero quality JPEG images 4440
[radarhere]

- Allow explicit zero width to hide outline 4334
[radarhere]

- Change ContainerIO return type to match file object mode 4297
[jdufresne, radarhere]

- Only draw each polygon pixel once 4333
[radarhere]

- Add support for shooting situation Exif IFD tags 4398
[alexagv]

- Handle multiple and malformed JPEG APP13 markers 4370
[homm]

- Depends: Update libwebp to 1.1.0 4342, libjpeg to 9d 4352
[radarhere]

7.0.0

------------------

- Drop support for EOL Python 2.7 4109
[hugovk, radarhere, jdufresne]

- Fix rounding error on RGB to L conversion 4320
[homm]

- Exif writing fixes: Rational boundaries and signed/unsigned types 3980
[kkopachev, radarhere]

- Allow loading of WMF images at a given DPI 4311
[radarhere]

- Added reduce operation 4251
[homm]

- Raise ValueError for io.StringIO in Image.open 4302
[radarhere, hugovk]

- Fix thumbnail geometry when DCT scaling is used 4231
[homm, radarhere]

- Use default DPI when exif provides invalid x_resolution 4147
[beipang2, radarhere]

- Change default resize resampling filter from NEAREST to BICUBIC 4255
[homm]

- Fixed black lines on upscaled images with the BOX filter 4278
[homm]

- Better thumbnail aspect ratio preservation 4256
[homm]

- Add La mode packing and unpacking 4248
[homm]

- Include tests in coverage reports 4173
[hugovk]

- Handle broken Photoshop data 4239
[radarhere]

- Raise a specific exception if no data is found for an MPO frame 4240
[radarhere]

- Fix Unicode support for PyPy 4145
[nulano]

- Added UnidentifiedImageError 4182
[radarhere, hugovk]

- Remove deprecated __version__ from plugins 4197
[hugovk, radarhere]

- Fixed freeing unallocated pointer when resizing with height too large 4116
[radarhere]

- Copy info in Image.transform 4128
[radarhere]

- Corrected DdsImagePlugin setting info gamma 4171
[radarhere]

- Depends: Update libtiff to 4.1.0 4195, Tk Tcl to 8.6.10 4229, libimagequant to 2.12.6 4318
[radarhere]

- Improve handling of file resources 3577
[jdufresne]

- Removed CI testing of Fedora 29 4165
[hugovk]

- Added pypy3 to tox envlist 4137
[jdufresne]

- Drop support for EOL PyQt4 and PySide 4108
[hugovk, radarhere]

- Removed deprecated setting of TIFF image sizes 4114
[radarhere]

- Removed deprecated PILLOW_VERSION 4107
[hugovk]

- Changed default frombuffer raw decoder args 1730
[radarhere]

6.2.2

------------------

- This is the last Pillow release to support Python 2.7 3642

- Overflow checks for realloc for tiff decoding. CVE-2020-5310
[wiredfool, radarhere]

- Catch SGI buffer overrun. CVE-2020-5311
[radarhere]

- Catch PCX P mode buffer overrun. CVE-2020-5312
[radarhere]

- Catch FLI buffer overrun. CVE-2020-5313
[radarhere]

- Raise an error for an invalid number of bands in FPX image. CVE-2019-19911
[wiredfool, radarhere]

6.2.1

------------------

- Add support for Python 3.8 4141
[hugovk]

6.2.0

------------------

- Catch buffer overruns 4104
[radarhere]

- Initialize rows_per_strip when RowsPerStrip tag is missing 4034
[cgohlke, radarhere]

- Raise error if TIFF dimension is a string 4103
[radarhere]

- Added decompression bomb checks 4102
[radarhere]

- Fix ImageGrab.grab DPI scaling on Windows 10 version 1607+ 4000
[nulano, radarhere]

- Corrected negative seeks 4101
[radarhere]

- Added argument to capture all screens on Windows 3950
[nulano, radarhere]

- Updated warning to specify when Image.frombuffer defaults will change 4086
[radarhere]

- Changed WindowsViewer format to PNG 4080
[radarhere]

- Use TIFF orientation 4063
[radarhere]

- Raise the same error if a truncated image is loaded a second time 3965
[radarhere]

- Lazily use ImageFileDirectory_v1 values from Exif 4031
[radarhere]

- Improved HSV conversion 4004
[radarhere]

- Added text stroking 3978
[radarhere, hugovk]

- No more deprecated bdist_wininst .exe installers 4029
[hugovk]

- Do not allow floodfill to extend into negative coordinates 4017
[radarhere]

- Fixed arc drawing bug for a non-whole number of degrees 4014
[radarhere]

- Fix bug when merging identical images to GIF with a list of durations 4003
[djy0, radarhere]

- Fix bug in TIFF loading of BufferedReader 3998
[chadawagner]

- Added fallback for finding ld on MinGW Cygwin 4019
[radarhere]

- Remove indirect dependencies from requirements.txt 3976
[hugovk]

- Depends: Update libwebp to 1.0.3 3983, libimagequant to 2.12.5 3993, freetype to 2.10.1 3991
[radarhere]

- Change overflow check to use PY_SSIZE_T_MAX 3964
[radarhere]

- Report reason for pytest skips 3942
[hugovk]

6.1.0

------------------

- Deprecate Image.__del__ 3929
[jdufresne]

- Tiff: Add support for JPEG quality 3886
[olt]

- Respect the PKG_CONFIG environment variable when building 3928
[chewi]

- Use explicit memcpy() to avoid unaligned memory accesses 3225
[DerDakon]

- Improve encoding of TIFF tags 3861
[olt]

- Update Py_UNICODE to Py_UCS4 3780
[nulano]

- Consider I;16 pixel size when drawing 3899
[radarhere]

- Add TIFFTAG_SAMPLEFORMAT to blocklist 3926
[cgohlke, radarhere]

- Create GIF deltas from background colour of GIF frames if disposal mode is 2 3708
[sircinnamon, radarhere]

- Added ImageSequence all_frames 3778
[radarhere]

- Use unsigned int to store TIFF IFD offsets 3923
[cgohlke]

- Include CPPFLAGS when searching for libraries 3819
[jefferyto]

- Updated TIFF tile descriptors to match current decoding functionality 3795
[dmnisson]

- Added an ``image.entropy()`` method (second revision) 3608
[fish2000]

- Pass the correct types to PyArg_ParseTuple 3880
[QuLogic]

- Fixed crash when loading non-font bytes 3912
[radarhere]

- Fix SPARC memory alignment issues in Pack/Unpack functions 3858
[kulikjak]

- Added CMYK;16B and CMYK;16N unpackers 3913
[radarhere]

- Fixed bugs in calculating text size 3864
[radarhere]

- Add __main__.py to output basic format and support information 3870
[jdufresne]

- Added variation font support 3802
[radarhere]

- Do not down-convert if image is LA when showing with PNG format 3869
[radarhere]

- Improve handling of PSD frames 3759
[radarhere]

- Improved ICO and ICNS loading 3897
[radarhere]

- Changed Preview application path so that it is no longer static 3896
[radarhere]

- Corrected ttb text positioning 3856
[radarhere]

- Handle unexpected ICO image sizes 3836
[radarhere]

- Fixed bits value for RGB;16N unpackers 3837
[kkopachev]

- Travis CI: Add Fedora 30, remove Fedora 28 3821
[hugovk]

- Added reading of CMYK;16L TIFF images 3817
[radarhere]

- Fixed dimensions of 1-bit PDFs 3827
[radarhere]

- Fixed opening mmap image through Path on Windows 3825
[radarhere]

- Fixed ImageDraw arc gaps 3824
[radarhere]

- Expand GIF to include frames with extents outside the image size 3822
[radarhere]

- Fixed ImageTk getimage 3814
[radarhere]

- Fixed bug in decoding large images 3791
[radarhere]

- Fixed reading APP13 marker without Photoshop data 3771
[radarhere]

- Added option to include layered windows in ImageGrab.grab on Windows 3808
[radarhere]

- Detect libimagequant when installed by pacman on MingW 3812
[radarhere]

- Fixed raqm layout bug 3787
[radarhere]

- Fixed loading font with non-Unicode path on Windows 3785
[radarhere]

- Travis CI: Upgrade PyPy from 6.0.0 to 7.1.1 3783
[hugovk, johnthagen]

- Depends: Updated openjpeg to 2.3.1 3794, raqm to 0.7.0 3877, libimagequant to 2.12.3 3889
[radarhere]

- Fix numpy bool bug 3790
[radarhere]

6.0.0

------------------

- Python 2.7 support will be removed in Pillow 7.0.0 3682
[hugovk]

- Add EXIF class 3625
[radarhere]

- Add ImageOps exif_transpose method 3687
[radarhere]

- Added warnings to deprecated CMSProfile attributes 3615
[hugovk]

- Documented reading TIFF multiframe images 3720
[akuchling]

- Improved speed of opening an MPO file 3658
[Glandos]

- Update palette in quantize 3721
[radarhere]

- Improvements to TIFF is_animated and n_frames 3714
[radarhere]

- Fixed incompatible pointer type warnings 3754
[radarhere]

- Improvements to PA and LA conversion and palette operations 3728
[radarhere]

- Consistent DPI rounding 3709
[radarhere]

- Change size of MPO image to match frame 3588
[radarhere]

- Read Photoshop resolution data 3701
[radarhere]

- Ensure image is mutable before saving 3724
[radarhere]

- Correct remap_palette documentation 3740
[radarhere]

- Promote P images to PA in putalpha 3726
[radarhere]

- Allow RGB and RGBA values for new P images 3719
[radarhere]

- Fixed TIFF bug when seeking backwards and then forwards 3713
[radarhere]

- Cache EXIF information 3498
[Glandos]

- Added transparency for all PNG greyscale modes 3744
[radarhere]

- Fix deprecation warnings in Python 3.8 3749
[radarhere]

- Fixed GIF bug when rewinding to a non-zero frame 3716
[radarhere]

- Only close original fp in __del__ and __exit__ if original fp is exclusive 3683
[radarhere]

- Fix BytesWarning in Tests/test_numpy.py 3725
[jdufresne]

- Add missing MIME types and extensions 3520
[pirate486743186]

- Add I;16 PNG save 3566
[radarhere]

- Add support for BMP RGBA bitfield compression 3705
[radarhere]

- Added ability to set language for text rendering 3693
[iwsfutcmd]

- Only close exclusive fp on Image __exit__ 3698
[radarhere]

- Changed EPS subprocess stdout from devnull to None 3635
[radarhere]

- Add reading old-JPEG compressed TIFFs 3489
[kkopachev]

- Add EXIF support for PNG 3674
[radarhere]

- Add option to set dither param on quantize 3699
[glasnt]

- Add reading of DDS uncompressed RGB data 3673
[radarhere]

- Correct length of Tiff BYTE tags 3672
[radarhere]

- Add DIB saving and loading through Image open 3691
[radarhere]

- Removed deprecated VERSION 3624
[hugovk]

- Fix 'BytesWarning: Comparison between bytes and string' in PdfDict 3580
[jdufresne]

- Do not resize in Image.thumbnail if already the destination size 3632
[radarhere]

- Replace .seek() magic numbers with io.SEEK_* constants 3572
[jdufresne]

- Make ContainerIO.isatty() return a bool, not int 3568
[jdufresne]

- Add support to all transpose operations for I;16 modes 3563, 3741
[radarhere]

- Deprecate support for PyQt4 and PySide 3655
[hugovk, radarhere]

- Add TIFF compression codecs: LZMA, Zstd, WebP 3555
[cgohlke]

- Fixed pickling of iTXt class with protocol > 1 3537
[radarhere]

- _util.isPath returns True for pathlib.Path objects 3616
[wbadart]

- Remove unnecessary unittest.main() boilerplate from test files 3631
[jdufresne]

- Exif: Seek to IFD offset 3584
[radarhere]

- Deprecate PIL.*ImagePlugin.__version__ attributes 3628
[jdufresne]

- Docs: Add note about ImageDraw operations that exceed image bounds 3620
[radarhere]

- Allow for unknown PNG chunks after image data 3558
[radarhere]

- Changed EPS subprocess stdin from devnull to None 3611
[radarhere]

- Fix possible integer overflow 3609
[cgohlke]

- Catch BaseException for resource cleanup handlers 3574
[jdufresne]

- Improve pytest configuration to allow specific tests as CLI args 3579
[jdufresne]

- Drop support for Python 3.4 3596
[hugovk]

- Remove deprecated PIL.OleFileIO 3598
[hugovk]

- Remove deprecated ImageOps undocumented functions 3599
[hugovk]

- Depends: Update libwebp to 1.0.2 3602
[radarhere]

- Detect MIME types 3525
[radarhere]

5.4.1

------------------

- File closing: Only close __fp if not fp 3540
[radarhere]

- Fix build for Termux 3529
[pslacerda]

- PNG: Detect MIME types 3525
[radarhere]

- PNG: Handle IDAT chunks after image end 3532
[radarhere]

5.4.0

------------------

- Docs: Improved ImageChops documentation 3522
[radarhere]

- Allow RGB and RGBA values for P image putpixel 3519
[radarhere]

- Add APNG extension to PNG plugin 3501
[pirate486743186, radarhere]

- Lookup ld.so.cache instead of hardcoding search paths 3245
[pslacerda]

- Added custom string TIFF tags 3513
[radarhere]

- Improve setup.py configuration 3395
[diorcety]

- Read textual chunks located after IDAT chunks for PNG 3506
[radarhere]

- Performance: Don't try to hash value if enum is empty 3503
[Glandos]

- Added custom int and float TIFF tags 3350
[radarhere]

- Fixes for issues reported by static code analysis 3393
[frenzymadness]

- GIF: Wait until mode is normalized to copy im.info into encoderinfo 3187
[radarhere]

- Docs: Add page of deprecations and removals 3486
[hugovk]

- Travis CI: Upgrade PyPy from 5.8.0 to 6.0 3488
[hugovk]

- Travis CI: Allow lint job to fail 3467
[hugovk]

- Resolve __fp when closing and deleting 3261
[radarhere]

- Close exclusive fp before discarding 3461
[radarhere]

- Updated open files documentation 3490
[radarhere]

- Added libjpeg_turbo to check_feature 3493
[radarhere]

- Change color table index background to tuple when saving as WebP 3471
[radarhere]

- Allow arbitrary number of comment extension subblocks 3479
[radarhere]

- Ensure previous FLI frame is loaded before seeking to the next 3478
[radarhere]

- ImageShow improvements 3450
[radarhere]

- Depends: Update libimagequant to 2.12.2 3442, libtiff to 4.0.10 3458, libwebp to 1.0.1 3468, Tk Tcl to 8.6.9 3465
[radarhere]

- Check quality_layers type 3464
[radarhere]

- Add context manager, __del__ and close methods to TarIO 3455
[radarhere]

- Test: Do not play sound when running screencapture command 3454
[radarhere]

- Close exclusive fp on open exception 3456
[radarhere]

- Only close existing fp in WebP if fp is exclusive 3418
[radarhere]

- Docs: Re-add the downloads badge 3443
[hugovk]

- Added negative index to PixelAccess 3406
[Nazime]

- Change tuple background to global color table index when saving as GIF 3385
[radarhere]

- Test: Improved ImageGrab tests 3424
[radarhere]

- Flake8 fixes 3422, 3440
[radarhere, hugovk]

- Only ask for YCbCr->RGB libtiff conversion for jpeg-compressed tiffs 3417
[kkopachev]

- Optimise ImageOps.fit by combining resize and crop 3409
[homm]

5.3.0

------------------

- Changed Image size property to be read-only by default 3203
[radarhere]

- Add warnings if image file identification fails due to lack of WebP support 3169
[radarhere, hugovk]

- Hide the Ghostscript progress dialog popup on Windows 3378
[hugovk]

- Adding support to reading tiled and YcbCr jpeg tiffs through libtiff 3227
[kkopachev]

- Fixed None as TIFF compression argument 3310
[radarhere]

- Changed GIF seek to remove previous info items 3324
[radarhere]

- Improved PDF document info 3274
[radarhere]

- Add line width parameter to rectangle and ellipse-based shapes 3094
[hugovk, radarhere]

- Fixed decompression bomb check in _crop 3313
[dinkolubina, hugovk]

- Added support to ImageDraw.floodfill for non-RGB colors 3377
[radarhere]

- Tests: Avoid catching unexpected exceptions in tests 2203
[jdufresne]

- Use TextIOWrapper.detach() instead of NoCloseStream 2214
[jdufresne]

- Added transparency to matrix conversion 3205
[radarhere]

- Added ImageOps pad method 3364
[radarhere]

- Give correct extrema for I;16 format images 3359
[bz2]

- Added PySide2 3279
[radarhere]

- Corrected TIFF tags 3369
[radarhere]

- CI: Install CFFI and pycparser without any PYTHONOPTIMIZE 3374
[hugovk]

- Read/Save RGB webp as RGB (instead of RGBX) 3298
[kkopachev]

- ImageDraw: Add line joints 3250
[radarhere]

- Improved performance of ImageDraw floodfill method 3294
[yo1995]

- Fix builds with --parallel 3272
[hsoft]

- Add more raw Tiff modes (RGBaX, RGBaXX, RGBAX, RGBAXX) 3335
[homm]

- Close existing WebP fp before setting new fp 3341
[radarhere]

- Add orientation, compression and id_section as TGA save keyword arguments 3327
[radarhere]

- Convert int values of RATIONAL TIFF tags to floats 3338
[radarhere, wiredfool]

- Fix code for PYTHONOPTIMIZE 3233
[hugovk]

- Changed ImageFilter.Kernel to subclass ImageFilter.BuiltinFilter, instead of the other way around 3273
[radarhere]

- Remove unused draw.draw_line, draw.draw_point and font.getabc methods 3232
[hugovk]

- Tests: Added ImageFilter tests 3295
[radarhere]

- Tests: Added ImageChops tests 3230
[hugovk, radarhere]

- AppVeyor: Download lib if not present in pillow-depends 3316
[radarhere]

- Travis CI: Add Python 3.7 and Xenial 3234
[hugovk]

- Docs: Added documentation for NumPy conversion 3301
[radarhere]

- Depends: Update libimagequant to 2.12.1 3281
[radarhere]

- Add three-color support to ImageOps.colorize 3242
[tsennott]

- Tests: Add LA to TGA test modes 3222
[danpla]

- Skip outline if the draw operation fills with the same colour 2922
[radarhere]

- Flake8 fixes 3173, 3380
[radarhere]

- Avoid deprecated 'U' mode when opening files 2187
[jdufresne]

5.2.0

------------------

- Fixed saving a multiframe image as a single frame PDF 3137
[radarhere]

- If a Qt version is already imported, attempt to use it first 3143
[radarhere]

- Fix transform fill color for alpha images 3147
[fozcode]

- TGA: Add support for writing RLE data 3186
[danpla]

- TGA: Read and write LA data 3178
[danpla]

- QuantOctree.c: Remove erroneous attempt to average over an empty range 3196
[tkoeppe]

- Changed ICNS format tests to pass on OS X 10.11 3202
[radarhere]

- Fixed bug in ImageDraw.multiline_textsize() 3114
[tianyu139]

- Added getsize_multiline support for PIL.ImageFont 3113
[tianyu139]

- Added ImageFile get_format_mimetype method 3190
[radarhere]

- Changed mmap file pointer to use context manager 3216
[radarhere]

- Changed ellipse point calculations to be more evenly distributed 3142
[radarhere]

- Only extract first Exif segment 2946
[hugovk]

- Tests: Test ImageDraw2, WalImageFile 3135, 2989
[hugovk]

- Remove unnecessary 'if 0' code 3075
[hugovk]

- Tests: Added GD tests 1817
[radarhere]

- Fix collections ABCs DeprecationWarning in Python 3.7 3123
[hugovk]

- unpack_from is faster than unpack of slice 3201
[landfillbaby]

- Docs: Add coordinate system links and file handling links in documentation 3204, 3214
[radarhere]

- Tests: TestFilePng: Fix test_save_l_transparency() 3182
[danpla]

- Docs: Correct argument name 3171
[radarhere]

- Docs: Update CMake download URL 3166
[radarhere]

- Docs: Improve Image.transform documentation 3164
[radarhere]

- Fix transform fillcolor argument when image mode is RGBA or LA 3163
[radarhere]

- Tests: More specific Exception testing 3158
[radarhere]

- Add getrgb HSB/HSV color strings 3148
[radarhere]

- Allow float values in getrgb HSL color string 3146
[radarhere]

- AppVeyor: Upgrade to Python 2.7.15 and 3.4.4 3140
[radarhere]

- AppVeyor: Upgrade to PyPy 6.0.0 3133
[hugovk]

- Deprecate PILLOW_VERSION and VERSION 3090
[hugovk]

- Support Python 3.7 3076
[hugovk]

- Depends: Update freetype to 2.9.1, libjpeg to 9c, libwebp to 1.0.0 3121, 3136, 3108
[radarhere]

- Build macOS wheels with Xcode 6.4, supporting older macOS versions 3068
[wiredfool]

- Fix _i2f compilation on some GCC versions 3067
[homm]

- Changed encoderinfo to have priority over info when saving GIF images 3086
[radarhere]

- Rename PIL.version to PIL._version and remove it from module 3083
[homm]

- Enable background colour parameter on rotate 3057
[storesource]

- Remove unnecessary ``if 1`` directive 3072
[jdufresne]

- Remove unused Python class, Path 3070
[jdufresne]

- Fix dereferencing type-punned pointer will break strict-aliasing 3069
[jdufresne]

5.1.0

------------------

- Close fp before return in ImagingSavePPM 3061
[kathryndavies]

- Added documentation for ICNS append_images 3051
[radarhere]

- Docs: Move intro text below its header 3021
[hugovk]

- CI: Rename appveyor.yml as .appveyor.yml 2978
[hugovk]

- Fix TypeError for JPEG2000 parser feed 3042
[hugovk]

- Certain corrupted jpegs can result in no data read 3023
[kkopachev]

- Add support for BLP file format 3007
[jleclanche]

- Simplify version checks 2998
[hugovk]

- Fix "invalid escape sequence" warning on Python 3.6+ 2996
[timgraham]

- Allow append_images to set .icns scaled images 3005
[radarhere]

- Support appending to existing PDFs 2965
[vashek]

- Fix and improve efficient saving of ICNS on macOS 3004
[radarhere]

- Build: Enable pip cache in AppVeyor build 3009
[thijstriemstra]

- Trim trailing whitespace 2985
[Metallicow]

- Docs: Correct reference to Image.new method 3000
[radarhere]

- Rearrange ImageFilter classes into alphabetical order 2990
[radarhere]

- Test: Remove duplicate line 2983
[radarhere]

- Build: Update AppVeyor PyPy version 3003
[radarhere]

- Tiff: Open 8 bit Tiffs with 5 or 6 channels, discarding extra channels 2938
[homm]

- Readme: Added Twitter badge 2930
[hugovk]

- Removed __main__ code from ImageCms 2942
[radarhere]

- Test: Changed assert statements to unittest calls 2961
[radarhere]

- Depends: Update libimagequant to 2.11.10, raqm to 0.5.0, freetype to 2.9 3036, 3017, 2957
[radarhere]

- Remove _imaging.crc32 in favor of builtin Python crc32 implementation 2935
[wiredfool]

- Move Tk directory to src directory 2928
[hugovk]

- Enable pip cache in Travis CI 2933
[jdufresne]

- Remove unused and duplicate imports 2927
[radarhere]

- Docs: Changed documentation references to 2.x to 2.7 2921
[radarhere]

- Fix memory leak when opening webp files 2974
[wiredfool]

- Setup: Fix "TypeError: 'NoneType' object is not iterable" for PPC and CRUX 2951
[hugovk]

- Setup: Add libdirs for ppc64le and armv7l 2968
[nehaljwani]

5.0.0

------------------

- Docs: Added docstrings from documentation 2914
[radarhere]

- Test: Switch from nose to pytest 2815
[hugovk]

- Rework Source directory layout, preventing accidental import of PIL. 2911
[wiredfool]

- Dynamically link libraqm 2753
[wiredfool]

- Removed scripts directory 2901
[wiredfool]

- TIFF: Run all compressed tiffs through libtiff decoder 2899
[wiredfool]

- GIF: Add disposal option when saving GIFs 2902
[linnil1, wiredfool]

- EPS: Allow for an empty line in EPS header data 2903
[radarhere]

- PNG: Add support for sRGB and cHRM chunks, permit sRGB when no iCCP chunk present 2898
[wiredfool]

- Dependencies: Update Tk Tcl to 8.6.8 2905
[radarhere]

- Decompression bomb error now raised for images 2x larger than a decompression bomb warning 2583
[wiredfool]

- Test: avoid random failure in test_effect_noise 2894
[hugovk]

- Increased epsilon for test_file_eps.py:test_showpage due to Arch update. 2896
[wiredfool]

- Removed check parameter from _save in BmpImagePlugin, PngImagePlugin, ImImagePlugin, PalmImagePlugin, and PcxImagePlugin. 2873
[radarhere]

- Make PngImagePlugin.add_text() zip argument type bool 2890
[jdufresne]

- Depends: Updated libwebp to 0.6.1 2880
[radarhere]

- Remove unnecessary bool() calls in Image.registered_extensions and skipKnownBadTests 2891
[jdufresne]

- Fix count of BITSPERSAMPLE items in broken TIFF files 2883
[homm]

- Fillcolor parameter for Image.Transform 2852
[wiredfool]

- Test: Display differences for test failures 2862
[wiredfool]

- Added executable flag to file with shebang line 2884
[radarhere]

- Setup: Specify compatible Python versions for pip 2877
[hugovk]

- Dependencies: Updated libimagequant to 2.11.4 2878
[radarhere]

- Setup: Warn if trying to install for Py3.7 on Windows 2855
[hugovk]

- Doc: Fonts can be loaded from a file-like object, not just filename 2861
[robin-norwood]

- Add eog support for Ubuntu Image Viewer 2864
[NafisFaysal]

- Test: Test on 3.7-dev on Travis CI 2870
[hugovk]

- Dependencies: Update libtiff to 4.0.9 2871
[radarhere]

- Setup: Replace deprecated platform.dist with file existence check 2869
[wiredfool]

- Build: Fix setup.py on Debian 2853
[wiredfool]

- Docs: Correct error in ImageDraw documentation 2858
[meribold]

- Test: Drop Ubuntu Precise, Fedora 24, Fedora 25, add Fedora 27, Centos 7, Amazon v2 CI Support 2854, 2843, 2895, 2897
[wiredfool]

- Dependencies: Updated libimagequant to 2.11.3 2849
[radarhere]

- Test: Fix test_image.py to use tempfile 2841
[radarhere]

- Replace PIL.OleFileIO deprecation warning with descriptive ImportError 2833
[hugovk]

- WebP: Add support for animated WebP files 2761
[jd20]

- PDF: Set encoderinfo for images when saving multi-page PDF. Fixes 2804. 2805
[ixio]

- Allow the olefile dependency to be optional 2789
[jdufresne]

- GIF: Permit LZW code lengths up to 12 bits in GIF decode 2813
[wiredfool]

- Fix unterminated string and unchecked exception in _font_text_asBytes. 2825
[wiredfool]

- PPM: Use fixed list of whitespace, rather relying on locale, fixes 272. 2831
[markmiscavage]

- Added support for generators when using append_images 2829, 2835
[radarhere]

- Doc: Correct PixelAccess.rst 2824
[hasahmed]

- Depends: Update raqm to 0.3.0 2822
[radarhere]

- Docs: Link to maintained version of aggdraw 2809
[hugovk]

- Include license file in the generated wheel packages 2801
[jdufresne]

- Depends: Update openjpeg to 2.3.0 2791
[radarhere]

- Add option to Makefile to build and install with C coverage 2781
[hugovk]

- Add context manager support to ImageFile.Parser and PngImagePlugin.ChunkStream 2793
[radarhere]

- ImageDraw.textsize: fix zero length error 2788
[wiredfool, hugovk]

4.3.0

------------------

- Fix warning on pointer cast in isblock 2775, 2778
[cgohlke]

- Doc: Added macOS High Sierra tested Pillow version 2777
[radarhere]

- Use correct Windows handle type on 64 bit in imagingcms  2774
[cgohlke]

- 64 Bit Windows fix for block storage 2773
[cgohlke]

- Fix "expression result unused" warning 2764
[radarhere]

- Add 16bit Read/Write and RLE read support to SgiImageFile 2769
[jbltx, wiredfool]

- Block & array hybrid storage 2738
[homm]

- Common seek frame position check 1849
[radarhere]

- Doc: Add note about aspect ratio to Image thumbnail script 2281
[wilsonge]

- Fix ValueError: invalid version number '1.0.0rc1' in scipy release candidate 2771
[cgohlke]

- Unfreeze requirements.txt 2766
[hugovk]

- Test: ResourceWarning tests 2756
[hugovk]

- Use n_frames to determine is_animated if possible 2315
[radarhere]

- Doc: Corrected parameters in documentation 2768
[radarhere]

- Avoid unnecessary Image operations 1891
[radarhere]

- Added register_extensions method 1860
[radarhere]

- Fix TIFF support for I;16S, I;16BS, and I;32BS rawmodes 2748
[wiredfool]

- Fixed doc syntax in ImageDraw 2752
[radarhere]

- Fixed support for building on Windows/msys2. Added Appveyor CI coverage for python3 on msys2 2746
[wiredfool]

- Fix ValueError in Exif/Tiff IFD 2719
[wiredfool]

- Use pathlib2 for Path objects on Python < 3.4 2291
[asergi]

- Export only required properties in unsafe_ptrs 2740
[homm]

- Alpha composite fixes 2709
[homm]

- Faster Transpose operations, added 'Transverse' option 2730
[homm]

- Deprecate ImageOps undocumented functions gaussian_blur, gblur, unsharp_mask, usm and box_blur in favor of ImageFilter implementations 2735
[homm]

- Dependencies: Updated freetype to 2.8.1 2741
[radarhere]

- Bug: Player skipped first image 2742
[radarhere]

- Faster filter operations for Kernel, Gaussian, and Unsharp Mask filters 2679
[homm]

- EPS: Add showpage to force rendering of some EPS images 2636
[kaplun]

- DOC: Fix type of palette parameter in Image.quantize. 2703
[kkopachev]

- DOC: Fix Ico docs to match code 2712
[hugovk]

- Added file pointer save to SpiderImagePlugin 2647
[radarhere]

- Add targa version 2 footer 2713
[jhultgre]

- Removed redundant lines 2714
[radarhere]

- Travis CI: Use default pypy/pypy3 2721
[hugovk]

- Fix for SystemError when rendering an empty string, added in 4.2.0 2706
[wiredfool]

- Fix for memory leaks in font handling added in 4.2.0 2634
[wiredfool]

- Tests:  cleanup, more tests. Fixed WMF save handler 2689
[radarhere]

- Removed debugging interface for Image.core.grabclipboard 2708
[radarhere]

- Doc syntax fix 2710
[radarhere]

- Faster packing and unpacking for RGB, LA, and related storage modes 2693
[homm]

- Use RGBX rawmode for RGB JPEG images where possible 1989
[homm]

- Remove palettes from non-palette modes in _new 2704
[wiredfool]

- Delete transparency info when convert'ing RGB/L to RGBA 2633
[olt]

- Code tweaks to ease type annotations 2687
[neiljp]

- Fixed incorrect use of 's' to byteslike object 2691
[wiredfool]

- Fix JPEG subsampling labels for subsampling=2  2698
[homm]

- Region of interest (box) for resampling 2254
[homm]

- Basic support for Termux (android) in setup.py 2684
[wiredfool]

- Bug: Fix Image.fromarray for numpy.bool type. 2683
[wiredfool]

- CI: Add Fedora 24 and 26 to Docker tests
[wiredfool]

- JPEG: Fix ZeroDivisionError when EXIF contains invalid DPI (0/0). 2667
[vytisb]

- Depends: Updated openjpeg to 2.2.0 2669
[radarhere]

- Depends: Updated Tk Tcl to 8.6.7 2668
[radarhere]

- Depends: Updated libimagequant to 2.10.2 2660
[radarhere]

- Test: Added test for ImImagePlugin tell() 2675
[radarhere]

- Test: Additional tests for SGIImagePlugin 2659
[radarhere]

- New Image.getchannel method 2661
[homm]

- Remove unused im.copy2 and core.copy methods 2657
[homm]

- Fast Image.merge() 2677
[homm]

- Fast Image.split() 2676
[homm]

- Fast image allocation 2655
[homm]

- Storage cleanup 2654
[homm]

- FLI: Use frame count from FLI header 2674
[radarhere]

- Test: Test animated FLI file 2650
[hugovk]

- Bug: Fixed uninitialized memory in bc5 decoding 2648
[ifeherva]

- Moved SgiImagePlugin save error to before the start of write operations 2646
[radarhere]

- Move createfontdatachunk.py so isn't installed globally 2645
[hugovk]

- Bug: Fix unexpected keyword argument 'align' 2641
[hugovk]

- Add newlines to error message for clarity 2640
[hugovk]

- Docs: Updated redirected URL 2637
[radarhere]

- Bug: Fix JPEG DPI when EXIF is invalid 2632
[wiredfool]

- Bug: Fix for font getsize on empty string 2624
[radarhere]

- Docs: Improved ImageDraw documentation 2626
[radarhere]

- Docs: Corrected alpha_composite args documentation 2627
[radarhere]

- Docs: added the description of the filename attribute to images.rst 2621
[dasdachs]

- Dependencies: Updated libimagequant to 2.10.1 2616
[radarhere]

- PDF: Renamed parameter to not shadow built-in dict 2612
[kijeong]

4.2.1

------------------

- CI: Fix version specification and test on CI for PyPy/Windows 2608
[wiredfool]

4.2.0

------------------

- Doc: Clarified Image.save:append_images documentation 2604
[radarhere]

- CI: Amazon Linux and Centos6 docker images added to Travis CI 2585
[wiredfool]

- Image.alpha_composite added 2595
[wiredfool]

- Complex Text Support 2576
[ShamsaHamed, Fahad-Alsaidi, wiredfool]

- Added threshold parameter to ImageDraw.floodfill 2599
[nediamond]

- Added dBATCH parameter to ghostscript command 2588
[radarhere]

- JPEG: Adjust buffer size when icc_profile > MAXBLOCK 2596
[Darou]

- Specify Pillow Version in one place 2517
[wiredfool]

- CI: Change the owner of the TRAVIS_BUILD_DIR, fixing broken docker runs 2587
[wiredfool]

- Fix truncated PNG loading for some images, Fix memory leak on truncated PNG images. 2541, 2598
[homm]

- Add decompression bomb check to Image.crop 2410
[wiredfool]

- ImageFile: Ensure that the ``err_code`` variable is initialized in case of exception. 2363
[alexkiro]

- Tiff: Support append_images for saving multipage TIFFs 2406
[blochl]

- Doc: Clarify that draft is only implemented for JPEG and PCD 2409
[wiredfool]

- Test: MicImagePlugin 2447
[hugovk]

- Use round() instead of floor() to eliminate zero coefficients in resample 2558
[homm]

- Remove deprecated code 2549
[hugovk]

- Added append_images to PDF saving 2526
[radarhere]

- Remove unused function core image function new_array 2548
[hugovk]

- Remove unnecessary calls to dict.keys() 2551
[jdufresne]

- Add more ImageDraw.py tests and remove unused Draw.c code 2533
[hugovk]

- Test: More tests for ImageMorph 2554
[hugovk]

- Test: McIDAS area file 2552
[radarhere]

- Update Feature Detection 2520
[wiredfool]

- CI: Update pypy on Travis CI 2573
[hugovk]

- ImageMorph: Fix wrong expected size of MRLs read from disk 2561
[dov]

- Docs: Update install docs for FreeBSD 2546
[wiredfool]

- Build: Ignore OpenJpeg 1.5 on FreeBSD 2544
[melvyn-sopacua]

- Remove 'not yet implemented' methods from PIL 1.1.4 2538
[hugovk]

- Dependencies: Update FreeType to 2.8, LibTIFF to 4.0.8 and libimagequant to 2.9.1 2535 2537 2540
[radarhere]

- Raise TypeError and not also UnboundLocalError in ImageFile.Parser() 2525
[joshblum]

- Test: Use Codecov for coverage 2528
[hugovk]

- Use PNG for Image.show() 2527
[HinTak, wiredfool]

- Remove WITH_DEBUG compilation flag 2522
[wiredfool]

- Fix return value on parameter parse error in _webp.c 2521
[adw1n]

- Set executable flag on scripts with shebang line 2295
[radarhere]

- Flake8 2460
[radarhere]

- Doc: Release Process Changes 2516
[wiredfool]

- CI: Added region for s3 deployment on appveyor 2515
[wiredfool]

- Doc: Updated references to point to existing files 2507
[radarhere]

- Return copy on Image crop if crop dimensions match the image 2471
[radarhere]

- Test: Optimize CI speed 2464, 2466
[hugovk]

4.1.1

------------------

- Undef PySlice_GetIndicesEx, see https://bugs.python.org/issue29943 #2493
[cgohlke]

- Fix for file with DPI in EXIF but not metadata, and XResolution is an int rather than tuple 2484
[hugovk]

- Docs: Removed broken download counter badge 2487
[hugovk]

- Docs: Fixed rst syntax error 2477
[thebjorn]

4.1.0

------------------

- Close files after loading if possible 2330
[homm, wiredfool]

- Fix Image Access to be reloadable when embedding the Python interpreter 2296
[wiredfool, cgohlke]

- Fetch DPI from EXIF if not specified in JPEG header 2449, 2472
[hugovk]

- Removed winbuild checksum verification 2468
[radarhere]

- Git: Set ContainerIO test file as binary 2469
[cgohlke]

- Remove superfluous import of FixTk 2455
[cgohlke)

- Fix import of tkinter/Tkinter 2456
[cgohlke)

- Pure Python Decoders, including Python decoder to fix for MSP images 1938
[wiredfool, hugovk]

- Reorganized GifImagePlugin, fixes 2314.  2374
[radarhere, wiredfool]

- Doc: Reordered operating systems in Compatibility Matrix 2436
[radarhere]

- Test: Additional tests for BufrStub, Eps, Container, GribStub, IPTC, Wmf, XVThumb, ImageDraw, ImageMorph, ImageShow 2425
[radarhere]

- Health fixes 2437
[radarhere]

- Test: Correctness tests ContainerIO, XVThumbImagePlugin, BufrStubImagePlugin, GribStubImagePlugin, FitsStubImagePlugin, Hdf5StubImagePlugin, PixarImageFile, PsdImageFile 2443, 2442, 2441, 2440, 2431, 2430, 2428, 2427
[hugovk]

- Remove unused imports 1822
[radarhere]

- Replaced KeyError catch with dictionary get method 2424
[radarhere]

- Test: Removed unrunnable code in test_image_toqimage 2415
[hugovk]

- Removed use of spaces in TIFF kwargs names, deprecated in 2.7 1390
[radarhere]

- Removed deprecated ImageDraw setink, setfill, setfont methods 2220
[jdufresne]

- Send unwanted subprocess output to /dev/null 2253
[jdufresne]

- Fix division by zero when creating 0x0 image from numpy array 2419
[hugovk]

- Test: Added matrix convert tests 2381
[hugovk]

- Replaced broken URL to partners.adobe.com 2413
[radarhere]

- Removed unused private functions in setup.py and build_dep.py 2414
[radarhere]

- Test: Fixed Qt tests for QT5 and saving 1 bit PNG 2394
[wiredfool]

- Test: docker builds for Arch and Debian Stretch 2394
[wiredfool]

- Updated libwebp to 0.6.0 on appveyor 2395
[radarhere]

- More explicit error message when saving to a file with invalid extension 2399
[ces42]

- Docs: Update some http urls to https 2403
[hugovk]

- Preserve aux/alpha channels when performing Imagecms transforms 2355
[gunjambi]

- Test linear and radial gradient effects 2382
[hugovk]

- Test ImageDraw.Outline and and ImageDraw.Shape 2389
[hugovk]

- Added PySide to ImageQt documentation 2392
[radarhere]

- BUG: Empty image mode no longer causes a crash 2380
[evalapply]

- Exclude .travis and contents from manifest 2386
[radarhere]

- Remove 'MIT-like' from license 2145
[wiredfool]

- Tests: Add tests for several Image operations 2379
[radarhere]

- PNG: Moved iCCP chunk before PLTE chunk when saving as PNG, restricted chunks known value/ordering 2347
[radarhere]

- Default to inch-interpretation for missing ResolutionUnit in TiffImagePlugin 2365
[lambdafu]

- Bug: Fixed segfault when using ImagingTk on pypy Issue 2376, 2359.
[wiredfool]

- Bug: Fixed Integer overflow using ImagingTk on 32 bit platforms 2359
[wiredfool, QuLogic]

- Tests: Added docker images for testing alternate platforms. See also https://github.com/python-pillow/docker-images. #2368
[wiredfool]

- Removed PIL 1.0 era TK readme that concerns Windows 95/NT 2360
[wiredfool]

- Prevent ``nose -v`` printing docstri

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant