-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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 to work with docutils-0.18.x #9777
Comments
Just in case anyone else is on an old version of sphinx, I had to pin my docutils version like so:
Without it I was getting this error:
The version constraint is pretty loose in that version of sphinx:
Hopefully this will help another weary traveller searching for a solution after their build suddenly failed... |
Now all tests are passed with the HEAD of docutils (see https://github.com/sphinx-doc/sphinx/actions/workflows/docutils-latest.yml). @eric-wieser @astrojuanlu Could you make a plan for testing, please? |
@tk0miya: are you tagging me because I was involved in discussion about a docutils upgrade that I've forgotten (which is entirely possible), or just because I've helped with Sphinx before? |
@eric-wieser I'm very sorry. I'd like to notify another Eric (@ericholscher). Thank you for letting me know my mistake. |
/cc @agjohnson who is probably a better person for design-related things. I know there was also some discussion around testing in #10070, but just getting back from vacation and catching up on these conversations. |
We have a plan to release 5.0.0 in May. So I'd like to move forward. What is a barrier of this? |
The only remaining barrier as far as I can tell is that themes will need to update their CSS for changes to the Docutils HTML5 writer. Docutils changed the following things from 0.17 to 0.18:
To me this doesn't seem a blocker for Sphinx itself changing the pin, although perhaps we should ensure major themes are at least aware of what they'll need to do to support Sphinx 5 by raising an issue on their trackers? A |
Is anybody working on this? It seems stuck. As I commented on introducing the pinning strategy, unpinning is costly. I'd like to move this forward if nobody works on this. |
@tk0miya I think that updating the pin in Sphinx to the latest released version of docutils is good. Keeping things pinned is important to ensure it doesn't break in the future, but I think the latest Sphinx should definitely pin the latest docutils version. It will likely still cause issues with some HTML output in various themes & configurations, but I think we've had plenty of warning before this change 👍 |
With docutils 0.18.1, Sphinx triggers the following deprecation warning:
See also #9701 (comment) |
Okay, let's upgrade docutils to 0.18. I'd like to say thank you to all contributors! |
Is your feature request related to a problem? Please describe.
Docutils 0.18.0 has been released and at first glance it appears to have changes in it that are incompatible with Sphinx (cloning the Sphinx repo, running the tests clean; then installing docutils 0.18, updating Sphinx to allow docutils-0.18 and include it in the test suite, shows a whole bunch of failed tests).
Describe the solution you'd like
Make the changes to Sphinx required to be compatible with docutils 0.18.x.
Describe alternatives you've considered
The alternative would be to remain pinned to 0.17.x (ie "docutils packages with a version less than 0.18"); this may cause disruptions in projects and platforms that assume they can freely update dependencies to the latest versions, especially if they directly depend on docutils.
The text was updated successfully, but these errors were encountered: