mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 01:47:47 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			213 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			213 lines
		
	
	
		
			7.0 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 :pypi:`olefile` Python package, and replaced with an :py:exc:`ImportError`. The
 | 
						|
deprecated file has now been removed from Pillow. If needed, install from PyPI (eg.
 | 
						|
``python3 -m 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.
 | 
						|
 | 
						|
ImageCms.CmsProfile attributes
 | 
						|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
						|
 | 
						|
Some attributes in ``ImageCms.CmsProfile`` have been deprecated since Pillow 3.2.0. From
 | 
						|
6.0.0, they issue a :py:exc:`DeprecationWarning`:
 | 
						|
 | 
						|
========================  ===============================
 | 
						|
Deprecated                Use instead
 | 
						|
========================  ===============================
 | 
						|
``color_space``           Padded ``xcolor_space``
 | 
						|
``pcs``                   Padded ``connection_space``
 | 
						|
``product_copyright``     Unicode ``copyright``
 | 
						|
``product_desc``          Unicode ``profile_description``
 | 
						|
``product_description``   Unicode ``profile_description``
 | 
						|
``product_manufacturer``  Unicode ``manufacturer``
 | 
						|
``product_model``         Unicode ``model``
 | 
						|
========================  ===============================
 | 
						|
 | 
						|
MIME type improvements
 | 
						|
^^^^^^^^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
Previously, all JPEG2000 images had the MIME type "image/jpx". This has now been
 | 
						|
corrected. After the file format drivers have been loaded, ``Image.MIME["JPEG2000"]``
 | 
						|
will return "image/jp2". ``ImageFile.get_format_mimetype`` will return "image/jpx" if
 | 
						|
a JPX profile is present, or "image/jp2" otherwise.
 | 
						|
 | 
						|
Previously, all SGI images had the MIME type "image/rgb". This has now been
 | 
						|
corrected. After the file format drivers have been loaded, ``Image.MIME["SGI"]``
 | 
						|
will return "image/sgi". ``ImageFile.get_format_mimetype`` will return "image/rgb" if
 | 
						|
RGB image data is present, or "image/sgi" otherwise.
 | 
						|
 | 
						|
MIME types have been added to the PPM format. After the file format drivers have been
 | 
						|
loaded, ``Image.MIME["PPM"]`` will now return the generic "image/x-portable-anymap".
 | 
						|
``ImageFile.get_format_mimetype`` will return a MIME type specific to the color type.
 | 
						|
 | 
						|
The TGA, PCX and ICO formats also now have MIME types: "image/x-tga", "image/x-pcx" and
 | 
						|
"image/x-icon" respectively.
 | 
						|
 | 
						|
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 :py:meth:`~PIL.Image.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()``
 | 
						|
 | 
						|
Added EXIF class
 | 
						|
^^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
:py:meth:`~PIL.Image.Image.getexif` has been added, which returns an
 | 
						|
:py:class:`~PIL.Image.Exif` instance. Values can be retrieved and set like a
 | 
						|
dictionary. When saving JPEG, PNG or WEBP, the instance can be passed as an
 | 
						|
``exif`` argument to include any changes in the output image.
 | 
						|
 | 
						|
Added ImageOps.exif_transpose
 | 
						|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
:py:meth:`~PIL.ImageOps.exif_transpose` returns a copy of an image, transposed
 | 
						|
according to its EXIF Orientation tag.
 | 
						|
 | 
						|
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 be present in :py:attr:`~PIL.Image.Image.info`
 | 
						|
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.
 | 
						|
 | 
						|
TIFF compression codecs
 | 
						|
^^^^^^^^^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
Support has been added for the LZMA, Zstd and WebP TIFF compression codecs.
 | 
						|
 | 
						|
Improved support for transposing I;16 images
 | 
						|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
						|
 | 
						|
I;16, I;16L and I;16B are now supported image modes for all
 | 
						|
:py:meth:`~PIL.Image.Image.transpose` operations.
 |