Plone released

Yesterday I released Plone 6.0.10. I did not announce this yet, because I wanted to wait for the plone-backend Docker image to be ready. It is available now.

But a problem was found in the folder contents view of Classic UI. This is fixed in a new release The Docker image for that is not ready yet, but I did not want to wait with an announcement this time. I (or someone else) will add a comment below once the image is available. [Update: it is available now.]

Release notes for Plone

This is a "sub" release of 6.0.10 with a fix for a broken folder contents view in Classic UI.

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


Major changes since 6.0.9:

  • Plone 6.0.10 is the first release that officially supports Python 3.12.
  • plone.api: Implemented unrestricted find of content: api.content.find(unrestricted=True)
  • plone.restapi:
    • Translate validation error messages in the deserializer.
    • Give Site Administrator permission to manage users. To make this possible, we now check the "" permission instead of "cmf.ManagePortal" in a lot of operations in the users and groups endpoints.
  • plone.volto: Add VOLTO_FRONTEND_DOMAIN as env var for volto.frontend_domain registry setting.
  • Fix purging of image scale paths for Dexterity content.
  • Fix escaping HTML in tags popover and in vocabulary items.
  • Traverse to theme resources from the portal. This fixes a broken theme when rendering accessible content contained in an inaccessible navigation root.
  • plone.staticresources: Update dependencies: mockup 5.1.11, bootstrap 5.3.3, bootstrap-icons 1.11.3.
  • Products.CMFPlone:
    • Remove volatile cached resource viewlet content to fix context aware expressions.
    • Add data-bundle="diazo" back, for backward compatibility with backend.xml (Classic UI).
    • Add a data-bundle="plonecustomcss" also for @@custom.css stylesheet

Changed in

  • plone.staticresources: Use version 2.1.13 to fix version resolution.

Volto frontend

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

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.

Plone 6.0.10 is the first release that officially supports Python 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:


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


For installation instructions, see the documentation.


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


The plone-backend Docker image for is available.

Is there a way to use the image plone/plone-backend: with Python 3.12?

I think the image can be built with with --build-arg PYTHON_VERSION=3.12