Release notes for Plone 6.1.2 (2025-06-20)
- Check the release schedule.
- Read the upgrade guide, explaining the biggest changes compared to 6.0.
- Canonical place for these release notes and the full packages changelog.
If you want to jump straight in, here are some important links:
- With pip you can use the constraints file at https://dist.plone.org/release/6.1-dev/constraints.txt. This includes the extra and ecosystem constraints, which are separate in the Buildout configs.
- With Buildout you can use the versions file at https://dist.plone.org/release/6.1-dev/versions.cfg, plus optionally
versions-extra.cfg
andversions-ecosystem.cfg
. - Use Docker image
plone-backend
.
Highlights
These are the main changes since 6.1.1:
plonetheme.barceloneta
:- (Re)Introduce the ajax_load theme parameter and skip diazo theming, if set.
Note: when you upgrade an existing Classic UI site to this version, the site will look broken at first.
Just run the upgrades on the standardplone-upgrade
page, and all should be fine.
Alternatively, go to the Theming controlpanel, deactivate the Barceloneta theme, and then activate it again. - Add a dedicated barceloneta-toolbar stylesheet.
Add a new stylesheet which only compiles the barceloneta toolbar styles.
This stylesheet can be used in situations where only the toolbar is wanted but
not the whole Barceloneta design system. - Support for required and invalid styles on form tabs.
- (Re)Introduce the ajax_load theme parameter and skip diazo theming, if set.
- All packages in the
five
andz3c
namespaces have dropped support forpkg_resources
namespace and replaced it with PEP 420 native namespace.
Caution: if you are using any other packages in these namespaces for which we have no versoin pin, you should switch these to versions using a PEP 420 namespace as well. Products.CMFPlone
: Make resource registry more robust against broken resources.
Don't break the resource registry when a resource error happens (missing dependency, circular dependency, file not found, etc).
Admins will see a warning badge and can fix the problem in the resource registry user interface.
Previously such errors broke the rendering of the whole site, making fixes very fiddly.plone.app.discussion
:- Implement
auto_approve_admin_comments
based on specified roles. - Add Volto control panel.
- Implement
plone.volto
:- Enable automatic versioning for content types with blocks.
- Enable preview image link behavior by default for most content types.
- Put preview image fields in their own fieldset, and the navigation title field in the Settings fieldset.
- Enable navigation title by default for most content types.
- Create a separate
initial
profile which is used to set up the Volto distribution.
The existingdefault
profile defines the Volto add-on, and makes minimal changes to existing content types.
Theinitial
profile includes theplone.app.contenttypes:default
profile and fully controls the behaviors for the included content types.
plone.staticresources
: Update to mockup 5.4.0.
NOTE: This updates the selection button and popover.
The selection button shows now the number of selected and maximum number of items within the current folder.
The corresponding popover offers the option to select all items, all visible items on the page and to cancel the selection.
The previous popover to manage the selected items is gone.plone.base
:- Refactoring Interface ITinyMCEPluginSchema, field
menubar
is not longer aList
, it's now aTextLine
Field. - Add a "is_truthy" utility to test for true-ish and false-ish string values.
- Refactoring Interface ITinyMCEPluginSchema, field
plone.app.dexterity
: Includeobj
in the results from theINextPreviousProvider
adapter.plone.app.iterate
: Addis_working_copy
column to catalog metadata.plone.app.multilingual
: Run the SetupMultilingualSite actions with an event subscriber.plone.distribution
:- Add attribute
package
toplone.distribution.core.Distribution
to store which package registered a specific distribution. - Support specifying a base GenericSetup profile during distribution registration.
- Add attribute
plone.namedfile
:- Add a
srcset
method to the@@images
view. - "Scale" SVGs by setting the correct height and width for the given scale in its metadata.
- Add a
plone.restapi
:@site
service: Add a way for add-ons to add additional data using anISiteEndpointExpander
adapter.- Include all summary fields when serializing
next_item
andprevious_item
.
plone.scale
: Add method to 'scale' SVGs by modifying display size and viewbox.plone.recipe.zope2instance
: Check for presence of Products.CMFPlone with multiple keys. This is needed, depending on the usedzc.buildout
andsetuptools
versions.twine
: Add compatibility with setuptools 77+.
This fixes errors when making releases to PyPI: "twine.exceptions.InvalidDistribution: Metadata is missing required fields: Name, Version." .
Volto frontend
The default frontend for new Plone 6 sites is Volto.
Note that this is a JavaScript frontend that you need to run in a separate process with NodeJS.
Plone 6.1 is meant to be used with Volto 18.
Latest release is 18.23.0. See the changelog.
You can already test with the latest Volto 19 alpha version.
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.0 and 6.1. Our documentation now refers to this frontend as 'Classic UI'.
Python compatibility
This release supports Python 3.10, 3.11, 3.12, and 3.13.
pip, buildout, setuptools
In Plone core we use these versions to install Plone:
packaging==25.0
pip==25.1.1
setuptools==80.9.0
wheel==0.46.1
zc.buildout==4.1.12
In general you are free to use whatever versions work for you, but these worked for us.
Note that if you use Buildout and are on setuptools
80+, you need the latest zc.buildout
4.1.12.
Installation
For installation instructions, see the documentation.
Issues
If you find any issues, please report them in the main issue tracker.