Changes in Sphinx¶
Release 1.6 (in development)¶
Incompatible changes¶
Features added¶
- #3136: Add
:name:
option to the directives insphinx.ext.graphviz
Bugs fixed¶
Release 1.5 beta2 (in development)¶
Incompatible changes¶
- #2986:
themes/basic/defindex.html
is now deprecated
Features added¶
- #3095: Add
tls_verify
andtls_cacerts
to support self-signed HTTPS servers in linkcheck and intersphinx
Bugs fixed¶
- #3069: Even if
'babel'
key is set to empty string, LaTeX output contains one\addto\captions...
- #3123: user
'babel'
key setting is not obeyed anymore - #3155: Fix JavaScript for
html_sourcelink_suffix
fails with IE and Opera
Release 1.5 beta1 (released Nov 6, 2016)¶
Features added¶
- #2513: A better default settings for XeLaTeX
- #3096:
'maxlistdepth'
key to work around LaTeX list limitations - #3060: autodoc supports documentation for attributes of Enum class. Now autodoc render just the value of Enum attributes instead of Enum attribute representation.
- Add
--extensions
tosphinx-quickstart
to support enable arbitrary extensions from command line (ref: #2904) - #3104, #3122:
'sphinxsetup'
for key=value styling of Sphinx LaTeX - #3071: Autodoc: Allow mocked module decorators to pass-through functions unchanged
- #2495: linkcheck: Allow skipping anchor checking using
linkcheck_anchors_ignore
- #3083: let Unicode no-break space act like LaTeX
~
(fixed #3019) - #3116: allow word wrap in PDF output for inline literals (ref #3110)
- #930: sphinx-apidoc allow wildcards for excluding paths. Thanks to Nick Coghlan.
- #3121: add
inlineliteralwraps
option to control if inline literal word-wraps in latex
Bugs fixed¶
- #2432: Fix unwanted * between varargs and keyword only args. Thanks to Alex Grönholm.
- #3062: Failed to build PDF using 1.5a2 (undefined
\hypersetup
for Japanese documents since PR#3030) - Better rendering of multiline signatures in html.
- #777: LaTeX output “too deeply nested” (ref #3096)
- Let LaTeX image inclusion obey
scale
before textwidth fit (ref #2865, #3059) - #3019: LaTeX fails on description of C function with arguments (ref #3083)
- fix latex inline literals where
< > -
gobbled a space
Release 1.5 alpha2 (released Oct 17, 2016)¶
Incompatible changes¶
- #2983: Rename
epub3_description
andepub3_contributor
toepub_description
andepub_contributor
. - Remove themes/basic/defindex.html; no longer used
- Sphinx does not ship anymore (but still uses) LaTeX style file
fncychap
- #2435: Slim down quickstarted conf.py
- The
sphinx.sty
latex package does not load itself “hyperref”, as this is done later in the preamble of the latex output via'hyperref'
key. - Sphinx does not ship anymore a custom modified LaTeX style file
tabulary
. The non-modified package is used. - #3057: By default, footnote marks in latex PDF output are not preceded by a space anymore,
\sphinxBeforeFootnote
allows user customization if needed.
Features added¶
- #3008:
linkcheck
builder ignores self-signed certificate URL - #3020: new
'geometry'
key tolatex_elements
whose default uses LaTeX style filegeometry.sty
to set page layout - #2843: Add :start-at: and :end-at: options to literalinclude directive
- #2527: Add
:reversed:
option to toctree directive - Add
-t
and-d
option tosphinx-quickstart
to support templating generated sphinx project. - #3028: Add
{path}
and{basename}
to the format offigure_language_filename
- new
'hyperref'
key in thelatex_elements
dictionary (ref #3030) - #3022: Allow code-blocks in footnotes for LaTeX PDF output
Bugs fixed¶
- #2810: Problems with pdflatex in an Italian document
- Use
latex_elements.papersize
to specify papersize of LaTeX in Makefile - #2988: linkcheck: retry with GET request if denied HEAD request
- #2990: linkcheck raises “Can’t convert ‘bytes’ object to str implicitly” error if linkcheck_anchors enabled
- #3004: Invalid link types “top” and “up” are used
- #3009: Bad rendering of parsed-literals in LaTeX since Sphinx 1.4.4
- #3000:
option
directive generates invalid HTML anchors - #2984: Invalid HTML has been generated if
html_split_index
enabled - #2986: themes/basic/defindex.html should be changed for html5 friendly
- #2987: Invalid HTML has been generated if multiple IDs are assigned to a list
- #2891: HTML search does not provide all the results
- #1986: Title in PDF Output
- #147: Problem with latex chapter style
- #3018: LaTeX problem with page layout dimensions and chapter titles
- Fix an issue with
\pysigline
in LaTeX style file (ref #3023) - #3038:
sphinx.ext.math*
raises TypeError if labels are duplicated - #3031: incompatibility with LaTeX package
tocloft
- #3003: literal blocks in footnotes are not supported by Latex
- #3047: spacing before footnote in pdf output is not coherent and allows breaks
- #3045: HTML search index creator should ignore “raw” content if now html
- #3039: English stemmer returns wrong word if the word is capitalized
- Fix make-mode Makefile template (ref #3056, #2936)
Testing¶
- To simplify, sphinx uses external mock package even if unittest.mock exists.
Release 1.5 alpha1 (released Sep 21, 2016)¶
Incompatible changes¶
- latex, package fancybox is not longer a dependency of sphinx.sty
- Use
'locales'
as a default value oflocale_dirs
- latex, package ifthen is not any longer a dependency of sphinx.sty
- latex, style file does not modify fancyvrb’s Verbatim (also available as OriginalVerbatim) but uses sphinxVerbatim for name of custom wrapper.
- latex, package newfloat is no longer a dependency of sphinx.sty (ref #2660; it was shipped with Sphinx since 1.3.4).
- latex, literal blocks in tables do not use OriginalVerbatim but sphinxVerbatimintable which handles captions and wraps lines(ref #2704).
- latex, replace
pt
by TeX equivalentbp
if found inwidth
orheight
attribute of an image. - latex, if
width
orheight
attribute of an image is given with no unit, usepx
rather than ignore it. - latex: Separate stylesheets of pygments to independent .sty file
- #2454: The filename of sourcelink is now changed. The value of
html_sourcelink_suffix
will be appended to the original filename (likeindex.rst.txt
). sphinx.util.copy_static_entry()
is now deprecated. Usesphinx.util.fileutil.copy_asset()
instead.sphinx.util.osutil.filecopy()
skips copying if the file has not been changed (ref: #2510, #2753)- Internet Explorer 6-8, Opera 12.1x or Safari 5.1+ support is dropped because jQuery version is updated from 1.11.0 to 3.1.0 (ref: #2634, #2773)
- QtHelpBuilder doens’t generate search page (ref: #2352)
- QtHelpBuilder uses
nonav
theme instead of default one to improve readability. - latex: To provide good default settings to Japanese docs, Sphinx uses
jsbooks
as a docclass by default if thelanguage
isja
. - latex: To provide good default settings to Japanese docs, Sphinx uses
jreport
andjsbooks
as a docclass by default if thelanguage
isja
. sphinx-quickstart
now allows a project version is empty- Fix :download: role on epub/qthelp builder. They ignore the role because they don’t support it.
sphinx.ext.viewcode
doesn’t work on epub building by default.viewcode_enable_epub
optionsphinx.ext.viewcode
disabled on singlehtml builder.- Use make-mode of
sphinx-quickstart
by default. To disable this, use-M
option - Fix
genindex.html
, Sphinx’s document template, link address to itself to satisfy xhtml standard. - Use epub3 builder by default. And the old epub builder is renamed to epub2.
- Fix
epub
andepub3
builders that contained links togenindex
even ifepub_use_index = False
. html_translator_class
is now deprecated. UseSphinx.set_translator()
API instead.- Drop python 2.6 and 3.3 support
- Drop epub3 builder’s
epub3_page_progression_direction
option (useepub3_writing_mode
). - #2877: Rename
latex_elements['footer']
tolatex_elements['atendofbody']
Features added¶
- #2951: Add
--implicit-namespaces
PEP-0420 support to apidoc. - Add
:caption:
option for sphinx.ext.inheritance_diagram. - #2471: Add config variable for default doctest flags.
- Convert linkcheck builder to requests for better encoding handling
- #2463, #2516: Add keywords of “meta” directive to search index
:maxdepth:
option of toctree affectssecnumdepth
(ref: #2547)- #2575: Now
sphinx.ext.graphviz
allows:align:
option - Show warnings if unknown key is specified to
latex_elements
- Show warnings if no domains match with
primary_domain
(ref: #2001) - C++, show warnings when the kind of role is misleading for the kind of target it refers to (e.g., using the
class
role for a function). - latex, writer abstracts more of text styling into customizable macros, e.g. the
visit_emphasis
will output\sphinxstyleemphasis
rather than\emph
(which may be in use elsewhere or in an added LaTeX package). See list at end ofsphinx.sty
(ref: #2686) - latex, public names for environments and parameters used by note, warning, and other admonition types, allowing full customizability from the
'preamble'
key or an input file (ref: feature request #2674, #2685) - latex, better computes column widths of some tables (as a result, there will be slight changes as tables now correctly fill the line width; ref: #2708)
- latex, sphinxVerbatim environment is more easily customizable (ref: #2704). In addition to already existing VerbatimColor and VerbatimBorderColor:
- two lengths
\sphinxverbatimsep
and\sphinxverbatimborder
, - booleans
\ifsphinxverbatimwithframe
and\ifsphinxverbatimwrapslines
.
- two lengths
- latex, captions for literal blocks inside tables are handled, and long code lines wrapped to fit table cell (ref: #2704)
- #2597: Show warning messages as darkred
- latex, allow image dimensions using px unit (default is 96px=1in)
- Show warnings if invalid dimension units found
- #2650: Add
--pdb
option to setup.py command - latex, make the use of
\small
for code listings customizable (ref #2721) - #2663: Add
--warning-is-error
option to setup.py command - Show warnings if deprecated latex options are used
- Add sphinx.config.ENUM to check the config values is in candidates
- math: Add hyperlink marker to each equations in HTML output
- Add new theme
nonav
that doesn’t include any navigation links. This is for any help generator like qthelp. - #2680:
sphinx.ext.todo
now emits warnings iftodo_emit_warnings
enabled. Also, it emits an additional event namedtodo-defined
to handle the TODO entries in 3rd party extensions. - Python domain signature parser now uses the xref mixin for ‘exceptions’, allowing exception classes to be autolinked.
- #2513: Add
latex_engine
to switch the LaTeX engine by conf.py - #2682: C++, basic support for attributes (C++11 style and GNU style). The new configuration variables ‘cpp_id_attributes’ and ‘cpp_paren_attributes’ can be used to introduce custom attributes.
- #1958: C++, add configuration variable ‘cpp_index_common_prefix’ for removing prefixes from the index text of C++ objects.
- C++, added concept directive. Thanks to mickk-on-cpp.
- C++, added support for template introduction syntax. Thanks to mickk-on-cpp.
- #2725: latex builder: allow to use user-defined template file (experimental)
- apidoc now avoids invalidating cached files by not writing to files whose content doesn’t change. This can lead to significant performance wins if apidoc is run frequently.
- #2851:
sphinx.ext.math
emits missing-reference event if equation not found - #1210:
eqref
role now supports cross reference - #2892: Added
-a
(--append-syspath
) option tosphinx-apidoc
- #1604: epub3 builder: Obey font-related CSS when viewing in iBooks.
- #646:
option
directive support ‘.’ character as a part of options - Add document about kindlegen and fix document structure for it.
- #2474: Add
intersphinx_timeout
option tosphinx.ext.intersphinx
- #2926: EPUB3 builder supports vertical mode (
epub3_writing_mode
option) - #2695:
build_sphinx
subcommand for setuptools handles exceptions as same assphinx-build
does - #326:
numref
role can also refer sections - #2916:
numref
role can also refer caption as an its linktext
Bugs fixed¶
- #2707: (latex) the column width is badly computed for tabular
- #2799: Sphinx installs roles and directives automatically on importing sphinx module. Now Sphinx installs them on running application.
sphinx.ext.autodoc
crashes if target code imports * from mock modules byautodoc_mock_imports
.- #1953:
Sphinx.add_node
does not add handlers the translator installed byhtml_translator_class
- #1797: text builder inserts blank line on top
- #2894: quickstart main() doesn’t use argv argument
- #2874: gettext builder could not extract all text under the
only
directives - #2485: autosummary crashes with multiple source_suffix values
- #1734: Could not translate the caption of toctree directive
- Could not translate the content of meta directive (ref: #1734)
- #2550: external links are opened in help viewer
- #2687: Running Sphinx multiple times produces ‘already registered’ warnings
Release 1.4.9 (released Nov 23, 2016)¶
Bugs fixed¶
- #2936: Fix doc/Makefile that can’t build man because doc/man exists
- #3058: Using the same ‘caption’ attribute in multiple ‘toctree’ directives results in warning / error
- #3068: Allow the ‘=’ character in the -D option of sphinx-build.py
- #3074:
add_source_parser()
crashes in debug mode - #3135:
sphinx.ext.autodoc
crashes with plain Callable - #3150: Fix query word splitter in JavaScript. It behaves as same as Python’s regular expression.
- #3093: gettext build broken on substituted images.
- #3093: gettext build broken on image node under
note
directive. - imgmath: crashes on showing error messages if image generation failed
- #3117: LaTeX writer crashes if admonition is placed before first section title
- #3164: Change search order of
sphinx.ext.inheritance_diagram
Release 1.4.8 (released Oct 1, 2016)¶
Bugs fixed¶
- #2996: The wheel package of Sphinx got crash with ImportError
Release 1.4.7 (released Oct 1, 2016)¶
Bugs fixed¶
- #2890: Quickstart should return an error consistently on all error conditions
- #2870: flatten genindex columns’ heights.
- #2856: Search on generated HTML site doesnt find some symbols
- #2882: Fall back to a GET request on 403 status in linkcheck
- #2902: jsdump.loads fails to load search index if keywords starts with underscore
- #2900: Fix epub content.opf: add auto generated orphan files to spine.
- #2899: Fix
hasdoc()
function in Jinja2 template. It can detectgenindex
,search
collectly. - #2901: Fix epub result: skip creating links from image tags to original image files.
- #2917: inline code is hyphenated on HTML
- #1462: autosummary warns for namedtuple with attribute with trailing underscore
- Could not reference equations if
:nowrap:
option specified - #2873: code-block overflow in latex (due to commas)
- #1060, #2056: sphinx.ext.intersphinx: broken links are generated if relative paths are used in
intersphinx_mapping
- #2931: code-block directive with same :caption: causes warning of duplicate target. Now
code-block
andliteralinclude
does not define hyperlink target using its caption automatially. - #2962: latex: missing label of longtable
- #2968: autodoc: show-inheritance option breaks docstrings
Release 1.4.6 (released Aug 20, 2016)¶
Incompatible changes¶
- #2867: linkcheck builder crashes with six-1.4. Now Sphinx depends on six-1.5 or later
Bugs fixed¶
- applehelp: Sphinx crashes if
hiutil
orcodesign
commands not found - Fix
make clean
abort issue when build dir contains regular files likeDS_Store
. - Reduce epubcheck warnings/errors:
- Fix DOCTYPE to html5
- Change extension from .html to .xhtml.
- Disable search page on epub results
- #2778: Fix autodoc crashes if obj.__dict__ is a property method and raises exception
- Fix duplicated toc in epub3 output.
- #2775: Fix failing linkcheck with servers not supporting identidy encoding
- #2833: Fix formatting instance annotations in ext.autodoc.
- #1911:
-D
option ofsphinx-build
does not override theextensions
variable - #2789:
sphinx.ext.intersphinx
generates wrong hyperlinks if the inventory is given - parsing errors for caption of code-blocks are displayed in document (ref: #2845)
- #2846:
singlehtml
builder does not include figure numbers - #2816: Fix data from builds cluttering the
Domain.initial_data
class attributes
Release 1.4.5 (released Jul 13, 2016)¶
Incompatible changes¶
- latex, inclusion of non-inline images from image directive resulted in non-coherent whitespaces depending on original image width; new behaviour by necessity differs from earlier one in some cases. (ref: #2672)
- latex, use of
\includegraphics
to refer to Sphinx custom variant is deprecated; in future it will revert to original LaTeX macro, custom one already has alternative name\sphinxincludegraphics
.
Features added¶
- new config option
latex_keep_old_macro_names
, defaults to True. If False, lets macros (for text styling) be defined only with\sphinx
-prefixed names. - latex writer allows user customization of “shadowed” boxes (topics), via three length variables.
- woff-format web font files now supported by the epub builder.
Bugs fixed¶
- jsdump fix for python 3: fixes the HTML search on python > 3
- #2676: (latex) Error with verbatim text in captions since Sphinx 1.4.4
- #2629: memoir class crashes LaTeX. Fixed
by latex_keep_old_macro_names=False
(ref 2675) - #2684:
sphinx.ext.intersphinx
crashes with six-1.4.1 - #2679:
float
package needed for'figure_align': 'H'
latex option - #2671: image directive may lead to inconsistent spacing in pdf
- #2705:
toctree
generates empty bullet_list if:titlesonly:
specified - #2479:
sphinx.ext.viewcode
uses python2 highlighter by default - #2700: HtmlHelp builder has hard coded index.html
- latex, since 1.4.4 inline literal text is followed by spurious space
- #2722: C++, fix id generation for var/member declarations to include namespaces.
- latex, images (from image directive) in lists or quoted blocks did not obey indentation (fixed together with #2671)
- #2733: since Sphinx-1.4.4
make latexpdf
generates lots of hyperref warnings - #2731:
sphinx.ext.autodoc
does not access propertymethods which raises any exceptions - #2666: C++, properly look up nested names involving constructors.
- #2579: Could not refer a label including both spaces and colons via
sphinx.ext.intersphinx
- #2718: Sphinx crashes if the document file is not readable
- #2699: hyperlinks in help HTMLs are broken if
html_file_suffix
is set - #2723: extra spaces in latex pdf output from multirow cell
- #2735: latexpdf
Underfull \hbox (badness 10000)
warnings from title page - #2667: latex crashes if resized images appeared in section title
- #2763: (html) Provide default value for required
alt
attribute for image tags of SVG source, required to validate and now consistent w/ other formats.
Release 1.4.4 (released Jun 12, 2016)¶
Bugs fixed¶
- #2630: Latex sphinx.sty Notice Enviroment formatting problem
- #2632: Warning directives fail in quote environment latex build
- #2633: Sphinx crashes with old styled indices
- Fix a
\begin{\minipage}
typo in sphinx.sty from 1.4.2 (ref: 68becb1) - #2622: Latex produces empty pages after title and table of contents
- #2640: 1.4.2 LaTeX crashes if code-block inside warning directive
- Let LaTeX use straight quotes also in inline code (ref #2627)
- #2351: latex crashes if enumerated lists are placed on footnotes
- #2646: latex crashes if math contains twice empty lines
- #2480:
sphinx.ext.autodoc
: memory addresses were shown - latex: allow code-blocks appearing inside lists and quotes at maximal nesting depth (ref #777, #2624, #2651)
- #2635: Latex code directives produce inconsistent frames based on viewing resolution
- #2639: Sphinx now bundles iftex.sty
- Failed to build PDF with framed.sty 0.95
- Sphinx now bundles needspace.sty
Release 1.4.3 (released Jun 5, 2016)¶
Bugs fixed¶
- #2530: got “Counter too large” error on building PDF if large numbered footnotes existed in admonitions
width
option of figure directive does not work ifalign
option specified at same time (ref: #2595)- #2590: The
inputenc
package breaks compiling under lualatex and xelatex - #2540: date on latex front page use different font
- Suppress “document isn’t included in any toctree” warning if the document is included (ref: #2603)
- #2614: Some tables in PDF output will end up shifted if user sets non zero parindent in preamble
- #2602: URL redirection breaks the hyperlinks generated by
sphinx.ext.intersphinx
- #2613: Show warnings if merged extensions are loaded
- #2619: make sure amstext LaTeX package always loaded (ref: d657225, 488ee52, 9d82cad and #2615)
- #2593: latex crashes if any figures in the table
Release 1.4.2 (released May 29, 2016)¶
Features added¶
- Now
suppress_warnings
accepts following configurations (ref: #2451, #2466):app.add_node
app.add_directive
app.add_role
app.add_generic_role
app.add_source_parser
image.data_uri
image.nonlocal_uri
- #2453: LaTeX writer allows page breaks in topic contents; and their horizontal extent now fits in the line width (with shadow in margin). Also warning-type admonitions allow page breaks and their vertical spacing has been made more coherent with the one for hint-type notices (ref #2446).
- #2459: the framing of literal code-blocks in LaTeX output (and not only the code lines themselves) obey the indentation in lists or quoted blocks.
- #2343: the long source lines in code-blocks are wrapped (without modifying the line numbering) in LaTeX output (ref #1534, #2304).
Bugs fixed¶
- #2370: the equations are slightly misaligned in LaTeX writer
- #1817, #2077: suppress pep8 warnings on conf.py generated by sphinx-quickstart
- #2407: building docs crash if document includes large data image URIs
- #2436: Sphinx does not check version by
needs_sphinx
if loading extensions failed - #2397: Setup shorthandoff for turkish documents
- #2447: VerbatimBorderColor wrongly used also for captions of PDF
- #2456: C++, fix crash related to document merging (e.g., singlehtml and Latex builders).
- #2446: latex(pdf) sets local tables of contents (or more generally topic nodes) in unbreakable boxes, causes overflow at bottom
- #2476: Omit MathJax markers if :nowrap: is given
- #2465: latex builder fails in case no caption option is provided to toctree directive
- Sphinx crashes if self referenced toctree found
- #2481: spelling mistake for mecab search splitter. Thanks to Naoki Sato.
- #2309: Fix could not refer “indirect hyperlink targets” by ref-role
- intersphinx fails if mapping URL contains any port
- #2088: intersphinx crashes if the mapping URL requires basic auth
- #2304: auto line breaks in latexpdf codeblocks
- #1534: Word wrap long lines in Latex verbatim blocks
- #2460: too much white space on top of captioned literal blocks in PDF output
- Show error reason when multiple math extensions are loaded (ref: #2499)
- #2483: any figure number was not assigned if figure title contains only non text objects
- #2501: Unicode subscript numbers are normalized in LaTeX
- #2492: Figure directive with :figwidth: generates incorrect Latex-code
- The caption of figure is always put on center even if
:align:
was specified - #2526: LaTeX writer crashes if the section having only images
- #2522: Sphinx touches mo files under installed directory that caused permission error.
- #2536: C++, fix crash when an immediately nested scope has the same name as the current scope.
- #2555: Fix crash on any-references with unicode.
- #2517: wrong bookmark encoding in PDF if using LuaLaTeX
- #2521: generated Makefile causes BSD make crashed if sphinx-build not found
- #2470:
typing
backport package causes autodoc errors with python 2.7 sphinx.ext.intersphinx
crashes if non-string value is used for key ofintersphinx_mapping
- #2518:
intersphinx_mapping
disallows non alphanumeric keys - #2558: unpack error on devhelp builder
- #2561: Info builder crashes when a footnote contains a link
- #2565: The descriptions of objects generated by
sphinx.ext.autosummary
overflow lines at LaTeX writer - Extend pdflatex config in sphinx.sty to subparagraphs (ref: #2551)
- #2445:
rst_prolog
andrst_epilog
affect to non reST sources - #2576:
sphinx.ext.imgmath
crashes if subprocess raises error - #2577:
sphinx.ext.imgmath
: Invalid argument are passed to dvisvgm - #2556: Xapian search does not work with Python 3
- #2581: The search doesn’t work if language=”es” (spanish)
- #2382: Adjust spacing after abbreviations on figure numbers in LaTeX writer
- #2383: The generated footnote by
latex_show_urls
overflows lines - #2497, #2552: The label of search button does not fit for the button itself
Release 1.4.1 (released Apr 12, 2016)¶
Incompatible changes¶
- The default format of
today_fmt
andhtml_last_updated_fmt
is back to strftime format again. Locale Date Markup Language is also supported for backward compatibility until Sphinx-1.5.
Translations¶
- Added Welsh translation, thanks to Geraint Palmer.
- Added Greek translation, thanks to Stelios Vitalis.
- Added Esperanto translation, thanks to Dinu Gherman.
- Added Hindi translation, thanks to Purnank H. Ghumalia.
- Added Romanian translation, thanks to Razvan Stefanescu.
Bugs fixed¶
- C++, added support for
extern
andthread_local
. - C++, type declarations are now using the prefixes
typedef
,using
, andtype
, depending on the style of declaration. - #2413: C++, fix crash on duplicate declarations
- #2394: Sphinx crashes when html_last_updated_fmt is invalid
- #2408: dummy builder not available in Makefile and make.bat
- #2412: hyperlink targets are broken in LaTeX builder
- figure directive crashes if non paragraph item is given as caption
- #2418: time formats no longer allowed in today_fmt
- #2395: Sphinx crashes if unicode character in image filename
- #2396: “too many values to unpack” in genindex-single
- #2405: numref link in PDF jumps to the wrong location
- #2414: missing number in PDF hyperlinks to code listings
- #2440: wrong import for gmtime. Thanks to Uwe L. Korn.
Release 1.4 (released Mar 28, 2016)¶
Incompatible changes¶
- Drop
PorterStemmer
package support. UsePyStemmer
instead ofPorterStemmer
to accelerate stemming. - sphinx_rtd_theme has become optional. Please install it manually. Refs #2087, #2086, #1845 and #2097. Thanks to Victor Zverovich.
- #2231: Use DUrole instead of DUspan for custom roles in LaTeX writer. It enables to take title of roles as an argument of custom macros.
- #2022: ‘Thumbs.db’ and ‘.DS_Store’ are added to
exclude_patterns
default values in conf.py that will be provided on sphinx-quickstart. - #2027, #2208: The
html_title
accepts string values only. And The None value cannot be accepted. sphinx.ext.graphviz
: show graph image in inline by default- #2060, #2224: The
manpage
role now generatesphinx.addnodes.manpage
node instead ofsphinx.addnodes.literal_emphasis
node. - #2022:
html_extra_path
also copies dotfiles in the extra directory, and refers toexclude_patterns
to exclude extra files and directories. - #2300: enhance autoclass:: to use the docstring of __new__ if __init__ method’s is missing of empty
- #2251: Previously, under glossary directives, multiple terms for one definition are converted into single
term
node and the each terms in the term node are separated bytermsep
node. In new implementation, each terms are converted into individualterm
nodes andtermsep
node is removed. By this change, output layout of every builders are changed a bit. - The default highlight language is now Python 3. This means that source code is highlighted as Python 3 (which is mostly a superset of Python 2), and no parsing is attempted to distinguish valid code. To get the old behavior back, add
highlight_language = "python"
to conf.py. - Locale Date Markup Language like
"MMMM dd, YYYY"
is default format fortoday_fmt
andhtml_last_updated_fmt
. However strftime format like"%B %d, %Y"
is also supported for backward compatibility until Sphinx-1.5. Later format will be disabled from Sphinx-1.5. - #2327:
latex_use_parts
is deprecated now. Uselatex_toplevel_sectioning
instead. - #2337: Use
\url{URL}
macro instead of\href{URL}{URL}
in LaTeX writer. - #1498: manpage writer: don’t make whole of item in definition list bold if it includes strong node.
- #582: Remove hint message from quick search box for html output.
- #2378: Sphinx now bundles newfloat.sty
Features added¶
- #2092: add todo directive support in napoleon package.
- #1962: when adding directives, roles or nodes from an extension, warn if such an element is already present (built-in or added by another extension).
- #1909: Add “doc” references to Intersphinx inventories.
- C++ type alias support (e.g.,
.. type:: T = int
). - C++ template support for classes, functions, type aliases, and variables (#1729, #1314).
- C++, added new scope management directives
namespace-push
andnamespace-pop
. - #1970: Keyboard shortcuts to navigate Next and Previous topics
- Intersphinx: Added support for fetching Intersphinx inventories with URLs using HTTP basic auth.
- C++, added support for template parameter in function info field lists.
- C++, added support for pointers to member (function).
- #2113: Allow
:class:
option to code-block directive. - #2192: Imgmath (pngmath with svg support).
- #2200: Support XeTeX and LuaTeX for the LaTeX builder.
- #1906: Use xcolor over color for fcolorbox where available for LaTeX output.
- #2216: Texinputs makefile improvements.
- #2170: Support for Chinese language search index.
- #2214: Add sphinx.ext.githubpages to publish the docs on GitHub Pages
- #1030: Make page reference names for latex_show_pagerefs translatable
- #2162: Add Sphinx.add_source_parser() to add source_suffix and source_parsers from extension
- #2207: Add sphinx.parsers.Parser class; a base class for new parsers
- #656: Add
graphviz_dot
option to graphviz directives to switch thedot
command - #1939: Added the
dummy
builder: syntax check without output. - #2230: Add
math_number_all
option to number all displayed math in math extensions - #2235:
needs_sphinx
supports micro version comparison - #2282: Add “language” attribute to html tag in the “basic” theme
- #1779: Add EPUB 3 builder
- #1751: Add
todo_link_only
to avoid file path and line indication ontodolist
. Thanks to Francesco Montesano. - #2199: Use
imagesize
package to obtain size of images. - #1099: Add configurable retries to the linkcheck builder. Thanks to Alex Gaynor. Also don’t check anchors starting with
!
. - #2300: enhance autoclass:: to use the docstring of __new__ if __init__ method’s is missing of empty
- #1858: Add Sphinx.add_enumerable_node() to add enumerable nodes for numfig feature
- #1286, #2099: Add
sphinx.ext.autosectionlabel
extension to allow reference sections using its title. Thanks to Tadhg O’Higgins. - #1854: Allow to choose Janome for Japanese splitter.
- #1853: support custom text splitter on html search with
language='ja'
. - #2320: classifier of glossary terms can be used for index entries grouping key. The classifier also be used for translation. See also Glossary.
- #2308: Define
\tablecontinued
macro to redefine the style of continued label for longtables. - Select an image by similarity if multiple images are globbed by
.. image:: filename.*
- #1921: Support figure substitutions by
language
andfigure_language_filename
- #2245: Add
latex_elements["passoptionstopackages"]
option to call PassOptionsToPackages in early stage of preambles. - #2340: Math extension: support alignment of multiple equations for MathJAX.
- #2338: Define
\titleref
macro to redefine the style oftitle-reference
roles. - Define
\menuselection
and\accelerator
macros to redefine the style ofmenuselection
roles. - Define
\crossref
macro to redefine the style of references - #2301: Texts in the classic html theme should be hyphenated.
- #2355: Define
\termref
macro to redefine the style ofterm
roles. - Add
suppress_warnings
to suppress arbitrary warning message (experimental) - #2229: Fix no warning is given for unknown options
- #2327: Add
latex_toplevel_sectioning
to switch the top level sectioning of LaTeX document.
Bugs fixed¶
- #1913: C++, fix assert bug for enumerators in next-to-global and global scope.
- C++, fix parsing of ‘signed char’ and ‘unsigned char’ as types.
- C++, add missing support for ‘friend’ functions.
- C++, add missing support for virtual base classes (thanks to Rapptz).
- C++, add support for final classes.
- C++, fix parsing of types prefixed with ‘enum’.
- #2023: Dutch search support uses Danish stemming info.
- C++, add support for user-defined literals.
- #1804: Now html output wraps overflowed long-line-text in the sidebar. Thanks to Hassen ben tanfous.
- #2183: Fix porterstemmer causes
make json
to fail. - #1899: Ensure list is sent to OptParse.
- #2164: Fix wrong check for pdftex inside sphinx.sty (for graphicx package option).
- #2165, #2218: Remove faulty and non-need conditional from sphinx.sty.
- Fix broken LaTeX code is generated if unknown language is given
- #1944: Fix rst_prolog breaks file-wide metadata
- #2074: make gettext should use canonical relative paths for .pot. Thanks to anatoly techtonik.
- #2311: Fix sphinx.ext.inheritance_diagram raises AttributeError
- #2251: Line breaks in .rst files are transferred to .pot files in a wrong way.
- #794: Fix date formatting in latex output is not localized
- Remove
image/gif
from supported_image_types of LaTeX writer (#2272) - Fix ValueError is raised if LANGUAGE is empty string
- Fix unpack warning is shown when the directives generated from
Sphinx.add_crossref_type
is used - The default highlight language is now
default
. This means that source code is highlighted as Python 3 (which is mostly a superset of Python 2) if possible. To get the old behavior back, addhighlight_language = "python"
to conf.py. - #2329: Refresh environment forcely if source directory has changed.
- #2331: Fix code-blocks are filled by block in dvi; remove
xcdraw
option from xcolor package - Fix the confval type checker emits warnings if unicode is given to confvals which expects string value
- #2360: Fix numref in LaTeX output is broken
- #2361: Fix additional paragraphs inside the “compound” directive are indented
- #2364: Fix KeyError ‘rootSymbol’ on Sphinx upgrade from older version.
- #2348: Move amsmath and amssymb to before fontpkg on LaTeX writer.
- #2368: Ignore emacs lock files like
.#foo.rst
by default. - #2262: literal_block and its caption has been separated by pagebreak in LaTeX output.
- #2319: Fix table counter is overrided by code-block’s in LaTeX. Thanks to jfbu.
- Fix unpack warning if combinated with 3rd party domain extensions.
- #1153: Fix figures in sidebar causes latex build error.
- #2358: Fix user-preamble could not override the tocdepth definition.
- #2358: Redece tocdepth if
part
orchapter
is used for top_sectionlevel. - #2351: Fix footnote spacing
- #2363: Fix
toctree()
in templates generates broken links in SingleHTMLBuilder. - #2366: Fix empty hyperref is generated on toctree in HTML builder.
Documentation¶
- #1757: Fix for usage of
html_last_updated_fmt
. Thanks to Ralf Hemmecke.
Release 1.3.6 (released Feb 29, 2016)¶
Features added¶
- #1873, #1876, #2278: Add
page_source_suffix
html context variable. This should be introduced withsource_parsers
feature. Thanks for Eric Holscher.
Bugs fixed¶
- #2265: Fix babel is used in spite of disabling it on
latex_elements
- #2295: Avoid mutating dictionary errors while enumerating members in autodoc with Python 3
- #2291: Fix pdflatex “Counter too large” error from footnotes inside tables of contents
- #2292: Fix some footnotes disappear from LaTeX output
- #2287:
sphinx.transforms.Locale
always uses rst parser. Sphinx i18n feature should support parsers that specified source_parsers. - #2290: Fix
sphinx.ext.mathbase
use of amsfonts may break user choice of math fonts - #2324: Print a hint how to increase the recursion limit when it is hit.
- #1565, #2229: Revert new warning; the new warning will be triggered from version 1.4 on.
- #2329: Refresh environment forcely if source directory has changed.
- #2019: Fix the domain objects in search result are not escaped
Release 1.3.5 (released Jan 24, 2016)¶
Bugs fixed¶
- Fix line numbers was not shown on warnings in LaTeX and texinfo builders
- Fix filenames were not shown on warnings of citations
- Fix line numbers was not shown on warnings in LaTeX and texinfo builders
- Fix line numbers was not shown on warnings of indices
- #2026: Fix LaTeX builder raises error if parsed-literal includes links
- #2243: Ignore strange docstring types for classes, do not crash
- #2247: Fix #2205 breaks make html for definition list with classifiers that contains regular-expression like string
- #1565: Sphinx will now emit a warning that highlighting was skipped if the syntax is incorrect for
code-block
,literalinclude
and so on. - #2211: Fix paragraphs in table cell doesn’t work in Latex output
- #2253:
:pyobject:
option ofliteralinclude
directive can’t detect indented body block when the block starts with blank or comment lines. - Fix TOC is not shown when no
:maxdepth:
for toctrees (ref: #771) - Fix warning message for
:numref:
if target is in orphaned doc (ref: #2244)
Release 1.3.4 (released Jan 12, 2016)¶
Bugs fixed¶
- #2134: Fix figure caption with reference causes latex build error
- #2094: Fix rubric with reference not working in Latex
- #2147: Fix literalinclude code in latex does not break in pages
- #1833: Fix email addresses is showed again if latex_show_urls is not None
- #2176: sphinx.ext.graphviz: use
- #967: Fix SVG inheritance diagram is not hyperlinked (clickable)
- #1237: Fix footnotes not working in definition list in LaTeX
- #2168: Fix raw directive does not work for text writer
- #2171: Fix cannot linkcheck url with unicode
- #2182: LaTeX: support image file names with more than 1 dots
- #2189: Fix previous sibling link for first file in subdirectory uses last file, not intended previous from root toctree
- #2003: Fix decode error under python2 (only) when
make linkcheck
is run - #2186: Fix LaTeX output of mathbb in math
- #1480, #2188: LaTeX: Support math in section titles
- #2071: Fix same footnote in more than two section titles => LaTeX/PDF Bug
- #2040: Fix UnicodeDecodeError in sphinx-apidoc when author contains non-ascii characters
- #2193: Fix shutil.SameFileError if source directory and destination directory are same
- #2178: Fix unparseable C++ cross-reference when referencing a function with :cpp:any:
- #2206: Fix Sphinx latex doc build failed due to a footnotes
- #2201: Fix wrong table caption for tables with over 30 rows
- #2213: Set
in the classic theme to fit with
- #1815: Fix linkcheck does not raise an exception if warniserror set to true and link is broken
- #2197: Fix slightly cryptic error message for missing index.rst file
- #1894: Unlisted phony targets in quickstart Makefile
- #2125: Fix unifies behavior of collapsed fields (
GroupedField
andTypedField
) - #1408: Check latex_logo validity before copying
- #771: Fix latex output doesn’t set tocdepth
- #1820: On Windows, console coloring is broken with colorama version 0.3.3. Now sphinx use colorama>=0.3.5 to avoid this problem.
- #2072: Fix footnotes in chapter-titles do not appear in PDF output
- #1580: Fix paragraphs in longtable don’t work in Latex output
- #1366: Fix centered image not centered in latex
- #1860: Fix man page using
:samp:
with braces - font doesn’t reset - #1610: Sphinx crashes in japanese indexing in some systems
- Fix Sphinx crashes if mecab initialization failed
- #2160: Fix broken TOC of PDFs if section includes an image
- #2172: Fix dysfunctional admonition py@lightbox in sphinx.sty. Thanks to jfbu.
- #2198,#2205:
make gettext
generate broken msgid for definition lists. - #2062: Escape characters in doctests are treated incorrectly with Python 2.
- #2225: Fix if the option does not begin with dash, linking is not performed
- #2226: Fix math is not HTML-encoded when :nowrap: is given (jsmath, mathjax)
- #1601, #2220: ‘any’ role breaks extended domains behavior. Affected extensions doesn’t support resolve_any_xref and resolve_xref returns problematic node instead of None. sphinxcontrib-httpdomain is one of them.
- #2229: Fix no warning is given for unknown options
Release 1.3.3 (released Dec 2, 2015)¶
Bugs fixed¶
- #2177: Fix parallel hangs
- #2012: Fix exception occurred if
numfig_format
is invalid - #2142: Provide non-minified JS code in
sphinx/search/non-minified-js/*.js
for source distribution on PyPI. - #2148: Error while building devhelp target with non-ASCII document.
Release 1.3.2 (released Nov 29, 2015)¶
Features added¶
- #1935: Make “numfig_format” overridable in latex_elements.
Bugs fixed¶
- #1976: Avoid “2.0” version of Babel because it doesn’t work with Windows environment.
- Add a “default.css” stylesheet (which imports “classic.css”) for compatibility.
- #1788: graphviz extension raises exception when caption option is present.
- #1789:
:pyobject:
option ofliteralinclude
directive includes following lines after class definitions - #1790:
literalinclude
strips empty lines at the head and tail - #1802: load plugin themes automatically when theme.conf use it as ‘inherit’. Thanks to Takayuki Hirai.
- #1794: custom theme extended from alabaster or sphinx_rtd_theme can’t find base theme.
- #1834: compatibility for docutils-0.13: handle_io_errors keyword argument for docutils.io.FileInput cause TypeError.
- #1823: ‘.’ as
for sphinx-apidoc cause an unfriendly error. Now ‘.’ is converted to absolute path automatically. - Fix a crash when setting up extensions which do not support metadata.
- #1784: Provide non-minified JS code in
sphinx/search/non-minified-js/*.js
- #1822, #1892: Fix regression for #1061. autosummary can’t generate doc for imported members since sphinx-1.3b3. Thanks to Eric Larson.
- #1793, #1819: “see also” misses a linebreak in text output. Thanks to Takayuki Hirai.
- #1780, #1866: “make text” shows “class” keyword twice. Thanks to Takayuki Hirai.
- #1871: Fix for LaTeX output of tables with one column and multirows.
- Work around the lack of the HTMLParserError exception in Python 3.5.
- #1949: Use
safe_getattr
in the coverage builder to avoid aborting with descriptors that have custom behavior. - #1915: Do not generate smart quotes in doc field type annotations.
- #1796: On py3, automated .mo building caused UnicodeDecodeError.
- #1923: Use babel features only if the babel latex element is nonempty.
- #1942: Fix a KeyError in websupport.
- #1903: Fix strange id generation for glossary terms.
make text
will crush if a definition list item has more than 1 classifiers as:term : classifier1 : classifier2
.- #1855: make gettext generates broken po file for definition lists with classifier.
- #1869: Fix problems when dealing with files containing non-ASCII characters. Thanks to Marvin Schmidt.
- #1798: Fix building LaTeX with references in titles.
- #1725: On py2 environment, doctest with using non-ASCII characters causes
'ascii' codec can't decode byte
exception. - #1540: Fix RuntimeError with circular referenced toctree
- #1983: i18n translation feature breaks references which uses section name.
- #1990: Use caption of toctree to title of tableofcontents in LaTeX
- #1987: Fix ampersand is ignored in
:menuselection:
and:guilabel:
on LaTeX builder - #1994: More supporting non-standard parser (like recommonmark parser) for Translation and WebSupport feature. Now node.rawsource is fall backed to node.astext() during docutils transforming.
- #1989: “make blahblah” on Windows indicate help messages for sphinx-build every time. It was caused by wrong make.bat that generated by Sphinx-1.3.0/1.3.1.
- On Py2 environment, conf.py that is generated by sphinx-quickstart should have u prefixed config value for ‘version’ and ‘release’.
- #2102: On Windows + Py3, using
|today|
and non-ASCII date format will raise UnicodeEncodeError. - #1974: UnboundLocalError: local variable ‘domain’ referenced before assignment when using
any
role andsphinx.ext.intersphinx
in same time. - #2121: multiple words search doesn’t find pages when words across on the page title and the page content.
- #1884, #1885: plug-in html themes cannot inherit another plug-in theme. Thanks to Suzumizaki.
- #1818:
sphinx.ext.todo
directive generates broken html class attribute as ‘admonition-‘ whenlanguage
is specified with non-ASCII linguistic area like ‘ru’ or ‘ja’. To fix this, nowtodo
directive can use:class:
option. - #2140: Fix footnotes in table has broken in LaTeX
- #2127: MecabBinder for html searching feature doesn’t work with Python 3. Thanks to Tomoko Uchida.
Release 1.3.1 (released Mar 17, 2015)¶
Bugs fixed¶
- #1769: allows generating quickstart files/dirs for destination dir that doesn’t overwrite existent files/dirs. Thanks to WAKAYAMA shirou.
- #1773: sphinx-quickstart doesn’t accept non-ASCII character as a option argument.
- #1766: the message “least Python 2.6 to run” is at best misleading.
- #1772: cross reference in docstrings like
:param .write:
breaks building. - #1770, #1774:
literalinclude
with empty file occurs exception. Thanks to Takayuki Hirai. - #1777: Sphinx 1.3 can’t load extra theme. Thanks to tell-k.
- #1776:
source_suffix = ['.rst']
cause unfriendly error on prior version. - #1771: automated .mo building doesn’t work properly.
- #1783: Autodoc: Python2 Allow unicode string in __all__. Thanks to Jens Hedegaard Nielsen.
- #1781: Setting
html_domain_indices
to a list raises a type check warnings.
Release 1.3 (released Mar 10, 2015)¶
Incompatible changes¶
- Roles
ref
,term
andmenusel
now don’t generate emphasis nodes anymore. If you want to keep italic style, adapt your stylesheet. - Role
numref
uses%s
as special character to indicate position of figure numbers instead#
symbol.
Features added¶
- Add convenience directives and roles to the C++ domain: directive
cpp:var
as alias forcpp:member
, role:cpp:var
as alias for:cpp:member
, and roleany
for cross-reference to any C++ declaraction. #1577, #1744 - The
source_suffix
config value can now be a list of multiple suffixes. - Add the ability to specify source parsers by source suffix with the
source_parsers
config value. - #1675: A new builder, AppleHelpBuilder, has been added that builds Apple Help Books.
Bugs fixed¶
- 1.3b3 change breaks a previous gettext output that contains duplicated msgid such as “foo bar” and “version changes in 1.3: foo bar”.
- #1745: latex builder cause maximum recursion depth exceeded when a footnote has a footnote mark itself.
- #1748: SyntaxError in sphinx/ext/ifconfig.py with Python 2.6.
- #1658, #1750: No link created (and warning given) if option does not begin with -, / or +. Thanks to Takayuki Hirai.
- #1753: C++, added missing support for more complex declarations.
- #1700: Add
:caption:
option fortoctree
. - #1742:
:name:
option is provided fortoctree
,code-block
andliteralinclude
dirctives. - #1756: Incorrect section titles in search that was introduced from 1.3b3.
- #1746: C++, fixed name lookup procedure, and added missing lookups in declarations.
- #1765: C++, fix old id generation to use fully qualified names.
Documentation¶
- #1651: Add
vartype
field descritpion for python domain.
Release 1.3b3 (released Feb 24, 2015)¶
Incompatible changes¶
- Dependency requirement updates: docutils 0.11, Pygments 2.0
- The
gettext_enables
config value has been renamed togettext_additional_targets
. - #1735: Use https://docs.python.org/ instead of
http
protocol. It was used forsphinx.ext.intersphinx
and some documentation.
Features added¶
- #1346: Add new default theme;
- Add ‘alabaster’ theme.
- Add ‘sphinx_rtd_theme’ theme.
- The ‘default’ html theme has been renamed to ‘classic’. ‘default’ is still available, however it will emit notice a recommendation that using new ‘alabaster’ theme.
- Added
highlight_options
configuration value. - The
language
config value is now available in the HTML templates. - The
env-updated
event can now return a value, which is interpreted as an iterable of additional docnames that need to be rewritten. - #772: Support for scoped and unscoped enums in C++. Enumerators in unscoped enums are injected into the parent scope in addition to the enum scope.
- Add
todo_include_todos
config option to quickstart conf file, handled as described in documentation. - HTML breadcrumb items tag has class “nav-item” and “nav-item-N” (like nav-item-0, 1, 2...).
- New option
sphinx-quickstart --use-make-mode
for generating Makefile that use sphinx-build make-mode. - #1235: i18n: several node can be translated if it is set to
gettext_additional_targets
in conf.py. Supported nodes are:- ‘literal-block’
- ‘doctest-block’
- ‘raw’
- ‘image’
- #1227: Add
html_scaled_image_link
config option to conf.py, to control scaled image link.
Bugs fixed¶
- LaTeX writer now generates correct markup for cells spanning multiple rows.
- #1674: Do not crash if a module’s
__all__
is not a list of strings. - #1629: Use VerbatimBorderColor to add frame to code-block in LaTeX
- On windows, make-mode didn’t work on Win32 platform if sphinx was invoked as
python sphinx-build.py
. - #1687: linkcheck now treats 401 Unauthorized responses as “working”.
- #1690: toctrees with
glob
option now can also contain entries for single documents with explicit title. - #1591: html search results for C++ elements now has correct interpage links.
- bizstyle theme: nested long title pages make long breadcrumb that breaks page layout.
- bizstyle theme: all breadcrumb items become ‘Top’ on some mobile browser (iPhone5s safari).
- #1722: restore
toctree()
template function behavior that was changed at 1.3b1. - #1732: i18n: localized table caption raises exception.
- #1718:
:numref:
does not work with capital letters in the label - #1630: resolve CSS conflicts,
div.container
css target for literal block wrapper now renamed todiv.literal-block-wrapper
. sphinx.util.pycompat
has been restored in its backwards-compatibility; slated for removal in Sphinx 1.4.- #1719: LaTeX writer does not respect
numref_format
option in captions
Release 1.3b2 (released Dec 5, 2014)¶
Incompatible changes¶
- update bundled ez_setup.py for setuptools-7.0 that requires Python 2.6 or later.
Features added¶
- #1597: Added possibility to return a new template name from
html-page-context
. - PR#314, #1150: Configuration values are now checked for their type. A warning is raised if the configured and the default value do not have the same type and do not share a common non-trivial base class.
Bugs fixed¶
- PR#311: sphinx-quickstart does not work on python 3.4.
- Fix
autodoc_docstring_signature
not working with signatures in class docstrings. - Rebuilding cause crash unexpectedly when source files were added.
- #1607: Fix a crash when building latexpdf with “howto” class
- #1251: Fix again. Sections which depth are lower than :tocdepth: should not be shown on localtoc sidebar.
- make-mode didn’t work on Win32 platform if sphinx was installed by wheel package.
Release 1.3b1 (released Oct 10, 2014)¶
Incompatible changes¶
- Dropped support for Python 2.5, 3.1 and 3.2.
- Dropped support for docutils versions up to 0.9.
- Removed the
sphinx.ext.oldcmarkup
extension. - The deprecated config values
exclude_trees
,exclude_dirnames
andunused_docs
have been removed. - A new node,
sphinx.addnodes.literal_strong
, has been added, for text that should appear literally (i.e. no smart quotes) in strong font. Custom writers will have to be adapted to handle this node. - PR#269, #1476: replace
<tt>
tag by<code>
. User customized stylesheets should be updated If the css contain some styles fortt>
tag. Thanks to Takeshi Komiya. - #1543:
templates_path
is automatically added toexclude_patterns
to avoid reading autosummary rst templates in the templates directory. - Custom domains should implement the new
Domain.resolve_any_xref
method to make theany
role work properly. - gettext builder: gettext doesn’t emit uuid information to generated pot files by default. Please set
True
togettext_uuid
to emit uuid information. Additionally, if thepython-levenshtein
3rd-party package is installed, it will improve the calculation time. - gettext builder: disable extracting/apply ‘index’ node by default. Please set ‘index’ to
gettext_enables
to enable extracting index entries. - PR#307: Add frame to code-block in LaTeX. Thanks to Takeshi Komiya.
Features added¶
- Add support for Python 3.4.
- Add support for docutils 0.12
- Added
sphinx.ext.napoleon
extension for NumPy and Google style docstring support. - Added support for parallel reading (parsing) of source files with the
sphinx-build -j
option. Third-party extensions will need to be checked for compatibility and may need to be adapted if they store information in the build environment object. Seeenv-merge-info
. - Added the
any
role that can be used to find a cross-reference of any type in any domain. Custom domains should implement the newDomain.resolve_any_xref
method to make this work properly. - Exception logs now contain the last 10 messages emitted by Sphinx.
- Added support for extension versions (a string returned by
setup()
, these can be shown in the traceback log files). Version requirements for extensions can be specified in projects using the newneeds_extensions
config value. - Changing the default role within a document with the default-role directive is now supported.
- PR#214: Added stemming support for 14 languages, so that the built-in document search can now handle these. Thanks to Shibukawa Yoshiki.
- PR#296, PR#303, #76: numfig feature: Assign numbers to figures, tables and code-blocks. This feature is configured with
numfig
,numfig_secnum_depth
andnumfig_format
. Alsonumref
role is available. Thanks to Takeshi Komiya. - PR#202: Allow ”.” and “~” prefixed references in
:param:
doc fields for Python. - PR#184: Add
autodoc_mock_imports
, allowing to mock imports of external modules that need not be present when autodocumenting. - #925: Allow list-typed config values to be provided on the command line, like
-D key=val1,val2
. - #668: Allow line numbering of
code-block
andliteralinclude
directives to start at an arbitrary line number, with a newlineno-start
option. - PR#172, PR#266: The
code-block
andliteralinclude
directives now can have acaption
option that shows a filename before the code in the output. Thanks to Nasimul Haque, Takeshi Komiya. - Prompt for the document language in sphinx-quickstart.
- PR#217: Added config values to suppress UUID and location information in generated gettext catalogs.
- PR#236, #1456: apidoc: Add a -M option to put module documentation before submodule documentation. Thanks to Wes Turner and Luc Saffre.
- #1434: Provide non-minified JS files for jquery.js and underscore.js to clarify the source of the minified files.
- PR#252, #1291: Windows color console support. Thanks to meu31.
- PR#255: When generating latex references, also insert latex target/anchor for the ids defined on the node. Thanks to Olivier Heurtier.
- PR#229: Allow registration of other translators. Thanks to Russell Sim.
- Add app.set_translator() API to register or override a Docutils translator class like
html_translator_class
. - PR#267, #1134: add ‘diff’ parameter to literalinclude. Thanks to Richard Wall and WAKAYAMA shirou.
- PR#272: Added ‘bizstyle’ theme. Thanks to Shoji KUMAGAI.
- Automatically compile
*.mo
files from*.po
files whengettext_auto_build
is True (default) and*.po
is newer than*.mo
file. - #623:
sphinx.ext.viewcode
supports imported function/class aliases. - PR#275:
sphinx.ext.intersphinx
supports multiple target for the inventory. Thanks to Brigitta Sipocz. - PR#261: Added the
env-before-read-docs
event that can be connected to modify the order of documents before they are read by the environment. - #1284: Program options documented with
option
can now start with+
. - PR#291: The caption of
code-block
is recognised as a title of ref target. Thanks to Takeshi Komiya. - PR#298: Add new API:
add_latex_package()
. Thanks to Takeshi Komiya. - #1344: add
gettext_enables
to enable extracting ‘index’ to gettext catalog output / applying translation catalog to generated documentation. - PR#301, #1583: Allow the line numbering of the directive
literalinclude
to match that of the included file, using a newlineno-match
option. Thanks to Jeppe Pihl. - PR#299: add various options to sphinx-quickstart. Quiet mode option
--quiet
will skips wizard mode. Thanks to WAKAYAMA shirou. - #1623: Return types specified with
:rtype:
are now turned into links if possible.
Bugs fixed¶
- #1438: Updated jQuery version from 1.8.3 to 1.11.1.
- #1568: Fix a crash when a “centered” directive contains a reference.
- Now sphinx.ext.autodoc works with python-2.5 again.
- #1563:
add_search_language()
raises AssertionError for correct type of argument. Thanks to rikoman. - #1174: Fix smart quotes being applied inside roles like
program
ormakevar
. - PR#235: comment db schema of websupport lacked a length of the node_id field. Thanks to solos.
- #1466,PR#241: Fix failure of the cpp domain parser to parse C+11 “variadic templates” declarations. Thanks to Victor Zverovich.
- #1459,PR#244: Fix default mathjax js path point to
http://
that cause mixed-content error on HTTPS server. Thanks to sbrandtb and robo9k. - PR#157: autodoc remove spurious signatures from @property decorated attributes. Thanks to David Ham.
- PR#159: Add coverage targets to quickstart generated Makefile and make.bat. Thanks to Matthias Troffaes.
- #1251: When specifying toctree :numbered: option and :tocdepth: metadata, sub section number that is larger depth than
:tocdepth:
is shrunk. - PR#260: Encode underscore in citation labels for latex export. Thanks to Lennart Fricke.
- PR#264: Fix could not resolve xref for figure node with :name: option. Thanks to Takeshi Komiya.
- PR#265: Fix could not capture caption of graphviz node by xref. Thanks to Takeshi Komiya.
- PR#263, #1013, #1103: Rewrite of C++ domain. Thanks to Jakob Lykke Andersen.
- Hyperlinks to all found nested names and template arguments (#1103).
- Support for function types everywhere, e.g., in std::function
(#1013). - Support for virtual functions.
- Changed interpretation of function arguments to following standard prototype declarations, i.e., void f(arg) means that arg is the type of the argument, instead of it being the name.
- Updated tests.
- Updated documentation with elaborate description of what declarations are supported and how the namespace declarations influence declaration and cross-reference lookup.
- Index names may be different now. Elements are indexed by their fully qualified name. It should be rather easy to change this behaviour and potentially index by namespaces/classes as well.
- PR#258, #939: Add dedent option for
code-block
andliteralinclude
. Thanks to Zafar Siddiqui. - PR#268: Fix numbering section does not work at singlehtml mode. It still ad-hoc fix because there is a issue that section IDs are conflicted. Thanks to Takeshi Komiya.
- PR#273, #1536: Fix RuntimeError with numbered circular toctree. Thanks to Takeshi Komiya.
- PR#274: Set its URL as a default title value if URL appears in toctree. Thanks to Takeshi Komiya.
- PR#276, #1381:
rfc
andpep
roles support custom link text. Thanks to Takeshi Komiya. - PR#277, #1513: highlights for function pointers in argument list of
c:function
. Thanks to Takeshi Komiya. - PR#278: Fix section entries were shown twice if toctree has been put under only directive. Thanks to Takeshi Komiya.
- #1547: pgen2 tokenizer doesn’t recognize
...
literal (Ellipsis for py3). - PR#294: On LaTeX builder, wrap float environment on writing literal_block to avoid separation of caption and body. Thanks to Takeshi Komiya.
- PR#295, #1520:
make.bat latexpdf
mechanism tocd
back to the current directory. Thanks to Peter Suter. - PR#297, #1571: Add imgpath property to all builders. It make easier to develop builder extensions. Thanks to Takeshi Komiya.
- #1584: Point to master doc in HTML “top” link.
- #1585: Autosummary of modules broken in Sphinx-1.2.3.
- #1610: Sphinx cause AttributeError when MeCab search option is enabled and python-mecab is not installed.
- #1674: Do not crash if a module’s
__all__
is not a list of strings. - #1673: Fix crashes with
nitpick_ignore
and:doc:
references. - #1686: ifconfig directive doesn’t care about default config values.
- #1642: Fix only one search result appearing in Chrome.
Documentation¶
- Add clarification about the syntax of tags. (
doc/markup/misc.rst
)
Release 1.2.3 (released Sep 1, 2014)¶
Features added¶
- #1518:
sphinx-apidoc
command now has a--version
option to show version information and exit - New locales: Hebrew, European Portuguese, Vietnamese.
Bugs fixed¶
- #636: Keep straight single quotes in literal blocks in the LaTeX build.
- #1419: Generated i18n sphinx.js files are missing message catalog entries from ‘.js_t’ and ‘.html’. The issue was introduced from Sphinx-1.1
- #1363: Fix i18n: missing python domain’s cross-references with currentmodule directive or currentclass directive.
- #1444: autosummary does not create the description from attributes docstring.
- #1457: In python3 environment, make linkcheck cause “Can’t convert ‘bytes’ object to str implicitly” error when link target url has a hash part. Thanks to Jorge_C.
- #1467: Exception on Python3 if nonexistent method is specified by automethod
- #1441: autosummary can’t handle nested classes correctly.
- #1499: With non-callable
setup
in a conf.py, now sphinx-build emits a user-friendly error message. - #1502: In autodoc, fix display of parameter defaults containing backslashes.
- #1226: autodoc, autosummary: importing setup.py by automodule will invoke setup process and execute
sys.exit()
. Now sphinx avoids SystemExit exception and emits warnings without unexpected termination. - #1503: py:function directive generate incorrectly signature when specifying a default parameter with an empty list
[]
. Thanks to Geert Jansen. - #1508: Non-ASCII filename raise exception on make singlehtml, latex, man, texinfo and changes.
- #1531: On Python3 environment, docutils.conf with ‘source_link=true’ in the general section cause type error.
- PR#270, #1533: Non-ASCII docstring cause UnicodeDecodeError when uses with inheritance-diagram directive. Thanks to WAKAYAMA shirou.
- PR#281, PR#282, #1509: TODO extension not compatible with websupport. Thanks to Takeshi Komiya.
- #1477: gettext does not extract nodes.line in a table or list.
- #1544:
make text
generates wrong table when it has empty table cells. - #1522: Footnotes from table get displayed twice in LaTeX. This problem has been appeared from Sphinx-1.2.1 by #949.
- #508: Sphinx every time exit with zero when is invoked from setup.py command. ex.
python setup.py build_sphinx -b doctest
return zero even if doctest failed.
Release 1.2.2 (released Mar 2, 2014)¶
Bugs fixed¶
- PR#211: When checking for existence of the
html_logo
file, check the full relative path and not the basename. - PR#212: Fix traceback with autodoc and
__init__
methods without docstring. - PR#213: Fix a missing import in the setup command.
- #1357: Option names documented by
option
are now again allowed to not start with a dash or slash, and referencing them will work correctly. - #1358: Fix handling of image paths outside of the source directory when using the “wildcard” style reference.
- #1374: Fix for autosummary generating overly-long summaries if first line doesn’t end with a period.
- #1383: Fix Python 2.5 compatibility of sphinx-apidoc.
- #1391: Actually prevent using “pngmath” and “mathjax” extensions at the same time in sphinx-quickstart.
- #1386: Fix bug preventing more than one theme being added by the entry point mechanism.
- #1370: Ignore “toctree” nodes in text writer, instead of raising.
- #1364: Fix ‘make gettext’ fails when the ‘.. todolist::’ directive is present.
- #1367: Fix a change of PR#96 that break sphinx.util.docfields.Field.make_field interface/behavior for
item
argument usage.
Documentation¶
- Extended the documentation about building extensions.
Release 1.2.1 (released Jan 19, 2014)¶
Bugs fixed¶
- #1335: Fix autosummary template overloading with exclamation prefix like
{% extends "!autosummary/class.rst" %}
cause infinite recursive function call. This was caused by PR#181. - #1337: Fix autodoc with
autoclass_content="both"
uses uselessobject.__init__
docstring when class does not have__init__
. This was caused by a change for #1138. - #1340: Can’t search alphabetical words on the HTML quick search generated with language=’ja’.
- #1319: Do not crash if the
html_logo
file does not exist. - #603: Do not use the HTML-ized title for building the search index (that resulted in “literal” being found on every page with a literal in the title).
- #751: Allow production lists longer than a page in LaTeX by using longtable.
- #764: Always look for stopwords lowercased in JS search.
- #814: autodoc: Guard against strange type objects that don’t have
__bases__
. - #932: autodoc: Do not crash if
__doc__
is not a string. - #933: Do not crash if an
option
value is malformed (contains spaces but no option name). - #908: On Python 3, handle error messages from LaTeX correctly in the pngmath extension.
- #943: In autosummary, recognize “first sentences” to pull from the docstring if they contain uppercase letters.
- #923: Take the entire LaTeX document into account when caching pngmath-generated images. This rebuilds them correctly when
pngmath_latex_preamble
changes. - #901: Emit a warning when using docutils’ new “math” markup without a Sphinx math extension active.
- #845: In code blocks, when the selected lexer fails, display line numbers nevertheless if configured.
- #929: Support parsed-literal blocks in LaTeX output correctly.
- #949: Update the tabulary.sty packed with Sphinx.
- #1050: Add anonymous labels into
objects.inv
to be referenced viaintersphinx
. - #1095: Fix print-media stylesheet being included always in the “scrolls” theme.
- #1085: Fix current classname not getting set if class description has
:noindex:
set. - #1181: Report option errors in autodoc directives more gracefully.
- #1155: Fix autodocumenting C-defined methods as attributes in Python 3.
- #1233: Allow finding both Python classes and exceptions with the “class” and “exc” roles in intersphinx.
- #1198: Allow “image” for the “figwidth” option of the figure directive as documented by docutils.
- #1152: Fix pycode parsing errors of Python 3 code by including two grammar versions for Python 2 and 3, and loading the appropriate version for the running Python version.
- #1017: Be helpful and tell the user when the argument to
option
does not match the required format. - #1345: Fix two bugs with
nitpick_ignore
; now you don’t have to remove the store environment for changes to have effect. - #1072: In the JS search, fix issues searching for upper-cased words by lowercasing words before stemming.
- #1299: Make behavior of the
math
directive more consistent and avoid producing empty environments in LaTeX output. - #1308: Strip HTML tags from the content of “raw” nodes before feeding it to the search indexer.
- #1249: Fix duplicate LaTeX page numbering for manual documents.
- #1292: In the linkchecker, retry HEAD requests when denied by HTTP 405. Also make the redirect code apparent and tweak the output a bit to be more obvious.
- #1285: Avoid name clashes between C domain objects and section titles.
- #848: Always take the newest code in incremental rebuilds with the
sphinx.ext.viewcode
extension. - #979, #1266: Fix exclude handling in
sphinx-apidoc
. - #1302: Fix regression in
sphinx.ext.inheritance_diagram
when documenting classes that can’t be pickled. - #1316: Remove hard-coded
font-face
resources from epub theme. - #1329: Fix traceback with empty translation msgstr in .po files.
- #1300: Fix references not working in translated documents in some instances.
- #1283: Fix a bug in the detection of changed files that would try to access doctrees of deleted documents.
- #1330: Fix
exclude_patterns
behavior with subdirectories in thehtml_static_path
. - #1323: Fix emitting empty
<ul>
tags in the HTML writer, which is not valid HTML. - #1147: Don’t emit a sidebar search box in the “singlehtml” builder.
Documentation¶
- #1325: Added a “Intersphinx” tutorial section. (
doc/tutorial.rst
)
Release 1.2 (released Dec 10, 2013)¶
Features added¶
- Added
sphinx.version_info
tuple for programmatic checking of the Sphinx version.
Incompatible changes¶
- Removed the
sphinx.ext.refcounting
extension – it is very specific to CPython and has no place in the main distribution.
Bugs fixed¶
- Restore
versionmodified
CSS class for versionadded/changed and deprecated directives. - PR#181: Fix
html_theme_path = ['.']
is a trigger of rebuild all documents always (This change keeps the current “theme changes cause a rebuild” feature). - #1296: Fix invalid charset in HTML help generated HTML files for default locale.
- PR#190: Fix gettext does not extract figure caption and rubric title inside other blocks. Thanks to Michael Schlenker.
- PR#176: Make sure setup_command test can always import Sphinx. Thanks to Dmitry Shachnev.
- #1311: Fix test_linkcode.test_html fails with C locale and Python 3.
- #1269: Fix ResourceWarnings with Python 3.2 or later.
- #1138: Fix: When
autodoc_docstring_signature = True
andautoclass_content = 'init'
or'both'
, __init__ line should be removed from class documentation.
Release 1.2 beta3 (released Oct 3, 2013)¶
Features added¶
- The Sphinx error log files will now include a list of the loaded extensions for help in debugging.
Incompatible changes¶
- PR#154: Remove “sphinx” prefix from LaTeX class name except ‘sphinxmanual’ and ‘sphinxhowto’. Now you can use your custom document class without ‘sphinx’ prefix. Thanks to Erik B.
Bugs fixed¶
- #1265: Fix i18n: crash when translating a section name that is pointed to from a named target.
- A wrong condition broke the search feature on first page that is usually index.rst. This issue was introduced in 1.2b1.
- #703: When Sphinx can’t decode filenames with non-ASCII characters, Sphinx now catches UnicodeError and will continue if possible instead of raising the exception.
Release 1.2 beta2 (released Sep 17, 2013)¶
Features added¶
apidoc
now ignores “_private” modules by default, and has an option-P
to include them.apidoc
now has an option to not generate headings for packages and modules, for the case that the module docstring already includes a reST heading.- PR#161:
apidoc
can now write each module to a standalone page instead of combining all modules in a package on one page. - Builders: rebuild i18n target document when catalog updated.
- Support docutils.conf ‘writers’ and ‘html4css1 writer’ section in the HTML writer. The latex, manpage and texinfo writers also support their respective ‘writers’ sections.
- The new
html_extra_path
config value allows to specify directories with files that should be copied directly to the HTML output directory. - Autodoc directives for module data and attributes now support an
annotation
option, so that the default display of the data/attribute value can be overridden. - PR#136: Autodoc directives now support an
imported-members
option to include members imported from different modules. - New locales: Macedonian, Sinhala, Indonesian.
- Theme package collection by using setuptools plugin mechanism.
Incompatible changes¶
- PR#144, #1182: Force timezone offset to LocalTimeZone on POT-Creation-Date that was generated by gettext builder. Thanks to masklinn and Jakub Wilk.
Bugs fixed¶
- PR#132: Updated jQuery version to 1.8.3.
- PR#141, #982: Avoid crash when writing PNG file using Python 3. Thanks to Marcin Wojdyr.
- PR#145: In parallel builds, sphinx drops second document file to write. Thanks to tychoish.
- PR#151: Some styling updates to tables in LaTeX.
- PR#153: The “extensions” config value can now be overridden.
- PR#155: Added support for some C++11 function qualifiers.
- Fix: ‘make gettext’ caused UnicodeDecodeError when templates contain utf-8 encoded strings.
- #828: use inspect.getfullargspec() to be able to document functions with keyword-only arguments on Python 3.
- #1090: Fix i18n: multiple cross references (term, ref, doc) in the same line return the same link.
- #1157: Combination of ‘globaltoc.html’ and hidden toctree caused exception.
- #1159: fix wrong generation of objects inventory for Python modules, and add a workaround in intersphinx to fix handling of affected inventories.
- #1160: Citation target missing caused an AssertionError.
- #1162, PR#139: singlehtml builder didn’t copy images to _images/.
- #1173: Adjust setup.py dependencies because Jinja2 2.7 discontinued compatibility with Python < 3.3 and Python < 2.6. Thanks to Alexander Dupuy.
- #1185: Don’t crash when a Python module has a wrong or no encoding declared, and non-ASCII characters are included.
- #1188: sphinx-quickstart raises UnicodeEncodeError if “Project version” includes non-ASCII characters.
- #1189: “Title underline is too short” WARNING is given when using fullwidth characters to “Project name” on quickstart.
- #1190: Output TeX/texinfo/man filename has no basename (only extension) when using non-ASCII characters in the “Project name” on quickstart.
- #1192: Fix escaping problem for hyperlinks in the manpage writer.
- #1193: Fix i18n: multiple link references in the same line return the same link.
- #1176: Fix i18n: footnote reference number missing for auto numbered named footnote and auto symbol footnote.
- PR#146,#1172: Fix ZeroDivisionError in parallel builds. Thanks to tychoish.
- #1204: Fix wrong generation of links to local intersphinx targets.
- #1206: Fix i18n: gettext did not translate admonition directive’s title.
- #1232: Sphinx generated broken ePub files on Windows.
- #1259: Guard the debug output call when emitting events; to prevent the repr() implementation of arbitrary objects causing build failures.
- #1142: Fix NFC/NFD normalizing problem of rst filename on Mac OS X.
- #1234: Ignoring the string consists only of white-space characters.
Release 1.2 beta1 (released Mar 31, 2013)¶
Incompatible changes¶
- Removed
sphinx.util.compat.directive_dwim()
andsphinx.roles.xfileref_role()
which were deprecated since version 1.0. - PR#122: the files given in
latex_additional_files
now override TeX files included by Sphinx, such assphinx.sty
. - PR#124: the node generated by
versionadded
,versionchanged
anddeprecated
directives now includes all added markup (such as “New in version X”) as child nodes, and no additional text must be generated by writers. - PR#99: the
seealso
directive now generates admonition nodes instead of the customseealso
node.
Features added¶
- Markup
- The
toctree
directive and thetoctree()
template function now have anincludehidden
option that includes hidden toctree entries (bugs #790 and #1047). A bug in themaxdepth
option for thetoctree()
template function has been fixed (bug #1046). - PR#99: Strip down seealso directives to normal admonitions. This removes their unusual CSS classes (admonition-see-also), inconsistent LaTeX admonition title (“See Also” instead of “See also”), and spurious indentation in the text builder.
- The
- HTML builder
- #783: Create a link to full size image if it is scaled with width or height.
- #1067: Improve the ordering of the JavaScript search results: matches in titles come before matches in full text, and object results are better categorized. Also implement a pluggable search scorer.
- #1053: The “rightsidebar” and “collapsiblesidebar” HTML theme options now work together.
- Update to jQuery 1.7.1 and Underscore.js 1.3.1.
- Texinfo builder
- An “Index” node is no longer added when there are no entries.
- “deffn” categories are no longer capitalized if they contain capital letters.
desc_annotation
nodes are now rendered.strong
andemphasis
nodes are now formatted likeliteral
s. The reason for this is because the standard Texinfo markup (*strong*
and_emphasis_
) resulted in confusing output due to the common usage of using these constructs for documenting parameter names.- Field lists formatting has been tweaked to better display “Info field lists”.
system_message
andproblematic
nodes are now formatted in a similar fashion as done by the text builder.- “en-dash” and “em-dash” conversion of hyphens is no longer performed in option directive signatures.
@ref
is now used instead of@pxref
for cross-references which prevents the word “see” from being added before the link (does not affect the Info output).- The
@finalout
command has been added for better TeX output. transition
nodes are now formatted using underscores (“_”) instead of asterisks (“*”).- The default value for the
paragraphindent
has been changed from 2 to 0 meaning that paragraphs are no longer indented by default. - #1110: A new configuration value
texinfo_no_detailmenu
has been added for controlling whether a@detailmenu
is added in the “Top” node’s menu. - Detailed menus are no longer created except for the “Top” node.
- Fixed an issue where duplicate domain indices would result in invalid output.
- LaTeX builder:
- PR#115: Add
'transition'
item inlatex_elements
for customizing how transitions are displayed. Thanks to Jeff Klukas. - PR#114: The LaTeX writer now includes the “cmap” package by default. The
'cmappkg'
item inlatex_elements
can be used to control this. Thanks to Dmitry Shachnev. - The
'fontpkg'
item inlatex_elements
now defaults to''
when thelanguage
uses the Cyrillic script. Suggested by Dmitry Shachnev. - The
latex_documents
,texinfo_documents
, andman_pages
configuration values will be set to default values based on themaster_doc
if not explicitly set inconf.py
. Previously, if these values were not set, no output would be generated by their respective builders.
- PR#115: Add
- Internationalization:
- Add i18n capabilities for custom templates. For example: The Sphinx reference documentation in doc directory provides a
sphinx.pot
file with message strings fromdoc/_templates/*.html
when usingmake gettext
. - PR#61,#703: Add support for non-ASCII filename handling.
- Add i18n capabilities for custom templates. For example: The Sphinx reference documentation in doc directory provides a
- Other builders:
- Added the Docutils-native XML and pseudo-XML builders. See
XMLBuilder
andPseudoXMLBuilder
. - PR#45: The linkcheck builder now checks
#anchor
s for existence. - PR#123, #1106: Add
epub_use_index
configuration value. If provided, it will be used instead ofhtml_use_index
for epub builder. - PR#126: Add
epub_tocscope
configuration value. The setting controls the generation of the epub toc. The user can now also include hidden toc entries. - PR#112: Add
epub_show_urls
configuration value.
- Added the Docutils-native XML and pseudo-XML builders. See
- Extensions:
- PR#52:
special_members
flag to autodoc now behaves likemembers
. - PR#47: Added
sphinx.ext.linkcode
extension. - PR#25: In inheritance diagrams, the first line of the class docstring is now the tooltip for the class.
- PR#52:
- Command-line interfaces:
- PR#75: Added
--follow-links
option to sphinx-apidoc. - #869: sphinx-build now has the option
-T
for printing the full traceback after an unhandled exception. - sphinx-build now supports the standard
--help
and--version
options. - sphinx-build now provides more specific error messages when called with invalid options or arguments.
- sphinx-build now has a verbose option
-v
which can be repeated for greater effect. A single occurrence provides a slightly more verbose output than normal. Two or more occurrences of this option provides more detailed output which may be useful for debugging.
- PR#75: Added
- Locales:
- PR#74: Fix some Russian translation.
- PR#54: Added Norwegian bokmaal translation.
- PR#35: Added Slovak translation.
- PR#28: Added Hungarian translation.
- #1113: Add Hebrew locale.
- #1097: Add Basque locale.
- #1037: Fix typos in Polish translation. Thanks to Jakub Wilk.
- #1012: Update Estonian translation.
- Optimizations:
- Speed up building the search index by caching the results of the word stemming routines. Saves about 20 seconds when building the Python documentation.
- PR#108: Add experimental support for parallel building with a new
sphinx-build -j
option.
Documentation¶
- PR#88: Added the “Sphinx Developer’s Guide” (
doc/devguide.rst
) which outlines the basic development process of the Sphinx project. - Added a detailed “Installing Sphinx” document (
doc/install.rst
).
Bugs fixed¶
- PR#124: Fix paragraphs in versionmodified are ignored when it has no dangling paragraphs. Fix wrong html output (nested
<p>
tag). Fix versionmodified is not translatable. Thanks to Nozomu Kaneko. - PR#111: Respect add_autodoc_attrgetter() even when inherited-members is set. Thanks to A. Jesse Jiryu Davis.
- PR#97: Fix footnote handling in translated documents.
- Fix text writer not handling visit_legend for figure directive contents.
- Fix text builder not respecting wide/fullwidth characters: title underline width, table layout width and text wrap width.
- Fix leading space in LaTeX table header cells.
- #1132: Fix LaTeX table output for multi-row cells in the first column.
- #1128: Fix Unicode errors when trying to format time strings with a non-standard locale.
- #1127: Fix traceback when autodoc tries to tokenize a non-Python file.
- #1126: Fix double-hyphen to en-dash conversion in wrong places such as command-line option names in LaTeX.
- #1123: Allow whitespaces in filenames given to
literalinclude
. - #1120: Added improvements about i18n for themes “basic”, “haiku” and “scrolls” that Sphinx built-in. Thanks to Leonardo J. Caballero G.
- #1118: Updated Spanish translation. Thanks to Leonardo J. Caballero G.
- #1117: Handle .pyx files in sphinx-apidoc.
- #1112: Avoid duplicate download files when referenced from documents in different ways (absolute/relative).
- #1111: Fix failure to find uppercase words in search when
html_search_language
is ‘ja’. Thanks to Tomo Saito. - #1108: The text writer now correctly numbers enumerated lists with non-default start values (based on patch by Ewan Edwards).
- #1102: Support multi-context “with” statements in autodoc.
- #1090: Fix gettext not extracting glossary terms.
- #1074: Add environment version info to the generated search index to avoid compatibility issues with old builds.
- #1070: Avoid un-pickling issues when running Python 3 and the saved environment was created under Python 2.
- #1069: Fixed error caused when autodoc would try to format signatures of “partial” functions without keyword arguments (patch by Artur Gaspar).
- #1062: sphinx.ext.autodoc use __init__ method signature for class signature.
- #1055: Fix web support with relative path to source directory.
- #1043: Fix sphinx-quickstart asking again for yes/no questions because
input()
returns values with an extra ‘r’ on Python 3.2.0 + Windows. Thanks to Régis Décamps. - #1041: Fix failure of the cpp domain parser to parse a const type with a modifier.
- #1038: Fix failure of the cpp domain parser to parse C+11 “static constexpr” declarations. Thanks to Jakub Wilk.
- #1029: Fix intersphinx_mapping values not being stable if the mapping has plural key/value set with Python 3.3.
- #1028: Fix line block output in the text builder.
- #1024: Improve Makefile/make.bat error message if Sphinx is not found. Thanks to Anatoly Techtonik.
- #1018: Fix “container” directive handling in the text builder.
- #1015: Stop overriding jQuery contains() in the JavaScript.
- #1010: Make pngmath images transparent by default; IE7+ should handle it.
- #1008: Fix test failures with Python 3.3.
- #995: Fix table-of-contents and page numbering for the LaTeX “howto” class.
- #976: Fix gettext does not extract index entries.
- PR#72: #975: Fix gettext not extracting definition terms before docutils 0.10.
- #961: Fix LaTeX output for triple quotes in code snippets.
- #958: Do not preserve
environment.pickle
after a failed build. - #955: Fix i18n transformation.
- #940: Fix gettext does not extract figure caption.
- #920: Fix PIL packaging issue that allowed to import
Image
without PIL namespace. Thanks to Marc Schlaich. - #723: Fix the search function on local files in WebKit based browsers.
- #440: Fix coarse timestamp resolution in some filesystem generating a wrong list of outdated files.
Release 1.1.3 (Mar 10, 2012)¶
- PR#40: Fix
safe_repr
function to decode bytestrings with non-ASCII characters correctly. - PR#37: Allow configuring sphinx-apidoc via
SPHINX_APIDOC_OPTIONS
. - PR#34: Restore Python 2.4 compatibility.
- PR#36: Make the “bibliography to TOC” fix in LaTeX output specific to the document class.
- #695: When the highlight language “python” is specified explicitly, do not try to parse the code to recognize non-Python snippets.
- #859: Fix exception under certain circumstances when not finding appropriate objects to link to.
- #860: Do not crash when encountering invalid doctest examples, just emit a warning.
- #864: Fix crash with some settings of
modindex_common_prefix
. - #862: Fix handling of
-D
and-A
options on Python 3. - #851: Recognize and warn about circular toctrees, instead of running into recursion errors.
- #853: Restore compatibility with docutils trunk.
- #852: Fix HtmlHelp index entry links again.
- #854: Fix inheritance_diagram raising attribute errors on builtins.
- #832: Fix crashes when putting comments or lone terms in a glossary.
- #834, #818: Fix HTML help language/encoding mapping for all Sphinx supported languages.
- #844: Fix crashes when dealing with Unicode output in doctest extension.
- #831: Provide
--project
flag in setup_command as advertised. - #875: Fix reading config files under Python 3.
- #876: Fix quickstart test under Python 3.
- #870: Fix spurious KeyErrors when removing documents.
- #892: Fix single-HTML builder misbehaving with the master document in a subdirectory.
- #873: Fix assertion errors with empty
only
directives. - #816: Fix encoding issues in the Qt help builder.
Release 1.1.2 (Nov 1, 2011) – 1.1.1 is a silly version number anyway!¶
- #809: Include custom fixers in the source distribution.
Release 1.1.1 (Nov 1, 2011)¶
- #791: Fix QtHelp, DevHelp and HtmlHelp index entry links.
- #792: Include “sphinx-apidoc” in the source distribution.
- #797: Don’t crash on a misformatted glossary.
- #801: Make intersphinx work properly without SSL support.
- #805: Make the
Sphinx.add_index_to_domain
method work correctly. - #780: Fix Python 2.5 compatibility.
Release 1.1 (Oct 9, 2011)¶
Incompatible changes¶
- The
py:module
directive doesn’t output itsplatform
option value anymore. (It was the only thing that the directive did output, and therefore quite inconsistent.) - Removed support for old dependency versions; requirements are now:
- Pygments >= 1.2
- Docutils >= 0.7
- Jinja2 >= 2.3
Features added¶
- Added Python 3.x support.
- New builders and subsystems:
- Added a Texinfo builder.
- Added i18n support for content, a
gettext
builder and related utilities. - Added the
websupport
library and builder. - #98: Added a
sphinx-apidoc
script that autogenerates a hierarchy of source files containing autodoc directives to document modules and packages. - #273: Add an API for adding full-text search support for languages other than English. Add support for Japanese.
- Markup:
- #138: Added an
index
role, to make inline index entries. - #454: Added more index markup capabilities: marking see/seealso entries, and main entries for a given key.
- #460: Allowed limiting the depth of section numbers for HTML using the
toctree
‘snumbered
option. - #586: Implemented improved
glossary
markup which allows multiple terms per definition. - #478: Added
py:decorator
directive to describe decorators. - C++ domain now supports array definitions.
- C++ domain now supports doc fields (
:param x:
inside directives). - Section headings in
only
directives are now correctly handled. - Added
emphasize-lines
option to source code directives. - #678: C++ domain now supports superclasses.
- #138: Added an
- HTML builder:
- Added
pyramid
theme. - #559:
html_add_permalinks
is now a string giving the text to display in permalinks. - #259: HTML table rows now have even/odd CSS classes to enable “Zebra styling”.
- #554: Add theme option
sidebarwidth
to the basic theme.
- Added
- Other builders:
- #516: Added new value of the
latex_show_urls
option to show the URLs in footnotes. - #209: Added
text_newlines
andtext_sectionchars
config values. - Added
man_show_urls
config value. - #472: linkcheck builder: Check links in parallel, use HTTP HEAD requests and allow configuring the timeout. New config values:
linkcheck_timeout
andlinkcheck_workers
. - #521: Added
linkcheck_ignore
config value. - #28: Support row/colspans in tables in the LaTeX builder.
- #516: Added new value of the
- Configuration and extensibility:
- #537: Added
nitpick_ignore
. - #306: Added
env-get-outdated
event. Application.add_stylesheet()
now accepts full URIs.
- #537: Added
- Autodoc:
- #564: Add
autodoc_docstring_signature
. When enabled (the default), autodoc retrieves the signature from the first line of the docstring, if it is found there. - #176: Provide
private-members
option for autodoc directives. - #520: Provide
special-members
option for autodoc directives. - #431: Doc comments for attributes can now be given on the same line as the assignment.
- #437: autodoc now shows values of class data attributes.
- autodoc now supports documenting the signatures of
functools.partial
objects.
- #564: Add
- Other extensions:
- Added the
sphinx.ext.mathjax
extension. - #443: Allow referencing external graphviz files.
- Added
inline
option to graphviz directives, and fixed the default (block-style) in LaTeX output. - #590: Added
caption
option to graphviz directives. - #553: Added
testcleanup
blocks in the doctest extension. - #594:
trim_doctest_flags
now also removes<BLANKLINE>
indicators. - #367: Added automatic exclusion of hidden members in inheritance diagrams, and an option to selectively enable it.
- Added
pngmath_add_tooltips
. - The math extension displaymath directives now support
name
in addition tolabel
for giving the equation label, for compatibility with Docutils.
- Added the
- New locales:
- #221: Added Swedish locale.
- #526: Added Iranian locale.
- #694: Added Latvian locale.
- Added Nepali locale.
- #714: Added Korean locale.
- #766: Added Estonian locale.
- Bugs fixed:
- #778: Fix “hide search matches” link on pages linked by search.
- Fix the source positions referenced by the “viewcode” extension.
Release 1.0.8 (Sep 23, 2011)¶
- #627: Fix tracebacks for AttributeErrors in autosummary generation.
- Fix the
abbr
role when the abbreviation has newlines in it. - #727: Fix the links to search results with custom object types.
- #648: Fix line numbers reported in warnings about undefined references.
- #696, #666: Fix C++ array definitions and template arguments that are not type names.
- #633: Allow footnotes in section headers in LaTeX output.
- #616: Allow keywords to be linked via intersphinx.
- #613: Allow Unicode characters in production list token names.
- #720: Add dummy visitors for graphviz nodes for text and man.
- #704: Fix image file duplication bug.
- #677: Fix parsing of multiple signatures in C++ domain.
- #637: Ignore Emacs lock files when looking for source files.
- #544: Allow .pyw extension for importable modules in autodoc.
- #700: Use
$(MAKE)
in quickstart-generated Makefiles. - #734: Make sidebar search box width consistent in browsers.
- #644: Fix spacing of centered figures in HTML output.
- #767: Safely encode SphinxError messages when printing them to sys.stderr.
- #611: Fix LaTeX output error with a document with no sections but a link target.
- Correctly treat built-in method descriptors as methods in autodoc.
- #706: Stop monkeypatching the Python textwrap module.
- #657: viewcode now works correctly with source files that have non-ASCII encoding.
- #669: Respect the
noindex
flag option in py:module directives. - #675: Fix IndexErrors when including nonexisting lines with
literalinclude
. - #676: Respect custom function/method parameter separator strings.
- #682: Fix JS incompatibility with jQuery >= 1.5.
- #693: Fix double encoding done when writing HTMLHelp .hhk files.
- #647: Do not apply SmartyPants in parsed-literal blocks.
- C++ domain now supports array definitions.
Release 1.0.7 (Jan 15, 2011)¶
- #347: Fix wrong generation of directives of static methods in autosummary.
- #599: Import PIL as
from PIL import Image
. - #558: Fix longtables with captions in LaTeX output.
- Make token references work as hyperlinks again in LaTeX output.
- #572: Show warnings by default when reference labels cannot be found.
- #536: Include line number when complaining about missing reference targets in nitpicky mode.
- #590: Fix inline display of graphviz diagrams in LaTeX output.
- #589: Build using app.build() in setup command.
- Fix a bug in the inheritance diagram exception that caused base classes to be skipped if one of them is a builtin.
- Fix general index links for C++ domain objects.
- #332: Make admonition boundaries in LaTeX output visible.
- #573: Fix KeyErrors occurring on rebuild after removing a file.
- Fix a traceback when removing files with globbed toctrees.
- If an autodoc object cannot be imported, always re-read the document containing the directive on next build.
- If an autodoc object cannot be imported, show the full traceback of the import error.
- Fix a bug where the removal of download files and images wasn’t noticed.
- #571: Implement
~
cross-reference prefix for the C domain. - Fix regression of LaTeX output with the fix of #556.
- #568: Fix lookup of class attribute documentation on descriptors so that comment documentation now works.
- Fix traceback with
only
directives preceded by targets. - Fix tracebacks occurring for duplicate C++ domain objects.
- Fix JavaScript domain links to objects with
$
in their name.
Release 1.0.6 (Jan 04, 2011)¶
- #581: Fix traceback in Python domain for empty cross-reference targets.
- #283: Fix literal block display issues on Chrome browsers.
- #383, #148: Support sorting a limited range of accented characters in the general index and the glossary.
- #570: Try decoding
-D
and-A
command-line arguments with the locale’s preferred encoding. - #528: Observe
locale_dirs
when looking for the JS translations file. - #574: Add special code for better support of Japanese documents in the LaTeX builder.
- Regression of #77: If there is only one parameter given with
:param:
markup, the bullet list is now suppressed again. - #556: Fix missing paragraph breaks in LaTeX output in certain situations.
- #567: Emit the
autodoc-process-docstring
event even for objects without a docstring so that it can add content. - #565: In the LaTeX builder, not only literal blocks require different table handling, but also quite a few other list-like block elements.
- #515: Fix tracebacks in the viewcode extension for Python objects that do not have a valid signature.
- Fix strange reports of line numbers for warnings generated from autodoc-included docstrings, due to different behavior depending on docutils version.
- Several fixes to the C++ domain.
Release 1.0.5 (Nov 12, 2010)¶
- #557: Add CSS styles required by docutils 0.7 for aligned images and figures.
- In the Makefile generated by LaTeX output, do not delete pdf files on clean; they might be required images.
- #535: Fix LaTeX output generated for line blocks.
- #544: Allow
.pyw
as a source file extension.
Release 1.0.4 (Sep 17, 2010)¶
- #524: Open intersphinx inventories in binary mode on Windows, since version 2 contains zlib-compressed data.
- #513: Allow giving non-local URIs for JavaScript files, e.g. in the JSMath extension.
- #512: Fix traceback when
intersphinx_mapping
is empty.
Release 1.0.3 (Aug 23, 2010)¶
- #495: Fix internal vs. external link distinction for links coming from a docutils table-of-contents.
- #494: Fix the
maxdepth
option for thetoctree()
template callable when used withcollapse=True
. - #507: Fix crash parsing Python argument lists containing brackets in string literals.
- #501: Fix regression when building LaTeX docs with figures that don’t have captions.
- #510: Fix inheritance diagrams for classes that are not picklable.
- #497: Introduce separate background color for the sidebar collapse button, making it easier to see.
- #502, #503, #496: Fix small layout bugs in several builtin themes.
Release 1.0.2 (Aug 14, 2010)¶
- #490: Fix cross-references to objects of types added by the
add_object_type()
API function. - Fix handling of doc field types for different directive types.
- Allow breaking long signatures, continuing with backlash-escaped newlines.
- Fix unwanted styling of C domain references (because of a namespace clash with Pygments styles).
- Allow references to PEPs and RFCs with explicit anchors.
- #471: Fix LaTeX references to figures.
- #482: When doing a non-exact search, match only the given type of object.
- #481: Apply non-exact search for Python reference targets with
.name
for modules too. - #484: Fix crash when duplicating a parameter in an info field list.
- #487: Fix setting the default role to one provided by the
oldcmarkup
extension. - #488: Fix crash when json-py is installed, which provides a
json
module but is incompatible to simplejson. - #480: Fix handling of target naming in intersphinx.
- #486: Fix removal of
!
for all cross-reference roles.
Release 1.0.1 (Jul 27, 2010)¶
- #470: Fix generated target names for reST domain objects; they are not in the same namespace.
- #266: Add Bengali language.
- #473: Fix a bug in parsing JavaScript object names.
- #474: Fix building with SingleHTMLBuilder when there is no toctree.
- Fix display names for objects linked to by intersphinx with explicit targets.
- Fix building with the JSON builder.
- Fix hyperrefs in object descriptions for LaTeX.
Release 1.0 (Jul 23, 2010)¶
Incompatible changes¶
- Support for domains has been added. A domain is a collection of directives and roles that all describe objects belonging together, e.g. elements of a programming language. A few builtin domains are provided:
- Python
- C
- C++
- JavaScript
- reStructuredText
- The old markup for defining and linking to C directives is now deprecated. It will not work anymore in future versions without activating the
oldcmarkup
extension; in Sphinx 1.0, it is activated by default. - Removed support for old dependency versions; requirements are now:
- docutils >= 0.5
- Jinja2 >= 2.2
- Removed deprecated elements:
exclude_dirs
config valuesphinx.builder
module
Features added¶
- General:
- Added a “nitpicky” mode that emits warnings for all missing references. It is activated by the
sphinx-build -n
command-line switch or thenitpicky
config value. - Added
latexpdf
target in quickstart Makefile.
- Added a “nitpicky” mode that emits warnings for all missing references. It is activated by the
- Markup:
- The
menuselection
andguilabel
roles now support ampersand accelerators. - New more compact doc field syntax is now recognized:
:param type name: description
. - Added
tab-width
option toliteralinclude
directive. - Added
titlesonly
option totoctree
directive. - Added the
prepend
andappend
options to theliteralinclude
directive. - #284: All docinfo metadata is now put into the document metadata, not just the author.
- The
ref
role can now also reference tables by caption. - The include directive now supports absolute paths, which are interpreted as relative to the source directory.
- In the Python domain, references like
:func:`.name`
now look for matching names with any prefix if no direct match is found.
- The
- Configuration:
- Added
rst_prolog
config value. - Added
html_secnumber_suffix
config value to control section numbering format. - Added
html_compact_lists
config value to control docutils’ compact lists feature. - The
html_sidebars
config value can now contain patterns as keys, and the values can be lists that explicitly select which sidebar templates should be rendered. That means that the builtin sidebar contents can be included only selectively. html_static_path
can now contain single file entries.- The new universal config value
exclude_patterns
makes the oldunused_docs
,exclude_trees
andexclude_dirnames
obsolete. - Added
html_output_encoding
config value. - Added the
latex_docclass
config value and made the “twoside” documentclass option overridable by “oneside”. - Added the
trim_doctest_flags
config value, which is true by default. - Added
html_show_copyright
config value. - Added
latex_show_pagerefs
andlatex_show_urls
config values. - The behavior of
html_file_suffix
changed slightly: the empty string now means “no suffix” instead of “default suffix”, useNone
for “default suffix”.
- Added
- New builders:
- Added a builder for the Epub format.
- Added a builder for manual pages.
- Added a single-file HTML builder.
- HTML output:
- Inline roles now get a CSS class with their name, allowing styles to customize their appearance. Domain-specific roles get two classes,
domain
anddomain-rolename
. - References now get the class
internal
if they are internal to the whole project, as opposed to internal to the current page. - External references can be styled differently with the new
externalrefs
theme option for the default theme. - In the default theme, the sidebar can experimentally now be made collapsible using the new
collapsiblesidebar
theme option. - #129: Toctrees are now wrapped in a
div
tag with classtoctree-wrapper
in HTML output. - The
toctree
callable in templates now has amaxdepth
keyword argument to control the depth of the generated tree. - The
toctree
callable in templates now accepts atitles_only
keyword argument. - Added
htmltitle
block in layout template. - In the JavaScript search, allow searching for object names including the module name, like
sys.argv
. - Added new theme
haiku
, inspired by the Haiku OS user guide. - Added new theme
nature
. - Added new theme
agogo
, created by Andi Albrecht. - Added new theme
scrolls
, created by Armin Ronacher. - #193: Added a
visitedlinkcolor
theme option to the default theme. - #322: Improved responsiveness of the search page by loading the search index asynchronously.
- Inline roles now get a CSS class with their name, allowing styles to customize their appearance. Domain-specific roles get two classes,
- Extension API:
- Added
html-collect-pages
. - Added
needs_sphinx
config value andrequire_sphinx()
application API method. - #200: Added
add_stylesheet()
application API method.
- Added
- Extensions:
- Added the
viewcode
extension. - Added the
extlinks
extension. - Added support for source ordering of members in autodoc, with
autodoc_member_order = 'bysource'
. - Added
autodoc_default_flags
config value, which can be used to select default flags for all autodoc directives. - Added a way for intersphinx to refer to named labels in other projects, and to specify the project you want to link to.
- #280: Autodoc can now document instance attributes assigned in
__init__
methods. - Many improvements and fixes to the
autosummary
extension, thanks to Pauli Virtanen. - #309: The
graphviz
extension can now output SVG instead of PNG images, controlled by thegraphviz_output_format
config value. - Added
alt
option tographviz
extension directives. - Added
exclude
argument toautodoc.between()
.
- Added the
- Translations:
- Added Croatian translation, thanks to Bojan Mihelač.
- Added Turkish translation, thanks to Firat Ozgul.
- Added Catalan translation, thanks to Pau Fernández.
- Added simplified Chinese translation.
- Added Danish translation, thanks to Hjorth Larsen.
- Added Lithuanian translation, thanks to Dalius Dobravolskas.
- Bugs fixed:
- #445: Fix links to result pages when using the search function of HTML built with the
dirhtml
builder. - #444: In templates, properly re-escape values treated with the “striptags” Jinja filter.
- #445: Fix links to result pages when using the search function of HTML built with the