Plone 6.0.7 has been soft-released. Please give it a try and let me know if there are any critical issues.
For those who haven't run across soft-releases before, this is the last step before the final release. Because things haven't been finalized yet, some packages may change between now and the release. It is not recommended to use soft-releases in production.
Release notes for Plone 6.0.7rc1
- Last updated: Thursday September 14, 2023
- Check the release schedule.
- Read the upgrade guide, explaining the biggest changes compared to 5.2.
- Canonical place for these release notes and the full packages changelog.
If you want to jump straight in, here are two important links:
- With pip you can use the constraints file at https://dist.plone.org/release/6.0-dev/constraints.txt
- With Buildout you can use the versions file at https://dist.plone.org/release/6.0-dev/versions.cfg, plus optionally
versions-extra.cfgandversions-ecosystem.cfg.
Highlights
Major changes since 6.0.6:
Zope: Security fixes inAccessControlandRestrictedPython. See community announcement.plone.namedfile:- Add internal modification timestamp with fallback to _p_mtime.
- Use new internal modification timestamp as part of the hash key for scales.
plone.dexterity: Fix a memory leak. For details see issue 3829.plone.app.widgets: Make this package deprecated. It still works, and is included in Plone 6.0, but Plone 6.1 will not ship with it.
Widget base classes have been moved toplone.app.z3cform.widgets.patterns.
Also seeplone.app.widgets.utilsfor information about moving utility methods to their new location.plone.app.robotframework: Add support forplaywright-based tests viarobotframework-browser.plone.app.z3cform: Introduce new Email-Widget which is used forplone.schema.email.IEmailfields. It uses the input typeemail.plone.volto: Addblock_typesindex to zcatalog. By default it is only added for new Plone sites.
To add it to an existing site, runplone.volto.upgrades.add_block_types_indexmanually.plone.app.multilingual: Fixes for Indonesian in a multilingual site. Fixset_recursive_languageto actually find child objects.plone.app.querystring: Fix the `currentUser`` operation when the current user's username is different from their user id.plone.namedfile: Fixed issue with SVG images that contain extensive metadata.plone.staticresources: update to Mockup 5.1.4:- pat structure: Fix popover-structure-columns, use 2-column layout. (9fb499e)
- pat structure: Fix sticky position when toolbar is on top.
- pat tinymce: Fix image modal with selected image.
plonetheme.barceloneta: Update Bootstrap to5.3.1Products.CMFCore:- Improve handling of PortalFolder filter input.
- Provide a way to not publish items that are acquired.
plone.restapi:- Allow passing additional parameters to the delete users endpoint to request not to delete local roles and memberareas.
- When serializing blocks,
image_scalesis now added to blocks that contain a resolveuid-basedurl. - When deserializing blocks,
image_scalesis removed. - Add
visit_blocksutil for finding all nested blocks.
plone.app.locales: Updates to nl translations.
Volto frontend
The default frontend for new Plone 6 sites is Volto. Latest release is 16.24.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:
pip==23.2
setuptools==68.0.0
wheel==0.40.0
zc.buildout==3.0.1
In general you are free to use whatever versions work for you, but these worked for us.
Note that setuptools 66 or higher 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.
And setuptools 68.1.0 until at least 68.1.2 may give problems with namespace packages, especially when they have multiple levels, like plone.app.*, and are installed in editable mode. And pinning a specific version of setuptools in your virtual environment may not even be enough for this case. See ModuleNotFoundError when running tests on Python 3.11 ยท Issue #172 ยท plone/meta ยท GitHub
Installation
For installation instructions, see the documentation.
Issues
If you find any issues, please report them in the main issue tracker.