Zope icon indicating copy to clipboard operation
Zope copied to clipboard

Add preliminary support for Python 3.11.

Open icemac opened this issue 3 years ago • 4 comments

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

icemac avatar Apr 13 '22 13:04 icemac

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.

icemac avatar Jul 14 '22 13:07 icemac

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.

Yes, let us wait. I don't want master to contain dependency references to unreleased alpha code.

dataflake avatar Jul 14 '22 14:07 dataflake

Two issues:

  • It looks like versions-prod.cfg wants to pull the alpha of RestrictedPython for Python 3.10. That's not right, correct?
  • There seems to be an issue with the requirements file generation. They show the alpha of RestrictedPython for anything higher than Python 3.6.

dataflake avatar Aug 03 '22 06:08 dataflake

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.

dataflake avatar Aug 05 '22 09:08 dataflake

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.

mauritsvanrees avatar Aug 24 '22 17:08 mauritsvanrees

I tried it with Python 3.10 and buildout and it worked, so I merged the PR.

icemac avatar Aug 25 '22 06:08 icemac

Thanks!

mauritsvanrees avatar Aug 25 '22 09:08 mauritsvanrees

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.

mauritsvanrees avatar Sep 08 '22 23:09 mauritsvanrees

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 avatar Sep 09 '22 05:09 dataflake

@dataflake I second changing the change log to a more careful wording.

icemac avatar Sep 09 '22 06:09 icemac

@mauritsvanrees I do not think that other packages have to be released beforehand. At least buildout.cfg does not do any source checkouts.

icemac avatar Sep 09 '22 06:09 icemac

OK, I'll change the change log and do the release this morning.

dataflake avatar Sep 09 '22 06:09 dataflake

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.

dataflake avatar Sep 09 '22 08:09 dataflake

Thank you!

mauritsvanrees avatar Sep 09 '22 10:09 mauritsvanrees