Skip to content

Releases: sphinx-doc/sphinx

Sphinx 8.2.1

21 Feb 23:29
Compare
Choose a tag to compare

Sphinx 8.2.0

18 Feb 19:52
Compare
Choose a tag to compare

Changelog: https://www.sphinx-doc.org/en/master/changes.html

Dependencies

  • #13000: Drop Python 3.10 support.

Incompatible changes

  • #13044: Remove the internal and undocumented has_equations data
    from the MathDomain domain.
    The undocumented MathDomain.has_equations method
    now unconditionally returns True.
    These are replaced by the has_maths_elements key of the page context dict.
    Patch by Adam Turner.
  • #13227: HTML output for sequences of keys in the kbd role
    no longer uses a <kbd class="kbd compound"> element to wrap
    the keys and separators, but places them directly in the relevant parent node.
    This means that CSS rulesets targeting kbd.compound or .kbd.compound
    will no longer have any effect.
    Patch by Adam Turner.

Deprecated

  • #13037: Deprecate the SingleHTMLBuilder.fix_refuris method.
    Patch by James Addison.
  • #13083, #13330: Un-deprecate sphinx.util.import_object.
    Patch by Matthias Geier.

Features added

  • #13173: Add a new duplicate_declaration warning type,
    with duplicate_declaration.c and duplicate_declaration.cpp subtypes.
    Patch by Julien Lecomte and Adam Turner.
  • #11824: linkcode: Allow extensions to add support for a domain by defining
    the keys that should be present.
    Patch by Nicolas Peugnet.
  • #13144: Add a class option to the autosummary directive.
    Patch by Tim Hoffmann.
  • #13146: Napoleon: Unify the type preprocessing logic to allow
    Google-style docstrings to use the optional and default keywords.
    Patch by Chris Barrick.
  • #13227: Implement the kbd role as a SphinxRole.
    Patch by Adam Turner.
  • #13065: Enable colour by default in when running on CI.
    Patch by Adam Turner.
  • #13230: Allow supressing warnings from the toctree directive
    when a glob pattern doesn't match any documents,
    via the new toc.empty_glob warning sub-type.
    Patch by Slawek Figiel.
  • #9732: Add the new autodoc.mocked_object warnings sub-type.
    Patch by Cyril Roelandt.
  • #7630, #4824: autodoc: Use .pyi type stub files
    to auto-document native modules.
    Patch by Adam Turner, partially based on work by Allie Fitter.
  • #12975: Enable configuration of trailing commas in multi-line signatures
    in the Python and Javascript domains, via the new
    python_trailing_comma_in_multi_line_signatures and
    javascript_trailing_comma_in_multi_line_signatures
    configuration options.
  • #13264: Rename the math directive's nowrap option
    to no-wrap.
    Patch by Adam Turner.
  • #13269: Added the option to disable the use of type comments in
    via the new autodoc_use_type_comments option,
    which defaults to True for backwards compatibility.
    The default will change to False in Sphinx 10.
    Patch by Adam Turner.
  • #9732: Add the new ref.any warnings sub-type
    to allow suppressing the ambiguous 'any' cross-reference warning.
    Patch by Simão Afonso and Adam Turner.
  • #13272: The Python and JavaScript module directives now support
    the :no-index-entry: option.
    Patch by Adam Turner.
  • #12233: autodoc: Allow directives to use :no-index-entry:
    and include the :no-index: and :no-index-entry: options within
    autodoc_default_options.
    Patch by Jonny Saunders and Adam Turner.
  • #13172: Add support for short signatures in autosummary.
    Patch by Tim Hoffmann.
  • #13271: Change the signature prefix for abstract methods
    in the Python domain to abstractmethod from abstract.
    Patch by Adam Turner.
  • #13271: Support the :abstract: option for
    classes, methods, and properties in the Python domain.
    Patch by Adam Turner.
  • #12507: Add the collapsible <collapsible-admonitions> option
    to admonition directives.
    Patch by Chris Sewell.
  • #8191, #8159: Add include-subclasses option to
    the inheritance-diagram directive.
    Patch by Walter Dörwald.
  • #11995: autodoc: Add support for python_display_short_literal_types.
    Patch by Bénédikt Tran and Adam Turner.
  • #13163: Always print the full context when Sphinx encounters an internal error.
    Patch by Kevin Deldycke and Adam Turner.
  • #13105: Introduce the py:deco role to cross-reference decorator
    functions and methods in the Python domain.
    Patch by Adam Turner.
  • #9169: Add the intersphinx_resolve_self option
    to resolve an intersphinx reference to the current project.
    Patch by Jakob Lykke Andersen and Adam Turner.
  • #11280: Add ability to skip a particular section using the no-search class.
    Patch by Will Lachance.
  • #13326: Remove hardcoding from handling productionlist
    nodes in all writers, to improve flexibility.
    Patch by Adam Turner.
  • #13335: Use misc.highlighting_failure subtype for Pygments unknown lexers.
    Patch by Bart Kamphorst.
  • #13354: Insert abbreviation nodes (hover text) for positional- and keyword-only
    separators in Python signatures.
    Patch by Adam Turner.
  • #13333: Add the sphinx.ext.apidoc extension,
    to automate API documentation generation from Python modules.
    Patch by Chris Sewell and Adam Turner.

Bugs fixed

  • #12463: autosummary: Respect an empty module __all__.
    Patch by Valentin Pratz
  • #13060: HTML Search: use Map to store per-file term scores.
    Patch by James Addison
  • #13130: LaTeX docs: pdflatex index creation may fail for index entries
    in French. See latex_use_xindy.
    Patch by Jean-François B.
  • #13152: LaTeX: fix a typo from v7.4.0 in a default for \sphinxboxsetup.
    Patch by Jean-François B.
  • #13096: HTML Search: check that query terms exist as properties in
    term indices before accessing them.
  • #11233: linkcheck: match redirect URIs against linkcheck_ignore by
    overriding session-level requests.get_redirect_target.
  • #13195: viewcode: Fix issue where import paths differ from the directory
    structure.
    Patch by Ben Egan and Adam Turner.
  • #13188: autodoc: fix detection of class methods implemented in C.
    Patch by Bénédikt Tran.
  • #1810: Always copy static files when building, regardless of whether
    any documents have changed since the previous build.
    Patch by Adam Turner.
  • #13201: autodoc: fix ordering of members when using groupwise
    for autodoc_member_order. Class methods are now rendered
    before static methods, which themselves are rendered before regular
    methods and attributes.
    Patch by Bénédikt Tran.
  • #12975: Avoid rendering a trailing comma in C and C++ multi-line signatures.
  • #13178: autodoc: Fix resolution for pathlib types.
    Patch by Adam Turner.
  • #13136: autodoc: Correctly handle multiple inheritance.
    Patch by Pavel Holica
  • #13273, #13318: Properly convert command-line overrides for Boolean types.
    Patch by Adam Turner.
  • #13302, #13319: Use the correct indentation for continuation lines
    in productionlist directives.
    Patch by Adam Turner.
  • #13328: Fix parsing of PEP 695 functions with return annotations.
    Patch by Bénédikt Tran. Initial work by Arash Badie-Modiri.

Testing

  • #13224: Correctness fixup for test_html_multi_line_copyright.
    Patch by Colin Watson, applied by James Addison.

Sphinx 8.2.0rc2

18 Feb 00:39
Compare
Choose a tag to compare

Sphinx 8.2.0rc1

16 Feb 05:41
Compare
Choose a tag to compare

Sphinx 8.1.3

13 Oct 20:26
Compare
Choose a tag to compare

Changelog: https://www.sphinx-doc.org/en/master/changes/8.1.html

Bugs fixed

  • #13013: Restore support for cut_lines() with no object type. Patch by Adam Turner.

Sphinx 8.1.2

12 Oct 18:44
Compare
Choose a tag to compare

Changelog: https://www.sphinx-doc.org/en/master/changes/8.1.html

Bugs fixed

  • #13012: Expose sphinx.errors.ExtensionError in sphinx.util for backwards compatibility. This will be removed in Sphinx 9, as exposing the exception in sphinx.util was never intentional. ExtensionError has been part of sphinx.errors since Sphinx 0.9. Patch by Adam Turner.

Sphinx 8.1.1

11 Oct 22:49
Compare
Choose a tag to compare

Changelog: https://www.sphinx-doc.org/en/master/changes/8.1.html

Bugs fixed

  • #13006: Use the preferred https://www.cve.org/ URL for
    the :cve: role.
    Patch by Hugo van Kemenade.
  • #13007: LaTeX: Improve resiliency when the required
    fontawesome or fontawesome5 packages are not installed.
    Patch by Jean-François B.

Sphinx 8.1.0

10 Oct 15:57
Compare
Choose a tag to compare

Changelog: https://www.sphinx-doc.org/en/master/changes/8.1.html

Dependencies

  • #12756: Add lower-bounds to the sphinxcontrib-* dependencies.
    Patch by Adam Turner.
  • #12833: Update the LaTeX parskip package from 2001 to 2018.
    Patch by Jean-François B.

Incompatible changes

  • #12763: Remove unused internal class sphinx.util.Tee.
    Patch by Adam Turner.
  • #12822: LaTeX: for Unicode engines, the fvset default is changed to
    '\\fvset{fontsize=auto}' from '\\fvset{fontsize=\\small}'.
    Code-blocks are unchanged as FreeMono is now loaded with Scale=0.9.
    An adjustment to existing projects is needed only if they used a custom
    fontpkg configuration and did not set fvset.
    Patch by Jean-François B.
  • #12875: Disable smartquotes for languages: zh_CN and zh_TW by default.
    Patch by A. Rafey Khan.

Deprecated

  • #12762: Deprecate sphinx.util.import_object.
    Use importlib.import_module() instead.
    Patch by Adam Turner.
  • #12766: Deprecate sphinx.util.FilenameUniqDict
    and sphinx.util.DownloadFiles.
    Patch by Adam Turner.

Features added

  • #11328: Mention evaluation of templated content during production of static
    output files.
    Patch by James Addison.
  • #12704: LaTeX: make contents, topic,
    and sidebar directives separately customizable for PDF output.
    Patch by Jean-François B. and Bénédikt Tran.
  • #12474: Support type-dependent search result highlighting via CSS.
    Patch by Tim Hoffmann.
  • #12652: LaTeX: Add math_numsep support to latex builder.
    Patch by Thomas Fanning and Jean-François B.
  • #12743: No longer exit on the first warning when
    --fail-on-warning is used.
    Instead, exit with a non-zero status if any warnings were generated
    during the build.
    Patch by Adam Turner.
  • #12743: Add sphinx-build --exception-on-warning,
    to raise an exception when warnings are emitted during the build.
    Patch by Adam Turner and Jeremy Maitin-Shepard.
  • #12907: Add html_last_updated_use_utc to allow using
    universal time (GMT/UTC) instead of local time for the date-time
    supplied to html_last_updated_fmt.
    Patch by Adam Turner.
  • #12910: Copyright entries now support the '%Y' placeholder
    to substitute the current year.
    This is helpful for reducing the reliance on Python modules
    such as time or datetime in conf.py.
    Patch by Adam Turner.
  • #11781: Add roles for referencing CVEs (:cve:)
    and CWEs (:cwe:).
    Patch by Hugo van Kemenade.
  • #11809: Improve the formatting for RFC section anchors.
    Patch by Jakub Stasiak and Adam Turner.
  • #12852: Support a .Builder.supported_linkcode attribute
    for builders to enable use of sphinx.ext.linkcode-generated
    references.
    Patch by James Knight.
  • #12949: Print configuration options that differ from the pickled environment.
    This can be helpful in diagnosing the cause of a full rebuild.
    Patch by Adam Turner.

Bugs fixed

  • #12514: intersphinx: fix the meaning of a negative value for
    intersphinx_cache_limit.
    Patch by Shengyu Zhang.
  • #12722: LaTeX: avoid TeX reporting Overfull \hbox from too long
    strings in a codeline when the problem has actually been solved thanks
    to latexsphinxsetupforcewraps.
    Patch by Jean-François B.
  • #12730: The UnreferencedFootnotesDetector transform has been improved
    to more consistently detect unreferenced footnotes.
    Note, the priority of the transform has been changed from 200 to 622,
    so that it now runs after the docutils Footnotes resolution transform.
    Patch by Chris Sewell.
  • #12778: LaTeX: let 'sphinxsetup'
    div.topic_box-shadow key if used with only one dimension set both
    x-offset and y-offset as per documentation.
    Patch by Jean-François B.
  • #12587: Do not warn when potential ambiguity detected during Intersphinx
    resolution occurs due to duplicate targets that differ case-insensitively.
    Patch by James Addison.
  • #12639: Fix singular and plural search results text.
    Patch by Hugo van Kemenade.
  • #12645: Correctly support custom gettext output templates.
    Patch by Jeremy Bowman.
  • #12717: LaTeX: let -q (quiet) option for
    sphinx-build -M latexpdf or make latexpdf (O=-q)
    get passed to latexmk. Let -Q
    (silent) apply as well to the PDF build phase.
    Patch by Jean-François B.
  • #12744: LaTeX: Classes injected by a custom interpreted text role now give
    rise to nested \DUrole's, rather than a single one with comma separated
    classes.
    Patch by Jean-François B.
  • #12831: LaTeX: avoid large voids sometimes occurring at page bottoms.
    Patch by Jean-François B.
  • #11970, #12551: singlehtml builder: make target URIs to be same-document
    references in the sense of RFC 3986, §4.4,
    e.g., index.html#foo becomes #foo.
    (note: continuation of a partial fix added in Sphinx 7.3.0)
    Patch by James Addison (with reference to prior work by Eric Norige).
  • #12735: Fix PEP 695 generic classes LaTeX output formatting.
    Patch by Jean-François B. and Bénédikt Tran.
  • #12782: intersphinx: fix double forward slashes when generating the inventory
    file URL (user-defined base URL of an intersphinx project are left untouched
    even if they end with double forward slashes).
    Patch by Bénédikt Tran.
  • #12796: Enable parallel reading if requested,
    even if there are fewer than 6 documents.
    Patch by Matthias Geier.
  • #12844: Restore support for :noindex: for the js:module
    and py:module directives.
    Patch by Stephen Finucane.
  • #12916: Restore support for custom templates named with the legacy _t
    suffix during apidoc RST rendering (regression in 7.4.0).
    Patch by James Addison.
  • #12451: Only substitute copyright notice years with values from
    SOURCE_DATE_EPOCH for entries that match the current system clock year,
    and disallow substitution of future years.
    Patch by James Addison and Adam Turner.
  • #12905: intersphinx: fix flipped use of intersphinx_cache_limit,
    which always kept the cache for positive values, and always refreshed it for
    negative ones.
    Patch by Nico Madysa.
  • #12888: Add a warning when document is included in multiple toctrees
    and ensure deterministic resolution of global toctree in parallel builds
    by choosing the lexicographically greatest parent document.
    Patch by A. Rafey Khan
  • #12995: Significantly improve performance when building the search index
    for Chinese languages.
    Patch by Adam Turner.
  • #12767: .Builder.write is typed as final, meaning that the
    write-started event may be relied upon by extensions.
    A new .Builder.write_documents method has been added to
    control how documents are written.
    This is intended for builders that do not output a file for each document.
    Patch by Adam Turner.

Testing

  • #12141: Migrate from the deprecated karma JavaScript test framework to
    the actively-maintained jasmine framework. Test coverage is unaffected.
    Patch by James Addison.

Sphinx 8.0.2

30 Jul 01:38
Compare
Choose a tag to compare

Sphinx 8.0.1

30 Jul 00:33
Compare
Choose a tag to compare