Sphinx 4.3

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

修复的错误

  • #9917: C 和 C++,解析基本类型不考虑简单类型说明符的顺序.

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

添加的功能

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

修复的错误

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

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

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

  • #9872: html: 自动文档签名与 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,新增信息字段 retval 用于 c:functionc:macro .

  • 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 包含对排除文档的引用” 警告

修复的错误

  • #9630: autodoc: 如果 primary_domain 不是 ‘py’,则无法生成交叉引用.

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

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

  • #9651: autodoc: 即使 autodoc_typehints_description_target 设置为 “documented”,只要其 info-field-list 包含 :returns: 字段,返回类型字段也不会被生成

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

  • #9607: autodoc: 泛型类子类的基类检测不正确

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

  • #9752: autodoc: 未能检测到slots属性的类型注解

  • #9756: autodoc: 当类方法没有 __func__ 属性时崩溃

  • #9757: autodoc: autodoc_inherit_docstrings 对重写的类方法无效

  • #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 domain: 为 py:method 指令的 :property: 选项注册了带括号的索引条目

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

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

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

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

  • #9656: 修复未将子类型错误抑制的警告

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