Sphinx 4.1

版本 4.1.2 (发布于 2021 年 7 月 27 日)

不兼容的变更

  • #9435: linkcheck: 禁用检查 github.com 上自动生成的锚点 (例如 reST/Markdown 文档中的锚点)

修复的 Bug

  • #9489: autodoc: 使用 typing.NewType 的自定义类型在 3.10 的 HEAD 版本中显示不佳

  • #9490: autodoc: typing 模块下的一些对象在 3.10 的 HEAD 版本中显示不佳

  • #9436, #9471: autodoc: 如果 autodoc_class_signature = "separated" 则崩溃

  • #9456: html search: html_copy_source 无法控制搜索摘要

  • #9500: LaTeX: 在 Windows 上构建日文文档失败

  • #9435: linkcheck: 检查 github.com 中的锚点失败

版本 4.1.1 (发布于 2021 年 7 月 15 日)

依赖项

  • #9434: sphinxcontrib-htmlhelp-2.0.0 或更高版本

  • #9434: sphinxcontrib-serializinghtml-1.1.5 或更高版本

修复的 Bug

  • #9438: html: 指定为文件的 HTML 徽标或 Favicon 在输出时未找到

版本 4.1.0 (发布于 2021 年 7 月 12 日)

依赖项

  • 支持 jinja2-3.0

已弃用

  • sphinx.environment.BuildEnvironmentapp 参数变为必填项

  • sphinx.application.Sphinx.html_theme

  • sphinx.ext.autosummary._app

  • sphinx.util.docstrings.extract_metadata()

新增功能

  • #8107: autodoc: 为 autoclass 指令添加 class-doc-from 选项,以控制特定类的内容,如 autoclass_content

  • #8588: autodoc: autodoc_type_aliases 现在支持点名。它允许您为带有模块名称的类定义别名,如 foo.bar.BazClass

  • #9175: autodoc: 特殊成员未在模块中记录

  • #9195: autodoc: typing.Literal 的参数渲染错误

  • #9185: autodoc: autodoc_typehints 允许使用 'both' 设置,以便类型提示可以同时包含在签名和描述中

  • #4257: autodoc: 添加 autodoc_class_signature 以分离类条目和 __init__() 方法的定义

  • #8061, #9218: autodoc: 支持别名类的变量注释

  • #3014: autodoc: 添加 autodoc-process-bases 以修改类定义的基类

  • #9272: autodoc: 更好地渲染默认参数值的枚举值

  • #9384: autodoc: autodoc_typehints='none' 现在会擦除变量、属性和特性的类型提示

  • #3257: autosummary: 支持类的实例属性

  • #9358: html: 为 toctree 项添加“heading”角色

  • #9225: html: 为方法/函数的返回类型提示添加 span 标签

  • #9129: html search: 当 html_copy_source = False 时显示搜索摘要

  • #9307: html search: 阻止搜索字段中的更正和补全

  • #9120: html theme: 从可复制文本中消除代码块的提示符

  • #9176: i18n: 如果在 locale_dirs 下找不到消息目录文件,则发出调试消息

  • #9414: LaTeX: 为中文文档的默认 fvset 配置添加 xeCJKVerbAddon

  • #9016: linkcheck: 支持检查 github.com 上的锚点

  • #9016: linkcheck: 添加新事件 linkcheck-process-uri 以在检查超链接之前修改 URI

  • #6525: linkcheck: 添加 linkcheck_allowed_redirects 以将重定向到预期 URL 的超链接标记为“工作正常”

  • #1874: py domain: 支持 info-field-list 中使用 | 的联合类型

  • #9268: py domain: python_use_unqualified_type_names 支持 info-field-list 中的类型字段

  • #9097: 优化并行构建

  • #9131: 添加 nitpick_ignore_regex 以使用正则表达式忽略挑剔的警告

  • #9174: 添加 Sphinx.set_html_assets_policy 以告知扩展程序将 HTML 资产包含在所有页面中。扩展程序可以通过 Sphinx.registry.html_assets_policy 检查此项

  • C++,添加对以下内容的支持:

    • inline 变量,

    • consteval 函数,

    • constinit 变量,

    • char8_t,

    • explicit(<constant expression>) 说明符,

    • 字面量中的数字分隔符,以及

    • 占位符类型说明符中的约束,即形容词语法(例如,Sortable auto &v)。

  • C,添加对字面量中的数字分隔符的支持。

  • #9166: LaTeX: 支持 LaTeX 输出中的容器

修复的 Bug

  • #8872: autodoc: 堆叠的 singledispatches 渲染错误

  • #8597: autodoc: 只有元数据的 docstring 应该被视为未文档化

  • #9185: autodoc: 重载函数和方法的类型提示不准确

  • #9250: autodoc: 没有 docstring 的继承方法解析错误

  • #9283: autodoc: autoattribute 指令未能为没有任何注释的属性生成文档

  • #9364: autodoc: 默认参数值中的单个元素元组渲染错误

  • #9362: autodoc: 在处理 Tuple[()] 的子类时引发 AttributeError

  • #9404: autodoc: 通过 autoclass 指令处理类字典对象(不是类)时引发 TypeError

  • #9317: html: 在第一页按左键会导致访问下一页

  • #9381: html: html_favicon 和 html_log 的 URL 不起作用

  • #9270: html theme: pyramid 主题生成错误的徽标链接

  • #9217: manpage: 由 man_make_section_directory 生成的 manpage 目录名称不正确

  • #9350: manpage: 修复 samp 角色顶部关键字后字体未重置的问题

  • #9306: 当远程服务器在 HEAD 请求时关闭连接时,Linkcheck 报告断开链接

  • #9280: py domain: 未显示“exceptions”模块

  • #9418: py domain: 没有参数的 Callable 注释(例如 Callable[[], None]) 将以缺少一个括号的方式渲染(Callable[], None]

  • #9319: quickstart: 当 conf.py 已经存在时,使 sphinx-quickstart 退出

  • #9387: xml: XML Builder 忽略自定义访问器

  • #9224: :param::type: 字段不支持包含空格的类型(例如 Dict[str, str]

  • #8945: 转换类型化字段时,调用指定的角色而不是创建单个 xref。对于 C 和 C++,对类型化字段使用 expr 角色。