Release 7.0.0 (in development) ============================== Dependencies ------------ Incompatible changes -------------------- * #11359: Remove long-deprecated aliases for ``MecabSplitter`` and ``DefaultSplitter`` in ``sphinx.search.ja``. * #11360: Remove deprecated ``make_old_id`` functions in domain object description classes. * #11363: Remove the Setuptools integration (``build_sphinx`` hook in ``setup.py``). Deprecated ---------- Features added -------------- Bugs fixed ---------- Testing -------- Release 6.2.1 (released Apr 25, 2023) ===================================== Bugs fixed ---------- * #11355: Revert the default type of :confval:`nitpick_ignore` and :confval:`nitpick_ignore_regex` to ``list``. Release 6.2.0 (released Apr 23, 2023) ===================================== Dependencies ------------ * Require Docutils 0.18.1 or greater. Incompatible changes -------------------- * LaTeX: removal of some internal TeX ``\dimen`` registers (not previously publicly documented) as per 5.1.0 code comments in ``sphinx.sty``: ``\sphinxverbatimsep``, ``\sphinxverbatimborder``, ``\sphinxshadowsep``, ``\sphinxshadowsize``, and ``\sphinxshadowrule``. (refs: #11105) * Remove ``.egg`` support from pycode ``ModuleAnalyser``; Python eggs are a now-obsolete binary distribution format * #11089: Remove deprecated code in ``sphinx.builders.linkcheck``. Patch by Daniel Eades * Remove internal-only ``sphinx.locale.setlocale`` Deprecated ---------- * #11247: Deprecate the legacy ``intersphinx_mapping`` format * ``sphinx.util.osutil.cd`` is deprecated in favour of ``contextlib.chdir``. Features added -------------- * #11277: :rst:dir:`autoproperty` allows the return type to be specified as a type comment (e.g., ``# type: () -> int``). Patch by Bénédikt Tran * #10811: Autosummary: extend ``__all__`` to imported members for template rendering when option ``autosummary_ignore_module_all`` is set to ``False``. Patch by Clement Pinard * #11147: Add a ``content_offset`` parameter to ``nested_parse_with_titles()``, allowing for correct line numbers during nested parsing. Patch by Jeremy Maitin-Shepard * Update to Unicode CLDR 42 * Add a ``--jobs`` synonym for ``-j``. Patch by Hugo van Kemenade * LaTeX: a command ``\sphinxbox`` for styling text elements with a (possibly rounded) box, optional background color and shadow, has been added. See :ref:`sphinxbox`. (refs: #11224) * LaTeX: add ``\sphinxstylenotetitle``, ..., ``\sphinxstylewarningtitle``, ..., for an extra layer of mark-up freeing up ``\sphinxstrong`` for other uses. See :ref:`latex-macros`. (refs: #11267) * LaTeX: :dudir:`note`, :dudir:`hint`, :dudir:`important` and :dudir:`tip` can now each be styled as the other admonitions, i.e. possibly with a background color, individual border widths and paddings, possibly rounded corners, and optional shadow. See :ref:`additionalcss`. (refs: #11234) * LaTeX: admonitions and :dudir:`topic` (and :dudir:`contents `) directives, and not only :rst:dir:`code-block`, support ``box-decoration-break=slice``. * LaTeX: let rounded boxes support up to 4 distinct border-widths (refs: #11243) * LaTeX: new options ``noteTextColor``, ``noteTeXextras`` et al. See :ref:`additionalcss`. * LaTeX: support elliptical corners in rounded boxes. (refs: #11254) * #11150: Include source location in highlighting warnings, when lexing fails. Patch by Jeremy Maitin-Shepard * #11281: Support for :confval:`imgmath_latex` ``= 'tectonic'`` or ``= 'xelatex'``. Patch by Dimitar Dimitrov * #11109, #9643: Add :confval:`python_display_short_literal_types` option for condensed rendering of ``Literal`` types. Bugs fixed ---------- * #11079: LaTeX: figures with align attribute may disappear and strangely impact following lists * #11093: LaTeX: fix "multiply-defined references" PDF build warnings when one or more reST labels directly precede an :rst:dir:`py:module` or :rst:dir:`automodule` directive. Patch by Bénédikt Tran (picnixz) * #11110: LaTeX: Figures go missing from latex pdf if their files have the same base name and they use a post transform. Patch by aaron-cooper * LaTeX: fix potential color leak from shadow to border of rounded boxes, if shadow color is set but border color is not * LaTeX: fix unintended 1pt upwards vertical shift of code blocks frames respective to contents (when using rounded corners) * #11235: LaTeX: added ``\color`` in topic (or admonition) contents may cause color leak to the shadow and border at a page break * #11264: LaTeX: missing space before colon after "Voir aussi" for :rst:dir:`seealso` directive in French * #11268: LaTeX: longtable with left alignment breaks out of current list indentation context in PDF. Thanks to picnixz. * #11274: LaTeX: external links are not properly escaped for ``\sphinxupquote`` compatibility * #11147: Fix source file/line number info in object description content and in other uses of ``nested_parse_with_titles``. Patch by Jeremy Maitin-Shepard. * #11192: Restore correct parallel search index building. Patch by Jeremy Maitin-Shepard * Use the new Transifex ``tx`` client Testing -------- * Fail testing when any Python warnings are emitted * Migrate remaining ``unittest.TestCase`` style test functions to pytest style * Remove tests that rely on setuptools Release 6.1.3 (released Jan 10, 2023) ===================================== Bugs fixed ---------- * #11116: Reverted to previous Sphinx 5 node copying method * #11117: Reverted changes to parallel image processing from Sphinx 6.1.0 * #11119: Supress ``ValueError`` in the ``linkcheck`` builder Release 6.1.2 (released Jan 07, 2023) ===================================== Bugs fixed ---------- * #11101: LaTeX: ``div.topic_padding`` key of sphinxsetup documented at 5.1.0 was implemented with name ``topic_padding`` * #11099: LaTeX: ``shadowrule`` key of sphinxsetup causes PDF build to crash since Sphinx 5.1.0 * #11096: LaTeX: ``shadowsize`` key of sphinxsetup causes PDF build to crash since Sphinx 5.1.0 * #11095: LaTeX: shadow of :dudir:`topic` and :dudir:`contents ` boxes not in page margin since Sphinx 5.1.0 * #11100: Fix copying images when running under parallel mode. Release 6.1.1 (released Jan 05, 2023) ===================================== Bugs fixed ---------- * #11091: Fix ``util.nodes.apply_source_workaround`` for ``literal_block`` nodes with no source information in the node or the node's parents. Release 6.1.0 (released Jan 05, 2023) ===================================== Dependencies ------------ * Adopted the `Ruff`_ code linter. .. _Ruff: https://github.com/charliermarsh/ruff Incompatible changes -------------------- * #10979: gettext: Removed support for pluralisation in ``get_translation``. This was unused and complicated other changes to ``sphinx.locale``. Deprecated ---------- * ``sphinx.util`` functions: * Renamed ``sphinx.util.typing.stringify()`` to ``sphinx.util.typing.stringify_annotation()`` * Moved ``sphinx.util.xmlname_checker()`` to ``sphinx.builders.epub3._XML_NAME_PATTERN`` Moved to ``sphinx.util.display``: * ``sphinx.util.status_iterator`` * ``sphinx.util.display_chunk`` * ``sphinx.util.SkipProgressMessage`` * ``sphinx.util.progress_message`` Moved to ``sphinx.util.http_date``: * ``sphinx.util.epoch_to_rfc1123`` * ``sphinx.util.rfc1123_to_epoch`` Moved to ``sphinx.util.exceptions``: * ``sphinx.util.save_traceback`` * ``sphinx.util.format_exception_cut_frames`` Features added -------------- * Cache doctrees in the build environment during the writing phase. * Make all writing phase tasks support parallel execution. * #11072: Use PEP 604 (``X | Y``) display conventions for ``typing.Optional`` and ``typing.Optional`` types within the Python domain and autodoc. * #10700: autodoc: Document ``typing.NewType()`` types as classes rather than 'data'. * Cache doctrees between the reading and writing phases. Bugs fixed ---------- * #10962: HTML: Fix the multi-word key name lookup table. * Fixed support for Python 3.12 alpha 3 (changes in the ``enum`` module). * #11069: HTML Theme: Removed outdated "shortcut" link relation keyword. * #10952: Properly terminate parallel processes on programme interuption. * #10988: Speed up ``TocTree.resolve()`` through more efficient copying. * #6744: LaTeX: support for seealso directive should be via an environment to allow styling. * #11074: LaTeX: Can't change sphinxnote to use sphinxheavybox starting with 5.1.0 Release 6.0.1 (released Jan 05, 2023) ===================================== Dependencies ------------ * Require Pygments 2.13 or later. Bugs fixed ---------- * #10944: imgmath: Fix resolving image paths for files in nested folders. Release 6.0.0 (released Dec 29, 2022) ===================================== Dependencies ------------ * #10468: Drop Python 3.6 support * #10470: Drop Python 3.7, Docutils 0.14, Docutils 0.15, Docutils 0.16, and Docutils 0.17 support. Patch by Adam Turner Incompatible changes -------------------- * #7405: Removed the jQuery and underscore.js JavaScript frameworks. These frameworks are no longer be automatically injected into themes from Sphinx 6.0. If you develop a theme or extension that uses the ``jQuery``, ``$``, or ``$u`` global objects, you need to update your JavaScript to modern standards, or use the mitigation below. The first option is to use the sphinxcontrib.jquery_ extension, which has been developed by the Sphinx team and contributors. To use this, add ``sphinxcontrib.jquery`` to the ``extensions`` list in ``conf.py``, or call ``app.setup_extension("sphinxcontrib.jquery")`` if you develop a Sphinx theme or extension. The second option is to manually ensure that the frameworks are present. To re-add jQuery and underscore.js, you will need to copy ``jquery.js`` and ``underscore.js`` from `the Sphinx repository`_ to your ``static`` directory, and add the following to your ``layout.html``: .. code-block:: html+jinja {%- block scripts %} {{ super() }} {%- endblock %} .. _sphinxcontrib.jquery: https://github.com/sphinx-contrib/jquery/ Patch by Adam Turner. * #10471, #10565: Removed deprecated APIs scheduled for removal in Sphinx 6.0. See :ref:`dev-deprecated-apis` for details. Patch by Adam Turner. * #10901: C Domain: Remove support for parsing pre-v3 style type directives and roles. Also remove associated configuration variables ``c_allow_pre_v3`` and ``c_warn_on_allowed_pre_v3``. Patch by Adam Turner. Features added -------------- * #10924: LaTeX: adopt better looking defaults for tables and code-blocks. See :confval:`latex_table_style` and the ``pre_border-radius`` and ``pre_background-TeXcolor`` :ref:`additionalcss` for the former defaults and how to re-enact them if desired. Bugs fixed ---------- * #10984: LaTeX: Document :confval:`latex_additional_files` behavior for files with ``.tex`` extension. Release 5.3.0 (released Oct 16, 2022) ===================================== * #10759: LaTeX: add :confval:`latex_table_style` and support the ``'booktabs'``, ``'borderless'``, and ``'colorrows'`` styles. (thanks to Stefan Wiehler for initial pull requests #6666, #6671) * #10840: One can cross-reference including an option value like ``:option:`--module=foobar```, ``:option:`--module[=foobar]``` or ``:option:`--module foobar```. Patch by Martin Liska. * #10881: autosectionlabel: Record the generated section label to the debug log. * #10268: Correctly URI-escape image filenames. * #10887: domains: Allow sections in all the content of all object description directives (e.g. :rst:dir:`py:function`). Patch by Adam Turner Release 5.2.3 (released Sep 30, 2022) ===================================== * #10878: Fix base64 image embedding in ``sphinx.ext.imgmath`` * #10886: Add ``:nocontentsentry:`` flag and global domain table of contents entry control option. Patch by Adam Turner Release 5.2.2 (released Sep 27, 2022) ===================================== * #10872: Restore link targets for autodoc modules to the top of content. Patch by Dominic Davis-Foster. Release 5.2.1 (released Sep 25, 2022) ===================================== Bugs fixed ---------- * #10861: Always normalise the ``pycon3`` lexer to ``pycon``. * Fix using ``sphinx.ext.autosummary`` with modules containing titles in the module-level docstring. Release 5.2.0.post0 (released Sep 24, 2022) =========================================== * Recreated source tarballs for Debian maintainers. Release 5.2.0 (released Sep 24, 2022) ===================================== Dependencies ------------ * #10356: Sphinx now uses declarative metadata with ``pyproject.toml`` to create packages, using PyPA's ``flit`` project as a build backend. Patch by Adam Turner. Deprecated ---------- * #10843: Support for HTML 4 output. Patch by Adam Turner. Features added -------------- * #10738: napoleon: Add support for docstring types using 'of', like ``type of type``. Example: ``tuple of int``. * #10286: C++, support requires clauses not just between the template parameter lists and the declaration. * #10755: linkcheck: Check the source URL of raw directives that use the ``url`` option. * #10781: Allow :rst:role:`ref` role to be used with definitions and fields. * #10717: HTML Search: Increase priority for full title and subtitle matches in search results * #10718: HTML Search: Save search result score to the HTML element for debugging * #10673: Make toctree accept 'genindex', 'modindex' and 'search' docnames * #6316, #10804: Add domain objects to the table of contents. Patch by Adam Turner * #6692: HTML Search: Include explicit :rst:dir:`index` directive index entries in the search index and search results. Patch by Adam Turner * #10816: imgmath: Allow embedding images in HTML as base64 * #10854: HTML Search: Use browser localstorage for highlight control, stop storing highlight parameters in URL query strings. Patch by Adam Turner. Bugs fixed ---------- * #10723: LaTeX: 5.1.0 has made the 'sphinxsetup' ``verbatimwithframe=false`` become without effect. * #10257: C++, ensure consistent non-specialization template argument representation. * #10729: C++, fix parsing of certain non-type template parameter packs. * #10715: Revert #10520: "Fix" use of sidebar classes in ``agogo.css_t`` Release 5.1.1 (released Jul 26, 2022) ===================================== Bugs fixed ---------- * #10701: Fix ValueError in the new ``deque`` based ``sphinx.ext.napolean`` iterator implementation. * #10702: Restore compatability with third-party builders. Release 5.1.0 (released Jul 24, 2022) ===================================== Dependencies ------------ * #10656: Support `Docutils 0.19`_. Patch by Adam Turner. .. _Docutils 0.19: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05 Deprecated ---------- * #10467: Deprecated ``sphinx.util.stemmer`` in favour of ``snowballstemmer``. Patch by Adam Turner. * #9856: Deprecated ``sphinx.ext.napoleon.iterators``. Features added -------------- * #10444: html theme: Allow specifying multiple CSS files through the ``stylesheet`` setting in ``theme.conf`` or by setting ``html_style`` to an iterable of strings. * #10366: std domain: Add support for emphasising placeholders in :rst:dir:`option` directives through a new :confval:`option_emphasise_placeholders` configuration option. * #10439: std domain: Use the repr of some variables when displaying warnings, making whitespace issues easier to identify. * #10571: quickstart: Reduce content in the generated ``conf.py`` file. Patch by Pradyun Gedam. * #10648: LaTeX: CSS-named-alike additional :ref:`'sphinxsetup' ` keys allow to configure four separate border-widths, four paddings, four corner radii, a shadow (possibly inset), colours for border, background, shadow for each of the code-block, topic, attention, caution, danger, error and warning directives. * #10655: LaTeX: Explain non-standard encoding in LatinRules.xdy * #10599: HTML Theme: Wrap consecutive footnotes in an ``