peps icon indicating copy to clipboard operation
peps copied to clipboard

Infra: Move release dates from RSTs to JSON

Open hugovk opened this issue 10 months ago • 0 comments

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:

  1. feature release (3.14) -- this PR
  2. bugfix releases (3.12-3.13)
  3. security release (3.9-3.11)
  4. 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

hugovk avatar Mar 20 '25 20:03 hugovk