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.4.0 on January 2, 2023 #6750

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

Release Pillow 9.4.0 on January 2, 2023 #6750

hugovk opened this issue Nov 19, 2022 · 25 comments
Assignees
Labels
Milestone

Comments

@hugovk
Copy link
Member

hugovk commented Nov 19, 2022

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 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 9.4.x
    git tag 9.4.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.:
    twine check dist/*
    twine upload dist/Pillow-9.4.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]]
@radarhere
Copy link
Member

Pillow 9.4.0 has been released! https://twitter.com/PythonPillow/status/1609753008333787136

@nulano
Copy link
Contributor

nulano commented Jan 2, 2023

FWIW, I have manually run the tests from #6847 on all the Windows wheels (including PyPy) from https://github.com/python-pillow/Pillow/actions/runs/3819275106 on my system and they all pass.

@cgohlke
Copy link
Contributor

cgohlke commented Jan 2, 2023

Here's a wheel for win-arm64: Pillow-9.4.0-cp311-cp311-win_arm64.zip

@tacaswell
Copy link
Contributor

tacaswell commented Jan 4, 2023

Matplotlib has now gotten two bug reports due to pillow 9.4.0 failing to import on OSX 10.X : matplotlib/matplotlib#24883 matplotlib/matplotlib#24871 See the issues for full details, but:

$ python
Python 3.10.9 (v3.10.9:1dd9be6584, Dec  6 2022, 14:37:36) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
>>> import matplotlib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/path/to/.venv310/lib/python3.10/site-packages/matplotlib/__init__.py", line 113, in <module>
    from . import _api, _version, cbook, _docstring, rcsetup
  File "/Users/path/to/.venv310/lib/python3.10/site-packages/matplotlib/rcsetup.py", line 27, in <module>
    from matplotlib.colors import Colormap, is_color_like
  File "/Users/path/to/.venv310/lib/python3.10/site-packages/matplotlib/colors.py", line 51, in <module>
    from PIL import Image
  File "/Users/path/to/.venv310/lib/python3.10/site-packages/PIL/Image.py", line 103, in <module>
    from . import _imaging as core
ImportError: dlopen(/Users/path/to/.venv310/lib/python3.10/site-packages/PIL/_imaging.cpython-310-darwin.so, 2): Library not loaded: @loader_path/libXdmcp.6.dylib
  Referenced from: /Users/path/to/.venv310/lib/python3.10/site-packages/PIL/.dylibs/libxcb.1.1.0.dylib
  Reason: no suitable image found.  Did find:
	/Users/path/to/.venv310/lib/python3.10/site-packages/PIL/.dylibs/libXdmcp.6.dylib: cannot load 'libXdmcp.6.dylib' (load command 0x80000034 is unknown)
	/Users/path/to/.venv310/lib/python3.10/site-packages/PIL/.dylibs/libXdmcp.6.dylib: cannot load 'libXdmcp.6.dylib' (load command 0x80000034 is unknown)
>>> ^D

is a representative traceback.

@wiredfool
Copy link
Member

I've commented on that thread, it's probably the same as #3068 (comment)

@radarhere
Copy link
Member

The problem was only occurring for macOS < 11. python-pillow/pillow-wheels#358 has been merged to fix this moving forward.

@radarhere
Copy link
Member

Should we upload new versions of the x86-64 macOS wheels (7 in total) to PyPI?

@hugovk
Copy link
Member Author

hugovk commented Jan 5, 2023

Yes, I think that would help a lot of people out.

@radarhere
Copy link
Member

Ok, I've uploaded the new wheels. The macOS installation problems should now be resolved.

@hugovk
Copy link
Member Author

hugovk commented Jan 6, 2023

Thank you!

How exactly did you generate the wheels?

@radarhere
Copy link
Member

They were in the 'wheels' artifact at the bottom of https://github.com/python-pillow/pillow-wheels/actions/runs/3844535801

@hugovk
Copy link
Member Author

hugovk commented Jan 6, 2023

And then just renamed to add the -1 after the 9.4.0 in Pillow-9.4.0-1-cp37-cp37m-macosx_10_10_x86_64.whl etc to avoid collisions?

@radarhere
Copy link
Member

Yes.

@hugovk
Copy link
Member Author

hugovk commented Jan 6, 2023

Great! Much easier than a full release!

@tacaswell
Copy link
Contributor

Thank you for the prompt resolution of this :)

@radarhere
Copy link
Member

Since the additional wheels were uploaded, six users still are having trouble over at #6862.
python-pillow/pillow-wheels#362 has been merged as an alternative solution.

Shall we upload -2 x86-64 macOS wheels to PyPI?

@hugovk
Copy link
Member Author

hugovk commented Jan 17, 2023

Sure, let's give it another shot.

@radarhere
Copy link
Member

Ok, I've uploaded the new wheels.

@radarhere
Copy link
Member

There's been confirmation in #6862 (comment) that the latest wheels work.

@radarhere radarhere unpinned this issue Jan 19, 2023
@zwjjiaozhu
Copy link

这是 win-arm64 的轮子:Pillow-9.4.0-cp311-cp311-win_arm64.zip

thank you very much!

@djytwy
Copy link

djytwy commented Mar 27, 2023

When I use arm CPU and windows system. I use pyinstaller to build .exe file. When I run this .exe file I meet this error: "ImportError: DLL load failed while importing _imaging: %1 不是有效的 Win32 应用程序。"

@cgohlke
Copy link
Contributor

cgohlke commented Mar 27, 2023

Did you package the correct Visual C++ Redistributable DLLs?

@djytwy
Copy link

djytwy commented Mar 27, 2023

I only use the "Pillow-9.4.0-cp311-cp311-win_arm64.zip" then use pyinstaller --onefile hello.py. So is my procedure wrong? Please help me about it thank you.

@cgohlke
Copy link
Contributor

cgohlke commented Mar 27, 2023

The redistributable DLLs should be packaged automatically but maybe it failed. Make sure you have the Microsoft Visual C++ Redistributable installed before packaging and check the executable for the presence of msvcp140.dll and the pyinstaller output for any messages.

@djytwy
Copy link

djytwy commented Mar 28, 2023

I have install Microsoft Visual C++ Redistributable it work for me fine now.Thank you very much !

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