API Changes

Replaced TiffImagePlugin DEBUG with logging

TiffImagePlugin.DEBUG = True has been a way to print various debugging information when interacting with TIFF images. This has now been removed in favour of Python’s logging module, already used in other places in the Pillow source code.

Corrected default offset when writing EXIF data

Previously, the default offset argument for tobytes() was 0, which did not include the magic header. It is now 8.

Moved to ImageFileDirectory_v2 in Image.Exif

Moved from the legacy PIL.TiffImagePlugin.ImageFileDirectory_v1 to PIL.TiffImagePlugin.ImageFileDirectory_v2 in PIL.Image.Exif. This means that Exif RATIONALs and SIGNED_RATIONALs are now read as PIL.TiffImagePlugin.IFDRational, instead of as a tuple with a numerator and a denominator.

TIFF BYTE tags format

TIFF BYTE tags were previously read as a tuple containing a bytestring. They are now read as just a single bytestring.


Image.show command parameter

The command parameter was deprecated and will be removed in a future release. Use a subclass of PIL.ImageShow.Viewer instead.


Image._showxv has been deprecated. Use show() instead. If custom behaviour is required, use register() to add a custom Viewer class.


IOError was merged into OSError in Python 3.3. So, ImageFile.raise_ioerror is now deprecated and will be removed in a future release. Use ImageFile.raise_oserror instead.