A recent PEP 11 update brought up a question of how we document CPython platform support.
In practice, each branch his its own list of supported platforms – for example, we don’t support 3.10 on e.g. WASI or mobile. But we don’t document this, and PEP 11 only has a single list.
As I understand it, a branch’s list of platforms is “locked in” at the first release candidate. The PEP only hints at that that incidentally, for:
- removing support (“For platforms which no longer meet the requirements of any tier by b1 of a new feature release, an announcement will be made to warn the community of the pending removal of support for the platform (e.g. in the b1 announcement). If the platform is not brought into line for at least one of the tiers by the first release candidate, it will be listed as unsupported”)
- Windows (“A new feature release X.Y.0 will support all Windows versions whose extended support phase has not yet expired. Subsequent bug fix releases will support the same Windows versions as the original feature release, even if no longer supported by Microsoft.” – this is final release rather than rc1, but a few months don’t matter: Microsoft’s plans are known well enough in advance.)
Should we publish per-branch lists, and if so, where? I can think of these places:
- PEP 11: sounds like a good place for an overall changelog, but per-release lists would make it too busy
- Main documentation (
Doc/, docs.python.org): don’t feel like the right place: platform support is more about the core team’s promises rather than the software itself. If someone builds Python for their flavour of UNIX, they shouldn’t need to patch the docs. - Git history of PEP 11: You can look up what PEP 11 looked at RC1 time, but we’d still need to document that this is the way to get the list. Also Git isn’t that good at date-based searches. Also, we might need to amend the list in some circumstances.
- Release announcements: might be too ephemeral
- Release schedule PEPs (like PEP 790): this would expand their scope beyond ”schedule” (but they already list the crew).