Sphinx 5.0

版本 5.0.2 (发布于 2022 年 6 月 17 日)

新增功能

  • #10523: HTML 主题:将 Docutils 的版本信息元组作为模板变量 docutils_version_info 暴露。补丁由 Adam Turner 贡献。

修复的 Bug

  • #10538: autodoc:即使 autodoc_inherit_docstring 被禁用,带有文档字符串的继承类属性也会被记录

  • #10509: autosummary:autosummary 在共享库中失败

  • #10497: py 域:未能解析 Literal 中的字符串。补丁由 Adam Turner 贡献。

  • #10523: HTML 主题:修复 Docutils 0.18+ 中引用参考文献的双括号问题。补丁由 Adam Turner 贡献。

  • #10534: Docutils 0.18+ 中 nav.contents 缺少 CSS。补丁由 Adam Turner 贡献。

版本 5.0.1 (发布于 2022 年 6 月 3 日)

修复的 Bug

  • #10498: gettext:如果节点没有行号,排序警告消息时会引发 TypeError。补丁由 Adam Turner 贡献。

  • #10493: HTML 主题:topic 指令在 Docutils 0.18 中渲染不正确。补丁由 Adam Turner 贡献。

  • #10495: 带有分隔符的 kbd 角色会引发 IndexError。补丁由 Adam Turner 贡献。

版本 5.0.0 (发布于 2022 年 5 月 30 日)

依赖项

5.0.0 b1

不兼容的变更

5.0.0 b1

  • #10031: autosummary: sphinx.ext.autosummary.import_by_name() 在导入目标对象失败时现在会引发 ImportExceptionGroup 而不是 ImportError。如果您的扩展使用此函数导入 Python 对象,请处理此异常。作为一种临时解决方案,您可以通过 grouped_exception=False 关键字参数禁用此行为,直到 v7.0。

  • #9962: texinfo:通过 @definfoenclose 命令自定义强调文本样式不受支持,因为该命令自 texinfo 6.8 起已弃用

  • #2068: intersphinx_disabled_reftypes 的默认值已从空列表更改为 ['std:doc'],以避免过于令人惊讶的静默 intersphinx 解析。要迁移:要么向 intersphinx 应该解析的引用添加显式库存名称,要么显式将此配置变量的值设置为空列表。

  • #10197: html 主题:将基本主题中的 body_min_width 设置减少到 360px

  • #9999: LaTeX:通过回车符 (CR) 分隔术语及其定义 (refs: #9985)

  • #10062: 如果在 conf.py 中未设置任何语言,则将默认语言更改为 'en'

5.0.0 最终版

  • #10474: language 不接受 None 作为其值。language 的默认值现在变为 'en'。补丁由 Adam Turner 和 Takeshi KOMIYA 贡献。

已弃用

5.0.0 b1

  • #10028: 从 Sphinx 6.0 开始,jQuery 和 underscore.js 将不再自动注入到主题中。如果您开发的主题或扩展使用 jQuery$$u 全局对象,您需要更新您的 JavaScript 或使用下面的缓解措施。

    要重新添加 jQuery 和 underscore.js,您需要将 jquery.jsunderscore.jsSphinx 仓库复制到您的 static 目录,并在您的 layout.html 中添加以下内容

    {%- block scripts %}
        <script src="{{ pathto('_static/jquery.js', resource=True) }}"></script>
        <script src="{{ pathto('_static/underscore.js', resource=True) }}"></script>
        {{ super() }}
    {%- endblock %}
    

    补丁由 Adam Turner 提供。

  • setuptools 集成。setup.py 的 build_sphinx 子命令已标记为弃用,以遵循 setuptools 团队的策略。

  • sphinx.util.i18n:babel_format_date()locale 参数现在是必需的

  • sphinx.util.i18n:format_date()language 参数现在是必需的

  • sphinx.builders.html.html5_ready

  • sphinx.io.read_doc()

  • sphinx.util.docutils.__version_info__

  • sphinx.util.docutils.is_html5_writer_available()

  • sphinx.writers.latex.LaTeXWriter.docclasses

新增功能

5.0.0 b1

  • #9075: autodoc: autodoc_typehints_format 的默认值已更改为 'smart'。它将抑制类型提示的开头模块名称(例如,io.StringIO -> StringIO)。

  • #8417: autodoc: :inherited-members: 选项现在接受多个类。它允许通过将选项指定给 automodule 指令,一次性抑制模块中多个类的继承成员

  • #9792: autodoc: 为 autodoc_typehints_description_target 添加新选项,以包括未记录的返回值,但不包括未记录的参数。

  • #10285: autodoc: 具有类型提示的 singledispatch 函数未被记录

  • autodoc: autodoc_typehints_format 现在也适用于属性、数据、特性和类型变量边界。

  • #10258: autosummary: 识别模块的已记录属性为非导入的

  • #10028: 删除了 JavaScript 框架(jQuery 和 underscore.js)的内部用法,并将 doctools.jssearchtools.js 现代化为 EMCAScript 2018。补丁由 Adam Turner 贡献。

  • #10302: C++,添加对条件表达式 (?:) 的支持。

  • #5157, #10251: 内联代码能够通过 role 指令进行高亮显示

  • #10337: 通过在构建期间缓存 Publisher 对象来加快 sphinx-build 的速度。补丁由 Adam Turner 贡献。

修复的 Bug

5.0.0 b1

  • #10200: apidoc: 对于同时具有 .pyx 和 .so 文件的模块,会显示重复的子模块。补丁由 Adam Turner 和 Takeshi KOMIYA 贡献。

  • #10279: autodoc: 重载函数中仅关键字参数的默认值被渲染为字符串文字

  • #10280: autodoc: 如果文档字符串有多个签名,autodoc_docstring_signature 会意外地为构造函数生成返回值类型提示

  • #10266: autodoc: autodoc_preserve_defaults 对于混合了带/不带默认值的仅关键字参数不起作用

  • #10310: autodoc: 类方法在用模拟函数装饰时未被记录

  • #10305: autodoc: 未能通过 autodoc_type_aliases 正确提取可选的向前引用类型提示

  • #10421: autodoc: autodoc_preserve_defaults 对类方法不起作用

  • #10214: html: 如果 language 包含国家代码(例如 zh_CN),则生成了无效的语言标签

  • #9974: html: jQuery 版本已从 3.5.1 更新到 3.6.0

  • #10236: html 搜索: 搜索结果中对象重复

  • #9962: texinfo: 在构建 texinfo 文档时,@definfoenclose 命令的弃用消息

  • #10000: LaTeX: 具有共同定义的词汇术语以过多的垂直空白呈现

  • #10188: LaTeX: 交替多次引用的脚注在 pdf 输出中产生 ?

  • #10363: LaTeX: 使 'howto' 标题页规则使用 \linewidth,以兼容 twocolumn 类选项的使用

  • #10318: literalinclude 指令的 :prepend: 选项与 :dedent: 选项不兼容

5.0.0 最终版

  • #9575: autodoc: 当 autodoc_typehints="description" 时,不应显示返回值的注释

  • #9648: autodoc: 当 autodoc_typehints="description" 时,*args**kwargs 条目重复

  • #8180: autodoc: 属性的文档字符串元数据被忽略

  • #10443: epub: EPUB 构建器无法检测 .webp 文件的 mimetype

  • #10104: gettext: 如果第三方扩展没有提供正确的信息,则显示重复的位置

  • #10456: py 域: 如果文档字符串包含两个或更多元字段,则会显示 :meta: 字段

  • #9096: sphinx-build: 并行构建的进度条值错误

  • #10110: sphinx-build: 在 builder-finished 事件中引发错误时,退出代码未更改