-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Support docutils 0.18 #1304
Support docutils 0.18 #1304
Conversation
Build step is failing but I'm not sure how to fix that |
docutils 0.19 has been released. |
Possibly a related bug in this PR:
Please do say if you have any findings here 🙏 |
Edit: Issue is fixed in Sphinx |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for fixing this @edgarrmondragon - it's very helpful to have comments confirming that it also has been tested and works :) I'll proceed to have a look that everything in our demo build looks okay and open up any issues I might find.
Any chance to make new release? |
@kloczek that's definitely the intention I'll have to investigate these current build issues though:
|
Above error is fixed in sphinx-doc/sphinx@961f5af This commmit is released with Sphinx 4.3.0. Hence, Sphinx releases prior to this version definitely have this issue and aren't compatible with docutils 0.18. What might be confusing is that the error isn't occurring 100% reliably.. but that's another story. Should we handle this simply in our Tox matrix? |
… >= 0.17 on Sphinx>=4.3
It turns out that the build error was because of a missing lower bound on Sphinx in After specifying the versions correctly in |
hey @benjaoming, I've been really busy so thanks for taking on the PR 😄 |
Not sure if #1338 might cause a need to solve conflicts, currently it has a clean cherry-pick. |
Can you verify the version of Sphinx and Python that was used for this? |
Failing to reproduce Circle CI build output LGTM 👍
#1348 adds missing Sphinx versions to the test matrix, i.e. currently only Python 3.10 environment has Sphinx 5.x. |
Trying to move things forwards, so I'm going to propose the following assessment and if you agree @agjohnson I think we should merge both this PR and #1336 (because the reasoning for allowing docutils 0.19 is the same as below)
Proposed solution: We bump the upper bound for docutils, i.e. merge this PR as-is, same with #1336 What happens then...The upgrade to Example breakage: A deployment with How many projects are affected?
Mitigation? It's possible that we release sphinx_rtd_theme with Restating the benefits of bumping docutils version: This change is necessary (i.e. critical) to introduce because several projects have failing builds because of failure to satisfy dependencies. Docutils 0.18 is soon 1 year old, so it's due time to support it. Refs: sphinx-doc/sphinx#9807 |
@benjaoming I tested it with your branch again and I cannot reproduce it anymore. Sorry for the confusion. |
No worries! Thanks for weighing in! Looking forwards to resolving this! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again for the contribution! Unfortunately, this PR reintroduces the display issues with footnotes/citations that caused us to pin docutils<0.18
initially:
https://sphinx-rtd-theme--1304.org.readthedocs.build/en/1304/demo/demo.html#references
Until we can address those in a backwards compatible way, docutils<0.18
is the specifier we should use.
@benjaoming A couple more notes for your input:
In the interest of sticking to our plan for faster release cadence, I don't think we should merge these just yet. These PRs will both require bug fixes for display bugs. I noted on #1309 that the intention was to release 1.1 as a rather minimal release -- just pinning dependencies more accurately. We'd still try to iterate quicker and release 1.2/2.0 with new features like docutils 0.18/0.19 support however.
Mostly, however our concerns are tighter than the concerns that Sphinx has. We have display issues from docutils to worry about as well, and have to support multiple versions of docutils 😞
Because of above, we can say fairly concretely that we'll always have docutils specifiers in both directions.
For next release (1.2/2.0), 👍 this sounds good. However, this is going to be more like "We bump the upper bounds for docutils to 0.19 and fix all display bugs from docutils 0.18 and docutils 0.19 changes."
This list is probably even more limited than you describe, as the project would also have to pin
We can probably be rather relaxed here, as it's only projects that have |
Going to look for more references about this issue - I would like to see the discussion about why docutils uses |
@pradyunsg re: pradyunsg/furo#447 (comment) I see that you ran into this (footnotes are now in |
I tweaked the look, preserved docutils 0.17 compat, and filed sphinx-doc/sphinx#10531. I’ve not had bandwidth to tweak the styles in Furo since then, but it seems like it’ll work just fine to use the css in docutils with a tweak. |
Thanks for getting things improved with Sphinx @pradyunsg - it's really nice that the docutils 0.19 behavior got backported to Sphinx 5.1, I think we can reduce the scope of footnote DOM variants to just 2 versions.. the old |
@agjohnson the visual regression is now addressed in #1351 |
Support for docutils 0.18 has been added in #1381 In release notes, we might add some clarity on old versions of Sphinx potentially breaking because of docutils 0.18, see comment in #1304 (comment) |
Released in 1.2.0rc1 👍 |
In mean time |
@kloczek - definitely, and if we can get some help with verification and testing, we might also be able to add the support quite quickly - the release notes indicate that they have changed the DOM for footnotes again => https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05 |
There is an issue open for docutils 0.19 support here: #1323 |
Thank you for the update 👍 😄 |
Closes #1302