Maintenance information
=======================

.. note::

   This is internal documentation for Zope developers having
   to create official Zope releases.

Release process
---------------

Maintainers
+++++++++++

The following persons have access to the ``Zope2`` package on PyPI
(in order to release new versions):

- Hanno Schlichting
- Tres Seaver

Steps for creating a new Zope release
+++++++++++++++++++++++++++++++++++++

- Check the versions.cfg file for outdated or updated
  packages and update version information where necessary.

- Update version information:

  - setup.py (remove dev postfix)
  - versions-prod.cfg (pin Zope2)
  - requirements.txt (pin Zope2)

- The requirements.txt is autogenerated on each bin/buildout run.
  So instead of manually adjusting it, you can update versions-prod.cfg
  and then run bin/buildout once.

- Update docs/CHANGES.rst with a release date.

- Run all tests::

   bin/alltests

- Tag the release.

- Upload the tagged release to PyPI::

    python2.7 setup.py egg_info -RDb '' sdist --formats=zip register upload

- Update version information:

  - setup.py (bump version number, add dev postfix)
  - versions-prod.cfg (remove Zope2 pin)
  - requirements.txt (replace Zope2 pin by git reference, either manually
    or run bin/buildout).

- Check the visible releases on readthedocs.org at (should default to
  showing the active branches)::

    https://readthedocs.org/dashboard/zope/versions/
