peps
peps copied to clipboard
Infra: Move release dates from RSTs to JSON
First step to moving release dates from the reStructedText files into a JSON file.
This will mean we have the release data in a single canonical location for re-use elsewhere.
For example:
- Can fetch the end-of-bugfix date for https://devguide.python.org/versions/ (currently hardcoded), as well as first release and EOL, and potentially replace some or all of https://github.com/python/devguide/blob/main/include/release-cycle.json
- Can show patch release column at https://www.python.org/downloads/ (https://github.com/python/pythondotorg/issues/2701)
- Third-parties can use this data
- For example, instead of scraping the release PEP RST (https://github.com/fedora-python/python-release-schedule-ical)
- We can also generate an authoritative ical or other formats
- Probably useful for https://endoflife.date/python too
I suggest we do:
- feature release (3.14) -- this PR
- bugfix releases (3.12-3.13)
- security release (3.9-3.11)
- maybe some historical releases? But at least 3.7 and earlier have a different format, so maybe only 3.8.
In this first PR, I've only moved the dates out of 3.14.
No end-of-bugfix or end-of-life or listed yet, let's check the JSON structure looks right, and if this is the right way to do it in Sphinx.
We'll also need a way to add notes, such as the hotfixes and recalls in 3.9 and 3.8 -- thoughts on that?
📚 Documentation preview 📚: https://pep-previews--4314.org.readthedocs.build/pep-0745/#release-schedule