Sphinx 2.0¶
Release 2.0.1 (released Apr 08, 2019)¶
Bugs fixed¶
LaTeX: some system labels are not translated
RemovedInSphinx30Warning is marked as pending
deprecation warnings are not emitted
sphinx.application.CONFIG_FILENAMEsphinx.builders.htmlhelpviewcode_import
#6208: C++, properly parse full xrefs that happen to have a short xref as prefix
#6220, #6225: napoleon: AttributeError is raised for raised section having references
#6245: circular import error on importing SerializingHTMLBuilder
#6243: LaTeX: 'releasename' setting for latex_elements is ignored
#6244: html: Search function is broken with 3rd party themes
#6263: html: HTML5Translator crashed with invalid field node
#6262: html theme: The style of field lists has changed in bizstyle theme
Release 2.0.0 (released Mar 29, 2019)¶
Dependencies¶
2.0.0b1
LaTeX builder now depends on TeX Live 2015 or above.
LaTeX builder (with
'pdflatex'latex_engine) will process Unicode Greek letters in text (not in math mark-up) via the text font and will not escape them to math mark-up. See the discussion of the'fontenc'key oflatex_elements; such (optional) support for Greek adds, for example on Ubuntu xenial, thetexlive-lang-greekand (if default font set-up is not modified)cm-super(-minimal)as additional Sphinx LaTeX requirements.LaTeX builder with
latex_engineset to'xelatex'or to'lualatex'requires (by default) theFreeFontfonts, which in Ubuntu xenial are provided by packagefonts-freefont-otf, and e.g. in Fedora 29 via packagetexlive-gnu-freefont.requests 2.5.0 or above
The six package is no longer a dependency
The sphinxcontrib-websupport package is no longer a dependency
Some packages are separated to sub packages:
sphinxcontrib.applehelp
sphinxcontrib.devhelp
sphinxcontrib.htmlhelp
sphinxcontrib.jsmath
sphinxcontrib.serializinghtml
sphinxcontrib.qthelp
Incompatible changes¶
2.0.0b1
Drop python 2.7 and 3.4 support
Drop Docutils 0.11 support
Drop features and APIs deprecated in 1.7.x
The default setting for
master_docis changed to'index'which has been longly used as default of sphinx-quickstart.LaTeX: Move message resources to
sphinxmessage.styLaTeX: Stop using
\captions<lang>macro for some labelsLaTeX: for
'xelatex'and'lualatex', use theFreeFontOpenType fonts as default choice (refs: #5645)LaTeX:
'xelatex'and'lualatex'now use\smallin code-blocks (due toFreeMonocharacter width) like'pdflatex'already did (due toCouriercharacter width). You may need to adjust this vialatex_elements'fvset'key, in case of usage of some other OpenType fonts (refs: #5768)LaTeX: Greek letters in text are not escaped to math mode mark-up, and they will use the text font not the math font. The
LGRfont encoding must be added to the'fontenc'key oflatex_elementsfor this to work (only if it is needed by the document, of course).LaTeX: setting the
languageto'en'triggeredSonnyoption offncychap, now it isBjarneto match case of no language specified. (refs: #5772)#5770: doctest: Follow
highlight_languageon highlighting doctest block. As a result, they are highlighted as python3 by default.The order of argument for
HTMLTranslator,HTML5TranslatorandManualPageTranslatorare changedLaTeX: hard-coded redefinitions of
\l@sectionand\l@subsectionformerly done during loading of'manual'docclass get executed later, at time of\sphinxtableofcontents. This means that custom user definitions from LaTeX preamble now get overwritten. Use\sphinxtableofcontentshookto insert custom user definitions. See Macros.quickstart: Simplify generated
conf.py#4148: quickstart: some questions are removed. They are still able to specify via command line options
websupport: unbundled from Sphinx core. Please use sphinxcontrib-websupport
C++, the visibility of base classes is now always rendered as present in the input. That is,
privateis now shown, where it was ellided before.LaTeX: graphics inclusion of oversized images rescales to not exceed the text width and height, even if width and/or height option were used. (refs: #5956)
epub:
epub_titledefaults to theprojectoption#4550: All tables and figures without
alignoption are displayed to center#4587: html: Output HTML5 by default
2.0.0b2
texinfo: image files are copied into
name-figuredirectory
Deprecated¶
2.0.0b1
Support for evaluating Python 2 syntax is deprecated. This includes configuration files which should be converted to Python 3.
The arguments of
EpubBuilder.build_mimetype(),EpubBuilder.build_container(),EpubBuilder.bulid_content(),EpubBuilder.build_toc()andEpubBuilder.build_epub()The arguments of
Epub3Builder.build_navigation_doc()The config variables
html_experimental_html5_writer
The
encodingargument ofautodoc.Documenter.get_doc(),autodoc.DocstringSignatureMixin.get_doc(),autodoc.DocstringSignatureMixin._find_signature(), andautodoc.ClassDocumenter.get_doc()are deprecated.The
importerargument ofsphinx.ext.autodoc.importer._MockModuleThe
nodetypeargument ofsphinx.search.WordCollector. is_meta_keywords()The
suffixargument ofenv.doc2path()is deprecated.The string style
baseargument ofenv.doc2path()is deprecated.The fallback to allow omitting the
filenameargument from an overriddenIndexBuilder.feed()method is deprecated.sphinx.addnodes.abbreviationsphinx.application.Sphinx._setting_up_extensionsphinx.builders.epub3.Epub3Builder.validate_config_value()sphinx.builders.html.SingleFileHTMLBuildersphinx.builders.htmlhelp.HTMLHelpBuilder.open_file()sphinx.cmd.quickstart.term_decode()sphinx.cmd.quickstart.TERM_ENCODINGsphinx.config.check_unicode()sphinx.config.string_classessphinx.domains.cpp.DefinitionError.descriptionsphinx.domains.cpp.NoOldIdError.descriptionsphinx.domains.cpp.UnsupportedMultiCharacterCharLiteral.decodedsphinx.ext.autodoc.importer._MockImportersphinx.ext.autosummary.Autosummary.warn()sphinx.ext.autosummary.Autosummary.genoptsphinx.ext.autosummary.Autosummary.warningssphinx.ext.autosummary.Autosummary.resultsphinx.ext.doctest.doctest_encode()sphinx.io.SphinxBaseFileInputsphinx.io.SphinxFileInput.supportedsphinx.io.SphinxRSTFileInputsphinx.registry.SphinxComponentRegistry.add_source_input()sphinx.roles.abbr_role()sphinx.roles.emph_literal_role()sphinx.roles.menusel_role()sphinx.roles.index_role()sphinx.roles.indexmarkup_role()sphinx.testing.util.remove_unicode_literal()sphinx.util.attrdictsphinx.util.force_decode()sphinx.util.get_matching_docs()sphinx.util.inspect.Parametersphinx.util.jsonimplsphinx.util.osutil.EEXISTsphinx.util.osutil.EINVALsphinx.util.osutil.ENOENTsphinx.util.osutil.EPIPEsphinx.util.osutil.walk()sphinx.util.PeekableIteratorsphinx.util.pycompat.NoneTypesphinx.util.pycompat.TextIOWrappersphinx.util.pycompat.UnicodeMixinsphinx.util.pycompat.htmlescapesphinx.util.pycompat.indentsphinx.util.pycompat.sys_encodingsphinx.util.pycompat.terminal_safe()sphinx.util.pycompat.usphinx.writers.latex.ExtBabelsphinx.writers.latex.LaTeXTranslator._make_visit_admonition()sphinx.writers.latex.LaTeXTranslator.babel_defmacro()sphinx.writers.latex.LaTeXTranslator.collect_footnotes()sphinx.writers.latex.LaTeXTranslator.generate_numfig_format()sphinx.writers.texinfo.TexinfoTranslator._make_visit_admonition()sphinx.writers.text.TextTranslator._make_depart_admonition()template variables for LaTeX template
logonumfig_formatpageautorefnametranslatablestrings
For more details, see deprecation APIs list.
Features added¶
2.0.0b1
#1618: The search results preview of generated HTML documentation is reader-friendlier: instead of showing the snippets as raw reStructuredText markup, Sphinx now renders the corresponding HTML. This means the Sphinx extension Sphinx: pretty search results is no longer necessary. Note that changes to the search function of your custom or 3rd-party HTML template might overwrite this improvement.
#4182: autodoc: Support
suppress_warnings#5533: autodoc:
autodoc_default_optionssupportsmember-order#5394: autodoc: Display readable names in type annotations for mocked objects
#5459: autodoc:
autodoc_default_optionsacceptsTrueas a value#1148: autodoc: Add
autodecoratordirective for decorators#5635: autosummary: Add
autosummary_mock_importsto mock external libraries on importing targets#4018: htmlhelp: Add
htmlhelp_file_suffixandhtmlhelp_link_suffix#5559: text: Support complex tables (colspan and rowspan)
LaTeX: support rendering (not in math, yet) of Greek and Cyrillic Unicode letters in non-Cyrillic document even with
'pdflatex'aslatex_engine(refs: #5645)#5660: The
versionadded,versionchangedanddeprecateddirectives are now generated with their own specific CSS classes (added,changedanddeprecated, respectively) in addition to the genericversionmodifiedclass.#5841: apidoc: Add --extensions option to sphinx-apidoc
#4981: C++, added an alias directive for inserting lists of declarations, that references existing declarations (e.g., for making a synopsis).
C++: add
cpp:structto complementcpp:class.#1341: the HTML search considers words that contain a search term of length three or longer a match.
#4611: epub: Show warning for duplicated ToC entries
#1851: Allow to omit an argument for
code-blockdirective. If omitted, it followshighlightorhighlight_language#4587: html: Add
html4_writerto use old HTML4 writer#6016: HTML search: A placeholder for the search summary prevents search result links from changing their position when the search terminates. This makes navigating search results easier.
#5196: linkcheck also checks remote images exist
#5924: githubpages: create CNAME file for custom domains when
html_baseurlset#4261: autosectionlabel: restrict the labeled sections by new config value;
autosectionlabel_maxdepth
Bugs fixed¶
2.0.0b1
#1682: LaTeX: writer should not translate Greek unicode, but use textgreek package
#5247: LaTeX: PDF does not build with default font config for Russian language and
'xelatex'or'lualatex'aslatex_engine(refs: #5251)#5248: LaTeX: Greek letters in section titles disappear from PDF bookmarks
#5249: LaTeX: Unicode Greek letters in math directive break PDF build (fix requires extra set-up, see
latex_elements'textgreek'key and/orlatex_enginesetting)#5772: LaTeX: should the Bjarne style of fncychap be used for English also if passed as language option?
#5179: LaTeX: (lualatex only) escaping of
>by\textgreater{}is not enough as\textgreater{}\textgreater{}applies TeX-ligatureLaTeX: project name is not escaped if
latex_documentsomittedLaTeX: authors are not shown if
latex_documentsomittedHTML: Invalid HTML5 file is generated for a glossary having multiple terms for one description (refs: #4611)
QtHelp: OS dependent path separator is used in .qhp file
HTML search: search always returns nothing when multiple search terms are used and one term is shorter than three characters
2.0.0b2
#6096: html: Anchor links are not added to figures
#3620: html: Defer searchindex.js rather than loading it via ajax
#6113: html: Table cells and list items have large margins
#5508:
linenothresholdoption forhighlightdirective was ignoredtexinfo:
make install-infocauses syntax errortexinfo:
make install-infofails on macOS#3079: texinfo: image files are not copied on
make install-info#5391: A cross reference in heading is rendered as literal
#5946: C++, fix
cpp:aliasproblems in LaTeX (and singlehtml)#6147: classes attribute of
citation_referencenode is lostAssertionError is raised when custom
citation_referencenode having classes attribute refers missing citation (refs: #6147)#2155: Support
codedirectiveC++, fix parsing of braced initializers.
#6172: AttributeError is raised for old styled index nodes
#4872: inheritance_diagram: correctly describe behavior of
partsoption in docs, allow negative values.#6178: i18n: Captions missing in translations for hidden TOCs
2.0.0 final
#6196: py domain: unexpected prefix is generated
Testing¶
2.0.0b1
Stop to use
SPHINX_TEST_TEMPDIRenvvar
2.0.0b2
Add a helper function:
sphinx.testing.restructuredtext.parse()