This is the release thread for 4.1.0, scheduled for 2017-04-01.
I'd like to have a couple of goals for this release.
1) I'd like to cover all of the image formats that we supposedly support with tests for correctness of loaded (/saved) images, or have a loud warning that this is untested code, either in code or docs. There have been three cases in the last few months where I've opened the hood on a file format or a feature and found it nearly untested and/or broken. (Sun RLE was broken, SGI raster files only tested that we rejected unsupported compression, and ImageTk has never had tests where we loaded the tk interpreter.) I'd like to not need the "Hasn't worked in 20 years" tag anymore.
2) Finish several longstanding issues -- File Closing, Palette, and Tiff Metadata handling come to mind.
3) Refactor the mess that is GifImagePlugin.
For point 1, just from the review of #2425:
For point 1, from #1817:
(I've put these as TODOs in the top comment.)
Release notes for #2374
Would anyone like to merge PRs in pillow-wheels before the release?
@radarhere Done!
@hugovk thanks!
I propose we slip the release till Monday:
1) I don't have enough time today
2) April Fools is a bad day to release software.
3) Avoiding weekends.
I've triaged, there are 2 prs that are almost there, just needing to pass windows tests, and one that I think has probably been fixed with an unrelated change.
Other than that, nothing big, anything small had better not break anything.
Re: https://github.com/python-pillow/Pillow/commit/977f3192349282ae1a7108102415a7ad1baaa305#commitcomment-21546844
The
open()method may set the following info properties if available:
...
dpi
A tuple representing the reported pixel density in pixels per inch, if the file is a jfif file and the units are in inches.
...
Thesave()method supports the following options:
...
dpi
A tuple of integers representing the pixel density,(x,y).
I'll make a new PR.
@wiredfool Since you are doing all (or most of) the work, Monday is fine with me :smile: though I'll reiterate in general, I don't like to change the release schedule if we can help it. Also for whatever it's worth, "no time" is certainly a valid cause to delay, but "April fool's & weekends" is not IMO; I'm fairly happy with the quarterly release schedule, despite one of the quarters beginning with April 1.
I've merged the three PRs that were aimed at this release. Running out of time here, and I've just buried all the CI machines.
I've got a 4.1.0 release, it's in the 4.1.x branch.
The release is _not_ tagged, so if there's something that would be a x.x.1, there's still time to get it in while it's still a .0.
If we're good, I'll tag and release at some point tomorrow when it's morning in @cgohlke's timezone.
To Go:
Few little release note things: PR https://github.com/python-pillow/Pillow/pull/2474
Manylinux wheels for x64 appear to be broken due to rpm repo urls not being available. It was working as recently as 9 days ago, when Hugo pushed some changes.
Wheel issue explained here: https://github.com/pypa/manylinux/issues/100
Ok, Tagged and released. Manylinux wheels will be delayed until the centos thing is worked out.
pinging @cgohlke
Here you go ...
Thanks @cgohlke
Re pypy wheel: I had to remove install_requires from setup.py to build the pypy wheel due to a bug somewhere in pypy/setuptools/wheel. So olefile needs to be installed separately for now on pypy. Also, TestEmbeddable should be disabled when running on pypy.