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 9.3.0 on October 29, 2022 #6460

Closed
19 tasks done
hugovk opened this issue Jul 25, 2022 · 27 comments
Closed
19 tasks done

Release Pillow 9.3.0 on October 29, 2022 #6460

hugovk opened this issue Jul 25, 2022 · 27 comments
Assignees
Labels
Milestone

Comments

@hugovk
Copy link
Member

hugovk commented Jul 25, 2022

Main Release

Released quarterly on January 2nd, April 1st, July 1st and October 15th.

Will add support for Python 3.11.

Edit: The Python 3.11.0 release date has been delayed until 2022-10-24, so we're now targeting 2022-10-25 for the Pillow release.


  • Open a release ticket e.g. Release Pillow 5.2.0 on July 1, 2018 #3154
  • Develop and prepare release in main branch.
  • Check GitHub Actions and AppVeyor to confirm passing tests in main branch.
  • Check that all of the wheel builds Pillow Wheel Builder pass the tests in Travis CI and GitHub Actions.
  • In compliance with PEP 440, update version identifier in src/PIL/_version.py
  • Update CHANGES.rst.
  • Run pre-release check via make release-test in a freshly cloned repo.
  • Create branch and tag for release e.g.:
    git branch 5.2.x
    git tag 5.2.0
    git push --all
    git push --tags
  • Create and check source distribution:
    make sdist
  • Create binary distributions
  • Check and upload all binaries and source distributions e.g.:
    python3 -m twine check --strict dist/*
    python3 -m twine upload dist/Pillow-5.2.0*
  • Publish the release on GitHub
  • In compliance with PEP 440, increment and append .dev0 to version identifier in src/PIL/_version.py

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
Copy link
Member Author

hugovk commented Sep 12, 2022

Python 3.11.0 RC2 is released today, and notes 3.11.0 final is delayed by three weeks from the original 2022-10-03 to 2022-10-24:

Modification of the final release

Due to the fact that we needed to delay the last release candidate by a week and because of personal scheduling problems I am delaying the final release to 2022-10-24 (three weeks from the original date).

The Pillow release was planned for 2022-10-15, with a 10-day buffer following 3.11.0 final for other things to get ready (multibuild, CIs, etc).

The new final date is a week and a weekend after our planned release.

What should we do?

  • Keep 2022-10-15 and release against RC2, and put out a point release if needed when final is out?
  • Wait until final is out, and release as soon as the other things are in place?
  • Something else?

@radarhere
Copy link
Member

Hmm. I vote for waiting. I don't think there's anything particularly pressing in the pipeline, and I think it's neater for the minor version numbers to match Python version support.

@madebylydia
Copy link

madebylydia commented Sep 12, 2022 via email

@aclark4life
Copy link
Member

@hugovk @radarhere My strong preference is to consistently provide quarterly releases NO MATTER WHAT, unless SOMETHING BIG HAPPENS to prevent the quarterly release from happening. That said, in this case, it sounds like waiting for final release of a new Python version is reasonable since it's less than 2 weeks from our normal quarterly release date 👍

@hugovk
Copy link
Member Author

hugovk commented Sep 13, 2022

Sounds good, shall we target 2022-10-25, = 3.11.0 release date + 1 day, and put the release out as soon as all the pieces are ready, which I think we can do pretty quickly?

I created #6575 to track what's needed to support 3.11, can discuss those details in there.

@hugovk hugovk changed the title Release Pillow 9.3.0 on October 15, 2022 Release Pillow 9.3.0 on October 25, 2022 Sep 14, 2022
@hugovk
Copy link
Member Author

hugovk commented Oct 22, 2022

Python 3.11 is all set for release on Monday! Let's join in the release party here!

That means we're all set for release on Tuesday, or very soon after! (See #6575 for the necessary jigsaw pieces.)

I'm travelling tomorrow (Sunday), so might not get the chance to review all the PRs in the backlog before our release day. If there's something that needs prioritising for this release, please drop links here (and add to the milestone if you can). Also reviews welcome on others' PRs you'd like including.

Thank you!

@nulano
Copy link
Contributor

nulano commented Oct 25, 2022

As noted in #6369, this will be the first release using wheels built using GitHub Actions. I'm not sure whether warrants mentioning in the release notes.

I previously noticed that the tag for 9.2.0 did not trigger a build likely because it was pushed together with an extra commit updating the main branch, so I would suggest making sure the two are pushed separately.

I would suggest including #6562 if possible to mirror #4907 (comment) and #6554 (comment) in the GHA-built Windows wheels.

@hugovk
Copy link
Member Author

hugovk commented Oct 25, 2022

Yes, definitely worth mentioning the wheel changes, I'll add that, and check #6562. Thanks!

@cgohlke
Copy link
Contributor

cgohlke commented Oct 27, 2022

Please consider adding #6690 to the release.

@aclark4life
Copy link
Member

ETA today-ish for release? 😇 Just curious and thanks, @hugovk @radarhere, all!

@hugovk
Copy link
Member Author

hugovk commented Oct 27, 2022

Yes, I think we're pretty much set, some last few PRs to check/merge, then I can start the release either later today or tomorrow morning (Europe time).

@hugovk hugovk changed the title Release Pillow 9.3.0 on October 25, 2022 Release Pillow 9.3.0 on October 28, 2022 Oct 27, 2022
@hugovk
Copy link
Member Author

hugovk commented Oct 28, 2022

Update: blocked by #6437 (comment), PR at #6695.

@wiredfool
Copy link
Member

See security repo as well.

@hugovk hugovk changed the title Release Pillow 9.3.0 on October 28, 2022 Release Pillow 9.3.0 on October 29, 2022 Oct 28, 2022
@hugovk
Copy link
Member Author

hugovk commented Oct 29, 2022

All set, will start the release!

@nulano
Copy link
Contributor

nulano commented Oct 29, 2022

Which GHA run did you download from? I do not see a run for the latest commit. The most recent I see is https://github.com/python-pillow/Pillow/actions/runs/3351360445, which is for 9.3.0.dev0.

I think you might have to manually trigger a build for d594f4c, as it did not trigger automatically for some reason...

@hugovk
Copy link
Member Author

hugovk commented Oct 29, 2022

https://github.com/python-pillow/Pillow/actions/runs/3351488412

I did it for https://github.com/python-pillow/Pillow/actions/runs/3351360445, which are indeed dev versions:

2.1M Oct 29 15:29 dist/Pillow-9.3.0.dev0-cp310-cp310-win32.whl
2.4M Oct 29 15:29 dist/Pillow-9.3.0.dev0-cp310-cp310-win_amd64.whl
2.1M Oct 29 15:29 dist/Pillow-9.3.0.dev0-cp311-cp311-win32.whl
2.4M Oct 29 15:29 dist/Pillow-9.3.0.dev0-cp311-cp311-win_amd64.whl
2.1M Oct 29 15:29 dist/Pillow-9.3.0.dev0-cp37-cp37m-win32.whl
2.4M Oct 29 15:29 dist/Pillow-9.3.0.dev0-cp37-cp37m-win_amd64.whl
2.1M Oct 29 15:29 dist/Pillow-9.3.0.dev0-cp38-cp38-win32.whl
2.4M Oct 29 15:29 dist/Pillow-9.3.0.dev0-cp38-cp38-win_amd64.whl
2.1M Oct 29 15:29 dist/Pillow-9.3.0.dev0-cp39-cp39-win32.whl
2.4M Oct 29 15:29 dist/Pillow-9.3.0.dev0-cp39-cp39-win_amd64.whl
2.4M Oct 29 15:29 dist/Pillow-9.3.0.dev0-pp37-pypy37_pp73-win_amd64.whl
2.4M Oct 29 15:29 dist/Pillow-9.3.0.dev0-pp38-pypy38_pp73-win_amd64.whl

I've deleted those locally.

The CI didn't build for the tag, because I put "[ci skip]" in the "Update CHANGES.rst [ci skip]" commit message: d594f4c

I think you might have to manually trigger a build for d594f4c, as it did not trigger automatically for some reason...

Done! https://github.com/python-pillow/Pillow/actions/runs/3351488412

Thanks for checking!

@nulano
Copy link
Contributor

nulano commented Oct 29, 2022

https://github.com/python-pillow/Pillow/actions/runs/3351488412 has finished, and I've checked the Python 3.7 x86_64 wheel looks good on my system.

@hugovk
Copy link
Member Author

hugovk commented Oct 29, 2022

Yep, that's more like it!

2.1M Oct 29 17:02 Pillow-9.3.0-cp310-cp310-win32.whl
2.4M Oct 29 17:02 Pillow-9.3.0-cp310-cp310-win_amd64.whl
2.1M Oct 29 17:02 Pillow-9.3.0-cp311-cp311-win32.whl
2.4M Oct 29 17:02 Pillow-9.3.0-cp311-cp311-win_amd64.whl
2.1M Oct 29 17:02 Pillow-9.3.0-cp37-cp37m-win32.whl
2.4M Oct 29 17:02 Pillow-9.3.0-cp37-cp37m-win_amd64.whl
2.1M Oct 29 17:02 Pillow-9.3.0-cp38-cp38-win32.whl
2.4M Oct 29 17:02 Pillow-9.3.0-cp38-cp38-win_amd64.whl
2.1M Oct 29 17:02 Pillow-9.3.0-cp39-cp39-win32.whl
2.4M Oct 29 17:02 Pillow-9.3.0-cp39-cp39-win_amd64.whl
2.4M Oct 29 17:02 Pillow-9.3.0-pp37-pypy37_pp73-win_amd64.whl
2.4M Oct 29 17:02 Pillow-9.3.0-pp38-pypy38_pp73-win_amd64.whl

@hugovk
Copy link
Member Author

hugovk commented Oct 29, 2022

Released! 🚀

Tweet to follow!

@madebylydia
Copy link

👏 👏 👏

@hugovk
Copy link
Member Author

hugovk commented Oct 29, 2022

🚀 https://twitter.com/PythonPillow/status/1586367446012788736

@clairem-sl
Copy link

Related to #6412 , is there an ETA for binary wheel for PyPy3.9 ?

@hugovk
Copy link
Member Author

hugovk commented Oct 30, 2022

No, still waiting for it to move out of beta: #6412 (comment). You could ask the PyPy team if they have an ETA.

@radarhere
Copy link
Member

If it is helpful, here are some unofficial PyPy 3.9 wheels I've just put together for Linux -
Pillow-9.3.0-pypy39-linux.zip

@nulano
Copy link
Contributor

nulano commented Oct 30, 2022

Similarly to @radarhere, I've built an unofficial PyPy3.9 wheel for Windows: Pillow-9.3.0-pp39-pypy39_pp73-win_amd64.whl.zip

@radarhere
Copy link
Member

After #6701 discovered a problem with the Python 3.7 wheels for Windows, #6702 has been merged to fix the issue for the future, and I've uploaded two new wheels to PyPI, combining this release with that PR.

@radarhere radarhere unpinned this issue Nov 6, 2022
@radarhere
Copy link
Member

@clairem-sl PyPy3.9 has now been released.

#6782 has added Pillow wheels for Windows, and python-pillow/pillow-wheels#349 is in progress to add Pillow wheels for macOS and Linux.

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

8 participants