Plone 5.2.1 released — Plo ne: Enterprise Level CMS - Free and OpenSource - Community Dr iven - Secure
"Announcement of Plone releases and security-related notifications. Recommended subscription for all Plone developers and site admins." <[email protected]> Thu, 16 Jan 2020 10:09:52 -0600
| Newsgroups | gmane.comp.web.zope.plone.announce |
|---|---|
| Message-ID | <mailman.32187.1579191065.1370.plone-announce@lists.sourceforge.net> |
--===============0049493889145922925==
Content-Type: multipart/alternative;
boundary="Apple-Mail=_1196FDD1-4E34-4BA0-A125-A4AAE96D788B"
--Apple-Mail=_1196FDD1-4E34-4BA0-A125-A4AAE96D788B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8
>=20
> https://plone.org/download/releases/5.2.1 =
<https://plone.org/download/releases/5.2.1>
>=20
> Plone 5.2.1
>=20
> There may be hotfixes applicable to this release. Always check the =
Plone Hotfix page <https://plone.org/security/hotfixes/> before =
production deployment.
>=20
> Release notes
>=20
> License GPL <http://creativecommons.org/licenses/GPL/2.0/>
> Date released 2020-01-13
> Release manager Eric Steele <https://plone.org/profile/esteele>
> Plone 5.2.1 is a bug fix release of Plone 5.2 =
<../../../resolveuid/be45977ba24744d2bbd2a6d1f1f4cfe6>
> Linux/BSD/Unix users: Use the Unified Installer. It is a configuration =
and setup kit with build scripts.
>=20
> Windows 10 users: use the Unified Installer. See Windows-specific =
installation instructions =
<https://github.com/plone/Installers-UnifiedInstaller/blob/windows_install=
/docs/windows.rst>. Consider using the unified installer within the =
Windows Subsystem for Linux (WSL).
>=20
> OS X users: use the Vagrant kit or install XCode command-line tools =
and use the Unified Installer.
>=20
> Automated provisioning: See Plone's Ansible Playbook =
<http://docs.plone.org/external/ansible-playbook/docs> for a full-stack =
installation kit.
>=20
> Cross-platform Docker: install Docker <https://www.docker.com/> and =
use the Plone Docker image <https://github.com/plone/plone.docker>.
>=20
> For the Plone 5.2 upgrade guide, see =
https://docs.plone.org/manage/upgrading/ =
<https://docs.plone.org/manage/upgrading/index.html?highlight=3Dupgrade%20=
guide>
> Downloads
>=20
> Unified Installer
> all platforms (4.2MB) =
<https://launchpad.net/plone/5.2/5.2.1/+download/Plone-5.2.1-UnifiedInstal=
ler-r1.tgz>
> Vagrant / VirtualBox Kit
> <https://github.com/plone/plonedev.vagrant/tree/5.2.1-3.7>
> Changes
>=20
> Zope 4.1.1 -> 4.1.3
>=20
> setuptools: 41.0.1 =E2=86=92 42.0.2
>=20
> plone.recipe.zope2instance: 6.3.0 =E2=86=92 6.5.1
>=20
> New features:
>=20
> added wsgi-ini-template option for specifying a custom template for =
the generation of the wsgi.ini configuration file [ajung] (119-1)
>=20
> advanced WSGI logging configuration options for specifying arbitrary =
logging handlers for event and access log [ajung] (119-2)
>=20
> added documentation and examples for advanced WSGI logger =
configuration [ajung] (119-3)
>=20
> Add Sentry support by adding a new filter to the WSGI pipeline. (#124)
>=20
> Bug fixes:
>=20
> for initialization option, string format works for instance console =
script not for the others
> [mamico] (#130)
>=20
> Add documentation for threads option. (#126)
>=20
> Fix documentation for http-address option. (#127)
>=20
> Fixed a deprecation warning when importing makerequest from =
Testing.ZopeTestCase.utils.
> This also fixes a side effect which can bite you if you rely on the =
ZOPETESTCASE environment variable, only being set to 1 during test runs. =
(#122)
>=20
> plone.releaser: 1.7.2 =E2=86=92 1.8.0
>=20
> New features:
>=20
> Handle coredev branch 6.0 when releasing packages.
> [maurits] (#27)
> Bug fixes:
>=20
> Fixed adding some package versions twice when releasing.
> [maurits] (#24)
>=20
> Fixed Python 3 compatibility. [maurits] (#25)
>=20
> tqdm: 4.32.2 =E2=86=92 4.40.0
>=20
> twine: 1.13.0 =E2=86=92 1.15.0
>=20
> zest.releaser: 6.19.0 =E2=86=92 6.19.1
>=20
> plone.app.robotframework: 1.5.2 =E2=86=92 1.5.3
>=20
> Bug fixes:
>=20
> Fix the Debug keyword (#114)
>=20
> Remove deprecation warnings [ale-rt] (#116)
>=20
> i18ndude: 5.3.0 =E2=86=92 5.3.1
>=20
> Bug fixes:
>=20
> Disallow non-word characters (but do allow dashes) in i18n:name
> attributes when running find-untranslated code analysis. [gyst] (#71)
> msgpack: 0.6.1 =E2=86=92 0.6.2
>=20
> Products.PythonScripts: 4.7 =E2=86=92 4.9
>=20
> prevent ResourceWarning/Error by closing default contents file
> (#39 =
<https://github.com/zopefoundation/Products.PythonScripts/issues/39>_)
>=20
> Show proper error message for not allowed identifiers.
> (#33 =
<https://github.com/zopefoundation/Products.PythonScripts/issues/33>_)
>=20
> Restore History ZMI tab as Zope is supporting it again.
> (#38 =
<https://github.com/zopefoundation/Products.PythonScripts/issues/38>_)
>=20
> Products.StandardCacheManagers: 4.0.2 =E2=86=92 4.0.3
>=20
> tempstorage: 5.0 =E2=86=92 5.1
>=20
> zope.app.locales: 4.0.1 =E2=86=92 4.1
>=20
> attrs: 19.1.0 =E2=86=92 19.3.0
>=20
> calmjs.parse: 1.1.3 =E2=86=92 1.2.1
>=20
> cssselect: 1.0.3 =E2=86=92 1.1.0
>=20
> decorator: 4.4.0 =E2=86=92 4.4.1
>=20
> future: 0.17.1 =E2=86=92 0.18.2
>=20
> futures: 3.2.0 =E2=86=92 3.3.0
>=20
> jsonschema: 3.0.1 =E2=86=92 3.2.0
>=20
> lxml: 4.3.4 =E2=86=92 4.4.2
>=20
> piexif: 1.1.2 =E2=86=92 1.1.3
>=20
> pillow: 6.1.0 =E2=86=92 6.2.1
>=20
> pyrsistent: 0.15.2 =E2=86=92 0.15.6
>=20
> python-dateutil: 2.8.0 =E2=86=92 2.8.1
>=20
> pytz: 2019.1 =E2=86=92 2019.3
>=20
> simplejson: 3.16.0 =E2=86=92 3.17.0
>=20
> urllib3: 1.25.3 =E2=86=92 1.25.7
>=20
> five.intid: 1.2.3 =E2=86=92 1.2.4
>=20
> Bug fixes:
>=20
> Also catch KeyError when traversing to fix creating relations during =
Copy&Paste in Zope 4.
> Fixes https://github.com/plone/Products.CMFPlone/issues/2866
> [pbauer] (#12)
>=20
> When looking up back-references the lookup using unrestrictedTraverse =
was way to slow.
> A simplified traverse speeds up the lookup by up 80x. [jensens, =
2silver] (#14)
>=20
> icalendar: 4.0.3 =E2=86=92 4.0.4
>=20
> Bug fixes:
>=20
> Reduce Hypothesis iterations to speed up testing, allowing PRs to pass
> [UniversalSuperBox]
> mockup: 3.0.2 =E2=86=92 3.1.1
>=20
> New features:
>=20
> Upgrade testing dependencies: Karma (from ~3.0.0 to ~4.1.0) and Mocha =
(from ~3.5.3 to ~6.1.4) (#913)
>=20
> Upgrade jQuery from version 1.11.3 to 1.12.4
> [davilima6] (#915)
>=20
> Upgrade jQuery-related dependencies:
>=20
> jqtree: from version 1.4.1 to 1.4.10
> jquery-form: from 3.5.1 to 4.2.2
> bootstrap: from 3.3.6 to 3.4.1
> pickadate: from 3.5.6 to 3.6.4 (#916)
> jqtree: from version 1.4.1 to 1.4.10
>=20
> jquery-form: from 3.5.1 to 4.2.2
>=20
> bootstrap: from 3.3.6 to 3.4.1
>=20
> pickadate: from 3.5.6 to 3.6.4 (#916)
>=20
> Bug fixes:
>=20
> tinymce: Fix tab labels for insert links and images
> [frapell] (#923)
>=20
> tinymce link popup external translation (#926)
>=20
> tinyimce link popup upload tab shows up even if upload is false in pat =
data (#927)
>=20
> pat-inlinevalidation: Avoid submitting files
> [frapell] (#903)
>=20
> Fix marking of navigation parents as inPath
> [agitator] (#906)
>=20
> Absolute positioning of default page objects in the structure pattern =
(take 2 on issue #895) (#908)
>=20
> Move toolbar to be above structure pattern, by increasing its z-index =
from 3 to 20 (fixes Products.CMFPlone#2490)
> [fulv] (#909)
>=20
> tinymce pattern: Add some lost i18n translations.
> [adam139] (#910)
>=20
> Fix SyntaxError caused by duplicate translation keys
> [davilima6] (#918)
>=20
> Fixed drag problem on click on sortable items in folder contents.
> [giuliaghisini] (#919)
>=20
> Fix Tinymce pattern: Link popup looses tab selection on active =
linktype
> [mamico]
> Fix autotoc pattern: activate the element link with active class =
during initialization
> [mamico] (#922)
>=20
> Plone: 5.2.0 =E2=86=92 5.2.1
>=20
> New features:
>=20
> Release Plone 5.2.1 final
> [esteele]
> plone.app.caching: 2.0.2 =E2=86=92 2.0.3
>=20
> Bug fixes:
>=20
> Fix python3 related encoding error on manual purge page.
> [agitator] (#51)
> plone.app.content: 3.7.0 =E2=86=92 3.7.4
>=20
> Bug fixes:
>=20
> Reversed the order of the translations list in plonejsi18n so custom =
ones come before defaults one (#187)
>=20
> Follow default_page_types setting when showing the items that can be =
selected as default page [erral] (#182)
>=20
> Description duplicated in object_rename form
> [mamico] (#186)
>=20
> Support plone.app.multilingual.RootCatalog.
> [jaroel] (#1)
>=20
> self.errors is a list, so .append() should be used.
> [frapell] (#2)
>=20
> plone.app.contentrules: 4.1.1 =E2=86=92 4.1.3
>=20
> Bug fixes:
>=20
> fix genericsetup export of properties of rules that have more complex =
fields such as IDict. (#50)
>=20
> Fix file extension condition. [mtrebron] (#48)
>=20
> plone.app.contenttypes: 2.1.2 =E2=86=92 2.1.5
>=20
> Bug fixes:
>=20
> for migration tests uninstall plone.app.contenttypes if previously =
installed
> [ericof] (#535)
>=20
> Fix richtext getText view to use the correct schema interface.
> [thet]
>=20
> Robot tests: split big content listing scenario, fix deprecations.
> [maurits] (#533)
>=20
> Clear schema cache after migration step migrate_to_pa_event. [jensens] =
(#531)
>=20
> Explicitly load zcml of dependencies, instead of using =
includeDependencies
> [maurits] (#2952)
>=20
> plone.app.dexterity: 2.6.3 =E2=86=92 2.6.4
>=20
> Bug fixes:
>=20
> Use https links to documentation. [vincentfretin] (#299)
>=20
> Update documentation introduction w/r/t archetypes (#301) (#302)
>=20
> Fix mr.bob command in documentation (#305)
>=20
> plone.app.discussion: 3.2.1 =E2=86=92 3.3.2
>=20
> New features:
>=20
> Notification for moderator: show email address of commentator. (#163)
>=20
> Link to the commented page for editing, approving, deleting comment =
instead of linking to /@@moderate-publish-comment and =
@@moderate-delete-comment.
> [ksuess] (#163)
>=20
> Additional view for approved comments
> [ksuess] (#159)
>=20
> Bug fixes:
>=20
> /@@moderate-publish-comment: publish only pending comment, else show =
status message "comment already approved".
> [ksuess] (#163)
>=20
> Use the shared 'Plone test setup' and 'Plone test teardown' keywords =
in Robot tests.
> [Rotonen] (#155)
>=20
> Load zcml of plone.resource for our use of the plone:static directive.
> [maurits] (#2952)
>=20
> plone.app.event: 3.2.4 =E2=86=92 3.2.6
>=20
> Bug fixes:
>=20
> Fix Python2 vs. Python3 text and bytes handling in the calendar =
portlet. (#308)
>=20
> Load zcml of plone.resource for our use of the plone:static directive.
> [maurits] (#2952)
>=20
> plone.app.iterate: 3.3.12 =E2=86=92 3.3.13
>=20
> Bug fixes:
>=20
> Explicitly load zcml of dependencies, instead of using =
includeDependencies.
> [maurits] (#2952)
> plone.app.layout: 3.2.1 =E2=86=92 3.4.0
>=20
> New features:
>=20
> Add is_navigation_root check in plone_context_state view
> [erral] (#225)
>=20
> Add a sorrounding div to the webstats js. Fixes #157
> [erral] (#157)
>=20
> Bug fixes:
>=20
> Fix Home tab localization [vincentfretin] (#222)
>=20
> Fix memory leak on getUserInfo [avoinea] (#204) (#210)
>=20
> Fix Unicode Error in folders with special chars. See #215 [erral] =
(#215)
>=20
> Add missing translation for screen readers
> [laulaz]
>=20
> Memory leak on getUserInfo [avoinea] (#204)
>=20
> plone.app.linkintegrity: 3.3.11 =E2=86=92 3.3.12
>=20
> Bug fixes:
>=20
> Explicitly load zcml of dependencies, instead of using =
includeDependencies.
> [maurits] (#2952)
> plone.app.locales: 5.1.18 =E2=86=92 5.1.21
>=20
> Megaupdate plone.po RU locale.
> [Serge73]
>=20
> Fix French translation.
> [laulaz]
>=20
> Update Japanese translations.
>=20
> Update Portuguese-BR translations.
>=20
> Update French translations.
>=20
> Update Slovenian translations, sync from POT files.
> [balavec]
>=20
> Update German: Inhalte werden "Erstellt" nicht "Erzeugt".
> [jensens]
>=20
> Minor fixes in Basque
> [erral]
>=20
> Update Spanish translation.
> [erral]
>=20
> Update basque translation
> [erral]
>=20
> Update Slovenian translations.
> [balavec]
>=20
> plone.app.multilingual: 5.3.5 =E2=86=92 5.5.0
>=20
> New features:
>=20
> Remove the 'set_language' parameter when 'always_set_cookie' is =
enabled in language control panel. See #362
> [erral] (#362)
>=20
> Add low level events and notifies:
> on register, update and remove of a translation to a translation =
groups.
> [jensens] (#256)
>=20
> Bug fixes:
>=20
> Use the shared 'Plone test setup' and 'Plone test teardown' keywords =
in Robot tests.
> [Rotonen] (#349)
>=20
> fix adding new language when Language Independent Folder has content
> [petschki] (#358)
>=20
> add/update translation forms doesn't show error return from z3c form =
validation
> [mamico] (#360)
>=20
> Remove deprecation warnings in tests.
> Increase readability
> Add code comments.
> Remove superfluos reindex of "Language" in manager.
> [jensens] (#256)
>=20
> wrong check for default addview in addtranslation traverser
> [mauro] (#355)
>=20
> Remove any dependency to archetypes.multilingual, since this is a =
indirection.
> Remove all dependencies that are already part of Products.CMFPlone.
> All version specifications were reduced to use a recent =
Products.CMFPlone.
> The decorator dependency is no longer used.
> [jensens] (#357)
>=20
> plone.app.portlets: 4.4.2 =E2=86=92 4.4.4
>=20
> Bug fixes:
>=20
> Remove role=3D"navigation" from Navigation portlet.
> [ericof] (#128) (#128)
> Remove role=3D"navigation" from Navigation portlet.
> [ericof] (#128) (#128)
>=20
> Fix review portlet when show on the portal-root (#130)
>=20
> Fix default value for label_msgid
> [erral] (#133)
>=20
> plone.app.querystring: 1.4.11 =E2=86=92 1.4.12
>=20
> Bug fixes:
>=20
> Integer criterions: try to convert all input to integers.
> Most notably this did not happen for unicode on Python 2.
> So a u"42" was passed as value to the catalog query, and this matched =
either all or nothing.
> [maurits] (#93)
> plone.app.redirector: 2.1.0 =E2=86=92 2.1.1
>=20
> Bug fixes:
>=20
> Allow performance tests to take more time.
> This seems needed on the Plone Jenkins test server when jobs are run =
in parallel.
> [maurits] (#20)
> plone.app.textfield: 1.3.1 =E2=86=92 1.3.2
>=20
> Bug fixes:
>=20
> Check if transform output is actual string on Python 2.
> [agitator] (#37)
> plone.app.theming: 4.0.1 =E2=86=92 4.0.4
>=20
> Bug fixes:
>=20
> Fix creating a new theme ttw in py2 with Zope 4.1.3.
> [pbauer] (#166)
>=20
> Load zcml of plone.resource for our use of the plone:static directive.
> [maurits] (#2952)
>=20
> Fixed Python3 TypeError: 'filter' object is not subscriptable.
> This happened when overriding a filesystem theme with a TTW version
> [fredvd] (#160)
>=20
> plone.app.upgrade: 2.0.27 =E2=86=92 2.0.31
>=20
> Bug fixes:
>=20
> Make sure plone.staticresources is installed to fix issues with site =
migrated from 5.0 or 5.1 to 5.2.1.
> Fixes https://github.com/plone/Products.CMFPlone/issues/2996
> [pbauer] (#223)
>=20
> Fixed error when upgrading relations.
> [maurits] (#220)
>=20
> Add Collection to the default_page_types setting
> [erral] (#216)
>=20
> Add empty upgrade step for Plone 5.1.6
> [esteele] (#214)
>=20
> plone.app.users: 2.6.0 =E2=86=92 2.6.2
>=20
> Bug fixes:
>=20
> Error happening during user add notification is logged. (#85)
>=20
> User feedback if error happens during user add notification. (#86)
>=20
> Fix default value for label_msgid. (#88)
> [erral]
>=20
> Fix many_groups usage in AddUserForm
> [tmassman] (#83)
>=20
> plone.app.vocabularies: 4.1.0 =E2=86=92 4.1.1
>=20
> Bug fixes:
>=20
> Principals vocabularies: Fixed handling of results from multiple PAS =
plugins (like pasldap and mutable_properties). (#60)
> plone.app.widgets: 3.0.2 =E2=86=92 3.0.3
>=20
> Bug fixes:
>=20
> Run robot tests as Member since the widget will move to the =
logged-in-bundle.
> [agitator] (#201)
> plone.app.z3cform: 3.1.1 =E2=86=92 3.1.3
>=20
> Bug fixes:
>=20
> Fix LinkWidget selected tab on edit #108
> [mamico] (#108)
> Fix LinkWidget selected tab on edit #108
> [mamico] (#108)
>=20
> Fix wrong default for method attribute in pt
> [mamico] (#107)
>=20
> plone.dexterity: 2.9.1 =E2=86=92 2.9.5
>=20
> Bug fixes:
>=20
> Speedup (~1.6x) parallel thread execution by removing superfluos =
synchronization [jensens] (#123)
>=20
> Invalidate cached FTIs on request to allow complex/long running =
auto-installations. [jensens]
>=20
> Fix thread safe recursion detection. This fixes an issue in =
plone.restapi: https://github.com/plone/plone.dexterity/issues/120. =
[jensens] (#120)
>=20
> The debug messages issued when a non existent behavior is recorded in =
an FTI have been improved [ale-rt] (#109)
>=20
> Avoid looking up behaviors with an empty name [ale-rt] (#110)
>=20
> Performance enhancement in schema cache by factor ~1.5.
> [jensens] (#113)
>=20
> Performance enhancement in schema cache and assignable.
> [jensens] (#115)
>=20
> Performance enhancement:
> Refine pre-filtering of attributes on content __getattr__.
> Filter out all permissions (ending with _Permission) and some =
portal-tools.
> Also often called aquired functions are skipped.
> [jensens] (#116)
>=20
> Performance enhancement: avoid a providedBy in _default_from_schema.
> [jensens] (#117)
>=20
> plone.folder: 3.0.0 =E2=86=92 3.0.1
>=20
> Bug fixes:
>=20
> Fixes slow lookup of documentToKeyMap in GopipIndex.
> About up to 66x speedup in some cases.
> This may add up to seconds less on large navtree renderings.
> [jensens] (#14)
> Fixes slow lookup of documentToKeyMap in GopipIndex.
> About up to 66x speedup in some cases.
> This may add up to seconds less on large navtree renderings.
> [jensens] (#14)
>=20
> plone.formwidget.namedfile: 2.0.9 =E2=86=92 2.0.10
>=20
> Bug fixes:
>=20
> set widget value to z3c.form.interfaces.NOT_CHANGED when the user =
selects 'Keep Existing File' in the widget, so z3c.form understands the =
field has not changed [flipmcf] (#41)
> plone.namedfile: 5.0.4 =E2=86=92 5.2.1
>=20
> New features:
>=20
> Load SVG files.
> [balavec] (#63)
>=20
> Add new interface =
plone.namedfile.interfaces.IPluggableFileFieldValidation and =
plone.namedfile.interfaces.IPluggableImageFieldValidation.
> Refactored: the fields validation now looks for adapters with this =
interfaces adapting field and value.
> All found adapters are called.
> The image content type checker (existed before) is by now the only =
adapter implemented and registered so far.
> Other adapters can be registered in related or custom code.
> [jensens] (#81)
>=20
> Bug fixes:
>=20
> Fix tiff support. Remove process_tiff and let the PIL do the work.
> [mamico] (#85)
>=20
> Fix content_type in getImageInfo when using PIL.
> [mamicp] (#85)
>=20
> fix ResourceWarnings for unclosed files
> [mamico] (#80)
>=20
> plone.portlet.collection: 3.3.1 =E2=86=92 3.3.2
>=20
> Bug fixes:
>=20
> Fix deprecated import isDefaultPage.
> [jensens]
> plone.protect: 4.1.2 =E2=86=92 4.1.3
>=20
> Bug fixes:
>=20
> When marking an OOBTree as safe, also mark its buckets as safe. Fixes =
issues with objects that have many annotations. (#88)
> plone.rest: 1.4.0 =E2=86=92 1.6.0
>=20
> New features:
>=20
> Remove CMFPlone and make plone.app.redirector dependency optional =
[timo] (#81)
>=20
> Brown bag release.
>=20
> Brown bag release.
>=20
> plone.restapi: 4.3.1 =E2=86=92 6.1.0
>=20
> Breaking changes:
>=20
> Remove IAPIRequest marker interface from plone.restapi. The correct =
interface should be imported from plone.rest.interfaces instead. If =
anybody was using this marker Interface, it didn't do anything. (#819)
>=20
> Rename tiles behavior and fields to blocks, migration step.
> [timo, sneridagh] (#821)
>=20
> New features:
>=20
> Add SearchableText indexing for text in blocks
> [luca-bellenghi] (#844)
>=20
> Add Python 3.8 support @timo (#829)
>=20
> Add @sources and @querysources endpoints, and link to them from JSON =
schema in @types response.
> [lgraf] (#790)
>=20
> Add @querystring-search endpoint that returns the results of a search =
using a p.a.querystring query.
> [sneridagh] (#789)
>=20
> Use Plone 5.2 and Python 3 as default to generate documentation. =
[timo] (#800)
>=20
> Add @querystring endpoint that dumps p.a.querystring config.
> [lgraf] (#754)
>=20
> Bug fixes:
>=20
> Prevent converting bytestring ids to unicode ids when reordering (see =
upgrade guide for potential migration).
> [deiferni] (#827)
>=20
> Change to use the short name for the Blocks behavior instead of using =
the interface one. It fixes #838.
> [sneridagh] (#838)
>=20
> Fix filtering vocabs and sources by title with non-ASCII characters.
> [lgraf] (#825)
>=20
> Fix serialization of vocabulary items for fields that need hashable =
items (e.g. sets).
> [buchi] (#788)
>=20
> Fixed startup error when Archetypes is there, but plone.app.blob or =
plone.app.collection not.
> [maurits] (#690)
>=20
> Explicitly load zcml of dependencies, instead of using =
includeDependencies
> [maurits] (#2952)
>=20
> Fire ModifiedEvent when field is set to null in a PATCH request.
> [phgross] (#802)
>=20
> Testing: Drop freezegun and instead selectively patch some timestamp =
accessors.
> [lgraf] (#803)
>=20
> Make group serializer results predictable by returning sorted item =
results. [timo] (#798)
>=20
> Fix typo in the tiles_layout field title name.
> [sneridagh] (#785)
>=20
> plone.schemaeditor: 2.0.20 =E2=86=92 2.1.0
>=20
> New features:
>=20
> Deleting fieldsets is now possible through the UI. (#69)
> Bug fixes:
>=20
> Don't show an error when a "required" field doesn't have a default. =
Also added a "Done" button. (#71)
> plone.staticresources: 1.1.0 =E2=86=92 1.2.1
>=20
> New features:
>=20
> Update jQuery from version 1.11.3 to 1.12.4
> [davilima6] (#34)
>=20
> Recompile 'plone' bundle after updating jQuery-related packages (#40)
>=20
> Update all components and recompile bundles. (#44)
>=20
> Split up bundles for more flexibility and optimized resource loading.
> Move select2 and datepicker to logged-in bundle.
> Move toolbar, portletmanager, querystring and structure pattern to =
editor bundle.
> Move tinymce to it's own bundle.
> Single out moment.js to reduce plone bundle size and allow async =
loading.
> Add optional datatables bundle.
> [agitator] (#46)
>=20
> Bug fixes:
>=20
> Fixed drag problem on click on sortable items in folder contents. =
(#56)
>=20
> Fix problem with TTW compilation of bundles. (#58)
>=20
> Fix autotoc pattern: activate the element link with active class =
during initialization
> [mamico] (#37)
>=20
> Fix Tinymce pattern: Link popup looses tab selection on active =
linktype
> [mamico] (#37)
>=20
> build js/css for mockup changes plone/mockup#922
> [mamico] (#37)
>=20
> When compiling a bundle and including a resource from a request, open =
the
> temporary file in binary mode.
> [frapell] (#38)
>=20
> Bring fix for https://github.com/plone/mockup/issues/923
> [frapell] (#41)
>=20
> Fix "TTW Bundle compilation broken".
> Refs: https://github.com/plone/Products.CMFPlone/issues/2969
> [thet] (#43)
>=20
> plone.supermodel: 1.4.0 =E2=86=92 1.5.0
>=20
> New features:
>=20
> Add support for choices of integers for improved registry.xml export.
> [jone] (#32)
> Bug fixes:
>=20
> tests to ensure schema.Set is serialized consistently (#30)
> plone.testing: 7.0.2 =E2=86=92 7.0.3
>=20
> Bug fixes:
>=20
> Fix issue with test-setup when using ZServer 4.0.2.
> [pbauer] (#69)
> plone.z3cform: 1.1.0 =E2=86=92 1.1.1
>=20
> Bug fixes:
>=20
> Fix edit/delete in paginated crud-forms [fRiSi]
> plonetheme.barceloneta: 2.1.4 =E2=86=92 2.1.6
>=20
> Bug fixes:
>=20
> Revert "Fix the different width of Hide and Show button in action =
control panel" [vincentfretin] (#187)
>=20
> Load zcml of plone.resource for our use of the plone:static directive.
> [maurits] (#2952)
>=20
> Products.CMFCore: 2.4.0 =E2=86=92 2.4.2
>=20
> Resolve docutils dependency conflict with Zope.
> (#83 <https://github.com/zopefoundation/Products.CMFCore/issues/83>_)
>=20
> Make sure FSFile.__str__ returns correct native strings under Python =
3.
> (#76 <https://github.com/zopefoundation/Products.CMFCore/issues/76>_)
>=20
> Add a __bytes__ method to FSFile.
>=20
> Add more files types to the FSFile registrations.
>=20
> Products.CMFEditions: 3.3.2 =E2=86=92 3.3.3
>=20
> Bug fixes:
>=20
> Fix DeprecationWarning [jensens] (#71)
> Products.CMFPlone: 5.2.0 =E2=86=92 5.2.1
>=20
> New features:
>=20
> Add plone.staticresources to list of addons which are automatically =
upgraded if upgrade steps are available.
> [thet] (#2976)
> Bug fixes:
>=20
> fix creation of Plone site not adding default Dexterity content types =
if example content not explicitily selected by user.
> [ericof] (#1318)
>=20
> fix default value for email msgid
> [erral] (#2790)
>=20
> Fix: PasswordResetView::getErrors is called, this ensures password is =
validated through RegistrationTool before attempting to reset password.
> [nazrulword] (#2917)
>=20
> Breadcrumbs: consider hidden folders when creating urls [ksuess] =
(#2935)
>=20
> Add Collection to the default_page_types list
> [erral] (#2956)
>=20
> Fix localization of "Site setup" in some control panels =
[vincentfretin] (#2958)
>=20
> Fix TTW Bundle compilation broken.
> [thet] (#2969)
>=20
> Do not save type settings in "content-controlpanel" when switching =
between types.
> [cekk] (#2986)
>=20
> Correctly fire events when user autologin after the password has been =
reset.
> [ericof] (#2993)
>=20
> Products.DateRecurringIndex: 3.0.0 =E2=86=92 3.0.1
>=20
> remove unicode char from CONTRIBUTORS.rst
> [tkimnguyen]
> Products.GenericSetup: 2.0 =E2=86=92 2.0.1
>=20
> Fix the sorting of upgrade steps. [vanderbauwhede]
> Products.PlonePAS: 6.0.2 =E2=86=92 6.0.5
>=20
> Bug fixes:
>=20
> Notify CredentialsUpdated event when password is changed
> [ezvirtual] (#33)
> Notify CredentialsUpdated event when password is changed
> [ezvirtual] (#33)
>=20
> Notify PropertiesUpdated event when member properties are changed
> [ezvirtual]
> Add simple test for PropertiesUpdated event
> [ezvirtual] (#27)
>=20
> Notify PropertiesUpdated event when member properties are changed
> [ezvirtual]
>=20
> Add simple test for PropertiesUpdated event
> [ezvirtual] (#27)
>=20
> Log exception from PAS logout() instead of swallowing them
> [ajung] (#50)
>=20
> Fix deprecated imports.
> Fix buildout infrastructure for Plone 5.2.
> [thet] (#51)
>=20
> Create the MemberData object from an adapter instead of directly =
instantiating it, as intended in Products.CMFCore.MemberDataTool.
> This allows for better extensibility.
> [thet] (#52)
>=20
> Products.PluggableAuthService: 2.0 =E2=86=92 2.2.1
>=20
> Fix broken ICredentialsUpdatedEvent event handler call to =
updateCredentials.
> (#59 =
<https://github.com/zopefoundation/Products.PluggableAuthService/issues/59=
>_)
>=20
> Add new events to be able to notify when a principal is added to
> or removed from a group. Notify these events when principals are
> added or removed to a group in ZODBGroupManager
> (#17 =
<https://github.com/zopefoundation/Products.PluggableAuthService/issues/17=
>_)
>=20
> Fix bug in getRolesForPrincipal for non PAS user.
>=20
> Fix formatting in "Plugin Types" documentation.
>=20
> Fixed error assigning roles in manage_roles page in ZMI.
> See issues #43 =
<https://github.com/zopefoundation/Products.PluggableAuthService/issues/43=
>
> and #51 =
<https://github.com/zopefoundation/Products.PluggableAuthService/issues/51=
>.
>=20
> Products.PluginRegistry: 1.7 =E2=86=92 1.8
>=20
> Rely on Zope 4 branch for unit tests to retain Python 2 compatibility
>=20
> Add movePluginsTop method to registry.
>=20
> Fix linting.
>=20
> Products.Sessions: 4.5 =E2=86=92 4.6
>=20
> Banish dependency on Products.TemporaryFolder into a tests extra
> and point out its issues under Zope 4 in the README.
> (#26 <https://github.com/zopefoundation/Products.Sessions/issues/26>_)
>=20
> Switch tests dependencies to Zope 4.x branch to retain Python 2 =
compatibility
>=20
> Fix access permissions for meta_type and zmi_icon properties so
> they don't raise when accessed in the admin interface.
> (#24 <https://github.com/zopefoundation/Products.Sessions/pull/24>_)
>=20
> Fix Python 3 compatibility of _p_resolveConflict.
> (#25 <https://github.com/zopefoundation/Products.Sessions/pull/25>_)
>=20
> Products.ZSQLMethods: 3.0.7 =E2=86=92 3.0.9
>=20
> z3c.caching: 2.1 =E2=86=92 2.2
>=20
> Fix DeprecationWarnings: import moves from zope.component to =
zope.interface.
> Depend on zope.interface >=3D 3.8.0.
> [jensens]
>=20
> Add support for Python 3.8a3.
> [icemac]
>=20
> zodbverify: 1.0.1 =E2=86=92 1.0.2
>=20
> Bug fixes:
>=20
> Open Data.fs in read only mode. (#2)
> collective.z3cform.datagridfield: 1.5.1 =E2=86=92 1.5.2
>=20
> plone.formwidget.datetime: 1.3.4 =E2=86=92 1.3.5
>=20
> z3c.relationfield: 0.8.0 =E2=86=92 0.9.0
>=20
> New features:
>=20
> Provide IRelationBrokenEvent to be able to distinguish the event when
> subscribing to IObjectModifiedEvent
> [vangheem]
> plone.app.blocks: 4.3.1 =E2=86=92 4.3.2
>=20
> plone.app.standardtiles: 2.3.1 =E2=86=92 2.3.2
>=20
> trollius: 2.2 =E2=86=92 2.2.post1
>=20
> plone.app.imaging: 2.1.0 =E2=86=92 2.1.1
>=20
> Bug fixes:
>=20
> Fix IOError: cannot write mode RGBA as JPEG on ImageField scale
> [avoinea]
> archetypes.multilingual: 3.0.6 =E2=86=92 3.0.8
>=20
> Bug fixes:
>=20
> Fix export of components by adding a __name__ property to the handler.
> [maurits] (#27)
>=20
> Fix test dependency for Plone 5.2
> [jensens] (#28)
>=20
> Project resources
>=20
> Security <https://plone.org/security>
> Issue tracker <https://github.com/plone/Products.CMFPlone/issues/new>
> Support <https://plone.org/support>
> Learn about Plone
>=20
> Installing Plone <http://docs.plone.org/manage/installing/index.html>
> Plone quickstart guide <http://docs.plone.org/quickstart/index.html>
> Working with content =
<http://docs.plone.org/working-with-content/index.html>
> Adapting and extending Plone =
<http://docs.plone.org/adapt-and-extend/index.html>=
--Apple-Mail=_1196FDD1-4E34-4BA0-A125-A4AAE96D788B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=utf-8
<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"><base></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><base=
class=3D""><div class=3D"Apple-Mail-URLShareUserContentTopClass"><br =
class=3D""></div><div =
class=3D"Apple-Mail-URLShareWrapperClass"><blockquote type=3D"cite" =
style=3D"border-left-style: none; color: inherit; padding: inherit; =
margin: inherit;" class=3D""><div class=3D""><div =
class=3D"original-url"><br class=3D""><a =
href=3D"https://plone.org/download/releases/5.2.1" =
class=3D"">https://plone.org/download/releases/5.2.1</a><br class=3D""><br=
class=3D""></div><div id=3D"article" role=3D"article" =
style=3D"text-rendering: optimizeLegibility; font-family: =
-apple-system-font; font-size: 1.2em; line-height: 1.5em; margin: 0px; =
padding: 0px;" class=3D"system exported">
<!-- This node will contain a number of div.page. -->
<div class=3D"page" style=3D"word-wrap: break-word; max-width: =
100%;"><h1 class=3D"title" style=3D"font-size: 1.95552em; line-height: =
1.2141em; margin-top: 0px; margin-bottom: 0.5em; max-width: 100%;">Plone =
5.2.1</h1>
=20
=20
<div style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: =
100%;" class=3D"">There may be hotfixes applicable to this release. =
Always check the <a href=3D"https://plone.org/security/hotfixes/" =
style=3D"color: rgb(65, 110, 210); max-width: 100%;" class=3D"">Plone =
Hotfix page</a> before production deployment.</p>
</div>
<h3 style=3D"font-size: 1.25em; max-width: 100%;" class=3D"">Release =
notes</h3>
<div class=3D"scrollable" style=3D"max-width: 100%; overflow-x: =
scroll; word-wrap: normal;"><table style=3D"max-width: none; font-size: =
0.9em; word-wrap: break-word; border-collapse: collapse;" class=3D"">
<tbody style=3D"max-width: 100%;" class=3D"">
<tr style=3D"max-width: 100%;" class=3D""><th style=3D"max-width: =
100%; padding: 0.25em 0.5em; border: 1px solid rgb(216, 216, 216); =
background-color: rgba(0, 0, 0, 0.0235294);" class=3D"">License</th><td =
style=3D"max-width: 100%; padding: 0.25em 0.5em; border: 1px solid =
rgb(216, 216, 216);" class=3D""><a =
href=3D"http://creativecommons.org/licenses/GPL/2.0/" style=3D"color: =
rgb(65, 110, 210); max-width: 100%;" class=3D"">GPL</a></td></tr>
<tr style=3D"max-width: 100%;" class=3D""><th style=3D"max-width: =
100%; padding: 0.25em 0.5em; border: 1px solid rgb(216, 216, 216); =
background-color: rgba(0, 0, 0, 0.0235294);" class=3D"">Date =
released</th><td style=3D"max-width: 100%; padding: 0.25em 0.5em; =
border: 1px solid rgb(216, 216, 216);" class=3D"">2020-01-13</td></tr>
<tr style=3D"max-width: 100%;" class=3D""><th style=3D"max-width: =
100%; padding: 0.25em 0.5em; border: 1px solid rgb(216, 216, 216); =
background-color: rgba(0, 0, 0, 0.0235294);" class=3D"">Release =
manager</th><td style=3D"max-width: 100%; padding: 0.25em 0.5em; border: =
1px solid rgb(216, 216, 216);" class=3D""><a =
href=3D"https://plone.org/profile/esteele" style=3D"color: rgb(65, 110, =
210); max-width: 100%;" class=3D"">Eric Steele</a></td></tr>
</tbody>
</table></div>
<div style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: =
100%;" class=3D"">Plone 5.2.1 is a bug fix release of <a =
href=3D"../../../resolveuid/be45977ba24744d2bbd2a6d1f1f4cfe6" =
data-linktype=3D"internal" data-val=3D"be45977ba24744d2bbd2a6d1f1f4cfe6" =
style=3D"color: rgb(65, 110, 210); max-width: 100%;" class=3D"">Plone =
5.2</a></p><p style=3D"max-width: 100%;" class=3D""><strong =
style=3D"max-width: 100%;" class=3D"">Linux/BSD/Unix =
users:</strong> Use the <em style=3D"max-width: 100%;" =
class=3D"">Unified Installer</em>. It is a configuration and setup =
kit with build scripts.</p><p style=3D"max-width: 100%;" =
class=3D""><strong style=3D"max-width: 100%;" class=3D"">Windows 10 =
users:</strong> use the Unified Installer. See <a =
href=3D"https://github.com/plone/Installers-UnifiedInstaller/blob/windows_=
install/docs/windows.rst" style=3D"color: rgb(65, 110, 210); max-width: =
100%;" class=3D"">Windows-specific installation instructions</a>. =
Consider using the unified installer within the Windows Subsystem for =
Linux (WSL).</p><p style=3D"max-width: 100%;" class=3D""><strong =
style=3D"max-width: 100%;" class=3D"">OS X users:</strong> use the =
Vagrant kit or install XCode command-line tools and use the Unified =
Installer.</p><p style=3D"max-width: 100%;" class=3D""><strong =
style=3D"max-width: 100%;" class=3D"">Automated =
provisioning:</strong> See <a =
href=3D"http://docs.plone.org/external/ansible-playbook/docs" =
style=3D"color: rgb(65, 110, 210); max-width: 100%;" class=3D"">Plone's =
Ansible Playbook</a> for a full-stack installation kit.</p><p =
style=3D"max-width: 100%;" class=3D""><strong style=3D"max-width: 100%;" =
class=3D"">Cross-platform Docker:</strong> install <a =
href=3D"https://www.docker.com/" data-linktype=3D"external" =
data-val=3D"https://www.docker.com/" style=3D"color: rgb(65, 110, 210); =
max-width: 100%;" class=3D"">Docker</a> and use the <a =
href=3D"https://github.com/plone/plone.docker" data-linktype=3D"external" =
data-val=3D"https://github.com/plone/plone.docker" style=3D"color: =
rgb(65, 110, 210); max-width: 100%;" class=3D"">Plone Docker =
image</a>.</p><p style=3D"max-width: 100%;" class=3D"">For the Plone 5.2 =
upgrade guide, see <a =
href=3D"https://docs.plone.org/manage/upgrading/index.html?highlight=3Dupg=
rade%20guide" style=3D"color: rgb(65, 110, 210); max-width: 100%;" =
class=3D"">https://docs.plone.org/manage/upgrading/</a></p>
</div>
<h3 style=3D"font-size: 1.25em; max-width: 100%;" =
class=3D"">Downloads</h3>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">
<a =
href=3D"https://launchpad.net/plone/5.2/5.2.1/+download/Plone-5.2.1-Unifie=
dInstaller-r1.tgz" style=3D"color: rgb(65, 110, 210); max-width: 100%;" =
class=3D"">
Unified Installer<br style=3D"max-width: 100%;" class=3D"">
<small style=3D"max-width: 100%;" class=3D"">all platforms =
(4.2MB)</small>
</a>
</li>
<li style=3D"max-width: 100%;" class=3D"">
<a href=3D"https://github.com/plone/plonedev.vagrant/tree/5.2.1-3.7"=
style=3D"color: rgb(65, 110, 210); max-width: 100%;" class=3D"">
Vagrant / VirtualBox Kit<br style=3D"max-width: 100%;" class=3D"">=
<small style=3D"max-width: 100%;" class=3D""> </small>
</a>
</li>
</ul>
=20
<h3 style=3D"font-size: 1.25em; max-width: 100%;" =
class=3D"">Changes</h3>
<div style=3D"max-width: 100%;" class=3D""><h4 style=3D"font-size: =
1em; margin: 1em 0px; max-width: 100%;" class=3D"">Zope 4.1.1 -> =
4.1.3</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">setuptools: 41.0.1 =E2=86=92 42.0.2</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.recipe.zope2instance: 6.3.0 =E2=86=92 6.5.1</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">added <code style=3D"max-width: 100%;" =
class=3D"">wsgi-ini-template</code> option for specifying a custom =
template for the generation of the <code style=3D"max-width: 100%;" =
class=3D"">wsgi.ini</code> configuration file [ajung] (119-1)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">advanced WSGI logging configuration options for specifying =
arbitrary logging handlers for event and access log [ajung] (119-2)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">added documentation and examples for advanced WSGI logger =
configuration [ajung] (119-3)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Sentry support by adding a new filter to the WSGI =
pipeline. (#124)</p>
</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">for initialization option, string format works for instance =
console script not for the others<br style=3D"max-width: 100%;" =
class=3D"">
[mamico] (#130)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add documentation for <code style=3D"max-width: 100%;" =
class=3D"">threads</code> option. (#126)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix documentation for http-address option. (#127)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed a deprecation warning when importing <code =
style=3D"max-width: 100%;" class=3D"">makerequest</code> from <code =
style=3D"max-width: 100%;" =
class=3D"">Testing.ZopeTestCase.utils</code>.<br style=3D"max-width: =
100%;" class=3D"">
This also fixes a side effect which can bite you if you rely on the =
<code style=3D"max-width: 100%;" class=3D"">ZOPETESTCASE</code> =
environment variable, only being set to <code style=3D"max-width: 100%;" =
class=3D"">1</code> during test runs. (#122)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.releaser: 1.7.2 =E2=86=92 1.8.0</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Handle coredev branch 6.0 when =
releasing packages.<br style=3D"max-width: 100%;" class=3D"">
[maurits] (#27)</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed adding some package versions twice when releasing.<br =
style=3D"max-width: 100%;" class=3D"">
[maurits] (#24)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed Python 3 compatibility. [maurits] (#25)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">tqdm: 4.32.2 =E2=86=92 4.40.0</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">twine: 1.13.0 =E2=86=92 1.15.0</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">zest.releaser: 6.19.0 =E2=86=92 6.19.1</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.robotframework: 1.5.2 =E2=86=92 1.5.3</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix the Debug keyword (#114)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove deprecation warnings [ale-rt] (#116)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">i18ndude: 5.3.0 =E2=86=92 5.3.1</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Disallow non-word characters =
(but do allow dashes) in <code style=3D"max-width: 100%;" =
class=3D"">i18n:name</code><br style=3D"max-width: 100%;" class=3D"">
attributes when running <code style=3D"max-width: 100%;" =
class=3D"">find-untranslated</code> code analysis. [gyst] (#71)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">msgpack: 0.6.1 =E2=86=92 0.6.2</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Products.PythonScripts: 4.7 =E2=86=92 4.9</h4>
<ul class=3D"code-block" style=3D"max-width: 100%;">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">prevent ResourceWarning/Error by closing default contents =
file<br style=3D"max-width: 100%;" class=3D"">
(<code style=3D"max-width: 100%;" class=3D"">#39 <<a =
href=3D"https://github.com/zopefoundation/Products.PythonScripts/issues/39=
" =
class=3D"">https://github.com/zopefoundation/Products.PythonScripts/issues=
/39</a>></code>_)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Show proper error message for not allowed identifiers.<br =
style=3D"max-width: 100%;" class=3D"">
(<code style=3D"max-width: 100%;" class=3D"">#33 <<a =
href=3D"https://github.com/zopefoundation/Products.PythonScripts/issues/33=
" =
class=3D"">https://github.com/zopefoundation/Products.PythonScripts/issues=
/33</a>></code>_)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Restore History ZMI tab as Zope is supporting it again.<br =
style=3D"max-width: 100%;" class=3D"">
(<code style=3D"max-width: 100%;" class=3D"">#38 <<a =
href=3D"https://github.com/zopefoundation/Products.PythonScripts/issues/38=
" =
class=3D"">https://github.com/zopefoundation/Products.PythonScripts/issues=
/38</a>></code>_)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Products.StandardCacheManagers: 4.0.2 =E2=86=92 4.0.3</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">tempstorage: 5.0 =E2=86=92 5.1</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">zope.app.locales: 4.0.1 =E2=86=92 4.1</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">attrs: 19.1.0 =E2=86=92 19.3.0</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">calmjs.parse: 1.1.3 =E2=86=92 1.2.1</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">cssselect: 1.0.3 =E2=86=92 1.1.0</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">decorator: 4.4.0 =E2=86=92 4.4.1</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">future: 0.17.1 =E2=86=92 0.18.2</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">futures: 3.2.0 =E2=86=92 3.3.0</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">jsonschema: 3.0.1 =E2=86=92 3.2.0</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">lxml: 4.3.4 =E2=86=92 4.4.2</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">piexif: 1.1.2 =E2=86=92 1.1.3</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">pillow: 6.1.0 =E2=86=92 6.2.1</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">pyrsistent: 0.15.2 =E2=86=92 0.15.6</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">python-dateutil: 2.8.0 =E2=86=92 2.8.1</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">pytz: 2019.1 =E2=86=92 2019.3</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">simplejson: 3.16.0 =E2=86=92 3.17.0</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">urllib3: 1.25.3 =E2=86=92 1.25.7</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">five.intid: 1.2.3 =E2=86=92 1.2.4</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Also catch KeyError when traversing to fix creating relations =
during Copy&Paste in Zope 4.<br style=3D"max-width: 100%;" class=3D"">=
Fixes <a href=3D"https://github.com/plone/Products.CMFPlone/issues/2866"=
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2866</a><br =
style=3D"max-width: 100%;" class=3D"">
[pbauer] (#12)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">When looking up back-references the lookup using =
unrestrictedTraverse was way to slow.<br style=3D"max-width: 100%;" =
class=3D"">
A simplified traverse speeds up the lookup by up 80x. [jensens, =
2silver] (#14)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">icalendar: 4.0.3 =E2=86=92 4.0.4</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Reduce Hypothesis iterations =
to speed up testing, allowing PRs to pass<br style=3D"max-width: 100%;" =
class=3D"">
[UniversalSuperBox]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">mockup: 3.0.2 =E2=86=92 3.1.1</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Upgrade testing dependencies: Karma (from ~3.0.0 to ~4.1.0) =
and Mocha (from ~3.5.3 to ~6.1.4) (#913)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Upgrade jQuery from version 1.11.3 to 1.12.4<br =
style=3D"max-width: 100%;" class=3D"">
[davilima6] (#915)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Upgrade jQuery-related dependencies:</p>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">jqtree: from version 1.4.1 to =
1.4.10</li>
<li style=3D"max-width: 100%;" class=3D"">jquery-form: from 3.5.1 to =
4.2.2</li>
<li style=3D"max-width: 100%;" class=3D"">bootstrap: from 3.3.6 to =
3.4.1</li>
<li style=3D"max-width: 100%;" class=3D"">pickadate: from 3.5.6 to 3.6.4 =
(#916)</li>
</ul>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">jqtree: from version 1.4.1 to 1.4.10</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">jquery-form: from 3.5.1 to 4.2.2</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">bootstrap: from 3.3.6 to 3.4.1</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">pickadate: from 3.5.6 to 3.6.4 (#916)</p>
</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">tinymce: Fix tab labels for insert links and images<br =
style=3D"max-width: 100%;" class=3D"">
[frapell] (#923)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">tinymce link popup external translation (#926)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">tinyimce link popup upload tab shows up even if upload is =
false in pat data (#927)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">pat-inlinevalidation: Avoid submitting files<br =
style=3D"max-width: 100%;" class=3D"">
[frapell] (#903)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix marking of navigation parents as inPath<br =
style=3D"max-width: 100%;" class=3D"">
[agitator] (#906)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Absolute positioning of default page objects in the structure =
pattern (take 2 on issue #895) (#908)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Move toolbar to be above structure pattern, by increasing its =
z-index from 3 to 20 (fixes Products.CMFPlone#2490)<br style=3D"max-width:=
100%;" class=3D"">
[fulv] (#909)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">tinymce pattern: Add some lost i18n translations.<br =
style=3D"max-width: 100%;" class=3D"">
[adam139] (#910)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix SyntaxError caused by duplicate translation keys<br =
style=3D"max-width: 100%;" class=3D"">
[davilima6] (#918)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed drag problem on click on sortable items in folder =
contents.<br style=3D"max-width: 100%;" class=3D"">
[giuliaghisini] (#919)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix Tinymce pattern: Link popup looses tab selection on =
active linktype<br style=3D"max-width: 100%;" class=3D"">
[mamico]<br style=3D"max-width: 100%;" class=3D"">
Fix autotoc pattern: activate the element link with active class =
during initialization<br style=3D"max-width: 100%;" class=3D"">
[mamico] (#922)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Plone: 5.2.0 =E2=86=92 5.2.1</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Release Plone 5.2.1 final<br =
style=3D"max-width: 100%;" class=3D"">
[esteele]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.caching: 2.0.2 =E2=86=92 2.0.3</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix python3 related encoding =
error on manual purge page.<br style=3D"max-width: 100%;" class=3D"">
[agitator] (#51)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.content: 3.7.0 =E2=86=92 3.7.4</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Reversed the order of the translations list in plonejsi18n so =
custom ones come before defaults one (#187)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Follow default_page_types setting when showing the items that =
can be selected as default page [erral] (#182)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Description duplicated in object_rename form<br =
style=3D"max-width: 100%;" class=3D"">
[mamico] (#186)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Support plone.app.multilingual.RootCatalog.<br =
style=3D"max-width: 100%;" class=3D"">
[jaroel] (#1)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D""><code style=3D"max-width: 100%;" class=3D"">self.errors</code> =
is a list, so <code style=3D"max-width: 100%;" class=3D"">.append()</code>=
should be used.<br style=3D"max-width: 100%;" class=3D"">
[frapell] (#2)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.contentrules: 4.1.1 =E2=86=92 4.1.3</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">fix genericsetup export of properties of rules that have more =
complex fields such as IDict. (#50)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix file extension condition. [mtrebron] (#48)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.contenttypes: 2.1.2 =E2=86=92 2.1.5</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">for migration tests uninstall plone.app.contenttypes if =
previously installed<br style=3D"max-width: 100%;" class=3D"">
[ericof] (#535)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix richtext <code style=3D"max-width: 100%;" =
class=3D"">getText</code> view to use the correct schema interface.<br =
style=3D"max-width: 100%;" class=3D"">
[thet]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Robot tests: split big content listing scenario, fix =
deprecations.<br style=3D"max-width: 100%;" class=3D"">
[maurits] (#533)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Clear schema cache after migration step <code =
style=3D"max-width: 100%;" class=3D"">migrate_to_pa_event</code>. =
[jensens] (#531)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Explicitly load zcml of dependencies, instead of using <code =
style=3D"max-width: 100%;" class=3D"">includeDependencies</code><br =
style=3D"max-width: 100%;" class=3D"">
[maurits] (#2952)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.dexterity: 2.6.3 =E2=86=92 2.6.4</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Use https links to documentation. [vincentfretin] (#299)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update documentation introduction w/r/t archetypes (#301) =
(#302)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix mr.bob command in documentation (#305)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.discussion: 3.2.1 =E2=86=92 3.3.2</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Notification for moderator: show email address of =
commentator. (#163)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Link to the commented page for editing, approving, deleting =
comment instead of linking to <code style=3D"max-width: 100%;" =
class=3D"">/@@moderate-publish-comment</code> and <code =
style=3D"max-width: 100%;" class=3D"">@@moderate-delete-comment</code>.<br=
style=3D"max-width: 100%;" class=3D"">
[ksuess] (#163)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Additional view for approved comments<br style=3D"max-width: =
100%;" class=3D"">
[ksuess] (#159)</p>
</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D""><code style=3D"max-width: 100%;" =
class=3D"">/@@moderate-publish-comment</code>: publish only pending =
comment, else show status message "comment already approved".<br =
style=3D"max-width: 100%;" class=3D"">
[ksuess] (#163)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Use the shared 'Plone test setup' and 'Plone test teardown' =
keywords in Robot tests.<br style=3D"max-width: 100%;" class=3D"">
[Rotonen] (#155)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Load zcml of <code style=3D"max-width: 100%;" =
class=3D"">plone.resource</code> for our use of the <code =
style=3D"max-width: 100%;" class=3D"">plone:static</code> directive.<br =
style=3D"max-width: 100%;" class=3D"">
[maurits] (#2952)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.event: 3.2.4 =E2=86=92 3.2.6</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix Python2 vs. Python3 text and bytes handling in the =
calendar portlet. (#308)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Load zcml of <code style=3D"max-width: 100%;" =
class=3D"">plone.resource</code> for our use of the <code =
style=3D"max-width: 100%;" class=3D"">plone:static</code> directive.<br =
style=3D"max-width: 100%;" class=3D"">
[maurits] (#2952)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.iterate: 3.3.12 =E2=86=92 3.3.13</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Explicitly load zcml of =
dependencies, instead of using <code style=3D"max-width: 100%;" =
class=3D"">includeDependencies</code>.<br style=3D"max-width: 100%;" =
class=3D"">
[maurits] (#2952)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.layout: 3.2.1 =E2=86=92 3.4.0</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add is_navigation_root check in plone_context_state view<br =
style=3D"max-width: 100%;" class=3D"">
[erral] (#225)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add a sorrounding div to the webstats js. Fixes #157<br =
style=3D"max-width: 100%;" class=3D"">
[erral] (#157)</p>
</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix Home tab localization [vincentfretin] (#222)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix memory leak on getUserInfo [avoinea] (#204) (#210)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix Unicode Error in folders with special chars. See #215 =
[erral] (#215)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add missing translation for screen readers<br =
style=3D"max-width: 100%;" class=3D"">
[laulaz]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Memory leak on getUserInfo [avoinea] (#204)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.linkintegrity: 3.3.11 =E2=86=92 3.3.12</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Explicitly load zcml of =
dependencies, instead of using <code style=3D"max-width: 100%;" =
class=3D"">includeDependencies</code>.<br style=3D"max-width: 100%;" =
class=3D"">
[maurits] (#2952)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.locales: 5.1.18 =E2=86=92 5.1.21</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Megaupdate plone.po RU locale.<br style=3D"max-width: 100%;" =
class=3D"">
[Serge73]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix French translation.<br style=3D"max-width: 100%;" =
class=3D"">
[laulaz]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update Japanese translations.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update Portuguese-BR translations.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update French translations.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update Slovenian translations, sync from POT files.<br =
style=3D"max-width: 100%;" class=3D"">
[balavec]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update German: Inhalte werden "Erstellt" nicht "Erzeugt".<br =
style=3D"max-width: 100%;" class=3D"">
[jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Minor fixes in Basque<br style=3D"max-width: 100%;" class=3D"">=
[erral]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update Spanish translation.<br style=3D"max-width: 100%;" =
class=3D"">
[erral]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update basque translation<br style=3D"max-width: 100%;" =
class=3D"">
[erral]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update Slovenian translations.<br style=3D"max-width: 100%;" =
class=3D"">
[balavec]</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.multilingual: 5.3.5 =E2=86=92 5.5.0</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove the 'set_language' parameter when 'always_set_cookie' =
is enabled in language control panel. See #362<br style=3D"max-width: =
100%;" class=3D"">
[erral] (#362)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add low level events and notifies:<br style=3D"max-width: =
100%;" class=3D"">
on register, update and remove of a translation to a translation =
groups.<br style=3D"max-width: 100%;" class=3D"">
[jensens] (#256)</p>
</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Use the shared 'Plone test setup' and 'Plone test teardown' =
keywords in Robot tests.<br style=3D"max-width: 100%;" class=3D"">
[Rotonen] (#349)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">fix adding new language when Language Independent Folder has =
content<br style=3D"max-width: 100%;" class=3D"">
[petschki] (#358)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">add/update translation forms doesn't show error return from =
z3c form validation<br style=3D"max-width: 100%;" class=3D"">
[mamico] (#360)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove deprecation warnings in tests.<br style=3D"max-width: =
100%;" class=3D"">
Increase readability<br style=3D"max-width: 100%;" class=3D"">
Add code comments.<br style=3D"max-width: 100%;" class=3D"">
Remove superfluos reindex of "Language" in manager.<br =
style=3D"max-width: 100%;" class=3D"">
[jensens] (#256)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">wrong check for default addview in addtranslation =
traverser<br style=3D"max-width: 100%;" class=3D"">
[mauro] (#355)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove any dependency to <code style=3D"max-width: 100%;" =
class=3D"">archetypes.multilingual</code>, since this is a =
indirection.<br style=3D"max-width: 100%;" class=3D"">
Remove all dependencies that are already part of <code =
style=3D"max-width: 100%;" class=3D"">Products.CMFPlone</code>.<br =
style=3D"max-width: 100%;" class=3D"">
All version specifications were reduced to use a recent <code =
style=3D"max-width: 100%;" class=3D"">Products.CMFPlone</code>.<br =
style=3D"max-width: 100%;" class=3D"">
The <code style=3D"max-width: 100%;" class=3D"">decorator</code> =
dependency is no longer used.<br style=3D"max-width: 100%;" class=3D"">
[jensens] (#357)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.portlets: 4.4.2 =E2=86=92 4.4.4</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Remove role=3D"navigation" =
from Navigation portlet.<br style=3D"max-width: 100%;" class=3D"">
[ericof] (#128) (#128)</li>
</ul>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove role=3D"navigation" from Navigation portlet.<br =
style=3D"max-width: 100%;" class=3D"">
[ericof] (#128) (#128)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix review portlet when show on the portal-root (#130)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix default value for label_msgid<br style=3D"max-width: =
100%;" class=3D"">
[erral] (#133)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.querystring: 1.4.11 =E2=86=92 1.4.12</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Integer criterions: try to =
convert all input to integers.<br style=3D"max-width: 100%;" class=3D"">
Most notably this did not happen for unicode on Python 2.<br =
style=3D"max-width: 100%;" class=3D"">
So a <code style=3D"max-width: 100%;" class=3D"">u"42"</code> was =
passed as value to the catalog query, and this matched either all or =
nothing.<br style=3D"max-width: 100%;" class=3D"">
[maurits] (#93)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.redirector: 2.1.0 =E2=86=92 2.1.1</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Allow performance tests to =
take more time.<br style=3D"max-width: 100%;" class=3D"">
This seems needed on the Plone Jenkins test server when jobs are run =
in parallel.<br style=3D"max-width: 100%;" class=3D"">
[maurits] (#20)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.textfield: 1.3.1 =E2=86=92 1.3.2</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Check if transform output is =
actual string on Python 2.<br style=3D"max-width: 100%;" class=3D"">
[agitator] (#37)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.theming: 4.0.1 =E2=86=92 4.0.4</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix creating a new theme ttw in py2 with Zope 4.1.3.<br =
style=3D"max-width: 100%;" class=3D"">
[pbauer] (#166)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Load zcml of <code style=3D"max-width: 100%;" =
class=3D"">plone.resource</code> for our use of the <code =
style=3D"max-width: 100%;" class=3D"">plone:static</code> directive.<br =
style=3D"max-width: 100%;" class=3D"">
[maurits] (#2952)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed Python3 TypeError: 'filter' object is not =
subscriptable.<br style=3D"max-width: 100%;" class=3D"">
This happened when overriding a filesystem theme with a TTW version<br =
style=3D"max-width: 100%;" class=3D"">
[fredvd] (#160)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.upgrade: 2.0.27 =E2=86=92 2.0.31</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Make sure plone.staticresources is installed to fix issues =
with site migrated from 5.0 or 5.1 to 5.2.1.<br style=3D"max-width: =
100%;" class=3D"">
Fixes <a href=3D"https://github.com/plone/Products.CMFPlone/issues/2996"=
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2996</a><br =
style=3D"max-width: 100%;" class=3D"">
[pbauer] (#223)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed error when upgrading relations.<br style=3D"max-width: =
100%;" class=3D"">
[maurits] (#220)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Collection to the default_page_types setting<br =
style=3D"max-width: 100%;" class=3D"">
[erral] (#216)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add empty upgrade step for Plone 5.1.6<br style=3D"max-width: =
100%;" class=3D"">
[esteele] (#214)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.users: 2.6.0 =E2=86=92 2.6.2</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Error happening during user add notification is logged. =
(#85)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">User feedback if error happens during user add notification. =
(#86)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix default value for label_msgid. (#88)<br style=3D"max-width:=
100%;" class=3D"">
[erral]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix many_groups usage in AddUserForm<br style=3D"max-width: =
100%;" class=3D"">
[tmassman] (#83)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.vocabularies: 4.1.0 =E2=86=92 4.1.1</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Principals vocabularies: Fixed =
handling of results from multiple PAS plugins (like pasldap and =
mutable_properties). (#60)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.widgets: 3.0.2 =E2=86=92 3.0.3</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Run robot tests as Member =
since the widget will move to the logged-in-bundle.<br style=3D"max-width:=
100%;" class=3D"">
[agitator] (#201)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.z3cform: 3.1.1 =E2=86=92 3.1.3</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix LinkWidget selected tab on =
edit #108<br style=3D"max-width: 100%;" class=3D"">
[mamico] (#108)</li>
</ul>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix LinkWidget selected tab on edit #108<br style=3D"max-width:=
100%;" class=3D"">
[mamico] (#108)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix wrong default for method attribute in pt<br =
style=3D"max-width: 100%;" class=3D"">
[mamico] (#107)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.dexterity: 2.9.1 =E2=86=92 2.9.5</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Speedup (~1.6x) parallel thread execution by removing =
superfluos synchronization [jensens] (#123)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Invalidate cached FTIs on request to allow complex/long =
running auto-installations. [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix thread safe recursion detection. This fixes an issue in =
plone.restapi: <a =
href=3D"https://github.com/plone/plone.dexterity/issues/120" =
class=3D"">https://github.com/plone/plone.dexterity/issues/120</a>. =
[jensens] (#120)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">The debug messages issued when a non existent behavior is =
recorded in an FTI have been improved [ale-rt] (#109)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Avoid looking up behaviors with an empty name [ale-rt] =
(#110)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Performance enhancement in schema cache by factor ~1.5.<br =
style=3D"max-width: 100%;" class=3D"">
[jensens] (#113)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Performance enhancement in schema cache and assignable.<br =
style=3D"max-width: 100%;" class=3D"">
[jensens] (#115)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Performance enhancement:<br style=3D"max-width: 100%;" =
class=3D"">
Refine pre-filtering of attributes on content <code style=3D"max-width: =
100%;" class=3D"">__getattr__</code>.<br style=3D"max-width: 100%;" =
class=3D"">
Filter out all permissions (ending with <code style=3D"max-width: =
100%;" class=3D"">_Permission</code>) and some portal-tools.<br =
style=3D"max-width: 100%;" class=3D"">
Also often called aquired functions are skipped.<br style=3D"max-width: =
100%;" class=3D"">
[jensens] (#116)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Performance enhancement: avoid a providedBy in <code =
style=3D"max-width: 100%;" class=3D"">_default_from_schema</code>.<br =
style=3D"max-width: 100%;" class=3D"">
[jensens] (#117)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.folder: 3.0.0 =E2=86=92 3.0.1</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fixes slow lookup of <code =
style=3D"max-width: 100%;" class=3D"">documentToKeyMap</code> in =
GopipIndex.<br style=3D"max-width: 100%;" class=3D"">
About up to 66x speedup in some cases.<br style=3D"max-width: 100%;" =
class=3D"">
This may add up to seconds less on large navtree renderings.<br =
style=3D"max-width: 100%;" class=3D"">
[jensens] (#14)</li>
</ul>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixes slow lookup of <code style=3D"max-width: 100%;" =
class=3D"">documentToKeyMap</code> in GopipIndex.<br style=3D"max-width: =
100%;" class=3D"">
About up to 66x speedup in some cases.<br style=3D"max-width: 100%;" =
class=3D"">
This may add up to seconds less on large navtree renderings.<br =
style=3D"max-width: 100%;" class=3D"">
[jensens] (#14)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.formwidget.namedfile: 2.0.9 =E2=86=92 2.0.10</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">set widget value to =
z3c.form.interfaces.NOT_CHANGED when the user selects 'Keep Existing =
File' in the widget, so z3c.form understands the field has not changed =
[flipmcf] (#41)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.namedfile: 5.0.4 =E2=86=92 5.2.1</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Load SVG files.<br style=3D"max-width: 100%;" class=3D"">
[balavec] (#63)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add new interface <code style=3D"max-width: 100%;" =
class=3D"">plone.namedfile.interfaces.IPluggableFileFieldValidation</code>=
and <code style=3D"max-width: 100%;" =
class=3D"">plone.namedfile.interfaces.IPluggableImageFieldValidation</code=
>.<br style=3D"max-width: 100%;" class=3D"">
Refactored: the fields validation now looks for adapters with this =
interfaces adapting field and value.<br style=3D"max-width: 100%;" =
class=3D"">
All found adapters are called.<br style=3D"max-width: 100%;" class=3D"">=
The image content type checker (existed before) is by now the only =
adapter implemented and registered so far.<br style=3D"max-width: 100%;" =
class=3D"">
Other adapters can be registered in related or custom code.<br =
style=3D"max-width: 100%;" class=3D"">
[jensens] (#81)</p>
</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix tiff support. Remove process_tiff and let the PIL do the =
work.<br style=3D"max-width: 100%;" class=3D"">
[mamico] (#85)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix content_type in getImageInfo when using PIL.<br =
style=3D"max-width: 100%;" class=3D"">
[mamicp] (#85)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">fix ResourceWarnings for unclosed files<br style=3D"max-width: =
100%;" class=3D"">
[mamico] (#80)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.portlet.collection: 3.3.1 =E2=86=92 3.3.2</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix deprecated import <code =
style=3D"max-width: 100%;" class=3D"">isDefaultPage</code>.<br =
style=3D"max-width: 100%;" class=3D"">
[jensens]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.protect: 4.1.2 =E2=86=92 4.1.3</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">When marking an OOBTree as =
safe, also mark its buckets as safe. Fixes issues with objects that have =
many annotations. (#88)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.rest: 1.4.0 =E2=86=92 1.6.0</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove CMFPlone and make plone.app.redirector dependency =
optional [timo] (#81)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Brown bag release.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Brown bag release.</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.restapi: 4.3.1 =E2=86=92 6.1.0</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Breaking changes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove IAPIRequest marker interface from plone.restapi. The =
correct interface should be imported from plone.rest.interfaces instead. =
If anybody was using this marker Interface, it didn't do anything. =
(#819)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Rename tiles behavior and fields to blocks, migration =
step.<br style=3D"max-width: 100%;" class=3D"">
[timo, sneridagh] (#821)</p>
</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add SearchableText indexing for text in blocks<br =
style=3D"max-width: 100%;" class=3D"">
[luca-bellenghi] (#844)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 3.8 support @timo (#829)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add @sources and @querysources endpoints, and link to them =
from JSON schema in @types response.<br style=3D"max-width: 100%;" =
class=3D"">
[lgraf] (#790)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add @querystring-search endpoint that returns the results of =
a search using a p.a.querystring query.<br style=3D"max-width: 100%;" =
class=3D"">
[sneridagh] (#789)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Use Plone 5.2 and Python 3 as default to generate =
documentation. [timo] (#800)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add @querystring endpoint that dumps p.a.querystring =
config.<br style=3D"max-width: 100%;" class=3D"">
[lgraf] (#754)</p>
</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Prevent converting bytestring ids to unicode ids when =
reordering (see upgrade guide for potential migration).<br =
style=3D"max-width: 100%;" class=3D"">
[deiferni] (#827)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Change to use the short name for the Blocks behavior instead =
of using the interface one. It fixes #838.<br style=3D"max-width: 100%;" =
class=3D"">
[sneridagh] (#838)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix filtering vocabs and sources by title with non-ASCII =
characters.<br style=3D"max-width: 100%;" class=3D"">
[lgraf] (#825)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix serialization of vocabulary items for fields that need =
hashable items (e.g. sets).<br style=3D"max-width: 100%;" class=3D"">
[buchi] (#788)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed startup error when Archetypes is there, but <code =
style=3D"max-width: 100%;" class=3D"">plone.app.blob</code> or <code =
style=3D"max-width: 100%;" class=3D"">plone.app.collection</code> =
not.<br style=3D"max-width: 100%;" class=3D"">
[maurits] (#690)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Explicitly load zcml of dependencies, instead of using <code =
style=3D"max-width: 100%;" class=3D"">includeDependencies</code><br =
style=3D"max-width: 100%;" class=3D"">
[maurits] (#2952)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fire ModifiedEvent when field is set to null in a PATCH =
request.<br style=3D"max-width: 100%;" class=3D"">
[phgross] (#802)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Testing: Drop freezegun and instead selectively patch some =
timestamp accessors.<br style=3D"max-width: 100%;" class=3D"">
[lgraf] (#803)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Make group serializer results predictable by returning sorted =
item results. [timo] (#798)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix typo in the <code style=3D"max-width: 100%;" =
class=3D"">tiles_layout</code> field title name.<br style=3D"max-width: =
100%;" class=3D"">
[sneridagh] (#785)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.schemaeditor: 2.0.20 =E2=86=92 2.1.0</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Deleting fieldsets is now =
possible through the UI. (#69)</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Don't show an error when a =
"required" field doesn't have a default. Also added a "Done" button. =
(#71)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.staticresources: 1.1.0 =E2=86=92 1.2.1</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update jQuery from version 1.11.3 to 1.12.4<br =
style=3D"max-width: 100%;" class=3D"">
[davilima6] (#34)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Recompile 'plone' bundle after updating jQuery-related =
packages (#40)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update all components and recompile bundles. (#44)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Split up bundles for more flexibility and optimized resource =
loading.<br style=3D"max-width: 100%;" class=3D"">
Move select2 and datepicker to logged-in bundle.<br style=3D"max-width: =
100%;" class=3D"">
Move toolbar, portletmanager, querystring and structure pattern to =
editor bundle.<br style=3D"max-width: 100%;" class=3D"">
Move tinymce to it's own bundle.<br style=3D"max-width: 100%;" =
class=3D"">
Single out moment.js to reduce plone bundle size and allow async =
loading.<br style=3D"max-width: 100%;" class=3D"">
Add optional datatables bundle.<br style=3D"max-width: 100%;" =
class=3D"">
[agitator] (#46)</p>
</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed drag problem on click on sortable items in folder =
contents. (#56)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix problem with TTW compilation of bundles. (#58)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix autotoc pattern: activate the element link with active =
class during initialization<br style=3D"max-width: 100%;" class=3D"">
[mamico] (#37)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix Tinymce pattern: Link popup looses tab selection on =
active linktype<br style=3D"max-width: 100%;" class=3D"">
[mamico] (#37)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">build js/css for mockup changes plone/mockup#922<br =
style=3D"max-width: 100%;" class=3D"">
[mamico] (#37)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">When compiling a bundle and including a resource from a =
request, open the<br style=3D"max-width: 100%;" class=3D"">
temporary file in binary mode.<br style=3D"max-width: 100%;" class=3D"">=
[frapell] (#38)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Bring fix for <a =
href=3D"https://github.com/plone/mockup/issues/923" =
class=3D"">https://github.com/plone/mockup/issues/923</a><br =
style=3D"max-width: 100%;" class=3D"">
[frapell] (#41)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix "TTW Bundle compilation broken".<br style=3D"max-width: =
100%;" class=3D"">
Refs: <a href=3D"https://github.com/plone/Products.CMFPlone/issues/2969"=
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2969</a><br =
style=3D"max-width: 100%;" class=3D"">
[thet] (#43)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.supermodel: 1.4.0 =E2=86=92 1.5.0</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add support for choices of =
integers for improved registry.xml export.<br style=3D"max-width: 100%;" =
class=3D"">
[jone] (#32)</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">tests to ensure schema.Set is =
serialized consistently (#30)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.testing: 7.0.2 =E2=86=92 7.0.3</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix issue with test-setup when =
using ZServer 4.0.2.<br style=3D"max-width: 100%;" class=3D"">
[pbauer] (#69)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.z3cform: 1.1.0 =E2=86=92 1.1.1</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix edit/delete in paginated =
crud-forms [fRiSi]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plonetheme.barceloneta: 2.1.4 =E2=86=92 2.1.6</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Revert "Fix the different width of Hide and Show button in =
action control panel" [vincentfretin] (#187)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Load zcml of <code style=3D"max-width: 100%;" =
class=3D"">plone.resource</code> for our use of the <code =
style=3D"max-width: 100%;" class=3D"">plone:static</code> directive.<br =
style=3D"max-width: 100%;" class=3D"">
[maurits] (#2952)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Products.CMFCore: 2.4.0 =E2=86=92 2.4.2</h4>
<ul class=3D"code-block" style=3D"max-width: 100%;">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Resolve <code style=3D"max-width: 100%;" =
class=3D"">docutils</code> dependency conflict with <code =
style=3D"max-width: 100%;" class=3D"">Zope</code>.<br style=3D"max-width: =
100%;" class=3D"">
(<code style=3D"max-width: 100%;" class=3D"">#83 <<a =
href=3D"https://github.com/zopefoundation/Products.CMFCore/issues/83" =
class=3D"">https://github.com/zopefoundation/Products.CMFCore/issues/83</a=
>></code>_)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Make sure <code style=3D"max-width: 100%;" =
class=3D"">FSFile.__str__</code> returns correct native strings under =
Python 3.<br style=3D"max-width: 100%;" class=3D"">
(<code style=3D"max-width: 100%;" class=3D"">#76 <<a =
href=3D"https://github.com/zopefoundation/Products.CMFCore/issues/76" =
class=3D"">https://github.com/zopefoundation/Products.CMFCore/issues/76</a=
>></code>_)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add a <code style=3D"max-width: 100%;" =
class=3D"">__bytes__</code> method to <code style=3D"max-width: 100%;" =
class=3D"">FSFile</code>.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add more files types to the FSFile registrations.</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Products.CMFEditions: 3.3.2 =E2=86=92 3.3.3</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix DeprecationWarning =
[jensens] (#71)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Products.CMFPlone: 5.2.0 =E2=86=92 5.2.1</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add plone.staticresources to =
list of addons which are automatically upgraded if upgrade steps are =
available.<br style=3D"max-width: 100%;" class=3D"">
[thet] (#2976)</li>
</ul>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">fix creation of Plone site not adding default Dexterity =
content types if example content not explicitily selected by user.<br =
style=3D"max-width: 100%;" class=3D"">
[ericof] (#1318)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">fix default value for email msgid<br style=3D"max-width: =
100%;" class=3D"">
[erral] (#2790)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix: PasswordResetView::getErrors is called, this ensures =
password is validated through RegistrationTool before attempting to =
reset password.<br style=3D"max-width: 100%;" class=3D"">
[nazrulword] (#2917)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Breadcrumbs: consider hidden folders when creating urls =
[ksuess] (#2935)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Collection to the default_page_types list<br =
style=3D"max-width: 100%;" class=3D"">
[erral] (#2956)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix localization of "Site setup" in some control panels =
[vincentfretin] (#2958)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix TTW Bundle compilation broken.<br style=3D"max-width: =
100%;" class=3D"">
[thet] (#2969)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Do not save type settings in "content-controlpanel" when =
switching between types.<br style=3D"max-width: 100%;" class=3D"">
[cekk] (#2986)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Correctly fire events when user autologin after the password =
has been reset.<br style=3D"max-width: 100%;" class=3D"">
[ericof] (#2993)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Products.DateRecurringIndex: 3.0.0 =E2=86=92 3.0.1</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">remove unicode char from =
CONTRIBUTORS.rst<br style=3D"max-width: 100%;" class=3D"">
[tkimnguyen]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Products.GenericSetup: 2.0 =E2=86=92 2.0.1</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix the sorting of upgrade =
steps. [vanderbauwhede]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Products.PlonePAS: 6.0.2 =E2=86=92 6.0.5</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Notify CredentialsUpdated =
event when password is changed<br style=3D"max-width: 100%;" class=3D"">
[ezvirtual] (#33)</li>
</ul>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Notify CredentialsUpdated event when password is changed<br =
style=3D"max-width: 100%;" class=3D"">
[ezvirtual] (#33)</p>
</li>
<li style=3D"max-width: 100%;" class=3D"">
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Notify PropertiesUpdated event =
when member properties are changed<br style=3D"max-width: 100%;" =
class=3D"">
[ezvirtual]</li>
</ul>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add simple test for PropertiesUpdated event<br =
style=3D"max-width: 100%;" class=3D"">
[ezvirtual] (#27)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Notify PropertiesUpdated event when member properties are =
changed<br style=3D"max-width: 100%;" class=3D"">
[ezvirtual]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add simple test for PropertiesUpdated event<br =
style=3D"max-width: 100%;" class=3D"">
[ezvirtual] (#27)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Log exception from PAS logout() instead of swallowing them<br =
style=3D"max-width: 100%;" class=3D"">
[ajung] (#50)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix deprecated imports.<br style=3D"max-width: 100%;" =
class=3D"">
Fix buildout infrastructure for Plone 5.2.<br style=3D"max-width: =
100%;" class=3D"">
[thet] (#51)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Create the MemberData object from an adapter instead of =
directly instantiating it, as intended in =
Products.CMFCore.MemberDataTool.<br style=3D"max-width: 100%;" class=3D"">=
This allows for better extensibility.<br style=3D"max-width: 100%;" =
class=3D"">
[thet] (#52)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Products.PluggableAuthService: 2.0 =E2=86=92 2.2.1</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix broken ICredentialsUpdatedEvent event handler call to =
updateCredentials.<br style=3D"max-width: 100%;" class=3D"">
(<code style=3D"max-width: 100%;" class=3D"">#59 <<a =
href=3D"https://github.com/zopefoundation/Products.PluggableAuthService/is=
sues/59" =
class=3D"">https://github.com/zopefoundation/Products.PluggableAuthService=
/issues/59</a>></code>_)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add new events to be able to notify when a principal is added =
to<br style=3D"max-width: 100%;" class=3D"">
or removed from a group. Notify these events when principals are<br =
style=3D"max-width: 100%;" class=3D"">
added or removed to a group in ZODBGroupManager<br style=3D"max-width: =
100%;" class=3D"">
(<code style=3D"max-width: 100%;" class=3D"">#17 <<a =
href=3D"https://github.com/zopefoundation/Products.PluggableAuthService/is=
sues/17" =
class=3D"">https://github.com/zopefoundation/Products.PluggableAuthService=
/issues/17</a>></code>_)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix bug in <code style=3D"max-width: 100%;" =
class=3D"">getRolesForPrincipal</code> for non PAS user.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix formatting in "Plugin Types" documentation.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed error assigning roles in <code style=3D"max-width: =
100%;" class=3D"">manage_roles</code> page in ZMI.<br style=3D"max-width: =
100%;" class=3D"">
See issues <code style=3D"max-width: 100%;" class=3D"">#43 <<a =
href=3D"https://github.com/zopefoundation/Products.PluggableAuthService/is=
sues/43" =
class=3D"">https://github.com/zopefoundation/Products.PluggableAuthService=
/issues/43</a>></code><em style=3D"max-width: 100%;" class=3D""><br =
style=3D"max-width: 100%;" class=3D"">
and <code style=3D"max-width: 100%;" class=3D"">#51 <<a =
href=3D"https://github.com/zopefoundation/Products.PluggableAuthService/is=
sues/51" =
class=3D"">https://github.com/zopefoundation/Products.PluggableAuthService=
/issues/51</a>></code></em>.</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Products.PluginRegistry: 1.7 =E2=86=92 1.8</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Rely on Zope 4 branch for unit tests to retain Python 2 =
compatibility</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add <code style=3D"max-width: 100%;" =
class=3D"">movePluginsTop</code> method to registry.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix linting.</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Products.Sessions: 4.5 =E2=86=92 4.6</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Banish dependency on <code style=3D"max-width: 100%;" =
class=3D"">Products.TemporaryFolder</code> into a tests extra<br =
style=3D"max-width: 100%;" class=3D"">
and point out its issues under Zope 4 in the README.<br =
style=3D"max-width: 100%;" class=3D"">
(<code style=3D"max-width: 100%;" class=3D"">#26 <<a =
href=3D"https://github.com/zopefoundation/Products.Sessions/issues/26" =
class=3D"">https://github.com/zopefoundation/Products.Sessions/issues/26</=
a>></code>_)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Switch tests dependencies to Zope 4.x branch to retain Python =
2 compatibility</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix access permissions for <code style=3D"max-width: 100%;" =
class=3D"">meta_type</code> and <code style=3D"max-width: 100%;" =
class=3D"">zmi_icon</code> properties so<br style=3D"max-width: 100%;" =
class=3D"">
they don't raise when accessed in the admin interface.<br =
style=3D"max-width: 100%;" class=3D"">
(<code style=3D"max-width: 100%;" class=3D"">#24 <<a =
href=3D"https://github.com/zopefoundation/Products.Sessions/pull/24" =
class=3D"">https://github.com/zopefoundation/Products.Sessions/pull/24</a>=
></code>_)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix Python 3 compatibility of <code style=3D"max-width: =
100%;" class=3D"">_p_resolveConflict</code>.<br style=3D"max-width: =
100%;" class=3D"">
(<code style=3D"max-width: 100%;" class=3D"">#25 <<a =
href=3D"https://github.com/zopefoundation/Products.Sessions/pull/25" =
class=3D"">https://github.com/zopefoundation/Products.Sessions/pull/25</a>=
></code>_)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Products.ZSQLMethods: 3.0.7 =E2=86=92 3.0.9</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">z3c.caching: 2.1 =E2=86=92 2.2</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix DeprecationWarnings: import moves from <code =
style=3D"max-width: 100%;" class=3D"">zope.component</code> to <code =
style=3D"max-width: 100%;" class=3D"">zope.interface</code>.<br =
style=3D"max-width: 100%;" class=3D"">
Depend on zope.interface >=3D 3.8.0.<br style=3D"max-width: 100%;" =
class=3D"">
[jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add support for Python 3.8a3.<br style=3D"max-width: 100%;" =
class=3D"">
[icemac]</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">zodbverify: 1.0.1 =E2=86=92 1.0.2</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Open Data.fs in read only =
mode. (#2)</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">collective.z3cform.datagridfield: 1.5.1 =E2=86=92 1.5.2</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.formwidget.datetime: 1.3.4 =E2=86=92 1.3.5</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">z3c.relationfield: 0.8.0 =E2=86=92 0.9.0</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Provide IRelationBrokenEvent =
to be able to distinguish the event when<br style=3D"max-width: 100%;" =
class=3D"">
subscribing to IObjectModifiedEvent<br style=3D"max-width: 100%;" =
class=3D"">
[vangheem]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.blocks: 4.3.1 =E2=86=92 4.3.2</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.standardtiles: 2.3.1 =E2=86=92 2.3.2</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">trollius: 2.2 =E2=86=92 2.2.post1</h4>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">plone.app.imaging: 2.1.0 =E2=86=92 2.1.1</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix IOError: cannot write mode =
RGBA as JPEG on ImageField scale<br style=3D"max-width: 100%;" class=3D"">=
[avoinea]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">archetypes.multilingual: 3.0.6 =E2=86=92 3.0.8</h4>
<h5 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h5>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix export of components by adding a <code style=3D"max-width: =
100%;" class=3D"">__name__</code> property to the handler.<br =
style=3D"max-width: 100%;" class=3D"">
[maurits] (#27)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix test dependency for Plone 5.2<br style=3D"max-width: =
100%;" class=3D"">
[jensens] (#28)</p>
</li>
</ul></div>
=20
<h3 style=3D"font-size: 1.25em; max-width: 100%;" class=3D"">Project =
resources</h3>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><a =
href=3D"https://plone.org/security" style=3D"color: rgb(65, 110, 210); =
max-width: 100%;" class=3D"">Security</a></li>
<li style=3D"max-width: 100%;" class=3D""><a =
href=3D"https://github.com/plone/Products.CMFPlone/issues/new" =
style=3D"color: rgb(65, 110, 210); max-width: 100%;" class=3D"">Issue =
tracker</a></li>
<li style=3D"max-width: 100%;" class=3D""><a =
href=3D"https://plone.org/support" style=3D"color: rgb(65, 110, 210); =
max-width: 100%;" class=3D"">Support</a></li>
</ul>
<h3 style=3D"font-size: 1.25em; max-width: 100%;" class=3D"">Learn =
about Plone</h3>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><a =
href=3D"http://docs.plone.org/manage/installing/index.html" =
style=3D"color: rgb(65, 110, 210); max-width: 100%;" class=3D"">Installing=
Plone</a></li>
<li style=3D"max-width: 100%;" class=3D""><a =
href=3D"http://docs.plone.org/quickstart/index.html" style=3D"color: =
rgb(65, 110, 210); max-width: 100%;" class=3D"">Plone quickstart =
guide</a></li>
<li style=3D"max-width: 100%;" class=3D""><a =
href=3D"http://docs.plone.org/working-with-content/index.html" =
style=3D"color: rgb(65, 110, 210); max-width: 100%;" class=3D"">Working =
with content</a></li>
<li style=3D"max-width: 100%;" class=3D""><a =
href=3D"http://docs.plone.org/adapt-and-extend/index.html" style=3D"color:=
rgb(65, 110, 210); max-width: 100%;" class=3D"">Adapting and extending =
Plone</a></li>
</ul></div></div></div></blockquote></div></body></html>=
--Apple-Mail=_1196FDD1-4E34-4BA0-A125-A4AAE96D788B--
--===============0049493889145922925==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============0049493889145922925==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Want community news? Subscribe to our newsletter http://eepurl.com/S4wfL
Plone-Announce mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plone-announce
--===============0049493889145922925==--