Plone 5.2 drops Python 3.6 support

After some recent upgrades to our Jenkins testing server it is proving difficult to get Python 3.6 running on that server. Python 3.6 itself is no longer supported by the wider Python community. It has reached end of life already in December last year, as you can see in the Status of Python versions. We feel it is not a good use of the time of our volunteers to try to keep supporting it. So:

Plone 5.2 drops support for Python 3.6

What does this mean?

  • We will stop testing Plone 5.2 with Python 3.6, effective immediately. It has already not worked for the past few weeks.
  • We will not actively try to break Python 3.6. We just cannot guarantee that it still works, because we cannot run the tests.
  • If you find a problem that is specific to Python 3.6, please still report it. If a fix is available, I will happily include it in the next 5.2 release.
  • The biggest problems that I expect to come up, are in third party packages. You may get a new version that breaks on Python 3.6. Switching back to an older version should help here. If you find such a problem, please report how you fixed it, so we can include a proper version pin for 3.6 in the next release.

Python 2.7

Note that Plone 5.2 still supports Python 2.7, even though this is end of life since January 2020. This is needed as a stepping stone if you do inline migration:

  1. Your site is Plone 4, 5.0 or 5.1.
  2. Migrate to Plone 5.2 on Python 2.7.
  3. Migrate Plone 5.2 to Python 3.7 or 3.8.

It is highly recommended to take this third step! Please do not linger in step 2. But yes, it is supported.

How about Python 3.7?

If you followed the link to the Status of Python versions, you will see that Python 3.7 reaches end of life on June 27 2023, so in about 9 months. At that point, Plone 5.2 will stop testing with it. Sure: if it proves easy enough in practice, then we could decide to continue testing, but you should not count on it. You should plan on using Python 3.8 then.

We will see this for Plone 6.0 as well: if the Python community drops support for a Python version, Plone will stop testing with it.

Bug fixes only

I July I created a post about rules for Plone 6 development during the beta stage. Summary: A change should make Plone more stable, not less stable. This is of course also true for Plone 5.2.

For a client of me, core changes in the Plone 5.2.9 release caused a problem in an ecosystem package (Mosaic). This should not happen. We are going to have to be stricter on what goes into 5.2: bug fixes only please.

Plone 5.2 release calendar

We can discuss support/release schedules for Plone 5.2 and 6.0 during the conference if wanted, but this is the schedule for 5.2 as I see it:

  • October 2022: Plone 5.2.10, Python community has already dropped security support for 3.6 in December last year, Plone drops support/testing for Python 3.6.
  • January 2023: Plone 5.2.11
  • April 2023: Plone 5.2.12
  • July 2023: Plone 5.2.13, Python community drops security support for 3.7, Plone drops support/testing for Python 3.7.
  • October 2023: Plone 5.2.14, final bugfix release. From now on security support only.
  • October 2024, Python community drops security support for 3.8. Plone 5.2 security support ends. The Plone 5 series has then received 9 years of security support, the 5.2 series 5 years and 3 months. This is awesome!
  • End of life: 2024-10-31

(In other news: Plone 6.0.0 beta 3 is expected at the beginning of next week, so one week before the conference. If you are wondering how you can help Plone get closer to release candidate status, consider improving the documentation.)

3 Likes

We have an open PR for these migrations under review that we hope to merge into the Plone 6 docs soon. A preview is provided now, thanks to our open source account with Netlify.