镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Release Pillow 8.0.0 on October 15, 2020 #4764

Closed

Description

@hugovk

A major bump because the next release will drop EOL Python 3.5 (#4746). Will also be the first version to support Python 3.9.

Needs release notes:


Release Checklist

Main Release

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

  • Open a release ticket e.g. Release Pillow 5.2.0 on July 1, 2018 #3154
  • Develop and prepare release in master branch.
  • Check GitHub Actions,
    Travis CI and
    AppVeyor to confirm
    passing tests in master branch.
  • Check that all of the wheel builds Pillow Wheel Builder pass the tests in Travis CI.
  • 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 source distributions e.g.:
    make sdist
  • Create binary distributions
  • Upload all binaries and source distributions e.g. twine upload dist/Pillow-5.2.0*
  • Create a new 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]]

Activity

  1. pinned this issue on Jul 7, 2020
  2. added this to the 8.0.0 milestone on Jul 7, 2020
  3. hugovk commented on Jul 9, 2020

    @hugovk
    MemberAuthor

    Review of deprecations:

    Deprecation
    Image.show command parameter Deprecated since version 7.2.0 (June 2020).
    Not long enough to remove.
    Image._showxv Deprecated since version 7.2.0 (June 2020).
    Not long enough to remove.
    ImageFile.raise_ioerror Deprecated since version 7.2.0 (June 2020).
    Not long enough to remove.
    PILLOW_VERSION constant Deprecated since version 5.2.0 (July 2018).
    It was initially removed in Pillow 7.0.0, but brought back in 7.1.0 to give projects more time to upgrade.
    Deprecation warnings since 7.1.0 (April 2020).
    Not long enough to remove.
    ImageCms.CmsProfile attributes Deprecated since version 3.2.0 (April 2016).
    Deprecation warnings since 6.0.0 (April 2019).
    Can be removed: PR #4768.
  4. self-assigned this
    on Aug 11, 2020
  5. hugovk commented on Oct 14, 2020

    @hugovk
    MemberAuthor

    Will begin the release process a bit later this evening so we're ready to release later tonight or tomorrow morning.

  6. hugovk commented on Oct 14, 2020

    @hugovk
    MemberAuthor

    @cgohlke Please could we have Windows binaries for 8.0.0?

  7. cgohlke commented on Oct 14, 2020

    @cgohlke
    Contributor

    Here you go.

  8. hugovk commented on Oct 14, 2020

    @hugovk
    MemberAuthor

    Thanks!


    Release is out!


    Misc. notes:

    The Travis wheel builder took ages, there are meant to be 5 parallel jobs but there were only 2 or 4 running. Other accounts I checked on https://travis-ci.org/ only had 4 parallel.

    It took 1 hr 42 min 52 sec (tag). The last master, 3 days ago, took 1 hr 44 min 59 sec, and that ran twice as much (tag + latest).


    I downloaded wheels from https://github.com/python-pillow/pillow-wheels/releases/tag/8.0.0 with:

    # brew install fetch
    mkdir /tmp/assets
    fetch --repo https://github.com/python-pillow/pillow-wheels --release-asset="\.whl" --progress --tag 8.0.0 /tmp/assets
  9. nulano commented on Oct 14, 2020

    @nulano
    Contributor

    Travis has been running at almost full capacity the last few days. There was a large uptick in the queue length just before the release started: https://www.traviscistatus.com#system-metrics

  10. hugovk commented on Oct 14, 2020

    @hugovk
    MemberAuthor

    image

    Yeah, sure that didn't help. But it's dropped quite a lot, and again only 2 jobs are running.

  11. nulano commented on Oct 14, 2020

    @nulano
    Contributor

    But it's dropped quite a lot, and again only 2 jobs are running.

    True, I don't think I've seen 5 concurrent jobs on my repo at all this week.

  12. nulano commented on Oct 14, 2020

    @nulano
    Contributor

    Announce release availability via Twitter e.g. https://twitter.com/PythonPillow/status/1013789184354603010

    Can you pin the new tweet (and maybe update the release checklist)? The 7.2.0 release is still pinned on Twitter.

  13. hugovk commented on Oct 14, 2020

    @hugovk
    MemberAuthor

    I can't pin via TweetDeck, @aclark4life please could you do it? ^

  14. aclark4life commented on Oct 14, 2020

    @aclark4life
    Member

    Done! Thanks all ❤️

  15. 12 remaining items

  16. reopened this on Oct 22, 2020
  17. wiredfool commented on Oct 22, 2020

    @wiredfool
    Member

    Is there the potential that any older releases are affected, or is this something that got enabled with the color font support?

    We should have a list of potentially vulnerable releases, and specifically mention the last python 2 release.

  18. nulano commented on Oct 22, 2020

    @nulano
    Contributor

    Is there the potential that any older releases are affected, or is this something that got enabled with the color font support?

    Before #4955 bitmap fonts were disabled with FT_LOAD_NO_BITMAP, but it is not clear to me whether this prevents the exploit. The FreeType documentation states:

    FT_LOAD_NO_BITMAP: Ignore bitmap strikes when loading. Bitmap-only fonts ignore this flag.

    Other than that, it is sufficient for FreeType to be compiled with libpng enabled. I do not see any changes specific to colour font support in the git blame of config.sh which makes me think this was enabled automatically by the FreeType build based on libpng being present.

  19. nulano commented on Oct 22, 2020

    @nulano
    Contributor

    It's not need for Windows wheels, but let's include #4998 for consistency.

    It would be nice to actually add libpng / CBDT font support to the Windows wheels, but it is obviously not necessary. This requires @cgohlke adding the library to the build and maybe release notes.

  20. pinned this issue on Oct 22, 2020
  21. hugovk commented on Oct 22, 2020

    @hugovk
    MemberAuthor

    Feedback welcome on release notes: #5000

  22. hugovk commented on Oct 22, 2020

    @hugovk
    MemberAuthor

    Release Checklist

    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.

    • Check GitHub Actions,
      Travis CI 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 source distributions e.g.:

      make sdist
    • Create binary distributions

    • Upload all binaries and source distributions e.g. twine upload dist/Pillow-5.2.1*

    • Create a new 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]]
  23. hugovk commented on Oct 22, 2020

    @hugovk
    MemberAuthor

    Cherry picked these:

    GHA Window CI failed with "Overwrite D:\a\Pillow\Pillow\Tests\images\string_dimension.tiff (Yes/No/All)?", will be because of #4993 / python-pillow/pillow-depends#34, so will include that too: f886bc9.

    Edit: passing now 👍

  24. nulano commented on Oct 22, 2020

    @nulano
    Contributor

    GHA Window CI failed with "Overwrite D:\a\Pillow\Pillow\Tests\images\string_dimension.tiff (Yes/No/All)?", will be because of #4993 / python-pillow/pillow-depends#34, so will include that too: f886bc9.

    See #5001 to avoid this in the future.

  25. hugovk commented on Oct 22, 2020

    @hugovk
    MemberAuthor

    The Mac and Linux wheel builder is running, currently with one "parallel" job, so it's going to take a long time.


    @cgohlke Please could you make Windows binaries for Pillow 8.0.1, making sure to first update to FreeType 2.10.4 to include the security fix? Thank you!

  26. cgohlke commented on Oct 22, 2020

    @cgohlke
    Contributor

    Here you go.

  27. hugovk commented on Oct 22, 2020

    @hugovk
    MemberAuthor
  28. aclark4life commented on Oct 22, 2020

    @aclark4life
    Member
  29. unpinned this issue on Oct 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions