Release 3.0.0 (in development) ============================== Dependencies ------------ * LaTeX: drop dependency on :program:`extractbb` for image inclusion in Japanese documents as ``.xbb`` files are unneeded by :program:`dvipdfmx` since TeXLive2015 (refs: #6189) * babel-2.0 or above is available (Unpinned) Incompatible changes -------------------- * Drop features and APIs deprecated in 1.8.x * #247: autosummary: stub files are overwritten automatically by default. see :confval:`autosummary_generate_overwrite` to change the behavior * #5923: autodoc: the members of ``object`` class are not documented by default when ``:inherited-members:`` and ``:special-members:`` are given. * #6830: py domain: ``meta`` fields in info-field-list becomes reserved. They are not displayed on output document now * #6417: py domain: doctree of desc_parameterlist has been changed. The argument names, annotations and default values are wrapped with inline node * The structure of ``sphinx.events.EventManager.listeners`` has changed * Due to the scoping changes for :rst:dir:`productionlist` some uses of :rst:role:`token` must be modified to include the scope which was previously ignored. * #6903: Internal data structure of C, Python, reST and standard domains have changed. The node_id is added to the index of objects and modules. Now they contains a pair of docname and node_id for cross reference. * #7276: C++ domain: Non intended behavior is removed such as ``say_hello_`` links to ``.. cpp:function:: say_hello()`` * #7210: js domain: Non intended behavior is removed such as ``parseInt_`` links to ``.. js:function:: parseInt`` * #7229: rst domain: Non intended behavior is removed such as ``numref_`` links to ``.. rst:role:: numref`` * #6903: py domain: Non intended behavior is removed such as ``say_hello_`` links to ``.. py:function:: say_hello()`` * #7246: py domain: Drop special cross reference helper for exceptions, functions and methods Deprecated ---------- * ``desc_signature['first']`` * ``sphinx.directives.DescDirective`` * ``sphinx.domains.std.StandardDomain.add_object()`` * ``sphinx.domains.python.PyDecoratorMixin`` * ``sphinx.parsers.Parser.app`` * ``sphinx.testing.path.Path.text()`` * ``sphinx.testing.path.Path.bytes()`` * ``sphinx.util.inspect.getargspec()`` * ``sphinx.writers.latex.LaTeXWriter.format_docclass()`` Features added -------------- * #247: autosummary: Add :confval:`autosummary_generate_overwrite` to overwrite old stub file * #5923: autodoc: ``:inherited-members:`` option takes a name of anchestor class not to document inherited members of the class and uppers * #6830: autodoc: consider a member private if docstring contains ``:meta private:`` in info-field-list * #7165: autodoc: Support Annotated type (PEP-593) * #2815: autodoc: Support singledispatch functions and methods * #7079: autodoc: :confval:`autodoc_typehints` accepts ``"description"`` configuration. It shows typehints as object description * #7314: apidoc: Propagate ``--maxdepth`` option through package documents * #6558: glossary: emit a warning for duplicated glossary entry * #3106: domain: Register hyperlink target for index page automatically * #6558: std domain: emit a warning for duplicated generic objects * #6830: py domain: Add new event: :event:`object-description-transform` * #6895: py domain: Do not emit nitpicky warnings for built-in types * py domain: Support lambda functions in function signature * #6417: py domain: Allow to make a style for arguments of functions and methods * Support priority of event handlers. For more detail, see :py:meth:`.Sphinx.connect()` * #3077: Implement the scoping for :rst:dir:`productionlist` as indicated in the documentation. * #1027: Support backslash line continuation in :rst:dir:`productionlist`. * #7108: config: Allow to show an error message from conf.py via ``ConfigError`` * #7032: html: :confval:`html_scaled_image_link` will be disabled for images having ``no-scaled-link`` class * #7144: Add CSS class indicating its domain for each desc node * #7211: latex: Use babel for Chinese document when using XeLaTeX * #6672: LaTeX: Support LaTeX Theming (experimental) * #7005: LaTeX: Add LaTeX styling macro for :rst:role:`kbd` role * #7220: genindex: Show "main" index entries at first * #7103: linkcheck: writes all links to ``output.json`` * #7025: html search: full text search can be disabled for individual document using ``:nosearch:`` file-wide metadata * #7142: html theme: Add a theme option: ``pygments_dark_style`` to switch the style of code-blocks in dark mode Bugs fixed ---------- * C++, fix cross reference lookup in certain cases involving function overloads. * #5078: C++, fix cross reference lookup when a directive contains multiple declarations. * C++, suppress warnings for directly dependent typenames in cross references generated automatically in signatures. * #5637: autodoc: Incorrect handling of nested class names on show-inheritance * #7267: autodoc: error message for invalid directive options has wrong location * #5637: inheritance_diagram: Incorrect handling of nested class names * #7139: ``code-block:: guess`` does not work * #7278: html search: Fix use of ``html_file_suffix`` instead of ``html_link_suffix`` in search results * #7179: std domain: Fix whitespaces are suppressed on referring GenericObject * #7289: console: use bright colors instead of bold Testing -------- Release 2.4.5 (in development) ============================== Dependencies ------------ Incompatible changes -------------------- Deprecated ---------- Features added -------------- Bugs fixed ---------- Testing -------- Release 2.4.4 (released Mar 05, 2020) ===================================== Bugs fixed ---------- * #7197: LaTeX: platex cause error to build image directive with target url * #7223: Sphinx builds has been slower since 2.4.0 Release 2.4.3 (released Feb 22, 2020) ===================================== Bugs fixed ---------- * #7184: autodoc: ``*args`` and ``**kwarg`` in type comments are not handled properly * #7189: autodoc: classmethod coroutines are not detected * #7183: intersphinx: ``:attr:`` reference to property is broken * #6244, #6387: html search: Search breaks/hangs when built with dirhtml builder * #7195: todo: emit doctree-resolved event with non-document node incorrectly Release 2.4.2 (released Feb 19, 2020) ===================================== Bugs fixed ---------- * #7138: autodoc: ``autodoc.typehints`` crashed when variable has unbound object as a value * #7156: autodoc: separator for keyword only arguments is not shown * #7146: autodoc: IndexError is raised on suppressed type_comment found * #7161: autodoc: typehints extension does not support parallel build * #7178: autodoc: TypeError is raised on fetching type annotations * #7151: crashed when extension assigns a value to ``env.indexentries`` * #7170: text: Remove debug print * #7137: viewcode: Avoid to crash when non-python code given Release 2.4.1 (released Feb 11, 2020) ===================================== Bugs fixed ---------- * #7120: html: crashed when on scaling SVG images which have float dimentions * #7126: autodoc: TypeError: 'getset_descriptor' object is not iterable Release 2.4.0 (released Feb 09, 2020) ===================================== Deprecated ---------- * The ``decode`` argument of ``sphinx.pycode.ModuleAnalyzer()`` * ``sphinx.directives.other.Index`` * ``sphinx.environment.temp_data['gloss_entries']`` * ``sphinx.environment.BuildEnvironment.indexentries`` * ``sphinx.environment.collectors.indexentries.IndexEntriesCollector`` * ``sphinx.ext.apidoc.INITPY`` * ``sphinx.ext.apidoc.shall_skip()`` * ``sphinx.io.FiletypeNotFoundError`` * ``sphinx.io.get_filetype()`` * ``sphinx.pycode.ModuleAnalyzer.encoding`` * ``sphinx.roles.Index`` * ``sphinx.util.detect_encoding()`` * ``sphinx.util.get_module_source()`` * ``sphinx.util.inspect.Signature`` * ``sphinx.util.inspect.safe_getmembers()`` * ``sphinx.writers.latex.LaTeXTranslator.settings.author`` * ``sphinx.writers.latex.LaTeXTranslator.settings.contentsname`` * ``sphinx.writers.latex.LaTeXTranslator.settings.docclass`` * ``sphinx.writers.latex.LaTeXTranslator.settings.docname`` * ``sphinx.writers.latex.LaTeXTranslator.settings.title`` * ``sphinx.writers.latex.ADDITIONAL_SETTINGS`` * ``sphinx.writers.latex.DEFAULT_SETTINGS`` * ``sphinx.writers.latex.LUALATEX_DEFAULT_FONTPKG`` * ``sphinx.writers.latex.PDFLATEX_DEFAULT_FONTPKG`` * ``sphinx.writers.latex.XELATEX_DEFAULT_FONTPKG`` * ``sphinx.writers.latex.XELATEX_GREEK_DEFAULT_FONTPKG`` Features added -------------- * #6910: inheritance_diagram: Make the background of diagrams transparent * #6446: duration: Add ``sphinx.ext.durations`` to inspect which documents slow down the build * #6837: LaTeX: Support a nested table * #7115: LaTeX: Allow to override LATEXOPTS and LATEXMKOPTS via environment variable * #6966: graphviz: Support ``:class:`` option * #6696: html: ``:scale:`` option of image/figure directive not working for SVG images (imagesize-1.2.0 or above is required) * #6994: imgconverter: Support illustrator file (.ai) to .png conversion * autodoc: Support Positional-Only Argument separator (PEP-570 compliant) * autodoc: Support type annotations for variables * #2755: autodoc: Add new event: :event:`autodoc-before-process-signature` * #2755: autodoc: Support type_comment style (ex. ``# type: (str) -> str``) annotation (python3.8+ or `typed_ast `_ is required) * #7051: autodoc: Support instance variables without defaults (PEP-526) * #6418: autodoc: Add a new extension ``sphinx.ext.autodoc.typehints``. It shows typehints as object description if ``autodoc_typehints = "description"`` set. This is an experimental extension and it will be integrated into autodoc core in Sphinx-3.0 * SphinxTranslator now calls visitor/departure method for super node class if visitor/departure method for original node class not found * #6418: Add new event: :event:`object-description-transform` * py domain: :rst:dir:`py:data` and :rst:dir:`py:attribute` take new options named ``:type:`` and ``:value:`` to describe its type and initial value * #6785: py domain: ``:py:attr:`` is able to refer properties again * #6772: apidoc: Add ``-q`` option for quiet mode Bugs fixed ---------- * #6925: html: Remove redundant type="text/javascript" from