Skip to content

Commit

Permalink
Merge branch 'cleanup/util-2e-typing-refactor' into fix/util-3-unpack
Browse files Browse the repository at this point in the history
  • Loading branch information
picnixz committed Apr 19, 2024
2 parents 77de209 + 2e5ea02 commit cd4e712
Show file tree
Hide file tree
Showing 154 changed files with 57,103 additions and 53,026 deletions.
182 changes: 139 additions & 43 deletions CHANGES.rst
@@ -1,15 +1,90 @@
Release 7.3.0 (in development)
==============================
Release 7.3.7 (released Apr 19, 2024)
=====================================

Bugs fixed
----------

* #12299: Defer loading themes defined via entry points until
their explicit use by the user or a child theme.
Patch by Adam Turner.
* #12305: Return the default value for ``theme.get_config()`` with
an unsupported theme configuration section.
Patch by Adam Turner.

Release 7.3.6 (released Apr 17, 2024)
=====================================

Bugs fixed
----------

* #12295: Re-export all AST types in the C and C++ domains.
Patch by Adam Turner.
* #12295: Re-export various objects from ``sphinx.domains.python._annotations``
in ``sphinx.domains.python``.
Patch by Jacob Chesslo and Adam Turner.

Release 7.3.5 (released Apr 17, 2024)
=====================================

Bugs fixed
----------

* #12295: Re-export various objects from ``sphinx.domains.python._object``
in ``sphinx.domains.python``.
Patch by Jacob Chesslo and Adam Turner.

Release 7.3.4 (released Apr 17, 2024)
=====================================

Bugs fixed
----------

* Handle cases when ``Any`` is not an instance of ``type``.
Patch by Adam Turner.

Release 7.3.3 (released Apr 17, 2024)
=====================================

Bugs fixed
----------

* #12290: Fix a false-positive warning when setting a configuration value
with ``Any`` as the valid type to a type other than the value's default.
Patch by Adam Turner.

Release 7.3.2 (released Apr 17, 2024)
=====================================

Bugs fixed
----------

* Preload all themes defined via entry points.
Patch by Adam Turner.
* Fix a bad interaction between the ``'Furo'`` theme and the new-style for
configuration values.
Patch by Adam Turner.

Release 7.3.1 (released Apr 17, 2024)
=====================================

Dependencies
------------

* #11411: Support `Docutils 0.21`_. Patch by Adam Turner.
* Require ``tomli`` on Python 3.10 and earlier.
Patch by Adam Turner.

.. _Docutils 0.21: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-21-2024-04-09
Release 7.3.0 (released Apr 16, 2024)
=====================================

Incompatible changes
--------------------
Dependencies
------------

* #11858: Increase the minimum supported version of Alabaster to 0.7.14.
Patch by Adam Turner.
* #11411: Support `Docutils 0.21`_. Patch by Adam Turner.

.. _Docutils 0.21: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-21-2024-04-09
* #12012: Use ``types-docutils`` instead of ``docutils-stubs``.

Deprecated
----------
Expand All @@ -22,59 +97,57 @@ Deprecated
the public properties :attr:`!sphinx.testing.util.SphinxTestApp.status`
and :attr:`!sphinx.testing.util.SphinxTestApp.warning` instead.
Patch by Bénédikt Tran.
* tests: :func:`!sphinx.testing.util.strip_escseq` is deprecated in favor of
* tests: :func:`!sphinx.testing.util.strip_escseq` is deprecated in favour of
:func:`!sphinx.util.console.strip_colors`.
Patch by Bénédikt Tran.

Features added
--------------

* Add public type alias :class:`sphinx.util.typing.ExtensionMetadata`.
This can be used by extension developers
to annotate the return type of their ``setup`` function.
Patch by Chris Sewell.

* #12193: Improve ``external`` warnings for unknown roles.
In particular, suggest related role names if an object type is mistakenly used.
Patch by Chris Sewell.

* #12131: Added :confval:`show_warning_types` configuration option.
Patch by Chris Sewell.

* #12265: Support theme configuration via ``theme.toml``.
* #11701: HTML Search: Adopt the new `\<search\>`_ element.
Patch by Bénédikt Tran.

.. _`\<search\>`: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/search

* #11776: Add long option names to ``sphinx-build``.
Patch by Hugo van Kemenade, Adam Turner, Bénédikt Tran, and Ezio Melotti.
* Organise the ``sphinx-build`` options into groups.
Patch by Adam Turner.
* #11855: Defer computation of configuration values.
Patch by Adam Turner.
* Add ``:no-search:`` as an alias of the ``:nosearch:`` metadata field.
Patch by Adam Turner.
* #11803: autodoc: Use an overriden ``__repr__()`` function in an enum,
if defined. Patch by Shengyu Zhang.

* #11892: Improved performance when resolving cross references in cpp domain.
* #11825: Allow custom targets in the manpage role.
Patch by Nicolas Peugnet.
* #11892: Improved performance when resolving cross references in the C++ domain.
Patch by Rouslan Korneychuk.

* #11905: Add a :rst:dir:`versionremoved` directive.
Patch by Hugo van Kemenade, Adam Turner, and C.A.M. Gerlach.
* #11981: Improve rendering of signatures using ``slice`` syntax,
e.g., ``def foo(arg: np.float64[:,:]) -> None: ...``.

* The manpage builder now adds `OSC 8`_ anchors to hyperlinks, using
the `groff`_ device control command.

.. _OSC 8: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
.. _groff: https://lists.gnu.org/archive/html/groff/2021-10/msg00000.html

* #11015: :rst:dir:`versionadded` wording changes from ``New in [...]``
to ``Added in [...]``.
* #11015: Change the text of the :rst:dir:`versionadded` directive from
``New in [...]`` to ``Added in [...]``.
Patch by Bénédikt Tran.

* #12131: Added :confval:`show_warning_types` configuration option.
Patch by Chris Sewell.
* #12193: Improve ``external`` warnings for unknown roles.
In particular, suggest related role names if an object type is mistakenly used.
Patch by Chris Sewell.
* Add public type alias :class:`sphinx.util.typing.ExtensionMetadata`.
This can be used by extension developers
to annotate the return type of their ``setup`` function.
Patch by Chris Sewell.

Bugs fixed
----------

* #11959: Fix multiple term matching when word appears in both title and document.
Patch by Will Lachance.
* #11958: HTML Search: Fix partial matches overwriting full matches.
Patch by William Lachance.
* #11944: Use anchor in search preview.
Patch by Will Lachance.
* #11668: Raise a useful error when ``theme.conf`` is missing.
Patch by Vinay Sajip.
* #11622: Ensure that the order of keys in ``searchindex.js`` is deterministic.
Expand All @@ -100,9 +173,13 @@ Bugs fixed
* #11675: Fix rendering of progression bars in environments that do not support
ANSI control sequences.
Patch by Bénédikt Tran.
* #11861: Whitelist more types with an incorrect ``__module__`` attribute.
Patch by Adam Turner.
* #11715: Apply ``tls_verify`` and ``tls_cacerts`` config to
``ImageDownloader``.
Patch by Nick Touran.
* Allow hyphens in group names for :rst:dir:`productionlist` cross-references.
Patch by Adam Turner.
* #11433: Added the :confval:`linkcheck_allow_unauthorized` configuration option.
Set this option to ``False`` to report HTTP 401 (unauthorized) server
responses as broken.
Expand All @@ -119,25 +196,37 @@ Bugs fixed
Patch by Colin Marquardt.
* #11598: Do not use query components in URLs for assets in EPUB rendering.
Patch by David Runge.
* #11917: Fix rendering of annotated inherited members for Python 3.9.
Patch by Janet Carson.
* #11904: Support unary subtraction when parsing annotations.
Patch by James Addison.
* #11925: Blacklist the ``sphinxprettysearchresults`` extension; the functionality
it provides was merged into Sphinx v2.0.0.
Patch by James Addison.
* #11917: Fix rendering of annotated inherited members for Python 3.9.
Patch by Janet Carson.
* #11935: C Domain: Fix namespace-pop context.
Patch by Frank Dana.
* #11923: Avoid zombie processes when parallel builds fail.
Patch by Felix von Drigalski.
* #11353: Support enumeration classes inheriting from mixin or data types.
Patch by Bénédikt Tran.
* #11962: Fix target resolution when using ``:paramtype:`` fields.
Patch by Bénédikt Tran.
* #11944: Use anchor in search preview.
Patch by Will Lachance.
* #12008: Fix case-sensitive lookup of ``std:label`` names in intersphinx inventory.
Patch by Michael Goerz.
* #11958: HTML Search: Fix partial matches overwriting full matches.
Patch by William Lachance.
* #11959: Fix multiple term matching when word appears in both title and document.
Patch by Will Lachance.
* #11474: Fix doctrees caching causing files not be rebuilt in some cases,
e.g., when :confval:`numfig` is ``True``.
Patch by Bénédikt Tran.
* #11278: autodoc: Fix rendering of :class:`functools.singledispatchmethod`
combined with :func:`@classmethod <classmethod>`.
Patch by Bénédikt Tran.
* #11894: Do not add checksums to css files if building using the htmlhelp builder.
Patch by mkay.
Patch by reduerK akiM.
* #12052: Remove ``<script>`` and ``<style>`` tags from the content of search result
summary snippets.
Patch by James Addison.
Expand All @@ -155,26 +244,33 @@ Bugs fixed
Patch by James Addison.
* #11970: singlehtml builder: make target URIs to be same-document references in
the sense of :rfc:`RFC 3986, §4.4 <3986#section-4.4>`, e.g., ``index.html#foo``
becomes ``#foo``. Patch by eanorige.
becomes ``#foo``. Patch by Eric Norige.
* #12271: Partially revert Docutils' r9562__ to fix EPUB files.
Patch by Adam Turner.

__ https://sourceforge.net/p/docutils/code/9562/
* #12253: Escape reserved path characters in the remote images post-transform
download cache.
Patch by James Addison and Adam Turner.

Testing
-------

* Reorganise tests into directories.
Patch by Adam Turner.
* Clean up global state in ``SphinxTestApp``.
Patch by Adam Turner.
* #11285: :func:`!pytest.mark.sphinx` and :class:`!sphinx.testing.util.SphinxTestApp`
accept *warningiserror*, *keep_going* and *verbosity* as keyword arguments.
Patch by Bénédikt Tran.
* #11285: :class:`!sphinx.testing.util.SphinxTestApp` *status* and *warning*
arguments are checked to be :class:`io.StringIO` objects (the public API
incorrectly assumed this without checking it).
Patch by Bénédikt Tran.

* pytest: report the result of ``test_run_epubcheck`` as ``skipped`` instead of
``success`` when Java and/or the ``epubcheck.jar`` code are not available.
* utils: use dynamic allocation of unused port numbers for the test HTTP(S)
servers. As a side-effect, this removes the need for test server lockfiles,
* Report the result of ``test_run_epubcheck`` as ``skipped`` instead of
``success`` when either Java or ``epubcheck`` are not available.
* Use dynamic allocation of unused port numbers for the test HTTP(S) servers.
As a side-effect, this removes the need for test server lockfiles,
meaning that any remaining ``tests/test-server.lock`` files can safely be
deleted.

Expand Down
21 changes: 16 additions & 5 deletions doc/usage/configuration.rst
Expand Up @@ -345,7 +345,7 @@ General configuration
* ``app.add_role``
* ``app.add_generic_role``
* ``app.add_source_parser``
* ``autosectionlabel.*``
* ``config.cache``
* ``download.not_readable``
* ``epub.unknown_project_files``
* ``epub.duplicated_toc_entry``
Expand All @@ -367,7 +367,14 @@ General configuration
* ``toc.not_readable``
* ``toc.secnum``

Then extensions can also define their own warning types.
Extensions can also define their own warning types.
Those defined by the first-party ``sphinx.ext`` extensions are:

* ``autodoc``
* ``autodoc.import_object``
* ``autosectionlabel.<document name>``
* ``autosummary``
* ``intersphinx.external``

You can choose from these types. You can also give only the first
component to exclude all warnings attached to it.
Expand All @@ -388,7 +395,7 @@ General configuration

.. versionchanged:: 2.1

Added ``autosectionlabel.*``
Added ``autosectionlabel.<document name>``

.. versionchanged:: 3.3.0

Expand All @@ -402,9 +409,13 @@ General configuration

Added ``i18n.inconsistent_references``

.. versionadded:: 7.1
.. versionadded:: 7.1

Added ``index`` warning type.

.. versionadded:: 7.3

Added ``index`` warning type.
Added ``config.cache`` warning type.

.. confval:: needs_sphinx

Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Expand Up @@ -72,6 +72,7 @@ dependencies = [
"requests>=2.25.0",
"packaging>=21.0",
"importlib-metadata>=4.8; python_version < '3.10'",
"tomli>=2; python_version < '3.11'",
"colorama>=0.4.5; sys_platform == 'win32'",
]
dynamic = ["version"]
Expand Down
6 changes: 3 additions & 3 deletions sphinx/__init__.py
@@ -1,6 +1,6 @@
"""The Sphinx documentation toolchain."""

__version__ = '7.3.0'
__version__ = '7.3.7'
__display_version__ = __version__ # used for command line version

# Keep this file executable as-is in Python 3!
Expand Down Expand Up @@ -28,11 +28,11 @@
#:
#: .. versionadded:: 1.2
#: Before version 1.2, check the string ``sphinx.__version__``.
version_info = (7, 3, 0, 'beta', 0)
version_info = (7, 3, 7, 'final', 0)

package_dir = path.abspath(path.dirname(__file__))

_in_development = True
_in_development = False
if _in_development:
# Only import subprocess if needed
import subprocess
Expand Down

0 comments on commit cd4e712

Please sign in to comment.