Skip to content

Commit 1b13e95

Browse files
AA-Turnerambvhugovk
authored
Add python-releases.toml (#4331)
Co-authored-by: Łukasz Langa <lukasz@langa.pl> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
1 parent 84d1499 commit 1b13e95

File tree

19 files changed

+4060
-61
lines changed

19 files changed

+4060
-61
lines changed

.pre-commit-config.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@ repos:
6565
args:
6666
- '--exit-non-zero-on-fix'
6767
files: '^pep_sphinx_extensions/tests/'
68+
- id: ruff-format
69+
name: "Format with Ruff"
70+
args:
71+
- '--check'
72+
files: '^release_management/'
6873

6974
- repo: https://github.com/tox-dev/tox-ini-fmt
7075
rev: 1.4.1
@@ -111,3 +116,12 @@ repos:
111116
language: "python"
112117
files: '^peps/pep-\d{4}\.rst$'
113118
require_serial: true
119+
120+
# Hook to regenerate release schedules
121+
- id: "regen-schedules"
122+
name: "Regenerate release schedules from python-releases.toml"
123+
entry: "python -m release_management update-peps"
124+
language: "python"
125+
files: "^release_management/"
126+
pass_filenames: false
127+
require_serial: true

Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,11 @@ test: venv
108108
spellcheck: _ensure-pre-commit
109109
$(VENVDIR)/bin/python3 -m pre_commit run --all-files --hook-stage manual codespell
110110

111+
## regen-all to regenerate generated source files
112+
.PHONY: regen-all
113+
regen-all:
114+
$(PYTHON) -m release_management update-peps
115+
111116
.PHONY: help
112117
help : Makefile
113118
@echo "Please use \`make <target>' where <target> is one of"

pep_sphinx_extensions/pep_zero_generator/pep_index_generator.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from pep_sphinx_extensions.pep_zero_generator import subindices
2727
from pep_sphinx_extensions.pep_zero_generator import writer
2828
from pep_sphinx_extensions.pep_zero_generator.constants import SUBINDICES_BY_TOPIC
29+
from release_management.serialize import create_release_cycle, create_release_json
2930

3031
if TYPE_CHECKING:
3132
from sphinx.application import Sphinx
@@ -72,3 +73,9 @@ def create_pep_zero(app: Sphinx, env: BuildEnvironment, docnames: list[str]) ->
7273
subindices.generate_subindices(SUBINDICES_BY_TOPIC, peps, docnames, env)
7374

7475
write_peps_json(peps, Path(app.outdir))
76+
77+
release_cycle = create_release_cycle()
78+
app.outdir.joinpath('api/release-cycle.json').write_text(release_cycle, encoding="utf-8")
79+
80+
release_json = create_release_json()
81+
app.outdir.joinpath('api/python-releases.json').write_text(release_json, encoding="utf-8")

peps/pep-0569.rst

Lines changed: 48 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -51,58 +51,76 @@ Release Schedule
5151
3.8.0 schedule
5252
--------------
5353

54+
.. release schedule: feature
55+
56+
Actual:
57+
5458
- 3.8 development begins: Monday, 2018-01-29
5559
- 3.8.0 alpha 1: Sunday, 2019-02-03
5660
- 3.8.0 alpha 2: Monday, 2019-02-25
5761
- 3.8.0 alpha 3: Monday, 2019-03-25
5862
- 3.8.0 alpha 4: Monday, 2019-05-06
5963
- 3.8.0 beta 1: Tuesday, 2019-06-04
6064
(No new features beyond this point.)
61-
6265
- 3.8.0 beta 2: Thursday, 2019-07-04
6366
- 3.8.0 beta 3: Monday, 2019-07-29
6467
- 3.8.0 beta 4: Friday, 2019-08-30
6568
- 3.8.0 candidate 1: Tuesday, 2019-10-01
6669
- 3.8.0 final: Monday, 2019-10-14
6770

71+
.. release schedule: ends
72+
6873
Bugfix releases
6974
---------------
7075

71-
- 3.8.1rc1: Tuesday, 2019-12-10
72-
- 3.8.1: Wednesday, 2019-12-18
73-
- 3.8.2rc1: Monday, 2020-02-10
74-
- 3.8.2rc2: Monday, 2020-02-17
75-
- 3.8.2: Monday, 2020-02-24
76-
- 3.8.3rc1: Wednesday, 2020-04-29
77-
- 3.8.3: Wednesday, 2020-05-13
78-
- 3.8.4rc1: Tuesday, 2020-06-30
79-
- 3.8.4: Monday, 2020-07-13
80-
- 3.8.5: Monday, 2020-07-20 (security hotfix)
81-
- 3.8.6rc1: Tuesday, 2020-09-08
82-
- 3.8.6: Thursday, 2020-09-24
83-
- 3.8.7rc1: Monday, 2020-12-07
84-
- 3.8.7: Monday, 2020-12-21
85-
- 3.8.8rc1: Tuesday, 2021-02-16
86-
- 3.8.8: Friday, 2021-02-19
87-
- 3.8.9: Friday, 2021-04-02 (security hotfix)
88-
- 3.8.10: Monday, 2021-05-03 (final regular bugfix release with binary
89-
installers)
76+
.. release schedule: bugfix
77+
78+
Actual:
79+
80+
- 3.8.1 candidate 1: Tuesday, 2019-12-10
81+
- 3.8.1 final: Wednesday, 2019-12-18
82+
- 3.8.2 candidate 1: Monday, 2020-02-10
83+
- 3.8.2 candidate 2: Monday, 2020-02-17
84+
- 3.8.2 final: Monday, 2020-02-24
85+
- 3.8.3 candidate 1: Wednesday, 2020-04-29
86+
- 3.8.3 final: Wednesday, 2020-05-13
87+
- 3.8.4 candidate 1: Tuesday, 2020-06-30
88+
- 3.8.4 final: Monday, 2020-07-13
89+
- 3.8.5 final: Monday, 2020-07-20
90+
(security hotfix)
91+
- 3.8.6 candidate 1: Tuesday, 2020-09-08
92+
- 3.8.6 final: Thursday, 2020-09-24
93+
- 3.8.7 candidate 1: Monday, 2020-12-07
94+
- 3.8.7 final: Monday, 2020-12-21
95+
- 3.8.8 candidate 1: Tuesday, 2021-02-16
96+
- 3.8.8 final: Friday, 2021-02-19
97+
- 3.8.9 final: Friday, 2021-04-02
98+
(security hotfix)
99+
- 3.8.10 final: Monday, 2021-05-03
100+
(Final regular bugfix release with binary installers)
101+
102+
.. release schedule: ends
90103
91104
Source-only security fix releases
92105
---------------------------------
93106

94107
Provided irregularly on an "as-needed" basis until October 7th 2024.
95108

96-
- 3.8.11: Monday, 2021-06-28
97-
- 3.8.12: Monday, 2021-08-30
98-
- 3.8.13: Wednesday, 2022-03-16
99-
- 3.8.14: Tuesday, 2022-09-06
100-
- 3.8.15: Tuesday, 2022-10-11
101-
- 3.8.16: Tuesday, 2022-12-06
102-
- 3.8.17: Tuesday, 2023-06-06
103-
- 3.8.18: Thursday, 2023-08-24
104-
- 3.8.19: Tuesday, 2024-03-19
105-
- 3.8.20: Friday, 2024-09-06 (final security release)
109+
.. release schedule: security
110+
111+
- 3.8.11 final: Monday, 2021-06-28
112+
- 3.8.12 final: Monday, 2021-08-30
113+
- 3.8.13 final: Wednesday, 2022-03-16
114+
- 3.8.14 final: Tuesday, 2022-09-06
115+
- 3.8.15 final: Tuesday, 2022-10-11
116+
- 3.8.16 final: Tuesday, 2022-12-06
117+
- 3.8.17 final: Tuesday, 2023-06-06
118+
- 3.8.18 final: Thursday, 2023-08-24
119+
- 3.8.19 final: Tuesday, 2024-03-19
120+
- 3.8.20 final: Friday, 2024-09-06
121+
(final security release)
122+
123+
.. release schedule: ends
106124
107125
108126
Features for 3.8

peps/pep-0596.rst

Lines changed: 39 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ Note: the dates below use a 17-month development period that results
4040
in a 12-month release cadence between feature versions, as defined by
4141
:pep:`602`.
4242

43+
.. release schedule: feature
44+
4345
Actual:
4446

4547
- 3.9 development begins: Tuesday, 2019-06-04
@@ -59,47 +61,60 @@ Actual:
5961
- 3.9.0 candidate 2: Thursday, 2020-09-17
6062
- 3.9.0 final: Monday, 2020-10-05
6163

64+
.. release schedule: ends
65+
6266
6367
Bugfix releases
6468
---------------
6569

70+
.. release schedule: bugfix
71+
6672
Actual:
6773

6874
- 3.9.1 candidate 1: Tuesday, 2020-11-24
6975
- 3.9.1 final: Monday, 2020-12-07
7076
- 3.9.2 candidate 1: Tuesday, 2021-02-16
7177
- 3.9.2 final: Friday, 2021-02-19
72-
- 3.9.3: Friday, 2021-04-02 (security hotfix; recalled due to bpo-43710)
73-
- 3.9.4: Sunday, 2021-04-04 (ABI compatibility hotfix)
74-
- 3.9.5: Monday, 2021-05-03
75-
- 3.9.6: Monday, 2021-06-28
76-
- 3.9.7: Monday, 2021-08-30
77-
- 3.9.8: Friday, 2021-11-05 (recalled due to bpo-45235)
78-
- 3.9.9: Monday, 2021-11-15
79-
- 3.9.10: Friday, 2022-01-14
80-
- 3.9.11: Wednesday, 2022-03-16
81-
- 3.9.12: Wednesday, 2022-03-23
82-
- 3.9.13: Tuesday, 2022-05-17 (final regular bugfix release with binary
83-
installers)
78+
- 3.9.3 final: Friday, 2021-04-02
79+
(security hotfix; recalled due to bpo-43710)
80+
- 3.9.4 final: Sunday, 2021-04-04
81+
(ABI compatibility hotfix)
82+
- 3.9.5 final: Monday, 2021-05-03
83+
- 3.9.6 final: Monday, 2021-06-28
84+
- 3.9.7 final: Monday, 2021-08-30
85+
- 3.9.8 final: Friday, 2021-11-05
86+
(recalled due to bpo-45235)
87+
- 3.9.9 final: Monday, 2021-11-15
88+
- 3.9.10 final: Friday, 2022-01-14
89+
- 3.9.11 final: Wednesday, 2022-03-16
90+
- 3.9.12 final: Wednesday, 2022-03-23
91+
- 3.9.13 final: Tuesday, 2022-05-17
92+
(Final regular bugfix release with binary installers)
93+
94+
.. release schedule: ends
8495
8596
8697
Source-only security fix releases
8798
---------------------------------
8899

89100
Provided irregularly on an "as-needed" basis until October 2025.
90101

91-
- 3.9.14: Tuesday, 2022-09-06
92-
- 3.9.15: Tuesday, 2022-10-11
93-
- 3.9.16: Tuesday, 2022-12-06
94-
- 3.9.17: Tuesday, 2023-06-06
95-
- 3.9.18: Thursday, 2023-08-24
96-
- 3.9.19: Tuesday, 2024-03-19
97-
- 3.9.20: Friday, 2024-09-06
98-
- 3.9.21: Tuesday, 2024-12-03
99-
- 3.9.22: Tuesday, 2025-04-08
100-
- 3.9.23: Tuesday, 2025-06-03
101-
- 3.9.24: Thursday, 2025-10-09
102-
- 3.9.25: Friday, 2025-10-31
102+
.. release schedule: security
103+
104+
- 3.9.14 final: Tuesday, 2022-09-06
105+
- 3.9.15 final: Tuesday, 2022-10-11
106+
- 3.9.16 final: Tuesday, 2022-12-06
107+
- 3.9.17 final: Tuesday, 2023-06-06
108+
- 3.9.18 final: Thursday, 2023-08-24
109+
- 3.9.19 final: Tuesday, 2024-03-19
110+
- 3.9.20 final: Friday, 2024-09-06
111+
- 3.9.21 final: Tuesday, 2024-12-03
112+
- 3.9.22 final: Tuesday, 2025-04-08
113+
- 3.9.23 final: Tuesday, 2025-06-03
114+
- 3.9.24 final: Thursday, 2025-10-09
115+
- 3.9.25 final: Friday, 2025-10-31
116+
117+
.. release schedule: ends
103118
104119
105120
3.9 Lifespan

peps/pep-0619.rst

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ Note: the dates below use a 17-month development period that results
3737
in a 12-month release cadence between feature versions, as defined by
3838
:pep:`602`.
3939

40+
.. release schedule: feature
41+
4042
Actual:
4143

4244
- 3.10 development begins: Monday, 2020-05-18
@@ -56,9 +58,13 @@ Actual:
5658
- 3.10.0 candidate 2: Tuesday, 2021-09-07
5759
- 3.10.0 final: Monday, 2021-10-04
5860

61+
.. release schedule: ends
62+
5963
Bugfix releases
6064
---------------
6165

66+
.. release schedule: bugfix
67+
6268
Actual:
6369

6470
- 3.10.1: Monday, 2021-12-06
@@ -71,14 +77,18 @@ Actual:
7177
- 3.10.8: Tuesday, 2022-10-11
7278
- 3.10.9: Tuesday, 2022-12-06
7379
- 3.10.10: Wednesday, 2023-02-08
74-
- 3.10.11: Wednesday, 2023-04-05 (final regular bugfix release with binary
75-
installers)
80+
- 3.10.11: Wednesday, 2023-04-05
81+
(Final regular bugfix release with binary installers)
82+
83+
.. release schedule: ends
7684
7785
Source-only security fix releases
7886
---------------------------------
7987

8088
Provided irregularly on an "as-needed" basis until October 2026.
8189

90+
.. release schedule: security
91+
8292
- 3.10.12: Tuesday, 2023-06-06
8393
- 3.10.13: Thursday, 2023-08-24
8494
- 3.10.14: Tuesday, 2024-03-19
@@ -88,6 +98,8 @@ Provided irregularly on an "as-needed" basis until October 2026.
8898
- 3.10.18: Tuesday, 2025-06-03
8999
- 3.10.19: Thursday, 2025-10-09
90100

101+
.. release schedule: ends
102+
91103
3.10 Lifespan
92104
-------------
93105

peps/pep-0664.rst

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ Note: the dates below use a 17-month development period that results
3838
in a 12-month release cadence between feature versions, as defined by
3939
:pep:`602`.
4040

41+
.. release schedule: feature
42+
4143
Actual:
4244

4345
- 3.11 development begins: Monday, 2021-05-03
@@ -56,11 +58,15 @@ Actual:
5658
- 3.11.0 beta 5: Tuesday, 2022-07-26
5759
- 3.11.0 candidate 1: Monday, 2022-08-08
5860
- 3.11.0 candidate 2: Monday, 2022-09-12
59-
- 3.11.0 final: Monday, 2022-10-24
61+
- 3.11.0 final: Monday, 2022-10-24
62+
63+
.. release schedule: ends
6064
6165
Bugfix releases
6266
---------------
6367

68+
.. release schedule: bugfix
69+
6470
Actual:
6571

6672
- 3.11.1: Tuesday, 2022-12-06
@@ -71,20 +77,26 @@ Actual:
7177
- 3.11.6: Monday, 2023-10-02
7278
- 3.11.7: Monday, 2023-12-04
7379
- 3.11.8: Tuesday, 2024-02-06
74-
- 3.11.9: Tuesday, 2024-04-02 (final regular bugfix release with binary
75-
installers)
80+
- 3.11.9: Tuesday, 2024-04-02
81+
(Final regular bugfix release with binary installers)
82+
83+
.. release schedule: ends
7684
7785
Source-only security fix releases
7886
---------------------------------
7987

8088
Provided irregularly on an "as-needed" basis until October 2027.
8189

90+
.. release schedule: security
91+
8292
- 3.11.10: Saturday, 2024-09-07
8393
- 3.11.11: Tuesday, 2024-12-03
8494
- 3.11.12: Tuesday, 2025-04-08
8595
- 3.11.13: Tuesday, 2025-06-03
8696
- 3.11.14: Thursday, 2025-10-09
8797

98+
.. release schedule: ends
99+
88100
3.11 Lifespan
89101
-------------
90102

0 commit comments

Comments
 (0)