From 023d017da00f8adb8de86719509145c405369ac8 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Apr 2024 18:26:20 +1000 Subject: [PATCH] Deprecate libtiff < 4 --- docs/deprecations.rst | 8 ++++++++ src/PIL/TiffImagePlugin.py | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/docs/deprecations.rst b/docs/deprecations.rst index c3d1ba4f0..91bc150b3 100644 --- a/docs/deprecations.rst +++ b/docs/deprecations.rst @@ -100,6 +100,14 @@ ImageMath eval() ``ImageMath.eval()`` has been deprecated. Use :py:meth:`~PIL.ImageMath.lambda_eval` or :py:meth:`~PIL.ImageMath.unsafe_eval` instead. +Support for libtiff earlier than 4 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. deprecated:: 10.4.0 + +Support for libtiff earlier than 4 has been deprecated. Upgrade to a newer version of +libtiff instead. + Removed features ---------------- diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 10ac9ea3a..13bcf5d86 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -56,6 +56,7 @@ from . import ExifTags, Image, ImageFile, ImageOps, ImagePalette, TiffTags from ._binary import i16be as i16 from ._binary import i32be as i32 from ._binary import o8 +from ._deprecate import deprecate from .TiffTags import TYPES logger = logging.getLogger(__name__) @@ -276,6 +277,9 @@ PREFIXES = [ b"II\x2B\x00", # BigTIFF with little-endian byte order ] +if not getattr(Image.core, "libtiff_support_custom_tags", True): + deprecate("Support for libtiff earlier than 4", 12) + def _accept(prefix: bytes) -> bool: return prefix[:4] in PREFIXES