-
Notifications
You must be signed in to change notification settings - Fork 72
Open
Labels
Description
Describe the bug
context
When docutils
is updated to 0.22
, sphinx-tabs
fails over removed backrefs
key.
expectation
sphinx-tabs
working.
bug
translator = <sphinx.writers.html5.HTML5Translator object at 0x7f934a6d8050>, node = <div: <button...><button...><button...>>
def visit(translator, node):
# Borrowed from `sphinx-inline-tabs`
attrs = node.attributes.copy()
attrs.pop("classes")
attrs.pop("ids")
attrs.pop("names")
attrs.pop("dupnames")
> attrs.pop("backrefs")
E KeyError: 'backrefs'
sphinx_tabs/tabs.py:69: KeyError
problem
Since Sphinx 8.2.3 is already compatible with docutils 0.22 itself, the pin is going to be updated in the next release. This will cause projects using sphinx-tabs to fail.
Reproduce the bug
uv pip install -e .[testing]
uv pip install -U docutils
pytest
(optionally gh pr checkout 200
to get fixes for Sphinx 8.1)
List your environment
Package Version Editable project location
----------------------------- -------- -------------------------
alabaster 1.0.0
appdirs 1.4.4
babel 2.17.0
beautifulsoup4 4.13.5
bs4 0.0.2
certifi 2025.8.3
charset-normalizer 3.4.3
coverage 7.10.6
docutils 0.22
idna 3.10
imagesize 1.4.1
iniconfig 2.1.0
jinja2 3.1.6
markdown-it-py 3.0.0
markupsafe 3.0.2
mdit-py-plugins 0.5.0
mdurl 0.1.2
myst-parser 4.0.1
packaging 25.0
pluggy 1.6.0
pygments 2.19.2
pytest 7.4.4
pytest-cov 6.3.0
pytest-datadir 1.8.0
pytest-regressions 2.8.3
pyyaml 6.0.2
requests 2.32.5
rinoh-typeface-dejavuserif 0.1.3
rinoh-typeface-texgyrecursor 0.1.1
rinoh-typeface-texgyreheros 0.1.1
rinoh-typeface-texgyrepagella 0.1.1
rinohtype 0.5.5
roman-numerals-py 3.1.0
snowballstemmer 3.0.1
soupsieve 2.8
sphinx 8.2.3
sphinx-tabs 3.4.7 /tmp/sphinx-tabs
sphinxcontrib-applehelp 2.0.0
sphinxcontrib-devhelp 2.0.0
sphinxcontrib-htmlhelp 2.1.0
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 2.0.0
sphinxcontrib-serializinghtml 2.0.0
typing-extensions 4.15.0
urllib3 2.5.0
cgohlke