Sphinx 8.2

发布 8.2.3(发布于 2025 年 3 月 2 日)

修复的 Bug

  • #13403:定义 _StrPath.__radd__()。补丁由 Adam Turner 提供。

  • #13399:修复使用 ‘{c,cpp}:parent_symbol’ 进行 _CurrentDocument 成员测试的问题。补丁由 Adam Turner 提供。

发布 8.2.2(发布于 2025 年 3 月 2 日)

修复的 Bug

  • #13392:修复 jieba.load_userdict() 的参数类型。

  • 添加 nbsphinx 隐式导入的变通方法。补丁由 Adam Turner 提供。

  • #13402:确保内联 <script/> 标签只写入一次。补丁由 Dmitry Shachnev 和 Adam Turner 提供。

  • #13391:apidoc:修复 TOC 文件没有标题的问题。补丁由 Dave Hoese 和 Adam Turner 提供。

发布 8.2.1(发布于 2025 年 2 月 21 日)

修复的 Bug

  • #13367:在警告子类型中更正 highlighting_failure 的拼写。补丁由 Bart Kamphorst 提供。

  • #13377:恢复对 sphinx.testing.path 路径与 sphinx.testing.fixtures 一起使用的支持。补丁由 Kazuya Takei 提供。

  • #13380:viewcode:修复模块多次导入的问题。补丁由 Dave Hoese 提供。

  • #13382:Napoleon:为配置值使用正确的有效类型。补丁由 Adam Turner 提供。

  • #13376:修复从相对 html_static_pathhtml_extra_path 条目复制资产的问题。补丁由 Adam Turner 提供。

发布 8.2.0(发布于 2025 年 2 月 18 日)

依赖项

  • #13000:放弃对 Python 3.10 的支持。

不兼容的变更

  • #13044:从 MathDomain 域中移除内部且未文档化的 has_equations 数据。未文档化的 MathDomain.has_equations() 方法现在无条件返回 True。这些都被页面上下文字典的 has_maths_elements 键取代。补丁由 Adam Turner 提供。

  • #13227:kbd 角色中键序列的 HTML 输出不再使用 <kbd class="kbd compound"> 元素来包装键和分隔符,而是直接将它们放置在相关的父节点中。这意味着针对 kbd.compound.kbd.compound 的 CSS 规则集将不再有任何效果。补丁由 Adam Turner 提供。

已弃用

  • #13037:弃用 SingleHTMLBuilder.fix_refuris 方法。补丁由 James Addison 提供。

  • #13083, #13330:解除对 sphinx.util.import_object 的弃用。补丁由 Matthias Geier 提供。

新增功能

  • #13173:添加新的 duplicate_declaration 警告类型,带有 duplicate_declaration.cduplicate_declaration.cpp 子类型。补丁由 Julien Lecomte 和 Adam Turner 提供。

  • #11824:linkcode:允许扩展通过定义应存在的键来添加对域的支持。补丁由 Nicolas Peugnet 提供。

  • #13144:向 autosummary 指令添加 class 选项。补丁由 Tim Hoffmann 提供。

  • #13146:Napoleon:统一类型预处理逻辑,允许 Google 风格的文档字符串使用 optional 和 default 关键字。补丁由 Chris Barrick 提供。

  • #13227:将 kbd 角色实现为 SphinxRole。补丁由 Adam Turner 提供。

  • #13065:在 CI 上运行时默认启用颜色。补丁由 Adam Turner 提供。

  • #13230:通过新的 toc.empty_glob 警告子类型,允许在 glob 模式不匹配任何文档时抑制来自 toctree 指令的警告。补丁由 Slawek Figiel 提供。

  • #9732:添加新的 autodoc.mocked_object 警告子类型。补丁由 Cyril Roelandt 提供。

  • #7630, #4824:autodoc:使用 .pyi 类型存根文件自动文档化本机模块。补丁由 Adam Turner 提供,部分基于 Allie Fitter 的工作。

  • #12975:通过新的 python_trailing_comma_in_multi_line_signaturesjavascript_trailing_comma_in_multi_line_signatures 配置选项,在 Python 和 Javascript 域的多行签名中启用尾随逗号的配置。

  • #13264:将 math 指令的 nowrap 选项重命名为 math:no-wrap。补丁由 Adam Turner 提供。

  • #13269:添加了通过新的 autodoc_use_type_comments 选项禁用类型注释使用的选项,该选项默认为 True 以实现向后兼容。默认值将在 Sphinx 10 中更改为 False。补丁由 Adam Turner 提供。

  • #9732:添加新的 ref.any 警告子类型,以允许抑制模糊的“any”交叉引用警告。补丁由 Simão Afonso 和 Adam Turner 提供。

  • #13272:Python 和 JavaScript 模块指令现在支持 :no-index-entry: 选项。补丁由 Adam Turner 提供。

  • #12233:autodoc:允许指令使用 :no-index-entry:,并在 autodoc_default_options 中包含 :no-index::no-index-entry: 选项。补丁由 Jonny Saunders 和 Adam Turner 提供。

  • #13172:在 autosummary 中添加对短签名的支持。补丁由 Tim Hoffmann 提供。

  • #13271:将 Python 域中抽象方法的签名前缀从 abstract 更改为 abstractmethod。补丁由 Adam Turner 提供。

  • #13271:支持 Python 域中类、方法和属性的 :abstract: 选项。补丁由 Adam Turner 提供。

  • #12507:为 admonition 指令添加 collapsible 选项。补丁由 Chris Sewell 提供。

  • #8191, #8159:向 inheritance-diagram 指令添加 inheritance-diagram:include-subclasses 选项。补丁由 Walter Dörwald 提供。

  • #11995:autodoc:添加对 python_display_short_literal_types 的支持。补丁由 Bénédikt Tran 和 Adam Turner 提供。

  • #13163:当 Sphinx 遇到内部错误时,始终打印完整的上下文。补丁由 Kevin Deldycke 和 Adam Turner 提供。

  • #13105:引入 py:deco 角色,用于交叉引用 Python 域中的装饰器函数和方法。补丁由 Adam Turner 提供。

  • #9169:添加 intersphinx_resolve_self 选项,以将 intersphinx 引用解析为当前项目。补丁由 Jakob Lykke Andersen 和 Adam Turner 提供。

  • #11280:添加使用 no-search 类跳过特定部分的功能。补丁由 Will Lachance 提供。

  • #13326:从所有编写器中处理 productionlist 节点中删除硬编码,以提高灵活性。补丁由 Adam Turner 提供。

  • #13335:对 Pygments 未知词法分析器使用 misc.highlighting_failure 子类型。补丁由 Bart Kamphorst 提供。

  • #13354:在 Python 签名中,为位置参数和仅关键字参数分隔符插入缩写节点(悬停文本)。补丁由 Adam Turner 提供。

  • #13333:添加 sphinx.ext.apidoc 扩展,以自动从 Python 模块生成 API 文档。补丁由 Chris Sewell 和 Adam Turner 提供。

修复的 Bug

  • #12463:autosummary:尊重空的模块 __all__。补丁由 Valentin Pratz 提供。

  • #13060:HTML 搜索:使用 Map 存储每个文件的术语分数。补丁由 James Addison 提供。

  • #13130:LaTeX 文档:pdflatex 索引创建可能因法语索引条目而失败。请参阅 latex_use_xindy。补丁由 Jean-François B. 提供。

  • #13152:LaTeX:修复 v7.4.0 中 \sphinxboxsetup 默认值中的一个拼写错误。补丁由 Jean-François B. 提供。

  • #13096:HTML 搜索:在访问查询术语之前,检查它们是否存在于术语索引中作为属性。

  • #11233:linkcheck:通过覆盖会话级 requests.get_redirect_target,将重定向 URI 与 linkcheck_ignore 进行匹配。

  • #13195:viewcode:修复导入路径与目录结构不同的问题。补丁由 Ben Egan 和 Adam Turner 提供。

  • #13188:autodoc:修复 C 语言实现的类方法的检测。补丁由 Bénédikt Tran 提供。

  • #1810:在构建时始终复制静态文件,无论自上次构建以来是否有任何文档更改。补丁由 Adam Turner 提供。

  • #13201:autodoc:修复使用 groupwise 作为 autodoc_member_order 时成员的排序。类方法现在在静态方法之前呈现,而静态方法又在常规方法和属性之前呈现。补丁由 Bénédikt Tran 提供。

  • #12975:避免在 C 和 C++ 多行签名中呈现尾随逗号。

  • #13178:autodoc:修复 pathlib 类型的解析。补丁由 Adam Turner 提供。

  • #13136:autodoc:正确处理多重继承。补丁由 Pavel Holica 提供。

  • #13273, #13318:正确转换布尔类型的命令行覆盖。补丁由 Adam Turner 提供。

  • #13302, #13319:在 productionlist 指令中,为续行使用正确的缩进。补丁由 Adam Turner 提供。

  • #13328:修复带有返回注释的 PEP 695 函数的解析。补丁由 Bénédikt Tran 提供。初步工作由 Arash Badie-Modiri 完成。

测试

  • #13224:test_html_multi_line_copyright 的正确性修复。补丁由 Colin Watson 提供,由 James Addison 应用。