Plone 6.0.3 released

Release notes for Plone 6.0.3

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


Major changes since 6.0.2:

  • plone.base: Move getNavigationRoot and getNavigationRootObject from to plone.base.navigationroot.get_navigation_root_object.
    This is part of a general move of essential basic functions to the plone.base package.
    This is a prerequisite of further decoupling and cleanup of dependencies, so the core of Plone can become smaller.
    Backwards compatible imports are left in, so add-on packages do not need to change anything.
  • Zope: Replace cgi.FieldStorage by multipart avoiding the cgi module deprecated by Python 3.11.
    Mark binary converters with a true binary attribute.
    Fix encoding handling and :bytes converter.
    This affects the way Zope handles request data, but in core Plone no changes were needed, except in a few tests.
  • plone.restapi:
    • Fix missing Decimal field deserializer.
    • Fix translation of the error message for a password that is too short while adding a user.
    • Provide slateTable block serializer/deserializer to properly convert URLs to uids.
  • plone.staticresources: Upgrade Mockup to 5.0.6. This introduces the pat-checklist pattern.
  • Products.CMFPlone: Use the new pat-checklist for groupuser management, and fix userlisting batch/showAll in group membership template.
  • Update translations for pt_BR.
  • Various packages: drop support for older Python, Zope or Plone versions, declare dependencies better, fix deprecation warnings, cleanup code.

Volto frontend

The default frontend for new Plone 6 sites is Volto. Latest release is 16.18.0. 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.

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, and 3.11.

pip, buildout, setuptools

In Plone core we use these versions to install Plone:


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

Note that setuptools 66 is more strict with what versions it can recognize. If you run pip or buildout and it suddenly cannot find a package with a non-standard version, then this may be the cause. This is why we stayed at version 65 for this release.
This already needed a fix in Products.GenericSetup in the code that ordered upgrade steps.


For installation instructions, see the documentation.


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


xxx.jpg/view have strange cache issue, it does cache at Cloudflare as login(ed) until go Cloudflare do a custom cache clear for that URL