Zope
Zope copied to clipboard
Add preliminary support for Python 3.11.
Open issues:
- [x] Await for 3.11.0a7 on GHA
- [x] Await for zodbpickle release supporting Python 3.11 (https://github.com/zopefoundation/zodbpickle/pull/65)
- [x] Update to use zodbpickle release.
- [x] Allow to use the RestrictedPython dev-pre-release
- [x] Await for zope.container release supporting Python 3.11 (https://github.com/zopefoundation/zope.container/pull/44)
- [x] Update to use zope.container release.
Fixes #992
Maybe we should wait merging this PR until 3.11.0 final is released as 3.11 requires a new release of RestrictedPython which is currently just a dev release until we are able to check for security problems with 3.11.
Maybe we should wait merging this PR until 3.11.0 final is released as 3.11 requires a new release of
RestrictedPythonwhich is currently just a dev release until we are able to check for security problems with 3.11.
Yes, let us wait. I don't want master to contain dependency references to unreleased alpha code.
Two issues:
- It looks like
versions-prod.cfgwants to pull the alpha ofRestrictedPythonfor Python 3.10. That's not right, correct? - There seems to be an issue with the requirements file generation. They show the alpha of
RestrictedPythonfor anything higher than Python 3.6.
I have fixed the versions issues and the requirements file generation scripts, as far as I am concerned this is ready for merging into master.
Is there any chance to get this merged? Maybe without actually activating the 3.11 tests, if that is unwanted? This would make it easier to start testing Plone on 3.11 as well. I am asking because since a few days we can test 3.11 on our Jenkins server. It fails at zope.container, which is pinned to a correct version in this PR.
There is no need to rush things, I am not in a hurry. In Plone we still even need to fix a few things in our testing setup to properly test all PRs on Python 3.10, so if 3.11 takes longer that is okay. I am already happy that we can ship Plone 6 this fall with Python 3.10 support, due to all the hard work from the Zope community. Just wondering how much work 3.11 would be, and a merge here would help. (Just thinking: I could probably change our Zope checkout on Python 3.11 to use this PR branch, presuming buildout already understands this.)
BTW, I am running a poll to see which Python versions people expect Plone 6 to support. It seems likely we will drop 3.7. Python 3.8 is on the fence.
I tried it with Python 3.10 and buildout and it worked, so I merged the PR.
Thanks!
Any chance to get a Zope release with this today? Or are some releases of other packages still needed first?
I may do a Plone 6 beta 2 today, if I manage to finish a few things. I can manage without a Zope release, sticking to 5.5.2, but if it is there I can include it.
My only concern would be that people assume Python 3.11 is now officially supported. It's not, at least until RestrictedPython has been reviewed fully to prevent security issues with Python 3.11.
If it was up to me I would change the wording of the change log entry from "Add preliminary support for Python 3.11 (as of 3.11.0b5)." to "Started work on Python 3.11 support." or something similarly careful. And you as Plone release manager should make sure that you're not making any premature promises about Python 3.11 support other than "it's coming, we're working on it".
@icemac what do you think?
@dataflake I second changing the change log to a more careful wording.
@mauritsvanrees I do not think that other packages have to be released beforehand. At least buildout.cfg does not do any source checkouts.
OK, I'll change the change log and do the release this morning.
Zope 5.6 is now released and announced. While updating dependency versions post-release I uncovered an issue with the latest DateTime release, see https://github.com/zopefoundation/DateTime/issues/39. I put the previous version back into the version pins.
Thank you!