Plone 6.1.0a2 released

Release notes for Plone 6.1.0a2

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

Highlights

Major changes since 6.1.0a1:

  • plone.api: Implemented unrestricted find of content types.
  • plone.app.multilingual: Implement a more reasonable default for "connect translations" dialog.
  • plone.volto: Add VOLTO_FRONTEND_DOMAIN as env var for volto.frontend_domain registry setting.
  • plone.app.caching: Fix purging of image scale paths for Dexterity content.
  • plone.app.content: Fix escaping HTML in tags popover and in vocabulary items.
  • plone.app.z3cform: Implement missing PasswordWidget adapter. Now the login form is using a proper password input field again.
  • plone.restapi: Give Site Administrator permission to manage users.
    To make this possible, we now check the "plone.app.controlpanel.UsersAndGroups" permission instead of "cmf.ManagePortal" in a lot of operations in the users and groups endpoints.
  • Products.CMFPlone: Remove volatile cached resource viewlet content to fix context aware expressions.
  • Fix various icon paths.

Volto frontend

The default frontend for new Plone 6 sites is Volto. Latest release is 17.15.2. 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, 3.11, and 3.12.

pip, buildout, setuptools

In Plone core we use these versions to install Plone:

pip==23.3.2
setuptools==69.0.3
wheel==0.42.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.

1 Like

Hi! what are the breaking or important changes between Plone 6.0 and 6.1?

Volto or Classic UI?

See https://dist.plone.org/release/6.1.0a1/RELEASE-NOTES.md

Highlights

Major changes since 6.0.9:

  • Some packages have become "core add-ons". They are no longer a dependency of Products.CMFPlone, but of Plone:
    • plone.app.multilingual
    • For plone.app.discussion this is being prepared, but is not there yet.
  • No longer let Products.CMFPlone depend on the deprecated plone.app.widgets.
    The package still exists, and can be used, but it only has backwards compatibility imports that get the real code from their new canonical places, mostly plone.app.z3cform.
    If your add-on uses this, you should explicitly depend on it.
    You are encouraged to update your import statements to the canonical places instead. These should work on both Plone 6.0 and 6.1.
  • Products.CMFPlone:
    • Add plone-61 as zcml feature, and define PLONE61MARKER as True.
    • Explicitly disable Products.CMFCore.explicitacquisition in Plone 6.
    • Do not use UniqueObject class for PlonePortal
  • plone.staticresources and plonetheme.barceloneta: Update TinyMCE to version 6.
  • plone.app.z3cform:
    • Add row container to enable column layouts for fields with wrapper_css_class.
    • Implement new z3c.form extensible attributes feature and cleanup widget templates using Chameleon interpolation.
  • plone.restapi:
    • Translate validation error messages in the deserializer.
    • Give Site Administrator permission to manage users. To make this possible, we now check the "plone.app.controlpanel.UsersAndGroups" permission instead of "cmf.ManagePortal" in a lot of operations in the users and groups endpoints.
1 Like

I am 'totally blank about this', so forgive my ignorance:

Would this make it any easier to run several sites on the same machine?
( I have many old, small sites running on the same machine, some on the same Zope(s).
It seems like Volto is not suited for 'that' (?)

You can, if you have a Volto build for every small site, configuring the reverse proxy for each of them properly pointing to each small site.

There's been some effort overtime to achieve the same build and process running (and, thus, same config, theme, customizations, etc...) pointing to several sites, but there are still some technological limitations that should be addressed.

See here the ongoing PR: WIP: Implement multi-tenanted mode (thread-safe seamless mode) by instification · Pull Request #3698 · plone/volto · GitHub

The fix was to be able to amend the mail internal templates to have the same build and site having different DNS server names, eg. live/staging environments.