Sphinx 7.3

发布 7.3.7(于 2024 年 4 月 19 日发布)

修复的错误

  • #12299: 延迟加载通过入口点定义的主题,直到用户或子主题明确使用它们.补丁由亚当·特纳提供.

  • #12305: 对于不支持的主题配置部分,返回 theme.get_config() 的默认值.补丁由Adam Turner提供.

发布 7.3.6 (发布于 2024 年 4 月 17 日)

修复的错误

  • #12295: 在C和C++域中重新导出所有AST类型.补丁由Adam Turner提供.

  • #12295: 从 sphinx.domains.python 中重新导出 sphinx.domains.python._annotations 的各种对象.补丁由 Jacob Chesslo 和 Adam Turner 提供.

发布 7.3.5(发布于2024年4月17日)

修复的错误

  • #12295: 从 sphinx.domains.python._object 重新导出各种对象到 sphinx.domains.python .补丁由 Jacob Chesslo 和 Adam Turner 提供.

发行版 7.3.4 (发布于 2024 年 4 月 17 日)

修复的错误

  • 处理 Any 不是 type 实例的情况.补丁由 Adam Turner 提供.

发布 7.3.3(发布于 2024年4月17日)

修复的错误

  • #12290: 修复当将配置值的有效类型设置为其他类型而非值的默认值时出现的误报警告.补丁由 Adam Turner 提供.

版本 7.3.2(发布于 2024 年 4 月 17 日)

修复的错误

  • 预加载通过入口点定义的所有主题.补丁由Adam Turner提供.

  • 修复了 'Furo' 主题与配置值新格式之间的不良交互.补丁由Adam Turner提供.

第 7.3.1 版(于 2024 年 4 月 17 日发布)

依赖关系

  • 需要在 Python 3.10 及之前版本中安装 tomli .补丁由 Adam Turner 提供.

Release 7.3.0(发布于2024年4月16日)

依赖关系

  • #11858: 将Alabaster的最低支持版本提高到0.7.14.由Adam Turner补丁.

  • #11411: 支持 Docutils 0.21 .补丁由 Adam Turner 提供.

  • #12012: 使用 types-docutils 替代 docutils-stubs .

过时

  • #11693: 支持在 sphinx-quickstart 中使用旧式 Makefilemake.bat 输出,以及相关选项 -M-m--no-use-make-mode--use-make-mode .

  • #11285: 直接访问 sphinx.testing.util.SphinxTestApp._statussphinx.testing.util.SphinxTestApp._warning 已被弃用.请改用公共属性 sphinx.testing.util.SphinxTestApp.statussphinx.testing.util.SphinxTestApp.warning .补丁由 Bénédikt Tran 提供.

  • tests: 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: 延迟计算配置值.补丁由亚当·特纳提供.

  • 添加 :no-search: 作为 :nosearch: 元数据字段的别名.补丁由 Adam Turner 提供.

  • #11803: autodoc: 如果定义了,使用枚举中重写的 __repr__() 函数.修补由张胜宇提供.

  • #11825: 允许在 manpage 角色中使用自定义目标.补丁由 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: ... .

  • 手册页生成器现在使用 groff 设备控制命令为超链接添加 OSC 8 锚点.

  • #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 提供.

修复的错误

  • #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 标签.补丁由 James Addison 提供.

  • #11678: 修复在 sphinx.ext.coverage 中可能出现的 ZeroDivisionError .补丁由 Stephen Finucane 提供.

  • #11756: LaTeX: 在最近的 TeXLive 中由于缺少 substitutefont 包而导致的构建错误(当使用 fontencT2A 选项且文档语言不是西里尔语时触发).由 Jean-François B. 提供的补丁.

  • #11675: 修复在不支持ANSI控制序列的环境中进度条的渲染问题.补丁由Bénédikt Tran提供.

  • #11861: 将更多类型添加到具有不正确 __module__ 属性的白名单中.补丁由 Adam Turner 提供.

  • #11715: 将 tls_verifytls_cacerts 配置应用于 ImageDownloader .补丁由 Nick Touran 提供.

  • 允许在:rst:dir: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: 支持继承自混合类或数据类型的枚举类.补丁由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: 修复文档树缓存导致某些情况下文件未重建的问题,例如,当 numfigTrue 时.补丁由 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 接受 warningiserrorkeep_goingverbosity 作为关键字参数.修补由 Bénédikt Tran 提供.

  • #11285: sphinx.testing.util.SphinxTestApp statuswarning 参数被检查为 io.StringIO 对象(公共 API 错误地假设这一点而未进行检查).补丁由 Bénédikt Tran 提供.

  • 当Java或 epubcheck 不可用时,将 test_run_epubcheck 的结果报告为 skipped ,而不是 success .

  • 为测试HTTP(S)服务器动态分配未使用的端口号.作为副作用,这消除了对测试服务器锁文件的需求,这意味着任何剩余的 tests/test-server.lock 文件可以安全地删除.