Sphinx 4.0

版本 4.0.3(发布于 2021年7月5日)

添加的特性

  • C,添加 C23 关键字 _Decimal32_Decimal64_Decimal128 .

  • #9354: C, 添加 c_extra_keywords 以允许在解析时使用用户定义的关键字.

  • 恢复移除 sphinx.util:force_decode() ,使一些第三方扩展在 5.0 中可再次使用

修复的错误

  • #9330: 更改集域: versionchanged 的内容为列表将在PDF构建期间造成错误

  • #9313: LaTeX: 自4.0以来合并单元格的复杂表格已损坏

  • #9305:LaTeX:反斜杠可能导致与日文引擎的错误可选列表 PDF 构建错误

  • #9354: C,从关键字列表中移除特殊宏名称.另见 c_extra_keywords .

  • #9322: 在PropagateDescDomain变换中引发KeyError

版本 4.0.2(发布于 2021 年 5 月 20 日)

依赖关系

  • #9216: 支持 jinja2-3.0

不兼容的更改

  • #9222: 更新 Underscore.js 至 1.13.1

  • #9217: 手册页:默认情况下停止在构建手册页时创建章节目录(见 man_make_section_directory

修复的错误

  • #9210: viewcode: 在并行构建中发现不可导入模块时崩溃

  • #9240: 如果一个不支持该节点的扩展安装了缺失引用处理程序,会引发对 pending_xref_condition 的未知节点错误

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

修复的错误

  • #9189: autodoc: 当从类的属性生成签名时引发 ValueError 导致崩溃

  • #9188: autosummary: 如果将列表值设置为 autosummary_generate,将发出警告

  • #8380: html 搜索:搜索结果的标签已损坏

  • #9198: 国际化: Babel在运行compile_catalog时发出错误

  • #9205: py domain: :canonical: 选项导致 “多个交叉引用目标” 警告

  • #9201: websupport: 抛出UndefinedError: ‘css_tag’未定义

发布 4.0.0(发布于 2021年5月9日)

依赖关系

4.0.0b1

  • 删除对 Python 3.5 的支持

  • 删除对 Docutils 0.12 和 0.13 的支持

  • LaTeX: 添加 tex-gyre 字体依赖

4.0.0b2

  • 支持 Docutils 0.17.请注意,这会改变 HTML 构建器的输出.一些主题不支持它,您需要更新您的自定义 CSS 以进行升级.

不兼容的更改

4.0.0b1

  • #8539: autodoc: info-field-list is generated into the class description when autodoc_typehints='description' and autoclass_content='class' set

  • #8898: extlinks: “%s” 成为链接标题字符串中的必需关键字

  • domain:Index 类变为 abc.ABC 的子类,以指示在具体类中必须重写的方法

  • #4826: py 域:python 对象的结构已更改.添加了一个布尔值以指示该 python 对象是规范对象

  • #7425: MathJax: MathJax 从 2 版本更改为 3 版本.使用自定义 MathJax 配置的用户可能需要设置旧的 MathJax 路径或更新他们的配置以适应 3 版本.请参阅 sphinx.ext.mathjax .

  • #7784: i18n: 图像的替代文本的msgid已更改

  • #5560: napoleon: napoleon_use_param 也影响 “其他参数” 部分

  • #7996: manpage: 默认在构建手册页时创建一个章节目录(请参见 man_make_section_directory

  • #7849: html: 将 html_codeblock_linenos_style 的默认设置更改为 'inline'

  • #8380: html搜索:搜索结果用 <p> 包裹,而不是 <div>

  • html 主题:将 basic/layout.html 中的 documentation_options.js 的 script 标签移动到 script_files 变量

  • html主题:将基本/layout.html中的CSS标签移动到 css_files 变量中

  • #8915: html 主题: 对 sphinx_rtd_theme 0.2.4 或更早版本发出警告

  • #8508: LaTeX: uplatex 成为日本文档的 latex_engine 默认设置

  • #5977: py 域::var: , :cvar::ivar: 字段不创建交叉引用

  • #4550:figuretable 节点的 align 属性默认变为 None 而不是 'default'

  • #8769: LaTeX 重构: 将 sphinx.sty 拆分为多个文件,并重命名一些在 latex 构建输出目录中创建的辅助文件

  • #8937: 使用显式标题代替<没有标题>

  • #8487: csv-table 指令的 :file: 选项现在将绝对路径识别为源目录的相对路径

4.0.0b2

过时

  • html_codeblock_linenos_style

  • HTML 模板中的 faviconlogo 变量

  • sphinx.directives.patches.CSVTable

  • sphinx.directives.patches.ListTable

  • sphinx.directives.patches.RSTTable

  • sphinx.ext.autodoc.directive.DocumenterBridge.filename_set

  • sphinx.ext.autodoc.directive.DocumenterBridge.warn()

  • sphinx.registry.SphinxComponentRegistry.get_source_input()

  • sphinx.registry.SphinxComponentRegistry.source_inputs

  • sphinx.transforms.FigureAligner

  • sphinx.util.pycompat.convert_with_2to3()

  • sphinx.util.pycompat.execfile_()

  • sphinx.util.smartypants

  • sphinx.util.typing.DirectiveOption

添加的特性

4.0.0b1

  • #8924: autodoc: 支持 TypeVar 的 bound 参数

  • #7383: autodoc: 支持属性的类型提示

  • #5603: autodoc: 允许在类具有两个不同名称时使用其规范名称引用Python类;一个是规范名称,一个是别名

  • #8539: autodoc: 添加 autodoc_typehints_description_target 以控制 autodoc_typehints=description 的行为

  • #8841: autodoc: autodoc_docstring_signature 将继续查找没有反斜杠字符的多个签名行

  • #7549: autosummary: 默认启用 autosummary_generate

  • #8898: extlinks: 允许在链接标题字符串中使用 %s

  • #4826: py 域:为 Python 指令添加 :canonical: 选项,以描述对象定义的位置

  • #7199: py 域: 添加 python_use_unqualified_type_names 以抑制 Python 参考的模块名称,如果它可以被解析(实验性)

  • #7068: py 域:添加 py:property 指令来描述一个属性

  • #7784: i18n: 图像的替代文本默认为翻译状态(不需要设置 gettext_additional_targets

  • #2018: html: html_faviconhtml_logo 现在接受图像的 URL

  • #8070: html 搜索:支持搜索两个字符的单词

  • #9036: html主题:允许继承搜索页面

  • #8938: imgconverter: 显示命令可用性检查的错误

  • #7830:为源文件和模板的变更检测添加调试日志

  • #8201: 如果toctree包含重复条目,则发出警告

  • #8326:master_doc 现已更名为 root_doc

  • #8942: C++,添加对 C++20 太空船运算符 <=> 的支持.

  • #7199: 新节点 sphinx.addnodes.pending_xref_condition 已添加.它可以根据条件选择引用的适当内容.

4.0.0b2

  • #8818: autodoc: 超类具有 Any 参数导致严格警告

  • #9095: autodoc: 处理损坏的 metaclass 时引发 TypeError

  • #9110: autodoc: GenericAlias的元数据在py37+中未作为引用呈现

  • #9098: html: doctests 的复制范围保护在 Safari 中不起作用

  • #9103: LaTeX: imgconverter: 即使不需要,转换仍然会运行

  • #8127: py 域:info-field-list 中的省略号导致严格警告

  • #9121: py 域:当文档中同时定义了规范对象及其别名对象时,发出重复警告

  • #9023: 在域描述中添加更多CSS类,详细信息请参见 Sphinx 添加的 Doctree 节点类 .

  • #8195: mathjax:将 mathjax_config 重命名为 mathjax2_config ,并添加 mathjax3_config

修复的错误

4.0.0b1

  • #8917: autodoc: 如果函数的 __globals__ 值不正确,则会发出警告

  • #8415: autodoc: 从其他模块导入的 TypeVar 在 Python 3.7 或更高版本中未被解析

  • #8992: autodoc: 无法解析 types.TracebackType 类型注解

  • #8905: html:html_add_permalinks=Nonehtml_add_permalinks="" 被忽略

  • #8380: html 搜索:搜索结果中的段落未被标识为 <p>

  • #8915: html 主题:sphinx_rtd_theme 的翻译无效

  • #8342: 如果指令或角色给定未知域,则发出警告(例如 :unknown:doc:

  • #7241: LaTeX: 对 cpp:enumerator 没有换行

  • #8711: LaTeX: 代码块中的反引号触发latexpdf构建警告(以及字体变化),使用的是较晚的TeXLive 2019版本

  • #8253: LaTeX: 未定义大小的图形被过度缩放(与像素中明确设置大小的图像相比)(仅针对 'pdflatex'/'lualatex' 修复)

  • #8881: LaTeX: PDF中的书签面板深度不足以进行导航

  • #8874: LaTeX: 修复两个小的 Pygments LaTeXFormatter 输出问题,忽略 Pygments 风格

  • #8925: LaTeX: 3.5.0 verbatimmaxunderfull 设置无法按预期工作

  • #8980: LaTeX:\pysigline 中缺少换行

  • #8995: LaTeX: 传统的 \pysiglinewithargsret 未正确计算可用的水平空间,应使用不对齐风格

  • #9009: LaTeX: “release” 值包含下划线导致无效的 LaTeX

  • #8911: C++: 在 cpp_index_common_prefix 中移除最长匹配前缀,而不是第一个匹配的前缀.

  • C,当关键字作为参数名使用时,正确拒绝函数声明.

  • #8933: viewcode: 在并行构建中未能创建反向链接

  • #8960: C 和 C++,修复函数参数列表中 (成员) 函数指针类型的渲染问题.

  • C++,修复数组声明器、指向成员(函数)声明器中的名称链接,以及在 sizeof... 的参数中.

  • C,修复数组声明中的名称链接.

4.0.0b2

  • C, C++,修复当 alias 指令是文件中第一个C/C++指令且后面有其他C/C++指令时出现的 KeyError .

4.0.0b3

  • #9167: html: 无法将CSS文件添加到特定页面