mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-11-10 19:56:47 +03:00
150 lines
5.2 KiB
ReStructuredText
150 lines
5.2 KiB
ReStructuredText
|
10.0.0
|
||
|
------
|
||
|
|
||
|
Backwards Incompatible Changes
|
||
|
==============================
|
||
|
|
||
|
Categories
|
||
|
^^^^^^^^^^
|
||
|
|
||
|
``im.category`` has been removed, along with the related ``Image.NORMAL``,
|
||
|
``Image.SEQUENCE`` and ``Image.CONTAINER`` attributes.
|
||
|
|
||
|
To determine if an image has multiple frames or not,
|
||
|
``getattr(im, "is_animated", False)`` can be used instead.
|
||
|
|
||
|
Tk/Tcl 8.4
|
||
|
^^^^^^^^^^
|
||
|
|
||
|
Support for Tk/Tcl 8.4 has been removed.
|
||
|
|
||
|
JpegImagePlugin.convert_dict_qtables
|
||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
Since deprecation in Pillow 8.3.0, the ``convert_dict_qtables`` method no longer
|
||
|
performed any operations on the data given to it, and has been removed.
|
||
|
|
||
|
ImagePalette size parameter
|
||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
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.
|
||
|
|
||
|
ImageShow.Viewer.show_file file argument
|
||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
The ``file`` argument in :py:meth:`~PIL.ImageShow.Viewer.show_file()` has been
|
||
|
removed and replaced by ``path``.
|
||
|
|
||
|
In effect, ``viewer.show_file("test.jpg")`` will continue to work unchanged.
|
||
|
|
||
|
Constants
|
||
|
^^^^^^^^^
|
||
|
|
||
|
A number of constants have been removed.
|
||
|
Instead, ``enum.IntEnum`` classes have been added.
|
||
|
|
||
|
===================================================== ============================================================
|
||
|
Removed Use instead
|
||
|
===================================================== ============================================================
|
||
|
``Image.LINEAR`` ``Image.BILINEAR`` or ``Image.Resampling.BILINEAR``
|
||
|
``Image.CUBIC`` ``Image.BICUBIC`` or ``Image.Resampling.BICUBIC``
|
||
|
``Image.ANTIALIAS`` ``Image.LANCZOS`` or ``Image.Resampling.LANCZOS``
|
||
|
``ImageCms.INTENT_PERCEPTUAL`` ``ImageCms.Intent.PERCEPTUAL``
|
||
|
``ImageCms.INTENT_RELATIVE_COLORMETRIC`` ``ImageCms.Intent.RELATIVE_COLORMETRIC``
|
||
|
``ImageCms.INTENT_SATURATION`` ``ImageCms.Intent.SATURATION``
|
||
|
``ImageCms.INTENT_ABSOLUTE_COLORIMETRIC`` ``ImageCms.Intent.ABSOLUTE_COLORIMETRIC``
|
||
|
``ImageCms.DIRECTION_INPUT`` ``ImageCms.Direction.INPUT``
|
||
|
``ImageCms.DIRECTION_OUTPUT`` ``ImageCms.Direction.OUTPUT``
|
||
|
``ImageCms.DIRECTION_PROOF`` ``ImageCms.Direction.PROOF``
|
||
|
``ImageFont.LAYOUT_BASIC`` ``ImageFont.Layout.BASIC``
|
||
|
``ImageFont.LAYOUT_RAQM`` ``ImageFont.Layout.RAQM``
|
||
|
``BlpImagePlugin.BLP_FORMAT_JPEG`` ``BlpImagePlugin.Format.JPEG``
|
||
|
``BlpImagePlugin.BLP_ENCODING_UNCOMPRESSED`` ``BlpImagePlugin.Encoding.UNCOMPRESSED``
|
||
|
``BlpImagePlugin.BLP_ENCODING_DXT`` ``BlpImagePlugin.Encoding.DXT``
|
||
|
``BlpImagePlugin.BLP_ENCODING_UNCOMPRESSED_RAW_RGBA`` ``BlpImagePlugin.Encoding.UNCOMPRESSED_RAW_RGBA``
|
||
|
``BlpImagePlugin.BLP_ALPHA_ENCODING_DXT1`` ``BlpImagePlugin.AlphaEncoding.DXT1``
|
||
|
``BlpImagePlugin.BLP_ALPHA_ENCODING_DXT3`` ``BlpImagePlugin.AlphaEncoding.DXT3``
|
||
|
``BlpImagePlugin.BLP_ALPHA_ENCODING_DXT5`` ``BlpImagePlugin.AlphaEncoding.DXT5``
|
||
|
``FtexImagePlugin.FORMAT_DXT1`` ``FtexImagePlugin.Format.DXT1``
|
||
|
``FtexImagePlugin.FORMAT_UNCOMPRESSED`` ``FtexImagePlugin.Format.UNCOMPRESSED``
|
||
|
``PngImagePlugin.APNG_DISPOSE_OP_NONE`` ``PngImagePlugin.Disposal.OP_NONE``
|
||
|
``PngImagePlugin.APNG_DISPOSE_OP_BACKGROUND`` ``PngImagePlugin.Disposal.OP_BACKGROUND``
|
||
|
``PngImagePlugin.APNG_DISPOSE_OP_PREVIOUS`` ``PngImagePlugin.Disposal.OP_PREVIOUS``
|
||
|
``PngImagePlugin.APNG_BLEND_OP_SOURCE`` ``PngImagePlugin.Blend.OP_SOURCE``
|
||
|
``PngImagePlugin.APNG_BLEND_OP_OVER`` ``PngImagePlugin.Blend.OP_OVER``
|
||
|
===================================================== ============================================================
|
||
|
|
||
|
FitsStubImagePlugin
|
||
|
^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
The stub image plugin ``FitsStubImagePlugin`` has been removed.
|
||
|
FITS images can be read without a handler through :mod:`~PIL.FitsImagePlugin` instead.
|
||
|
|
||
|
FreeTypeFont.getmask2 fill parameter
|
||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
The undocumented ``fill`` parameter of :py:meth:`.FreeTypeFont.getmask2` has been
|
||
|
removed.
|
||
|
|
||
|
PhotoImage.paste box parameter
|
||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
The ``box`` parameter was unused and has been removed.
|
||
|
|
||
|
PyQt5 and PySide2
|
||
|
^^^^^^^^^^^^^^^^^
|
||
|
|
||
|
`Qt 5 reached end-of-life <https://www.qt.io/blog/qt-5.15-released>`_ on 2020-12-08 for
|
||
|
open-source users (and will reach EOL on 2023-12-08 for commercial licence holders).
|
||
|
|
||
|
Support for PyQt5 and PySide2 has been removed from ``ImageQt``. Upgrade to
|
||
|
`PyQt6 <https://www.riverbankcomputing.com/static/Docs/PyQt6/>`_ or
|
||
|
`PySide6 <https://doc.qt.io/qtforpython/>`_ instead.
|
||
|
|
||
|
Image.coerce_e
|
||
|
^^^^^^^^^^^^^^
|
||
|
|
||
|
This undocumented method has been removed.
|
||
|
|
||
|
Deprecations
|
||
|
============
|
||
|
|
||
|
TODO
|
||
|
^^^^
|
||
|
|
||
|
TODO
|
||
|
|
||
|
API Changes
|
||
|
===========
|
||
|
|
||
|
TODO
|
||
|
^^^^
|
||
|
|
||
|
TODO
|
||
|
|
||
|
API Additions
|
||
|
=============
|
||
|
|
||
|
TODO
|
||
|
^^^^
|
||
|
|
||
|
TODO
|
||
|
|
||
|
Security
|
||
|
========
|
||
|
|
||
|
TODO
|
||
|
^^^^
|
||
|
|
||
|
TODO
|
||
|
|
||
|
Other Changes
|
||
|
=============
|
||
|
|
||
|
TODO
|
||
|
^^^^
|
||
|
|
||
|
TODO
|