You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
sphinx-codelinks 1.2.0 (latest) pins sphinx>=7.4,<9 and sphinx-needs>=5,<9 in pyproject.toml, blocking downstream projects from upgrading to Sphinx 9.
Sphinx 9 was released 2025-11-30 (latest 9.1.0 on 2025-12-31). It dropped support for docutils 0.20, deprecated `sphinx.io`, rewrote `sphinx.ext.autodoc`, and made other smaller breaking changes. See https://www.sphinx-doc.org/en/master/changes/9.0.html.
Current state
PR #65 added a tox factor matrix (`py{312,313,314}-sphinx{7,8,9}-needs{5,6,7,8}`), but:
The CI workflow doesn't fan the factors out as separate jobs (recent runs show only generic `Pytest ()` jobs).
The pyproject runtime pin still caps at `<9`, so a tox env requesting `sphinx>=9` would conflict with the package's own dependency.
So the `sphinx9-*` cells have never actually run; whether `sphinx-codelinks` works against Sphinx 9 is unknown.
What's needed
Bump runtime pins in `pyproject.toml`: `sphinx>=7.4,<10`, `sphinx-needs>=5,<10`.
Wire the tox matrix factors through CI (`.github/workflows/ci.yml`) so each `py-sphinx-needs` cell runs as a separate job.
Run the matrix locally against Sphinx 9.0/9.1; fix any API drift surfaced by the new versions.
Closing as done: sphinx-codelinks supports Sphinx 9. Since useblocks/sphinx-needs#1871 the package lives at packages/sphinx-codelinks in the sphinx-needs workspace, whose CI runs its test suite against Sphinx 7, 8 and 9 (Ubuntu) and Sphinx 9 (Windows) on every pull request.
Activity
chrisjsewell commentedon Sep 6, 2026
Closing as done: sphinx-codelinks supports Sphinx 9. Since useblocks/sphinx-needs#1871 the package lives at
packages/sphinx-codelinksin the sphinx-needs workspace, whose CI runs its test suite against Sphinx 7, 8 and 9 (Ubuntu) and Sphinx 9 (Windows) on every pull request.