Skip to content

Commit

Permalink
Merge branch 'refs/heads/master' into tutorial-autodoc-parallel
Browse files Browse the repository at this point in the history
  • Loading branch information
AA-Turner committed Apr 17, 2024
2 parents 333c1b3 + 0d1e41f commit 5067eb9
Show file tree
Hide file tree
Showing 148 changed files with 56,838 additions and 52,994 deletions.
152 changes: 110 additions & 42 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,15 +1,62 @@
Release 7.3.0 (in development)
Release 7.3.5 (in development)
==============================

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


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 +69,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 +145,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 +168,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 +216,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
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
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
4 changes: 2 additions & 2 deletions sphinx/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""The Sphinx documentation toolchain."""

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

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

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

Expand Down
7 changes: 6 additions & 1 deletion sphinx/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,9 @@ def __getstate__(self) -> dict:
# create a picklable copy of ``self._options``
__dict__['_options'] = _options = {}
for name, opt in self._options.items():
if not isinstance(opt, _Opt) and isinstance(opt, tuple) and len(opt) <= 3:
# Fix for Furo's ``_update_default``.
self._options[name] = opt = _Opt(*opt)
real_value = getattr(self, name)
if not is_serializable(real_value):
if opt.rebuild:
Expand Down Expand Up @@ -531,6 +534,8 @@ def _validate_valid_types(
return valid_types
if isinstance(valid_types, type):
return frozenset((valid_types,))
if valid_types is Any:
return frozenset({Any}) # type: ignore[arg-type]
if isinstance(valid_types, set):
return frozenset(valid_types)
if not isinstance(valid_types, tuple):
Expand Down Expand Up @@ -655,7 +660,7 @@ def check_confval_types(app: Sphinx | None, config: Config) -> None:
if default is None and not valid_types:
continue # neither inferable nor explicitly annotated types

if valid_types is Any: # any type of value is accepted
if valid_types == frozenset({Any}): # any type of value is accepted
continue

if isinstance(valid_types, ENUM):
Expand Down
Binary file modified sphinx/locale/ar/LC_MESSAGES/sphinx.mo
Binary file not shown.
Loading

0 comments on commit 5067eb9

Please sign in to comment.