Products.cmfplone: Plone 5.2.2 release checklist

Created on 16 Jun 2020  Â·  27Comments  Â·  Source: plone/Products.CMFPlone

As one of the release managers, I want to make releases for Plone 4.3, 5.1, and 5.2 in June 2020. See also the release schedule. First up is Plone 5.2.2.

As an experiment, I want to have the status available with a checklist in an issue on GitHub, so people can follow along. From here we can link to issues that are blockers. Ultimately, it is a decision from the release team to say if an issue is really a blocker or not. But feel free to tag an issue as blocker, and link it here in a comment.

Another idea is that I create a buildout.coredev branch release-5.2.2-pending (or similar) with an empty checkouts.cfg once the package releases are done and a pending release is available on dist.plone.org. If any further releases are needed, based on feedback, I can update this branch. Once the release is final, I will create a 5.2.2 tag.

So here is the checklist, based on https://docs.plone.org/develop/coredev/docs/release.html (see source):

  • [x] Check Jenkins Status: should be green. (This should be checked often during the release process.)
  • [x] In coredev, check packages for updates: bin/manage report --interactive
  • [x] Release individual packages from checkouts.cfg.
  • [x] Check that the version numbers of CMFPlone metadata.xml and latest upgrade step are in sync.
  • [x] If unsure, ask if mockup and plone.staticresources are in sync and can be released.
  • [x] If needed, ask the Plone REST api team for a new release of plone.restapi and plone.rest.
  • [x] Write an email to the translation team, asking them to do a plone.app.locales release. Or create an issue in https://github.com/collective/plone.app.locales/issues
  • [x] Update plone.app.locales version.
  • [x] Create a pending release (directory) on dist.plone.org

    • [x] Copy all core packages there. TODO: is there a handy command for this?

    • [x] Possibly make an alpha/beta release of Products.CMFPlone and put it only on dist.plone.org, not PyPI.

    • [x] Copy the versions.cfg file from coredev there.

  • [x] Create a unified changelog: bin/manage changelog
  • [x] Write a post on community.plone.org announcing a pending/soft release. See example
  • [x] Wait for feedback, preferably at most a few days.
  • [x] Make final release of Products.CMFPlone to PyPI
  • [x] Make final release on dist.plone.org (remove "-pending", make sure updated distributions are added).
  • [x] Update the "-latest" link on dist.plone.org
  • [x] Create new release on launchpad (https://launchpad.net/plone/): bin/manage launchpad <version>
  • [x] Create release page on https://plone.org/download/releases
  • [x] Announce community.plone.org, with warning that installers are not ready yet.
  • [x] Send links to installers list
  • [x] Wait for installers to be uploaded to Launchpad, link on plone.org release page
  • [x] Publish release page on plone.org
  • [x] Update plone.org homepage links to point to new release. Or really: https://plone.org/download
  • [x] Send out announcement to plone-announce
  • [x] Update #plone irc channel topic
  • [x] Ask the security team to update the https://plone.org/security/hotfixes/ page in the configuration control panel. (Configuration registry: plone.securitysupport, plone.versions, plone.activemaintenance)
enhancement help in-progress high

Most helpful comment

And 5.2.2 is final!
Release notes are here: https://dist.plone.org/release/5.2.2/RELEASE-NOTES.txt

Now I need to get back to my earliest checklist above.

All 27 comments

I'm going to create a list of known i18n issues here #3123

I consider those issues as blockers

Here is a full list of issues marked as 'blocker' in the whole Plone organisation.
There are 18. The oldest is from 2015. I will definitely not treat all of them as blockers for 5.2.2. But it is a useful list.

And 82 are marked as regressions, the oldest being from myself in 2013.

All releases for a 5.2.2-pending have been made, most importantly CMFPlone 5.2.2rc1.

I have created a coredev branch release-5.2.2-pending with an empty checkouts.cfg. Please do not make any changes there, let me or someone else on the release team manage this branch. It should be a short-lived branch, replaced by a tag 5.2.2 eventually.

I have created https://dist.plone.org/release/5.2.2-pending/ with at the moment only the versions.cfg, requirements.txt and constraints.txt copied from this coredev branch. Note that constraints.txt is generated automatically when running bin/buildout. I will copy the package files here as well.

I have uploaded the packages to https://dist.plone.org/release/5.2.2-pending/

Note to self, to gather all packages, edit a buildout config file in coredev (I used checkouts.cfg) and add:

eggs-directory = eggs
download-cache = downloads

This counters the shared directories I have specified in ~/.buildout/default.cfg.

Then run bootstrap.sh. Afterwards run bootstrap-py3.sh to get extra packages for Python 3 only.

At the end, or in between, cd downloads/dist and sync this with the server: rsync -a . dist.plone.org:dist/ and afterwards move the contents of the remote dist directory to the proper pending directory.

Note that when I do this, I get a few Mac OSX specific wheels:

zope.interface-5.0.2-cp27-cp27m-macosx_10_9_x86_64.whl
zope.interface-5.0.2-cp37-cp37m-macosx_10_9_x86_64.whl

It would be nicer to only have the source distributions (tar.gz usually).

Thank you for your hard work making the releases!
I released plone.app.locales 5.1.23 just now, can you please include it?

Thank you for your hard work making the releases!
I released plone.app.locales 5.1.23 just now, can you please include it?

Thanks, I have included it.

I spotted a breaking change that is fixed by https://github.com/plone/plone.app.layout/pull/240

I made various i18n fixes in the following packages, it would be great to have those fixes in Plone 5.2.2.

  • [x] plone.app.content (#3127 and internationalized "MIME Type" column related to #2597)
  • [x] plone.app.contenttypes (#2597)
  • [x] plone.app.discussion (closing some input tags, not really necessary to release)
  • [x] plone.app.z3cform (#3126)
  • [x] plone.app.vocabularies (#2597)
  • [x] plone.app.locales (#3134 and #3128 and https://github.com/collective/plone.app.locales/issues/311)

Blockers:

Nice to have:

Further, we will want new releases of:

  • [x] plone.app.layout
  • [x] plone.app.upgrade
  • [x] probably all the ones Vincent mentions in the previous comment

I can see the danger of including more and more changes and then never actually finishing the release...

Blockers:

  • [x] To be confirmed, in plone.app.upgrade, upgrade step missing for plone.app.discussion 1001 → 1002 ?(https://community.plone.org/t/plone-5-2-2-soft-released/12487/23) => not an issue see https://community.plone.org/t/plone-5-2-2-soft-released/12487/35 and I tested myself a Plone 5.2.1 to 5.2.2 migration on a newly created Plone 5.2.1.

A message was not internationalized for the new Custom CSS feature:

  • [x] plone.app.theming (https://github.com/plone/plone.app.theming/pull/186)

plone/plone.dexterity#126 is not a blocker anymore

For chameleon #3135 discussion is ongoing.

I'm releasing a last version of plone.app.locales tomorrow morning CET.

At this point, I don't feel comfortable making 5.2.2 final with Zope 4.4.4. There are too many reports of template problems.
Going back to 4.3 is on the table as option for this release.
But I will sleep now, and then go on vacation for a week, so a decision will have to wait. Sorry about that!

This is your call! And I would trust your instincts. Have a great vacation week celebrating Canada Day! 🇨🇦 😆

Have a great vacation!
I will delay the plone.app.locales release for a week then, no hurry. :-)

While you're on vacation, we continue fixing issues :-)

  • [x] Products.CMFCore 2.4.8 (I updated versions.cfg in buildout.coredev 5.2, see https://github.com/zopefoundation/Products.CMFCore/pull/96)
  • [x] plone.app.content (https://github.com/plone/plone.app.content/pull/205 and https://github.com/plone/plone.app.content/pull/206)
  • [x] plone.app.contentmenu (https://github.com/plone/plone.app.contentmenu/pull/29)
  • [x] plone.app.contenttypes (https://github.com/plone/plone.app.contenttypes/issues/554 and https://github.com/plone/plone.app.contenttypes/pull/561)
  • [x] new release for plone.app.contenttypes branch 1.1.x for Plone 4.3.x and please add a comment with the new version in https://github.com/plone/plone.app.contenttypes/pull/562)
  • [x] plone.app.layout (https://github.com/plone/plone.app.layout/pull/241)
  • [x] plone.app.users (https://github.com/plone/plone.app.users/issues/93)
  • [x] plone.staticresources (https://github.com/plone/plone.staticresources/pull/91)
  • [x] plonetheme.barceloneta (https://github.com/plone/plonetheme.barceloneta/pull/205 and https://github.com/plone/plonetheme.barceloneta/pull/206 and https://github.com/plone/plonetheme.barceloneta/pull/207)
  • [x] plone.app.locales 5.1.24 released, please include it in Plone 5.2.2

I have updated https://dist.plone.org/release/5.2.2-pending

Remaining known issues:

With my Security Team hat on I want this in, to ease future hotfixes:

With my Release Manager hat on, I grumble about this, but grudgingly agree.

New one about dependencies, should be easy to fix:

I have done a couple more releases, some fixing issues mentioned above, plus some small bug fixes.
Only remaining blocker as far as I am concerned is now a Zope 4.5.1 release containing template/chameleon fixes, which I asked about today.

ZEO and Zope releases are available, changes merged to coredev.
I will note one more issue on Windows: https://github.com/plone/plone.recipe.zope2instance/issues/144. But I won't treat it as a blocker: we have waited far far longer than I wanted to already.

I have made release candidate 5.2.2rc3:
https://dist.plone.org/release/5.2.2-pending/

And 5.2.2 is final!
Release notes are here: https://dist.plone.org/release/5.2.2/RELEASE-NOTES.txt

Now I need to get back to my earliest checklist above.

Note that based on coredev branch release-5.2.2-pending I have made tag 5.2.2.
I will remove the branch in a few days, but will keep the tag.

Was this page helpful?
0 / 5 - 0 ratings