Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Pillow 8.3.2 on September 2, 2021 #5697

Closed
18 of 19 tasks
hugovk opened this issue Sep 1, 2021 · 15 comments
Closed
18 of 19 tasks

Release Pillow 8.3.2 on September 2, 2021 #5697

hugovk opened this issue Sep 1, 2021 · 15 comments
Assignees
Labels

Comments

@hugovk
Copy link
Member

hugovk commented Sep 1, 2021

Point release to include Python 3.10 wheels (#5569) and some regressions (#5569 (comment)).

Point Release

Released as needed for security, installation or critical bug fixes.

  • Make necessary changes in master branch.
  • Update CHANGES.rst.
  • Check out release branch e.g.:
    git checkout -t remotes/origin/5.2.x
  • Cherry pick individual commits from master branch to release branch e.g. 5.2.x, then git push.
  • Check GitHub Actions and AppVeyor to confirm passing tests in release branch e.g. 5.2.x.
  • In compliance with PEP 440, update version identifier in src/PIL/_version.py
  • Run pre-release check via make release-test.
  • Create tag for release e.g.:
    git tag 5.2.1
    git push
    git push --tags
  • Create and check source distribution:
    make sdist
    twine check dist/*
  • Create binary distributions
  • Check and upload all binaries and source distributions e.g.:
    twine check dist/*
    twine upload dist/Pillow-5.2.1*
  • Publish the release on GitHub

Binary Distributions

Windows

Mac and Linux

Publicize Release

Documentation

Docker Images

  • Update Pillow in the Docker Images repository
    git clone https://github.com/python-pillow/docker-images
    cd docker-images
    ./update-pillow-tag.sh [[release tag]]
@hugovk hugovk added the Release label Sep 1, 2021
@hugovk hugovk self-assigned this Sep 1, 2021
@radarhere
Copy link
Member

For the purposes of https://pillow.readthedocs.io/en/latest/installation.html#python-support, I presume that Pillow 8.3.2 doesn't support 3.10, right?

@hugovk
Copy link
Member Author

hugovk commented Sep 1, 2021

Good question!

We'll have wheels and the 3.10 classifier and updated Windows exit warning from #5570.

We could do: Python 3.10 isn't officially out yet, we don't support it until 3.10 final and Pillow 8.4.0.

I suggest we do: 3.10 is in RC, we support it in 8.3.2, in the rare case that 3.10 final isn't ABI compatible with the RC, we'll make an update for 8.4.0.

So update the table like this?

  • Pillow >= 8.3.2 supports 3.10
  • Pillow 8.0 - 8.3.1 doesn't support 3.10

@hugovk hugovk pinned this issue Sep 1, 2021
@hugovk hugovk changed the title Release Pillow 8.3.2 in September, 2021 Release Pillow 8.3.2 on September 2, 2021 Sep 1, 2021
@hugovk
Copy link
Member Author

hugovk commented Sep 1, 2021

Plan: I'm going to update the branches today (1st September) and tag and release tomorrow (2nd September).

@hugovk
Copy link
Member Author

hugovk commented Sep 2, 2021

CIFuzz is failing on the 8.3.x branch, but is also failing on master, both pre- and post release changes, so I think this is unrelated to the release changes and will continue the release. Let's follow up later.

@hugovk
Copy link
Member Author

hugovk commented Sep 2, 2021

@cgohlke Please could we have Windows binaries, including for Python 3.10 RC1?

@cgohlke
Copy link
Contributor

cgohlke commented Sep 2, 2021

could we have Windows binaries, including for Python 3.10 RC1?

The tests quit unexpectedly at 76% TestImageFont::test_variation_set_by_name. Need some time to investigate...

@wiredfool
Copy link
Member

CI fuzz is failing, there's an issue in the oss-fuzz project. I can't reproduce locally, so I'm not sure what's up.

@cgohlke
Copy link
Contributor

cgohlke commented Sep 2, 2021

Has this release been tested with FreeType 2.11.0? I get a segfault in TestImageFont::test_variation_set_by_axes at

error = FT_Load_Glyph(face, glyph_info[i].index, load_flags);

[0x0]   _imagingft_cp39_win_amd64!FT_Stream_Open + 0x7d07   
[0x1]   _imagingft_cp39_win_amd64!FT_Stream_Open + 0xd10   
[0x2]   _imagingft_cp39_win_amd64!FT_Load_Glyph + 0x30c   
[0x3]   _imagingft_cp39_win_amd64!font_getsize + 0x2dd

@hugovk
Copy link
Member Author

hugovk commented Sep 2, 2021

We're currently testing against FreeType 2.10.4:

"filename": "freetype-2.10.4.tar.gz",

@nulano
Copy link
Contributor

nulano commented Sep 2, 2021

This is a known issue in FreeType 2.11.0 (found by @radarhere): https://gitlab.freedesktop.org/freetype/freetype/-/issues/1075

@cgohlke
Copy link
Contributor

cgohlke commented Sep 2, 2021

could we have Windows binaries, including for Python 3.10 RC1?

Here you go.

@hugovk
Copy link
Member Author

hugovk commented Sep 2, 2021

Thanks!

And released!

$ python3.10 -m pip install -U pillow
Requirement already satisfied: pillow in /Users/hugo/.pyenv/versions/3.10-dev/lib/python3.10/site-packages (8.3.1)
Collecting pillow
  Downloading Pillow-8.3.2-cp310-cp310-macosx_10_10_universal2.whl (3.0 MB)
     |████████████████████████████████| 3.0 MB 5.1 MB/s
Installing collected packages: pillow
  Attempting uninstall: pillow
    Found existing installation: Pillow 8.3.1
    Uninstalling Pillow-8.3.1:
      Successfully uninstalled Pillow-8.3.1
Successfully installed pillow-8.3.2

Will tweet a bit later.

@hugovk
Copy link
Member Author

hugovk commented Sep 2, 2021

@hugovk
Copy link
Member Author

hugovk commented Sep 3, 2021

I just spotted Pillow-8.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl failed to download yesterday from https://github.com/python-pillow/pillow-wheels/releases so didn't go to PyPI.

Now uploaded:

@hugovk
Copy link
Member Author

hugovk commented Sep 6, 2021

For reference, noting we uploaded some manylinux1 and manylinux2010 wheels too: #5701.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants