mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-01 00:17:27 +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.
 |