Skip to content

Commit b5f7779

Browse files
committed
Update release notes to match template for #7864
1 parent 180f37b commit b5f7779

11 files changed

+70
-81
lines changed

docs/releasenotes/10.0.1.rst

+4-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ This release provides an updated install script and updated wheels to
1111
include libwebp 1.3.2, preventing a potential heap buffer overflow in
1212
WebP.
1313

14+
Other Changes
15+
=============
16+
1417
Updated tests to pass with latest zlib version
15-
==============================================
18+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1619

1720
The release of zlib 1.3 caused one of the tests in the Pillow test suite to fail.

docs/releasenotes/10.3.0.rst

+5
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,8 @@ Release GIL when fetching WebP frames
9090

9191
Python's Global Interpreter Lock is now released when fetching WebP frames from
9292
the libwebp decoder.
93+
94+
Add release notes for 2.3.1, 2.3.2, 2.5.2
95+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
96+
97+
TODO

docs/releasenotes/2.7.0.rst

+9-10
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ which filter should be used for resampling. Possible values are:
3535
were changed in this version.
3636

3737
Bicubic and bilinear downscaling
38-
--------------------------------
38+
++++++++++++++++++++++++++++++++
3939

4040
From the beginning ``BILINEAR`` and ``BICUBIC`` filters were based on affine
4141
transformations and used a fixed number of pixels from the source image for
@@ -52,7 +52,7 @@ If you have previously used any tricks to maintain quality when downscaling with
5252
steps), they are unnecessary now.
5353

5454
Antialias renamed to Lanczos
55-
----------------------------
55+
++++++++++++++++++++++++++++
5656

5757
A new ``LANCZOS`` constant was added instead of ``ANTIALIAS``.
5858

@@ -66,19 +66,19 @@ The ``ANTIALIAS`` constant is left for backward compatibility and is an alias
6666
for ``LANCZOS``.
6767

6868
Lanczos upscaling quality
69-
-------------------------
69+
+++++++++++++++++++++++++
7070

7171
The image upscaling quality with ``LANCZOS`` filter was almost the same as
7272
``BILINEAR`` due to a bug. This has been fixed.
7373

7474
Bicubic upscaling quality
75-
-------------------------
75+
+++++++++++++++++++++++++
7676

7777
The ``BICUBIC`` filter for affine transformations produced sharp, slightly
7878
pixelated image for upscaling. Bicubic for convolutions is more soft.
7979

8080
Resize performance
81-
------------------
81+
++++++++++++++++++
8282

8383
In most cases, convolution is more a expensive algorithm for downscaling
8484
because it takes into account all the pixels of source image. Therefore
@@ -95,7 +95,7 @@ The upscaling performance of the ``LANCZOS`` filter has remained the same. For
9595
times.
9696

9797
Default filter for thumbnails
98-
-----------------------------
98+
+++++++++++++++++++++++++++++
9999

100100
In Pillow 2.5 the default filter for :py:meth:`~PIL.Image.Image.thumbnail` was
101101
changed from ``NEAREST`` to ``ANTIALIAS``. Antialias was chosen because all the
@@ -105,7 +105,6 @@ other filters gave poor quality for reduction. Starting from Pillow 2.7.0,
105105
uses supersampling internally, not convolutions.
106106

107107
Image transposition
108-
^^^^^^^^^^^^^^^^^^^
109108

110109
A new method ``TRANSPOSE`` has been added for the
111110
:py:meth:`~PIL.Image.Image.transpose` operation in addition to
@@ -127,7 +126,7 @@ implementations use Gaussian blur internally, all changes from this chapter
127126
are also applicable to it.
128127

129128
Blur radius
130-
-----------
129+
+++++++++++
131130

132131
There was an error in the previous version of Pillow, where blur radius (the
133132
standard deviation of Gaussian) actually meant blur diameter. For example, to
@@ -138,7 +137,7 @@ If you used a Gaussian blur with some radius value, you need to divide this
138137
value by two.
139138

140139
Blur performance
141-
----------------
140+
++++++++++++++++
142141

143142
Box filter computation time is constant relative to the radius and depends
144143
on source image size only. Because the new Gaussian blur implementation
@@ -150,7 +149,7 @@ second for radius 1, 3.6 seconds for radius 10 and 17 seconds for 50, now blur
150149
with any radius on same image is executed for 0.2 seconds.
151150

152151
Blur quality
153-
------------
152+
++++++++++++
154153

155154
The previous implementation takes into account only source pixels within
156155
2 * standard deviation radius for every destination pixel. This was not enough,

docs/releasenotes/3.1.0.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ fixed in Pillow 3.1, and some of them have been extended to have
3434
different behavior.
3535

3636
TiffImagePlugin.IFDRational
37-
---------------------------
37+
+++++++++++++++++++++++++++
3838

3939
Pillow 3.0 changed rational metadata to use a float. In Pillow 3.1,
4040
this has changed to allow the expression of 0/0 as a valid piece of
@@ -52,7 +52,7 @@ This class should be used when adding a rational value to an
5252
ImageFileDirectory for saving to image metadata.
5353

5454
JpegImagePlugin._getexif
55-
------------------------
55+
++++++++++++++++++++++++
5656

5757
In Pillow 3.0, the dictionary returned from the private, experimental,
5858
but generally widely used ``_getexif`` function changed to reflect the
@@ -67,7 +67,7 @@ The format returned by Pillow 3.0 has been abandoned. A more fully
6767
featured interface for EXIF is anticipated in a future release.
6868

6969
Out of Spec Metadata
70-
--------------------
70+
++++++++++++++++++++
7171

7272
In Pillow 3.0 and 3.1, images that contain metadata that is internally
7373
consistent, but not in agreement with the TIFF spec, may cause an

docs/releasenotes/3.2.0.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ The ``GbrImagePlugin`` (GIMP brush format) has been updated to fix
2222
support for version 1 files and add support for version 2 files.
2323

2424
Passthrough Parameters for ImageDraw.text
25-
=========================================
25+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2626

2727
``ImageDraw.multiline_text`` and ``ImageDraw.multiline_size`` take extra
2828
spacing parameters above what are used in ``ImageDraw.text`` and
@@ -31,7 +31,7 @@ spacing parameters above what are used in ``ImageDraw.text`` and
3131
to the corresponding multiline functions.
3232

3333
ImageSequence.Iterator changes
34-
==============================
34+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3535

3636
``ImageSequence.Iterator`` is now an actual iterator implementing the
3737
Iterator protocol. It is also now possible to seek to the first image

docs/releasenotes/4.0.0.rst

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ Other Changes
55
=============
66

77
Python 2.6 and 3.2 Dropped
8-
==========================
8+
^^^^^^^^^^^^^^^^^^^^^^^^^^
99

1010
Pillow 4.0 no longer supports Python 2.6 and 3.2. We will not be
1111
creating binaries, testing, or retaining compatibility with these
1212
releases. This release removes some workarounds for those Python
1313
releases, so the final working version of Pillow on 2.6 or 3.2 is 3.4.2.
1414

1515
Support added for Python 3.6
16-
============================
16+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1717

1818
Pillow 4.0 supports Python 3.6.
1919

2020
OleFileIO.py
21-
============
21+
^^^^^^^^^^^^
2222

2323
``OleFileIO.py`` has been removed as a vendored file and is now installed
2424
from the upstream :pypi:`olefile` PyPI package. All internal dependencies are
@@ -27,27 +27,27 @@ redirected to the olefile package. Direct accesses to
2727
upstream olefile into ``sys.modules`` in its place.
2828

2929
SGI image save
30-
==============
30+
^^^^^^^^^^^^^^
3131

3232
It is now possible to save images in modes ``L``, ``RGB``, and
3333
``RGBA`` to the uncompressed SGI image format.
3434

3535
Zero sized images
36-
=================
36+
^^^^^^^^^^^^^^^^^
3737

3838
Pillow 3.4.0 removed support for creating images with (0,0) size. This
3939
has been reenabled, restoring pre 3.4 behavior.
4040

4141
Internal handles_eof flag
42-
=========================
42+
^^^^^^^^^^^^^^^^^^^^^^^^^
4343

4444
The ``handles_eof flag`` for decoding images has been removed, as there
4545
were no internal users of the flag. Anyone maintaining image decoders
4646
outside of the Pillow source tree should consider using the cleanup
4747
function pointers instead.
4848

4949
Image.core.stretch removed
50-
==========================
50+
^^^^^^^^^^^^^^^^^^^^^^^^^^
5151

5252
The stretch function on the core image object has been removed. This
5353
used to be for enlarging the image, but has been aliased to resize

docs/releasenotes/4.1.0.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,14 @@ This refactor fixed some bugs with palette handling when saving
5858
multiple frame GIFs.
5959

6060
New Method: Image.remap_palette
61-
===============================
61+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6262

6363
The method :py:meth:`PIL.Image.Image.remap_palette()` has been
6464
added. This method was hoisted from the GifImagePlugin code used to
6565
optimize the palette.
6666

6767
Added Decoder Registry and Support for Python Based Decoders
68-
============================================================
68+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6969

7070
There is now a decoder registry similar to the image plugin
7171
registries. Image plugins can register a decoder, and it will be
@@ -75,7 +75,7 @@ their C based counterparts, they may be easier and quicker to develop
7575
or safer to run.
7676

7777
Tests
78-
=====
78+
^^^^^
7979

8080
Many tests have been added, including correctness tests for image
8181
formats that have been previously untested.

docs/releasenotes/5.1.0.rst

+14-17
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,6 @@
11
5.1.0
22
-----
33

4-
Other Changes
5-
=============
6-
7-
New File Format
8-
^^^^^^^^^^^^^^^
9-
10-
BLP File Format
11-
---------------
12-
13-
Pillow now supports reading the BLP "Blizzard Mipmap" file format used
14-
for tiles in Blizzard's engine.
15-
16-
WebP memory leak
17-
^^^^^^^^^^^^^^^^
18-
19-
A memory leak when opening ``WebP`` files has been fixed.
20-
214
API Changes
225
===========
236

@@ -34,3 +17,17 @@ Append to PDF Files
3417

3518
Images can now be appended to PDF files in place by passing in
3619
``append=True`` when saving the image.
20+
21+
Other Changes
22+
=============
23+
24+
New BLP File Format
25+
^^^^^^^^^^^^^^^^^^^
26+
27+
Pillow now supports reading the BLP "Blizzard Mipmap" file format used
28+
for tiles in Blizzard's engine.
29+
30+
WebP memory leak
31+
^^^^^^^^^^^^^^^^
32+
33+
A memory leak when opening ``WebP`` files has been fixed.

docs/releasenotes/6.2.2.rst

+3-18
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,8 @@ If an FPX image reports that it has a large number of bands, a large amount of
1313
resources will be used when trying to process the image. This is fixed by
1414
limiting the number of bands to those usable by Pillow.
1515

16-
:cve:`2020-5310`: Overflow checks added to TIFF image processing
17-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
16+
:cve:`2020-5310`, :cve:`2020-5311`, :cve:`2020-5312`, :cve:`2020-5313`: Overflow checks added
17+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1818

1919
Overflow checks have been added when calculating the size of a memory block to be reallocated
20-
in the processing of a TIFF image.
21-
22-
:cve:`2020-5311`: Overflow checks added to SGI image processing
23-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
24-
25-
Buffer overruns were found when processing an SGI image. Checks have been added to prevent this.
26-
27-
:cve:`2020-5312`: Overflow checks added to PCX image processing
28-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
29-
30-
Buffer overruns were found when processing a PCX image. Checks have been added to prevent this.
31-
32-
:cve:`2020-5313`: Overflow checks added to FLI image processing
33-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
34-
35-
Buffer overruns were found when processing an FLI image. Checks have been added to prevent this.
20+
in the processing of TIFF, SGI, PCX and FLI images.

docs/releasenotes/8.3.1.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ with a ``dtype`` argument.
2222
>>>
2323
2424
Catch OSError when checking if destination is sys.stdout
25-
========================================================
25+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2626

2727
In 8.3.0, a check to see if the destination was ``sys.stdout`` when saving an image was
2828
updated. This lead to an :py:exc:`OSError` being raised if the environment restricted

docs/releasenotes/9.4.0.rst

+19-19
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,25 @@
11
9.4.0
22
-----
33

4+
Security
5+
========
6+
7+
Fix memory DOS in ImageFont
8+
^^^^^^^^^^^^^^^^^^^^^^^^^^^
9+
10+
A corrupt or specially crafted TTF font could have font metrics that lead to
11+
unreasonably large sizes when rendering text in font. ``ImageFont.py`` did not
12+
check the image size before allocating memory for it. This dates to the PIL
13+
fork. Pillow 8.2.0 added a check for large sizes, but did not consider the
14+
case where one dimension is zero.
15+
16+
Null pointer dereference crash in ImageFont
17+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
18+
19+
Pillow attempted to dereference a null pointer in ``ImageFont``, leading to a
20+
crash. An error is now raised instead. This has been present since
21+
Pillow 8.0.0.
22+
423
API Additions
524
=============
625

@@ -69,25 +88,6 @@ When saving a JPEG image, a comment can now be written from
6988

7089
im.save(out, comment="Test comment")
7190

72-
Security
73-
========
74-
75-
Fix memory DOS in ImageFont
76-
^^^^^^^^^^^^^^^^^^^^^^^^^^^
77-
78-
A corrupt or specially crafted TTF font could have font metrics that lead to
79-
unreasonably large sizes when rendering text in font. ``ImageFont.py`` did not
80-
check the image size before allocating memory for it. This dates to the PIL
81-
fork. Pillow 8.2.0 added a check for large sizes, but did not consider the
82-
case where one dimension is zero.
83-
84-
Null pointer dereference crash in ImageFont
85-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
86-
87-
Pillow attempted to dereference a null pointer in ``ImageFont``, leading to a
88-
crash. An error is now raised instead. This has been present since
89-
Pillow 8.0.0.
90-
9191
Other Changes
9292
=============
9393

0 commit comments

Comments
 (0)