Sphinx 3.5

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

依赖项

  • #9071: 将 Docutils 限制在 0.16 版本

修复的 Bug

  • #9078: autodoc: 在 Python 3.10 中,异步静态方法和类方法被视为非异步协程函数

  • #8870, #9001, #9051: html 主题: 样式未与 Docutils 0.17 一起应用

    • 目录标题

    • sidebar 指令的内容

版本 3.5.3(发布于 2021 年 3 月 20 日)

新增功能

  • #8959: 在 Windows 上,使用 UNIX 路径分隔符在图像指令中会导致 Sphinx 混淆

版本 3.5.2(发布于 2021 年 3 月 6 日)

修复的 Bug

  • #8943: i18n: 因 ES、EL 和 HR 中损坏的翻译消息而崩溃

  • #8936: LaTeX: 自定义 LaTeX 构建器因未知节点错误而失败

  • #8952: 指令中引发的异常导致并行构建挂起

版本 3.5.1(发布于 2021 年 2 月 16 日)

修复的 Bug

  • #8883: autodoc: 在只读类上分配 __annotations__ 时引发 AttributeError

  • #8884: html: 压缩的 js 词干分析器未包含在分发包中

  • #8885: html: 如果通过 html_context 安装 CSS/JS 文件,则引发 AttributeError

  • #8880: viewcode: 发现不可解析的 python 模块后,在增量构建时引发 ExtensionError

版本 3.5.0(发布于 2021 年 2 月 14 日)

依赖项

  • LaTeX: multicol(它无论如何都是官方 latex2e 基本发行版中必需的一部分)

不兼容的变更

已弃用

  • viewcode 扩展的 pending_xref 节点

  • sphinx.builders.linkcheck.CheckExternalLinksBuilder.anchors_ignore

  • sphinx.builders.linkcheck.CheckExternalLinksBuilder.auth

  • sphinx.builders.linkcheck.CheckExternalLinksBuilder.broken

  • sphinx.builders.linkcheck.CheckExternalLinksBuilder.good

  • sphinx.builders.linkcheck.CheckExternalLinksBuilder.redirected

  • sphinx.builders.linkcheck.CheckExternalLinksBuilder.rqueue

  • sphinx.builders.linkcheck.CheckExternalLinksBuilder.to_ignore

  • sphinx.builders.linkcheck.CheckExternalLinksBuilder.workers

  • sphinx.builders.linkcheck.CheckExternalLinksBuilder.wqueue

  • sphinx.builders.linkcheck.node_line_or_0()

  • sphinx.ext.autodoc.AttributeDocumenter.isinstanceattribute()

  • sphinx.ext.autodoc.directive.DocumenterBridge.reporter

  • sphinx.ext.autodoc.importer.get_module_members()

  • sphinx.ext.autosummary.generate._simple_info()

  • sphinx.ext.autosummary.generate._simple_warn()

  • sphinx.writers.html.HTMLTranslator.permalink_text

  • sphinx.writers.html5.HTML5Translator.permalink_text

新增功能

  • #8022: autodoc: 如果 docstring 在信息字段列表中包含 :meta hide-value:,则 autodata 和 autoattribute 指令不显示变量的右侧值

  • #8514: autodoc: 如果重载函数的默认值为省略号,则从实际实现中获取

  • #8775: autodoc: 支持 Python 3.10 或更高版本中的类型联合运算符 (PEP-604)

  • #8297: autodoc: 允许通过指令选项扩展 autodoc_default_options

  • #759: autodoc: 添加新的配置 autodoc_preserve_defaults 作为实验性功能。它保留了源代码中函数的默认参数值,并使其不被评估以提高可读性。

  • #8619: html: kbd 角色为复合键生成可自定义的 HTML 标签

  • #8634: html: 允许通过 Sphinx.add_js_file()Sphinx.add_css_file()priority 参数更改 JS/CSS 文件的顺序

  • #6241: html: 当扩展在 html-page-context 事件上调用 app.add_js_file()app.add_css_file() 时,允许将 JS/CSS 文件添加到特定页面

  • #6550: html: 允许通过 html_permalinks_icon 使用 HTML 永久链接文本

  • #1638: html: 将永久链接图标添加到词汇表术语

  • #8868: html 搜索: 大量列表的性能问题

  • #8867: html 搜索: 将 JavaScript 词干分析器代码更新到 Snowball 的最新版本 (v2.1.0)

  • #8852: i18n: 允许翻译 MyST-Parser 中的标题语法

  • #8649: imgconverter: 如果构建器支持图像类型,则跳过可用性检查

  • #8573: napoleon: 允许使用 napoleon_custom_sections 更改自定义部分的样式

  • #8004: napoleon: 当 napoleon_preprocess_types 启用时,Google 风格 docstring 中的类型定义被渲染为引用

  • #6241: mathjax: 仅在使用方程的文档中包含 mathjax.js

  • #8775: py domain: 支持类型联合运算符 (PEP-604)

  • #8651: std domain: 包含内联项的标题的交叉引用已损坏

  • #7642: std domain: 优化术语的不区分大小写匹配

  • #8681: viewcode: 支持增量构建

  • #8132: 添加 project_copyright 作为 copyright 的别名

  • #207: 现在 highlight_language 支持多种语言

  • #2030: code-blockliteralinclude 支持通过无参数 :dedent: 选项自动反缩进

  • C++,也在表达式和别名声明中超链接运算符重载。

  • #8247: 允许生产列表引用其他生产组中的标记

  • #8813: 在事件处理程序上发生错误时显示导致错误的扩展(或模块)

  • #8213: C++: 为 cpp:alias 添加 maxdepth 选项以插入嵌套声明。

  • C: 为 c:alias 添加 noroot 选项以仅渲染嵌套声明。

  • C++: 为 cpp:alias 添加 noroot 选项以仅渲染嵌套声明。

修复的 Bug

  • #8727: apidoc: 如果没有子模块,则不生成命名空间模块文件

  • #741: autodoc: inherited-members 对超类上的实例属性无效

  • #8592: autodoc: :meta public: 对变量无效

  • #8594: autodoc: 忽略空的 __all__ 属性

  • #8315: autodoc: 无法解析 struct.Struct 类型注释

  • #8652: autodoc: 如果模块包含无效的类型注释,则模块中的所有变量注释都将被忽略

  • #8693: autodoc: 重载函数的默认值被渲染为字符串

  • #8134: autodoc: 当模拟装饰器接受参数时崩溃

  • #8800: autodoc: 超类中未初始化的属性被识别为未文档化

  • #8655: autodoc: 如果目标模块包含在 hasattr() 上引发异常的对象,则无法生成文档

  • #8306: autosummary: 使用 :recursive: 选项时,模拟模块被文档化为空页面

  • #8232: graphviz: 如果图形文件在子目录中,则不渲染图像节点

  • #8618: html: 当复合键分隔符(-、+ 或 ^)用作击键时,kbd 角色生成不正确的 HTML

  • #8629: html: html_use_opensearch 的类型警告显示两次

  • #8714: html: 带有“大写锁定”的 kbd 角色渲染不正确

  • #8123: html 搜索: 修复搜索包含 + 的术语(需要不以 + 分割的自定义搜索语言)

  • #8665: html 主题: 无法在 theme.conf 中覆盖 globaltoc_maxdepth

  • #8446: html: 连续空格显示为单个空格

  • #8745: i18n: 当翻译消息添加新的自动脚注引用时,因 KeyError 崩溃

  • #4304: linkcheck: 修复竞争条件,该条件可能导致两次检查同一 URL 的可用性

  • #8791: linkcheck: 未显示每个超链接的文档名称

  • #7118: sphinx-quickstart: 如果 libreadline 不可用,问卷会乱码

  • #8094: texinfo: 不同目录中的图像文件不会被复制

  • #8782: todo: 待办事项列表中的交叉引用已损坏

  • #8720: viewcode: 在增量构建时为 epub 生成模块页面

  • #8704: viewcode: 在 singlehtml 之后,在增量构建中生成锚点

  • #8756: viewcode: 即使未引用,也生成突出显示的代码

  • #8671: highlight_options 无效

  • #8341: C,修复声明中名称的 intersphinx 查找类型。

  • C, C++: 通常修复 intersphinx 和角色查找类型。

  • #8683: html_last_updated_fmt 不支持 UTC 偏移 (%z)

  • #8683: html_last_updated_fmt 为 %Z 生成错误的时区

  • #1112: 指定相对路径时,download 角色会创建重复的副本

  • #2616(第五项):LaTeX: 标题中的脚注不可点击,对于手动编号的脚注,只有第一个具有相同编号的脚注才是超链接

  • #7576: 带有法语 babel 和 memoir 的 LaTeX 崩溃:“\FNH@prefntext 定义中存在非法参数编号”

  • #8055: LaTeX (docs): Sphinx 中 LaTeX 生成步骤的潜在显示错误(如何生成单列索引)

  • #8072: LaTeX: 指令 hlist 未在 LaTeX 中实现

  • #8214: LaTeX: index 角色和词汇表在 LaTeX 索引中生成重复条目(如果两者都用于同一术语)

  • #8735: LaTeX: 当 numfig 不是 True 时,PDF 中带标题代码块的内部链接不正确

  • #8442: LaTeX: 使用 xelatex 引擎(或 pdflatex 并将 latex_use_xindy 设置为 True)和 memoir 类时,某些索引术语被忽略

  • #8750: LaTeX: 如果 URL 源自函数类型签名内部,则作为脚注的 URL 无法在 PDF 中显示

  • #8780: LaTeX: 窄列中的长单词可能不会断字

  • #8788: LaTeX: sphinx.sty 中的 \titleformat 最后一个参数应该是括号,而不是花括号(无论如何也不需要)

  • #8849: LaTeX: 代码块打印超出边距(请参阅可通过 latex_elements“sphinxsetup” 键使用的可选 LaTeX 语法布尔值 verbatimforcewraps

  • #8183: LaTeX: 仅在 LaTeX 构建时从 doctree 中删除 substitution_reference 节点

  • #8865: LaTeX: 仅在 LaTeX 构建时重组标题节点内的索引节点

  • #8796: LaTeX: 潜在的致命低级 TeX 编码错误迄今为止一直未被发现

  • C: c:alias 跳过没有显式声明的符号,而不是崩溃。

  • C: c:alias 在未声明根符号时发出警告。

  • C: expr 角色应在当前范围开始符号查找。