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 期间恢复一些第三方扩展的可用性
修复的 Bug¶
#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: manpage: 默认情况下停止在构建手册页时创建节目录(参见
man_make_section_directory)
修复的 Bug¶
#9210: viewcode: 如果在并行构建时发现不可导入的模块,则崩溃
#9240: 如果不支持 pending_xref_condition 节点的扩展安装了缺失引用处理程序,则会引发未知节点错误
发布 4.0.1 (发布于 2021 年 5 月 11 日)¶
修复的 Bug¶
#9189: autodoc: 当从类的属性生成签名时引发 ValueError 时崩溃
#9188: autosummary: 如果将列表值设置为 autosummary_generate,则会发出警告
#8380: html 搜索: 搜索结果标签已损坏
#9198: i18n: Babel 在运行 compile_catalog 时发出错误
#9205: py 域: :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: 当
autodoc_typehints='description'和autoclass_content='class'设置时,info-field-list 会生成到类描述中#8898: extlinks: "%s" 在链接标题字符串中成为必需关键字
域:
Index类现在是abc.ABC的子类,用于指示在具体类中必须重写的方法#4826: py 域: Python 对象的结构已更改。添加了一个布尔值以指示 Python 对象是否是规范对象
#7425: MathJax: MathJax 从 2 更改为 3。使用自定义 MathJax 配置的用户可能需要设置旧的 MathJax 路径或更新其版本 3 的配置。请参阅
sphinx.ext.mathjax。#7784: i18n: 图像的 alt 文本已更改
#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_files变量中html 主题: 将 basic/layout.html 中的 CSS 标签移动到
css_files变量中#8915: html 主题: 对
sphinx_rtd_theme0.2.4 或更早版本发出警告#8508: LaTeX: uplatex 成为日语文档 latex_engine 的默认设置
#5977: py 域:
:var:、:cvar:和:ivar:字段不创建交叉引用#4550:
figure和table节点的align属性默认为None而不是'default'#8769: LaTeX 重构: 将 sphinx.sty 拆分为多个文件,并重命名在
latex构建输出目录中创建的一些辅助文件#8937: 使用显式标题而不是 <无标题>
#8487: csv-table 指令的 :file: 选项现在将绝对路径识别为相对于源目录的相对路径
4.0.0b2
已弃用¶
HTML 模板中的
favicon和logo变量sphinx.directives.patches.CSVTablesphinx.directives.patches.ListTablesphinx.directives.patches.RSTTablesphinx.ext.autodoc.directive.DocumenterBridge.filename_setsphinx.ext.autodoc.directive.DocumenterBridge.warn()sphinx.registry.SphinxComponentRegistry.get_source_input()sphinx.registry.SphinxComponentRegistry.source_inputssphinx.transforms.FigureAlignersphinx.util.pycompat.convert_with_2to3()sphinx.util.pycompat.execfile_()sphinx.util.smartypantssphinx.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: 图像的 alt 文本默认翻译(不带
gettext_additional_targets设置)#2018: html:
html_favicon和html_logo现在接受图像的 URL#8070: html 搜索: 支持搜索 2 个字符的单词
#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: 在处理损坏的元类时引发 TypeError
#9110: autodoc: 在 py37+ 中,GenericAlias 的元数据未渲染为引用
#9098: html: Safari 中 doctests 的复制范围保护不起作用
#9103: LaTeX: imgconverter: 即使不需要,转换也会运行
#8127: py 域: info-field-list 中的省略号导致吹毛求疵的警告
#9121: py 域: 当文档中定义了规范对象及其别名对象时,会发出重复警告
#9023: 域描述上增加了更多的 CSS 类,详情请参阅 Sphinx 添加的 Doctree 节点类。
#8195: mathjax: 将
mathjax_config重命名为mathjax2_config并添加mathjax3_config
修复的 Bug¶
4.0.0b1
#8917: autodoc: 如果函数有错误的 __globals__ 值,则会引发警告
#8415: autodoc: 从其他模块导入的 TypeVar 未解析(在 Python 3.7 或更高版本中)
#8992: autodoc: 无法解析 types.TracebackType 类型注解
#8905: html:
html_add_permalinks=None和html_add_permalinks=""被忽略#8380: html 搜索: 搜索结果中的段落未被识别为
<p>#8915: html 主题:
sphinx_rtd_theme的翻译不起作用#8342: 如果为指令或角色提供了未知域(例如
:unknown:doc:),则发出警告#7241: LaTeX:
cpp:enumerator不换行#8711: LaTeX: 代码块中的反引号在较新的 TeXLive 2019 中触发 latexpdf 构建警告(和字体更改)
#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 文件添加到特定页面