-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Sphinx and requirements #7443
Conversation
It would be nice to document somewhere, preferably in this and similar PRs, what are the main benefits from updating to the newer versions. Not to sound like a luddite, but since it works right now and it is not a security concern, we could just keep it as is. Updating would likely require us to rewrite our custom styles and scripts to keep working with newer versions (as you mention, sidebar is broken in 6+ as an example, every time we update the theme our style overrides break in unpredictable places). And such work doesn't come for free. |
My feeling is that the longer we wait, the more effort updating is going to take (because everything will break, instead of a small breakage here or there that is easier to locate and fix), and eventually we will need to update. Something like #7289: we are forced to update a single component (like the OS), which may then require us to live with a newer Python, which requires a newer Sphinx, or which requires newer dependencies etc. That said, I agree this is a consideration, and currently there is nothing forcing us to update. I'd prefer to do it on our terms, instead of it coming back to haunt us :) This PR is intended as "research how much work is needed to update dependencies", and if it takes too much work for now, we can postpone. My initial version updated to 6.x/7.x, but a lot broke; so I went with 5.x and so far not too much seems to break at first glance. |
Yeah, that's fair. If we don't update regularly, we may be in a bad place to do that by the time it's actually required. Though I don't see anything particularly critical that might arise in the future. It's just a PITA to adjust our stuff all the time. Perhaps we should implement it in a less hacky way. For example, we can actually fork the theme and make our adjustments a native part of our forked theme. |
I did a complete build with 6.2.1 and got a lot of svg errors, not sure what this is about. |
We also extend templates, both core and from the RTD theme. So we need to double-check that our overrides don't erase anything added by newer versions. |
@Piralein Good call on JQuery, thats indeed an easy fix. From what I can see the SVG errors are more like warnings (they added social media preview card support, which also support showing images on the page, but SVG isn't supported for that so it generates warnings for every page where it would pick a SVG as the first image to preview and does nothing; which IMO is okay) |
Updating Sphinx could resolve the issue with |
I tested locally with:
All modules seem to be compatible. There are only 2 issues:
we could also add it to the extension ourself:
|
My current setup, I haven't discovered any problems yet. (with the changes above) |
Superseded by #10158. |
In the vein of #7436, this is a start on updating the version of Sphinx and its requirements we're using as everything is getting kinda old (we use Sphinx 4.x, current is 7.x; this PR updates it to 5.x at least).
Updating to Sphinx 6.x currently seems to break some things (like the sidebar menu toggling) which we need to investigate.
Checked in a local build:
Things that seem iffy/may need testing:
Supersedes #6575, #6755, #6749
Sphinx changelog: https://www.sphinx-doc.org/en/master/changes.html#release-5-0-2-released-jun-17-2022