Metadata-Version: 2.1
Name: Products.CMFPlone
Version: 6.0.0a5
Summary: The Plone Content Management System (core)
Home-page: https://plone.org
Author: Plone Foundation
Author-email: releasemanager@plone.org
License: GPL version 2
Keywords: Plone CMF Python Zope CMS Webapplication
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Plone
Classifier: Framework :: Plone :: 6.0
Classifier: Framework :: Plone :: Core
Classifier: Framework :: Zope :: 5
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
License-File: LICENSE
Requires-Dist: AccessControl (>=4.0)
Requires-Dist: Acquisition
Requires-Dist: borg.localrole
Requires-Dist: DateTime
Requires-Dist: ExtensionClass
Requires-Dist: five.customerize
Requires-Dist: five.localsitemanager
Requires-Dist: lxml
Requires-Dist: Pillow
Requires-Dist: plone.api (>=1.4.4)
Requires-Dist: plone.app.content
Requires-Dist: plone.app.contentlisting
Requires-Dist: plone.app.contentmenu (>=2.0.1)
Requires-Dist: plone.app.contentrules
Requires-Dist: plone.app.contenttypes
Requires-Dist: plone.app.customerize
Requires-Dist: plone.app.dexterity
Requires-Dist: plone.app.discussion
Requires-Dist: plone.app.i18n
Requires-Dist: plone.app.layout (>=2.5.15)
Requires-Dist: plone.app.linkintegrity (>=1.0.3)
Requires-Dist: plone.app.locales
Requires-Dist: plone.app.multilingual
Requires-Dist: plone.app.portlets
Requires-Dist: plone.app.redirector
Requires-Dist: plone.app.registry
Requires-Dist: plone.app.theming
Requires-Dist: plone.app.users
Requires-Dist: plone.app.uuid
Requires-Dist: plone.app.viewletmanager
Requires-Dist: plone.app.vocabularies
Requires-Dist: plone.app.workflow
Requires-Dist: plone.batching
Requires-Dist: plone.base
Requires-Dist: plone.browserlayer (>=2.1.5)
Requires-Dist: plone.contentrules
Requires-Dist: plone.folder
Requires-Dist: plone.i18n (>=4.0.5)
Requires-Dist: plone.indexer
Requires-Dist: plone.intelligenttext
Requires-Dist: plone.locking
Requires-Dist: plone.memoize
Requires-Dist: plone.outputfilters
Requires-Dist: plone.portlet.collection
Requires-Dist: plone.portlet.static
Requires-Dist: plone.portlets
Requires-Dist: plone.protect (>=3.0.0)
Requires-Dist: plone.registry
Requires-Dist: plone.resource
Requires-Dist: plone.schema
Requires-Dist: plone.session
Requires-Dist: plone.staticresources
Requires-Dist: plone.subrequest
Requires-Dist: plone.theme
Requires-Dist: plonetheme.barceloneta
Requires-Dist: Products.CMFCore
Requires-Dist: Products.CMFDiffTool
Requires-Dist: Products.CMFDynamicViewFTI
Requires-Dist: Products.CMFEditions
Requires-Dist: Products.CMFUid
Requires-Dist: Products.DCWorkflow
Requires-Dist: Products.ExtendedPathIndex
Requires-Dist: Products.GenericSetup (>=2.2.0)
Requires-Dist: Products.isurlinportal
Requires-Dist: Products.MimetypesRegistry
Requires-Dist: Products.PlonePAS
Requires-Dist: Products.PluggableAuthService
Requires-Dist: Products.PluginRegistry
Requires-Dist: Products.PortalTransforms
Requires-Dist: Products.SiteErrorLog
Requires-Dist: Products.statusmessages
Requires-Dist: setuptools (>=36.2)
Requires-Dist: transaction
Requires-Dist: plone.autoinclude
Requires-Dist: webresource
Requires-Dist: ZODB3
Requires-Dist: Zope[wsgi] (>=4.0)
Requires-Dist: zope.app.locales (>=3.6.0)
Requires-Dist: zope.cachedescriptors
Requires-Dist: zope.component
Requires-Dist: zope.container
Requires-Dist: zope.deferredimport
Requires-Dist: zope.deprecation
Requires-Dist: zope.dottedname
Requires-Dist: zope.event
Requires-Dist: zope.i18n
Requires-Dist: zope.i18nmessageid
Requires-Dist: zope.interface
Requires-Dist: zope.location
Requires-Dist: zope.pagetemplate
Requires-Dist: zope.publisher
Requires-Dist: zope.site
Requires-Dist: zope.structuredtext
Requires-Dist: zope.tal
Requires-Dist: zope.tales
Requires-Dist: zope.traversing
Provides-Extra: test
Requires-Dist: lxml ; extra == 'test'
Requires-Dist: mock ; extra == 'test'
Requires-Dist: plone.app.robotframework (>=1.0) ; extra == 'test'
Requires-Dist: robotframework-debuglibrary ; extra == 'test'
Requires-Dist: plone.app.testing ; extra == 'test'
Requires-Dist: zope.globalrequest ; extra == 'test'
Requires-Dist: zope.testing ; extra == 'test'
Requires-Dist: gunicorn ; extra == 'test'

About Plone
===========

Plone is a mature, secure and user-friendly Content Management System (CMS).

Plone - and the Open Source community behind it - aggregates more than 20 years experience in content management.
It offers all major features expected by a modern CMS out-of-the-box.

Lots of customizations can be made trough-the-web, such as creating content types, themes, workflows and much more.
Pushed one step further Plone can be used as a framework on which to build custom CMS-like solutions.

Plone works as a

- full-featured classical server-side rendered CMS,
- headless CMS offering all features as a REST API.


Installing Plone
-----------------

Plone is available on Microsoft Windows, Linux, OSX and BSD platforms.

Plone runs as container in the cloud with Docker.

`Install Plone by choosing an option from plone.org <https://plone.org/download>`_


Documentation
-------------

Consult `the official Plone documentation <https://docs.plone.org>`_ with information for different audiences.

For trainings `comprehensive Plone training material <https://training.plone.org>`_ is available.


What is Plone?
--------------

Plone is a ready-to-run content management system, offering a complete set of features needed by a wide variety of organizations.

Security is built into Plone's architecture from the ground up.
Plone offers fine grained permission control over content and actions.

Plone is easy to set up, extremely flexible,
and provides you with a system for managing web content that is ideal for project groups, communities, web sites, extranets and intranets.

- *Plone is easy to install.*
  Several installation options are available for either your local machine or on servers in the cloud.

- *Plone is easy to use.*
  The Plone Team includes usability experts who have made Plone easy and attractive for content managers to add, update, and maintain content.

- *Plone is international.*
  The Plone interface has more than 35 translations, and tools exist for managing multilingual content.

- *Plone is standard.*
  Plone carefully follows standards for usability and accessibility.
  Plone pages are compliant with US Section 508, and the W3C's AAA rating for accessibility.

- *Plone is Open Source.*
  Plone is licensed under the GNU General Public License, the same license used by Linux.
  This gives you the right to use Plone without a license fee, and to improve upon the product.

- *Plone is supported.*
  There are over three hundred developers in the Plone Development Team around the world, and a multitude of companies that specialize in Plone development and support.

- *Plone is extensible.*
  There is a multitude of add-on products for Plone to add new features and content types.
  In addition, Plone can be scripted using web standard solutions and Open Source languages.

- *Plone is technology neutral.*
  Plone can interoperate with most relational database systems, open source and commercial, and runs on a vast array of
  platforms, including Linux, Windows, Mac OS X, Solaris and BSD.


Technical overview
------------------

Plone is a content management platform written in Python.
It builds upon Zope, an Open Source web application server and development system and thus on the pluggable Zope Component Architecture (ZCA).

Python is the easy-to-learn, widely-used and supported Open Source programming language.
Python can be used to add new features to Plone, and used to understand or make changes to the way that Plone works.

Plone stores its contents in Zope's built-in transactional hierachical object database, the ZODB.
The ZODB can be connected to simple file-storages, scalable ZEO-Servers or Postgres, MySQL and Oracle.
There are addon and techniques, however, to share information with other sources, such as relational databases, LDAP, filesystem
files, etc.


Official Resources
------------------
* `plone.org <https://plone.org/>`_ - Official website for developers and community.
* `Plone support <https://plone.org/support>`_ - Where to find help.
* `community.plone.org <https://community.plone.org/>`_ - Official community forum, the best place to get help.
* `docs.plone.org <https://docs.plone.org/>`_ - Official documentation for developers/integrators.
* `training.plone.org <https://training.plone.org/>`_ - Training classes for developers/integrators/users/designers.
* `plone.api <https://docs.plone.org/develop/plone.api/docs/index.html>`_ - Documentation for plone.api.
* `plone.restapi <https://plonerestapi.readthedocs.io/en/latest/>`_ - Documentation for plone.restapi.
* `official Discord chat <https://discord.gg/w8e5WCAKGs>`_ - Join link.


.. This file should contain the changes for the last release only, which
   will be included on the package's page on pypi. All older entries are
   kept in docs/HISTORY.rst

Changelog
=========

.. You should *NOT* be adding new change log entries to this file.
   You should create a file in the news directory instead.
   For helpful instructions, please see:
   https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst

.. towncrier release notes start

6.0.0a5 (2022-06-24)
--------------------

Breaking changes:


- Remove Archtypes specific ``isIDAutoGenerated`` helper.
  This was dead code not used anywhere in Plone 6.
  [jensens] (#3487)
- ``PloneFolder`` was once used with early Archetypes.
  This code is dead now and got removed.
  [jensens] (#3492)
- ``DublinCore.py`` was once used with Archetypes.
  This code is dead now and got removed.
  [jensens] (#3493)
- Move discussion Key to ``plone.app.discussion``.
  [jensens] (#3520)


New features:


- Added customisable batch_size for redirects controlpanel
  [iulianpetchesi] (#1178)
- Add option to use TinyMCE in inline-mode.
  [pbauer] (#3465)
- Add image srcset's configuration to TinyMCE pattern settings [MrTango] (#3477)
- Add support for images in default search page.
  [agitator] (#3495)
- Enable auto include of styles to the TinyMCE formats menu. The file has to be named ``tinymce-formats.css`` and known by TinyMCE.
  [agitator] (#3510)
- Add ``image_scales`` to catalog metadata.
  [cekk, maurits] (#3521)
- Sort addons by title
  [erral] (#3523)
- Show more information of broken relations
  [pbauer] (#3527)
- Show link to the Volto-migration (``@@migrate_to_volto``) in the view ``@@plone-upgrade`` when the option is available.
  [pbauer] (#3528)
- SVG image as default Plone logo.
  [petschki] (#3558)


Bug fixes:


- Make compatible with robotframework 3-5.
  [maurits] (#5)
- Explicitly include zcml of more packages.
  Reorder the zcml loading.
  Require ``plone.resource``.
  [maurits] (#3188)
- Remove date range search fix, which was done in Products.ZCatalog.
  [wesleybl] (#3432)
- fix `@@iconresolver` to resolve names with "/" correctly (eg. "contenttype/document")
  [petschki] (#3500)
- Bugfix: Resource viewlet cache took not enough factors into account (like base url).
  [jnsens] (#3503)
- Moved ``recently_modified`` and ``recently_published`` skin templates to browser views.
  [maurits] (#3515)
- Fix for quoted search terms
  [petschki] (#3517)
- Fix robot tests for updated toolbar
  [petschki] (#3522)
- Fix rendering viewlet.resourceregistries.js when there are missing resources.
  [petschki] (#3533)
- Fix tests for updated module federation bundles.
  [thet] (#3539)
- Remove modal from login and join action.
  [agitator] (#3555)
- Fix reporting of exceptions in Products.CMFPlone.factory.addPloneSite.
  [davisagli] (#3561)
- Updated metadata version to 6005.
  [maurits] (#6005)


6.0.0a4 (2022-04-08)
--------------------

Breaking changes:


- PLIP 3211:

  - Remove RequireJS.
  - Remove default resource jQuery. It is added to the global namespace via the bundle.
  - Remove support for conditional comments in script and style tags.
    It's not supported since IE10.
    See: https://en.wikipedia.org/wiki/Conditional_comment

  [MrTango, thet] (#3247)
- Remove dependency on mockup. Mockup is now a npm package only and as such a dependency of plone.staticresources.
  [thet] (#3247)
- New resource registry to simplify CSS/JS registration.

  - Completely (almost) rewritten ResourceRegistry based on the "webresource" project.
  - removed >1600LOC.
  - Sane dependency resolution using "webresource".
  - Only "bundles" are registered - support of "resources" and "bundle resources" is removed.
  - Some of the old bundle registry properties are deprecated and unused.
  - Removed TTW compilation of bundles via r.js and less.js.
  - Property ``merge_with`` is no longer needed in HTTP/2 times and merging here unsupported.
  - Unique key for delivery is based on hash of bundle file, ``last_compilation`` property is deprecated.
  - A new traverser ensures uniqueness.
  - Other related bundle properties are also deprecated.
  - Comes with new, server side generated control panel.

  [jensens] (#3325)
- Remove ``deprecated.zcml`` and ``meta-bbb.zcml``.
  [jensens, pbauer] (#3485)


New features:


- PLIP #3279: Implement modern images scales. Add huge (1600px), great (1200px), larger (1000px), teaser (600px). Amend preview and mini (remove height constraint).
  [tisto] (#3279)
- Add TinyMCE template plugin to the plugins vocabulary [MrTango] (#3351)
- Implement `PLIP 3395 <https://github.com/plone/Products.CMFPlone/issue/3395>`_.
  Moves all interfaces, whole defaultpage, i18nl10, batch, permissions and parts of utils to ``plone.base``.
  For all imports are in place with deprecation warnings.
  Along with this a bunch of long deprecated functions, imports and similar in above packages were removed.
  [jensens] (#3395)
- Add TinyMCE alignment classes, to avoid style usage [MrTango] (#3440)
- Compatibility with z3c.form >= 4
  [petschki] (#3459)
- Added support for images in liveSearch results.
  [agitator] (#3489)


Bug fixes:


- Fixed evaluating expressions on resources, and especially loading ``plone.session`` resources.
  Fixes `plone.session issue 23 <https://github.com/plone/plone.session/issues/23>`_.
  [maurits] (#23)
- MigrationTool: use more standard ``listUpgrades`` code from GenericSetup 2.2.0.
  I ported our special logic there.
  [maurits] (#220)
- Handle /favicon.ico accesses on Plone sites. (#282)
- Fixed tests when run with ``zope.component`` 5+.
  [maurits] (#500)
- Remove Configlets, Change Member Password and Member Prefs not needed in Overview Controlpanel
  both Views available via User Control Panel

  the deleton of "Change Member Password" Configlet remove also the issue #3031
  [1letter] (#3031)
- Removed no longer used ``password_form.pt`` and ``plone_change_password.py``.
  No longer register now empty skin layers ``plone_prefs`` and ``plone_form_scripts``.
  [maurits] (#3240)
- Fix TinyMCE configuration JSON serialization and cast entity_encoding to a list. (#3247)
- Make author template barceloneta/bs5 ready. Add some CSS classes to Markup.
  [1letter] (#3290)
- Use behavior-names instead of python-paths in types-controlpanel
  [pbauer] (#3294)
- Fix broken link in the RelationsInspectControlpanel
  prepend absolute portal url to links
  add RelationsControlPanelFunctionalTest
  [1letter] (#3322)
- Fix missing closing BODY tag in insufficient_privileges.pt
  [1letter] (#3374)
- Reorganize viewlets after removing the plone.header viewlet in plone.app.layout
  [erral] (#3416)
- Fix ``login-help`` validation
  [petschki] (#3422)
- Fix info message (char left over) in quickinstaller template
  [laulaz] (#3430)
- Fix overview-controlpanel view for Gunicorn WSGI HTTP Server.
  [bsuttor] (#3442)
- Fix detection of initial login time [MrTango] (#3447)
- Updated the list of core profiles that are upgraded during a Plone upgrade.
  Added ``Products.PlonePAS`` and ``plone.session``, and the optional ``plone.restapi`` and ``plone.volto``.
  [maurits] (#3453)
- Remove obsolete css files previously used in tinymce.
  [pbauer] (#3463)
- Add missing i18n:translate tags
  [erral] (#3467)
- Remove obsolte combine_bundles and related code.
  [pbauer] (#3468)
- Enhanced folder_contents robot tests
  [petschki] (#3478)
- Updated metadata version to 6004.
  [maurits] (#6004)


6.0.0a3 (2022-01-28)
--------------------

New features:


- add a new entry in site-controlpanel to change the favicon and its MIME-type
  The favicon can be a .ico/png or SVG-file
  [talarias] (plip-barceloneta_lts_favicon)
- The @@plone view exposes the human_readable_size helper
  [ale-rt] (#3146)
- Allow ``from warnings import warn`` and ``warn("message", DeprecationWarning)`` TTW, like in Python Scripts.
  [jensens] (#3376)
- Customize breadcrumbs hook ``customize_entry`` for subclasses (like already in global navigation).
  [jensens] (#3377)


Bug fixes:


- Cleanup Error Log Form after Review
  [jmevissen] (#3241)
- Removed management_page_charset support from usergroup-groupdetails page.
  This is related to deprecated unicode property types, like ustring.
  Part of `issue 3305 <https://github.com/plone/Products.CMFPlone/issues/3305>`_.
  [maurits] (#3305)
- Update Controlpanel Error Log Form Layout
  Rename ControlPanel Error Log Form View prefs_error_log_form -> error-log-form
  [jmevissen] (#3393)
- Use label_site_administration instead of label_site_admin in error and mail_password_form templates (#3397)
- Updated metadata version to 6003.  [maurits] (#6003)


6.0.0a2 (2021-12-03)
--------------------

Breaking changes:


- PLIP 3339: Replace ``z3c.autoinclude`` with ``plone.autoinclude``.
  Note: ``includeDependencies`` is no longer supported.
  [maurits, tschorr] (#3339)


New features:


- On Zope root, create Volto site by default.
  [maurits] (#3344)


Bug fixes:


- Move prefs_error_log* from skins to browser views
  [jmevissen] (#3241)
- The Plone site root is cataloged (#3314)
- Fix #3323DX-Site-Root: ZMI Nav-Tree is no longer expandable.
  [jensens] (#3323)
- Fixes #3337:
  Remove dead code that wont work in Py 3 anyway if called (cmp).
  [jensens] (#3337)
- Remove DYNAMIC_CONTENT from translation files
  [erral] (#3342)
- Remove adapter for index location. [wesleybl] (#3347)
- Use document_view as default for site root.
  [agitator] (#3354)
- Add missing lxml dependency [MrTango] (#3356)
- Fixes #3352 - dependency indirection on plone.app.iterate [jensens] (#3357)
- In Portal: use security decorators
  [jensens] (#3366)
- Updated metadata version to 6002.  [maurits] (#6002)


6.0.0a1 (2021-10-22)
--------------------

Bug fixes:


- Release Plone 6.0.0a1.
  No changes since previous release.
  [maurits] (#3341)


6.0.0a1.dev1 (2021-10-16)
-------------------------

Bug fixes:


- Use HTML5 meta charset.
  [malthe] (#2025)
- add icon_expr to view/edit action for @@iconresolver
  [petschki] (#3327)
- Set the "Show excluded items" (``show_excluded_items``) to False per default.
  Setting it to ``True`` can introduce a performance problem.
  ``False`` should be the default, also from user expectation for the ``exclude_from_nav`` setting on content items.
  No upgrade step!
  Previous behavior is just kept, unless you override it manually.
  See: #3055, first comment.
  Use this registry snippet to set it false::

      <?xml version="1.0"?>
      <registry>
        <records prefix="plone" interface="Products.CMFPlone.interfaces.controlpanel.INavigationSchema">
          <value key="show_excluded_items">False</value>
        </records>
      </registry>

  Fixes: #3035
  [thet] (#3329)
- Remove typo in ajax_main_template
  [petschki] (#3333)
- Fix some template issues to have properly translated messages (#3334)
- Updated metadata version to 6001.
  [maurits] (#6001)


6.0.0a1.dev0 (2021-09-15)
-------------------------

Breaking changes:


- Removed our CMFQuickInstallerTool code completely.
  See `PLIP 1775 <https://github.com/plone/Products.CMFPlone/issues/1775>`_.
  [maurits] (#1775)
- Use Dexterity for the Plone Site root object.
  This is `PLIP 2454 <https://github.com/plone/Products.CMFPlone/issues/2454>`_.
  [jaroel, ale-rt] (#2454)
- Removed dependency on ``Products.TemporaryFolder``.
  Note: in your ``plone.recipe.zope2instance`` buildout part, you must set ``zodb-temporary-storage = off``,
  otherwise you get errors when starting Plone.
  See `issue 2957 <https://github.com/plone/Products.CMFPlone/issues/2957>`_.
  [maurits] (#2957)
- A part of "Drop Python 2 Support for Plone 6" #2812:
  Reflect dropping of Python 2 support in setup.py.
  Bump version to 6.0
  [jensens] (#3041)
- Removed ``folder_publish.cpy`` script.
  Replaced with folder_publish browser view in ``plone.app.content``.
  Removed deprecated transitionObjectsByPaths.
  [maurits] (#3057)
- Removed Products.CMFFormController dependency.
  [maurits] (#3057)
- Removed ``content_status_modify.cpy`` script and its validator ``validate_content_status_modify.vpy``.
  Replaced with ``content_status_modify`` browser view in ``plone.app.content``.
  [maurits] (#3057)
- Barceloneta LTS theming (#3061)
- Remove six at all places where used. [jensens] (#3183)
- Remove ``portal_utf8`` and it twin ``utf8_portal`` from ``utils`` and ``PloneTool`` since its never used nowhere. [jensens] (#3183)
- Remove `meta_type` index and metadata from catalog.
  Both were unused in Plone core and rarely used in addons.
  [jensens] (#3208)
- Plone 6 with markup update for Bootstrap.
  Extensive overhaul of Plone ui elements based on Bootstrap components.
  Introduction of icon resolver with use of icon_epr definitions.
  [1letter, agitator, ale-rt, balavec, ericof, erral, frapell, fredvd, fulv, gomez, jensens, krissik,
  mauritsvanrees,  mrtango, nilshofer, petschki, santonelli, thet, thomasmassmann, tkimngyuen,
  tschorr] (#3249)


New features:


- Custom date format strings from registry can be in the ``${}`` format as in the locales files.
  If theres a day or month name used, this will be translated.
  For bbb the classic strftime ``%`` strings are still behaving like before.
  [jensens] (#3084)
- Add icon resolver to return url or tag for given icon.
  [santonelli] (#3192)
- Include a controlpanel to inspect and rebuild relations.
  [pbauer] (#3231)
- Add PLONE60MARKER (and PLONE52MARKER) Python marker
  [sneridagh] (#3257)
- Protect @@historyview with Modify portal content permission. Fixes #3297
  [pbauer] (#3297)


Bug fixes:


- Add ``plone.app.caching`` to the list of add-ons that is upgraded when upgrading Plone.
  [maurits] (#82)
- Change control panel item sorting and sort them by title
  [erral] (#721)
- No longer doubly undo a response Content-Type change when combining bundles.
  [maurits] (#1924)
- Removed dependency on Products.Sessions.
  It is still pulled in by Products.PluggableAuthService though.
  See also `CMFPlacefulWorkflow issue 35 <https://github.com/plone/Products.CMFPlacefulWorkflow/issues/35>`_.
  [maurits] (#2957)
- Fix issue with @@search view when filtering by creation date
  [frapell] (#3007)
- Merge Hotfix20200121: isURLInPortal could be tricked into accepting malicious links. (#3021)
- Merge Hotfix20200121 Check of the strength of password could be skipped. (#3021)
- Improve tests for the workflow tool method listWFStatesByTitle (#3032)
- A default WSGI configuration requires Paste which is only installed with the Zope[wsgi] extra..
  [tschorr] (#3039)
- Fixed deprecation warning for zope.site.hooks.
  [maurits] (#3130)
- Fixed use of own ``utils.isDefaultPage``, which should be ``defaultpage.check_default_page_via_view``.
  [maurits] (#3130)
- Fixed invalid escape sequences in regular expressions.
  [maurits] (#3130)
- PloneBatch: define ``__bool__`` as copy of ``__nonzero__``.
  Python 3 calls ``__bool__`` when doing ``bool(batch)``.
  [maurits] (#3175)
- No longer consider calling ``len(batch)`` as deprecated.
  The deprecation warning is unvoidable with current ``Products.PageTemplates`` code.
  Fixes `issue 3176 <https://github.com/plone/Products.CMFPlone/issues/3176>`_.
  maurits (#3176)
- Fix tests with Products.MailHost 4.10.
  [maurits] (#3178)
- Applied: `find . -name "*.py" |grep -v skins|xargs pyupgrade --py36-plus --py3-only`.
  This auto-rewrites Python 2.7 specific syntax and code to Python 3.6+.
  [jensens] (#3185)
- Robot tests: Do not use jQuery.size() but use ``.length`` instead.
  ``.size()`` is deprecated since 1.8.
  [thet] (#3195)
- Remove traces of Archetypes
  [pbauer] (#3214)
- Fix problem to remove username and password from email settings if there was already one set.
  [jensens] (#3224)
- Fix migration when we have broken objects in the app root (e.g. the temp_folder) (#3245)
- Fixed tests in combination with Products.PluggableAuthService 2.6.0.
  [maurits] (#3251)
- Fix closing curly brace in search.pt template.
  [balavec] (#3252)
- Add the remote code execution fix from the `Products.PloneHotfix20210518 expressions patch <https://plone.org/security/hotfix/20210518/remote-code-execution-via-traversal-in-expressions>`_.
  We need this because Zope 4.6.2 is too strict for us.
  [maurits] (#3274)
- Removed the docstring from various methods to avoid making them available via a url.
  From the `Products.PloneHotfix20210518 reflected XSS fix <https://plone.org/security/hotfix/20210518/reflected-xss-in-various-spots>`_.
  [maurits] (#3274)
- Remove unused imports. [jensens] (#3299)
- Fix TypeError when adding a portlet. [daggelpop] (#3303)
- The portal catalog will not try to index itself anymore [ale-rt] (#3312)


