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_FILENAME
sphinx.builders.htmlhelp
viewcode_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-greek
and (if default font set-up is not modified)cm-super(-minimal)
as additional Sphinx LaTeX requirements.LaTeX builder with
latex_engine
set to'xelatex'
or to'lualatex'
requires (by default) theFreeFont
fonts, 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_doc
is changed to'index'
which has been longly used as default of sphinx-quickstart.LaTeX: Move message resources to
sphinxmessage.sty
LaTeX: Stop using
\captions<lang>
macro for some labelsLaTeX: for
'xelatex'
and'lualatex'
, use theFreeFont
OpenType fonts as default choice (refs: #5645)LaTeX:
'xelatex'
and'lualatex'
now use\small
in code-blocks (due toFreeMono
character width) like'pdflatex'
already did (due toCourier
character 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
LGR
font encoding must be added to the'fontenc'
key oflatex_elements
for this to work (only if it is needed by the document, of course).LaTeX: setting the
language
to'en'
triggeredSonny
option offncychap
, now it isBjarne
to match case of no language specified. (refs: #5772)#5770: doctest: Follow
highlight_language
on highlighting doctest block. As a result, they are highlighted as python3 by default.The order of argument for
HTMLTranslator
,HTML5Translator
andManualPageTranslator
are changedLaTeX: hard-coded redefinitions of
\l@section
and\l@subsection
formerly 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\sphinxtableofcontentshook
to 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,
private
is 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_title
defaults to theproject
option#4550: All tables and figures without
align
option are displayed to center#4587: html: Output HTML5 by default
2.0.0b2
texinfo: image files are copied into
name-figure
directory
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
encoding
argument ofautodoc.Documenter.get_doc()
,autodoc.DocstringSignatureMixin.get_doc()
,autodoc.DocstringSignatureMixin._find_signature()
, andautodoc.ClassDocumenter.get_doc()
are deprecated.The
importer
argument ofsphinx.ext.autodoc.importer._MockModule
The
nodetype
argument ofsphinx.search.WordCollector. is_meta_keywords()
The
suffix
argument ofenv.doc2path()
is deprecated.The string style
base
argument ofenv.doc2path()
is deprecated.The fallback to allow omitting the
filename
argument from an overriddenIndexBuilder.feed()
method is deprecated.sphinx.addnodes.abbreviation
sphinx.application.Sphinx._setting_up_extension
sphinx.builders.epub3.Epub3Builder.validate_config_value()
sphinx.builders.html.SingleFileHTMLBuilder
sphinx.builders.htmlhelp.HTMLHelpBuilder.open_file()
sphinx.cmd.quickstart.term_decode()
sphinx.cmd.quickstart.TERM_ENCODING
sphinx.config.check_unicode()
sphinx.config.string_classes
sphinx.domains.cpp.DefinitionError.description
sphinx.domains.cpp.NoOldIdError.description
sphinx.domains.cpp.UnsupportedMultiCharacterCharLiteral.decoded
sphinx.ext.autodoc.importer._MockImporter
sphinx.ext.autosummary.Autosummary.warn()
sphinx.ext.autosummary.Autosummary.genopt
sphinx.ext.autosummary.Autosummary.warnings
sphinx.ext.autosummary.Autosummary.result
sphinx.ext.doctest.doctest_encode()
sphinx.io.SphinxBaseFileInput
sphinx.io.SphinxFileInput.supported
sphinx.io.SphinxRSTFileInput
sphinx.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.attrdict
sphinx.util.force_decode()
sphinx.util.get_matching_docs()
sphinx.util.inspect.Parameter
sphinx.util.jsonimpl
sphinx.util.osutil.EEXIST
sphinx.util.osutil.EINVAL
sphinx.util.osutil.ENOENT
sphinx.util.osutil.EPIPE
sphinx.util.osutil.walk()
sphinx.util.PeekableIterator
sphinx.util.pycompat.NoneType
sphinx.util.pycompat.TextIOWrapper
sphinx.util.pycompat.UnicodeMixin
sphinx.util.pycompat.htmlescape
sphinx.util.pycompat.indent
sphinx.util.pycompat.sys_encoding
sphinx.util.pycompat.terminal_safe()
sphinx.util.pycompat.u
sphinx.writers.latex.ExtBabel
sphinx.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
logo
numfig_format
pageautorefname
translatablestrings
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_options
supportsmember-order
#5394: autodoc: Display readable names in type annotations for mocked objects
#5459: autodoc:
autodoc_default_options
acceptsTrue
as a value#1148: autodoc: Add
autodecorator
directive for decorators#5635: autosummary: Add
autosummary_mock_imports
to mock external libraries on importing targets#4018: htmlhelp: Add
htmlhelp_file_suffix
andhtmlhelp_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
,versionchanged
anddeprecated
directives are now generated with their own specific CSS classes (added
,changed
anddeprecated
, respectively) in addition to the genericversionmodified
class.#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:struct
to 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-block
directive. If omitted, it followshighlight
orhighlight_language
#4587: html: Add
html4_writer
to 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_baseurl
set#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_engine
setting)#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_documents
omittedLaTeX: authors are not shown if
latex_documents
omittedHTML: 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:
linenothreshold
option forhighlight
directive was ignoredtexinfo:
make install-info
causes syntax errortexinfo:
make install-info
fails 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:alias
problems in LaTeX (and singlehtml)#6147: classes attribute of
citation_reference
node is lostAssertionError is raised when custom
citation_reference
node having classes attribute refers missing citation (refs: #6147)#2155: Support
code
directiveC++, fix parsing of braced initializers.
#6172: AttributeError is raised for old styled index nodes
#4872: inheritance_diagram: correctly describe behavior of
parts
option 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_TEMPDIR
envvar
2.0.0b2
Add a helper function:
sphinx.testing.restructuredtext.parse()