Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
435 commits
Select commit Hold shift + click to select a range
aae9c45
Improve ``autodoc`` sentinels (#13756)
AA-Turner Jul 25, 2025
f82de03
Inline ``DataDocumenter`` mixin classes (#13757)
AA-Turner Jul 25, 2025
b98e1c1
Inline ``AttributeDocumenter`` mixin classes (#13758)
AA-Turner Jul 25, 2025
a7bab7e
Move options processing to ``_directive_options`` (#13759)
AA-Turner Jul 26, 2025
3d79d84
Remove mypy overrides for ``tests.test_quickstart`` (#13749)
adamtheturtle Jul 26, 2025
85a0870
Remove ``ComplainOnUnhighlighted`` (#13763)
AA-Turner Jul 26, 2025
44f0d7d
Remove mypy overrides for ``test_highlighting`` (#13761)
adamtheturtle Jul 27, 2025
e094ae3
Remove mypy overrides for ``tests/test_directives/test_directive_code…
adamtheturtle Jul 27, 2025
f25cfdd
Remove mypy overrides for ``tests/test_intl/test_locale.py`` (#13764)
adamtheturtle Jul 27, 2025
8dd3d88
Use ``<span>`` in ``desc_annotation`` for better semantic HTML (#13689)
q2mark Jul 27, 2025
cb3fbe2
Remove mypy overrides for ``tests/test_intl/test_catalogs.py`` (#13767)
adamtheturtle Jul 27, 2025
087d77c
Fix type annotation for ``make_app`` pytest fixture (#13768)
adamtheturtle Jul 27, 2025
8784a78
Remove mypy overrides for ``tests/test_util/test_util_docutils.py`` (…
adamtheturtle Jul 27, 2025
641f32a
Remove mypy overrides for ``tests/test_extensions/test_ext_todo.py`` …
adamtheturtle Jul 27, 2025
9b8dce6
Remove mypy overrides for ``tests/test_builders/test_build_warnings.p…
adamtheturtle Jul 27, 2025
00d5f48
Extract autodoc importing to module-level functions (#13773)
AA-Turner Jul 28, 2025
813bd3b
Remove mypy overrides for ``tests/test_extensions/test_ext_viewcode.p…
adamtheturtle Jul 28, 2025
1883c0d
Remove mypy overrides for ``tests.test_builders.test_build_html_numfi…
adamtheturtle Jul 28, 2025
dfe9c2c
Make ``_Sentinel`` immutable (#13782)
AA-Turner Jul 28, 2025
ead64df
Introduce a new type for documenter options (#13783)
AA-Turner Jul 29, 2025
e00e771
Test with Docutils 0.22 (#13784)
AA-Turner Jul 29, 2025
5d3bb2e
Support Docutils 0.22 (#13786)
AA-Turner Jul 29, 2025
3fd98d8
Rename ``sphinx.ext.jsmath`` to ``sphinxcontrib.jsmath`` (#13788)
timhoffm Jul 31, 2025
99d3756
Bump Ruff to 0.12.7 (#13787)
dependabot[bot] Jul 31, 2025
c780dc4
Remove mypy overrides for ``tests/test_builders/test_build_html_*.py`…
adamtheturtle Jul 31, 2025
36b0571
Enable ``disallow_incomplete_defs`` for mypy (#13793)
adamtheturtle Jul 31, 2025
8150700
Bump mypy to 1.17.1 (#13795)
dependabot[bot] Aug 1, 2025
25eb929
Bump types-colorama to 0.4.15.20250801 (#13794)
dependabot[bot] Aug 1, 2025
556a5f1
Hold properties for the documented objects in new types (#13796)
AA-Turner Aug 1, 2025
4bed65e
Combine name resolution and importing (#13797)
AA-Turner Aug 2, 2025
a1b80c7
Add ``object_name`` to ``_ItemProperties`` (#13798)
AA-Turner Aug 2, 2025
9a17e80
Remove mypy overrides for ``tests/test_markup/test_parser.py`` (#13780)
adamtheturtle Aug 2, 2025
d74e544
Remove mypy overrides for ``tests/test_project.py`` (#13791)
adamtheturtle Aug 2, 2025
ab5d43c
Remove mypy overrides for ``tests/test_environment/test_environment.p…
adamtheturtle Aug 2, 2025
7715d6f
Store object ``__module__`` for ``get_real_modname()`` (#13799)
AA-Turner Aug 2, 2025
3dddb1c
Remove project extras (optional dependencies) (#13445)
AA-Turner Aug 2, 2025
3fc1588
Prefer using attributes on ``self.props`` in Documenter classes (#13801)
AA-Turner Aug 3, 2025
df5e284
Warn on invalid module ``__all__`` during initial load (#13802)
AA-Turner Aug 3, 2025
667925d
Prefer using attributes on ``documenter.props`` (followup) (#13803)
AA-Turner Aug 3, 2025
6704752
Prefer ``props._obj`` to ``documenter.object`` (#13804)
AA-Turner Aug 3, 2025
5b3d92e
LaTeX: support for using the fontawesome7 LaTeX package (#13805)
jfbu Aug 4, 2025
5f88652
autodoc: do not add :no-index-entry: twice (#13807)
haampie Aug 4, 2025
f92316a
LaTeX: fix problems in our docs (in part inherited from #13805) (#13809)
jfbu Aug 4, 2025
fa172ea
Add ``py:class`` to ``py:data`` fallback for type alias cross-referen…
ianhi Aug 4, 2025
01af042
Add filename caption to tutorial code block (#13814)
duianto Aug 5, 2025
873ecec
Update CHANGES.rst for PR #13805 (#13815)
jfbu Aug 5, 2025
90fd2a2
LaTeX: let long ``.. confval::`` argument wrap at spaces in PDF (#13817)
jfbu Aug 6, 2025
bda34f9
LaTeX: revisit and trim visit_target() (#13616)
jfbu Aug 6, 2025
6c9e320
LaTeX: support CSS3 length units (#13657)
jfbu Aug 6, 2025
85a12e2
Define the ``code-py`` role in ``autosectionlabel.rst`` (#13819)
Ch3ri0ur Aug 7, 2025
7814844
Extract autodoc object member gathering (#13820)
AA-Turner Aug 8, 2025
aeeaeaf
Bump Ruff to 0.12.8 (#13821)
dependabot[bot] Aug 8, 2025
7988c0c
Bump actions/checkout to v5 (#13837)
dependabot[bot] Aug 14, 2025
2ce6778
Add initial Ty configuration file (#13843)
AA-Turner Aug 18, 2025
e8ab5cf
linkcheck: Fix ``linkcheck_allowed_redirects`` default sentinel (#13483)
jayaddison Aug 18, 2025
9a08711
Correct the example for the ``seealso`` directive (#13854)
ugognw Aug 27, 2025
db46f0b
Document which version first supported 'types' for ``add_config_value…
AA-Turner Sep 1, 2025
1471729
Use config value as default doctest group name (#13859)
ludovic-steinbach Sep 1, 2025
9850d5e
Bump types-defusedxml to 0.7.0.20250822 (#13849)
dependabot[bot] Sep 1, 2025
754864d
Bump types-requests to 2.32.4.20250809 (#13831)
dependabot[bot] Sep 1, 2025
719237f
Support nanobind methods in ``isattributedescriptor()`` (#13836)
VincentRouvreau Sep 1, 2025
463fae6
Bump types-pygments to 2.19.0.20250809 (#13833)
dependabot[bot] Sep 1, 2025
eaebbec
Refactor ``add_sidebars()`` into ``_get_sidebars()`` (#13863)
AA-Turner Sep 1, 2025
9a41636
Partially revert "Update stemming and Snowball (#13561)"
AA-Turner Oct 2, 2025
f265d50
Fetch Snowball stopword lists as of 2015-09-01
AA-Turner Oct 2, 2025
f4e5b29
Bump Ruff to 0.12.12
AA-Turner Oct 5, 2025
11a0ddc
Bump Ruff to 0.13.0
AA-Turner Oct 5, 2025
36a4294
Bump Ruff to 0.13.3
AA-Turner Oct 5, 2025
105fa70
Bump actions versions
AA-Turner Oct 5, 2025
56939e9
Fix test setup for directive tests with Docutils 0.22+ (#13883)
gmilde Oct 5, 2025
645bc53
Bump mypy to 1.18.2
AA-Turner Oct 5, 2025
2f9d03b
Fix TypeError in ``sphinx.ext.coverage`` logging (#13885)
omad Oct 5, 2025
10af407
Document ``sphinx build -M help`` (#13881)
mfosterw Oct 5, 2025
e929009
Update list of maintained third-party domains (#13919)
taminomara Oct 5, 2025
8dd7a23
Add warning sub-type for duplicate equation label warnings (#13929)
jdillard Oct 5, 2025
f578eed
Fix incorrect index treatment of the ``:canonical:`` option in the ``…
jbms Oct 5, 2025
42aa511
Bump pyright to 1.1.406
AA-Turner Oct 5, 2025
44a9896
Use hyphenated version directives (#13714)
stephenfin Oct 5, 2025
2b5c693
Use ``normalize_options()`` from Docutils in preference to ``set_clas…
bsipocz Oct 5, 2025
046151a
Create subpackages for related ``sphinx.ext`` tests (#13930)
AA-Turner Oct 6, 2025
5e0b3ef
Extract directive header construction from runtime introspection (#13…
AA-Turner Oct 6, 2025
f3e8999
autodoc: Avoid updating ``__annotations__`` with parent class members…
jbms Oct 6, 2025
99e5ccb
Consolidate ``add_content()`` handling (#13936)
AA-Turner Oct 7, 2025
eb99d45
Bump Ruff to 0.14.0 (#13938)
dependabot[bot] Oct 8, 2025
8923f08
Extract most docstring-related logic (#13941)
AA-Turner Oct 9, 2025
22c5356
Test with released Python 3.14
AA-Turner Oct 9, 2025
ad3f3cc
Add initial support for PEP 695 type aliases (#13508)
mmatous Oct 10, 2025
90b4008
Trim LaTeX comment, obsolete as of latest TeXLive fontawesome6 and 7 …
jfbu Oct 11, 2025
10a7a6c
Move property type annotation logic to importer (#13948)
AA-Turner Oct 12, 2025
f224e04
Consolidate ``format_args()`` (#13949)
AA-Turner Oct 12, 2025
4c89a82
Improve signature handling in autodoc (#13955)
AA-Turner Oct 16, 2025
e281d26
Merge remaining special cases into ``Documenter`` (#13959)
AA-Turner Oct 16, 2025
a8f2b96
Improve various autodoc tests (#13958)
AA-Turner Oct 16, 2025
f194178
Use a new ``_best_object_type_for_member()`` function (#13961)
AA-Turner Oct 17, 2025
c58caef
Treat ``Documenter.indent`` as a constant (#13960)
AA-Turner Oct 17, 2025
2e8cedb
Remove ``member_order`` attributes (#13962)
AA-Turner Oct 17, 2025
dcfaa98
Remove unused items in ``_documenters`` (#13963)
AA-Turner Oct 17, 2025
3dec862
Delete ``FakeDirective`` in autosummary (#13967)
AA-Turner Oct 17, 2025
a4a8acc
Extract ``_gather_members()`` (#13968)
AA-Turner Oct 17, 2025
ff3e1d2
Use ``_AutodocObjType`` more consistently (#13970)
AA-Turner Oct 19, 2025
1156555
Introduce ``_AutodocAttrGetter`` type (#13971)
AA-Turner Oct 19, 2025
b5870e6
Extract the ``_docstring_source_name()`` function (#13972)
AA-Turner Oct 19, 2025
7121e99
Use ``ModuleSpec.origin`` (#13973)
AA-Turner Oct 19, 2025
ce81838
Simplify ``Autosummary.get_items()`` (#13974)
AA-Turner Oct 19, 2025
9203f2f
Avoid using ``Documenter.name`` (#13975)
AA-Turner Oct 19, 2025
fd32eb5
Extract ``_prepare_docstrings()`` (#13977)
AA-Turner Oct 20, 2025
90192fc
Use ``_load_object_by_name()`` directly (#13978)
AA-Turner Oct 20, 2025
6083b5a
Move member merging logic from ``options`` to ``_member_finder`` (#13…
AA-Turner Oct 21, 2025
fdf5411
Remove ``DocumenterBridge`` (#13984)
AA-Turner Oct 21, 2025
465b758
Extract ``_generate_directives()`` from ``Documenter._generate()`` (#…
AA-Turner Oct 21, 2025
e347e59
Fix #13939: LaTeX: page break after admonition title (#13988)
jfbu Oct 24, 2025
7993a8b
Use more type aliases for autodoc event listeners (#14008)
AA-Turner Oct 29, 2025
de745a9
Consolidate option spec processing into ``_directive_options.py`` (#1…
AA-Turner Oct 29, 2025
48f6739
Accept a sequence of strings in ``extract_summary()`` (#14014)
AA-Turner Nov 2, 2025
54e80f7
Calculate and use the ``docstring_lines`` attribute (#14015)
AA-Turner Nov 2, 2025
bb6b79b
Inline ``_get_doc()`` into ``_get_docstring_lines()`` (#14016)
AA-Turner Nov 2, 2025
08c7ee3
Use ``parent_modname`` and ``canonical_module_name`` (#14017)
AA-Turner Nov 2, 2025
8c86bad
Remove ``env`` from autodoc interfaces (#14018)
AA-Turner Nov 3, 2025
fcc9ca0
Define and use ``TEST_ROOTS_DIR`` (#14020)
AA-Turner Nov 3, 2025
83442be
Group the type alias cross-referencing test with Python domain tests …
AA-Turner Nov 3, 2025
8ca7120
Split out ``test_ext_autodoc_typehints`` (#14027)
AA-Turner Nov 4, 2025
6127d76
Integrate autodoc event callbacks into importer (#14031)
AA-Turner Nov 4, 2025
6de23cd
Split autodoc signature utilities to a new module (#14032)
AA-Turner Nov 4, 2025
4d2bd1e
Split autodoc name parsing utilities to a new module (#14033)
AA-Turner Nov 4, 2025
796a572
Combine type comment utilities into ``_type_comments.py`` (#14034)
AA-Turner Nov 4, 2025
f7b98a0
Split autodoc loader functions to a new module (#14035)
AA-Turner Nov 4, 2025
e3175f4
Reorganise and rename ``sphinx.ext.autodoc._importer`` (#14036)
AA-Turner Nov 4, 2025
245dea0
Fix ``autodoc_type_aliases`` when appearing in PEP 604 unions (``X | …
taminomara Nov 5, 2025
9eb3d79
Add a shared utilities module for autodoc (#14037)
AA-Turner Nov 5, 2025
b9d5d2b
Reduce autodoc test duration by up to four times (#14039)
AA-Turner Nov 6, 2025
62619bd
Fix test_command_line for Python 3.15 (#14040)
AA-Turner Nov 9, 2025
5b922b4
Fix #14059 (PDF build crash with French since August 2025 LaTeX) (#14…
jfbu Nov 15, 2025
5d0ad16
Correct CHANGES entry and latex comments from #14060 (#14062)
jfbu Nov 15, 2025
67762d8
Add ``mathjax_config_file`` to load MathJax configuration from a file…
randolf-scholz Nov 24, 2025
c06bfce
linkcheck: Allow case-insensitive URL comparisons (#14046)
FazeelUsmani Nov 24, 2025
401d81f
Do not run ``window.history.replaceState()`` unconditionally (#13918)
haampie Nov 24, 2025
aeabc11
Implement smarter reference comparison for i18n (#14001)
dariomesic Nov 24, 2025
2ee17b6
Add DAMASK as an example using the PyData theme (#14063)
MarDiehl Nov 24, 2025
815f99b
Remove mypy overrides for ``tests/test_writers/test_docutilsconf.py``…
adamtheturtle Nov 24, 2025
95b9b3e
Remove mypy overrides for ``tests/test_transforms/test_transforms_pos…
adamtheturtle Nov 24, 2025
edd2bd3
Remove mypy overrides for ``tests/test_theming/test_theming.py`` (#14…
adamtheturtle Nov 24, 2025
19acb6f
Remove mypy overrides for ``tests/test_builders/test_build_html_5_out…
adamtheturtle Nov 24, 2025
0bdfa74
Use PEP 654 ``ExceptionGroup`` for autosummary import errors (#14075)
flying-sheep Nov 24, 2025
9996271
Fix code block caption of github workflow file in tutorial (#14019)
SilverRainZ Nov 24, 2025
2c3e22e
Use new package name for ``roman-numerals``
AA-Turner Nov 24, 2025
994a062
Fix typos found by codespell (#13992)
DimitriPapadopoulos Nov 24, 2025
8e78242
autodoc: fix logging of tracebacks (#13944)
spaceone Nov 24, 2025
0d5fcb8
Move pytest configuration settings to ``.pytest.toml`` (#14082)
AA-Turner Nov 24, 2025
5c245c3
Bump Ruff to 0.14.1
AA-Turner Nov 24, 2025
235cdd5
Bump Ruff to 0.14.2
AA-Turner Nov 24, 2025
22bb79e
Update JavaScript dependencies
AA-Turner Nov 25, 2025
707f210
autodoc: Ensure type statements don't inherit docstrings (#14068)
LecrisUT Nov 25, 2025
9ca942b
Support images with non-base64 data URIs (#14006)
SilverRainZ Nov 25, 2025
2ce07da
Update translation contribution guidance (#14083)
AA-Turner Nov 25, 2025
b01bd64
Bump astral-sh/setup-uv to v7 (#13937)
dependabot[bot] Nov 25, 2025
fe29bec
Bump actions/setup-node to v6 (#13951)
dependabot[bot] Nov 25, 2025
8637484
Bump actions/upload-artifact to v5 (#13993)
dependabot[bot] Nov 25, 2025
a1695e8
Bump pyright to 1.1.407 (#13994)
dependabot[bot] Nov 25, 2025
6f9561e
Bump types-requests to 2.32.4.20250913 (#13891)
dependabot[bot] Nov 25, 2025
88dcaed
Add historical context about Web Support (#13678)
kaycebasques Nov 25, 2025
adee286
Bump actions/checkout from v6 (#14077)
dependabot[bot] Nov 25, 2025
0f021c2
Introduce ``_auto_document_object()`` (#14084)
AA-Turner Nov 25, 2025
84c2e99
Bump types-pygments to 2.19.0.20251121 (#14086)
dependabot[bot] Nov 25, 2025
21e6a24
Bump Ruff to 0.14.6 (#14085)
dependabot[bot] Nov 25, 2025
0170148
Introduce ``sphinx.ext.autodoc._dynamic`` subpackage (#14087)
AA-Turner Nov 25, 2025
14694d4
Make ``sphinx.ext.autodoc._directive`` private (#14090)
AA-Turner Nov 25, 2025
4ba30e2
Restore the legacy implementation of autodoc for compatibility (#14091)
AA-Turner Nov 25, 2025
8256092
Retarget to Sphinx 9.0 (#14093)
AA-Turner Nov 25, 2025
45e1ae6
Remove deprecated API (#14095)
AA-Turner Nov 25, 2025
828bdca
Isolate a pair of HTML build 'numfig' test cases (#14100)
jayaddison Nov 26, 2025
187a2d2
Add configuration options to the ``duration`` extension (#13469)
user27182 Nov 27, 2025
4fb724c
Update steps for "enable GitHub Pages on your repository" (#14096)
SilverRainZ Nov 27, 2025
227b230
Refactor ``test_markup.py`` (#14102)
AA-Turner Nov 27, 2025
a82b34f
Remove 'untyped_defs' mypy overrides (#14103)
AA-Turner Nov 27, 2025
483daf7
Use Mathjax v4 by default (#14080)
mgeier Nov 27, 2025
4ea0d9f
Revert "Isolate a pair of HTML build 'numfig' test cases (#14100)" (#…
jayaddison Nov 27, 2025
87c931b
autodoc: Fix subclassing a MockObject together with ``typing.Generic`…
AA-Turner Nov 27, 2025
202a53c
Allow directory path separators in slowest-read-duration timing patte…
jayaddison Nov 27, 2025
63f80ad
Reduce pyright exclusions (#14111)
AA-Turner Nov 28, 2025
f85eef1
Bump to 9.0.0 candidate 1
AA-Turner Nov 28, 2025
d9cd749
Bump version
AA-Turner Nov 28, 2025
76de0c1
Emend typo in CHANGES.rst
AA-Turner Nov 28, 2025
113cfe1
Remove accidental dependency on ipython (#14113)
eli-schwartz Nov 28, 2025
dbb4e99
Use the ``FORWARDREF`` annotation format with ``inspect.signature()``…
ruipin Nov 29, 2025
aef4468
Fix formatting of 'configuration' section in ``duration.rst`` (#14115)
gerhardtgao Nov 29, 2025
efe627a
Ensure that the 'tags' argument is not required until Sphinx 11 (#14118)
AA-Turner Nov 29, 2025
e591423
Always use forward slash (``/``) in opf spines (#14067)
turky Nov 29, 2025
cad3c43
Fix infinite loop in ``sphinx.writers.text.TextWrapper`` (#13762)
picnixz Nov 29, 2025
15986f8
Bump to 9.0.0 candidate 2
AA-Turner Nov 29, 2025
718fae0
Bump version
AA-Turner Nov 29, 2025
e552f84
Be explicit with replacement in ``_InventoryItem`` warning (#14121)
Carreau Nov 29, 2025
aad73ef
intersphinx: Handle string interpolation failures in ``_fetch_invento…
mattdc2 Nov 29, 2025
1520f98
Clarify a CHANGES entry
AA-Turner Nov 29, 2025
1e5f2f9
Improve event manager API documentation (#14122)
AA-Turner Nov 30, 2025
71eb23a
Fix ``PicklingError`` caused by ``BuildEnvironment._builder_cls`` (#1…
AA-Turner Nov 30, 2025
b47fa78
Bump pypi-attestations to 0.0.28
AA-Turner Nov 30, 2025
baf359e
Don't include HTML content in title search index (#13356)
wlach Nov 30, 2025
42cf2c3
autodoc: Use a shared logger (#14124)
AA-Turner Nov 30, 2025
bec5c49
Fix docstring of ``sphinx.util.parsing.nested_parse_to_nodes()`` (#14…
gmilde Nov 30, 2025
dac2d8b
Bump to 9.0.0 candidate 3
AA-Turner Nov 30, 2025
f974137
Bump version
AA-Turner Nov 30, 2025
03c66f5
Use first-party software to publish GitHub Releases (#14128)
2bndy5 Nov 30, 2025
2502bfc
autodoc: Improve type hints for events (#14126)
AA-Turner Nov 30, 2025
2ac430c
Fix autodoc event handler in sphinx.ext.napoleon (#14127)
AA-Turner Nov 30, 2025
766976f
Run the ty type checker in CI (#14129)
AA-Turner Nov 30, 2025
4f23c99
Fix .gitattributes for latin-1 encoded files
AA-Turner Nov 30, 2025
4a3bd13
js domain: Remove extra brackets from function arguments and errors (…
SilverRainZ Nov 30, 2025
17380a5
Bump to 9.0.0 candidate 4
AA-Turner Nov 30, 2025
3cd545f
Bump version
AA-Turner Nov 30, 2025
2d0a416
Fix intersphinx file cache (#14130)
AA-Turner Nov 30, 2025
a22dfab
Permit filtering warnings generated during source code parsing (#13894)
HeinischValentin Nov 30, 2025
28c31aa
Fix CHANGES entry for non-decodable bytes
AA-Turner Nov 30, 2025
aea90c9
Bump to 9.0.0 final
AA-Turner Nov 30, 2025
9a11033
Bump version
AA-Turner Dec 1, 2025
4e902a4
Bump Ruff to 0.14.7 (#14134)
dependabot[bot] Dec 1, 2025
0204145
linkcheck: Reduce test duration on Windows (#14133)
jayaddison Dec 1, 2025
a03556f
Shrink mypy whitelist for ``tests.test_builders.test_build_latex`` (#…
danieleades Dec 1, 2025
ded587e
Shrink mypy whitelist for ``tests.test_directives.test_directive_patc…
danieleades Dec 1, 2025
61f9b70
Bump mypy to 1.19.0 (#14135)
dependabot[bot] Dec 1, 2025
baffcf0
autodoc: Deprecate mapping interface for options (#14140)
AA-Turner Dec 1, 2025
5931339
[bot]: Update message catalogues (#13387)
github-actions[bot] Dec 1, 2025
48840e6
Note updated message catalogues in CHANGES
AA-Turner Dec 1, 2025
a837378
Bump to 9.0.1 final
AA-Turner Dec 1, 2025
547a1d1
Bump version
AA-Turner Dec 2, 2025
c043841
Shrink mypy whitelist for ``tests.test_transforms.test_transforms_pos…
danieleades Dec 2, 2025
7926051
Recommend ``uv`` for local development (#14148)
danieleades Dec 3, 2025
1281a83
autodoc: Restore ``mock`` module for compatibility (#14152)
AA-Turner Dec 3, 2025
1ac581c
Bump to 9.0.2 final
AA-Turner Dec 3, 2025
b745a11
Bump version
AA-Turner Dec 3, 2025
7d05936
autodoc: Restore some missing exports
AA-Turner Dec 4, 2025
bd89f96
Import names from defining module
AA-Turner Dec 4, 2025
df8a9e7
Bump to 9.0.3 final
AA-Turner Dec 4, 2025
f666208
Bump version
AA-Turner Dec 4, 2025
88a4a97
Allow reordered refs and translated display text in pending_xref (#14…
mattwang44 Dec 4, 2025
6959633
[bot]: Update message catalogues (#14155)
github-actions[bot] Dec 4, 2025
8ddba7e
Bump to 9.0.4 final
AA-Turner Dec 4, 2025
867006f
Bump version
AA-Turner Dec 5, 2025
0a577b8
Move Sphinx 9.0 CHANGES to doc/changes
AA-Turner Dec 5, 2025
ad0497b
Drop support for Python 3.11 (#14153)
AA-Turner Dec 5, 2025
a5e373c
Require Docutils 0.21 or greater (#14154)
AA-Turner Dec 5, 2025
a672c54
Bump Ruff to 0.14.8 (#14158)
dependabot[bot] Dec 5, 2025
71cc5d8
Bump types-docutils to 0.22.3.20251115 (#13634)
dependabot[bot] Dec 10, 2025
206eed6
Bump Ruff to 0.14.9 (#14169)
dependabot[bot] Dec 14, 2025
917d24e
Bump actions/upload-artifact to v6 (#14181)
dependabot[bot] Dec 15, 2025
eb4d0da
Always ignore order in ``_NodeUpdater.compare_references()`` (#14172)
m-aciek Dec 15, 2025
9257a4f
Improve type annotations with an 'extract_node' test utility (#14151)
danieleades Dec 15, 2025
b9650d5
Remove some entries from the mypy whitelist (#14182)
AA-Turner Dec 15, 2025
ce19a75
Ignore fewer Ty rules (#14184)
AA-Turner Dec 15, 2025
cc604ad
Bump mypy to 1.19.1 (#14185)
dependabot[bot] Dec 16, 2025
038fc40
autodoc: Fix duplicate ``:no-index-entry:`` for modules (#14190)
AA-Turner Dec 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ tests/roots/test-pycode/cp_1251_coded.py dos

# Non UTF-8 encodings
tests/roots/test-pycode/cp_1251_coded.py working-tree-encoding=windows-1251
tests/roots/test-root/wrongenc.inc working-tree-encoding=iso-8859
tests/roots/test-warnings/wrongenc.inc working-tree-encoding=iso-8859

# Generated files
# https://github.com/github/linguist/blob/master/docs/overrides.md
Expand All @@ -62,4 +64,5 @@ tests/roots/test-pycode/cp_1251_coded.py working-tree-encoding=windows-1251

tests/js/fixtures/**/*.js generated
sphinx/search/minified-js/*.js generated
sphinx/search/_stopwords/ generated
sphinx/themes/bizstyle/static/css3-mediaqueries.js generated
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,11 @@ updates:
directory: "/"
schedule:
interval: "daily"
- package-ecosystem: "uv"
directory: "/"
schedule:
interval: "daily"
groups:
all-dependencies:
patterns:
- "*"
8 changes: 4 additions & 4 deletions .github/workflows/builddoc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,22 +21,22 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3"
- name: Install graphviz
run: sudo apt-get install --no-install-recommends --yes graphviz
- name: Install uv
uses: astral-sh/setup-uv@v5
uses: astral-sh/setup-uv@v7
with:
version: latest
enable-cache: false
- name: Install dependencies
run: uv pip install .[docs]
run: uv pip install . --group docs
- name: Render the documentation
run: >
sphinx-build
Expand Down
67 changes: 16 additions & 51 deletions .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,31 +27,27 @@ jobs:
attestations: write # for actions/attest
id-token: write # for actions/attest & PyPI trusted publishing
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3"
- name: Install uv
uses: astral-sh/setup-uv@v5
uses: astral-sh/setup-uv@v7
with:
version: latest
enable-cache: false

- name: Install build dependencies (pypa/build, twine)
run: |
uv pip install build "twine>=5.1"
# resolution fails without betterproto
uv pip install pypi-attestations==0.0.21 betterproto==2.0.0b6
run: uv pip install --group package

- name: Build distribution
run: python -m build

- name: Check distribution
run: |
twine check dist/*
run: twine check dist/*

- name: Create Sigstore attestations for built distributions
uses: actions/attest@v1
Expand Down Expand Up @@ -85,65 +81,34 @@ jobs:
BUNDLE_PATH: "${{ steps.attest.outputs.bundle-path }}"

- name: Upload attestation bundles
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: attestation-bundles
path: /tmp/attestation-bundles/

- name: Mint PyPI API token
id: mint-token
uses: actions/github-script@v7
with:
# language=JavaScript
script: |
// retrieve the ambient OIDC token
const oidc_request_token = process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN;
const oidc_request_url = process.env.ACTIONS_ID_TOKEN_REQUEST_URL;
const oidc_resp = await fetch(`${oidc_request_url}&audience=pypi`, {
headers: {Authorization: `bearer ${oidc_request_token}`},
});
const oidc_token = (await oidc_resp.json()).value;

// exchange the OIDC token for an API token
const mint_resp = await fetch('https://pypi.org/_/oidc/github/mint-token', {
method: 'post',
body: `{"token": "${oidc_token}"}` ,
headers: {'Content-Type': 'application/json'},
});
const api_token = (await mint_resp.json()).token;

// mask the newly minted API token, so that we don't accidentally leak it
core.setSecret(api_token)
core.setOutput('api-token', api_token)

- name: Upload to PyPI
env:
TWINE_NON_INTERACTIVE: "true"
TWINE_USERNAME: "__token__"
TWINE_PASSWORD: "${{ steps.mint-token.outputs.api-token }}"
run: |
twine upload dist/* --attestations
run: twine upload dist/* --attestations

github-release:
runs-on: ubuntu-latest
name: GitHub release
environment: release
if: github.repository_owner == 'sphinx-doc'
permissions:
contents: write # for softprops/action-gh-release to create GitHub release
contents: write # needed to create a GitHub release
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Get release version
id: get_version
uses: actions/github-script@v7
with:
script: core.setOutput('version', context.ref.replace("refs/tags/v", ""))

- name: Create GitHub release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
name: "Sphinx ${{ steps.get_version.outputs.version }}"
body: "Changelog: https://www.sphinx-doc.org/en/master/changes.html"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG: ${{ github.ref_name }}
run: >-
gh release create "${TAG}"
--title "Sphinx ${TAG#v}"
--notes "Changelog: https://www.sphinx-doc.org/en/master/changes.html"
74 changes: 57 additions & 17 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false

Expand All @@ -42,84 +42,124 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3"
- name: Install uv
uses: astral-sh/setup-uv@v5
uses: astral-sh/setup-uv@v7
with:
version: latest
enable-cache: false
- name: Install dependencies
run: uv pip install ".[lint,test]"
run: uv pip install -r pyproject.toml --group package --group test --group types
- name: Type check with mypy
run: mypy

pyright:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3"
- name: Install uv
uses: astral-sh/setup-uv@v5
uses: astral-sh/setup-uv@v7
with:
version: latest
enable-cache: false
- name: Install dependencies
run: uv pip install ".[lint,test]"
run: uv pip install -r pyproject.toml --group package --group test --group types
- name: Type check with pyright
run: pyright

ty:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3"
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
version: latest
enable-cache: false
- name: Install dependencies
run: uv pip install -r pyproject.toml --group package --group test --group types
- run: echo "$(which python)"
- name: Type check with ty
run: ty check --color=always --python="$(which python)"

docs-lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3"
- name: Install uv
uses: astral-sh/setup-uv@v5
uses: astral-sh/setup-uv@v7
with:
version: latest
enable-cache: false
- name: Install dependencies
run: uv pip install --upgrade sphinx-lint
run: uv pip install --group lint
- name: Lint documentation with sphinx-lint
run: make doclinter

twine:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3"
- name: Install uv
uses: astral-sh/setup-uv@v5
uses: astral-sh/setup-uv@v7
with:
version: latest
enable-cache: false
- name: Install dependencies
run: uv pip install --upgrade twine build
run: uv pip install --group package
- name: Lint with twine
run: |
python -m build .
twine check dist/*

prettier:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
cache: "npm"
- run: >
npx prettier@3.5
--check
"sphinx/themes/**/*.js"
"!sphinx/themes/bizstyle/static/css3-mediaqueries*.js"
"tests/js/**/*.{js,mjs}"
"!tests/js/fixtures/**"
2 changes: 1 addition & 1 deletion .github/workflows/lock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
issues: write
pull-requests: write
steps:
- uses: actions/github-script@v7
- uses: actions/github-script@v8
with:
retries: 3
# language=JavaScript
Expand Down
Loading