Release Calendar
================

Overview
--------

Mesa provides feature/development and stable releases.

The table below lists the date and release manager that is expected to
do the specific release.

Regular updates will ensure that the schedule for the current and the
next two feature releases are shown in the table.

In order to keep the whole releasing team up to date with the tools
used, best practices and other details, the member in charge of the next
feature release will be in constant rotation.

The way the release schedule works is explained
:ref:`here <schedule>`.

Take a look :ref:`here <criteria>` if you'd like to
nominate a patch in the next stable release.

.. _calendar:

Calendar
--------

+--------+---------------+------------+-----------------+-----------------------------------------+
| Branch | Expected date | Release    | Release manager | Notes                                   |
+========+===============+============+=================+=========================================+
| 20.1   | 2020-09-02    | 20.1.7     | Eric Engestrom  |                                         |
|        +---------------+------------+-----------------+-----------------------------------------+
|        | 2020-09-16    | 20.1.8     | Eric Engestrom  | Last planned release of the 20.1 series |
+--------+---------------+------------+-----------------+-----------------------------------------+
| 20.2   | 2020-08-19    | 20.2.0-rc3 | Dylan Baker     |                                         |
|        +---------------+------------+-----------------+-----------------------------------------+
|        | 2020-08-26    | 20.2.0-rc4 | Dylan Baker     | or 20.2.0 final                         |
+--------+---------------+------------+-----------------+-----------------------------------------+
