Skip to content

Commit b573c82

Browse files
authored
Merge branch 'main' into imaginary
2 parents 5f35d52 + daa024d commit b573c82

39 files changed

+5005
-108
lines changed

.github/CODEOWNERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -683,11 +683,12 @@ peps/pep-0804.rst @pradyunsg
683683
# ...
684684
peps/pep-0806.rst @JelleZijlstra
685685
peps/pep-0807.rst @dstufft
686-
# ...
686+
peps/pep-0808.rst @FFY00
687687
peps/pep-0809.rst @zooba
688688
peps/pep-0810.rst @pablogsal @DinoV @Yhg1s
689689
peps/pep-0811.rst @sethmlarson @gpshead
690690
peps/pep-0812.rst @serhiy-storchaka
691+
peps/pep-0814.rst @vstinner @corona10
691692
# ...
692693
peps/pep-2026.rst @hugovk
693694
# ...

.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 & 1 deletion
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
@@ -55,7 +56,6 @@ def create_pep_json(peps: list[parser.PEP]) -> str:
5556
def write_peps_json(peps: list[parser.PEP], path: Path) -> None:
5657
# Create peps.json
5758
json_peps = create_pep_json(peps)
58-
Path(path, "peps.json").write_text(json_peps, encoding="utf-8")
5959
os.makedirs(os.path.join(path, "api"), exist_ok=True)
6060
Path(path, "api", "peps.json").write_text(json_peps, encoding="utf-8")
6161

@@ -73,3 +73,9 @@ def create_pep_zero(app: Sphinx, env: BuildEnvironment, docnames: list[str]) ->
7373
subindices.generate_subindices(SUBINDICES_BY_TOPIC, peps, docnames, env)
7474

7575
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-0013.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,8 @@ A council election consists of two phases:
107107
* Phase 2: Each core team member can assign zero to five stars to each
108108
candidate. Voting is performed anonymously. The outcome of the vote
109109
is determined using the `STAR voting system <https://www.starvoting.org/>`__,
110-
modified to use the `Multi-winner Bloc STAR <https://www.starvoting.org/multi_winner>`__)
111-
approach. If a tie occurs, it may
110+
modified to use the `Multi-winner Bloc STAR <https://www.starvoting.org/multi_winner>`__
111+
approach. If a tie that is not automatically resolved by the election software occurs, it may
112112
be resolved by mutual agreement among the candidates, or else the
113113
winner will be chosen at random.
114114

@@ -358,6 +358,9 @@ History of amendments
358358
Adopted Multi-winner Bloc STAR voting for council elections.
359359
* `2024-12-10 <https://discuss.python.org/t/72293/4>`__:
360360
Added a one-week deadline for seconding a vote of no confidence.
361+
* `2025-11-12 <https://discuss.python.org/t/104607>`__:
362+
Clarified that the software used for elections may resolve ties
363+
automatically if possible.
361364

362365

363366

peps/pep-0545.rst

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -322,9 +322,11 @@ and http://zanata.org/.
322322
python-docs-translations
323323
''''''''''''''''''''''''
324324

325-
The `python-docs-translations GitHub organization <https://github.com/python-docs-translations>`_
326-
is home to several useful translation tools such as the translations
327-
`dashboard <https://github.com/python-docs-translations/dashboard>`_.
325+
The `python-docs-translations GitHub organization <https://github.com/python-docs-translations>`__
326+
is home to several useful translation tools including
327+
`translations.python.org <https://translations.python.org>`__
328+
(`python-docs-translations/dashboard
329+
<https://github.com/python-docs-translations/dashboard>`__).
328330

329331

330332
Documentation Contribution Agreement

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-0570.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PEP: 570
22
Title: Python Positional-Only Parameters
33
Author: Larry Hastings <[email protected]>,
4-
Pablo Galindo <[email protected]>,
4+
Pablo Galindo Salgado <[email protected]>,
55
Mario Corchero <[email protected]>,
66
Eric N. Vander Weele <[email protected]>
77
BDFL-Delegate: Guido van Rossum <[email protected]>

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: Thursday, 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-0617.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PEP: 617
22
Title: New PEG parser for CPython
33
Author: Guido van Rossum <[email protected]>,
4-
Pablo Galindo <[email protected]>,
4+
Pablo Galindo Salgado <[email protected]>,
55
Lysandros Nikolaou <[email protected]>
66
Discussions-To: [email protected]
77
Status: Final

0 commit comments

Comments
 (0)