docs: bump all documentation dependencies
What Changed
Bump all documentation dependencies, restrict them to python 3.11, bump the entire documentation to 3.11 too.
Changelogs
- sphinx
- https://www.sphinx-doc.org/en/master/changes/8.2.html
- https://www.sphinx-doc.org/en/master/changes/8.1.html
- https://www.sphinx-doc.org/en/master/changes/8.0.html
- https://www.sphinx-doc.org/en/master/changes/7.4.html
- https://www.sphinx-doc.org/en/master/changes/7.3.html
- https://www.sphinx-doc.org/en/master/changes/7.2.html
- https://www.sphinx-doc.org/en/master/changes/7.1.html
- sphinx-autobuild
- https://github.com/sphinx-doc/sphinx-autobuild/compare/2021.03.14...2025.08.25
- sphinx-hoverxref
- https://github.com/readthedocs/sphinx-hoverxref/compare/1.3.0...1.4.2
- sphinx-notfound-page
- https://github.com/readthedocs/sphinx-notfound-page/compare/0.8.2...1.1.0
- sphinxcontrib-towncrier
- https://github.com/sphinx-contrib/sphinxcontrib-towncrier/releases/tag/v0.5.0a0
- https://github.com/sphinx-contrib/sphinxcontrib-towncrier/releases/tag/v0.4.0a0
- sphinxcontrib-trio
- no updates
- towncrier
- https://towncrier.readthedocs.io/en/stable/release-notes.html
23.6.0->25.8.0
- https://towncrier.readthedocs.io/en/stable/release-notes.html
Deprecations
sphinx-hoverxref uses some interfaces removed in sphinx 9.0. However, sphinx-hoverxref is it itself deprecated, so we should drop it anyhow.
Depends on
#1341, which limits docs to only being typechecked on the version it runs on.
Are you planning on dropping hoverxref in this or in a separate PR?
Are you planning on dropping hoverxref in this or in a separate PR?
Planning to drop hoverxref on another PR.
This one is also blocked by needing to figure out pyright 3.8-3.10 overrides
Documentation build overview
📚 disnake | 🛠️ Build #29781613 | 📁 Comparing 8913dc1e87c56143980b7733105c91b12ffec4af against latest (613e01d45d8eb0034a4f3fd524b64752e55b0b38)
Show files changed (71 files in total): 📝 71 modified | ➕ 0 added | ➖ 0 deleted
Looks good overall! A couple things:
- Could we just filter the sphinx 9.0 deprecation warning for the time being, until we replace hoverxref properly?
- Low priority, but this info log is pretty noisy, could potentially filter it
- Similarly,
Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`.- we could update this inconf.pyas well. It's always been doing this conversion, but the log was only added recently - On subsequent autobuild runs, I'm getting
Aborted attempted copy from rendered template _templates/api_redirect.js_t [...]. As far as I can tell, we now need aforce=Truehere: https://github.com/DisnakeDev/disnake/blob/e93670d6480018a8344fd555ffdcb71019e966c3/docs/extensions/redirects.py#L40-L44- Somewhat related, since the
copy_redirect_scripthook here takesExceptioninstead ofException | None, type checkers consider most of that function dead code
- Somewhat related, since the
A couple more things I noticed:
- Sphinx added the classic purple coloring to visited links, the contrast with the documentation's background color is awful (contrast ratio of 1.05):
I think the best solution would be to override that selector and remove the highlight, visited link tracking for a documentation website seems fairly pointless to me anyway.
- Maybe it's just the PR preview build, but search is pretty broken outside of the indexed results; it requests pages like
https://disnake--1325.org.readthedocs.build/en/1325/undefinedext/tasks/index.html, which obviously don't resolve. ~~Haven't really investigated why, yet.~~- edit:
data-content_rootis missing on the root element, see https://github.com/sphinx-doc/sphinx/issues/11608#issuecomment-1684410476
- edit:
- Redirects from the old
api.html#reftoapi/page.html#refare broken, sinceURL_ROOTno longer exists (see previous point). We should usedocument.documentElement.dataset.content_rootinstead.
(also, thanks for including links to all the changelogs <3)