These are all the changes for Zope 5, starting with the alpha releases, since the branch point at Zope 4.1.2.
The change log for the previous version, Zope 4, is at https://github.com/zopefoundation/Zope/blob/4.x/CHANGES.rst
Backwards incompatible changes¶
- Drop support for Python 3.5 as it will run out of support soon. (#841)
- HTTP header encoding support (#905)
- Add support for Python 3.9.
- New interface
Products.PageTemplates.interfaces.IZopeAwareEngine. It can be used as the “provides” of an adapter registration to adapt a non
Zopetales engine to an engine to be used by
Zopepage templates (#864). Currently, the adaptation is used only when the template is rendered with
zope.pagetemplate, the engine is used as is - this may change in the future.
- Allow (some) builtins as first element of a (TALES) path expression:
in an untrusted context, the builtins from
AccessControl.safe_builtinsare allowed; in a trusted context, all Python builtins are allowed in addition (and take precedence) (zope.tales#23).
- Support the
attrspredefined template variable again (as far as
chameleonallows it) (#860).
Chameleon(>= 3.7.2) configuration to get better information for errors detected during template execution (#837).
- Provide a more senseful
OFS.SimpleItem.Item_w__name__.idto avoid bugs by use of deprecated direct
idaccess (as e.g. (#903).
- Update to
zope.interface > 5.1.0to fix a memory leak.
- Fix export of files with non-latin-1 compatible names (#890)
- Avoid unsolicited translations (#876)
- Make “chameleon-zope context wrapping” more faithful. (#873)
- Let “unicode conflict resolution” work for all templates (not just
- Make “Unicode Conflict Resolution” available for templates
- Improve documentation of
CONTEXTSin the “Zope Book”.
- Decrease cookie size for copy/paste clipboard cookie (#854)
defaultkeyword handling in page templates (#846)
- Fix parsing of package version and show correct major version in the ZMI
- Improve solidity of the
- Fix that
ZTUtils.LazyFiltercould not be imported inside a restricted Python script. (#901)
AccessControl4.2 for the Manage WebDAV Locks permission
HEADrequests on registered views (#816)
zope.talescontext wrapper (support for template variable injection) (#812).
- Fix issue 717 by fully honoring the engine returned by
PageTemplate.pt_getEngine(#717). The engine also decides about the use of
zope.tales(engine is an instance of
chameleon.tales(otherwise) TALES expressions.
- Fixed encoding issue of displayname WebDAV property (#797)
- Fixed fallback implementation of
- Update to newest versions of dependencies.
Backwards incompatible changes¶
- Drop support for Python 2.7 aka Zope 5 cannot be run on Python 2 any more. If you are still running on Python 2.7 upgrade to the latest Zope 4 version first, migrate to Python 3 and than switch to Zope 5. (#692)
- Remove all backwards-compatibility code marked to go away in Zope 5 (#478)
- Drop support for running Zope with ZServer as it is Python 2 only. (#592)
- Remove deprecated
postProcessInputsrequest method. (#782)
- Remove deprecated module
- Remove Help System methods from the product context. (#756)
- Remove more deprecated code. (#757)
- Updated Zope documentation sources for Zope 5. (#659)
- Restore WebDAV support in Zope. (#744)
- Enable WebDAV support independent of
- Clean up and sanitize permissions used for WebDAV-related methods.
wsgi.file_wrapperimplementation https://www.python.org/dev/peps/pep-0333/#optional-platform-specific-file-handling (#719)
- Only use
wsgi.file_wrapperfor response bodies with a
- Improve detection of HTTPS requests. (#680)
- Fix several ZMI links so they respect virtual hosting. (#788)
- Fix sort link URLs on
- More tests to make sure all
__str__implementations return native strings. (#692)
- Fix longstanding test bug by forcing the page template engine.
Many tests in
Products.PageTemplatesused the old Zope page template engine because the correct one was not registered during setup.
- Close opened db during shutdown (as ZServer is already doing). (#740)
- The method
unrestrictedTraverseraises an error when the argument
pathis not something it can work with. (#674)
- Improve ZMI Security Tab usability for high numbers of roles. (#730)
- Some small ZMI rendering fixes. (#729)
- Fix error when using database minimize in the ZMI. (#726)
- Fix VirtualHostMonster not being able to set mappings under Python 3. (#708)
- Reduce the danger of acquiring built-in names on the ZMI Find tab. (#712)
- Restore the mistakenly removed Properties ZMI tab on Image objects (#706)
REMOTE_USERin wsgi environ using Zope user authentication (#713)
extras_requiredependency to pull in
Pastewhen installing with pip and constraints.txt to prevent startup errors. This requires adding the
[wsgi]extra in the egg specification. (#734)