Sphinx 3.0

Release 3.0.4 (released May 27, 2020)

Bugs fixed

  • #7567: autodoc: parametrized types are shown twice for generic types

  • #7637: autodoc: system defined TypeVars are shown in Python 3.9

  • #7696: html: Updated jQuery version from 3.4.1 to 3.5.1 for security reasons

  • #7611: md5 fails when OpenSSL FIPS is enabled

  • #7626: release package does not contain CODE_OF_CONDUCT

Release 3.0.3 (released Apr 26, 2020)

Features added

  • C, parse array declarators with static, qualifiers, and VLA specification.

Bugs fixed

  • #7516: autodoc: crashes if target object raises an error on accessing its attributes

Release 3.0.2 (released Apr 19, 2020)

Features added

Bugs fixed

  • #7461: py domain: fails with IndexError for empty tuple in type annotation

  • #7510: py domain: keyword-only arguments are documented as having a default of None

  • #7418: std domain: term role could not match case-insensitively

  • #7461: autodoc: empty tuple in type annotation is not shown correctly

  • #7479: autodoc: Sphinx builds has been slower since 3.0.0 on mocking

  • C++, fix spacing issue in east-const declarations.

  • #7414: LaTeX: Xindy language options were incorrect

  • Sphinx crashes with ImportError on python3.5.1

Release 3.0.1 (released Apr 11, 2020)

Incompatible changes

  • #7418: std domain: term role becomes case sensitive

Bugs fixed

  • #7428: py domain: a reference to class None emits a nitpicky warning

  • #7445: py domain: a return annotation None in the function signature is not converted to a hyperlink when using intersphinx

  • #7418: std domain: duplication warning for glossary terms is case insensitive

  • #7438: C++, fix merging overloaded functions in parallel builds.

  • #7422: autodoc: fails with ValueError when using autodoc_mock_imports

  • #7435: autodoc: autodoc_typehints='description' doesn’t suppress typehints in signature for classes/methods

  • #7451: autodoc: fails with AttributeError when an object returns non-string object as a __doc__ member

  • #7423: crashed when giving a non-string object to logger

  • #7479: html theme: Do not include xmlns attribute with HTML 5 doctype

  • #7426: html theme: Escape some links in HTML templates

Release 3.0.0 (released Apr 06, 2020)

Dependencies

3.0.0b1

  • LaTeX: drop dependency on extractbb for image inclusion in Japanese documents as .xbb files are unneeded by dvipdfmx since TeXLive2015 (refs: #6189)

  • babel-2.0 or above is available (Unpinned)

Incompatible changes

3.0.0b1

  • Drop features and APIs deprecated in 1.8.x

  • #247: autosummary: stub files are overwritten automatically by default. see 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 productionlist some uses of token must be modified to include the scope which was previously ignored.

  • #6903: Internal data structure of 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

  • The C domain has been rewritten, with additional directives and roles. The existing ones are now more strict, resulting in new warnings.

  • The attribute sphinx_cpp_tagname in the desc_signature_line node has been renamed to sphinx_line_type.

  • #6462: double backslashes in domain directives are no longer replaced by single backslashes as default. A new configuration value strip_signature_backslash can be used by users to re-enable it.

3.0.0 final

  • #7222: sphinx.util.inspect.unwrap() is renamed to unwrap_all()

Deprecated

3.0.0b1

  • desc_signature['first']

  • sphinx.directives.DescDirective

  • sphinx.domains.std.StandardDomain.add_object()

  • sphinx.domains.python.PyDecoratorMixin

  • sphinx.ext.autodoc.get_documenters()

  • sphinx.ext.autosummary.process_autosummary_toc()

  • 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

3.0.0b1

  • #247: autosummary: Add autosummary_generate_overwrite to overwrite old stub file

  • #5923: autodoc: :inherited-members: option takes a name of ancestor 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: 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: 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

  • #7238, #7239: py domain: Emit a warning on describing a python object if the entry is already added as the same name

  • #7341: py domain: type annotations in signature are converted to cross refs

  • Support priority of event handlers. For more detail, see Sphinx.connect()

  • #3077: Implement the scoping for productionlist as indicated in the documentation.

  • #1027: Support backslash line continuation in productionlist.

  • #7108: config: Allow to show an error message from conf.py via ConfigError

  • #7032: html: 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 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

  • #7293: html search: Allow to override JavaScript splitter via SearchLanguage.js_splitter_code

  • #7142: html theme: Add a theme option: pygments_dark_style to switch the style of code-blocks in dark mode

  • The C domain has been rewritten adding for example:

    • Cross-referencing respecting the current scope.

    • Possible to document anonymous entities.

    • More specific directives and roles for each type of entity, e.g., handling scoping of enumerators.

    • New role c:expr for rendering expressions and types in text.

  • Added SphinxDirective.get_source_info() and SphinxRole.get_source_info().

  • #7324: sphinx-build: Emit a warning if multiple files having different file extensions for same document found

3.0.0 final

  • Added ObjectDescription.transform_content().

Bugs fixed

3.0.0b1

  • 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

  • #7329: autodoc: info-field-list is wrongly generated from type hints into the class description even if autoclass_content='class' set

  • #7331: autodoc: a cython-function is not recognized as a function

  • #5637: inheritance_diagram: Incorrect handling of nested class names

  • #7139: code-block:: guess does not work

  • #7325: html: source_suffix containing dot leads to wrong source link

  • #7357: html: Resizing SVG image fails with ValueError

  • #7278: html search: Fix use of html_file_suffix instead of html_link_suffix in search results

  • #7297: html theme: bizstyle does not support sidebarwidth

  • #3842: singlehtml: Path to images broken when master doc is not in source root

  • #7179: std domain: Fix whitespaces are suppressed on referring GenericObject

  • #7289: console: use bright colors instead of bold

  • #1539: C, parse array types.

  • #2377: C, parse function pointers even in complex types.

  • #7345: sphinx-build: Sphinx crashes if output directory exists as a file

  • #7290: sphinx-build: Ignore bdb.BdbQuit when handling exceptions

  • #6240: napoleon: Attributes and Methods sections ignore :noindex: option

3.0.0 final

  • #7364: autosummary: crashed when autosummary_generate is False

  • #7370: autosummary: raises UnboundLocalError when unknown module given

  • #7367: C++, alternate operator spellings are now supported.

  • C, alternate operator spellings are now supported.

  • #7368: C++, comma operator in expressions, pack expansion in template argument lists, and more comprehensive error messages in some cases.

  • C, C++, fix crash and wrong duplicate warnings related to anon symbols.

  • #6477: Escape first “!” in a cross reference linking no longer possible

  • #7219: py domain: The index entry generated by py:function directive is different with one from index directive with “builtin” type

  • #7301: capital characters are not allowed for node_id

  • #7301: epub: duplicated node_ids are generated

  • #6564: html: a width of table was ignored on HTML builder

  • #7401: Incorrect argument is passed for env-get-outdated handlers

  • #7355: autodoc: a signature of cython-function is not recognized well

  • #7222: autodoc: __wrapped__ functions are not documented correctly

  • #7409: intersphinx: ValueError is raised when an extension sets up intersphinx_mapping on config-inited event

  • #7343: Sphinx builds has been slower since 2.4.0 on debug mode