-
-
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
[ANNOUNCEMENT] Potential Breaking Changes in Sphinx 7.2.x #11608
Comments
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This works around sphinx-doc/sphinx#11608 and pradyunsg/furo#693. All the repos I've seen have an unbound pin on Sphinx like `>=6.0`, but a bound pin on `qiskit-sphinx-theme` like `~=1.14.0`. That means that when we release this hotfix, pip will merge the constraint from their `requirements.txt` of `>=6.0` with our theme's constraint of `>=6.0,<7.2` to use `<7.2`. This approach allows us to easily fix all the Ecosystem projects without needing to open a new PR for each of them. They will simply rebuild their docs and use the newest patch version of `qiskit-sphinx-theme`.
This works around sphinx-doc/sphinx#11608 and pradyunsg/furo#693. All the repos I've seen have an unbound pin on Sphinx like `>=6.0`, but a bound pin on `qiskit-sphinx-theme` like `~=1.14.0`. That means that when we release this hotfix, pip will merge the constraint from their `requirements.txt` of `>=6.0` with our theme's constraint of `>=6.0,<7.2` to use `<7.2`. This approach allows us to easily fix all the Ecosystem projects without needing to open a new PR for each of them. They will simply rebuild their docs and use the newest patch version of `qiskit-sphinx-theme`.
This works around sphinx-doc/sphinx#11608 and pradyunsg/furo#693. All the repos I've seen have an unbound pin on Sphinx like `>=6.0`, but a bound pin on `qiskit-sphinx-theme` like `~=1.14.0`. That means that when we release this hotfix, pip will merge the constraint from their `requirements.txt` of `>=6.0` with our theme's constraint of `>=6.0,<7.2` to use `<7.2`. This approach allows us to easily fix all the Ecosystem projects without needing to open a new PR for each of them. They will simply rebuild their docs and use the newest patch version of `qiskit-sphinx-theme`.
This works around sphinx-doc/sphinx#11608 and pradyunsg/furo#693. All the repos I've seen have an unbound pin on Sphinx like `>=6.0`, but a bound pin on `qiskit-sphinx-theme` like `~=1.14.0`. That means that when we release this hotfix, pip will merge the constraint from their `requirements.txt` of `>=6.0` with our theme's constraint of `>=6.0,<7.2` to use `<7.2`. This approach allows us to easily fix all the Ecosystem projects without needing to open a new PR for each of them. They will simply rebuild their docs and use the newest patch version of `qiskit-sphinx-theme`.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sphinx 7.2 has a number of breaking changes: sphinx-doc/sphinx#11608 We've been running into one with `furo` specifically, where it thinks we're not using the `furo` CSS.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as resolved.
This comment was marked as resolved.
Sphinx 7.2.2 has been released, which contains fixes for Furo, and three other bugs. A |
Sphinx 7.2.2 was released with a fix for the Furo bug: sphinx-doc/sphinx#11608 (comment)
@AA-Turner thank you very much ! (maybe you could edit the announcement, since it appears I cannot re-edit it?) |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Adding 8e730ae to the list here -- it changed the behavior such that Before:
After:
It shouldn't affect themes that use PS: Even though this release has been slightly disruptive, I do want to note that I appreciate the work that Sphinx's maintainers (notably @AA-Turner lately) have been doing! ^.^ |
Search with dirhtml builds are broken when using Furo with Sphinx 7.2.{0,1,2}. More details can be found in sphinx-doc/sphinx#11608 (comment)
so convert it to a string, the trailing os.sep is not needed. os.path.join which is used to join paths, expects string and inserts the os.sep. See-also: sphinx-doc/sphinx#11526 See-also: sphinx-doc/sphinx#11608 Signed-off-by: Martin Gysel <[email protected]>
Newer versions of sphinx use a pathlib.Path object instead of a string for the "root" parameter. Add compatibility by stringifying the value provided by Sphinx. See-also: sphinx-doc/sphinx#11526 See-also: sphinx-doc/sphinx#11608 See-also: git-cola/git-cola#1336 Original-patch-by: Martin Gysel <[email protected]>
Newer versions of sphinx use a pathlib.Path object instead of a string for the "root" parameter. Add compatibility by stringifying the value provided by Sphinx. See-also: sphinx-doc/sphinx#11526 See-also: sphinx-doc/sphinx#11608 See-also: git-cola/git-cola#1336 Original-patch-by: Martin Gysel <[email protected]>
Sphinx 7.2.3 has been released. A |
so convert it to a string, the trailing os.sep is not needed. os.path.join which is used to join paths, expects string and inserts the os.sep. See-also: sphinx-doc/sphinx#11526 See-also: sphinx-doc/sphinx#11608 Signed-off-by: Martin Gysel <[email protected]> (cherry picked from commit 1293e18)
Sphinx 7.2.4 has been released. A |
Sphinx 7.2.5 has been released. A |
With Sphinx 7.2.6 being released, I think this issue can be closed. Anyone is free to reopen if they think that a change introduced between 7.2.0 and 7.2.5 is breaking. |
Sphinx 7.2.5
Sphinx 7.2.5 has been released with fixes for all known outstanding issues
Please upgrade to Sphinx 7.2.5, and report any new failures
A
Original issue
I am opening this issue in order to track the issues related to the API changes that Sphinx 7.2 implemented. Since most of the issues are hard to hotfix, I would just recommend using an older version of Sphinx until this is fixed (probably in 7.2.1).
TocTree related API
In #11565, we decided to refactor the toctree adapter. This caused issues with
pydata
theme and other themes as well. Most of the issues are caused by the fact that the TocTree adapter exposed as a class contained public methods that extensions used. However, TocTree was never considered as a public API (it is not documented at all, see pydata/pydata-sphinx-theme#1404 (comment)), so we did not expect that this would lead to breaking changes (see pydata/pydata-sphinx-theme#1404 (comment)).We are planning to something about this (maybe we could expose part of the private API).
Issues:
toctree(...)
API changed in Sphinx 7.2 #11607Javascript and CSS issues
Before, Javascript and CSS files were represented internally using classes that may also behave as strings. Many extensions relied on that and are broken (or may be broken). The string representation was originally intended for backward compatibility but way before these objects were introduced and should not have been used as such. It was now deprecated in #11582 (but we should have kept the
str
behaviour until removing completely the old objects).Another breaking change is
app.add_js_file
(everything I say about JS files is essentially valid for CSS files). Beforeapp.add_js_file
also injected the JS file into the builder's JS files, which was a reference toctx['script_files']
in the HTML context that extensions could play with. However, if extensions callapp.add_js_file
in their ownhtml-page-context
handler, the JS files will NOT be added to the builder's files, and not toctx['script_files']
neither. So no JS file will be injected (see #11586 (comment)).We are planning to something about this (either we revert to the old behaviour or fix the current one).
Issues:
pathlib.Path
objects vs plain stringsIn #11526, we changed most of the
str
objects that behaved like a path topathlib.Path
objects. This breaks extensions or themes relying on the fact that the object was a string.Issues:
pathlib.Path
instead of string paths #11605cc @AA-Turner @humitos
The text was updated successfully, but these errors were encountered: