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):
bin/manage report --interactivecheckouts.cfg.CMFPlone metadata.xml and latest upgrade step are in sync.mockup and plone.staticresources are in sync and can be released.plone.restapi and plone.rest.plone.app.locales version.Products.CMFPlone and put it only on dist.plone.org, not PyPI.bin/manage changelogProducts.CMFPlone to PyPIbin/manage launchpad <version>plone.securitysupport, plone.versions, plone.activemaintenance)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 would also add https://github.com/plone/Products.CMFPlone/issues/3135 as a blocker.
I made various i18n fixes in the following packages, it would be great to have those fixes in Plone 5.2.2.
Blockers:
Nice to have:
Further, we will want new releases of:
I can see the danger of including more and more changes and then never actually finishing the release...
Blockers:
A message was not internationalized for the new Custom CSS feature:
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 :-)
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:
isURLInPortal in separate package: https://github.com/plone/Products.CMFPlone/issues/3150With 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.
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.