Repository navigation
Increase minimum supported Sphinx to 7.2.6 #125277
Description
Activity
- Python 3.12.8 is planned for 2024-12-03.
- Fedora 39 end of life is planned for 2024-11-19.
I can accept that chance. In the unlikely event Python 3.12.8 is released before Fedora 39 goes EOL, if the documentation no longer builds with Sphinx 6.2.1, we'll ship that last update without updating the docs.
ack, do it
Reacted by Adam Turnercc @mcepl / openSUSE
openSUSE Leap 8.0.2
This is not correct, for the general Python packages we need to use Python 3.6-based Sphinx, which is currently 4.2.0 at best.
@danigm Any thoughts on what to do with this? Porting some recent Sphinx to 3.6?
Gentoo's oldest is 7.4.7, and I suppose we'll remove that sooner than later (the next oldest is 8.0.2).
Reacted by Adam Turner@mcepl apologies -- I looked here, which shows:
Previously, @danigm said:
So for future releases we can just use this modern version of Sphinx to build the python interpreter documentation.
So in this specific case, you can forget about the old 4.2.0 version and it should be okay to set the minimum supported Sphinx to 6.2.1. Shouldn't be a problem in openSUSE.
Note that this change will be for Python 3.12+, older branches will keep their current minimum-supported versions.
A
Yeah, it is confusing. The problem is (I believe my Red Hat colleagues can sympathize), that we have promised to keep API for the whole length of SLE-15 life (GA was 2018-06-25), and nobody thought that we will have to maintain Python 3.6 for howevermany years we will support SLE-15. We will have to make some internal-only closed solution, but so far it was enough just to patch out any incompatible features of documentation. I guess, we are now on the brink of the need to do something more drastic.
Thank you for the helpful background context, I don't envy you in needing to maintain Python 3.6 for nearly 7 years now...
In terms of this issue, our minimum supported Sphinx version currently requires Python 3.8+ (the last version supporting Python 3.6 was v5.3), so per Daniel Garcia's previous comments I think we should be alright to update the minimum supported version here in CPython.
I'll hold off until Monday before merging the PR, though if it causes problems we can always undo it later.
A
openSUSE Leap 8.0.2
This is not correct, for the general Python packages we need to use Python 3.6-based Sphinx, which is currently 4.2.0 at best.
@danigm Any thoughts on what to do with this? Porting some recent Sphinx to 3.6?
We can build modern python in SLE-15 / Leap using the Sphinx 7.2.6 that we've right now in the python 3.11 stack. Indeed this is what I'm doing to be able to build python 3.13 for SLE-15-SP7, so I think that this change for python 3.12+ is not a big deal for us.
Reacted by Hugo van KemenadeWe can build modern python in SLE-15 / Leap using the Sphinx 7.2.6 that we've right now in the python 3.11 stack. Indeed this is what I'm doing to be able to build python 3.13 for SLE-15-SP7, so I think that this change for python 3.12+ is not a big deal for us.
If it works, then we are saved!

Documentation
Python 3.13 has been released, so I looked to review the minimum Sphinx version.
Using the same survey as #109209 (comment) and #117928:
† The blocker to updating is Fedora 39, which is end-of-life in a month's time. cc @hroncok -- would you prefer we wait until November until the actual EOL date?
Sphinx 7.2 has support for documenting generic classes and
:no-typesetting:. Sadly.. py:type::is new in Sphinx 7.4, so we need to wait for Fedora 40's end-of-life (13 May 2025) to use it.References:
cc:
Linked PRs