|
| 1 | +12.0.0 |
| 2 | +------ |
| 3 | + |
| 4 | +Security |
| 5 | +======== |
| 6 | + |
| 7 | +TODO |
| 8 | +^^^^ |
| 9 | + |
| 10 | +TODO |
| 11 | + |
| 12 | +:cve:`YYYY-XXXXX`: TODO |
| 13 | +^^^^^^^^^^^^^^^^^^^^^^^ |
| 14 | + |
| 15 | +TODO |
| 16 | + |
| 17 | +Backwards incompatible changes |
| 18 | +============================== |
| 19 | + |
| 20 | +ImageFile.raise_oserror |
| 21 | +^^^^^^^^^^^^^^^^^^^^^^^ |
| 22 | + |
| 23 | +``ImageFile.raise_oserror()`` has been removed. The function was undocumented and was |
| 24 | +only useful for translating error codes returned by a codec's ``decode()`` method, |
| 25 | +which ImageFile already did automatically. |
| 26 | + |
| 27 | +IptcImageFile helper functions |
| 28 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 29 | + |
| 30 | +The functions ``IptcImageFile.dump`` and ``IptcImageFile.i``, and the constant |
| 31 | +``IptcImageFile.PAD`` have been removed. These were undocumented helper functions |
| 32 | +intended for internal use, so there is no replacement. They can each be replaced by a |
| 33 | +single line of code using builtin functions in Python. |
| 34 | + |
| 35 | +ImageCms constants and versions() function |
| 36 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 37 | + |
| 38 | +A number of constants and a function in :py:mod:`.ImageCms` have been removed. This |
| 39 | +includes a table of flags based on LittleCMS version 1 which has been replaced with a |
| 40 | +new class :py:class:`.ImageCms.Flags` based on LittleCMS 2 flags. |
| 41 | + |
| 42 | +============================================ ==================================================== |
| 43 | +Deprecated Use instead |
| 44 | +============================================ ==================================================== |
| 45 | +``ImageCms.DESCRIPTION`` No replacement |
| 46 | +``ImageCms.VERSION`` ``PIL.__version__`` |
| 47 | +``ImageCms.FLAGS["MATRIXINPUT"]`` :py:attr:`.ImageCms.Flags.CLUT_POST_LINEARIZATION` |
| 48 | +``ImageCms.FLAGS["MATRIXOUTPUT"]`` :py:attr:`.ImageCms.Flags.FORCE_CLUT` |
| 49 | +``ImageCms.FLAGS["MATRIXONLY"]`` No replacement |
| 50 | +``ImageCms.FLAGS["NOWHITEONWHITEFIXUP"]`` :py:attr:`.ImageCms.Flags.NOWHITEONWHITEFIXUP` |
| 51 | +``ImageCms.FLAGS["NOPRELINEARIZATION"]`` :py:attr:`.ImageCms.Flags.CLUT_PRE_LINEARIZATION` |
| 52 | +``ImageCms.FLAGS["GUESSDEVICECLASS"]`` :py:attr:`.ImageCms.Flags.GUESSDEVICECLASS` |
| 53 | +``ImageCms.FLAGS["NOTCACHE"]`` :py:attr:`.ImageCms.Flags.NOCACHE` |
| 54 | +``ImageCms.FLAGS["NOTPRECALC"]`` :py:attr:`.ImageCms.Flags.NOOPTIMIZE` |
| 55 | +``ImageCms.FLAGS["NULLTRANSFORM"]`` :py:attr:`.ImageCms.Flags.NULLTRANSFORM` |
| 56 | +``ImageCms.FLAGS["HIGHRESPRECALC"]`` :py:attr:`.ImageCms.Flags.HIGHRESPRECALC` |
| 57 | +``ImageCms.FLAGS["LOWRESPRECALC"]`` :py:attr:`.ImageCms.Flags.LOWRESPRECALC` |
| 58 | +``ImageCms.FLAGS["GAMUTCHECK"]`` :py:attr:`.ImageCms.Flags.GAMUTCHECK` |
| 59 | +``ImageCms.FLAGS["WHITEBLACKCOMPENSATION"]`` :py:attr:`.ImageCms.Flags.BLACKPOINTCOMPENSATION` |
| 60 | +``ImageCms.FLAGS["BLACKPOINTCOMPENSATION"]`` :py:attr:`.ImageCms.Flags.BLACKPOINTCOMPENSATION` |
| 61 | +``ImageCms.FLAGS["SOFTPROOFING"]`` :py:attr:`.ImageCms.Flags.SOFTPROOFING` |
| 62 | +``ImageCms.FLAGS["PRESERVEBLACK"]`` :py:attr:`.ImageCms.Flags.NONEGATIVES` |
| 63 | +``ImageCms.FLAGS["NODEFAULTRESOURCEDEF"]`` :py:attr:`.ImageCms.Flags.NODEFAULTRESOURCEDEF` |
| 64 | +``ImageCms.FLAGS["GRIDPOINTS"]`` :py:attr:`.ImageCms.Flags.GRIDPOINTS()` |
| 65 | +``ImageCms.versions()`` :py:func:`PIL.features.version_module` with |
| 66 | + ``feature="littlecms2"``, :py:data:`sys.version` or |
| 67 | + :py:data:`sys.version_info`, and ``PIL.__version__`` |
| 68 | +============================================ ==================================================== |
| 69 | + |
| 70 | +ImageMath eval() |
| 71 | +^^^^^^^^^^^^^^^^ |
| 72 | + |
| 73 | +``ImageMath.eval()`` has been removed. Use :py:meth:`~PIL.ImageMath.lambda_eval` or |
| 74 | +:py:meth:`~PIL.ImageMath.unsafe_eval` instead. |
| 75 | + |
| 76 | +BGR;15, BGR 16 and BGR;24 |
| 77 | +^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 78 | + |
| 79 | +The experimental BGR;15, BGR;16 and BGR;24 modes have been removed. |
| 80 | + |
| 81 | +Non-image modes in ImageCms |
| 82 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 83 | + |
| 84 | +The use in :py:mod:`.ImageCms` of input modes and output modes that are not Pillow |
| 85 | +image modes has been removed. Defaulting to "L" or "1" if the mode cannot be mapped has |
| 86 | +also been removed. |
| 87 | + |
| 88 | +Support for LibTIFF earlier than 4 |
| 89 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 90 | + |
| 91 | +Support for LibTIFF earlier than version 4 has been removed. |
| 92 | +Upgrade to a newer version of LibTIFF instead. |
| 93 | + |
| 94 | +ImageDraw.getdraw hints parameter |
| 95 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 96 | + |
| 97 | +The ``hints`` parameter in :py:meth:`~PIL.ImageDraw.getdraw()` has been removed. |
| 98 | + |
| 99 | +FreeType 2.9.0 |
| 100 | +^^^^^^^^^^^^^^ |
| 101 | + |
| 102 | +Support for FreeType 2.9.0 has been removed. FreeType 2.9.1 is the minimum version |
| 103 | +supported. |
| 104 | + |
| 105 | +We recommend upgrading to at least FreeType `2.10.4`_, which fixed a severe |
| 106 | +vulnerability introduced in FreeType 2.6 (:cve:`2020-15999`). |
| 107 | + |
| 108 | +.. _2.10.4: https://sourceforge.net/projects/freetype/files/freetype2/2.10.4/ |
| 109 | + |
| 110 | +Deprecations |
| 111 | +============ |
| 112 | + |
| 113 | +TODO |
| 114 | +^^^^ |
| 115 | + |
| 116 | +TODO |
| 117 | + |
| 118 | +API changes |
| 119 | +=========== |
| 120 | + |
| 121 | +TODO |
| 122 | +^^^^ |
| 123 | + |
| 124 | +TODO |
| 125 | + |
| 126 | +API additions |
| 127 | +============= |
| 128 | + |
| 129 | +TODO |
| 130 | +^^^^ |
| 131 | + |
| 132 | +TODO |
| 133 | + |
| 134 | +Other changes |
| 135 | +============= |
| 136 | + |
| 137 | +TODO |
| 138 | +^^^^ |
| 139 | + |
| 140 | +TODO |
0 commit comments