You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
About PR #7307. I merged it, but now I'm having second thoughts. Sorry for raising this last minute, but rather before the release.
The release notes call it a breaking change:
If you attempt to set the mode of an image directly, e.g. im.mode = "RGBA", you will now receive an AttributeError. This is not about removing existing functionality, but instead about raising an explicit error to prevent later consequences. The convert method is the correct way to change an image’s mode.
We use SemVer and 10.1.0 is not a major release that would allow breaking changes.
Options:
Is this breaking change acceptable for a minor release? If so, let's keep it.
We could bump to 11.0.0. We normally align major releases with a Python EOL drop, but I don't think we have anything preventing us also doing major bumps at other times.
Reframe the change as something other than a breaking change. A bug fix? Bug fixes do sometimes break things... See xkcd space bar heating.
Revert, potentially add deprecation warnings as usual (in this release or next), remove in next major release.
I don't think it should be a breaking change for the normal user - I find it hard to think of a safe practical use for this, and we released #3203 for size in Pillow 5.3.0.
It is a breaking change if you are writing your own plugins for Pillow, e.g. bigcat88/pillow_heif#122, but I don't think we consider that when creating releases.
I've created #7465 to move it to a different section of the release notes, and improve the documentation about writing your own plugin.
Hmm, on the one hand, SemVer doesn't distinguish between normal users and plugins users, it's all part of the public API. But the exposure is clearly smaller, plugins do things a bit differently, and in this case it's fine to set an internal mode_.
Thanks for the PR, let's go with it, and if there are other plugins we can give a heads-up to, let's do that.
❯ sudo gem install travis --no-document...
❯ travis --versionShell completion not installed. Would you like to install it now? |y| y1.11.1
❯ travis setup releasesDetected repository as python-pillow/Pillow/, is this correct? |yes|resource not found ({})
❯ travis loginresource not found ({})
I need to pop out for an hour or so, to be continued...
Not related to this release but wondering do we still need Travis to build wheels? Thinking of this as potential replacement: https://github.com/pypa/cibuildwheel
If you're interested in a quick fix for this release, here are aarch64 wheels. As I have sometimes before, I generated them by adjusting the Travis script to upload the wheels to https://www.file.io/
I would very much like to move from multibuild to cibuildwheel. Both are fantastic projects, multibuild came first, and cibuildwheel learnt a lot from multibuild (see https://github.com/pypa/cibuildwheel#credits).
We're using Travis CI to build aarch64 wheels because of the available hardware. We can already build them on GHA, but it's sloooow due to emulation. See python-pillow/pillow-wheels#367.
I expect cibuildwheel would be about as slow with cibuildwheel.
And when we have the automation of #7390 full in place, perhaps the slowness will be acceptable. Definitely something to evaluate when the time comes.
If you're interested in a quick fix for this release, here are aarch64 wheels. As I have sometimes before, I generated them by adjusting the Travis script to upload the wheels to https://www.file.io/
@aclark4life The GitHub token should be scoped against this repo, and I'm not an admin here so can't do that, so can I delegate this to you? :) No rush on this, and we can create a new issue for it.
@aclark4life The GitHub token should be scoped against this repo, and I'm not an admin here so can't do that, so can I delegate this to you? :) No rush on this, and we can create a new issue for it.
I would very much like to move from multibuild to cibuildwheel. Both are fantastic projects, multibuild came first, and cibuildwheel learnt a lot from multibuild (see https://github.com/pypa/cibuildwheel#credits).
Activity
bsekachev commentedon Sep 11, 2023
Hello,
May I ask if you are going to include #7383 to the October Release?
Or it is already too late, and it will be postponed till the next one?
hugovk commentedon Sep 11, 2023
Yes, #7383 will be in the October release.
Everything merged to
mainbefore the release is started will be included.homm commentedon Oct 1, 2023
For the record: release is delayed from common 1st October to 15th October due to Python 3.12 support which will be released at 15th October.
aclark4life commentedon Oct 1, 2023
Right, and the aforementioned record on release schedule is here: https://pillow.readthedocs.io/en/stable/releasenotes/index.html#release-notes
hugovk commentedon Oct 15, 2023
It's release day!
About PR #7307. I merged it, but now I'm having second thoughts. Sorry for raising this last minute, but rather before the release.
The release notes call it a breaking change:
https://pillow.readthedocs.io/en/latest/releasenotes/10.1.0.html#backwards-incompatible-changes
We use SemVer and 10.1.0 is not a major release that would allow breaking changes.
Options:
@python-pillow/pillow-team Thoughts?
radarhere commentedon Oct 15, 2023
I don't think it should be a breaking change for the normal user - I find it hard to think of a safe practical use for this, and we released #3203 for
sizein Pillow 5.3.0.It is a breaking change if you are writing your own plugins for Pillow, e.g. bigcat88/pillow_heif#122, but I don't think we consider that when creating releases.
I've created #7465 to move it to a different section of the release notes, and improve the documentation about writing your own plugin.
Edit: Also fdintino/pillow-avif-plugin@1853be2
hugovk commentedon Oct 15, 2023
Hmm, on the one hand, SemVer doesn't distinguish between normal users and plugins users, it's all part of the public API. But the exposure is clearly smaller, plugins do things a bit differently, and in this case it's fine to set an internal
mode_.Thanks for the PR, let's go with it, and if there are other plugins we can give a heads-up to, let's do that.
hugovk commentedon Oct 15, 2023
I've started the release. So far the GH wheel building is very nice and smooth!
Travis CI build failed to upload the wheels to the GH release:
https://app.travis-ci.com/github/python-pillow/pillow/builds/266593993
hugovk commentedon Oct 15, 2023
I think this is because the token was originally generated against the https://github.com/python-pillow/pillow-wheels/ repo:
python-pillow/pillow-wheels#156 (comment)
So we need to update it for this https://github.com/python-pillow/Pillow repo and add it to https://app.travis-ci.com/github/python-pillow/pillow/settings.
I'll try that.
hugovk commentedon Oct 15, 2023
I need to pop out for an hour or so, to be continued...
aclark4life commentedon Oct 15, 2023
Not related to this release but wondering do we still need Travis to build wheels? Thinking of this as potential replacement: https://github.com/pypa/cibuildwheel
radarhere commentedon Oct 15, 2023
If you're interested in a quick fix for this release, here are aarch64 wheels. As I have sometimes before, I generated them by adjusting the Travis script to upload the wheels to https://www.file.io/
aarch64-Python38-39.zip
aarch64-Python310-311.zip
aarch64-Python312.zip
hugovk commentedon Oct 15, 2023
I would very much like to move from multibuild to cibuildwheel. Both are fantastic projects, multibuild came first, and cibuildwheel learnt a lot from multibuild (see https://github.com/pypa/cibuildwheel#credits).
We're using Travis CI to build aarch64 wheels because of the available hardware. We can already build them on GHA, but it's sloooow due to emulation. See python-pillow/pillow-wheels#367.
I expect cibuildwheel would be about as slow with cibuildwheel.
And when we have the automation of #7390 full in place, perhaps the slowness will be acceptable. Definitely something to evaluate when the time comes.
hugovk commentedon Oct 15, 2023
Thanks, I'll probably use those if
travisisn't a trivially fixable!hugovk commentedon Oct 15, 2023
It wasn't trivially fixable, so I used those. Thanks!
Looks like we need to create a GitHub API token, then use that to login to
travis, then create the new release token and save it asGITHUB_RELEASE_TOKENat https://app.travis-ci.com/github/python-pillow/pillow/settings.@aclark4life The GitHub token should be scoped against this repo, and I'm not an admin here so can't do that, so can I delegate this to you? :) No rush on this, and we can create a new issue for it.
hugovk commentedon Oct 15, 2023
All released, announcements to follow soon!
Thanks everyone!
hugovk commentedon Oct 15, 2023
🚀 https://fosstodon.org/@pillow/111239876043326065
radarhere commentedon Oct 23, 2023
Twitter announcement: https://twitter.com/PythonPillow/status/1713600484248842255
hugovk commentedon Oct 23, 2023
Issue for this: #7485
radarhere commentedon Dec 2, 2023
Thanks to #7552, we are now using cibuildwheel.