Plone 6.0.11 released

Release notes for Plone 6.0.11

If you want to jump straight in, here are two important links:

Highlights

Major changes since 6.0.10.1:

  • mxdev: Fix for Python 3.12 virtual envs.
  • plone.namedfile, plone.formwidget.namedfile and plone.app.z3cform: Support for allowed media types.
    Support to constrain files to specific media types with an "accept" attribute on file and image fields, just like the "accept" attribute of the HTML file input. With this, allowed file types are checked already before uploading, while still also being checked on the server side.
  • plone.app.z3cform: Use label_css_class attribute from widget if available in checkbox_input and radio_input.
  • plone.namedfile: Improve contenttype detection logic for unregistered but common types. Change get_contenttype to support common types which are or were not registered with IANA, like image/webp or audio/midi.
  • plone.app.discussion: Provide HCaptcha if plone.formwidget.hcaptcha is installed.
  • plone.base: Make the TinyMCE help and accordion plugins available as options.
    To really use this, you need an add-on, like collective.outputfilters.tinymceaccordion. But at least the options are available now.
  • plone.base and plone.app.layout: Add a field webstats_head_js to the Site controlpanel and render its contents in the head section using IHtmlHeadLinks viewlet manager. Reason: some javascript needs to be loaded at the bottom of the page, and some in the head section.
  • plone.recipe.zope2instance: Add support for setting max_value_length in Sentry init. When you use this option, you should use sentry-sdk 1.29.0 or higher.
  • plone.restapi: Add available languages information and the site timezone to the @site endpoint.
  • lxml: Upgraded from version 4.9.4 to 5.2.1. This could mean small differences in html. See the changelog. If you get wrong results, maybe because Diazo theming rules are parsed differently, it should be fine to downgrade, but version 4 is not maintained anymore.
  • Products.PortalTransforms: Use Cleaner from new package lxml_html_clean.
    This was factored out from lxml in version 5.2.0. See https://lxml-html-clean.readthedocs.io/

Volto frontend

The default frontend for new Plone 6 sites is Volto. Latest release is 16.31.4. See the changelog.
Note that this is a JavaScript frontend that you need to run in a separate process with NodeJS.

Also, existing Plone sites need some or more extensive changes to be upgraded before they can use the Volto Frontend. Please read the guide on migrating from Plone Classic UI to Volto.

Note that Volto 17 is also available, and you can use it on Plone 6.0, but we will keep recommending Volto 16 by default.

Classic UI

The HTML based and server side rendered UI that was present in Plone 5.2 and earlier major Plone releases is still available and has also been updated and improved upon in Plone 6. Our documentation now refers to this frontend as 'Classic UI'. Support for Classic UI is especially relevant for existing Plone sites which for whatever reason or requirements are not yet ready to be upgraded to the Volto frontend.

Python compatibility

This release supports Python 3.8, 3.9, 3.10, 3.11, and 3.12.

Note that Plone 6.0 is tested on Python 3.8 and 3.11 on every change to core packages. For the other Python versions we run the tests once a week.

pip, buildout, setuptools

In Plone core we use these versions to install Plone:

pip==24.0
setuptools==69.5.1
wheel==0.43.0
zc.buildout==3.0.1

In general you are free to use whatever versions work for you, but these worked for us.

Installation

For installation instructions, see the documentation.

Issues

If you find any issues, please report them in the main issue tracker.

7 Likes

Today I've updated a project here from 6.0.8 to 6.0.11 and noticed, that plone.app.widgets got removed from buildout ... I looked further and it seems, that my changes from here Fix import of deprecated `plone.app.widgets` utility by petschki · Pull Request #259 · plone/plone.app.content · GitHub (released in plone.app.content=4.1.1 and shipped since 6.0.10 obviously removed the last dependency on plon.app.widgets ... so my (older) integration package needs now an explicit dependency on plone.app.widgets or has to be refactored to use plone.app.z3cform instead. I'm fine with both, but maybe this hits someone other out there too :raising_hand_man:

2 Likes

In case someone else has character encoding problems when updated to 6.0.11 (especially on XHR calls) consider upgrading plone.app.theming=5.0.9 ... see When calling the html serializer pass an encoding by ale-rt · Pull Request #239 · plone/plone.app.theming · GitHub

2 Likes