

Image moduleImageChops (“channel operations”) moduleImageCms moduleImageColor moduleImageDraw moduleImageEnhance moduleImageFile moduleImageFilter moduleImageFont moduleImageGrab moduleImageMath moduleImageMorph moduleImageOps moduleImagePalette moduleImagePath moduleImageQt moduleImageSequence moduleImageShow moduleImageStat moduleImageText moduleImageTk moduleImageTransform moduleImageWin module (Windows-only)ExifTags moduleTiffTags moduleJpegPresets modulePSDraw modulePixelAccess classfeatures moduleThere is now support for using libimagequant as a higher qualityquantization option inImage.quantize() on Unix-likeplatforms. This support requires building Pillow from source againstlibimagequant. We cannot distribute binaries due to licensingdifferences.
There are two new options to control thebuild_ext task insetup.py:
--debug dumps all of the directories and files that arechecked when searching for libraries or headers when building theextensions.
--disable-platform-guessing removes many of the directoriesthat are checked for libraries and headers for build systems orcross compilers that specify that information in via environmentvariables.
Image resampling for 8-bit per channel images was rewritten using only integercomputings. This is faster on most platforms and doesn’t introduce precisionerrors on the wide range of scales. With other performance improvements, thismakes resampling 60% faster on average.
Color calculation for images in theLA mode on semitransparent pixelswas fixed.
Rotation for angles divisible by 90 degrees now always uses transposition.This greatly improves both quality and performance in this case.Also, the bug with wrong image size calculation when rotating by 90 degreeswas fixed.
The return type for binary data in version 2 Exif and Tiff metadatahas been changed from a tuple of integers to bytes. This is a changefrom the behavior since 3.0.0.