Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions docs/requirements-docs.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
sphinx==7.3.7
furo==2024.5.6
sphinx-autobuild==2024.4.16
sphinx==9.1.0
furo==2025.12.19
sphinx-autobuild==2025.8.25
sphinx-copybutton==0.5.2
sphinx-sitemap==2.6.0
sphinx-click==5.0.1
sphinx-autodoc-typehints==2.3.0
sphinx-sitemap==2.9.0
sphinx-click==6.2.0
sphinx-autodoc-typehints==3.9.7
Comment on lines +1 to +7
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Checking the upgraded docs requirements and current Sphinx autodoc config..."
sed -n '1,10p' docs/requirements-docs.txt
printf '\n--- docs/source/conf.py ---\n'
rg -n -C2 'autodoc_default_flags|autodoc_default_options' docs/source/conf.py

Repository: DagsHub/client

Length of output: 495


🌐 Web query:

Sphinx 9.1.0 autodoc_default_flags deprecated autodoc_default_options

💡 Result:

In Sphinx 9.1.0 (released Dec 31, 2025), autodoc_default_flags is long-deprecated and you should use autodoc_default_options instead. [1][2]

What changed / why you see the warning

  • autodoc_default_flags was deprecated in Sphinx 1.8. [3]
  • Sphinx 1.8 also introduced autodoc_default_options, which replaces the old “list of flags” with a dict of default directive options (option name → value). [4]

How to migrate (conf.py)

Old (deprecated):

autodoc_default_flags = ['members', 'undoc-members', 'show-inheritance']

New:

autodoc_default_options = {
    'members': True,
    'undoc-members': True,
    'show-inheritance': True,
}

Notes:

  • autodoc_default_options applies to all autodoc directives. [5]
  • Setting an option’s value to True (or None) is equivalent to specifying the flag with no value in the directive (e.g., :members:). [6]

Sources:
[1] Sphinx changelog (Release 9.1.0 date) (sphinx-doc.org)
[2] Sphinx changelog index / 9.1.0 section (sphinx-doc.org)
[3] Sphinx 1.8 changelog: “autodoc_default_flags is deprecated” (sphinx-doc.org)
[4] Sphinx 1.8 changelog: added autodoc_default_options (sphinx-doc.org)
[5] Autodoc docs: use autodoc_default_options for default directive options (sphinx-doc.org)
[6] Autodoc docs: True/None equals specifying the option name only (sphinx-doc.org)

Citations:


🏁 Script executed:

# Check if there's any additional config in docs/source/conf.py that might be relevant
cat -n docs/source/conf.py | head -100

Repository: DagsHub/client

Length of output: 3149


🌐 Web query:

Sphinx 9.1.0 changelog autodoc_default_flags removal breaking change

💡 Result:

Sphinx 9.1.0 (released Dec 31, 2025) does not list a breaking change removing autodoc_default_flags in its changelog; the only closely related autodoc entry is “autodoc: Fix default option parsing” (#14089). [1]

autodoc_default_flags was deprecated in Sphinx 1.8 and removed in Sphinx 4.0 (replacement: autodoc_default_options). So any “removal” break you’re seeing in 9.1.0 would be from carrying forward an already-removed setting, not a new 9.1.0 change. [2]

Sources: [1] [2]


🌐 Web query:

Sphinx 9.0.0 9.1.0 autodoc_default_flags dropped removed

💡 Result:

autodoc_default_flags was not dropped in Sphinx 9.0.0/9.1.0—it was deprecated in Sphinx 1.8 and removed in Sphinx 4.0. Use autodoc_default_options instead. [1][2]

Migration example (conf.py)

# old (no longer supported since Sphinx 4.0)
# autodoc_default_flags = ["members", "undoc-members"]

# new
autodoc_default_options = {
    "members": True,
    "undoc-members": True,
    # add others as needed, e.g.:
    # "inherited-members": True,
    # "show-inheritance": True,
}

Sphinx 9.0.0 did include a substantial autodoc rewrite (which can surface other edge-case incompatibilities), but it’s separate from the autodoc_default_flags removal. [3]

Sources: Sphinx “Deprecated APIs” (shows deprecated 1.8, removed 4.0) [1]; Sphinx 1.8 changelog (deprecates autodoc_default_flags and adds autodoc_default_options) [2]; Sphinx 9.0 changelog (autodoc rewrite) [3].

References:
[1] https://www.sphinx-doc.org/en/master/extdev/deprecated.html
[2] https://www.sphinx-doc.org/en/master/changes/1.8.html
[3] https://www.sphinx-doc.org/en/master/changes/9.0.html


🏁 Script executed:

# Check if there's a git history or previous requirements file
git log --oneline -n 20 -- docs/requirements-docs.txt 2>/dev/null || echo "No git history available"

# Also check if there's a pip lock file or setup.py that might show previous version
find . -name "setup.py" -o -name "setup.cfg" -o -name "pyproject.toml" | xargs grep -l "sphinx" 2>/dev/null | head -3

Repository: DagsHub/client

Length of output: 107


Update docs/source/conf.py to use autodoc_default_options.

docs/source/conf.py:68 uses autodoc_default_flags = ["inherited-members"], which was removed in Sphinx 4.0. Upgrading to Sphinx 9.1.0 will break the docs build unless this is updated to the current standard: autodoc_default_options.

🔧 Proposed change in docs/source/conf.py
- autodoc_default_flags = ["inherited-members"]
+ autodoc_default_options = {
+     "members": True,
+     "inherited-members": True,
+ }

14 changes: 7 additions & 7 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
setuptools==80.9.0
pytest==8.3.5
setuptools==82.0.1
pytest==9.0.2
respx==0.22.0
pytest-git==1.8.0
pytest-env==1.1.5
pytest-mock==3.14.0
fiftyone==1.5.2
datasets==3.6.0
ultralytics==8.3.237
pytest-env==1.5.0
pytest-mock==3.15.1
fiftyone==1.13.3
datasets==4.6.1
ultralytics==8.4.21
Loading