Description
Describe the bug
I'm having trouble fully understanding why this is happening, but I'll try to describe things as best I can.
The issue we're noticing is that if you install Sphinx < 5 in a fresh environment, your build will fail with the exception:
sphinx.errors.VersionRequirementError: The sphinxcontrib.applehelp extension used by this project needs at least Sphinx v5.0; it therefore cannot be built with this version.
It seems the releases of the sphinxcontrib-*help
packages a few days ago are maybe avoiding proper dependency resolution now. I noticed with pip and poetry that install Sphinx 4.5.0 still grabbed the latest versions of these packages.
It seems this might all be related to commits similar to: sphinx-doc/sphinxcontrib-applehelp@ccc77c8
4 days prior to this, the build was successful, and Poetry installed the following dependencies while install Sphinx 4.5:
sphinxcontrib-applehelp-1.0.4
sphinxcontrib-devhelp-1.0.2
sphinxcontrib-htmlhelp-2.0.1
sphinxcontrib-qthelp-1.0.3
sphinxcontrib-serializinghtml-1.1.5
This is also maybe similar to problems in the past with docutils, Jinja, and other unpinned dependencies. New releases of these packages, and unpinned dependencies at Sphinx, caused abrupt upgrades to dependencies.
For anyone hitting this issue, you can upgrade Sphinx or pin the dependencies that were recently updated:
[tool.poetry.dependencies]
...
sphinxcontrib-applehelp = "1.0.4"
sphinxcontrib-devhelp = "1.0.2"
sphinxcontrib-htmlhelp = "2.0.1"
sphinxcontrib-qthelp = "1.0.3"
sphinxcontrib-serializinghtml = "1.1.5"
How to Reproduce
Here is a build on RTD showing the package installation, environment, and the build exception. Most importantly, note the Sphinx version is 4.5.0 and the sphinxcontrib-*help
packages are all the latest releases.
https://readthedocs.org/projects/test-builds/builds/23151025/
Environment Information
https://readthedocs.org/projects/test-builds/builds/23151025/
Sphinx extensions
No response
Additional context
No response