Sphinx 4.3

版本 4.3.2 (发布于 2021 年 12 月 19 日)

修复的 Bug

  • #9917: C 和 C++,无论简单类型说明符的顺序如何,都解析基本类型。

版本 4.3.1 (发布于 2021 年 11 月 28 日)

新增功能

  • #9864: mathjax: 支持通过 mathjax_options 将 MathJax 的加载方法更改为“defer”

修复的 Bug

  • #9838: autodoc: 为由 functools.lru_cache 装饰的函数构建文档时引发 AttributeError

  • #9879: autodoc: 为具有无效 __doc__ 属性的对象构建文档时引发 AttributeError

  • #9844: autodoc: 如果 autodoc_preserve_defaults 启用,则无法处理用 functools.partial 包装的函数

  • #9872: html: autodoc 签名和 Docutils 0.17 之间的类命名空间冲突

  • #9868: imgmath: 如果 dvisvgm 命令无法转换公式则崩溃

  • #9864: mathjax: 无法通过 MathJax v2 渲染公式。MathJax 的加载方法再次回到“async”方法

版本 4.3.0 (发布于 2021 年 11 月 11 日)

依赖项

  • 支持 Python 3.10

不兼容的变更

  • #9649: searchindex.js: 嵌入数据的格式已更改,以允许不同域中具有相同名称的对象。

  • #9672: Python 域声明的渲染使用更多 Docutils 节点实现,以允许更好的 CSS 样式。这可能会破坏现有样式。

  • #9672: domains.python.PyObject.get_signature_prefix 的签名已更改为返回节点列表而不是纯字符串。

  • #9695: domains.js.JSObject.display_prefix 已更改为方法 get_display_prefix,它现在返回节点列表而不是纯字符串。

  • #9695: Javascript 域声明的渲染使用更多 Docutils 节点实现,以允许更好的 CSS 样式。这可能会破坏现有样式。

  • #9450: mathjax: 通过“defer”策略加载 MathJax

已弃用

  • sphinx.ext.autodoc.AttributeDocumenter._datadescriptor

  • sphinx.writers.html.HTMLTranslator._fieldlist_row_index

  • sphinx.writers.html.HTMLTranslator._table_row_index

  • sphinx.writers.html5.HTML5Translator._fieldlist_row_index

  • sphinx.writers.html5.HTML5Translator._table_row_index

新增功能

  • #9639: autodoc: 支持异步生成器函数

  • #9664: autodoc: autodoc-process-bases 支持注入 reST 片段作为基类

  • #9691: C, 为 c:functionc:macro 添加了新的信息字段 retval

  • C++, 为 cpp:function 添加了新的信息字段 retval

  • #9618: i18n: 添加 gettext_allow_fuzzy_translations 以允许翻译“模糊”消息

  • #9672: Python 域描述上更多 CSS 类

  • #9695: Javascript 域描述上更多 CSS 类

  • #9683: 恢复移除 add_stylesheet() API。它将保留到 Sphinx 6.0 版本

  • #2068, 添加 intersphinx_disabled_reftypes,用于禁用没有显式清单规范的交叉引用 interphinx 解析。可以禁用特定类型的交叉引用,例如 std:doc,或特定域中的所有交叉引用,例如 std:*

  • #9623: 允许使用 suppress_warnings 抑制“toctree 包含对排除文档的引用”警告

修复的 Bug

  • #9630: autodoc: 如果 primary_domain 不是 'py',则无法构建交叉引用

  • #9644: autodoc: 从问题对象获取源信息时崩溃

  • #9655: autodoc: 具有文档注释的模拟对象意外发出警告

  • #9651: autodoc: 即使 autodoc_typehints_description_target 设置为“documented”,当其信息字段列表包含 :returns: 字段时,也不会生成返回类型字段

  • #9657: autodoc: 模拟对象的子类的基类不正确

  • #9607: autodoc: 通用类的子类的基类检测不正确

  • #9755: autodoc: 别名显示内存地址

  • #9752: autodoc: 无法检测 slots 属性的类型注释

  • #9756: autodoc: 如果 classmethod 没有 __func__ 属性则崩溃

  • #9757: autodoc: autodoc_inherit_docstrings 对被覆盖的 classmethods 无效

  • #9781: autodoc: autodoc_preserve_defaults 不支持十六进制数字

  • #9630: autosummary: 如果 primary_domain 不是 'py',则无法构建摘要表

  • #9670: html: 修复带有特殊字符的下载文件

  • #9710: html: 嵌套表中奇偶行的样式错误

  • #9763: html: 参数名及其类型注释在 HTML 中未分隔

  • #9649: HTML 搜索: 当对象具有相同的名称但在不同域中时,返回所有结果而不仅仅是一个。

  • #7634: intersphinx: 子目录中文件的引用已损坏

  • #9737: LaTeX: hlist 呈现为包含“aggedright”文本的列表

  • #9678: linkcheck: 警告中文件扩展名显示两次

  • #9697: py 域: 对于带有 :property: 选项的 py:method 指令,注册了一个带有括号的索引条目

  • #9775: py 域: 当 autodoc_typehints='description' 时,字面类型提示被转换为交叉引用

  • #9708: needs_extension 未能正确检查两位数版本

  • #9688: 修复 Sphinx 补丁 code 不识别 :class: 选项

  • #9733: 修复日志处理程序在文档构建过程中刷新警告的问题

  • #9656: 修复没有子类型的警告被错误抑制的问题

  • Intersphinx,对于带有显式清单的未解析引用,例如 proj:myFunc,将清单前缀留在未解析文本中。