Closed
Description
Release Checklist
Main Release
- Open a release ticket e.g. Release 2.9.0 on July 1, 2015 #1174
- Develop and prepare release in
master
branch. - Check Travis CI and AppVeyor CI to confirm passing tests in
master
branch. - Check that all of the wheel builds Pillow Wheel Builder pass the tests in TravisCI.
- In compliance with https://www.python.org/dev/peps/pep-0440/, 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 2.9.x
$ git tag 2.9.0
$ git push --all
$ git push --tags
- Create source distributions e.g.:
$ make sdist
- Create binary distributions
- Upload all binaries and source distributions with
twine upload dist/Pillow-4.1.0-*
- [n/a] Manually hide old versions on PyPI such that only the latest major release is visible when viewing https://pypi.org/project/Pillow/ (https://pypi.org/manage/project/Pillow/releases/)
Binary Distributions
Windows
- Contact @cgohlke for Windows binaries via release ticket e.g. Release 2.9.0 on July 1, 2015 #1174.
- Download and extract tarball from @cgohlke and
twine upload *
.
Mac and Linux
- Use the Pillow Wheel Builder:
$ git checkout https://github.com/python-pillow/pillow-wheels
$ cd pillow-wheels
$ git submodule init
$ git submodule update
$ cd Pillow
$ git fetch --all
$ git checkout [[release tag]]
$ cd ..
$ git commit -m "Pillow -> 2.9.0" Pillow
$ git push
- Download distributions from the Pillow Wheel Builder container.
Publicize Release
- Announce release availability via Twitter e.g. https://twitter.com/aclark4life/status/583366798302691328.
Documentation
- Make sure the default version for Read the Docs is the latest release version, e.g.
3.1.x
rather thanlatest
: https://readthedocs.org/projects/pillow/versions/