8.4.0#

API Changes#

Deprecations#

ImagePalette size parameter#

The size parameter will be removed in Pillow 10.0.0 (2023-07-01).

Before Pillow 8.3.0, ImagePalette required palette data of particular lengths by default, and the size parameter could be used to override that. Pillow 8.3.0 removed the default required length, also removing the need for the size parameter.

API Additions#

Added “transparency” argument for loading EPS images#

This new argument switches the Ghostscript device from “ppmraw” to “pngalpha”, generating an RGBA image with a transparent background instead of an RGB image with a white background.

with Image.open("sample.eps") as im:
    im.load(transparency=True)

Added WalImageFile class#

PIL.WalImageFile.open() previously returned a generic PIL.Image.Image instance. It now returns a dedicated PIL.WalImageFile.WalImageFile class.

Other Changes#

Speed improvement when rotating square images#

Starting with Pillow 3.3.0, the speed of rotating images by 90 or 270 degrees was improved by quickly returning transpose() instead, if the rotate operation allowed for expansion and did not specify a center or post-rotate translation.

Since the expand flag makes no difference for square images though, Pillow now uses this faster method for square images without the expand flag as well.