Skip to content

Commit

Permalink
Merge branch 'master' into flake8-via-pre-commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Howitz committed Oct 16, 2020
2 parents 945f08b + aff3e21 commit f0cd0a6
Show file tree
Hide file tree
Showing 103 changed files with 1,264 additions and 739 deletions.
3 changes: 0 additions & 3 deletions .travis.yml
Expand Up @@ -13,9 +13,6 @@ matrix:
env: TOXENV=py38
- python: "3.9-dev"
env: TOXENV=py39
allow_failures:
- python: "3.9-dev"
env: TOXENV=py39

install:
- pip install -U pip setuptools
Expand Down
91 changes: 68 additions & 23 deletions CHANGES.rst
Expand Up @@ -8,27 +8,38 @@ The change log for the previous version, Zope 4, is at
https://github.com/zopefoundation/Zope/blob/4.x/CHANGES.rst


5.0a3 (unreleased)
------------------
5.1 (unreleased)
----------------

- Fix ``length`` for page template repeat variables
(`#913 <https://github.com/zopefoundation/Zope/issues/913>`_)

- Add ``pyupgrade`` via ``pre-commit``
(`#859 <https://github.com/zopefoundation/Zope/issues/859>`_)
- Restore the ZMI `Debug Information` control panel page
(`#898 <https://github.com/zopefoundation/Zope/issues/898>`_)

- Avoid unsolicited translations
(`#876 <https://github.com/zopefoundation/Zope/issues/876>`_)
- Update `isort` to version 5.
(`#892 <https://github.com/zopefoundation/Zope/pull/892>`_)

- Make "chameleon-zope context wrapping" more faithful.
(`#873 <https://github.com/zopefoundation/Zope/pull/873/files>`_)
- Update to newest versions of dependencies.

- Let "unicode conflict resolution" work for all templates (not just
``ZopePageTemplate``).
(`#872 <https://github.com/zopefoundation/Zope/pull/872/files>`_)

- Make "Unicode Conflict Resolution" available for templates
rendered with ``chameleon``
(`Products.CMFPlone#3145
<https://github.com/plone/Products.CMFPlone/issues/3145>`_).
5.0 (2020-10-08)
----------------

Backwards incompatible changes
++++++++++++++++++++++++++++++

- Drop support for Python 3.5 as it will run out of support soon.
(`#841 <https://github.com/zopefoundation/Zope/issues/841>`_)


Features
++++++++

- HTTP header encoding support
(`#905 <https://github.com/zopefoundation/Zope/pull/905>`_)

- Add support for Python 3.9.

- New interface ``Products.PageTemplates.interfaces.IZopeAwareEngine``.
It can be used as the "provides" of an adapter registration
Expand All @@ -47,16 +58,42 @@ https://github.com/zopefoundation/Zope/blob/4.x/CHANGES.rst
(and take precedence)
(`zope.tales#23 <https://github.com/zopefoundation/zope.tales/issues/23>`_).

- Add ``tal:switch`` test

- Support the ``attrs`` predefined template variable again (as
far as ``chameleon`` allows it)
(`#860 <https://github.com/zopefoundation/Zope/issues/860>`_).

- Use ``Chameleon`` (>= 3.7.2) configuration to get better
information for errors detected during template execution
(`#837 <https://github.com/zopefoundation/Zope/issues/837>`_).

Fixes
+++++

- Provide a more senseful ``OFS.SimpleItem.Item_w__name__.id``
to avoid bugs by use of deprecated direct ``id`` access
(as e.g. (`#903 <https://github.com/zopefoundation/Zope/issues/903>`_).

- Update to ``zope.interface > 5.1.0`` to fix a memory leak.

- Fix export of files with non-latin-1 compatible names
(`#890 <https://github.com/zopefoundation/Zope/issues/890>`_)

- Avoid unsolicited translations
(`#876 <https://github.com/zopefoundation/Zope/issues/876>`_)

- Make "chameleon-zope context wrapping" more faithful.
(`#873 <https://github.com/zopefoundation/Zope/pull/873/files>`_)

- Let "unicode conflict resolution" work for all templates (not just
``ZopePageTemplate``).
(`#872 <https://github.com/zopefoundation/Zope/pull/872/files>`_)

- Make "Unicode Conflict Resolution" available for templates
rendered with ``chameleon``
(`Products.CMFPlone#3145
<https://github.com/plone/Products.CMFPlone/issues/3145>`_).

- Improve documentation of ``CONTEXTS`` in the "Zope Book".

- Drop support for Python 3.5 as it will run out of support soon.
(`#841 <https://github.com/zopefoundation/Zope/issues/841>`_)

- Decrease cookie size for copy/paste clipboard cookie
(`#854 <https://github.com/zopefoundation/Zope/issues/854>`_)
Expand All @@ -69,9 +106,17 @@ https://github.com/zopefoundation/Zope/blob/4.x/CHANGES.rst
- Improve solidity of the ``debugError`` method.
(`#829 <https://github.com/zopefoundation/Zope/issues/829>`_)

- Use ``Chameleon`` (>= 3.7.2) configuration to get better
information for errors detected during template execution
(`#837 <https://github.com/zopefoundation/Zope/issues/837>`_).
- Fix that ``ZTUtils.LazyFilter`` could not be imported inside a restricted
Python script.
(`#901 <https://github.com/zopefoundation/Zope/pull/901>`_)

Other changes
+++++++++++++

- Add ``pyupgrade`` via ``pre-commit``
(`#859 <https://github.com/zopefoundation/Zope/issues/859>`_)

- Add ``tal:switch`` test


5.0a2 (2020-04-24)
Expand Down
2 changes: 0 additions & 2 deletions buildout.cfg
Expand Up @@ -18,8 +18,6 @@ parts =
requirements
sources-dir = develop
auto-checkout =
RestrictedPython


[testenv]
PYTHONHASHSEED = random
Expand Down
28 changes: 14 additions & 14 deletions constraints.txt
@@ -1,20 +1,20 @@
AccessControl==4.2
Acquisition==4.6
AuthEncoding==4.1
AccessControl==5.0
Acquisition==4.7
AuthEncoding==4.2
BTrees==4.7.2
Chameleon==3.8.1
DateTime==4.3
DocumentTemplate==3.3
ExtensionClass==4.4
ExtensionClass==4.5.0
Missing==4.1
MultiMapping==4.1
Paste==3.4.1
Paste==3.4.6
PasteDeploy==2.1.0
Persistence==3.0
Products.BTreeFolder2==4.2
Products.ZCatalog==5.1
Products.ZCatalog==6.0
Record==3.5
RestrictedPython==5.0
RestrictedPython==5.1
SecretStorage==3.1.2
WSGIProxy2==0.4.6
WebOb==1.8.6
Expand All @@ -23,17 +23,17 @@ ZConfig==3.5.0
ZEO==5.2.2
ZODB==5.6.0
Zope2==4.0
cryptography==2.9.2
cryptography==3.1.1
five.localsitemanager==3.2.2
funcsigs==1.0.2
future==0.18.2
ipaddress==1.0.23
jeepney==0.4.3
mock==4.0.2
pbr==5.4.5
pbr==5.5.0
persistent==4.6.4
pytz==2020.1
roman==3.2
roman==3.3
shutilwhich==1.1.0
six==1.15.0
transaction==3.0.0
Expand All @@ -59,15 +59,15 @@ zope.datetime==4.2.0
zope.deferredimport==4.3.1
zope.deprecation==4.4.0
zope.dottedname==4.3
zope.event==4.4
zope.exceptions==4.3
zope.event==4.5.0
zope.exceptions==4.4
zope.filerepresentation==5.0.0
zope.formlib==4.7.1
zope.globalrequest==1.5
zope.hookable==5.0.1
zope.i18n==4.7.0
zope.i18nmessageid==5.0.1
zope.interface==5.1.0
zope.interface==5.1.2
zope.lifecycleevent==4.3.0
zope.location==4.2
zope.pagetemplate==4.5.0
Expand All @@ -80,7 +80,7 @@ zope.schema==6.0.0
zope.security==5.1.1
zope.sendmail==5.1
zope.sequencesort==4.1.2
zope.site==4.3.0
zope.site==4.4.0
zope.size==4.3
zope.structuredtext==4.3
zope.tal==4.4
Expand Down
28 changes: 14 additions & 14 deletions docs/INSTALL.rst
Expand Up @@ -15,7 +15,7 @@ available:

- A supported version of Python, including the development support if
installed from system-level packages. Supported versions include
**3.6** up to **3.8**.
**3.6** up to **3.9**.

- Zope needs the Python ``zlib`` module to be importable. If you are
building your own Python from source, please be sure that you have the
Expand Down Expand Up @@ -55,19 +55,19 @@ steps:

- Run the buildout

The following examples are from Linux and use Zope version 4.3. Just replace
The following examples are from Linux and use Zope version 5.0. Just replace
that version number with your desired version.

Built-in standard buildout configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: console
$ wget https://pypi.org/packages/source/Z/Zope/Zope-4.3.tar.gz
$ tar xfvz Zope-4.3.tar.gz
$ cd Zope-4.3
$ wget https://pypi.org/packages/source/Z/Zope/Zope-5.0.tar.gz
$ tar xfvz Zope-5.0.tar.gz
$ cd Zope-5.0
$ python3.7 -m venv .
$ bin/pip install -U pip zc.buildout
$ bin/pip install -U pip wheel zc.buildout
$ bin/buildout
Expand All @@ -84,7 +84,7 @@ to download Zope first:
$ python3.7 -m venv zope
$ cd zope
<create buildout.cfg in this folder>
$ bin/pip install -U pip zc.buildout
$ bin/pip install -U pip wheel zc.buildout
$ bin/buildout
Expand All @@ -96,7 +96,7 @@ Here's a minimum ``buildout.cfg`` configuration example:
[buildout]
extends =
https://zopefoundation.github.io/Zope/releases/4.3/versions-prod.cfg
https://zopefoundation.github.io/Zope/releases/5.0/versions-prod.cfg
parts =
zopescripts
Expand All @@ -119,7 +119,7 @@ options, please see the
[buildout]
extends =
https://zopefoundation.github.io/Zope/releases/4.3/versions-prod.cfg
https://zopefoundation.github.io/Zope/releases/5.0/versions-prod.cfg
parts =
zopeinstance
Expand Down Expand Up @@ -156,16 +156,16 @@ steps:

- Install Zope and its dependencies

Example steps on Linux. Replace the version number "4.3" with the latest
Example steps on Linux. Replace the version number "5.0" with the latest
version you find on https://zopefoundation.github.io/Zope/:

.. code-block:: console
$ python3.7 -m venv zope
$ cd zope
$ bin/pip install -U pip
$ bin/pip install Zope[wsgi]==4.3 \
-c https://zopefoundation.github.io/Zope/releases/4.3/constraints.txt
$ bin/pip install -U pip wheel
$ bin/pip install Zope[wsgi]==5.0 \
-c https://zopefoundation.github.io/Zope/releases/5.0/constraints.txt
You can also install Zope using a single requirements file. **Note that this
installation method might install packages that are not actually needed** (i. e.
Expand All @@ -174,7 +174,7 @@ more than are listed in the ``install_requires`` section of ``setup.py``):
.. code-block:: console
$ bin/pip install \
-r https://zopefoundation.github.io/Zope/releases/4.3/requirements-full.txt
-r https://zopefoundation.github.io/Zope/releases/5.0/requirements-full.txt
Building the documentation with ``Sphinx``
Expand Down
7 changes: 6 additions & 1 deletion docs/maintenance.rst
Expand Up @@ -51,7 +51,7 @@ Steps for creating a new Zope release

- Run all tests::

$ bin/tox
$ bin/tox --pall

- Upload the tagged release to PyPI::

Expand Down Expand Up @@ -109,6 +109,11 @@ Steps for creating a new Zope release
The script is called two times so the rendered version updates can be
easily assigned to the correct file.

- Run the tests: ``bin/tox -pall``
- Build the documentation: ``bin/make-docs``
- Fix problems.
- Commit and push the changes.

- Announce the release to the world via zope-announce@zope.org and https://community.plone.org/c/announcements.


Expand Down
1 change: 1 addition & 0 deletions docs/migrations/index.rst
Expand Up @@ -8,3 +8,4 @@ Zope.
:maxdepth: 2

zope4/index
zope5
16 changes: 16 additions & 0 deletions docs/migrations/zope5.rst
@@ -0,0 +1,16 @@
Migration from Zope 4 to Zope 5.0
=================================

Prerequisites
-------------

* Update your project to run on the latest version of Zope 4.
* Update your project to run on Python 3.6+.
* Make sure no deprecation warnings are emitted when running your tests and
when running the Zope instance

Migration
---------

* Switch to use Zope 5.0 by using its dependencies for your project.
* No additional steps should be necessary if the prerequisites are fulfilled.
9 changes: 7 additions & 2 deletions docs/news.rst
Expand Up @@ -18,9 +18,14 @@ about all minor new features and bugs being solved in the latest release.
What's new in Zope 5
--------------------

Added support for Python 3.9
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Python 3.9 is now fully supported by Zope 5.

Dropped support for Python 2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zope 5 supports Python 3 only, versions 3.6 up through 3.8. All support code
Zope 5 supports Python 3 only, versions 3.6 up through 3.9. All support code
and special casing for Python 2, including the use of the ``six`` package, have
been removed.

Expand Down Expand Up @@ -70,7 +75,7 @@ setup. Functional testing (testbrowser) support also uses the new
WSGI publisher.

The ZServer based publisher got moved into its own optional project.
So if you rely on ZServer features, like Webdav, FTP, zdaemon or zopectl
So if you rely on ZServer features, like FTP, zdaemon or zopectl
support, please make sure to install ZServer and use its ``mkzopeinstance``
script to create a Zope instance.

Expand Down
2 changes: 1 addition & 1 deletion docs/operation.rst
Expand Up @@ -593,7 +593,7 @@ werkzeug
++++++++
`werkzeug <https://palletsprojects.com/p/werkzeug/>`_ is a WSGI library that
contains not just a WSGI server, but also a powerful debugger. It can
easily integrate wth Zope using a shim package called `dataflake.wsgi.werkzeug
easily integrate with Zope using a shim package called `dataflake.wsgi.werkzeug
<https://dataflakewsgiwerkzeug.readthedocs.io/>`_. See the `Using this package`
section for how to integrate `werkzeug` using Zope's own ``runwsgi`` script and
how to create a suitable WSGI configuration.
Expand Down

0 comments on commit f0cd0a6

Please sign in to comment.