Merge pull request #2473 from wiredfool/release-notes

Release notes/Docs 4.1.0
This commit is contained in:
wiredfool 2017-04-03 23:34:50 +01:00 committed by GitHub
commit fa237bdcb3
4 changed files with 172 additions and 52 deletions

View File

@ -325,64 +325,93 @@ Prerequisites are installed on **Fedora 23** with::
Platform Support
----------------
Current platform support for Pillow. Binary distributions are contributed for
each release on a volunteer basis, but the source should compile and run
everywhere platform support is listed. In general, we aim to support all
current versions of Linux, macOS, and Windows.
Current platform support for Pillow. Binary distributions are
contributed for each release on a volunteer basis, but the source
should compile and run everywhere platform support is listed. In
general, we aim to support all current versions of Linux, macOS, and
Windows. Note that Android is not currently supported, but there have
been reports of success.
Continuous Integration Targets
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
These platforms are built and tested for every change.
+----------------------------------+-------------------------------+-----------------------+
|**Operating system** |**Tested Python versions** |**Tested Architecture**|
+----------------------------------+-------------------------------+-----------------------+
| Alpine | 2.7 |x86-64 |
+----------------------------------+-------------------------------+-----------------------+
| Arch | 2.7 |x86-64 |
+----------------------------------+-------------------------------+-----------------------+
| Debian Stretch | 2.7 |x86 |
+----------------------------------+-------------------------------+-----------------------+
| Mac OS X 10.10 Yosemite* | 2.7, 3.3, 3.4, 3.5, 3.6 |x86-64 |
+----------------------------------+-------------------------------+-----------------------+
| Ubuntu Linux 16.04 LTS | 2.7 |x86-64 |
+----------------------------------+-------------------------------+-----------------------+
| Ubuntu Linux 14.04 LTS | 2.7, 3.3, 3.4, 3.5, 3.6, |x86-64 |
| | pypy, pypy3 | |
| | | |
| | 2.7 |x86 |
+----------------------------------+-------------------------------+-----------------------+
| Ubuntu Linux 12.04 LTS | 2.7 |x86-64 |
+----------------------------------+-------------------------------+-----------------------+
| Windows Server 2012 R2 | 2.7,3.3,3.4 |x86, x86-64 |
+----------------------------------+-------------------------------+-----------------------+
* Mac OS X CI is not run for every commit, but is run for every release.
Other Platforms
^^^^^^^^^^^^^^^
These platforms have been reported to work at the versions mentioned.
.. note::
Contributors please test Pillow on your platform then update this
document and send a pull request.
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
|**Operating system** |**Supported**|**Tested Python versions** |**Latest tested Pillow version**|**Tested processors** |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| macOS 10.12 Sierra |Yes | 3.4,3.5,3.6 | 4.0.0 |x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Mac OS X 10.11 El Capitan |Yes | 2.7,3.3,3.4,3.5 | 3.4.1 |x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Mac OS X 10.10 Yosemite |Yes | 2.7,3.3,3.4 | 3.0.0 |x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Mac OS X 10.9 Mavericks |Yes | 2.7,3.2,3.3,3.4 | 3.0.0 |x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Mac OS X 10.8 Mountain Lion |Yes | 2.6,2.7,3.2,3.3 | |x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Redhat Linux 6 |Yes | 2.6 | |x86 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| CentOS 6.3 |Yes | 2.7,3.3 | |x86 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Fedora 23 |Yes | 2.7,3.4 | 3.1.0 |x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Ubuntu Linux 14.04 LTS |Yes | 2.7,3.4 | 3.1.0 |x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Ubuntu Linux 12.04 LTS |Yes | 2.6,2.7,3.2,3.3,3.4,3.5 | 3.4.1 (CI target) |x86,x86-64 |
| | | PyPy5.3.1,PyPy3 v2.4.0 | | |
| | | | | |
| | | 2.7,3.2 | 3.4.1 |ppc |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Ubuntu Linux 10.04 LTS |Yes | 2.6 | 2.3.0 |x86,x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Debian 8.2 Jessie |Yes | 2.7,3.4 | 3.1.0 |x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Raspian Jessie |Yes | 2.7,3.4 | 3.1.0 |arm |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Gentoo Linux |Yes | 2.7,3.2 | 2.1.0 |x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Arch Linux |Yes | 2.7,3.6 | 4.0.0 |x86,x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| FreeBSD 10.2 |Yes | 2.7,3.4 | 3.1.0 |x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Windows 8.1 Pro |Yes | 2.6,2.7,3.2,3.3,3.4 | 2.4.0 |x86,x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Windows 8 Pro |Yes | 2.6,2.7,3.2,3.3,3.4a3 | 2.2.0 |x86,x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Windows 7 Pro |Yes | 2.7,3.2,3.3 | 3.4.1 |x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Windows Server 2012 R2 |Yes | 2.7,3.3,3.4 | 3.4.1 (CI target) |x86,x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
| Windows Server 2008 R2 Enterprise|Yes | 3.3 | |x86-64 |
+----------------------------------+-------------+------------------------------+--------------------------------+-----------------------+
+----------------------------------+------------------------------+--------------------------------+-----------------------+
|**Operating system** |**Tested Python versions** |**Latest tested Pillow version**|**Tested processors** |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| macOS 10.12 Sierra | 3.4,3.5,3.6 | 4.0.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Mac OS X 10.11 El Capitan | 2.7,3.3,3.4,3.5 | 4.1.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Mac OS X 10.9 Mavericks | 2.7,3.2,3.3,3.4 | 3.0.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Mac OS X 10.8 Mountain Lion | 2.6,2.7,3.2,3.3 | |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Redhat Linux 6 | 2.6 | |x86 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| CentOS 6.3 | 2.7,3.3 | |x86 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Fedora 23 | 2.7,3.4 | 3.1.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Ubuntu Linux 12.04 LTS | 2.6,2.7,3.2,3.3,3.4,3.5 | 3.4.1 |x86,x86-64 |
| | PyPy5.3.1,PyPy3 v2.4.0 | | |
| | | | |
| | 2.7,3.2 | 3.4.1 |ppc |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Ubuntu Linux 10.04 LTS | 2.6 | 2.3.0 |x86,x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Debian 8.2 Jessie | 2.7,3.4 | 3.1.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Raspian Jessie | 2.7,3.4 | 3.1.0 |arm |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Gentoo Linux | 2.7,3.2 | 2.1.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| FreeBSD 10.2 | 2.7,3.4 | 3.1.0 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Windows 8.1 Pro | 2.6,2.7,3.2,3.3,3.4 | 2.4.0 |x86,x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Windows 8 Pro | 2.6,2.7,3.2,3.3,3.4a3 | 2.2.0 |x86,x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Windows 7 Pro | 2.7,3.2,3.3 | 3.4.1 |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
| Windows Server 2008 R2 Enterprise| 3.3 | |x86-64 |
+----------------------------------+------------------------------+--------------------------------+-----------------------+
Old Versions
------------

View File

@ -88,10 +88,13 @@ Registering plugins
ignore them.
.. autofunction:: register_open
.. autofunction:: register_decoder
.. autofunction:: register_mime
.. autofunction:: register_save
.. autofunction:: register_encoder
.. autofunction:: register_extension
The Image Class
---------------
@ -135,6 +138,7 @@ ITU-R 709, using the D65 luminant) to the CIE XYZ color space:
.. automethod:: PIL.Image.Image.putpixel
.. automethod:: PIL.Image.Image.quantize
.. automethod:: PIL.Image.Image.resize
.. automethod:: PIL.Image.Image.remap_palette
.. automethod:: PIL.Image.Image.rotate
.. automethod:: PIL.Image.Image.save
.. automethod:: PIL.Image.Image.seek

View File

@ -0,0 +1,86 @@
4.1.0
-----
Removed Deprecated Items
========================
Several deprecated items have been removed.
* Support for spaces in tiff kwargs the parameters for 'x resolution', 'y
resolution', 'resolution unit', and 'date time' has been
removed. Underscores should be used instead.
* The methods :py:meth:`PIL.ImageDraw.ImageDraw.setink`,
:py:meth:`PIL.ImageDraw.ImageDraw.setfill`, and
:py:meth:`PIL.ImageDraw.ImageDraw.setfont` have been removed.
Closing Files When Opening Images
=================================
The file handling when opening images has been overhauled. Previously,
there Pillow would attempt to close some, but not all image formats
after loading the image data, but not all. Now, the following behavior
is specified:
* For images where an open file is passed in, it is the
responsibility of the calling code to close the file.
* For images where Pillow opens the file and the file is known to have
only one frame, the file is closed after loading.
* If the file has more than one frame, or if it can't be determined,
then the file is left open to permit seeking to subsequent
frames. It will be closed, eventually, in the ``close`` or
``__del__`` methods
* If the image is memory mapped, then we can't close the mapping to
the underlying file until we are done with the image. The mapping
will be closed in the ``close`` or ``__del__`` method.
Changes to GIF Handling When Saving
===================================
The :py:class:`PIL.GifImagePlugin` code has been refactored to fix the flow when
saving images. There are two external changes that arise from this:
* An :py:class:`PIL.ImagePalette.ImagePalette` object is now accepted
as a specified palette argument in :py:meth:`PIL.Image.Image.save()`.
* The image to be saved is no longer modified in place by any of the
operations of the save function. Previously it was modified when
optimizing the image palette.
This refactor fixed some bugs with palette handling when saving
multiple frame GIFs.
New Method: Image.remap_palette
===============================
The method :py:meth:`PIL.Image.Image.remap_palette()` has been
added. This method was hoisted from the GifImagePlugin code used to
optimize the palette.
Added Decoder Registry and Support for Python Based Decoders
============================================================
There is now a decoder registry similar to the image plugin
registries. Image plugins can register a decoder, and it will be
called when the decoding is requested. This allows for the creation of
pure Python decoders. While the python decoders will not be as fast as
their C based counterparts, they may be easier and quicker to develop
or safer to run.
Tests
=====
Many tests have been added, including correctness tests for image
formats that have been previously untested.
We are now running automated tests in Docker containers against more
Linux versions than are provided on TravisCi, which is currently
Ubuntu 14.04 x64. This Pillow release is tested on 64 bit Alpine,
Arch, Ubuntu 12.04 and 16.04, and 32 bit Debian Stretch and Ubuntu
14.04. This also covers a wider range of dependency versions than are
provided on Travis natively.

View File

@ -6,6 +6,7 @@ Release Notes
.. toctree::
:maxdepth: 2
4.1.0
4.0.0
3.4.0
3.3.2