Sphinx 7.1

版本 7.1.2 (发布于 2023年8月2日)

修复的 Bug

  • #11542: linkcheck: 正确遵循 linkcheck_anchors,不要错误地报告锚点验证失败。补丁由 James Addison 提供。

版本 7.1.1 (发布于 2023年7月27日)

修复的 Bug

  • #11514: 修复多行版权页脚中的 SOURCE_DATE_EPOCH。补丁由 Bénédikt Tran 提供。

版本 7.1.0 (发布于 2023年7月24日)

不兼容的变更

已弃用

  • #11412: 在 index 指令中使用已弃用的 Python 特定索引条目类型(即 modulekeywordoperatorobjectexceptionstatementbuiltin)时发出警告,并将移除版本设置为 Sphinx 9。补丁由 Adam Turner 提供。

新增功能

  • #11415: 使用 CRC32 算法,为生成的 HTML 中包含的 JavaScript 和 CSS 资产 URI 添加校验和。

  • require_sphinx() 现在允许将版本要求指定为 (major, minor)

  • #11011: 允许通过 maximum_signature_line_length 和特定领域变体来配置对象签名的行长度限制。如果签名长度(以字符为单位)大于配置限制,则签名中的每个参数都将拆分为其自己的逻辑行。此行为也可以通过对象描述指令上的选项进行控制,例如 py:function:single-line-parameter-list。补丁由 Thomas Louf、Adam Turner 和 Jean-François B. 提供。

  • #10983: 支持页脚块中的多行版权声明。补丁由 Stefanie Molin 提供。

  • sphinx.util.display.status_iterator 现在使用 ANSI 控制代码清除当前行,而不是用空格字符覆盖。

  • #11431: linkcheck: 将 SSL 失败视为断开链接。补丁由 James Addison 提供。

  • #11157: 在已翻译节点上保留 translated 属性。

  • #11451: 改进在并行构建中使用 sphinx-build -T 时显示的堆栈跟踪。补丁由 Bénédikt Tran 提供。

  • #11324: linkcheck: 使用基于会话的 HTTP 请求。

  • #11438: 为 PEP 695(通用类和函数声明)和 PEP 696(默认类型参数)添加了对 py:classpy:function 指令的支持。类型参数列表启用了多行支持(#11011),并且可以在对象描述指令上进行局部控制,例如 py:function:single-line-type-parameter-list。补丁由 Bénédikt Tran 提供。

  • #11484: linkcheck: 允许通过 linkcheck_anchors_ignore_for_url 基于每个 URL 忽略 HTML 锚点,同时仍然检查页面本身的有效性。补丁由 Bénédikt Tran 提供。

  • #1246: 通过新的替换 (|translation progress|) 和新的配置变量 (translation_progress_classes) 添加了翻译进度统计和检查支持。这使得可以确定文档中已翻译元素的百分比,以及剩余的已翻译和未翻译元素。

修复的 Bug

  • 恢复了在最新(未发布)版本的 Docutils 中已移除的 footnote-reference 类。

  • #11486: 在 EPUB 构建器中使用 RFC 8081 字体文件 MIME 类型。使用正确的 MIME 类型将防止来自 epubcheck 的警告,并生成有效的 EPUB。

  • #11435: 在 BuildEnvironment.get_outdated_files 中使用微秒级时间戳进行过时文件检测。

  • #11437: 当设置了 rst_prolog 时,以 reStructuredText 角色开头的顶级标题现在可以正确渲染。以前,由于序言文本插入到文档中的位置不当,以以下内容开头的文件会渲染不正确。

    :mod:`lobster` -- The lobster module
    ====================================
    
    ...
    

    补丁由 Bénédikt Tran 提供。

  • #11337: 修复在使用 Nonetyping.* 作为内联类型引用时,sphinx.ext.intersphinx 中的 MemoryError。补丁由 Bénédikt Tran (picnixz) 提供。

测试

  • #11345: 运行 SphinxTestApp.cleanup() 时,始终删除测试目录中的 docutils.conf