Sphinx 3.5

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

依赖项

  • #9071:将Docutils限制为0.16

修复的错误

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

  • #8870, #9001, #9051: html主题:样式在Docutils 0.17中未应用

    • toctree 标题

    • The content of sidebar directive

    • 图像

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

添加的功能

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

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

修复的错误

  • #8943: i18n: 由于西班牙语、希腊语和克罗地亚语中的错误翻译消息而崩溃

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

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

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

修复的错误

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

  • #8884: HTML: 未包含在分发包中的最小化 JS 词干提取器

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

  • #8880: viewcode: 在发现无法解析的Python模块后,增量构建时引发了ExtensionError

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

依赖项

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

不兼容的变化

过时

  • 待处理的 xref 节点用于 viewcode 扩展

  • 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: autodata 和 autoattribute 指令如果 docstring 中的 info-field-list 包含 :meta hide-value: ,则不显示变量的右侧值

  • #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: 通过 priority 参数允许更改 Sphinx.add_js_file()Sphinx.add_css_file() 的 JS/CSS 顺序

  • #6241: html: 允许在扩展调用 app.add_js_file()app.add_css_file() 时,通过 html-page-context 事件将 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 风格文档字符串中的类型定义被呈现为引用

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

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

  • #8651: 标准域:具有内联项的目录交叉引用损坏

  • #7642: 标准域:优化术语的不区分大小写匹配

  • #8681: 视图代码:支持增量构建

  • #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 选项,仅渲染嵌套声明.

修复的错误

  • #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 角色中的 “Caps Lock” 渲染不正确

  • #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: 在单一 HTML 之后的增量构建中生成锚点

  • #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 (文档): Sphinx中LaTeX生成步骤的潜在显示错误(如何生成单列索引)

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

  • #8214: LaTeX: index 角色和术语表在 LaTeX 索引中生成重复条目(如果同时用于相同术语)

  • #8735: LaTeX: 当 numfig 不为 True 时,pdf 中对带标题代码块的错误内部链接

  • #8442: LaTeX:使用xelatex引擎(或pdflatex并且:confval:latex_use_xindy 设置为 True )以及memoir类时,一些索引术语被忽略

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

  • #8780: LaTeX: 窄列中的长词可能无法断字

  • #8788: LaTeX:\titleformat 的最后一个参数在 sphinx.sty 中应该用方括号括起来,而不是用大括号括起来(而且实际上是不需要的)

  • #8849: LaTeX:代码块打印在边界之外(请参见可选的 LaTeX 语法布尔值 verbatimforcewraps 用于通过 ‘sphinxsetup’latex_elements 的键中使用)

  • #8183: LaTeX: 仅在LaTeX构建上从文档树中移除substitution_reference节点

  • #8865: LaTeX: 仅在LaTeX构建中重新结构化标题节点内的索引节点

  • #8796: LaTeX: 潜在的关键低级 TeX 编码错误迄今未被注意到

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

  • C, c:alias 当根符号未声明时会发出警告.

  • C, expr 角色应在当前作用域中开始符号查找.