Skip to content

Commit 4eb2f5c

Browse files
ezio-melottiwillingc
authored andcommitted
Reorganize information about the branches of the repo. (#411)
1 parent 441f54d commit 4eb2f5c

File tree

4 files changed

+52
-95
lines changed

4 files changed

+52
-95
lines changed

committing.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ repositories means you have to be more careful with your workflow:
228228
* For a small change, you can make a quick edit through the GitHub web UI.
229229
If you choose to use the web UI, be aware that GitHub will
230230
create a new branch in the **main** CPython repo (not your fork). Please
231-
delete this newly created branch after it has been merged into the
231+
delete this newly created branch after it has been merged into the
232232
``master`` branch or any of the maintenance branches. To keep the CPython
233233
repo tidy, please try to limit the existence of the new branch to, at most,
234234
a few days.
@@ -246,7 +246,7 @@ clone gets into a state you aren't happy with.
246246
Active branches
247247
'''''''''''''''
248248

249-
If you do ``git branch`` you will see a :ref:`list of branches <listbranch>`.
249+
If you do ``git branch`` you will see a :ref:`list of branches <branchstatus>`.
250250
``master`` is the in-development branch, and is the only branch that receives
251251
new features. The other branches only receive bug fixes or security fixes.
252252

devcycle.rst

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@ We also publish non-final versions which get an additional qualifier:
2626
:ref:`alpha`, :ref:`beta`, :ref:`release candidate <rc>`. These versions
2727
are aimed at testing by advanced users, not production use.
2828

29+
Each release of Python is tagged in the source repo with a tag of the form
30+
``vX.Y.ZTN``, where ``X`` is the major version, ``Y`` is the
31+
minor version, ``Z`` is the micro version, ``T`` is the release level
32+
(``a`` for alpha releases, ``b`` for beta, ``rc`` release candidate,
33+
and *null* for final releases), and ``N`` is the release serial number.
34+
Some examples of release tags: ``v3.7.0a1``, ``v3.6.3``, ``v2.7.14rc1``.
2935

3036
Branches
3137
''''''''
@@ -100,33 +106,18 @@ You should also consider fixing hard-failing tests in open security branches
100106
since it is important to be able to run the tests successfully before releasing.
101107

102108
Commits to security branches are to be coordinated with the release manager
103-
for the corresponding feature version, as listed below in the Summary_.
109+
for the corresponding feature version, as listed in the :ref:`branchstatus`.
104110
Any release made from a security branch is source-only and done only when actual
105111
security patches have been applied to the branch.
106112

107113

108-
.. _listbranch:
109-
110-
Summary
111-
-------
112-
113-
There are 6 open branches right now in the Git repository:
114-
115-
- the ``master`` branch accepts features and bugs fixes for the future
116-
3.8.0 feature release (RM: Łukasz Langa)
117-
- the ``3.7`` branch accepts bug and doc fixes for future 3.7.x maintenance
118-
releases (RM: Ned Deily)
119-
- the ``3.6`` branch accepts bug and doc fixes for future 3.6.x maintenance
120-
releases (RM: Ned Deily)
121-
- the ``3.5`` branch accepts security fixes for future 3.5.x security releases
122-
(RM: Larry Hastings)
123-
- the ``3.4`` branch accepts security fixes for future 3.4.x security releases
124-
(RM: Larry Hastings)
125-
- the ``2.7`` branch accepts bug and doc fixes for future 2.7.x maintenance
126-
releases (RM: Benjamin Peterson)
127-
128-
See also the :ref:`Status of Python branches <branchstatus>`.
114+
End-of-life branches
115+
--------------------
129116

117+
The code base for a release cycle which has reached end-of-life status
118+
is frozen and no longer has a branch in the repo. The final state of
119+
the end-of-lifed branch is recorded as a tag with the same name as the
120+
former branch, e.g. ``3.3`` or ``2.6``.
130121

131122
.. _stages:
132123

docquality.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ and validates that your new markup is correct.
3232

3333
You can view the documentation built from :ref:`in-development <indevbranch>`
3434
and :ref:`maintenance <maintbranch>` branches at https://docs.python.org/dev/.
35-
The in-development and most recent 3.x (as well as 2.x) maintenance
36-
:ref:`branches <listbranch>` are rebuilt once per day.
35+
The in-development and most recent 3.x (as well as 2.x) maintenance
36+
branches are rebuilt once per day.
3737

3838
If you would like to be more involved with documentation, consider subscribing
3939
to the `docs@python.org <https://mail.python.org/mailman/listinfo/docs>`_
40-
mailing list. The `issue tracker`_ sends new documentation issues to this
40+
mailing list. The `issue tracker`_ sends new documentation issues to this
4141
mailing list, and, less frequently, the list receives some directly mailed bug
42-
reports. The `docs-sig@python.org <https://mail.python.org/mailman/listinfo/doc-sig>`_
42+
reports. The `docs-sig@python.org <https://mail.python.org/mailman/listinfo/doc-sig>`_
4343
mailing list discusses the documentation toolchain, projects, and standards.
4444

4545

@@ -52,13 +52,13 @@ typos to unclear documentation and items lacking documentation.
5252

5353
If you see a documentation issue that you would like to tackle, you can:
5454

55-
* check to see if there is a paperclip or `octocat`_ icon at the end of the
55+
* check to see if there is a paperclip or `octocat`_ icon at the end of the
5656
issue's title column. If there is, then someone has already created a pull
5757
request for the issue.
58-
* leave a comment on the issue saying you are going to try and create a pull
59-
request and roughly how long you think you will take to do so (this allows
58+
* leave a comment on the issue saying you are going to try and create a pull
59+
request and roughly how long you think you will take to do so (this allows
6060
others to take on the issue if you happen to forget or lose interest).
61-
* submit a :doc:`pull request <pullrequest>` for the issue.
61+
* submit a :doc:`pull request <pullrequest>` for the issue.
6262

6363
By following the steps in the :ref:`Quick Guide to Pull Requests <pullrequest-quickguide>`,
6464
you will learn the workflow for documentation pull requests.

index.rst

Lines changed: 29 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Python Developer's Guide
55
.. highlight:: bash
66

77
This guide is a comprehensive resource for :ref:`contributing <contributing>`
8-
to Python_ -- for both new and experienced contributors. It is
8+
to Python_ -- for both new and experienced contributors. It is
99
:ref:`maintained <helping-with-the-developers-guide>` by the same
1010
community that maintains Python. We welcome your contributions to Python!
1111

@@ -89,33 +89,30 @@ contributing to Python:
8989
Status of Python branches
9090
-------------------------
9191

92-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
93-
| Branch | Schedule | Status | First release | End-of-life | Comment |
94-
+==================+==============+=============+================+================+============================================================================+
95-
| master | :pep:`569` | features | *2019-10-20* | *2024-10* | The master branch is currently the future Python 3.8. |
96-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
97-
| 3.7 | :pep:`537` | bugfix | 2018-06-27 | *2023-06-27* | `Most recent binary release: Python 3.7.0 |
98-
| | | | | | <https://www.python.org/downloads/release/python-370/>`_ |
99-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
100-
| 3.6 | :pep:`494` | bugfix | 2016-12-23 | *2021-12-23* | `Most recent binary release: Python 3.6.6 |
101-
| | | | | | <https://www.python.org/downloads/release/python-366/>`_ |
102-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
103-
| 2.7 | :pep:`373` | bugfix | 2010-07-03 | *2020-01-01* | The support has been extended to 2020-01-01. |
104-
| | | | | | `Most recent binary release: Python 2.7.15 |
105-
| | | | | | <https://www.python.org/downloads/release/python-2715/>`_ |
106-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
107-
| 3.5 | :pep:`478` | security | 2015-09-13 | *2020-09-13* | `Most recent security release: Python 3.5.5 |
108-
| | | | | | <https://www.python.org/downloads/release/python-355/>`_ |
109-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
110-
| 3.4 | :pep:`429` | security | 2014-03-16 | *2019-03-16* | `Most recent security release: Python 3.4.8 |
111-
| | | | | | <https://www.python.org/downloads/release/python-348/>`_ |
112-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
92+
+------------------+--------------+-------------+----------------+----------------+-------------------+
93+
| Branch | Schedule | Status | First release | End-of-life | Release manager |
94+
+==================+==============+=============+================+================+===================+
95+
| master | :pep:`569` | features | *2019-10-20* | *2024-10* | Łukasz Langa |
96+
+------------------+--------------+-------------+----------------+----------------+-------------------+
97+
| 3.7 | :pep:`537` | bugfix | 2018-06-27 | *2023-06-27* | Ned Deily |
98+
+------------------+--------------+-------------+----------------+----------------+-------------------+
99+
| 3.6 | :pep:`494` | bugfix | 2016-12-23 | *2021-12-23* | Ned Deily |
100+
+------------------+--------------+-------------+----------------+----------------+-------------------+
101+
| 2.7 | :pep:`373` | bugfix | 2010-07-03 | *2020-01-01* | Benjamin Peterson |
102+
+------------------+--------------+-------------+----------------+----------------+-------------------+
103+
| 3.5 | :pep:`478` | security | 2015-09-13 | *2020-09-13* | Larry Hastings |
104+
+------------------+--------------+-------------+----------------+----------------+-------------------+
105+
| 3.4 | :pep:`429` | security | 2014-03-16 | *2019-03-16* | Larry Hastings |
106+
+------------------+--------------+-------------+----------------+----------------+-------------------+
107+
108+
The master branch is currently the future Python 3.8, and is the only
109+
branch that accepts new features. The latest release for each Python
110+
version can be found on the `download page <https://www.python.org/downloads/>`_.
113111

114112
Status:
115113

116-
:features: new features are only added to the master branch, this branch
117-
accepts any kind of change.
118-
:prerelease: feature fixes, bugfixes and security fixes are accepted for the
114+
:features: new features, bugfixes, and security fixes are accepted.
115+
:prerelease: feature fixes, bugfixes, and security fixes are accepted for the
119116
upcoming feature release.
120117
:bugfix: bugfixes and security fixes are accepted, new binaries are still
121118
released.
@@ -125,43 +122,12 @@ Status:
125122

126123
Dates in *italic* are scheduled and can be adjusted.
127124

128-
By default, the end-of-life is scheduled 5 years after the first release. It
129-
can be adjusted by the release manager of each branch. Versions older than 2.7
130-
have reached end-of-life.
131-
132-
See also :ref:`Security branches <secbranch>`.
133-
134-
Each release of Python is tagged in the source repo with a tag of the form
135-
``vX.Y.ZTN``, where ``X`` is the major version, ``Y`` is the
136-
minor version, ``Z`` is the micro version, ``T`` is the release level
137-
(``a`` for alpha releases, ``b`` for beta, ``rc`` release candidate,
138-
and *null* for final releases), and ``N`` is the release serial number.
139-
Some examples of release tags: ``v3.7.0a1``, ``v3.6.3``, ``v2.7.14rc1``.
140-
141-
The code base for a release cycle which has reached end-of-life status
142-
is frozen and no longer has a branch in the repo. The final state of
143-
the end-of-lifed branch is recorded as a tag with the same name as the
144-
former branch, e.g. ``3.3`` or ``2.6``. For reference, here are the
145-
most recently end-of-lifed release cycles:
146-
147-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
148-
| Tag | Schedule | Status | First release | End-of-life | Comment |
149-
+==================+==============+=============+================+================+============================================================================+
150-
| 3.3 | :pep:`398` | end-of-life | 2012-09-29 | 2017-09-29 | `Final release: Python 3.3.7 |
151-
| | | | | | <https://www.python.org/downloads/release/python-337/>`_ |
152-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
153-
| 3.2 | :pep:`392` | end-of-life | 2011-02-20 | 2016-02-20 | `Final release: Python 3.2.6 |
154-
| | | | | | <https://www.python.org/downloads/release/python-326/>`_ |
155-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
156-
| 3.1 | :pep:`375` | end-of-life | 2009-06-27 | 2012-04-09 | `Final release: Python 3.1.5 |
157-
| | | | | | <https://www.python.org/downloads/release/python-315/>`_ |
158-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
159-
| 3.0 | :pep:`361` | end-of-life | 2008-12-03 | 2009-01-13 | `Final release: Python 3.0.1 |
160-
| | | | | | <https://www.python.org/download/releases/3.0.1/>`_ |
161-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
162-
| 2.6 | :pep:`361` | end-of-life | 2008-10-01 | 2013-10-29 | `Final release: Python 2.6.9 |
163-
| | | | | | <https://www.python.org/download/releases/2.6.9/>`_ |
164-
+------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
125+
By default, the end-of-life is scheduled 5 years after the first release,
126+
but can be adjusted by the release manager of each branch. The support for
127+
Python 2.7 has currently been extended to 2020-01-01. Versions older than
128+
2.7 have reached end-of-life.
129+
130+
See also the :ref:`devcycle` page for more information about branches.
165131

166132
.. _contributing:
167133

@@ -210,7 +176,7 @@ Advanced tasks and topics for once you are comfortable:
210176
See :ref:`how to review a Pull Request <how-to-review-a-pull-request>`.
211177
* :doc:`fixingissues`
212178

213-
It is **recommended** that the above documents be read as needed. New
179+
It is **recommended** that the above documents be read as needed. New
214180
contributors will build understanding of the CPython workflow by reading the
215181
sections mentioned in this table. You
216182
can stop where you feel comfortable and begin contributing immediately without

0 commit comments

Comments
 (0)