Sphinx 1.7

发布 1.7.9(发布于 2018 年 9 月 5 日)

添加的功能

  • #5359:通过排序锚点使生成的 texinfo 文件可重现

修复的错误

  • #5361: 如果文档使用包含指令,则在增量构建时崩溃

发布 1.7.8(发布于 2018年8月29日)

不兼容的更改

  • The type of env.included has been changed to dict of set

修复的错误

  • #5320: intersphinx: 当给定无效的 URL 时崩溃

  • #5326: 手册页: 当指定无效的文档名称作为 man_pages 时崩溃

  • #5322: autodoc:Any 类型提示导致格式错误

  • #5327: “文档未包含在任何 toctree 中” 的警告在重建生成文件时出现

  • #5335: 快速入门: 转义序列已通过 MacPorts 的 Python 显示

版本 1.7.7(发布于 2018 年 8 月 19 日)

修复的错误

  • #5198:仅在并行构建中包含文件时,文档未在 toctree 中的警告

  • LaTeX: 减少”PDF字符串中不允许的标记”的hyperref警告在latex控制台输出中 (参考: #5236)

  • LaTeX: 在最近的LaTeX中抑制控制台输出中的 “remreset Warning: The remreset package is obsolete” (参考: #5237)

  • #5234: PDF 输出: 自 Sphinx 1.5 以来,PAPER 环境变量的使用已损坏

  • LaTeX:修正关于Latin Modern字体与XeLaTeX/LuaLateX相关的:confval:latex_engine 文档(参考:#5251)

  • #5280: autodoc: 修复复杂类型的错误类型注释

  • autodoc: 可选类型错误渲染

  • #5291: autodoc 被 ForwardRef 类型崩溃

  • #5211: autodoc: 未生成functools.partial函数的文档

  • #5306: autodoc:getargspec() 对无效类型提示引发 NameError

  • #5298: imgmath: math_number_all导致HTML中的方程式有两个数字

  • #5294:sphinx-quickstart 在 PowerShell 中的空白提示

发布版本 1.7.6(发布于 2018 年 7 月 17 日)

修复的错误

  • #5037: LaTeX \sphinxupquote{} 在俄语中出现断裂

  • sphinx.testing 使用了已弃用的 pytest API; Node.get_marker(name)

  • #5016: 当启用recommonmark.AutoStrictify时崩溃

  • #5022:latex:与Debian/Ubuntu提供的Docutils软件包崩溃

  • #5009: latex: 如果表格没有标题,表格的标签会消失

  • #5048: 与编号的toctree崩溃

  • #2410: C,渲染宏的空参数列表.

  • C++,修复无模板参数的完整模板特化的查找问题.

  • #4667: C++,修复使用 intersphinx 时在全局作用域中缺少引用的断言.感谢 Alan M. Carroll.

  • #5019: autodoc: 被换页符崩溃

  • #5032: autodoc: 对于旧式类丢失第一个静态方法参数

  • #5036: 快速入门:按Ctrl-U会清除整行

  • #5066: html: “关系”侧边栏默认不显示

  • #5091: latex: 索引条目中的花括号处理不正确

  • #5070: epub: 错误的内部 href 片段链接

  • #5104: apidoc:sphinx.apidoc:main() 的接口已更改

  • #4272: 法语项目的PDF构建存在XeTeX问题

  • #5076: napoleon 在 python 3.7 中引发 RuntimeError

  • #5125: sphinx-build:sphinx:main() 的接口已更改

  • sphinx-build:sphinx.cmd.build.main() 引用 sys.argv 而不是给定的参数

  • #5146: autosummary: 当文档字符串的第一行以文字说明符结束时会发出警告

  • autosummary: autosummary 的警告指示错误的位置(参考: #5146)

  • #5143: autodoc: 在检查不支持排序的类似字典的对象时崩溃

  • #5139: autodoc: 如果Enum参数与另一个参数共享值,则缺少该参数

  • #4946: py 域: rtype 字段无法处理 “ None “ 作为类型

  • #5176: LaTeX: 包含 @ , !" 的术语索引失败

  • #5161: html: 在复制静态文件失败时崩溃

  • #5167: autodoc: 修复对具有两个以上参数的元组的类型注解格式

  • #3329: 国际化: 由于自动符号脚注引用崩溃

  • #5158: autosummary: 当以标题开头时,模块摘要已损坏

发布版本 1.7.5(发布于 2018 年 5 月 29 日)

修复的错误

  • #4924: html搜索:其他语言中的大写字符问题

  • #4932: apidoc: 如果兄弟子包包含一个以下划线开头的模块,则某些子包会被忽略

  • #4863,#4938,#4939:i18n 对于用作目录、主题、告诫、表格和部分的 node.title 处理不正确.

  • #4913: i18n: 项目符号列表中的文字块未翻译

  • #4962: C++,在重复声明时引发TypeError.

  • #4825: C++,正确解析表达式角色,并在存在(转义的)换行符时给出更好的错误消息.

  • C++,正确使用 desc_addname 节点作为名称的前缀.

  • C++,在函数调用中解析参数包扩展.

  • #4915, #4916:使用 dirhtml 构建器时,搜索页面上的链接损坏

  • #4969: autodoc: 构造方法不应有返回注解

  • latex: 深度嵌套的枚举列表以非1开头导致LaTeX引擎崩溃

  • #4978: latex: shorthandoff 未为巴西地区设置

  • #4928: 国际化: 在 LC_MESSAGES/ 中忽略点目录,如 .git/

  • #4946: py 域:类型字段无法将 “ None “ 作为类型处理

  • #4979: latex: 索引条目中大括号转义错误

  • #4956: autodoc: 未能从模拟模块的类子类中提取文档

  • #4973: latex: 术语表指令为每个项目添加空格

  • #4980: latex: 代码块上的显式标签被重复

  • #4919: 如果toctree有:numbered:选项,node.asdom()会崩溃

  • #4914: autodoc: 使用没有默认值的数据类时解析错误

  • #4931: autodoc: 当autodoc-skip-member的处理程序引发错误时崩溃

  • #4931: autodoc: 在被napoleon模块处理的被模拟类的子类时崩溃

  • #5007: 当错误日志包含”%”字符时,sphinx-build崩溃

版本 1.7.4(发布于 2018 年 4 月 25 日)

修复的错误

  • #4885, #4887: 域: 因重复对象崩溃

  • #4889: latex: sphinx.writers.latex 导致递归导入

发布 1.7.3 (发布于 2018年4月23日)

修复的错误

  • #4769: autodoc丢失第一个静态方法参数

  • #4790: autosummary: PDF构建中两列表格过宽

  • #4795: 通过 _templates/longtable.tex_t 的 LaTeX 自定义功能已损坏

  • #4789: imgconverter: 被Windows的convert.exe搞糊涂

  • #4783:在Windows上,当srcdir和outdir的驱动器不同时,Sphinx崩溃

  • #4812: autodoc忽略类型注解的变量

  • #4817: 警告信息中的错误URL

  • #4784: latex: latex_show_urls 如果替换中存在超链接,则分配不正确的脚注编号

  • #4837: 使用 class memoir 的 latex 错误: 字体命令 \sf 不支持

  • #4803: latex: 与自动编号脚注的数量成比例太慢

  • #4838: htmlhelp: .hhp 文件中的条目未排序

  • toctree 指令尝试查找带有查询字符串的 URL

  • #4871: html 搜索: 德语中的大写字母问题

  • #4717: latex: 使用LuaLaTeX和XeLaTeX编译德语文档失败

  • #4459: 重复标签检测器在并行构建中工作不佳

  • #4878: 与返回无效元数据的扩展崩溃

Release 1.7.2 (发布于 2018年3月21日)

不兼容的更改

  • #4520: apidoc: 包含空 __init__.py 的文件夹不再被排除在 TOC 之外

修复的错误

  • #4669: sphinx.build_main 和 sphinx.make_main 抛出 NameError

  • #4685: autosummary 发出无意义的警告

  • autodoc: 当给定无效选项时崩溃

  • pydomain: 如果为空,则始终去掉括号 (参考: #1042)

  • #4689: autosummary: 意外删除包含 “即” 的文档字符串

  • #4701: viewcode:<div> 在 viewcode HTML 输出中位置不当

  • #4444: 不要求 numfig 在章节中使用 :numref

  • #4727: textcomp包的选项冲突

  • #4725: Sphinx与python 3.5.0和3.5.1不兼容

  • #4716:在Windows上使用TexLive生成PDF文件时,文件未找到错误

  • #4574: LaTeX中方程前的垂直空白

  • #4720: 当构建器的图像不匹配时,消息不清楚

  • #4655, #4684: 波兰语和中文中不完整的本地化字符串

  • #2286: 当渲染HTML页面时发生错误,Sphinx崩溃

  • #4688: 下载长URL的远程图片时出现错误

  • #4754: sphinx/pycode/__init__.py 引发 AttributeError

  • #1435: qthelp构建器应对关键字进行HTML转义

  • epub: 修复 toc.ncx 中的 docTitle 元素未被转义

  • #4520: apidoc: 子包不在目录中(在1.6.6中引入)现已修复

  • #4767: html: 搜索高亮破坏了mathjax方程式

发行版本 1.7.1 (发布于 2018年2月23日)

过时

  • #4623:sphinx.build_main() 已被弃用.

  • autosummary:sphinx.ext.autosummary.get_documenter() 的接口已更改(自 1.7.0 起)

  • #4664:sphinx.ext.intersphinx.debug() 已弃用.

有关更多详细信息,请参见 弃用 API 列表 .

修复的错误

  • #4608: epub: 生成了无效的元标签

  • #4260: autodoc: 如果关键字参数分隔符出现在参数列表的顶部,它不会消失

  • #4622: epub: epub_scheme 对 content.opf 没有影响

  • #4627: graphviz: 将graphviz图像适配到页面

  • #4617: 快速入门:PROJECT_DIR 参数是必需的

  • #4623: sphinx.build_main 在 1.7.0 中不再存在

  • #4615:sphinx.build 的参数在 1.7.0 中已更改

  • autosummary:sphinx.ext.autosummary.get_documenter() 接口已更改

  • #4630: 确保sphinx.pot中的msgids顺序是确定性的

  • #4563: autosummary: 行末标点检测不正确

  • #4577: 显式起始的枚举子列表数字错误

  • #4641: TOC中的外部链接不能包含”?”与 :glob: 选项

  • C++,在表达式解析中添加缺失的显式转换和typeid解析.

  • C++,在表达式解析中添加缺失的 this 解析.

  • #4655: 修复波兰语中不完整的本地化字符串

  • #4653: 修复无参数ImportErrors的错误报告

  • #4664: 读取 objects.inv 再次失败

  • #4662:any 引用与 term 目标在遇到模糊性时崩溃

发布 1.7.0(于 2018 年 2 月 12 日发布)

依赖项

1.7.0b1

  • 添加 packaging

不兼容的更改

1.7.0b1

  • #3668: 每个命令的主函数参数已更改

  • #3893: 未知的 html_theme_options 产生警告而不是错误

  • #3927: Python 参数/变量类型应匹配类,而非所有对象

  • #3962: sphinx-apidoc 现在在给定目录使用 --implicit-namespaces 选项时,将其识别为隐式命名空间包,而不是给定目录的子目录.

  • #3929: apidoc: 将 sphinx.apidoc 移动到 sphinx.ext.apidoc

  • #4226: apidoc: 生成新样式的makefile(make模式)

  • #4274: sphinx-build 在参数错误时返回 2 作为退出代码

  • #4389: 输出目录将在加载扩展后创建

  • autodoc不会将警告信息生成到生成的文档中,即使:confval:keep_warningsTrue .它们仅会输出到stderr.

  • 生成的 conf.py 文件中已删除 shebang 行

  • #2557: autodoc: autodoc_mock_imports 仅模拟指定模块及其后代.它不模拟其祖先.如果您想模拟它们,请明确指定祖先的名称.

  • #3620: html 主题: 将 DOCUMENTATION_OPTIONS 移动到独立的 JavaScript 文件 (参考: #4295)

  • #4246:限制所有主题的文本主体宽度.可通过主题选项 body_min_widthbody_max_width 配置.

  • #4771: apidoc:exclude_patterns 参数在命令行选项后面时会被忽略

1.7.0b2

  • #4467: html 主题: 将 csss 块重命名为 css

过时

1.7.0b1

  • 使用字符串值作为 html_sidebars 已被弃用,2.0 只会接受列表值.

  • format_annotation() and formatargspec() is deprecated. Please use sphinx.util.inspect.Signature instead.

  • sphinx.ext.autodoc.AutodocReporter is replaced by sphinx.util.docutils. switch_source_input() and now deprecated. It will be removed in Sphinx 2.0.

  • sphinx.ext.autodoc.add_documenter() and AutoDirective._register is now deprecated. Please use app.add_autodocumenter() instead.

  • AutoDirective._special_attrgetters is now deprecated. Please use app.add_autodoc_attrgetter() instead.

添加的功能

1.7.0b1

  • C++,处理 decltype(auto) .

  • #2406: C++,添加对表达式的正确解析,包括标识符的链接.

  • C++,添加一个 cpp:expr 角色用于插入行内 C++ 表达式或类型.

  • C++,支持使用简写 template 前缀显式成员实例化

  • C++,使函数参数可链接,像模板参数一样.

  • #3638:允许使用 math_eqref_format 更改对方程的引用标签

  • 现在 suppress_warnings 接受以下配置:

    • ref.python (ref: #3866)

  • #3872:添加latex键以配置PDF输出中文字块的标题位置(参考 #3792,#1723)

  • 如果缺少文档字符串,尝试从基类中获取文档(参考:#3140)

  • #4023: 当任何角色有多个目标时,明确错误信息.

  • #3973: epub: 允许覆盖构建日期

  • #3972: epub: 按文件名排序清单条目

  • #4052: viewcode: 在高亮模块代码之前进行排序

  • #1448: qthelp: 添加新的配置值; qthelp_namespace

  • #4140: html 主题: 使 body 标签可继承

  • #4168: 使用jieba改进中文搜索

  • HTML 主题可以通过 theme.conf 设置默认的侧边栏

  • #3160: html: 使用 <kdb> 来表示 :kbd: 角色

  • #4212: autosummary: 在导入模块时捕获所有异常

  • #4166: 添加 math_numfig 用于按章节对方程进行编号(参考:#3991,#4080).感谢 Oliver Jahn.

  • #4311: 让 LaTeX 遵循 numfig_secnum_depth 对于图形、表格和代码块

  • #947: autodoc 现在支持 ignore-module-all 以忽略模块的 __all__

  • #4332:让 LaTeX 遵循 math_numfig 进行方程编号

  • #4093: sphinx-build 为未知的目标/构建器创建空目录

  • sphinx.ext.inheritance_diagram 扩展添加 top-classes 选项,以限制继承图的范围.

  • #4183: doctest::pyversion: 选项也遵循 PEP-440 规范

  • #4235: html: 添加 manpages_url 使手册页角色成为超链接

  • #3570: autodoc: 不显示’typing.’模块用于类型提示

  • #4354: sphinx-build 现在会输出完成消息.构建器可以通过 Builder.epilog 属性修改它

  • #4245: html 主题:将 language 添加到 javascript 变量列表中

  • #4079: html: 为每个代码块、文本和数学表达式添加 notranslate 类,以便告知 Google Translate 这些内容不可翻译

  • #4137: doctest: doctest块总是被高亮为python控制台(pycon)

  • #4137: doctest: 测试代码块始终被高亮为 Python

  • #3998: 文本:默认情况下分配章节编号.您可以使用 text_add_secnumberstext_secnumber_suffix 来控制它

1.7.0b2

  • #4271: sphinx-build 支持一个名为 -j auto 的选项,以自动调整进程数量.

  • 拿破仑:添加了指定自定义章节标签的选项.

已移除的特性

1.7.0b1

  • 配置变量

    • html_use_smartypants

    • latex_keep_old_macro_names

    • latex_elements[‘页脚’]

  • utility methods of sphinx.application.Sphinx class

    • buildername(属性)

    • _display_chunk()

    • old_status_iterator()

    • status_iterator()

    • _directive_helper()

  • utility methods of sphinx.environment.BuildEnvironment class

    • currmodule(属性)

    • currclass (属性)

  • epub2 构建器

  • warn()的prefix和colorfunc参数

  • sphinx.util.compat module

  • sphinx.util.nodes.process_only_nodes()

  • LaTeX环境 notice ,请使用 sphinxadmonition 代替

  • LaTeX \sphinxstylethead ,使用 \sphinxstyletheadfamily

  • C++,对函数概念的支持.感谢mickk-on-cpp.

  • 未使用且之前未记录的 LaTeX 宏 \shortversion\setshortversion

修复的错误

1.7.0b1

  • #3882: 更新HTMLHelp和QTHelp的文件顺序

  • #3962: sphinx-apidoc无法正确识别隐式命名空间包

  • #4094: C++,允许空模板参数列表.

  • C++,还在合格名称的声明中超链接类型.

  • C++,不要为概念内部的声明添加索引条目.

  • C++,支持用于依赖名称的模板消歧义器.

  • #4314:对于PDF的’如何’文档,代码块的编号与图表的编号不同

  • #4330: PDF ‘howto’ 文档的默认 LaTeX tocdepth 计数器设置不一致

  • #4198: autosummary 触发多个 ‘autodoc-process-docstring’ 事件.谢谢 Joel Nothman.

  • #4081: 在构建时警告和错误颜色相同

  • latex: 如果未设置 release ,则不显示 ‘Release’ 标签

1.7.0b2

  • #4415: autodoc 将继承的类方法归类为普通方法

  • #4415: autodoc 将继承的静态方法归类为常规方法

  • #4472: DOCUMENTATION_OPTIONS 未定义

  • #4491: autodoc: 在 sys.meta_path 中优先使用 _MockImporter 而非其他导入器

  • #4490: autodoc: 类型注解在 Python 3.7.0a4+ 中已损坏

  • utils包不再安装

  • #3952: apidoc: 模块头部转义过多

  • #4275: sphinx.util.i18n.format_date支持的格式有限

  • #4493: 当启用AutoStructify时,recommonmark引发AttributeError

  • #4209: intersphinx: 在链接标题中,如果目标没有版本,则”v”应该是可选的

  • #4230: Sphinx 1.6 写页面速度变慢

  • #4522: epub: 即使配置更改,文档也不会重建

1.7.0b3

  • #4019: inheritance_diagram 属性错误停止构建过程

  • #4531: autosummary: 方法未被视为属性

  • #4538: autodoc:sphinx.ext.autodoc.Options 已被移动

  • #4539: autodoc 对 partialmethods 发出警告

  • #4223: doctest: 失败的测试报告出现在错误的文件和错误的行

  • i18n: 如果给 sphinx-build 提供了特定的文件名作为参数,则消息目录不会被编译 (参考: #4560)

  • #4027: sphinx.ext.autosectionlabel 现在期望标签与原始源中的标签相同;不允许智能引号,不能有花哨的内容.

  • #4581: apidoc: 排除的模块仍然被包含

测试

1.7.0b1

  • 添加对Docutils 0.14的支持

  • sphinx.ext.inheritance_diagram 扩展添加测试.