Sphinx 8.1¶
版本 8.1.3(发布于 2024 年 10 月 13 日)¶
修复的 Bug¶
#13013:恢复对没有对象类型的
cut_lines()的支持。由 Adam Turner 提供的补丁。
版本 8.1.2(发布于 2024 年 10 月 12 日)¶
修复的 Bug¶
#13012:在
sphinx.util中公开sphinx.errors.ExtensionError以实现向后兼容性。此项将在 Sphinx 9 中移除,因为在sphinx.util中公开此异常从未是故意的。ExtensionError自 Sphinx 0.9 起已是sphinx.errors的一部分。由 Adam Turner 提供的补丁。
版本 8.1.1(发布于 2024 年 10 月 11 日)¶
修复的 Bug¶
#13006:将
:cve:角色使用的 URL 更改为首选的 https://www.cve.org/。由 Hugo van Kemenade 提供的补丁。#13007:LaTeX:在未安装所需
fontawesome或fontawesome5包时提高弹性。由 Jean-François B. 提供的补丁。
版本 8.1.0(发布于 2024 年 10 月 10 日)¶
依赖项¶
#12756:为
sphinxcontrib-*依赖项添加下限。由 Adam Turner 提供的补丁。#12833:将 LaTeX
parskip包从 2001 年更新到 2018 年。由 Jean-François B. 提供的补丁。
不兼容的变更¶
#12763:移除未使用的内部类
sphinx.util.Tee。由 Adam Turner 提供的补丁。#12822:LaTeX:对于 Unicode 引擎,'fvset' 默认值从
'\\fvset{fontsize=\\small}'更改为'\\fvset{fontsize=auto}'。代码块未更改,因为 FreeMono 现在以Scale=0.9加载。仅当现有项目使用了自定义 'fontpkg' 配置且未设置 'fvset' 时,才需要进行调整。由 Jean-François B. 提供的补丁。#12875:默认禁用
zh_CN和zh_TW语言的智能引号。由 A. Rafey Khan 提供的补丁。
已弃用¶
#12762:废弃
sphinx.util.import_object。请改用importlib.import_module()。由 Adam Turner 提供的补丁。#12766:废弃
sphinx.util.FilenameUniqDict和sphinx.util.DownloadFiles。由 Adam Turner 提供的补丁。
新增功能¶
#11328:提及在生成静态输出文件时对模板化内容的评估。由 James Addison 提供的补丁。
#12704:LaTeX:使 contents、topic 和 sidebar 指令可针对 PDF 输出单独自定义。由 Jean-François B. 和 Bénédikt Tran 提供的补丁。
#12474:通过 CSS 支持依赖于类型的搜索结果高亮显示。由 Tim Hoffmann 提供的补丁。
#12652:LaTeX:添加
math_numsep支持到 latex 构建器。由 Thomas Fanning 和 Jean-François B. 提供的补丁。#12743:当使用
--fail-on-warning时,不再在第一个警告处退出。相反,如果在构建过程中生成了任何警告,则以非零状态退出。由 Adam Turner 提供的补丁。#12743:添加
sphinx-build --exception-on-warning,以便在构建过程中发出警告时抛出异常。由 Adam Turner 和 Jeremy Maitin-Shepard 提供的补丁。#12907:添加
html_last_updated_use_utc,以允许使用通用时间(GMT/UTC)而不是本地时间来提供给html_last_updated_fmt的日期时间。由 Adam Turner 提供的补丁。#12910:版权条目现在支持
'%Y'占位符以替换当前年份。这有助于减少conf.py中对time或datetime等 Python 模块的依赖。有关更多详细信息,请参见文档。由 Adam Turner 提供的补丁。#11781:添加用于引用 CVE(
:cve:)和 CWE(:cwe:)的角色。由 Hugo van Kemenade 提供的补丁。#11809:改进 RFC 部分锚点的格式。由 Jakub Stasiak 和 Adam Turner 提供的补丁。
#12852:支持构建器使用
Builder.supported_linkcode属性,以启用sphinx.ext.linkcode生成的引用。由 James Knight 提供的补丁。#12949:打印与腌制环境不同的配置选项。这有助于诊断完全重建的原因。由 Adam Turner 提供的补丁。
修复的 Bug¶
#12514:intersphinx:修复
intersphinx_cache_limit负值的含义。由 Shengyu Zhang 提供的补丁。#12722:LaTeX:避免 TeX 报告
Overfull \hbox,这是由于代码行中的字符串过长造成的,而这个问题实际上已经通过 verbatimforcewraps 解决了。由 Jean-François B. 提供的补丁。#12730:
UnreferencedFootnotesDetector转换已得到改进,可以更一致地检测未引用的脚注。请注意,转换的优先级已从 200 更改为 622,因此它现在在 docutilsFootnotes解析转换之后运行。由 Chris Sewell 提供的补丁。#12778:LaTeX:如果 ‘sphinxsetup’
div.topic_box-shadow键仅使用一个维度,则按照文档设置 x 偏移和 y 偏移。由 Jean-François B. 提供的补丁。#12587:当 Intersphinx 解析过程中由于大小写不敏感的重复目标而检测到潜在歧义时,不发出警告。由 James Addison 提供的补丁。
#12639:修复单数和复数搜索结果文本。由 Hugo van Kemenade 提供的补丁。
#12645:正确支持自定义 gettext 输出模板。由 Jeremy Bowman 提供的补丁。
#12717:LaTeX:将 sphinx-build -M latexpdf 或 make latexpdf(
O=-q)的-q(安静)选项传递给 latexmk。让-Q(静默)也应用于 PDF 构建阶段。由 Jean-François B. 提供的补丁。#12744:LaTeX:由自定义解释文本角色注入的类现在会产生嵌套的
\DUrole,而不是带有逗号分隔类的单个类。由 Jean-François B. 提供的补丁。#12831:LaTeX:避免有时在页面底部出现大的空白。由 Jean-François B. 提供的补丁。
#11970, #12551:singlehtml 构建器:使目标 URI 成为 RFC 3986, §4.4 意义上的相同文档引用,例如,
index.html#foo变为#foo。(注意:这是 Sphinx 7.3.0 中添加的部分修复的延续)由 James Addison 提供的补丁(参考 Eric Norige 先前的工作)。#12735:修复 PEP 695 泛型类的 LaTeX 输出格式。由 Jean-François B. 和 Bénédikt Tran 提供的补丁。
#12782:intersphinx:修复生成清单文件 URL 时的双斜杠问题(intersphinx 项目的用户定义基本 URL 即使以双斜杠结尾也保持不变)。由 Bénédikt Tran 提供的补丁。
#12796:如果请求,即使文档少于 6 个,也启用并行读取。由 Matthias Geier 提供的补丁。
#12844:恢复对
js:module和py:module指令的:noindex:支持。由 Stephen Finucane 提供的补丁。#12916:恢复对在
apidocRST 渲染期间以旧版_t后缀命名的自定义模板的支持(7.4.0 中的回归)。由 James Addison 提供的补丁。#12451:仅将版权声明年份替换为与当前系统时钟年份匹配的
SOURCE_DATE_EPOCH中的值,并禁止替换未来年份。由 James Addison 和 Adam Turner 提供的补丁。#12905:intersphinx:修复
intersphinx_cache_limit的翻转使用,它总是为正值保留缓存,并总是为负值刷新缓存。由 Nico Madysa 提供的补丁。#12888:当文档包含在多个 toctree 中时添加警告,并通过选择字典序最大的父文档来确保并行构建中全局 toctree 的确定性解析。由 A. Rafey Khan 提供的补丁
#12995:显著提高构建中文搜索索引时的性能。由 Adam Turner 提供的补丁。
#12767:
Builder.write()被类型化为final,这意味着扩展可以依赖write-started事件。已添加新的Builder.write_documents()方法来控制文档的写入方式。这适用于不为每个文档输出文件的构建器。由 Adam Turner 提供的补丁。
测试¶
#12141:从已弃用的
karmaJavaScript 测试框架迁移到积极维护的jasmine框架。测试覆盖率不受影响。由 James Addison 提供的补丁。