8.3.0¶
Deprecations¶
JpegImagePlugin.convert_dict_qtables¶
JPEG quantization
is now automatically converted, but still returned as a
dictionary. The convert_dict_qtables
method no longer
performs any operations on the data given to it, has been deprecated and will be
removed in Pillow 10.0.0 (2023-01-02).
API Changes¶
Changed WebP default “method” value when saving¶
Previously, it was 0, for the best speed. The default has now been changed to 4, to match WebP’s default, for higher quality with still some speed optimisation.
Default resampling filter for special image modes¶
Pillow 7.0 changed the default resampling filter to Image.BICUBIC
. However, as this
is not supported yet for images with a custom number of bits, the default filter for
those modes has been reverted to Image.NEAREST
.
ImageMorph incorrect mode errors¶
For apply()
, match()
and get_on_pixels()
, if the image mode is not L, an
Exception
was thrown. This has now been changed to a ValueError
.
API Additions¶
ImageOps.contain¶
Returns a resized version of the image, set to the maximum width and height within
size
, while maintaining the original aspect ratio.
To compare it to other ImageOps methods:
fit()
expands an image until is fillssize
, cropping the parts of the image that do not fit.pad()
expands an image to fillsize
, without cropping, but instead filling the extra space withcolor
.contain()
is similar topad()
, but it does not fill the extra space. Instead, the original aspect ratio is maintained. So unlike the other two methods, it is not guaranteed to return an image ofsize
.
ICO saving: bitmap_format argument¶
By default, Pillow saves ICO files in the PNG format. They can now also be saved in BMP
format, through the new bitmap_format
argument:
im.save("out.ico", bitmap_format="bmp")
Security¶
Buffer overflow¶
This release addresses :cve:`CVE-2021-34552`. PIL since 1.1.4 and Pillow since 1.0 allowed parameters passed into a convert function to trigger buffer overflow in Convert.c.
Parsing XML¶
Pillow previously parsed XMP data using Python’s xml
module. However, this module
is not secure.