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:在未安装所需 fontawesomefontawesome5 包时提高弹性。由 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_CNzh_TW 语言的智能引号。由 A. Rafey Khan 提供的补丁。

已弃用

  • #12762:废弃 sphinx.util.import_object。请改用 importlib.import_module()。由 Adam Turner 提供的补丁。

  • #12766:废弃 sphinx.util.FilenameUniqDictsphinx.util.DownloadFiles。由 Adam Turner 提供的补丁。

新增功能

  • #11328:提及在生成静态输出文件时对模板化内容的评估。由 James Addison 提供的补丁。

  • #12704:LaTeX:使 contentstopicsidebar 指令可针对 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 中对 timedatetime 等 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,因此它现在在 docutils Footnotes 解析转换之后运行。由 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 latexpdfmake latexpdfO=-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:modulepy:module 指令的 :noindex: 支持。由 Stephen Finucane 提供的补丁。

  • #12916:恢复对在 apidoc RST 渲染期间以旧版 _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:从已弃用的 karma JavaScript 测试框架迁移到积极维护的 jasmine 框架。测试覆盖率不受影响。由 James Addison 提供的补丁。