Hi Komiya-san,
Thank you for the fast reply.
On 2021-04-12, Komiya Takeshi wrote:
> Thank you for your support. Personally, I'd like to upgrade to the
> latest version ASAP. But, we're discussing with the RTD team about the
> rule of pinning and unpinning the docutils dependency. So please wait
> a moment.
Glad to hear this.
After reading the various issues (#9056, #9088, #9091 and related), I
come back to the former idea:
I suggest to keep the pin at "docutils < 0.17" in Sphinx 3.x but
raise the pin to "docutils < 0.18" in Sphinx 4.0
after the 0.17.1 bug-fix is avaibable on pypi (should be this week).
Rationale:
We became aware of 3 problems with Docutils 0.17:
a) Encoding error with LC_ALL=C when importing the "latex2e" writer,
https://sourceforge.net/p/docutils/bugs/415/
b) problem with the new "line_length_limit" configuration setting when
using the Docutils "rst" parser,
https://sourceforge.net/p/docutils/bugs/415/
c) changed HTML5 output breaks custom CSS (not reported to Docutils).
The first two problems are fixed in 0.17.1.
The remaining problem (changed HTML5 output) should not prevent using 0.17.1
with Sphinx 4.x:
* As 4.0.0 is a major release, API-breaking changes are "allowed".
(We don't even need to decide whether changed HTML output is in fact an
API change.)
* The HTML5 output changes with Docutils 0.17.x can be documented as
one of the many CHANGES between Sphinx versions 3 and 4, e.g.
Sphinx now supports Docutils 0.12 to 0.17. Watch for changes in
HTML5 output with version 0.17.
This should help downstream projects depending on Sphinx but no direct
dependency on Docutils: they need to test for breaks with 4.0 anyway,
pining "Sphinx < 4 (and the pin on Docutils < 0.17 in Sphinx 3) avoids
surprises.
IMO, raising the Docutils dependency limit may even be worth a small delay
and possibly second pre-release to allow more downstram testing before
releasing Sphinx 4.0, but this is up to the Sphinx community.
The next Docutils "feature release" (0.18 or 1.0) will include the
`second part of the transfer to semantic tags`.
https://repo.or.cz/docutils.git/blob_plain/HEAD:/docutils/RELEASE-NOTES.txt
Whether it will be "cleared" in Sphinx 4.x or Sphinx 5.0 can be decided
later.
Thanks,
Günter