Plone 6.0.2 released

Release notes for Plone 6.0.2

For technical wizards who want to jump straight in, here are two important links:

Highlights

Major changes since 6.0.1:

  • plone.rest: Change the HTTP status from 301 (Moved Permanently) to 302 (Found) for GET requests and to 307 (Temporary Redirect) for other request methods. This fixes problems when an existing redirect is re-used.
  • plone.restapi:
    • Request of own user data provides joined groups.
    • Implement IPurgePaths for RestAPI traversal (++api++).
    • Implement IRuleAction and IRuleCondition schema serialization in @controlpanels/content-rules/ endpoint.
  • plone.staticresources: Upgrade Mockup to 5.0.5.
  • plone.app.locales: Update translations for tr, es, eu, de.
  • Various packages: drop support for older Python, Zope or Plone versions, declare dependencies better, cleanup code.

Volto frontend

The default frontend for Plone 6 is Volto. Latest release is 16.11.0. See the changelog.
Note that this is a JavaScript frontend that you need to run in a separate process with NodeJS.
The Classic UI is still available when you only run the Python process.

Python compatibility

This release supports Python 3.8, 3.9, 3.10, and 3.11.

Installation

For installation instructions, see the documentation.

Issues

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

4 Likes

Thanks

I have rename NEWS item to Blog

and after update the collection list result error, can you point me out how to fix this?

We’re sorry, but there seems to be an error…
Here is the full error message:

Traceback (innermost last):
  Module ZPublisher.WSGIPublisher, line 181, in transaction_pubevents
  Module ZPublisher.WSGIPublisher, line 390, in publish_module
  Module ZPublisher.WSGIPublisher, line 285, in publish
  Module ZPublisher.mapply, line 85, in mapply
  Module ZPublisher.WSGIPublisher, line 68, in call_object
  Module zope.browserpage.simpleviewclass, line 41, in __call__
  Module Products.Five.browser.pagetemplatefile, line 126, in __call__
  Module Products.Five.browser.pagetemplatefile, line 58, in __call__
  Module zope.pagetemplate.pagetemplate, line 133, in pt_render
  Module Products.PageTemplates.engine, line 365, in __call__
  Module z3c.pt.pagetemplate, line 176, in render
  Module chameleon.zpt.template, line 302, in render
  Module chameleon.template, line 192, in render
  Module d03c08c28218f0e0937ad06954062e55, line 356, in render
  Module d47c1e297175d29b7287b6c4d4df9d3c, line 921, in render_master
  Module d47c1e297175d29b7287b6c4d4df9d3c, line 1544, in render_content
  Module d03c08c28218f0e0937ad06954062e55, line 341, in __fill_content_core
  Module d03c08c28218f0e0937ad06954062e55, line 236, in render_content_core
  Module d95335d6165b07490d6da5d4fe7f1f9b, line 121, in render_content_core
  Module d95335d6165b07490d6da5d4fe7f1f9b, line 504, in render_listing
  Module d03c08c28218f0e0937ad06954062e55, line 217, in __fill_entries
  Module d95335d6165b07490d6da5d4fe7f1f9b, line 980, in render_entries
  Module d03c08c28218f0e0937ad06954062e55, line 182, in __fill_entry
  Module zope.tales.expressions, line 250, in __call__
  Module Products.PageTemplates.Expressions, line 221, in _eval
  Module Products.PageTemplates.Expressions, line 152, in render
  Module zope.browserpage.simpleviewclass, line 41, in __call__
  Module Products.Five.browser.pagetemplatefile, line 126, in __call__
  Module Products.Five.browser.pagetemplatefile, line 58, in __call__
  Module zope.pagetemplate.pagetemplate, line 133, in pt_render
  Module Products.PageTemplates.engine, line 365, in __call__
  Module z3c.pt.pagetemplate, line 176, in render
  Module chameleon.zpt.template, line 302, in render
  Module chameleon.template, line 215, in render
  Module chameleon.utils, line 53, in raise_with_traceback
  Module chameleon.template, line 192, in render
  Module b19b834041c9961d87e5e32cc02f142e, line 519, in render
  Module 34cc05bd161a4adceef9856739a2523f, line 166, in render_content_core
  Module zope.tales.pythonexpr, line 73, in __call__
   - __traceback_info__: (context.text.output_relative_to(view.context))
  Module <string>, line 1, in <module>
  Module plone.app.textfield.value, line 122, in output_relative_to
  Module plone.app.textfield.transform, line 92, in __call__
plone.app.textfield.interfaces.TransformError: plone.app.textfield.interfaces.TransformError: Error during transformation

 - Expression: "python:context.text.output_relative_to(view.context)"
 - Filename:   ... egg/plone/app/contenttypes/browser/templates/newsitem.pt
 - Location:   (line 17: col 32)
 - Source:     ... ucture python:context.text.output_relative_to(view.context)"
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 - Expression: "item_macro"
 - Filename:   ... one/app/contenttypes/browser/templates/full_view_item.pt
 - Location:   (line 45: col 30)
 - Source:     <div metal:use-macro="item_macro">
                                     ^^^^^^^^^^
 - Expression: "tem_type_class python:('contenttype-' + view.normalizeString(item_type)) if sh"
 - Filename:   ... .egg/plone/app/contenttypes/browser/templates/listing.pt
 - Location:   (line 50: col 17)
 - Source:     ... tem_type_class python:('contenttype-' + view.normalizeString(item_type)) if sh ...
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 - Expression: "python:batch"
 - Filename:   ... .egg/plone/app/contenttypes/browser/templates/listing.pt
 - Location:   (line 29: col 30)
 - Source:     <tal:listing condition="python:batch">
                                       ^^^^^^^^^^^^
 - Expression: "context/@@listing_view/macros/content-core"
 - Filename:   ... gg/plone/app/contenttypes/browser/templates/full_view.pt
 - Location:   (line 13: col 28)
 - Source:     ... use-macro="context/@@listing_view/macros/content-core">
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 - Expression: "provider:plone.abovecontentbody"
 - Filename:   ... egg/Products/CMFPlone/browser/templates/main_template.pt
 - Location:   (line 107: col 74)
 - Source:     ... ontent="structure provider:plone.abovecontentbody" />
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 - Expression: "context/@@main_template/macros/master"
 - Filename:   ... gg/plone/app/contenttypes/browser/templates/full_view.pt
 - Location:   (line 6: col 21)
 - Source:     ... tal:use-macro="context/@@main_template/macros/master"
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 - Arguments:  template: <Products.Five.browser.pagetemplatefile.ViewPageTemplateFile object at 0x10ed12250>
               options: {}
               args: ()
               nothing: None
               modules: <Products.PageTemplates.ZRPythonExpr._SecureModuleImporter object at 0x10314e150>
               request: <WSGIRequest, URL=http://localhost:8081/site/blog/aggregator/full_view>
               view: <Products.Five.browser.metaconfigure.SimpleViewClass from /Users/oooooo/Plone6_3111/zinstance/eggs/plone.app.contenttypes-3.0.1-py3.11.egg/plone/app/contenttypes/browser/templates/newsitem.pt object at 0x118b67810>
               context: <NewsItem at /site/blog/111-harbour-view-in-111>
               views: <Products.Five.browser.pagetemplatefile.ViewMapper object at 0x1189af910>
               here: <NewsItem at /site/blog/111-harbour-view-in-111>
               container: <NewsItem at /site/blog/111-harbour-view-in-111>
               root: <Application at >
               traverse_subpath: []
               user: <PloneUser '111'>
               default: <DEFAULT>
               repeat: <Products.PageTemplates.engine.RepeatDictWrapper object at 0x1189980f0>
               loop: {}
               target_language: None
               translate: <function BaseTemplate.render.<locals>.translate at 0x118c0a3e0>
               attrs: {}
               item_macro: <chameleon.zpt.template.Macro object at 0x10dcda980>
               item_url: 'http://localhost:8081/site/blog/111-harbour-view-in-111'
               rendering_error: []
               plone_view: <Products.Five.browser.metaconfigure.Plone object at 0x118bcc690>
               icons: <Products.Five.browser.metaconfigure.IconsView object at 0x118bc4250>
               portal_state: <Products.Five.browser.metaconfigure.PortalState object at 0x1188e7150>
               context_state: <Products.Five.browser.metaconfigure.Contex111ate object at 0x1188e4b10>
               plone_layout: <Products.Five.browser.metaconfigure.LayoutPolicy object at 0x118b67bd0>
               lang: 'en'
               dummy: None
               portal_url: 'http://localhost:8081/site'
               checkPermission: <bound method MembershipTool.checkPermission of <MembershipTool at /site/portal_membership used for /site/blog/111-harbour-view-in-111>>
               site_properties: <SimpleItemWithProperties at /site/portal_properties/site_properties>
               macroname: 'item_macro'

Can you check the log of the Plone instance right before this? I think the real underlying error may be shown there. What you post is from the transform code on line 92 but in line 91 the error should be logged.

That this shows now, may come because of the upgrade or it may be coincidence: a transform is giving an error, but the output is cached until the current page is modified or Plone is restarted. So maybe the error would have been triggered by a restart already.
But plone.app.textfield was upgraded from 1.3.6 to 1.3.7, so there could be an error in there, although this particular file (transform.py) has not been touched the last three years.

Still, you could try to either revert the complete version upgrade, or only download plone.app.textfield to 1.3.6.
Well, that version should not matter, the only difference is from this pull request which is really small and looks innocent to me.

Thanks

by pin the plone.app.textfield to 1.3.6

result another error

Traceback (innermost last):
  Module ZPublisher.WSGIPublisher, line 181, in transaction_pubevents
  Module ZPublisher.WSGIPublisher, line 390, in publish_module
  Module ZPublisher.WSGIPublisher, line 285, in publish
  Module ZPublisher.mapply, line 85, in mapply
  Module ZPublisher.WSGIPublisher, line 68, in call_object
  Module zope.browserpage.simpleviewclass, line 41, in __call__
  Module Products.Five.browser.pagetemplatefile, line 126, in __call__
  Module Products.Five.browser.pagetemplatefile, line 58, in __call__
  Module zope.pagetemplate.pagetemplate, line 133, in pt_render
  Module Products.PageTemplates.engine, line 365, in __call__
  Module z3c.pt.pagetemplate, line 176, in render
  Module chameleon.zpt.template, line 302, in render
  Module chameleon.template, line 192, in render
  Module 7a89df7827961d2bbd51a8f4c3117835, line 356, in render
  Module 6b673fe7ecb9d089f43e6eddb9b4ebe9, line 921, in render_master
  Module 6b673fe7ecb9d089f43e6eddb9b4ebe9, line 1544, in render_content
  Module 7a89df7827961d2bbd51a8f4c3117835, line 341, in __fill_content_core
  Module 7a89df7827961d2bbd51a8f4c3117835, line 236, in render_content_core
  Module ff9fbbbc7c6e5961a8c5b360a14017d6, line 121, in render_content_core
  Module ff9fbbbc7c6e5961a8c5b360a14017d6, line 504, in render_listing
  Module 7a89df7827961d2bbd51a8f4c3117835, line 217, in __fill_entries
  Module ff9fbbbc7c6e5961a8c5b360a14017d6, line 980, in render_entries
  Module 7a89df7827961d2bbd51a8f4c3117835, line 182, in __fill_entry
  Module zope.tales.expressions, line 250, in __call__
  Module Products.PageTemplates.Expressions, line 221, in _eval
  Module Products.PageTemplates.Expressions, line 152, in render
  Module zope.browserpage.simpleviewclass, line 41, in __call__
  Module Products.Five.browser.pagetemplatefile, line 126, in __call__
  Module Products.Five.browser.pagetemplatefile, line 58, in __call__
  Module zope.pagetemplate.pagetemplate, line 133, in pt_render
  Module Products.PageTemplates.engine, line 365, in __call__
  Module z3c.pt.pagetemplate, line 176, in render
  Module chameleon.zpt.template, line 302, in render
  Module chameleon.template, line 215, in render
  Module chameleon.utils, line 53, in raise_with_traceback
  Module chameleon.template, line 192, in render
  Module 0f9f65dc93c50e061b7e09ddf139f06b, line 519, in render
  Module 0769cf5959938e8505947e2dad245e16, line 166, in render_content_core
  Module zope.tales.pythonexpr, line 73, in __call__
   - __traceback_info__: (context.text.output_relative_to(view.context))
  Module <string>, line 1, in <module>
  Module plone.app.textfield.value, line 122, in output_relative_to
  Module plone.app.textfield.transform, line 92, in __call__
plone.app.textfield.interfaces.TransformError: plone.app.textfield.interfaces.TransformError: Error during transformation

Looks similar. At least it fails on the same line.
Still, the real error is hidden. Please check the instance log, something like var/log/instance.log or var/log/zeoclient.log usually.