Pillow/docs/releasenotes/6.0.0.rst
Hugo 33d207b3f0
Move to API Additions, not Deprecations [CI skip]
And some minor editing to make more concise/consistent.
2019-03-12 11:12:19 +02:00

150 lines
4.4 KiB
ReStructuredText

6.0.0
-----
Backwards Incompatible Changes
==============================
Python 3.4 dropped
^^^^^^^^^^^^^^^^^^
Python 3.4 is EOL since 2019-03-16 and no longer supported. We will not be creating
binaries, testing, or retaining compatibility with this version. The final version of
Pillow for Python 3.4 is 5.4.1.
Removed deprecated PIL.OleFileIO
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PIL.OleFileIO was removed as a vendored file and in Pillow 4.0.0 (2017-01) in favour of
the upstream olefile Python package, and replaced with an ``ImportError``. The
deprecated file has now been removed from Pillow. If needed, install from PyPI (eg.
``pip install olefile``).
Removed deprecated ImageOps functions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Several undocumented functions in ``ImageOps`` were deprecated in Pillow 4.3.0 (2017-10)
and have now been removed: ``gaussian_blur``, ``gblur``, ``unsharp_mask``, ``usm`` and
``box_blur``. Use the equivalent operations in ``ImageFilter`` instead.
Removed deprecated VERSION
^^^^^^^^^^^^^^^^^^^^^^^^^^
``VERSION`` (the old PIL version, always 1.1.7) has been removed. Use ``__version__``
instead.
API Changes
===========
Deprecations
^^^^^^^^^^^^
Python 2.7
~~~~~~~~~~
Python 2.7 reaches end-of-life on 2020-01-01.
Pillow 7.0.0 will be released on 2020-01-01 and will drop support for Python 2.7, making
Pillow 6.x the last series to support Python 2.
PyQt4 and PySide
~~~~~~~~~~~~~~~~
Qt 4 reached end-of-life on 2015-12-19. Its Python bindings are also EOL: PyQt4 since
2018-08-31 and PySide since 2015-10-14.
Support for PyQt4 and PySide has been deprecated from ``ImageQt`` and will be removed in
a future version. Please upgrade to PyQt5 or PySide2.
PIL.*ImagePlugin.__version__ attributes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
These version constants have been deprecated and will be removed in a future
version.
* ``BmpImagePlugin.__version__``
* ``CurImagePlugin.__version__``
* ``DcxImagePlugin.__version__``
* ``EpsImagePlugin.__version__``
* ``FliImagePlugin.__version__``
* ``FpxImagePlugin.__version__``
* ``GdImageFile.__version__``
* ``GifImagePlugin.__version__``
* ``IcoImagePlugin.__version__``
* ``ImImagePlugin.__version__``
* ``ImtImagePlugin.__version__``
* ``IptcImagePlugin.__version__``
* ``Jpeg2KImagePlugin.__version__``
* ``JpegImagePlugin.__version__``
* ``McIdasImagePlugin.__version__``
* ``MicImagePlugin.__version__``
* ``MpegImagePlugin.__version__``
* ``MpoImagePlugin.__version__``
* ``MspImagePlugin.__version__``
* ``PalmImagePlugin.__version__``
* ``PcdImagePlugin.__version__``
* ``PcxImagePlugin.__version__``
* ``PdfImagePlugin.__version__``
* ``PixarImagePlugin.__version__``
* ``PngImagePlugin.__version__``
* ``PpmImagePlugin.__version__``
* ``PsdImagePlugin.__version__``
* ``SgiImagePlugin.__version__``
* ``SunImagePlugin.__version__``
* ``TgaImagePlugin.__version__``
* ``TiffImagePlugin.__version__``
* ``WmfImagePlugin.__version__``
* ``XbmImagePlugin.__version__``
* ``XpmImagePlugin.__version__``
* ``XVThumbImagePlugin.__version__``
Use ``PIL.__version__`` instead.
API Additions
=============
DIB file format
^^^^^^^^^^^^^^^
Pillow now supports reading and writing the Device Independent Bitmap file format.
Image.quantize
^^^^^^^^^^^^^^
The ``dither`` option is now a customisable parameter (was previously hardcoded to ``1``).
This parameter takes the same values used in ``Image.convert``.
New language parameter
^^^^^^^^^^^^^^^^^^^^^^
These text-rendering functions now accept a ``language`` parameter to request
language-specific glyphs and ligatures from the font:
* ``ImageDraw.ImageDraw.multiline_text()``
* ``ImageDraw.ImageDraw.multiline_textsize()``
* ``ImageDraw.ImageDraw.text()``
* ``ImageDraw.ImageDraw.textsize()``
* ``ImageFont.ImageFont.getmask()``
* ``ImageFont.ImageFont.getsize_multiline()``
* ``ImageFont.ImageFont.getsize()``
PNG EXIF data
^^^^^^^^^^^^^
EXIF data can now be read from and saved to PNG images. However, unlike other image
formats, EXIF data is not guaranteed to have been read until
:py:meth:`~PIL.Image.Image.load` has been called.
Other Changes
=============
Reading new DDS image format
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Pillow can now read uncompressed RGB data from DDS images.
Reading TIFF with old-style JPEG compression
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Added support reading TIFF files with old-style JPEG compression through LibTIFF. All YCbCr
TIFF images are now always read as RGB.