Sphinx 7.3¶
版本 7.3.7 (发布于 2024 年 4 月 19 日)¶
修复的 Bug¶
#12299: 推迟通过入口点定义的主题的加载,直到用户或子主题明确使用它们。补丁由 Adam Turner 提供。
#12305: 对于不支持的主题配置部分,返回
theme.get_config()的默认值。补丁由 Adam Turner 提供。
版本 7.3.6 (发布于 2024 年 4 月 17 日)¶
修复的 Bug¶
#12295: 在 C 和 C++ 域中重新导出所有 AST 类型。补丁由 Adam Turner 提供。
#12295: 将
sphinx.domains.python._annotations中的各种对象重新导出到sphinx.domains.python中。补丁由 Jacob Chesslo 和 Adam Turner 提供。
版本 7.3.5 (发布于 2024 年 4 月 17 日)¶
修复的 Bug¶
#12295: 将
sphinx.domains.python._object中的各种对象重新导出到sphinx.domains.python中。补丁由 Jacob Chesslo 和 Adam Turner 提供。
版本 7.3.4 (发布于 2024 年 4 月 17 日)¶
修复的 Bug¶
处理
Any不是type实例的情况。补丁由 Adam Turner 提供。
版本 7.3.3 (发布于 2024 年 4 月 17 日)¶
修复的 Bug¶
#12290: 修复了当使用
Any作为有效类型设置配置值到非默认类型时出现的误报警告。补丁由 Adam Turner 提供。
版本 7.3.2 (发布于 2024 年 4 月 17 日)¶
修复的 Bug¶
预加载所有通过入口点定义的主题。补丁由 Adam Turner 提供。
修复了
'Furo'主题与新式配置值之间的不良交互。补丁由 Adam Turner 提供。
版本 7.3.1 (发布于 2024 年 4 月 17 日)¶
依赖项¶
在 Python 3.10 及更早版本中需要
tomli。补丁由 Adam Turner 提供。
版本 7.3.0 (发布于 2024 年 4 月 16 日)¶
依赖项¶
#11858: 将 Alabaster 的最低支持版本提高到 0.7.14。补丁由 Adam Turner 提供。
#12267: 支持 Docutils 0.21。补丁由 Adam Turner 提供。
#12012: 使用
types-docutils代替docutils-stubs。
已弃用¶
#11693: 在 sphinx-quickstart 中支持旧式的
Makefile和make.bat输出,以及相关的选项-M、-m、--no-use-make-mode和--use-make-mode。#11285: 直接访问
sphinx.testing.util.SphinxTestApp._status或sphinx.testing.util.SphinxTestApp._warning已弃用。请改用公共属性sphinx.testing.util.SphinxTestApp.status和sphinx.testing.util.SphinxTestApp.warning。补丁由 Bénédikt Tran 提供。测试:
sphinx.testing.util.strip_escseq()已弃用,请改用sphinx.util.console.strip_colors()。补丁由 Bénédikt Tran 提供。
新增功能¶
#12265: 通过
theme.toml支持主题配置。#11701: HTML 搜索: 采用新的 <search> 元素。补丁由 Bénédikt Tran 提供。
#11776: 为
sphinx-build添加长选项名称。补丁由 Hugo van Kemenade、Adam Turner、Bénédikt Tran 和 Ezio Melotti 提供。将
sphinx-build选项组织成组。补丁由 Adam Turner 提供。#11855: 推迟配置值的计算。补丁由 Adam Turner 提供。
添加
:no-search:作为:nosearch:元数据字段的别名。补丁由 Adam Turner 提供。#11803: autodoc: 如果定义了枚举,则使用重写的
__repr__()函数。补丁由 Shengyu Zhang 提供。#11825: 允许在手册页角色中使用自定义目标。补丁由 Nicolas Peugnet 提供。
#11892: 提高了 C++ 域中解析交叉引用的性能。补丁由 Rouslan Korneychuk 提供。
#11905: 添加了
versionremoved指令。补丁由 Hugo van Kemenade、Adam Turner 和 C.A.M. Gerlach 提供。#11981: 改进了使用
slice语法的签名渲染,例如def foo(arg: np.float64[:,:]) -> None: ...。#11015: 将
versionadded指令的文本从New in [...]更改为Added in [...]。补丁由 Bénédikt Tran 提供。#12131: 添加了
show_warning_types配置选项。补丁由 Chris Sewell 提供。#12193: 改进了未知角色的
external警告。特别是,如果错误地使用了对象类型,则建议相关的角色名称。补丁由 Chris Sewell 提供。添加公共类型别名
sphinx.util.typing.ExtensionMetadata。扩展开发者可以使用它来注释其setup函数的返回类型。补丁由 Chris Sewell 提供。
修复的 Bug¶
#11668: 当
theme.conf缺失时,引发一个有用的错误。补丁由 Vinay Sajip 提供。#11622: 确保
searchindex.js中键的顺序是确定性的。补丁由 Pietro Albini 提供。#11617: 当写入警告文件时,使用
-w将从输出中剥离 ANSI 控制序列。补丁由 Bénédikt Tran 提供。#11666: 跳过
CatalogRepository.pofiles中的所有隐藏目录。补丁由 Aryaz Eghbali 提供。#9686: html 构建器: 修复了当标题中出现公式时 MathJax 懒加载的问题。补丁由 Bénédikt Tran 提供。
#11483: singlehtml 构建器: 修复了当索引不包含任何数学公式时 MathJax 懒加载的问题。补丁由 Bénédikt Tran 提供。
#11697: HTML 搜索: 添加“noindex”meta robots 标签。补丁由 James Addison 提供。
#11678: 修复了
sphinx.ext.coverage中可能出现的ZeroDivisionError。补丁由 Stephen Finucane 提供。#11756: LaTeX: 由于缺少
substitutefont包(在使用fontenc与T2A选项且文档语言不是西里尔语时触发),导致最近的 TeXLive 构建错误。补丁由 Jean-François B. 提供。#11675: 修复了在不支持 ANSI 控制序列的环境中进度条的渲染问题。补丁由 Bénédikt Tran 提供。
#11861: 将更多具有不正确
__module__属性的类型列入白名单。补丁由 Adam Turner 提供。#11715: 将
tls_verify和tls_cacerts配置应用到ImageDownloader。补丁由 Nick Touran 提供。允许在
productionlist交叉引用中组名包含连字符。补丁由 Adam Turner 提供。#11433: 添加了
linkcheck_allow_unauthorized配置选项。将此选项设置为False以将 HTTP 401(未授权)服务器响应报告为断开。补丁由 James Addison 提供。#11868: linkcheck: 添加了一个不同的
timeout报告状态码。通过将linkcheck_report_timeouts_as_broken设置为False可以启用此功能。补丁由 James Addison 提供。#11869: 刷新
linkcheck_timeout设置的文档。补丁由 James Addison 提供。#11874: 为
linkcheck_timeout配置默认的 30 秒值。补丁由 James Addison 提供。#11886: 在
TemplateNotFound异常中打印 Jinja2 模板路径链。补丁由 Colin Marquardt 提供。#11598: 在 EPUB 渲染中,不对资产的 URL 使用查询组件。补丁由 David Runge 提供。
#11904: 在解析注释时支持一元减法。补丁由 James Addison 提供。
#11925: 将
sphinxprettysearchresults扩展列入黑名单;它提供的功能已合并到 Sphinx v2.0.0 中。补丁由 James Addison 提供。#11917: 修复了 Python 3.9 中带注释的继承成员的渲染问题。补丁由 Janet Carson 提供。
#11935: C 域: 修复命名空间弹出上下文。补丁由 Frank Dana 提供。
#11923: 避免并行构建失败时出现僵尸进程。补丁由 Felix von Drigalski 提供。
#11353: 支持继承自 mixin 或数据类型的枚举类。补丁由 Bénédikt Tran 提供。
#11962: 修复了使用
:paramtype:字段时的目标解析问题。补丁由 Bénédikt Tran 提供。#11944: 在搜索预览中使用锚点。补丁由 Will Lachance 提供。
#12008: 修复了 intersphinx 目录中
std:label名称的大小写敏感查找问题。补丁由 Michael Goerz 提供。#11958: HTML 搜索: 修复了部分匹配覆盖完整匹配的问题。补丁由 William Lachance 提供。
#11959: 修复了当单词同时出现在标题和文档中时的多词匹配问题。补丁由 Will Lachance 提供。
#11474: 修复了 doctrees 缓存导致在某些情况下(例如,当
numfig为True时)文件未重建的问题。补丁由 Bénédikt Tran 提供。#11278: autodoc: 修复了
functools.singledispatchmethod与@classmethod结合使用时的渲染问题。补丁由 Bénédikt Tran 提供。#11894: 如果使用 htmlhelp 构建器构建,则不向 css 文件添加校验和。补丁由 reduerK akiM 提供。
#12052: 从搜索结果摘要片段的内容中删除
<script>和<style>标签。补丁由 James Addison 提供。#11578: HTML 搜索: 将非主索引条目排在其他结果之后。补丁由 Brad King 提供。
#12147: autosummary: 修复了一个错误,即当
source_suffix中指定了多个后缀时,可能会使用错误的文件扩展名。补丁由 Sutou Kouhei 提供。#10786: 改进了当文件(例如资产)在 Sphinx 执行期间被删除时的错误消息。补丁由 Bénédikt Tran 提供。
#12040: HTML 搜索: 确保文档标题如果被用户搜索查询部分匹配,则包含在搜索结果中。补丁由 James Addison 提供。
#11970: singlehtml 构建器: 使目标 URI 成为 RFC 3986, §4.4 意义上的同文档引用,例如
index.html#foo变为#foo。补丁由 Eric Norige 提供。#12271: 部分恢复 Docutils 的 r9562 以修复 EPUB 文件。补丁由 Adam Turner 提供。
#12253: 在远程图像后转换下载缓存中转义保留路径字符。补丁由 James Addison 和 Adam Turner 提供。
测试¶
将测试重新组织到目录中。补丁由 Adam Turner 提供。
清理
SphinxTestApp中的全局状态。补丁由 Adam Turner 提供。#11285:
pytest.mark.sphinx()和sphinx.testing.util.SphinxTestApp接受 warningiserror、keep_going 和 verbosity 作为关键字参数。补丁由 Bénédikt Tran 提供。#11285:
sphinx.testing.util.SphinxTestApp的 status 和 warning 参数被检查是否为io.StringIO对象(公共 API 错误地假设了这一点而未进行检查)。补丁由 Bénédikt Tran 提供。当 Java 或
epubcheck不可用时,将test_run_epubcheck的结果报告为skipped而不是success。对测试 HTTP(S) 服务器使用动态分配未使用的端口号。作为副作用,这消除了对测试服务器锁文件的需求,这意味着任何剩余的
tests/test-server.lock文件都可以安全删除。