Plone 5.0.10 — final 5.0 bug fix release

"Announcement of Plone releases and security-related notifications. Recommended subscription for all Plone developers and site admins." <[email protected]> Sun, 10 Feb 2019 14:16:46 -0600
Newsgroups gmane.comp.web.zope.plone.announce
Message-ID <mailman.134332.1549829980.1409.plone-announce@lists.sourceforge.net>
--===============4344829600056381006==
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_20141E0D-A3E8-4661-9242-6657BE63629D"


--Apple-Mail=_20141E0D-A3E8-4661-9242-6657BE63629D
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8


>=20
> https://plone.org/download/releases/5.0.10 =
<https://plone.org/download/releases/5.0.10>
>=20
> Plone 5.0.10
>=20
> Final 5.0 Bug Fix Release
>=20
> This is the final bug fix release of the 5.0 series. We do not intend =
to release another.
>=20
> Linux/BSD/Unix users: Use the Unified Installer. It is a full-source =
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>.
>=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
> AccessControl: 3.0.13 =E2=86=92 3.0.14
>=20
> In str.format, check the security for keys and items that are =
accessed. Part of PloneHotfix20171128. [maurits]
>=20
> set explicit PyPI index, the old zc.buildout defaults no longer work
>=20
> add tox testing configuration
>=20
> Products.ZCatalog: 3.0.2 =E2=86=92 3.0.3
>=20
> Fix a bug in the BooleanIndex where documents without an entry in the =
index were not being filtered out in all queries.
> setuptools: 26.1.1 =E2=86=92 33.1.1
>=20
> zc.buildout: 2.5.3 =E2=86=92 2.9.5
>=20
> plone.recipe.alltests: 1.5 =E2=86=92 1.5.1
>=20
> Bug fixes:
>=20
> Fix imports when buildout was installed using pip. [davisagli]
> plone.recipe.zope2instance: 4.3 =E2=86=92 4.4.1
>=20
> New features:
>=20
> Added support for setting instance-home option. [zupo]
>=20
> Added support for setting CGI environment variables. [zupo]
>=20
> Bug fixes:
>=20
> Make comments in zcml values work, even if not starting at the =
beginning of the line; before, we had a confusing error message. Fixes =
#46 [tobiasherp]
>=20
> Regard 'parsed_version' of setuptools > 38.7.0 does not return =
iterable anymore, fixes #37. [ida]
>=20
> plone.releaser: 1.5.4 =E2=86=92 1.7.1
>=20
> New features:
>=20
> New zest.releaser hook: update other buildout.coredev branches as =
well. This automates the manual bookeeping that one has to do whenever =
releasing packages: i.e. to check if the package just released is also =
checked out and used in other buildout.coredev branches. [gforcada]
>=20
> Ensure that selected packages are always kept on checkouts.cfg. =
[gforcada]
>=20
> Bug fixes:
>=20
> Python 3 compatibility fix for xmlrpclib/xmlrpc import differences. =
[esteele] (#21)
>=20
> Fix pypi URL. [gforcada] (#23)
>=20
> Skip over broken version definitions when building the unified =
changelog. [esteele]
>=20
> zest.releaser: 6.12.1 =E2=86=92 6.15.0
>=20
> Use pypi.org, especially when checking if a package is on PyPI. Fixes =
issue #281 <https://github.com/zestsoftware/zest.releaser/issues/281>_. =
[maurits]
>=20
> Added key update_history in prerelease and postrelease data. Plugins =
can use this to tell zest.releaser (and other plugins) to not touch the =
history, presumably because the plugin handles it. [maurits]
>=20
> Declared requests dependency. Declared zope.testing test dependency. =
[maurits]
>=20
> Advertise setup.cfg option [zest.releaser] history-file. Usually =
zest.releaser can find the correct history or changelog file on its own. =
But sometimes it may not find anything, or it finds multiple files and =
selects the wrong one. Then you can set a path here. A history_file =
option with an underscore was already read, but not documented. Now we =
try both a dash and an underscore for good measure. [maurits]
>=20
> Use new setup.cfg option [zest.releaser] encoding. Set this to, for =
example, utf-8 when the encoding of your CHANGES.rst file is not =
determined correctly. Fixes issue 264 =
<https://github.com/zestsoftware/zest.releaser/issues/264>_. [maurits]
>=20
> When inserting changelog entry, check that it conforms to the existing =
encoding. Try to recover if there is a difference, especially when the =
changelog file was ascii and we insert utf-8. [maurits]
>=20
> When determining encoding, first look for coding hints in the file =
itself. Only when that fails, we try tokenize or chardet. Fixes issue =
264 <https://github.com/zestsoftware/zest.releaser/issues/264>_. =
[maurits]
>=20
> Get PyPI password raw, without interpolation. If you had a password =
with a percentage sign, you could get an error. Fixes issue 271 =
<https://github.com/zestsoftware/zest.releaser/issues/271>_. [maurits]
>=20
> Prevent unclosed files. Python 3.6 warned about them, and PyPy may =
have more problems with it. Fixed several other DeprecationWarnings. =
[maurits]
>=20
> Print commands in a nicer way. You could get ugly output like this, =
especially on Python 2.7: INFO: The '[u'git', u'diff']': or worse: =
Command failed: u"t w i n e ' ' u p l o a d". [maurits]
>=20
> Test compatibility with Python 2.7, 3.4, 3.5, 3.6, PyPy2. [maurits]
>=20
> Quit in postrelease when we cannot find a version. Fixes issue #262 =
<https://github.com/zestsoftware/zest.releaser/issues/262>. [maurits]
>=20
> Fixed IOError when setup.cfg is missing and no version is found. =
[maurits]
>=20
> Fixed writing of files in original encoding on python3, too. =
[andreparames]
>=20
> Fixed tests with mercurial 4.4+. [maurits]
>=20
> Fixed writing of files in original encoding. [mgedmin]
>=20
> Add tag message formatting (option tag-message). [htgoebel]
>=20
> Add support for signing tags (option tag-signing). [htgoebel]
>=20
> Sorting uploadable filenames so that wheels are uploaded first. (For =
most filesystems this happened automatically, but the order on OSX' new =
filesystem is non-deterministic, so we added sorting.) [reinout]
>=20
> Release process will now fail when specified hooks cannot be imported. =
(PR #236 <https://github.com/zestsoftware/zest.releaser/pulls/236>_)
>=20
> Also support version in setup.cfg. [ewjoachim]
>=20
> Allows {version} format for tag-format. [leorochael]
>=20
> Subversion fix: create tag of entire trunk or branch when not in repo =
root. If you have trunk/pkg1 and trunk/pkg2 and you make tag 1.0 in =
directory pkg1, then until now we would create tags/1.0 with the =
contents of directory pkg1. Checking out the tag and changing to the =
pkg1 directory then failed. We now make a tag of the entire trunk or =
branch, just like in the other version control systems. Fixes issue #213 =
<https://github.com/zestsoftware/zest.releaser/issues/213>_. [maurits]
>=20
> Do not needlessly run svn info. [maurits]
>=20
> plone.app.robotframework: 1.1.1 =E2=86=92 1.3.1
>=20
> Breaking changes:
>=20
> Default to the new plone.testing default of picking the ZServer port =
dynamically. [Rotonen]
>=20
> Remove compatibility code for Plone 4.x. [hvelarde]
>=20
> Skip Support for Plone 4.x. [jensens]
>=20
> New features:
>=20
> Imports are Python3 compatible. Add six into install_requires set and =
sort each file's imports with the isort package. [b4oshany, @davilima6]
> Bug fixes:
>=20
> Add support for Python 3. [davisagli]
>=20
> Support for Plone 5.x toolbar, i18n, ... [jensens]
>=20
> Fix RemoteLibrary i18n to work proper with registry based settings. =
[jensens]
>=20
> Make robotframework work with merged plone.login. [jensens]
>=20
> Fix Travis CI setup. [jensens]
>=20
> Fixed create user with multiple roles with args::
>=20
> Create user siteadmin Contributor Reviewer Site Administrator
>=20
> and with kwargs::
>=20
>   @{roles} =3D  Create list  Contributor  Reviewer  Site Administrator
>   Create user  siteadmin  roles=3D@{roles}
> [ksuess, datakurre]
>=20
> Import activatePluginInterfaces from Products.PlonePAS.setuphandlers. =
[maurits]
>=20
> Use get_installer for checking if a product is installed. Fall back to =
getting the portal_quickinstaller tool. [maurits]
>=20
> i18ndude: 4.3 =E2=86=92 4.4.0
>=20
> New features:
>=20
> In the list command, show only languages with existing po files, =
ordered by percentage. A new --tiered option uses the traditional =
behavior with languages in a specific order in three tiers. [maurits]
> Bug fixes:
>=20
> Sort files that we extract messages from. On Linux they were already =
sorted, but not on Mac, leading to a test failure. [maurits]
>=20
> find-untranslated no longer complains about attributes with chameleon =
syntax. An html tag with title=3D"${context/Description}" is no longer =
marked as having an untranslated title tag. Fixes issue 53 =
<https://github.com/collective/i18ndude/issues/53>_. [maurits]
>=20
> six: 1.10.0 =E2=86=92 1.11.0
>=20
> Plone: 5.0.9 =E2=86=92 5.0.10
>=20
> New features:
>=20
> Release Plone 5.0.10 [esteele]
> Products.Archetypes: 1.10.18 =E2=86=92 1.10.19
>=20
> Bug fixes:
>=20
> Make sure the 'at_ordered_refs' dict changes are persisted when =
setting references by manually setting '_p_changed=3D1'. [gbastien]
> Products.CMFDiffTool: 3.1.4 =E2=86=92 3.1.7
>=20
> New features:
>=20
> Add Python 2 / 3 compatibility [davilima6]
> Bug fixes:
>=20
> Fix display of subjects diff =
https://github.com/plone/Products.CMFPlone/issues/2340 [tomgross]
>=20
> Bug fix for dict type, because we use DataGridField. [terapyon]
>=20
> Products.CMFDynamicViewFTI: 4.1.5 =E2=86=92 5.0.0
>=20
> Breaking changes:
>=20
> Test using plone.app.contenttypes instead of Archetypes. [davisagli]
> New features:
>=20
> Add Python 2 / 3 compatibility [davilima6]
> Bug fixes:
>=20
> Fix adapter lookup on Python 3. [ale-rt]
>=20
> Fix missing ClassType in Python 3
>=20
> Products.CMFPlone: 5.0.9 =E2=86=92 5.0.10
>=20
> New features:
>=20
> Release Plone 5.0.10 [esteele] (#2735)
>=20
> Add jqtree-contextmenu to the resource registry Add js-shortcuts to =
the resource registry [b4oshany] (#2090)
>=20
> Update with latest mockup 2.1.x [frapell] (#2212)
>=20
> Bug fixes:
>=20
> Fix registration of robots.txt browser view to avoid AttributeError on =
Zope's root (fixes #2052 =
<https://github.com/plone/Products.CMFPlone/issues/2052>_). [hvelarde] =
(#2052)
>=20
> Fixed Products.CMFPlacefulWorkflow being marked as not installed after =
upgrade from 4.3. This is true for any package in the Products namespace =
that was installed. Fixes issue 2103 =
<https://github.com/plone/Products.CMFPlone/issues/2103>_. [maurits] =
(#2103)
>=20
> Improved isURLInPortal according to PloneHotfix20171128. Accept only =
http/https, and doubly check escaped urls. [maurits] (#2234)
>=20
> Require AccessControl 3.0.14 so guarded_getitem is used. Part of =
PloneHotfix20171128. [maurits] (#2269)
>=20
> Ignore invalid sort_on parameters in catalog searchResults. Otherwise =
you get a CatalogError. I get crazy sort_ons like '194' or 'null'. =
[maurits] (#2289)
>=20
> Add required plone.app.imaging as direct dependency. Note, in Plone =
5.1 plone.app.imaging is no dependency anymore. [thet] (#2297)
>=20
> Do not include too new upgrades when upgrading Plone Site. Otherwise =
the Plone Site ends up at a newer version that the filesystem code =
supports, giving an error when upgrading, and resulting in possibly =
missed upgrades later. Fixes issue 2377 =
<https://github.com/plone/Products.CMFPlone/issues/2377>_. [maurits] =
(#2377)
>=20
> Unflakied a unit test. [Rotonen] (#2383)
>=20
> Updated tinymce to 4.7.13 [obct537] (#2527)
>=20
> Fix plone.app.redirector support for JSON/unspecified requests. =
[rpatterson] (#2619)
>=20
> Fix metabundle resource ordering to pay attention to depends setting =
[vangheem] (#2632)
>=20
> Fix robot test test_edit_user_schema: Fieldname was set duplicate =
(first by JS, then by robot). [jensens] (#2669)
>=20
> Products.CMFQuickInstallerTool: 3.0.15 =E2=86=92 3.0.16
>=20
> Bug fixes:
>=20
> Add Python 2 / 3 compatibility. [maurits]
>=20
> Add undeclared Products.ExternalMethod dependency. [esteele]
>=20
> Products.contentmigration: 2.1.16 =E2=86=92 2.1.19
>=20
> New features:
>=20
> More Python 2 / 3 compatibility adjustments [davilima6]
>=20
> Prepare for Python 2 / 3 compatibility [davilima6]
>=20
> Bug fixes:
>=20
> Unpack brains to be able to log broken catalog-records during =
migration. [pbauer]
> Products.ExtendedPathIndex: 3.1.1 =E2=86=92 3.4.1
>=20
> New features:
>=20
> Support allow multi value results for "virtual" paths. [jensens] (#7)
>=20
> Add compatibility with Python 3.
>=20
> Add forward compatibility with ZCatalog 4's IQueryIndex interface.
>=20
> Bug fixes:
>=20
> Rerelease without changes to update the changelog properly. (#7)
>=20
> Fix dependencies defined in setup.py. [gforcada]
>=20
> Products.GenericSetup: 1.8.8 =E2=86=92 1.8.10
>=20
> Bug fixes:
>=20
> Do not mask KeyError in 'getProfileDependencies' from missing =
dependency profiles. Refs: =
https://github.com/plone/Products.CMFPlone/issues/2228 [ida]
>=20
> When metadata.xml parsing fails, show the filename in the ExpatError. =
Fixes Plone issue 2303 =
<https://github.com/plone/Products.CMFPlone/issues/2303>_.
>=20
> Require five.localsitemanager less than version 3. Version 3 requires =
a too new Zope2 version.
>=20
> Products.Marshall: 2.2.1 =E2=86=92 2.3
>=20
> New features:
>=20
> Replaced Extensions/Install.py with GenericSetup profile. [maurits]
> Bug fixes:
>=20
> Prepare for Python 2 / 3 compatibility [pbauer]
>=20
> Fix test isolation issue due to incomplete teardown. [pbauer]
>=20
> Products.MimetypesRegistry: 2.0.10 =E2=86=92 2.0.11
>=20
> Backport add woff2 mimetype. [fredvd, jensens]
> Products.PasswordResetTool: 2.2.3 =E2=86=92 2.2.4
>=20
> Bug fixes:
>=20
> Sanitize userid that is coming from password reset form. That will be =
prevent error if user unintentionally provides username/email with =
whitespace. [nazrulworld]
> Products.PloneLanguageTool: 3.2.8 =E2=86=92 3.2.9
>=20
> Bug fixes:
>=20
> Fix import from Globals that is removed in Zope4. [pbauer]
> Products.PlonePAS: 5.0.14 =E2=86=92 5.1.0
>=20
> New features:
>=20
> Notify PropertiesUpdated event when member properties are changed =
[ezvirtual]
> Bug fixes:
>=20
> Report home_page as empty when it is suspicious. It may for example =
contain javascript. Part of PloneHotfix20171128. [maurits]
> Products.ResourceRegistries: 3.0.5 =E2=86=92 3.0.7
>=20
> Bug fixes:
>=20
> Fix relative import for py3 [pbauer]
>=20
> Add Python 2 / 3 compatibility. [maurits]
>=20
> Products.i18ntestcase: 1.3 =E2=86=92 1.4.0
>=20
> New features:
>=20
> More Python 2 / 3 compatibility adjustments [davilima6]
> Bug fixes:
>=20
> Imports are Python3 compatible [ale-rt, b4oshany]
>=20
> Fix import from Globals that is removed in Zope4. [pbauer]
>=20
> Products.statusmessages: 5.0 =E2=86=92 5.0.4
>=20
> New features:
>=20
> Add Python 2 / 3 compatibility [davilima6]
> Bug fixes:
>=20
> Use Umlaut =C3=A4 in tests in order to check string/bytes handling. =
Refactor test_encoding to unittest. [jensens]
>=20
> Python 3 compatibility fixes. [pbauer]
>=20
> Fix issue where encoding and decoding of statusmessages into cookie =
raised exception, because of TypeError: Struct() argument 1 must be =
string, not unicode [datakurre]
>=20
> archetypes.referencebrowserwidget: 2.5.9 =E2=86=92 2.5.10
>=20
> Bug fixes:
>=20
> Drop dependency on plone.app.form [MatthewWilkes]
> archetypes.schemaextender: 2.1.7 =E2=86=92 2.1.8
>=20
> Bug fixes:
>=20
> Add Python 2 / 3 compatibility. [maurits]
> borg.localrole: 3.1.3 =E2=86=92 3.1.6
>=20
> Bug fixes:
>=20
> Python 2 / 3 compatibility. [ale-rt, pbauer]
>=20
> Fix issue StopIteration raising a Runtimeerror in Python 3.7 See =
https://www.python.org/dev/peps/pep-0479/ [pbauer]
>=20
> Import activatePluginInterfaces from the canonical place in =
Products.PlonePAS. [maurits]
>=20
> Python 2 / 3 compat with six. [jensens]
>=20
> Cleanup:
>=20
> No self-contained buildout,
> utf8-headers,
> isort,
> ZCA-decorators
> formatting/readability/pep8,
> Security decorators
> [jensens]
>=20
> No self-contained buildout,
>=20
> utf8-headers,
>=20
> isort,
>=20
> ZCA-decorators
>=20
> formatting/readability/pep8,
>=20
> Security decorators
>=20
> Fix test for Zope 4. [pbauer]
>=20
> Made test compatible with zope4. [pbauer]
>=20
> collective.monkeypatcher: 1.1.2 =E2=86=92 1.2
>=20
> New features:
>=20
> Include installation instructions in the README.
>=20
> Update test infrastructure.
>=20
> Document possible problems when patching module level functions =
[frisi]
>=20
> Bug fixes:
>=20
> Prepare for Python 2 / 3 compatibility [frapell]
>=20
> Fix import for Python 3 in the tests module [ale-rt]
>=20
> Fix import for Python 3 [pbauer]
>=20
> diazo: 1.2.5 =E2=86=92 1.2.11
>=20
> Bug fixes:
>=20
> Fix unicode errors in tests [petschki]
>=20
> Fix diazo.debug console with Python 2.7. [pbauer]
>=20
> Add compatibility for plone.app.testing for Python 3. [icemac]
>=20
> Make tox env release check manifest before releasing [loechel]
>=20
> Fix packaging error. [esteele]
>=20
> Code Cleanup and enforcing Code Conversions [loechel]
>=20
> five.pt: 2.2.4 =E2=86=92 2.2.5
>=20
> Fix test_edit_with_errors to not import a private variable from =
zope.pagetemplate. Fixes test failure with latest zope.pagetemplate.
> icalendar: 3.11.6 =E2=86=92 4.0.2
>=20
> mockup: 2.1.8 =E2=86=92 2.1.9
>=20
> New features:
>=20
> Mark special links pattern: Do not mark anchors as special links =
[frapell]
> Bug fixes:
>=20
> Add item here *
> Add item here *
>=20
> plone.app.blob: 1.7.2 =E2=86=92 1.7.4
>=20
> New features:
>=20
> Prepare for Python 2 / 3 compatibility [davilima6, rudaporto]
> Bug fixes:
>=20
> Fix bug where Image blob fields couldn't be used with =
archetypes.schemaextender unless the parent class subclasses =
ATCTImageTransform [MatthewWilkes]
>=20
> Adapt test to changes in ZPublisher.HTTPResponse.setHeader [pbauer]
>=20
> Remove no longer existing icons from type definitions. [davisagli]
>=20
> plone.app.caching: 1.2.18 =E2=86=92 1.2.23
>=20
> New features:
>=20
> Python 3 support [pbauer, MatthewWilkes, ale-rt]
>=20
> Use plone as i18n domain in ZCML files too [erral]
>=20
> Use plone as i18n domain [erral]
>=20
> Prepare for Python 2 / 3 compatibility [b4oshany, davilima6]
>=20
> Purging all image scale paths and file paths in custom dexterity =
content types. [karalics]
>=20
> Bug fixes:
>=20
> Warn after save if caching was disabled while purging is still =
enabled. [jensens]
>=20
> Fix backslash escapes in i18nstring (poedit complains). [jensens]
>=20
> plone.app.contenttypes: 1.2.24 =E2=86=92 1.2.27
>=20
> Bug fixes:
>=20
> The Format accessor should actually return the format attribute (see =
plone/Products.CMFPlone#2540) [ale-rt]
>=20
> Do not install plone.app.discussion when installing =
plone.app.contenttypes. [timo]
>=20
> Use original raw text and mimetype when indexing rich text. This =
avoids a double transform (raw source to output mimetype to plain text). =
Includes a reindex of the SearchableText index for Collections, =
Documents and News Items. Issue 2066 =
<https://github.com/plone/Products.CMFPlone/issues/2066>_. [maurits]
>=20
> plone.app.customerize: 1.3.7 =E2=86=92 1.3.9
>=20
> Bug fixes:
>=20
> Fix a ResourceWarning: do not leave a file unclosed. [gforcada]
>=20
> make registrations.html look good in Bootstrap-ZMI, still working fine =
in old ZMI. [jensens]
>=20
> Fix templateViewRegistrationGroups and tests in py3. [pbauer]
>=20
> plone.app.dexterity: 2.3.7 =E2=86=92 2.3.8
>=20
> Bug fixes:
>=20
> Release upload lock when name chooser fails. [maurits] (#276)
> plone.app.event: 2.0.13 =E2=86=92 2.0.14
>=20
> New features:
>=20
> Remove Pragma: no-cache header for icalendar exports. The Pragma =
header is HTTP 1.0 and the caching strategy on icalendar exports should =
better be defined by integrators. [thet]
> Bug fixes:
>=20
> Make sure to include the 'Content-Length' header for ical exports =
[frapell]
> plone.app.folder: 1.2.3 =E2=86=92 1.2.6
>=20
> Bug fixes:
>=20
> Fix missing dict.has_key in Python3 [ale-rt]
>=20
> Fix GopipIndex for py3 [pbauer]
>=20
> Add Python 2 / 3 compatibility [pbauer]
>=20
> Fix webdav PUT of index_html to work in Zope 4. [davisagli]
>=20
> plone.app.i18n: 3.0.4 =E2=86=92 3.0.5
>=20
> Bug fixes:
>=20
> Fix tests with py3. [pbauer]
> plone.app.imaging: 2.0.6 =E2=86=92 2.0.7
>=20
> Bug fixes:
>=20
> Imports are Python3 compatible [ale-rt]
> plone.app.layout: 2.5.23 =E2=86=92 2.5.24
>=20
> New features:
>=20
> Allow addition of extra body classes via multiple IBodyClassAdapter =
adapter registrations without the need to overload the ILayoutPolicy =
view. [thet, jensens, agitator]
> Bug fixes:
>=20
> Add template and view arguments support to IBodyClassAdapters (fixes =
#158 <https://github.com/plone/plone.app.layout/issues/158>_). =
[rodfersou]
> plone.app.querystring: 1.3.17 =E2=86=92 1.3.18
>=20
> Bug fixes:
>=20
> Ignore unknown sort_on indexes when parsing a query. Otherwise you get =
a CatalogError. [maurits]
> plone.app.redirector: 1.3.5 =E2=86=92 1.3.7
>=20
> Bug fixes:
>=20
> Cleanup project level files (setup.py, pyproject.toml) [maurits] =
[gforcada] (#2524)
>=20
> Add Python 2 / 3 compatibility [vincero]
>=20
> plone.app.testing: 5.0.7 =E2=86=92 5.0.9
>=20
> Bug fixes:
>=20
> Amended the doctests to work with automatical layer port picking from =
plone.testing. [Rotonen]
>=20
> Load Products.PageTemplates ZCML. [tschorr]
>=20
> plone.app.textfield: 1.2.9 =E2=86=92 1.2.11
>=20
> Bug fixes:
>=20
> Python 3 fixes [pbauer]
>=20
> Imports are Python3 compatible [b4oshany]
>=20
> plone.app.upgrade: 2.0.6 =E2=86=92 2.0.20
>=20
> New features:
>=20
> Add upgrade steps for Datatables on Plone 5.1.4. [frapell] (#168)
>=20
> Add upgrade step removing the jquery-highlightsearchterms resource and =
the plone_ecmascript skin layer, on Plone 5.2 and 5.1.4 [sunew] (#170)
>=20
> Update bundle dates after recompilation in CMFPlone. [sunew] (#171)
>=20
> Added upgrade for TinyMCE 4.7.13 on Plone 5.0.10. [obct537] (#174)
>=20
> Merge plone.login and remove skins folder plone_login. [jensens]
>=20
> Add upgrade step for 5.2 to register tools as utilities. Run it before =
testing the zexp-import. [pbauer]
>=20
> Add jqtree-contextmenu to the resource registry for Plone 5.0 and 5.1 =
[b4oshany]
>=20
> Add js-shortcuts to the resource registry for Plone 5.0 and 5.1 =
[b4oshany]
>=20
> Bug fixes:
>=20
> Plone 5.1.5: Update resource registry last_compilation date. [thet] =
(#186)
>=20
> migrate GopipIndex which has moved from p.a.folder to p.folder =
[petschki] (#177)
>=20
> Do not break if archetypes related code is not available [ale-rt, =
pbauer] (#178)
>=20
> tolerate lack of legacy resource registry [ksuess] (#182)
>=20
> Update resources for plone.app.event. [agitator] (#166)
>=20
> Prepare for Python 2 / 3 compatibility [ale-rt, pbauer, tlotze] (#173)
>=20
> make plone.app.folder import conditional, because the package is gone =
in Plone >=3D 5.2 [petschki] (#175)
>=20
> fix tests in Plone >=3D 5.2 and python 3. As discussed with jensens =
and mauritsvanrees we start migration tests beginning from 4.0 final due =
to portal_factory property errors. [petschki] (#176)
>=20
> Made several functions less complex by splitting them. [maurits]
>=20
> Improved code quality. [maurits]
>=20
> Fix i18n domain for some portal_actions that were on plone.app.event =
domain. Fixes https://github.com/plone/plone.app.event/pull/204 =
[gforcada]
>=20
> Change in TinyMCE css location so bundles can be built without errors =
Fixes issue 2359 =
<https://github.com/plone/Products.CMFPlone/issues/2359>_. [frapell]
>=20
> Rename retina_scales to highpixeldensity_scales. Fixes issue 2331 =
<https://github.com/plone/Products.CMFPlone/issues/2331>_. [maurits]
>=20
> Hide our 'products' from installation for both CMFQuickInstallerTool =
and CMFPlone. [maurits]
>=20
> Removed hard dependency on CMFQuickInstallerTool. And marked the v52 =
module as non installable. [maurits]
>=20
> Import setupPasswordPolicyPlugin from canonical place in PlonePAS. =
[maurits]
>=20
> Log progress and ignore bad catalog entries while updating catalog =
metadata. [davisagli]
>=20
> Disable CSRF protection when replacing keyring. This fixes running =
specific upgrade steps via the portal_setup UI. [davisagli]
>=20
> Avoid triggering an unnecessary migration of user logins when the =
use_email_as_login setting is migrated to portal_registry. [davisagli]
>=20
> Unregister import_steps that were moved to post_handlers. Fixes =
https://github.com/plone/Products.CMFPlone/issues/2238 [pbauer]
>=20
> Fixed WrongType exception when migrating installed Iterate to 5.0. =
[maurits]
>=20
> Adapt to changes in CMF 2.4 (getCurrentKeyFormat removed) and Zope 4 =
(not Products in Control Panel). [pbauer]
>=20
> Register upgrades for Plone 5.2 [pbauer]
>=20
> Fix installation of IUserGroupsSettingsSchema into registry for Plone =
5.0rc1. [davisagli]
>=20
> Avoid swallowing errors during registry setting upgrades. [davisagli]
>=20
> Fix deletion of registry records in remove_duplicate_iterate_settings =
from the 5108 upgrade. [thet]
>=20
> Register Plone 5.1 upgrade steps. [thet]
>=20
> Register settings for safe_html-Transform when migrating from 5107 to =
5108 [pbauer]
>=20
> Use str() when migrating checkout_workflow_policy since the field is =
ASCII. See discussion at =
https://github.com/plone/plone.app.iterate/pull/53 [pbauer]
>=20
> Use safe_unicode to migrate some settings. Fixes =
https://github.com/plone/plone.app.upgrade/issues/104 [pbauer]
>=20
> Recover missing dashboard (user actions) =
https://github.com/plone/Products.CMFPlone/issues/1132 [fgrcon]
>=20
> Register settings for safe_html-Transform before =
linkintegrity-migration in 5.0rc1 Fixes =
https://github.com/plone/Products.CMFPlone/issues/2129 [pbauer]
>=20
> Fix migration if safe_html-Settings to not drop tags without a closing =
tag. Fixes https://github.com/plone/Products.CMFPlone/issues/2088 =
[pbauer]
>=20
> Cleanup duplicate iterate settings. See also =
https://github.com/plone/plone.app.iterate/pull/47 [pbauer]
>=20
> plone.app.viewletmanager: 2.0.10 =E2=86=92 2.0.12
>=20
> Bug fixes:
>=20
> Sort viewlets by key instead of with a cmp function. [ale-rt, pbauer]
>=20
> Add Python 2 / 3 compatibility [jensens]
>=20
> plone.app.vocabularies: 4.0.4 =E2=86=92 4.0.7
>=20
> Bug fixes:
>=20
> Python 3 support [ale-rt, pbauer]
>=20
> Do not wake up all the users when no query is submitted [ale-rt]
>=20
> Fix test that breaks when catalog is not registered as a utility in =
CMF 2.3+ [pbauer]
>=20
> Add Python 2 / 3 compatibility [vincero]
>=20
> plone.app.widgets: 2.0.7 =E2=86=92 2.0.8
>=20
> Bug fixes:
>=20
> Marked flaky robot test as non critical. [maurits]
> plone.api: 1.8 =E2=86=92 1.9.1
>=20
> New features:
>=20
> Python 2/3 support. [pbauer]
> Bug fixes:
>=20
> Show only local roles when inherit=3DFalse. [tschorr]
>=20
> Removed allow-hosts from base.cfg, so we can use the new pypi =
warehouse. Refs https://github.com/plone/plone.api/issues/403 [jaroel]
>=20
> fix typos in doc strings [tkimnguyen]
>=20
> Fix failing AT Collection creation when using api.content.create. =
[gbastien]
>=20
> Call processForm with {None: None} dict as values. This prevents =
processForm using REQUEST.form and overwriting values already set by =
invokeFactory. Fixes issue 99 =
<https://github.com/plone/plone.api/issues/99>_. [david-batranu]
>=20
> Simplification/minor speedup: Permissions checks now directly use =
AccessControl. Technical its now exact the same as before. Before a tool =
lookup was needed, calling a utility function, calling AccessControl. =
[jensens]
>=20
> Improved code quality according to isort and flake8. [maurits]
>=20
> Fixed regular expression in test for Plone version. [maurits]
>=20
> Fix test in Zope4, where Products.PlonePAS.tools.memberdata.MemberData =
is an adapter now. It can't be proofed to be equal when fetched twice. =
[jensens]
>=20
> Change api.group.get_groups to work with CMF master. [jaroel]
>=20
> Added six to deal with Python 2 / 3 compatibility. [rudaporto]
>=20
> Don't rename an object when the id already is the target id. Fixes =
issue 361 <https://github.com/plone/plone.api/issues/361>_. [jaroel]
>=20
> Change content.delete to allow both obj=3DNone and objects=3D[] or =
objects=3DNone. Fixes issue 383 =
<https://github.com/plone/plone.api/issues/383>_. [jaroel]
>=20
> Let zope.i18n do the language negotiation for our translate function. =
Our get_current_translation does not always give the correct one, =
especially with combined languages: nl-be (Belgian/Flemish) should fall =
back to nl (Dutch). The correct negotiated language can also differ per =
translation domain, which we do not account for. zope.i18n does that =
better. Fixes issue 379 =
<https://github.com/plone/plone.api/issues/379>_. [maurits]
>=20
> Fix use of Globals.DB which was removed in Zope4 (Fix =
https://github.com/plone/plone.api/issues/385) [pbauer]
>=20
> plone.alterego: 1.1.1 =E2=86=92 1.1.3
>=20
> plone.batching: 1.1.2 =E2=86=92 1.1.5
>=20
> New features:
>=20
> Pagination: made label and arrows easier to customise. [iham]
> Bug fixes:
>=20
> Do not show batch navigation for single page with orphan. [maurits] =
(#9)
>=20
> Fix navlist different in Python2 and Python 3 (Refs. #21) [ale-rt]
>=20
> Python 3 fixes. [thet]
>=20
> plone.behavior: 1.2.0 =E2=86=92 1.2.1
>=20
> Bug fixes:
>=20
> Fixed import of dotted path in example. [fulv]
> plone.browserlayer: 2.2.0 =E2=86=92 2.2.2
>=20
> Bug fixes:
>=20
> Fix tests for py3 [pbauer]
>=20
> Add Python 2 / 3 compatibility [pbauer]
>=20
> plone.cachepurging: 1.0.13 =E2=86=92 1.0.16
>=20
> Bug fixes:
>=20
> Set default purger backlog size to 0 (infinity) in order to fully =
invalidate Varnish cache [avoinea refs #11]
>=20
> Tests and Code are Python 3 compatible [pbauer, ale-rt, jensens]
>=20
> consider purging to be enabled when it's enabled (even if no servers =
are listed) [skurfer]
>=20
> Add Python 2 / 3 compatibility [pbauer]
>=20
> plone.caching: 1.1.2 =E2=86=92 1.2.1
>=20
> New features:
>=20
> Add support for Python 3. [pbauer]
> Bug fixes:
>=20
> Remove five.globalrequest usage. [gforcada]
>=20
> Fix caching and tests in python 3 [ale-rt, pbauer]
>=20
> plone.contentrules: 2.0.6 =E2=86=92 2.0.9
>=20
> Bug fixes:
>=20
> Fix tests to not rely on a specific __repr__ of MoveToFolderAction and =
make py3 the default in test-output. [pbauer]
>=20
> Fix tests in py3. [pbauer]
>=20
> Add Python 2 / 3 compatibility [pbauer]
>=20
> plone.dexterity: 2.4.5 =E2=86=92 2.4.6
>=20
> New features:
>=20
> Move translations to plone.app.locales [erral]
> plone.folder: 1.0.9 =E2=86=92 2.0.2
>=20
> Breaking changes:
>=20
> Drop support for Python 2.6/ Plone 4.3 [jensens]
> New features:
>=20
> Improve logging in case ordered index is not consistent [tomgross]
> Bug fixes:
>=20
> Fix KeyError when removing object that is not referenced in ordering =
annotation [vangheem]
>=20
> Stabilize order of unordered items in partial ordering. [davisagli]
>=20
> Fix ordering of content in folder in python 3. [pbauer]
>=20
> Fix tests in py3. [pbauer]
>=20
> More Python 2 / 3 compatibility [pbauer, ale-rt]
>=20
> Fix deprecated LazyMap import [jensens]
>=20
> Remove ancient buildout config [tomgross]
>=20
> Replace deprecated testing assertion calls [tomgross]
>=20
> Add Python 2 / 3 compatibility [vincero]
>=20
> plone.formwidget.datetime: 1.3.1 =E2=86=92 1.3.4
>=20
> Bug fixes:
>=20
> Use the field min and max values to determine the years range =
[mpeeters]
>=20
> Required datetime fields should have no values preselected. Fix #11 =
[mamico]
>=20
> Please pyScss by adding quotes in the urls. Makes it compatible with =
Plone 5.1. [thomasdesvenain]
>=20
> plone.formwidget.querystring: 1.1.9 =E2=86=92 1.1.10
>=20
> Bug fixes:
>=20
> Recent Plone 4.3 versions have a change in the base href calculation. =
Fix calculation of the baseUrl in updating the queryresults in the =
widgets if /edit is part of the base href. [fredvd, maurits]
> plone.formwidget.recurrence: 2.1.1 =E2=86=92 2.1.3
>=20
> Bug fixes:
>=20
> Fix test-isolation issue in AT tests [pbauer]
>=20
> Add Python 2 / 3 compatibility [pbauer]
>=20
> plone.indexer: 1.0.4 =E2=86=92 1.0.5
>=20
> Bug fixes:
>=20
> fix https://github.com/plone/Products.CMFPlone/issues/2469: =
"Subobjects are indexing attributes of parent". Allow only direct =
attributes and acquired PythonScripts, but not acquired attributes. =
Indexers and PythonScripts are able to handle this explicitly, because =
they get the acquisition-wrapped object. [jensens]
>=20
> Fix tests to work in Python 3 [pbauer]
>=20
> plone.intelligenttext: 2.2 =E2=86=92 3.0.0
>=20
> Breaking changes:
>=20
> Dropped support for Python 3.3.
> Bug fixes:
>=20
> Return str from transform in Python 3. [davisagli]
>=20
> Remove use of pyenv on Travis now that they upped their PyPy game and =
use the tox-travis egg to simplify how the config file looks like. =
[Rotonen]
>=20
> plone.keyring: 3.0.1 =E2=86=92 3.1.0
>=20
> Bug fixes:
>=20
> Fix the tests on Python 3 [ale-rt]
>=20
> Python 2.6 is no longer supported, use a 3.0.x release if needed =
[gforcada]
>=20
> Use zope.interface decorator. [gforcada]
>=20
> plone.locking: 2.2 =E2=86=92 2.2.3
>=20
> Bug fixes:
>=20
> More Python 2 / 3 compatibility fixes. [thet]
>=20
> Update tests to not use plone.app.testing.bbb code. This should avoid =
test isolation problems. [gforcada]
>=20
> Add Python 2 / 3 compatibility [pbauer]
>=20
> plone.memoize: 1.2.1 =E2=86=92 1.2.3
>=20
> Bug fixes:
>=20
> Re-enable Travis-CI. This package can be used outside Plone so it =
should be tested outside, too. [howitz]
>=20
> Drop travis and tox. A solution that works at one point does not =
necessarily work later. plone.memoize is being tested on =
jenkins.plone.org. [gforcada]
>=20
> Clean up dependencies. [gforcada]
>=20
> plone.outputfilters: 3.0.3 =E2=86=92 3.0.5
>=20
> Bug fixes:
>=20
> Allow resolving of links with absolute path and host [tomgross]
>=20
> Make plone.namedfile hard testing dependency [tomgross]
>=20
> Add Python 2 / 3 compatibility [pbauer]
>=20
> plone.portlet.static: 3.1.1 =E2=86=92 3.1.3
>=20
> Bug fixes:
>=20
> Fix static portlet for py3 [pbauer]
>=20
> Fix test. Portletrenderer can't be wrapped in aq. [pbauer]
>=20
> Add Python 2 / 3 compatibility [vincero]
>=20
> plone.protect: 3.0.26 =E2=86=92 3.1.4
>=20
> New features:
>=20
> Log forbidden URLs. Fixes =
https://github.com/plone/plone.protect/issues/66 [gforcada]
> Bug fixes:
>=20
> Reverted the part of the changes from 3.1.3 that introduced a possible =
SyntaxError on some Python 2 versions. Reports are mostly for Python =
2.7.8 and lower, but also one for 2.7.14, but only on Travis. See issue =
74 <https://github.com/plone/plone.protect/issues/74> and issue 75 =
<https://github.com/plone/plone.protect/issues/75>. [maurits]
>=20
> Avoid CSRF warnings due to generating image scales stored in a =
plone.scale.storage.ScalesDict. [davisagli]
>=20
> More Python 2 / 3 compatibility. Warning: this gives a SyntaxError on =
Python 2.7.8 or lower. See issue 74 =
<https://github.com/plone/plone.protect/issues/74>_. [pbauer]
>=20
> Transform does not log a warning for empty responses (Fixes =
https://github.com/plone/plone.protect/issues/15) [fRiSi]
>=20
> Add Python 2 / 3 compatibility [vincero]
>=20
> README wording tweaks [tkimnguyen]
>=20
> plone.reload: 2.0.2 =E2=86=92 3.0.0
>=20
> Call invalidate_caches and remove the pycache in Python 3
>=20
> Add Python 3.4, 3.5 and 3.6 support. Drop Python 2.6 support.
>=20
> Test against Zope 4, while keeping compatibility with Zope 2.13.
>=20
> plone.resource: 1.2.1 =E2=86=92 2.0.2
>=20
> Breaking changes:
>=20
> Remove Python2.6 support. [ale-rt]
> New features:
>=20
> Add python 2 / 3 compatibility
> Bug fixes:
>=20
> More Python 3 fixes [ale, pbauer]
>=20
> Fixed 'ValueError: substring not found' in FilesystemResourceDirectory =
representation. This happens when you register a directory with a name =
that differs from the directory name. Visiting the /++theme++myname url =
would then give this error. We also avoid listing a longer part of the =
path in case the directory name happens to be in the path multiple =
times. [maurits]
>=20
> plone.resourceeditor: 2.1 =E2=86=92 2.1.3
>=20
> Bug fixes:
>=20
> Fix UnicodeDecodeError when saving files TTW. [tmassman]
>=20
> Fix functionality and tests in py3 [pbauer]
>=20
> Add Python 2 / 3 compatibility [pbauer]
>=20
> plone.rfc822: 1.1.3 =E2=86=92 1.1.4
>=20
> New features:
>=20
> Start basic Python 3 support. [pbauer, dhavlik]
> plone.schema: 1.0.0 =E2=86=92 1.1.0
>=20
> Add new JSONField field and JSONSchema auto validation. [sneridagh]
> plone.schemaeditor: 2.0.17 =E2=86=92 2.0.20
>=20
> Bug fixes:
>=20
> Fix issue where serializing vocabulary terms into '|' syntax failed =
when values contained non-ascii characters [datakurre]
>=20
> Allow defaults to be set on dexterity type fields via the web UI =
(@@fields) [ezvirtual]
>=20
> Fix tests in py3 and some py3 issues. [pbauer]
>=20
> Add Python 2 / 3 compatibility [pbauer]
>=20
> Fix getting vocabulary for multichoice fields [tomgross]
>=20
> Fix fields not being reorderable and missing their delete confirmation =
until a fieldset was added. Fixes =
https://github.com/collective/collective.easyform/issues/81 and =
https://github.com/collective/collective.easyform/issues/82 [thet]
>=20
> plone.session: 3.6.1 =E2=86=92 3.7.1
>=20
> New features:
>=20
> Use Resource Registry for JS/CSS registration [jensens]
> Bug fixes:
>=20
> Python3 compatibility [ale-rt, pbauer]
>=20
> Fixes #11: Pseudo CSS-file is not loaded anymore in merged lagacy =
bundle. Now optional JS based auto-refresh support is working again. =
[jensens]
>=20
> Modernize README. [jensens]
>=20
> Hardening default timeout of session. This solves Plone security =
internal issue #126 (severity low, non-critical). Session timeout is now =
the same as in mod_auth_tkt: 2h. This follows the recommendation of the =
German BSI (federal office for security in the information technology). =
See =
https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Internetsicherheit/isi=
_web_server_checkliste_Plone.pdf For existing sites this can be adjusted =
at https://HOST/acl_users/session/manage_propertiesForm The Plone =
Security Team follows the BSI and recommends administrators to change =
the setting in their existing Plone sites. [jensens]
>=20
> Add Python 2 / 3 compatibility [vincero]
>=20
> plone.stringinterp: 1.2.1 =E2=86=92 1.3.1
>=20
> New features:
>=20
> Add support for Python 3. [pbauer]
> Bug fixes:
>=20
> The Format accessor should actually return the format attribute (see =
plone/Products.CMFPlone#2540) [ale-rt]
> plone.subrequest: 1.8.2 =E2=86=92 1.8.6
>=20
> New features:
>=20
> Fix importsi without ZServer [pbauer]
>=20
> Add support for Zope exception views when explicit exception handler =
is not defined [datakurre]
>=20
> Bug fixes:
>=20
> More Python 3 compatibility. [ale-rt, thet]
>=20
> Make test dependency on Archetypes optional. [davisagli]
>=20
> Add Python 2 / 3 compatibility [pbauer]
>=20
> Fix issue where the example unauthorized_exception_handler did not =
properly set response status code [datakurre]
>=20
> Reverted "Remove vurl-parts from path", which resulted in broken =
p.a.mosaic pages [thet]
>=20
> plone.supermodel: 1.3.3 =E2=86=92 1.4.0
>=20
> New features:
>=20
> Python 3 compatibility. [pbauer, davilima6, dhavlik, ale-rt]
> Bug fixes:
>=20
> Python3 compatibility with sixer [ale-rt]
> plone.synchronize: 1.0.2 =E2=86=92 1.0.3
>=20
> Bug fixes:
>=20
> Release it as a wheel as well as an egg. [gforcada]
> plone.testing: 4.1.2 =E2=86=92 4.1.3
>=20
> Breaking changes:
>=20
> Default to picking a dynamical port for ZServer layers instead of a =
static default port. [Rotonen]
> plone.theme: 3.0.3 =E2=86=92 3.0.6
>=20
> Bug fixes:
>=20
> Tests run on Python 3 [ale-rt]
>=20
> Handle case where we get no skinname in Zope4. [pbauer]
>=20
> Minor administrativa fixes. [gforcada]
>=20
> plone.transformchain: 1.2.1 =E2=86=92 2.0.1
>=20
> Breaking changes:
>=20
> Drop support for Python 2.6. [jensens]
> New features:
>=20
> Make ZServer optional
> Bug fixes:
>=20
> More py3 test and functionality fixes. [pbauer, thet]
>=20
> More fixes for Python 2 / 3 compatibility. [pbauer, thet]
>=20
> Add Python 2 / 3 compatibility [vincero]
>=20
> plone.uuid: 1.0.4 =E2=86=92 1.0.5
>=20
> Bug fixes:
>=20
> Fix package dependencies. [gforcada]
>=20
> Fix documentation and uuid generator class name to reflect the fact =
that we use the uuid4 implementation instead of uuid1. [thet]
>=20
> plonetheme.barceloneta: 1.6.23 =E2=86=92 1.8.2
>=20
> plonetheme.sunburst: 1.5.3 =E2=86=92 1.5.4
>=20
> Breaking changes:
>=20
> Don't hide portal-logo for mobile devices. [rodfersou]
> z3c.autoinclude: 0.3.7 =E2=86=92 0.3.8
>=20
> New features:
>=20
> Add support for Python 3.6 and 3.7.
> Bug fixes:
>=20
> Fix the includePlugins directive to read filenames as native strings =
in Python 3.
> z3c.formwidget.query: 0.14 =E2=86=92 0.17
>=20
> New features:
>=20
> Register z3c.autoinclude entry point for automatic inclusion in plone. =
[maurits]
>=20
> Add support for Python 3 [pbauer]
>=20
> Bug fixes:
>=20
> Improved code quality. [maurits]
>=20
> Added translations for this package. Italian and Dutch available now. =
[ale-rt, fredvd, maurits]
>=20
> collective.z3cform.datetimewidget: 1.2.7 =E2=86=92 1.2.8
>=20
> plone.app.debugtoolbar: 1.1.3 =E2=86=92 1.1.4
>=20
> Bug fixes:
>=20
> Remove unittest2 dependency [kakshay21]
>=20
> Make it work in chrome, as '' no longer works. [jaroel]
>=20
> plone.app.lockingbehavior: 1.0.5 =E2=86=92 1.0.6
>=20
> Bug fixes:
>=20
> Cleanup project level files (setup.py, .travis-ci.yml...) [maurits] =
[gforcada] (#2524)
> plone.app.relationfield: 1.3.5 =E2=86=92 1.4.3
>=20
> New features:
>=20
> Related items behavior: show a "recently used" dropdown in the related =
items widget. The "recently used" dropdown is only available for Mockup =
2.6.3+. [thet]
> Bug fixes:
>=20
> Remove installation of plone.app.widgets default profile in tests. In =
Plone 5.0/5.1 with plone.app.widgets >=3D 2.0, the profile is only a =
dummy profile for BBB. In Plone 5.2 will be removed. [jensens]
>=20
> Change import of message factory from dx to non-deprecated way. =
[jensens]
>=20
> Fix tests in py3 [pbauer]
>=20
> Python 3 compatibility. [pbauer]
>=20
> Make doctests work with new testbrowser in Zope4 [pbauer]
>=20
> plone.app.versioningbehavior: 1.3.1 =E2=86=92 1.3.6
>=20
> New features:
>=20
> Add a field for disabling versions per content item =
https://github.com/plone/Products.CMFPlone/issues/2341 [tomgross]
> Bug fixes:
>=20
> Move change notes field to be the last field of the form (just above =
the buttons). https://github.com/plone/Products.CMFPlone/issues/2640 =
[gforcada]
>=20
> Made writing Blob less aggressive.(issue #42) [iham]
>=20
> Remove (testing) dependency on zope.app.intid. [gforcada]
>=20
> Migrate tests away from PloneTestCase [pbauer]
>=20
> Fix imports for py3 [pbauer]
>=20
> Remove obsolete grok usage [tomgross]
>=20
> Imports are Python3 compatible [ale-rt, robbuh]
>=20
> plone.formwidget.autocomplete: 1.2.11 =E2=86=92 1.3.0
>=20
> New features:
>=20
> Add uninstall profile. [thet]
> plone.formwidget.contenttree: 1.0.15 =E2=86=92 1.1.0
>=20
> New features:
>=20
> Add uninstall profile. [thet]
> Bug fixes:
>=20
> If the widget is loaded without a content filter to limit the content =
listing, skip retrieving all index data for the brain from the catalog =
in isBrainSelectable. This considerably speeds up listing folders with =
many items that have large (SearchableText) indexes. [fredvd, =
mauritsvanrees]
> plone.app.multilingual: 5.1.2 =E2=86=92 5.2.3
>=20
> New features:
>=20
> Make plone.app.controlpanel optional (no longer there in Plone 5.2). =
[jensens]
>=20
> Move translations to plone.app.locales. Fixes #191 [erral]
>=20
> Set shortname plone.translatable to behavior =
plone.app.multilingual.dx.interfaces.IDexterityTranslatable. [jensens]
>=20
> Bug fixes:
>=20
> Rerelease, as 5.2.1 was somehow released twice, once in June, once in =
September. [maurits]
>=20
> Upgrade step to profile version 3 was lost and now recreated. =
[jensens, 2silver]
>=20
> Do not show deprecation warning when loading migrator code, as it is =
intended to load old LRF there. [jensens]
>=20
> Don't fail, if multilingual selector is called without query =
[tomgross]
>=20
> Fix connecting of documents [tomgross]
>=20
> Fixed tests now that Catalan has translated =E2=80=98assets=E2=80=99 =
into =E2=80=98recursos=E2=80=99. [maurits]
>=20
> Fix Python 3 import. [pbauer]
>=20
> Remove language-switcher from available view methods when uninstalling =
[erral]
>=20
> Fix i18n markup in multilingual map to avoid ${DYNAMIC_CONTENT} =
strings in po files [erral]
>=20
> Fix i18n markup of the viewlet shown in the translation creation view. =
[erral]
>=20
> Removed Extensions/Install.py. This was only there as wrapper for =
applying our uninstall profile, but that wrapper is no longer needed. =
[maurits]
>=20
> Marked 'Scenario: As an editor I can translate a document' as =
noncritical. This is a 'robot' test that has been unstable for a long =
time. [maurits]
>=20
> Fix issue where rendering translation menu did write on get when =
translations were enabled on old site with existing content [datakurre]
>=20
> Fix issue where DX multilingual subscriber was executed even =
multilingual was not installed [Asko Soukka]
>=20
> Fix edge case where ValueError was raised from DX translatable =
subscriber when no translations were yet available for the content =
[datakurre]
>=20
> Fix issue where rendering universal link failed when translation =
information was not yet available for the content [datakurre]
>=20
> Imports are Python3 compatible [ale-rt, jensens]
>=20
> Fix serialization of query variables for selector links in Zope 4. =
[davisagli]
>=20
> archetypes.multilingual: 3.0.5 =E2=86=92 3.0.6
>=20
> Bug fixes:
>=20
> Hide uninstall from site setup screen. [jensens]
> plone.app.ldap: 1.4.0 =E2=86=92 1.4.3
>=20
> Bug fixes:
>=20
> Require in the setup.py Products.CMFDefault [ale-rt]
>=20
> Imports are Python3 compatible [ale-rt]
>=20
> Add coding header on python files. [gforcada]
>=20
> Remove deprecated of calls on BrowserViews [MrTango]
>=20
>=20

--Apple-Mail=_20141E0D-A3E8-4661-9242-6657BE63629D
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"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" 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.0.10" =
class=3D"">https://plone.org/download/releases/5.0.10</a><br =
class=3D""><br class=3D""></div><div id=3D"article" role=3D"article" =
style=3D"text-rendering: optimizeLegibility; font-family: Georgia; =
font-size: 1.2em; line-height: 1.5em; margin: 0px; padding: 0px;" =
class=3D"georgia 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; -webkit-hyphens: =
manual; max-width: 100%;">Plone 5.0.10</h1><div style=3D"font-weight: =
bold; max-width: 100%;" class=3D""><h2 style=3D"font-size: 1.125em; =
max-width: 100%;" class=3D"">Final 5.0 Bug Fix Release</h2><p =
style=3D"max-width: 100%;" class=3D"">This is the final bug fix release =
of the 5.0 series. We do not intend to release another.</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 full-source 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>.</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>
</div><h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">AccessControl: 3.0.13 =E2=86=92 3.0.14</h3>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">In <code style=3D"max-width: 100%;" =
class=3D"">str.format</code>, check the security for keys and items that =
are accessed.
  Part of PloneHotfix20171128.  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">set explicit PyPI index, the old <code style=3D"max-width: =
100%;" class=3D"">zc.buildout</code> defaults no longer work</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"">tox</code> =
testing configuration</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.ZCatalog: 3.0.2 =E2=86=92 3.0.3</h3>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix a bug in the BooleanIndex =
where documents without an entry in
  the index were not being filtered out in all queries.</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">setuptools: =
26.1.1 =E2=86=92 33.1.1</h3>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">zc.buildout: =
2.5.3 =E2=86=92 2.9.5</h3>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.recipe.alltests: 1.5 =E2=86=92 1.5.1</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix imports when buildout was =
installed using pip.
  [davisagli]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.recipe.zope2instance: 4.3 =E2=86=92 4.4.1</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</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"">Added support for setting <code style=3D"max-width: 100%;" =
class=3D"">instance-home</code> option.
  [zupo]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Added support for setting CGI environment variables.
  [zupo]</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Make comments in zcml values work, even if not starting at =
the beginning of the line;
  before, we had a confusing error message. Fixes #46
  [tobiasherp]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Regard 'parsed_version' of setuptools &gt; 38.7.0 does not =
return
  iterable anymore, fixes #37.
  [ida]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.releaser: 1.5.4 =E2=86=92 1.7.1</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</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"">New zest.releaser hook: update other buildout.coredev =
branches as well.
  This automates the manual bookeeping that one has to do whenever =
releasing packages:
  i.e. to check if the package just released is also checked out and =
used in other buildout.coredev branches.
  [gforcada]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Ensure that selected packages are always kept on =
checkouts.cfg.
  [gforcada]</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Python 3 compatibility fix for xmlrpclib/xmlrpc import =
differences. [esteele]
  (#21)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix pypi URL. [gforcada] (#23)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Skip over broken version definitions when building the =
unified changelog.
  [esteele]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">zest.releaser: 6.12.1 =E2=86=92 6.15.0</h3>
<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 <a href=3D"http://pypi.org" class=3D"">pypi.org</a>, =
especially when checking if a package is on PyPI.
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue #281 &lt;<a =
href=3D"https://github.com/zestsoftware/zest.releaser/issues/281" =
class=3D"">https://github.com/zestsoftware/zest.releaser/issues/281</a>&gt=
;</code>_.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Added key <code style=3D"max-width: 100%;" =
class=3D"">update_history</code> in prerelease and postrelease data.
  Plugins can use this to tell <code style=3D"max-width: 100%;" =
class=3D"">zest.releaser</code> (and other plugins)
  to not touch the history, presumably because the plugin handles it.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Declared <code style=3D"max-width: 100%;" =
class=3D"">requests</code> dependency.
  Declared <code style=3D"max-width: 100%;" class=3D"">zope.testing</code>=
 test dependency.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Advertise <code style=3D"max-width: 100%;" =
class=3D"">setup.cfg</code> option <code style=3D"max-width: 100%;" =
class=3D"">[zest.releaser] history-file</code>.
  Usually zest.releaser can find the correct history or changelog file =
on its own.
  But sometimes it may not find anything, or it finds multiple files and
  selects the wrong one.
  Then you can set a path here.
  A <code style=3D"max-width: 100%;" class=3D"">history_file</code> =
option with an underscore was already read, but not documented.
  Now we try both a dash and an underscore for good measure.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Use new <code style=3D"max-width: 100%;" =
class=3D"">setup.cfg</code> option <code style=3D"max-width: 100%;" =
class=3D"">[zest.releaser] encoding</code>.
  Set this to, for example, <code style=3D"max-width: 100%;" =
class=3D"">utf-8</code> when the encoding of your <code =
style=3D"max-width: 100%;" class=3D"">CHANGES.rst</code>
  file is not determined correctly.
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue 264 &lt;<a =
href=3D"https://github.com/zestsoftware/zest.releaser/issues/264" =
class=3D"">https://github.com/zestsoftware/zest.releaser/issues/264</a>&gt=
;</code>_.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">When inserting changelog entry, check that it conforms to the =
existing encoding.
  Try to recover if there is a difference, especially when the changelog =
file
  was ascii and we insert utf-8.  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">When determining encoding, first look for coding hints in the =
file itself.
  Only when that fails, we try <code style=3D"max-width: 100%;" =
class=3D"">tokenize</code> or <code style=3D"max-width: 100%;" =
class=3D"">chardet</code>.
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue 264 &lt;<a =
href=3D"https://github.com/zestsoftware/zest.releaser/issues/264" =
class=3D"">https://github.com/zestsoftware/zest.releaser/issues/264</a>&gt=
;</code>_.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Get PyPI password raw, without interpolation.
  If you had a password with a percentage sign, you could get an error.
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue 271 &lt;<a =
href=3D"https://github.com/zestsoftware/zest.releaser/issues/271" =
class=3D"">https://github.com/zestsoftware/zest.releaser/issues/271</a>&gt=
;</code>_.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Prevent unclosed files.  Python 3.6 warned about them,
  and PyPy may have more problems with it.
  Fixed several other DeprecationWarnings.  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Print commands in a nicer way.
  You could get ugly output like this, especially on Python 2.7:
  <code style=3D"max-width: 100%;" class=3D"">INFO: The '[u'git', =
u'diff']':</code> or worse:
  <code style=3D"max-width: 100%;" class=3D"">Command failed: u"t w i n =
e ' ' u p l o a d"</code>.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Test compatibility with Python 2.7, 3.4, 3.5, 3.6, PyPy2.  =
[maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Quit in <code style=3D"max-width: 100%;" =
class=3D"">postrelease</code> when we cannot find a version.
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue #262 &lt;<a =
href=3D"https://github.com/zestsoftware/zest.releaser/issues/262" =
class=3D"">https://github.com/zestsoftware/zest.releaser/issues/262</a>&gt=
;</code>.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed IOError when <code style=3D"max-width: 100%;" =
class=3D"">setup.cfg</code> is missing and no version is found.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed writing of files in original encoding on python3, too. =
[andreparames]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed tests with mercurial 4.4+.  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed writing of files in original encoding. [mgedmin]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add tag message formatting (option <code style=3D"max-width: =
100%;" class=3D"">tag-message</code>). [htgoebel]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add support for signing tags (option <code style=3D"max-width: =
100%;" class=3D"">tag-signing</code>). [htgoebel]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Sorting uploadable filenames so that wheels are uploaded =
first. (For most
  filesystems this happened automatically, but the order on OSX' new
  filesystem is non-deterministic, so we added sorting.)
  [reinout]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Release process will now fail when specified hooks cannot be =
imported.
  (<code style=3D"max-width: 100%;" class=3D"">PR #236 &lt;<a =
href=3D"https://github.com/zestsoftware/zest.releaser/pulls/236" =
class=3D"">https://github.com/zestsoftware/zest.releaser/pulls/236</a>&gt;=
</code>_)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Also support version in setup.cfg. [ewjoachim]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Allows <code style=3D"max-width: 100%;" =
class=3D"">{version}</code> format for <code style=3D"max-width: 100%;" =
class=3D"">tag-format</code>.
  [leorochael]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Subversion fix: create tag of entire trunk or branch when not =
in repo root.
  If you have <code style=3D"max-width: 100%;" =
class=3D"">trunk/pkg1</code> and <code style=3D"max-width: 100%;" =
class=3D"">trunk/pkg2</code> and you make tag 1.0 in directory <code =
style=3D"max-width: 100%;" class=3D"">pkg1</code>,
  then until now we would create <code style=3D"max-width: 100%;" =
class=3D"">tags/1.0</code> with the contents of directory <code =
style=3D"max-width: 100%;" class=3D"">pkg1</code>.
  Checking out the tag and changing to the <code style=3D"max-width: =
100%;" class=3D"">pkg1</code> directory then failed.
  We now make a tag of the entire trunk or branch, just like in the =
other version control systems.
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue #213 &lt;<a =
href=3D"https://github.com/zestsoftware/zest.releaser/issues/213" =
class=3D"">https://github.com/zestsoftware/zest.releaser/issues/213</a>&gt=
;</code>_.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Do not needlessly run <code style=3D"max-width: 100%;" =
class=3D"">svn info</code>.  [maurits]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.robotframework: 1.1.1 =E2=86=92 1.3.1</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Breaking changes:</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"">Default to the new plone.testing default of picking the =
ZServer port
  dynamically.
  [Rotonen]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove compatibility code for Plone 4.x.
  [hvelarde]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Skip Support for Plone 4.x.
  [jensens]</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Imports are Python3 =
compatible. Add six into install_requires set and sort
  each file's imports with the isort package.
  [b4oshany, @davilima6]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Add support for Python 3.
  [davisagli]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Support for Plone 5.x toolbar, i18n, ...
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix RemoteLibrary <code style=3D"max-width: 100%;" =
class=3D"">i18n</code> to work proper with registry based settings.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Make robotframework work with merged <code style=3D"max-width: =
100%;" class=3D"">plone.login</code>.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix Travis CI setup.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed create user with multiple roles with args::</p><p =
style=3D"max-width: 100%;" class=3D"">Create user  siteadmin  =
Contributor  Reviewer  Site Administrator</p>
</li>
</ul><p style=3D"max-width: 100%;" class=3D"">and with kwargs::</p>
<div class=3D"scrollable" style=3D"max-width: 100%; overflow-x: scroll; =
word-wrap: normal;"><pre style=3D"max-width: 100%; font-size: 0.9em; =
line-height: 1.45em;" class=3D""><code style=3D"max-width: 100%;" =
class=3D"">  @{roles} =3D  Create list  Contributor  Reviewer  Site =
Administrator
  Create user  siteadmin  roles=3D@{roles}
</code></pre></div><p style=3D"max-width: 100%;" class=3D"">[ksuess, =
datakurre]</p>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Import <code style=3D"max-width: 100%;" =
class=3D"">activatePluginInterfaces</code> from <code style=3D"max-width: =
100%;" class=3D"">Products.PlonePAS.setuphandlers</code>.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Use <code style=3D"max-width: 100%;" =
class=3D"">get_installer</code> for checking if a product is installed.
  Fall back to getting the <code style=3D"max-width: 100%;" =
class=3D"">portal_quickinstaller</code> tool.
  [maurits]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">i18ndude: =
4.3 =E2=86=92 4.4.0</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">In the <code style=3D"max-width:=
 100%;" class=3D"">list</code> command, show only languages with =
existing po files,
  ordered by percentage.  A new <code style=3D"max-width: 100%;" =
class=3D"">--tiered</code> option uses the traditional
  behavior with languages in a specific order in three tiers.
  [maurits]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Sort files that we extract messages from.
  On Linux they were already sorted, but not on Mac, leading to a test =
failure.
  [maurits]</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"">find-untranslated</code> no longer complains about attributes =
with chameleon syntax.
  An html tag with <code style=3D"max-width: 100%;" =
class=3D"">title=3D"${context/Description}"</code> is no longer
  marked as having an untranslated title tag.
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue 53 &lt;<a =
href=3D"https://github.com/collective/i18ndude/issues/53" =
class=3D"">https://github.com/collective/i18ndude/issues/53</a>&gt;</code>=
_.
  [maurits]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">six: 1.10.0 =
=E2=86=92 1.11.0</h3>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">Plone: =
5.0.9 =E2=86=92 5.0.10</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Release Plone 5.0.10
  [esteele]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.Archetypes: 1.10.18 =E2=86=92 1.10.19</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Make sure the =
'at_ordered_refs' dict changes are persisted when setting
  references by manually setting '_p_changed=3D1'.
  [gbastien]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.CMFDiffTool: 3.1.4 =E2=86=92 3.1.7</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add Python 2 / 3 compatibility =
[davilima6]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 display of subjects diff
  <a href=3D"https://github.com/plone/Products.CMFPlone/issues/2340" =
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2340</a>
  [tomgross]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Bug fix for dict type, because we use DataGridField.
  [terapyon]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.CMFDynamicViewFTI: 4.1.5 =E2=86=92 5.0.0</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Breaking changes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Test using =
plone.app.contenttypes instead of Archetypes.
  [davisagli]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add Python 2 / 3 compatibility =
[davilima6]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 adapter lookup on Python 3.
  [ale-rt]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix missing ClassType in Python 3</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.CMFPlone: 5.0.9 =E2=86=92 5.0.10</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</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"">Release Plone 5.0.10 [esteele] (#2735)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add jqtree-contextmenu to the resource registry Add =
js-shortcuts to the
  resource registry [b4oshany] (#2090)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update with latest mockup 2.1.x [frapell] (#2212)</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 registration of <code style=3D"max-width: 100%;" =
class=3D"">robots.txt</code> browser view to avoid <code =
style=3D"max-width: 100%;" class=3D"">AttributeError</code>
  on Zope's root (fixes <code style=3D"max-width: 100%;" class=3D"">#2052
  &lt;<a href=3D"https://github.com/plone/Products.CMFPlone/issues/2052" =
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2052</a>&gt;<=
/code>_). [hvelarde]
  (#2052)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed Products.CMFPlacefulWorkflow being marked as not =
installed after
  upgrade from 4.3. This is true for any package in the Products =
namespace that
  was installed. Fixes <code style=3D"max-width: 100%;" class=3D"">issue =
2103
  &lt;<a href=3D"https://github.com/plone/Products.CMFPlone/issues/2103" =
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2103</a>&gt;<=
/code>_. [maurits] (#2103)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Improved isURLInPortal according to PloneHotfix20171128. =
Accept only
  http/https, and doubly check escaped urls. [maurits] (#2234)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Require AccessControl 3.0.14 so <code style=3D"max-width: =
100%;" class=3D"">guarded_getitem</code> is used. Part of
  PloneHotfix20171128. [maurits] (#2269)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Ignore invalid <code style=3D"max-width: 100%;" =
class=3D"">sort_on</code> parameters in catalog <code style=3D"max-width: =
100%;" class=3D"">searchResults</code>. Otherwise
  you get a <code style=3D"max-width: 100%;" =
class=3D"">CatalogError</code>. I get crazy sort_ons like '194' or =
'null'.
  [maurits] (#2289)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add required <code style=3D"max-width: 100%;" =
class=3D"">plone.app.imaging</code> as direct dependency. Note, in Plone =
5.1
  plone.app.imaging is no dependency anymore. [thet] (#2297)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Do not include too new upgrades when upgrading Plone Site. =
Otherwise the
  Plone Site ends up at a newer version that the filesystem code =
supports,
  giving an error when upgrading, and resulting in possibly missed =
upgrades
  later. Fixes <code style=3D"max-width: 100%;" class=3D"">issue 2377
  &lt;<a href=3D"https://github.com/plone/Products.CMFPlone/issues/2377" =
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2377</a>&gt;<=
/code>_. [maurits] (#2377)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Unflakied a unit test. [Rotonen] (#2383)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Updated tinymce to 4.7.13 [obct537] (#2527)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix plone.app.redirector support for JSON/unspecified =
requests. [rpatterson]
  (#2619)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix metabundle resource ordering to pay attention to depends =
setting
  [vangheem] (#2632)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix robot test test_edit_user_schema: Fieldname was set =
duplicate (first by
  JS, then by robot). [jensens] (#2669)</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.CMFQuickInstallerTool: 3.0.15 =E2=86=92 3.0.16</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Add Python 2 / 3 compatibility.  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add undeclared Products.ExternalMethod dependency.  =
[esteele]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.contentmigration: 2.1.16 =E2=86=92 2.1.19</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</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"">More Python 2 / 3 compatibility adjustments
  [davilima6]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Prepare for Python 2 / 3 compatibility
  [davilima6]</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Unpack brains to be able to =
log broken catalog-records during migration.
  [pbauer]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.ExtendedPathIndex: 3.1.1 =E2=86=92 3.4.1</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</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"">Support allow multi value results for "virtual" paths. =
[jensens] (#7)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add compatibility with Python 3.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add forward compatibility with ZCatalog 4's IQueryIndex =
interface.</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Rerelease without changes to update the changelog properly. =
(#7)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix dependencies defined in setup.py.
  [gforcada]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.GenericSetup: 1.8.8 =E2=86=92 1.8.10</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Do not mask KeyError in 'getProfileDependencies' from missing
  dependency profiles.
  Refs: <a href=3D"https://github.com/plone/Products.CMFPlone/issues/2228"=
 class=3D"">https://github.com/plone/Products.CMFPlone/issues/2228</a>
  [ida]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">When <code style=3D"max-width: 100%;" =
class=3D"">metadata.xml</code> parsing fails, show the filename in the =
<code style=3D"max-width: 100%;" class=3D"">ExpatError</code>.
  Fixes <code style=3D"max-width: 100%;" class=3D"">Plone issue 2303 =
&lt;<a href=3D"https://github.com/plone/Products.CMFPlone/issues/2303" =
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2303</a>&gt;<=
/code>_.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Require five.localsitemanager less than version 3.
  Version 3 requires a too new Zope2 version.</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.Marshall: 2.2.1 =E2=86=92 2.3</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Replaced Extensions/Install.py =
with GenericSetup profile.  [maurits]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Prepare for Python 2 / 3 compatibility
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix test isolation issue due to incomplete teardown.
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.MimetypesRegistry: 2.0.10 =E2=86=92 2.0.11</h3>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Backport add woff2 mimetype. =
[fredvd, jensens]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.PasswordResetTool: 2.2.3 =E2=86=92 2.2.4</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Sanitize <code =
style=3D"max-width: 100%;" class=3D"">userid</code> that is coming from =
password reset form. That will be prevent error if user unintentionally =
provides username/email with whitespace.
  [nazrulworld]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.PloneLanguageTool: 3.2.8 =E2=86=92 3.2.9</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix import from Globals that =
is removed in Zope4.
  [pbauer]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.PlonePAS: 5.0.14 =E2=86=92 5.1.0</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Notify PropertiesUpdated event =
when member properties are changed
  [ezvirtual]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Report home_page as empty when =
it is suspicious.
  It may for example contain javascript.
  Part of PloneHotfix20171128.
  [maurits]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.ResourceRegistries: 3.0.5 =E2=86=92 3.0.7</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 relative import for py3
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility.  [maurits]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.i18ntestcase: 1.3 =E2=86=92 1.4.0</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">More Python 2 / 3 =
compatibility adjustments
  [davilima6]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Imports are Python3 compatible
  [ale-rt, b4oshany]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix import from Globals that is removed in Zope4.
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">Products.statusmessages: 5.0 =E2=86=92 5.0.4</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add Python 2 / 3 compatibility
  [davilima6]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Use Umlaut =C3=A4 in tests in order to check string/bytes =
handling.
  Refactor test_encoding to unittest.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Python 3 compatibility fixes.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix issue where encoding and decoding of statusmessages into =
cookie
  raised exception, because of
  <code style=3D"max-width: 100%;" class=3D"">TypeError: Struct() =
argument 1 must be string, not unicode</code>
  [datakurre]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">archetypes.referencebrowserwidget: 2.5.9 =E2=86=92 =
2.5.10</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Drop dependency on =
plone.app.form
  [MatthewWilkes]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">archetypes.schemaextender: 2.1.7 =E2=86=92 2.1.8</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add Python 2 / 3 =
compatibility.  [maurits]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">borg.localrole: 3.1.3 =E2=86=92 3.1.6</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Python 2 / 3 compatibility.
  [ale-rt, pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix issue StopIteration raising a Runtimeerror in Python 3.7
  See <a href=3D"https://www.python.org/dev/peps/pep-0479/" =
class=3D"">https://www.python.org/dev/peps/pep-0479/</a>
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Import <code style=3D"max-width: 100%;" =
class=3D"">activatePluginInterfaces</code> from the canonical place in =
<code style=3D"max-width: 100%;" class=3D"">Products.PlonePAS</code>.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Python 2 / 3 compat with six.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Cleanup:</p>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">No self-contained =
buildout,</li>
<li style=3D"max-width: 100%;" class=3D"">utf8-headers,</li>
<li style=3D"max-width: 100%;" class=3D"">isort,</li>
<li style=3D"max-width: 100%;" class=3D"">ZCA-decorators</li>
<li style=3D"max-width: 100%;" =
class=3D"">formatting/readability/pep8,</li>
<li style=3D"max-width: 100%;" class=3D"">Security decorators</li>
</ul>
</li>
</ul><p style=3D"max-width: 100%;" class=3D"">[jensens]</p>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">No self-contained buildout,</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">utf8-headers,</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">isort,</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">ZCA-decorators</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">formatting/readability/pep8,</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Security decorators</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix test for Zope 4.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Made test compatible with zope4.  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">collective.monkeypatcher: 1.1.2 =E2=86=92 1.2</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</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"">Include installation instructions in the README.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update test infrastructure.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Document possible problems when patching module level =
functions
  [frisi]</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Prepare for Python 2 / 3 compatibility
  [frapell]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix import for Python 3 in the tests module
  [ale-rt]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix import for Python 3
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">diazo: =
1.2.5 =E2=86=92 1.2.11</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 unicode errors in tests
  [petschki]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix diazo.debug console with Python 2.7.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add compatibility for plone.app.testing for Python 3.
  [icemac]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Make tox env release check manifest before releasing
  [loechel]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix packaging error.
  [esteele]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Code Cleanup and enforcing Code Conversions
  [loechel]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D""><a =
href=3D"http://five.pt" class=3D"">five.pt</a>: 2.2.4 =E2=86=92 =
2.2.5</h3>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix <code style=3D"max-width: =
100%;" class=3D"">test_edit_with_errors</code> to not import a private =
variable from
  <code style=3D"max-width: 100%;" class=3D"">zope.pagetemplate</code>. =
Fixes test failure with latest zope.pagetemplate.</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">icalendar: =
3.11.6 =E2=86=92 4.0.2</h3>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">mockup: =
2.1.8 =E2=86=92 2.1.9</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Mark special links pattern: Do =
not mark anchors as special links
  [frapell]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<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"">Add item here *</li>
</ul>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add item here *</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.blob: 1.7.2 =E2=86=92 1.7.4</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Prepare for Python 2 / 3 =
compatibility
  [davilima6, rudaporto]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 bug where Image blob fields couldn't be used with
  archetypes.schemaextender unless the parent class subclasses
  ATCTImageTransform
  [MatthewWilkes]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Adapt test to changes in ZPublisher.HTTPResponse.setHeader
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove no longer existing icons from type definitions.
  [davisagli]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.caching: 1.2.18 =E2=86=92 1.2.23</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</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"">Python 3 support
  [pbauer, MatthewWilkes, ale-rt]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Use plone as i18n domain in ZCML files too
  [erral]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Use plone as i18n domain
  [erral]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Prepare for Python 2 / 3 compatibility
  [b4oshany, davilima6]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Purging all image scale paths and file paths in custom =
dexterity content types. [karalics]</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Warn after save if caching was disabled while purging is =
still enabled.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix backslash escapes in i18nstring (poedit complains).
  [jensens]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.contenttypes: 1.2.24 =E2=86=92 1.2.27</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">The <code style=3D"max-width: 100%;" class=3D"">Format</code> =
accessor should actually return the <code style=3D"max-width: 100%;" =
class=3D"">format</code> attribute
  (see plone/Products.CMFPlone#2540)
  [ale-rt]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Do not install plone.app.discussion when installing =
plone.app.contenttypes.
  [timo]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Use original raw text and mimetype when indexing rich text.
  This avoids a double transform (raw source to output mimetype to plain =
text).
  Includes a reindex of the SearchableText index for Collections, =
Documents and News Items.
  <code style=3D"max-width: 100%;" class=3D"">Issue 2066 &lt;<a =
href=3D"https://github.com/plone/Products.CMFPlone/issues/2066" =
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2066</a>&gt;<=
/code>_.
  [maurits]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.customerize: 1.3.7 =E2=86=92 1.3.9</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 a ResourceWarning: do not leave a file unclosed.
  [gforcada]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">make registrations.html look good in Bootstrap-ZMI,
  still working fine in old ZMI.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix templateViewRegistrationGroups and tests in py3.
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.dexterity: 2.3.7 =E2=86=92 2.3.8</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Release upload lock when name =
chooser fails. [maurits] (#276)</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.event: 2.0.13 =E2=86=92 2.0.14</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Remove <code style=3D"max-width:=
 100%;" class=3D"">Pragma: no-cache</code> header for icalendar exports.
  The <code style=3D"max-width: 100%;" class=3D"">Pragma</code> header =
is HTTP 1.0 and the caching strategy on icalendar exports should better =
be defined by integrators.
  [thet]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Make sure to include the =
'Content-Length' header for ical exports
  [frapell]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.folder: 1.2.3 =E2=86=92 1.2.6</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 missing <code style=3D"max-width: 100%;" =
class=3D"">dict.has_key</code> in Python3
  [ale-rt]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix GopipIndex for py3
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix webdav PUT of index_html to work in Zope 4.
  [davisagli]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.i18n: 3.0.4 =E2=86=92 3.0.5</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix tests with py3.
  [pbauer]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.imaging: 2.0.6 =E2=86=92 2.0.7</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Imports are Python3 compatible
  [ale-rt]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.layout: 2.5.23 =E2=86=92 2.5.24</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Allow addition of extra body =
classes via multiple IBodyClassAdapter adapter registrations without the =
need to overload the ILayoutPolicy view.
  [thet, jensens, agitator]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add template and view =
arguments support to IBodyClassAdapters (fixes <code style=3D"max-width: =
100%;" class=3D"">#158 &lt;<a =
href=3D"https://github.com/plone/plone.app.layout/issues/158" =
class=3D"">https://github.com/plone/plone.app.layout/issues/158</a>&gt;</c=
ode>_).
  [rodfersou]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.querystring: 1.3.17 =E2=86=92 1.3.18</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Ignore unknown <code =
style=3D"max-width: 100%;" class=3D"">sort_on</code> indexes when =
parsing a query.
  Otherwise you get a <code style=3D"max-width: 100%;" =
class=3D"">CatalogError</code>.  [maurits]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.redirector: 1.3.5 =E2=86=92 1.3.7</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Cleanup project level files (setup.py, pyproject.toml) =
[maurits] [gforcada]
  (#2524)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [vincero]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.testing: 5.0.7 =E2=86=92 5.0.9</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Amended the doctests to work with automatical layer port =
picking from plone.testing.
  [Rotonen]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Load Products.PageTemplates ZCML.  [tschorr]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.textfield: 1.2.9 =E2=86=92 1.2.11</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Python 3 fixes
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Imports are Python3 compatible
  [b4oshany]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.upgrade: 2.0.6 =E2=86=92 2.0.20</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</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"">Add upgrade steps for Datatables on Plone 5.1.4. [frapell] =
(#168)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add upgrade step removing the jquery-highlightsearchterms =
resource and the
  plone_ecmascript skin layer, on Plone 5.2 and 5.1.4 [sunew] (#170)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update bundle dates after recompilation in CMFPlone. [sunew] =
(#171)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Added upgrade for TinyMCE 4.7.13 on Plone 5.0.10. [obct537] =
(#174)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Merge plone.login and remove skins folder plone_login.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add upgrade step for 5.2 to register tools as utilities.
  Run it before testing the zexp-import.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add jqtree-contextmenu to the resource registry for Plone 5.0 =
and 5.1
  [b4oshany]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add js-shortcuts to the resource registry for Plone 5.0 and =
5.1
  [b4oshany]</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Plone 5.1.5: Update resource registry <code style=3D"max-width:=
 100%;" class=3D"">last_compilation</code> date. [thet]
  (#186)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">migrate GopipIndex which has moved from p.a.folder to =
p.folder [petschki]
  (#177)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Do not break if archetypes related code is not available =
[ale-rt, pbauer]
  (#178)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">tolerate lack of legacy resource registry [ksuess] (#182)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update resources for plone.app.event. [agitator] (#166)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Prepare for Python 2 / 3 compatibility [ale-rt, pbauer, =
tlotze] (#173)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">make <code style=3D"max-width: 100%;" =
class=3D"">plone.app.folder</code> import conditional, because the =
package is gone in
  Plone &gt;=3D 5.2 [petschki] (#175)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">fix tests in Plone &gt;=3D 5.2 and python 3. As discussed =
with jensens and
  mauritsvanrees we start migration tests beginning from 4.0 final due =
to
  portal_factory property errors. [petschki] (#176)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Made several functions less complex by splitting them.  =
[maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Improved code quality.  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix i18n domain for some portal_actions that were on =
plone.app.event domain.
  Fixes <a href=3D"https://github.com/plone/plone.app.event/pull/204" =
class=3D"">https://github.com/plone/plone.app.event/pull/204</a>
  [gforcada]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Change in TinyMCE css location so bundles can be built =
without errors
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue 2359 &lt;<a =
href=3D"https://github.com/plone/Products.CMFPlone/issues/2359" =
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2359</a>&gt;<=
/code>_.
  [frapell]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Rename retina_scales to highpixeldensity_scales.
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue 2331 &lt;<a =
href=3D"https://github.com/plone/Products.CMFPlone/issues/2331" =
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2331</a>&gt;<=
/code>_.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Hide our 'products' from installation for both =
CMFQuickInstallerTool and CMFPlone.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Removed hard dependency on <code style=3D"max-width: 100%;" =
class=3D"">CMFQuickInstallerTool</code>.
  And marked the v52 module as non installable.  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Import <code style=3D"max-width: 100%;" =
class=3D"">setupPasswordPolicyPlugin</code> from canonical place in =
<code style=3D"max-width: 100%;" class=3D"">PlonePAS</code>.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Log progress and ignore bad catalog entries while updating =
catalog metadata.
  [davisagli]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Disable CSRF protection when replacing keyring.
  This fixes running specific upgrade steps via the portal_setup UI.
  [davisagli]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Avoid triggering an unnecessary migration of user logins
  when the use_email_as_login setting is migrated to portal_registry.
  [davisagli]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Unregister import_steps that were moved to post_handlers.
  Fixes <a href=3D"https://github.com/plone/Products.CMFPlone/issues/2238"=
 class=3D"">https://github.com/plone/Products.CMFPlone/issues/2238</a>
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed WrongType exception when migrating installed Iterate to =
5.0.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Adapt to changes in CMF 2.4 (getCurrentKeyFormat removed) and =
Zope 4 (not Products in Control Panel).
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Register upgrades for Plone 5.2
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix installation of IUserGroupsSettingsSchema into registry =
for Plone 5.0rc1.
  [davisagli]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Avoid swallowing errors during registry setting upgrades.
  [davisagli]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix deletion of registry records in <code style=3D"max-width: =
100%;" class=3D"">remove_duplicate_iterate_settings</code>
  from the <code style=3D"max-width: 100%;" class=3D"">5108</code> =
upgrade.
  [thet]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Register Plone 5.1 upgrade steps.
  [thet]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Register settings for safe_html-Transform when migrating from =
5107 to 5108
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Use str() when migrating checkout_workflow_policy since the =
field is ASCII.
  See discussion at <a =
href=3D"https://github.com/plone/plone.app.iterate/pull/53" =
class=3D"">https://github.com/plone/plone.app.iterate/pull/53</a>
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Use safe_unicode to migrate some settings. Fixes <a =
href=3D"https://github.com/plone/plone.app.upgrade/issues/104" =
class=3D"">https://github.com/plone/plone.app.upgrade/issues/104</a>
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Recover missing dashboard (user actions)
  <a href=3D"https://github.com/plone/Products.CMFPlone/issues/1132" =
class=3D"">https://github.com/plone/Products.CMFPlone/issues/1132</a>
  [fgrcon]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Register settings for safe_html-Transform before =
linkintegrity-migration in 5.0rc1
  Fixes <a href=3D"https://github.com/plone/Products.CMFPlone/issues/2129"=
 class=3D"">https://github.com/plone/Products.CMFPlone/issues/2129</a>
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix migration if safe_html-Settings to not drop tags without =
a closing tag.
  Fixes <a href=3D"https://github.com/plone/Products.CMFPlone/issues/2088"=
 class=3D"">https://github.com/plone/Products.CMFPlone/issues/2088</a>
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Cleanup duplicate iterate settings. See also <a =
href=3D"https://github.com/plone/plone.app.iterate/pull/47" =
class=3D"">https://github.com/plone/plone.app.iterate/pull/47</a>
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.viewletmanager: 2.0.10 =E2=86=92 2.0.12</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Sort viewlets by key instead of with a <code =
style=3D"max-width: 100%;" class=3D"">cmp</code> function.
  [ale-rt, pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility [jensens]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.vocabularies: 4.0.4 =E2=86=92 4.0.7</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Python 3 support [ale-rt, pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Do not wake up all the users when no query is submitted
  [ale-rt]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix test that breaks when catalog is not registered as a =
utility in CMF 2.3+
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [vincero]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.widgets: 2.0.7 =E2=86=92 2.0.8</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Marked flaky robot test as non =
critical.  [maurits]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">plone.api: =
1.8 =E2=86=92 1.9.1</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Python 2/3 support.
  [pbauer]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Show only local roles when inherit=3DFalse.
  [tschorr]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Removed allow-hosts from base.cfg, so we can use the new pypi =
warehouse.
  Refs <a href=3D"https://github.com/plone/plone.api/issues/403" =
class=3D"">https://github.com/plone/plone.api/issues/403</a>
  [jaroel]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">fix typos in doc strings
  [tkimnguyen]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix failing AT Collection creation when using =
api.content.create.
  [gbastien]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Call <code style=3D"max-width: 100%;" =
class=3D"">processForm</code> with <code style=3D"max-width: 100%;" =
class=3D"">{None: None}</code> dict as values.
  This prevents <code style=3D"max-width: 100%;" =
class=3D"">processForm</code> using <code style=3D"max-width: 100%;" =
class=3D"">REQUEST.form</code> and overwriting
  values already set by <code style=3D"max-width: 100%;" =
class=3D"">invokeFactory</code>.
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue 99 &lt;<a =
href=3D"https://github.com/plone/plone.api/issues/99" =
class=3D"">https://github.com/plone/plone.api/issues/99</a>&gt;</code>_.
  [david-batranu]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Simplification/minor speedup:
  Permissions checks now directly use AccessControl.
  Technical its now exact the same as before.
  Before a tool lookup was needed, calling a utility function, calling =
AccessControl.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Improved code quality according to isort and flake8.  =
[maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed regular expression in test for Plone version.  =
[maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix test in Zope4,
  where <code style=3D"max-width: 100%;" =
class=3D"">Products.PlonePAS.tools.memberdata.MemberData</code> is an =
adapter now.
  It can't be proofed to be equal when fetched twice.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Change api.group.get_groups to work with CMF master.
  [jaroel]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Added six to deal with Python 2 / 3 compatibility.
  [rudaporto]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Don't rename an object when the id already is the target id.
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue 361 &lt;<a =
href=3D"https://github.com/plone/plone.api/issues/361" =
class=3D"">https://github.com/plone/plone.api/issues/361</a>&gt;</code>_.
  [jaroel]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Change content.delete to allow both obj=3DNone and objects=3D[]=
 or objects=3DNone.
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue 383 &lt;<a =
href=3D"https://github.com/plone/plone.api/issues/383" =
class=3D"">https://github.com/plone/plone.api/issues/383</a>&gt;</code>_.
  [jaroel]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Let <code style=3D"max-width: 100%;" =
class=3D"">zope.i18n</code> do the language negotiation for our <code =
style=3D"max-width: 100%;" class=3D"">translate</code> function.
  Our <code style=3D"max-width: 100%;" =
class=3D"">get_current_translation</code> does not always give the =
correct one, especially with combined languages:
  <code style=3D"max-width: 100%;" class=3D"">nl-be</code> =
(Belgian/Flemish) should fall back to <code style=3D"max-width: 100%;" =
class=3D"">nl</code> (Dutch).
  The correct negotiated language can also differ per translation =
domain, which we do not account for.
  <code style=3D"max-width: 100%;" class=3D"">zope.i18n</code> does that =
better.
  Fixes <code style=3D"max-width: 100%;" class=3D"">issue 379 &lt;<a =
href=3D"https://github.com/plone/plone.api/issues/379" =
class=3D"">https://github.com/plone/plone.api/issues/379</a>&gt;</code>_.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix use of Globals.DB which was removed in Zope4 (Fix <a =
href=3D"https://github.com/plone/plone.api/issues/385" =
class=3D"">https://github.com/plone/plone.api/issues/385</a>)
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.alterego: 1.1.1 =E2=86=92 1.1.3</h3>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.batching: 1.1.2 =E2=86=92 1.1.5</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Pagination: made label and =
arrows easier to customise.
  [iham]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Do not show batch navigation for single page with orphan. =
[maurits] (#9)</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix navlist different in Python2 and Python 3 (Refs. #21)
  [ale-rt]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Python 3 fixes.
  [thet]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.behavior: 1.2.0 =E2=86=92 1.2.1</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fixed import of dotted path in =
example.  [fulv]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.browserlayer: 2.2.0 =E2=86=92 2.2.2</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 tests for py3
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.cachepurging: 1.0.13 =E2=86=92 1.0.16</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Set default purger backlog size to 0 (infinity) in order to =
fully invalidate Varnish cache
  [avoinea refs #11]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Tests and Code are Python 3 compatible
  [pbauer, ale-rt, jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">consider purging to be enabled when it's enabled (even if no =
servers are listed)
  [skurfer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.caching: 1.1.2 =E2=86=92 1.2.1</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add support for Python 3.
  [pbauer]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Remove five.globalrequest usage.
  [gforcada]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix caching and tests in python 3
  [ale-rt, pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.contentrules: 2.0.6 =E2=86=92 2.0.9</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 tests to not rely on a specific <code style=3D"max-width: =
100%;" class=3D"">__repr__</code> of MoveToFolderAction and make py3 the =
default in test-output.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix tests in py3.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.dexterity: 2.4.5 =E2=86=92 2.4.6</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Move translations to =
plone.app.locales
  [erral]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">plone.folder:=
 1.0.9 =E2=86=92 2.0.2</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Breaking changes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Drop support for Python 2.6/ =
Plone 4.3
  [jensens]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Improve logging in case =
ordered index is not consistent
  [tomgross]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 KeyError when removing object that is not referenced
  in ordering annotation
  [vangheem]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Stabilize order of unordered items in partial ordering.
  [davisagli]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix ordering of content in folder in python 3.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix tests in py3.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">More Python 2 / 3 compatibility
  [pbauer, ale-rt]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix deprecated LazyMap import
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove ancient buildout config
  [tomgross]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Replace deprecated testing assertion calls
  [tomgross]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [vincero]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.formwidget.datetime: 1.3.1 =E2=86=92 1.3.4</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Use the field min and max values to determine the years range
  [mpeeters]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Required datetime fields should have no values preselected. =
Fix #11
  [mamico]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Please pyScss by adding quotes in the urls. Makes it =
compatible with Plone 5.1.
  [thomasdesvenain]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.formwidget.querystring: 1.1.9 =E2=86=92 1.1.10</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Recent Plone 4.3 versions have =
a change in the base href calculation. Fix
  calculation of the baseUrl in updating the queryresults in the widgets =
if
  /edit is part of the base href.
  [fredvd, maurits]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.formwidget.recurrence: 2.1.1 =E2=86=92 2.1.3</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 test-isolation issue in AT tests
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.indexer: 1.0.4 =E2=86=92 1.0.5</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 <a =
href=3D"https://github.com/plone/Products.CMFPlone/issues/2469:" =
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2469:</a>
  "Subobjects are indexing attributes of parent".
  Allow only direct attributes and acquired PythonScripts,
  but not acquired attributes.
  Indexers and PythonScripts are able to handle this explicitly,
  because they get the acquisition-wrapped object.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix tests to work in Python 3
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.intelligenttext: 2.2 =E2=86=92 3.0.0</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Breaking changes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Dropped support for Python =
3.3.</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Return str from transform in Python 3.
  [davisagli]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove use of pyenv on Travis now that they upped their PyPy =
game and use the
  tox-travis egg to simplify how the config file looks like.
  [Rotonen]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.keyring: 3.0.1 =E2=86=92 3.1.0</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 the tests on Python 3 [ale-rt]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Python 2.6 is no longer supported, use a 3.0.x release if =
needed [gforcada]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Use zope.interface decorator.
  [gforcada]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.locking: 2.2 =E2=86=92 2.2.3</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">More Python 2 / 3 compatibility fixes.
  [thet]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Update tests to not use plone.app.testing.bbb code.
  This should avoid test isolation problems.
  [gforcada]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.memoize: 1.2.1 =E2=86=92 1.2.3</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Re-enable Travis-CI.
  This package can be used outside Plone so it should be tested outside, =
too.
  [howitz]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Drop travis and tox. A solution that works at one point does =
not necessarily work later.
  plone.memoize is being tested on <a href=3D"http://jenkins.plone.org" =
class=3D"">jenkins.plone.org</a>.
  [gforcada]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Clean up dependencies.
  [gforcada]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.outputfilters: 3.0.3 =E2=86=92 3.0.5</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Allow resolving of links with absolute path and host
  [tomgross]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Make plone.namedfile hard testing dependency
  [tomgross]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.portlet.static: 3.1.1 =E2=86=92 3.1.3</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 static portlet for py3
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix test. Portletrenderer can't be wrapped in aq.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [vincero]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.protect: 3.0.26 =E2=86=92 3.1.4</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Log forbidden URLs.
  Fixes <a href=3D"https://github.com/plone/plone.protect/issues/66" =
class=3D"">https://github.com/plone/plone.protect/issues/66</a>
  [gforcada]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Reverted the part of the changes from 3.1.3 that introduced a =
possible <code style=3D"max-width: 100%;" class=3D"">SyntaxError</code> =
on some Python 2 versions.
  Reports are mostly for Python 2.7.8 and lower, but also one for =
2.7.14, but only on Travis.
  See <code style=3D"max-width: 100%;" class=3D"">issue 74 &lt;<a =
href=3D"https://github.com/plone/plone.protect/issues/74" =
class=3D"">https://github.com/plone/plone.protect/issues/74</a>&gt;</code>=
<em style=3D"max-width: 100%;" class=3D"">
  and <code style=3D"max-width: 100%;" class=3D"">issue 75 &lt;<a =
href=3D"https://github.com/plone/plone.protect/issues/75" =
class=3D"">https://github.com/plone/plone.protect/issues/75</a>&gt;</code>=
</em>.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Avoid CSRF warnings due to generating image scales
  stored in a plone.scale.storage.ScalesDict.
  [davisagli]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">More Python 2 / 3 compatibility.
  Warning: this gives a SyntaxError on Python 2.7.8 or lower.
  See <code style=3D"max-width: 100%;" class=3D"">issue 74 &lt;<a =
href=3D"https://github.com/plone/plone.protect/issues/74" =
class=3D"">https://github.com/plone/plone.protect/issues/74</a>&gt;</code>=
_.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Transform does not log a warning for empty responses
  (Fixes <a href=3D"https://github.com/plone/plone.protect/issues/15" =
class=3D"">https://github.com/plone/plone.protect/issues/15</a>)
  [fRiSi]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [vincero]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">README wording tweaks
  [tkimnguyen]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">plone.reload:=
 2.0.2 =E2=86=92 3.0.0</h3>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Call invalidate_caches and remove the <strong =
style=3D"max-width: 100%;" class=3D"">pycache</strong> in Python 3</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 3.4, 3.5 and 3.6 support. Drop Python 2.6 =
support.</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Test against Zope 4, while keeping compatibility with Zope =
2.13.</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.resource: 1.2.1 =E2=86=92 2.0.2</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Breaking changes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Remove Python2.6 support.
  [ale-rt]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add python 2 / 3 =
compatibility</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">More Python 3 fixes
  [ale, pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed 'ValueError: substring not found' in <code =
style=3D"max-width: 100%;" class=3D"">FilesystemResourceDirectory</code> =
representation.
  This happens when you register a directory with a name that differs =
from the directory name.
  Visiting the <code style=3D"max-width: 100%;" =
class=3D"">/++theme++myname</code> url would then give this error.
  We also avoid listing a longer part of the path in case the directory =
name happens to be in the path multiple times.
  [maurits]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.resourceeditor: 2.1 =E2=86=92 2.1.3</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 UnicodeDecodeError when saving files TTW.
  [tmassman]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix functionality and tests in py3
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">plone.rfc822:=
 1.1.3 =E2=86=92 1.1.4</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Start basic Python 3 support.
  [pbauer, dhavlik]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">plone.schema:=
 1.0.0 =E2=86=92 1.1.0</h3>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add new JSONField field and =
JSONSchema auto validation.
  [sneridagh]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.schemaeditor: 2.0.17 =E2=86=92 2.0.20</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 issue where serializing vocabulary terms into '|' syntax =
failed when
  values contained non-ascii characters
  [datakurre]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Allow defaults to be set on dexterity type fields via the web =
UI (@@fields)
  [ezvirtual]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix tests in py3 and some py3 issues.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix getting vocabulary for multichoice fields
  [tomgross]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix fields not being reorderable and missing their delete =
confirmation until a fieldset was added.
  Fixes <a =
href=3D"https://github.com/collective/collective.easyform/issues/81" =
class=3D"">https://github.com/collective/collective.easyform/issues/81</a>=
 and <a =
href=3D"https://github.com/collective/collective.easyform/issues/82" =
class=3D"">https://github.com/collective/collective.easyform/issues/82</a>=

  [thet]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.session: 3.6.1 =E2=86=92 3.7.1</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Use Resource Registry for =
JS/CSS registration
  [jensens]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Python3 compatibility [ale-rt, pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixes #11: Pseudo CSS-file is not loaded anymore in merged =
lagacy bundle.
  Now optional JS based auto-refresh support is working again.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Modernize README.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Hardening default timeout of session.
  This solves Plone security internal issue #126 (severity low, =
non-critical).
  Session timeout is now the same as in mod_auth_tkt: 2h.
  This follows the recommendation of the German BSI (federal office for =
security in the information technology).
  See <a =
href=3D"https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Internetsicher=
heit/isi_web_server_checkliste_Plone.pdf" =
class=3D"">https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Internetsic=
herheit/isi_web_server_checkliste_Plone.pdf</a>
  For existing sites this can be adjusted at <a =
href=3D"https://HOST/acl_users/session/manage_propertiesForm" =
class=3D"">https://HOST/acl_users/session/manage_propertiesForm</a>
  The Plone Security Team follows the BSI and recommends administrators =
to change the setting in their existing Plone sites.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [vincero]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.stringinterp: 1.2.1 =E2=86=92 1.3.1</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add support for Python 3.
  [pbauer]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">The <code style=3D"max-width: =
100%;" class=3D"">Format</code> accessor should actually return the =
<code style=3D"max-width: 100%;" class=3D"">format</code> attribute
  (see plone/Products.CMFPlone#2540)
  [ale-rt]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.subrequest: 1.8.2 =E2=86=92 1.8.6</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</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 importsi without ZServer
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add support for Zope exception views when explicit exception =
handler
  is not defined
  [datakurre]</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">More Python 3 compatibility.
  [ale-rt, thet]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Make test dependency on Archetypes optional.
  [davisagli]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix issue where the example unauthorized_exception_handler =
did
  not properly set response status code
  [datakurre]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Reverted "Remove vurl-parts from path", which resulted in =
broken p.a.mosaic pages
  [thet]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.supermodel: 1.3.3 =E2=86=92 1.4.0</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Python 3 compatibility.
  [pbauer, davilima6, dhavlik, ale-rt]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Python3 compatibility with =
sixer
  [ale-rt]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.synchronize: 1.0.2 =E2=86=92 1.0.3</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Release it as a wheel as well =
as an egg.
  [gforcada]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.testing: 4.1.2 =E2=86=92 4.1.3</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Breaking changes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Default to picking a dynamical =
port for ZServer layers instead of a static
  default port.
  [Rotonen]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">plone.theme: =
3.0.3 =E2=86=92 3.0.6</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Tests run on Python 3 [ale-rt]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Handle case where we get no skinname in Zope4.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Minor administrativa fixes.
  [gforcada]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.transformchain: 1.2.1 =E2=86=92 2.0.1</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Breaking changes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Drop support for Python 2.6.
  [jensens]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Make ZServer optional</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">More py3 test and functionality fixes.
  [pbauer, thet]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">More fixes for Python 2 / 3 compatibility.
  [pbauer, thet]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add Python 2 / 3 compatibility
  [vincero]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" class=3D"">plone.uuid: =
1.0.4 =E2=86=92 1.0.5</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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 package dependencies.
  [gforcada]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix documentation and uuid generator class name to reflect =
the fact that we use the <code style=3D"max-width: 100%;" =
class=3D"">uuid4</code> implementation instead of <code =
style=3D"max-width: 100%;" class=3D"">uuid1</code>.
  [thet]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plonetheme.barceloneta: 1.6.23 =E2=86=92 1.8.2</h3>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plonetheme.sunburst: 1.5.3 =E2=86=92 1.5.4</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Breaking changes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Don't hide portal-logo for =
mobile devices.
  [rodfersou]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">z3c.autoinclude: 0.3.7 =E2=86=92 0.3.8</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add support for Python 3.6 and =
3.7.</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Fix the <code =
style=3D"max-width: 100%;" class=3D"">includePlugins</code> directive to =
read filenames
  as native strings in Python 3.</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">z3c.formwidget.query: 0.14 =E2=86=92 0.17</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</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"">Register <code style=3D"max-width: 100%;" =
class=3D"">z3c.autoinclude</code> entry point for automatic inclusion in =
plone.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add support for Python 3
  [pbauer]</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Improved code quality.  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Added translations for this package.  Italian and Dutch =
available now.
  [ale-rt, fredvd, maurits]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">collective.z3cform.datetimewidget: 1.2.7 =E2=86=92 1.2.8</h3>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.debugtoolbar: 1.1.3 =E2=86=92 1.1.4</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Remove unittest2 dependency
  [kakshay21]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Make it work in chrome, as '' no longer works.
  [jaroel]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.lockingbehavior: 1.0.5 =E2=86=92 1.0.6</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Cleanup project level files =
(setup.py, .travis-ci.yml...) [maurits]
  [gforcada] (#2524)</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.relationfield: 1.3.5 =E2=86=92 1.4.3</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Related items behavior: show a =
"recently used" dropdown in the related items widget.
  The "recently used" dropdown is only available for Mockup 2.6.3+.
  [thet]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Remove installation of plone.app.widgets default profile in =
tests.
  In Plone 5.0/5.1 with plone.app.widgets &gt;=3D 2.0, the profile is =
only a dummy profile for BBB.
  In Plone 5.2 will be removed.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Change import of message factory from dx to non-deprecated =
way.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix tests in py3
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Python 3 compatibility.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Make doctests work with new testbrowser in Zope4
  [pbauer]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.versioningbehavior: 1.3.1 =E2=86=92 1.3.6</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add a field for disabling =
versions per content item
  <a href=3D"https://github.com/plone/Products.CMFPlone/issues/2341" =
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2341</a>
  [tomgross]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Move change notes field to be the last field of the form =
(just above the buttons).
  <a href=3D"https://github.com/plone/Products.CMFPlone/issues/2640" =
class=3D"">https://github.com/plone/Products.CMFPlone/issues/2640</a>
  [gforcada]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Made writing Blob less aggressive.(issue #42)
  [iham]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove (testing) dependency on zope.app.intid.
  [gforcada]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Migrate tests away from PloneTestCase
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix imports for py3
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove obsolete grok usage
  [tomgross]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Imports are Python3 compatible
  [ale-rt, robbuh]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.formwidget.autocomplete: 1.2.11 =E2=86=92 1.3.0</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add uninstall profile.
  [thet]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.formwidget.contenttree: 1.0.15 =E2=86=92 1.1.0</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Add uninstall profile.
  [thet]</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">If the widget is loaded =
without a content filter to limit the content listing,
  skip retrieving all index data for the brain from the catalog in
  isBrainSelectable. This considerably speeds up listing folders with =
many items
  that have large (SearchableText) indexes.
  [fredvd, mauritsvanrees]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.multilingual: 5.1.2 =E2=86=92 5.2.3</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">New features:</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"">Make plone.app.controlpanel optional (no longer there in =
Plone 5.2).
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Move translations to plone.app.locales. Fixes #191
  [erral]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Set shortname <code style=3D"max-width: 100%;" =
class=3D"">plone.translatable</code> to behavior <code style=3D"max-width:=
 100%;" =
class=3D"">plone.app.multilingual.dx.interfaces.IDexterityTranslatable</co=
de>.
  [jensens]</p>
</li>
</ul>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Rerelease, as 5.2.1 was somehow released twice, once in June, =
once in September.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Upgrade step to profile version 3 was lost and now recreated.
  [jensens, 2silver]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Do not show deprecation warning when loading migrator code,
  as it is intended to load old LRF there.
  [jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Don't fail, if multilingual selector is called without query
  [tomgross]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix connecting of documents
  [tomgross]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fixed tests now that Catalan has translated =E2=80=98assets=E2=80=
=99 into =E2=80=98recursos=E2=80=99. [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix Python 3 import.
  [pbauer]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove <code style=3D"max-width: 100%;" =
class=3D"">language-switcher</code> from available view methods when =
uninstalling
  [erral]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix i18n markup in multilingual map to avoid =
${DYNAMIC_CONTENT} strings in po files
  [erral]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix i18n markup of the viewlet shown in the translation =
creation view.
  [erral]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Removed <code style=3D"max-width: 100%;" =
class=3D"">Extensions/Install.py</code>.  This was only there as wrapper =
for
  applying our uninstall profile, but that wrapper is no longer needed.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Marked 'Scenario: As an editor I can translate a document' as =
noncritical.
  This is a 'robot' test that has been unstable for a long time.
  [maurits]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix issue where rendering translation menu did write on get =
when translations
  were enabled on old site with existing content
  [datakurre]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix issue where DX multilingual subscriber was executed even =
multilingual
  was not installed
  [Asko Soukka]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix edge case where ValueError was raised from DX =
translatable subscriber
  when no translations were yet available for the content
  [datakurre]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix issue where rendering universal link failed when =
translation information
  was not yet available for the content
  [datakurre]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Imports are Python3 compatible
  [ale-rt, jensens]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Fix serialization of query variables for selector links in =
Zope 4.
  [davisagli]</p>
</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">archetypes.multilingual: 3.0.5 =E2=86=92 3.0.6</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</h4>
<ul style=3D"max-width: 100%;" class=3D"">
<li style=3D"max-width: 100%;" class=3D"">Hide uninstall from site setup =
screen.
  [jensens]</li>
</ul>
<h3 style=3D"font-size: 1.05em; max-width: 100%;" =
class=3D"">plone.app.ldap: 1.4.0 =E2=86=92 1.4.3</h3>
<h4 style=3D"font-size: 1em; margin: 1em 0px; max-width: 100%;" =
class=3D"">Bug fixes:</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"">Require in the setup.py Products.CMFDefault
  [ale-rt]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Imports are Python3 compatible
  [ale-rt]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Add coding header on python files.
  [gforcada]</p>
</li>
<li style=3D"max-width: 100%;" class=3D""><p style=3D"max-width: 100%;" =
class=3D"">Remove deprecated <strong style=3D"max-width: 100%;" =
class=3D"">of</strong> calls on BrowserViews
  [MrTango]</p>
</li>
</ul></div></div></div><div class=3D""><br =
class=3D""></div></blockquote></div></body></html>=

--Apple-Mail=_20141E0D-A3E8-4661-9242-6657BE63629D--


--===============4344829600056381006==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============4344829600056381006==
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
--===============4344829600056381006==--