Skip to content

Support Sphinx 7.2 and later - #28

Merged
djungelorm merged 1 commit into
mainfrom
sphinx-7.2
Oct 16, 2026
Merged

djungelorm merged 1 commit into
mainfrom
sphinx-7.2

Conversation

@djungelorm

Copy link
Copy Markdown
Owner

sphinx-csharp required Sphinx 9.0, which excludes projects pinned to older Sphinx releases. The floor is now 7.2, the minimum for Breathe 5. A new CI job tests each Sphinx minor version from 7.2 to 8.2 on Python 3.11.

Fixes. On Sphinx 7.2 the extension failed on import, because ExtensionMetadata was added in Sphinx 7.3. On Sphinx 7 and 8, :noindexentry: still added an index entry, because those versions keep it separate from :no-index-entry:.

Testing. The full suite passes locally on Python 3.11 to 3.15 with Sphinx 9, and on each Sphinx minor version from 7.2 to 8.2, including the Breathe project with Doxygen.

Lower the Sphinx floor from 9.0 to 7.2, the minimum for Breathe 5. CI tests each Sphinx minor version from 7.2 to 8.2 on Python 3.11.

Import ExtensionMetadata for type checking only, since Sphinx 7.2 lacks it. Check both noindexentry and no-index-entry, because Sphinx 7 and 8 only alias them in the desc node. The tests avoid the testing APIs added in Sphinx 7.3 and 9.
@djungelorm
djungelorm merged commit f3b137b into main Oct 16, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant