Sphinx 3.0

发布 3.0.4(发布于 2020 年 5 月 27 日)

修复的错误

  • #7567: autodoc: 参数化类型在泛型类型中显示两次

  • #7637: autodoc: 在Python 3.9中显示系统定义的TypeVars

  • #7696: html: 为了安全原因,将jQuery版本从3.4.1更新至3.5.1

  • #7611: 当启用OpenSSL FIPS时,md5失败

  • #7626: 发布包不包含 CODE_OF_CONDUCT

发布 3.0.3(于 2020 年 4 月 26 日发布)

新增功能

  • C,解析带有静态、限定符和可变长度数组(VLA)说明符的数组声明.

修复的错误

  • #7516: autodoc: 如果目标对象在访问其属性时引发错误,则崩溃

发布 3.0.2(发布于 2020 年 4 月 19 日)

新增功能

修复的错误

  • #7461: py 域:在类型注释中对于空元组出现 IndexError

  • #7510: py 域:关键字参数记录为默认值为 None

  • #7418: 标准域: term 角色不能进行不区分大小写的匹配

  • #7461:autodoc:类型注释中的空元组未正确显示

  • #7479: autodoc: 自3.0.0版本以来,Sphinx在模拟时构建变得更慢了

  • C++,修复 east-const 声明中的间距问题.

  • #7414: LaTeX: Xindy语言选项不正确

  • Sphinx在python3.5.1上崩溃,出现ImportError

Release 3.0.1(发布于2020年4月11日)

不兼容的变更

  • #7418: 标准域: term 角色变得区分大小写

修复的错误

  • #7428: py 域:对类 None 的引用发出令人不快的警告

  • #7445: py域: 在函数签名中的返回注释 None 在使用intersphinx时未转换为超链接

  • #7418: 标准域:术语表术语的重复警告不区分大小写

  • #7438: C++, 修复并行构建中合并重载函数的问题.

  • #7422: autodoc: 使用 autodoc_mock_imports 时出现 ValueError 错误

  • #7435: autodoc: autodoc_typehints='description' doesn’t suppress typehints in signature for classes/methods

  • #7451: autodoc: 当一个对象返回非字符串对象作为 __doc__ 成员时,出现 AttributeError 错误

  • #7423: 当给logger传递非字符串对象时崩溃

  • #7479: html 主题:不在 HTML 5 文档类型中包含 xmlns 属性

  • #7426: html主题: 在HTML模板中转义一些链接

版本 3.0.0(发布于 2020 年 4 月 6 日)

依赖项

3.0.0b1

  • LaTeX:自TeXLive2015起,日文文档中的图像包含不再依赖程序: extractbb ,因为程序: dvipdfmx 不需要 .xbb 文件(参考:#6189)

  • babel-2.0 或更高版本可用(未固定)

不兼容的变更

3.0.0b1

  • 删除在1.8.x中弃用的功能和API

  • #247: autosummary:默认情况下,存根文件会被自动覆盖.请参见 autosummary_generate_overwrite 以改变此行为

  • #5923: autodoc: 当给出 :inherited-members::special-members: 时, object 类的成员默认不被文档记录.

  • #6830: py 域:meta 字段在 info-field-list 中变为保留字段.它们现在不在输出文档中显示

  • #6417: py域:desc_parameterlist的文档树已更改.参数名称、注释和默认值被封装为内联节点

  • The structure of sphinx.events.EventManager.listeners has changed

  • 由于:rst:dir:productionlist 的作用域变更,一些:rst:role:token 的用法必须修改,以包含之前被忽略的作用域.

  • #6903: Python的内部数据结构、reST和标准域已发生变化.node_id已添加到对象和模块的索引中.现在它们包含一对docname和node_id以进行交叉引用.

  • #7276:C++ 域:移除非预期行为,例如 say_hello_ 链接到 .. cpp :function:: say_hello()

  • #7210 : js 域:移除了非预期行为,例如 parseInt_ 链接到 .. js:function:: parseInt

  • #7229 : rst 域:移除非预期的行为,例如 numref_ 链接到 .. rst:role:: numref

  • #6903 : py 域:移除了非预期的行为,例如 say_hello_ 链接到 .. py:function:: say_hello()

  • #7246: py 域: 删除异常、函数和方法的特殊交叉引用助手

  • C域已被重写,增加了额外的指令和角色.现有的指令变得更加严格,导致新的警告.

  • desc_signature_line 节点中的属性 sphinx_cpp_tagname 已更名为 sphinx_line_type .

  • #6462: 域指令中的双反斜杠不再默认替换为单反斜杠.用户可以使用新的配置值 strip_signature_backslash 重新启用该功能.

3.0.0 最终版

  • #7222:sphinx.util.inspect.unwrap() 被重命名为 unwrap_all()

过时

3.0.0b1

  • desc_signature['first']

  • sphinx.directives.DescDirective

  • sphinx.domains.std.StandardDomain.add_object()

  • sphinx.domains.python.PyDecoratorMixin

  • sphinx.ext.autodoc.get_documenters()

  • sphinx.ext.autosummary.process_autosummary_toc()

  • sphinx.parsers.Parser.app

  • sphinx.testing.path.Path.text()

  • sphinx.testing.path.Path.bytes()

  • sphinx.util.inspect.getargspec()

  • sphinx.writers.latex.LaTeXWriter.format_docclass()

新增功能

3.0.0b1

  • #247: autosummary: 添加 autosummary_generate_overwrite 以覆盖旧的存根文件

  • #5923: autodoc::inherited-members: 选项接受一个祖先类的名称,以不记录该类及其上级的继承成员

  • #6830: autodoc: 如果文档字符串在信息字段列表中包含 :meta private: ,则将成员视为私有

  • #7165: autodoc: 支持注解类型 (PEP-593)

  • #2815: autodoc: 支持 singledispatch 函数和方法

  • #7079: autodoc: autodoc_typehints 接受 "description" 配置. 它将类型提示显示为对象描述

  • #7314: apidoc: 在包文档中传播 --maxdepth 选项

  • #6558: 词汇表: 对重复的词汇条目发出警告

  • #3106: 领域:自动为索引页面注册超链接目标

  • #6558: 标准域:对重复的通用对象发出警告

  • #6830: py 域: 添加新事件: object-description-transform

  • #6895: py 域:对于内置类型不再发出过于挑剔的警告

  • py domain: 支持函数签名中的lambda函数

  • #6417: py域: 允许为函数和方法的参数设定样式

  • #7238, #7239: py 域: 如果已用相同名称添加了条目,在描述 Python 对象时发出警告

  • #7341: py 域:签名中的类型注释被转换为交叉引用

  • 支持事件处理程序的优先级.详细信息,请参见 Sphinx.connect()

  • #3077: 按照文档中的说明,为 productionlist 实现作用域.

  • #1027: 在 productionlist 中支持反斜杠换行.

  • #7108: 配置: 允许通过 ConfigError 在 conf.py 中显示错误消息

  • #7032: html: html_scaled_image_link 将对具有 no-scaled-link 类的图像禁用

  • #7144: 为每个描述节点添加指示其域的CSS类

  • #7211: latex: 在使用XeLaTeX时对中文文档使用babel

  • #6672: LaTeX: 支持LaTeX主题(实验性)

  • #7005: LaTeX: 为:rst:role:kbd 角色添加LaTeX样式宏

  • #7220: genindex: 首先显示 “主” 索引条目

  • #7103: linkcheck: 将所有链接写入 output.json

  • #7025: html 搜索:可以通过 :nosearch: 文件范围元数据为单独文档禁用全文搜索

  • #7293: html搜索:允许通过 SearchLanguage.js_splitter_code 覆盖JavaScript分隔符

  • #7142: html 主题:添加主题选项: pygments_dark_style 以在暗模式下切换代码块的样式

  • C域已经重写,例如添加了:

    • 跨引用遵循当前范围.

    • 可以记录匿名实体.

    • 针对每种类型的实体,提供更具体的指令和角色,例如处理枚举量的作用域.

    • 新角色 c:expr 用于在文本中渲染表达式和类型.

  • 增加了 SphinxDirective.get_source_info()SphinxRole.get_source_info() .

  • #7324: sphinx-build: 如果发现同一文档有多个不同文件扩展名的文件,则发出警告

3.0.0 最终版

  • 添加了 ObjectDescription.transform_content() .

修复的错误

3.0.0b1

  • C++,修复某些涉及函数重载的情况下交叉引用查找的问题.

  • #5078: C++,修复当指令包含多个声明时的交叉引用查找.

  • C++,压制在签名中自动生成的交叉引用中直接依赖的类型名称的警告.

  • #5637: autodoc: 在显示继承关系时对嵌套类名的处理不正确

  • #7267: autodoc: 无效指令选项的错误消息位置不正确

  • #7329: autodoc: 即使设置了 autoclass_content='class' ,info-field-list 也错误地从类型提示生成到类描述中

  • #7331: autodoc: cython 函数未被识别为函数

  • #5637: inheritance_diagram: 对嵌套类名称的处理不正确

  • #7139 :code-block:: guess 无法正常工作

  • #7325: html: source_suffix 包含点导致错误的源链接

  • #7357: html: 调整 SVG 图像大小时出现 ValueError

  • #7278: html 搜索:在搜索结果中修复使用 html_file_suffix 而不是 html_link_suffix 的问题

  • #7297: html 主题:bizstyle 不支持 sidebarwidth

  • #3842: singlehtml: 当主文档不在源根目录时,图像路径损坏

  • #7179: 标准域:修复对 GenericObject 的引用中抑制空格的问题

  • #7289: 控制台: 使用亮色而不是粗体

  • #1539: C,解析数组类型.

  • #2377: C,解析复杂类型中的函数指针.

  • #7345: sphinx-build: 如果输出目录作为文件存在,Sphinx会崩溃

  • #7290: sphinx-build: 在处理异常时忽略 bdb.BdbQuit

  • #6240: napoleon: 属性和方法部分忽略 :noindex: 选项

3.0.0 最终版

  • #7364: autosummary: 当 autosummary_generateFalse 时崩溃

  • #7370: autosummary: 当给定未知模块时引发 UnboundLocalError

  • #7367: C++,现在支持替代运算符拼写.

  • C,现已支持替代运算符拼写.

  • #7368: C++,表达式中的逗号运算符、模板参数列表中的包展开,以及某些情况下更全面的错误消息.

  • C,C++,修复与匿名符号相关的崩溃和错误重复警告.

  • #6477: 跨引用链接中无法再转义第一个 “!”

  • #7219: py 域:由 py:function 指令生成的索引条目与 index 指令生成的 “builtin” 类型的索引条目不同

  • #7301: 节点ID不允许使用大写字母

  • #7301: epub: 生成了重复的节点ID

  • #6564: html: 在 HTML 生成器中忽略了表格的宽度

  • #7401: 为:event:env-get-outdated 处理程序传递了不正确的参数

  • #7355: autodoc: cython 函数的签名识别不佳

  • #7222: autodoc:__wrapped__ 函数未正确文档化

  • #7409: intersphinx: 当扩展在 config-inited 事件上设置 intersphinx_mapping 时引发 ValueError

  • #7343: 自2.4.0版本以来,Sphinx在调试模式下的构建速度变慢