blob: 29efa94e5da37bcce02c8b48a15a9cc52a18fe94 [file] [log] [blame]
Release 1.3 (in development)
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`` and
``unused_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 for ``tt>`` tag.
Thanks to Takeshi Komiya.
* #1543: `templates_path` is automatically added to
`exclude_patterns` to avoid reading autosummary rst templates in the
templates directory.
* Custom domains should implement the new `Domain.resolve_any_xref`
method to make the `any` role work properly.
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
* Added the `any` role that can be used to find a cross-reference of
*any* type in *any* domain. Custom domains should implement the new
`Domain.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 new `needs_extensions` config
* Changing the default role within a document with the :dudir:`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#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` and `literalinclude` directives
to start at an arbitrary line number, with a new ``lineno-start`` option.
* PR#172, PR#266: The `code-block` and `literalinclude`
directives now can have a ``caption`` 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 when
`gettext_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.
Bugs fixed
* #1568: fix a crash when a "centered" directive contains a reference.
* #1563: :meth:`~sphinx.application.Sphinx.add_search_language` raises
AssertionError for correct type of argument. Thanks to rikoman.
* #1174: Fix smart quotes being applied inside roles like :rst:role:`program` or
* 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<bool(int, int)> (#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` and
`literalinclude`. 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` and `pep` 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).
* Add clarification about the syntax of tags. (:file:`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, now sphinx-build emits
a user-friendly error message.
* #1502: In autodoc, fix display of parameter defaults containing backslashes.
* #1226: autodoc, autosummary: importing 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 command.
ex. ``python build_sphinx -b doctest`` return zero even if doctest
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 :rst:dir:`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
* #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.
* Extended the :ref:`documentation about building extensions <dev-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 useless
``object.__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
* #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
* #932: autodoc: Do not crash if ``__doc__`` is not a string.
* #933: Do not crash if an :rst:role:`option` value is malformed (contains
spaces but no option name).
* #908: On Python 3, handle error messages from LaTeX correctly in the pngmath
* #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 via
* #1095: Fix print-media stylesheet being included always in the "scrolls"
* #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 :dudir:`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 :rst:dir:`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 :rst:dir:`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
:mod:`sphinx.ext.viewcode` extension.
* #979, #1266: Fix exclude handling in ``sphinx-apidoc``.
* #1302: Fix regression in :mod:`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 the
* #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.
* #1325: Added a "Intersphinx" tutorial section. (:file:`doc/tutorial.rst`)
Release 1.2 (released Dec 10, 2013)
Features added
* Added ``sphinx.version_info`` tuple for programmatic checking of the Sphinx
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
* PR#181: Fix ``html_theme_path = ['.']`` is a trigger of rebuild all documents
always (This change keeps the current "theme changes cause a rebuild"
* #1296: Fix invalid charset in HTML help generated HTML files for default
* 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`` and
``autoclass_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
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
* 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 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
* #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()`` and
``sphinx.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 as ``sphinx.sty``.
* PR#124: the node generated by `versionadded`,
`versionchanged` and `deprecated` 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 :rst:dir:`seealso` directive now generates admonition nodes instead
of the custom ``seealso`` node.
Features added
* Markup
- The :rst:dir:`toctree` directive and the ``toctree()`` template function now
have an ``includehidden`` option that includes hidden toctree entries (bugs
#790 and #1047). A bug in the ``maxdepth`` option for the ``toctree()``
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.
* 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
- 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
- ``desc_annotation`` nodes are now rendered.
- ``strong`` and ``emphasis`` nodes are now formatted like
``literal``\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`` and ``problematic`` 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
* LaTeX builder:
- PR#115: Add ``'transition'`` item in `latex_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 in `latex_elements` can be used to control this.
Thanks to Dmitry Shachnev.
- The ``'fontpkg'`` item in `latex_elements` now defaults to ``''``
when the `language` uses the Cyrillic script. Suggested by Dmitry
- The `latex_documents`, `texinfo_documents`, and
`man_pages` configuration values will be set to default values based
on the :confval:`master_doc` if not explicitly set in :file:``.
Previously, if these values were not set, no output would be generated by
their respective builders.
* Internationalization:
- Add i18n capabilities for custom templates. For example: The Sphinx
reference documentation in doc directory provides a ``sphinx.pot`` file with
message strings from ``doc/_templates/*.html`` when using ``make gettext``.
- PR#61,#703: Add support for non-ASCII filename handling.
* Other builders:
- Added the Docutils-native XML and pseudo-XML builders. See
:class:`XMLBuilder` and :class:`PseudoXMLBuilder`.
- 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 of `html_use_index` for epub
- 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.
* Extensions:
- PR#52: ``special_members`` flag to autodoc now behaves like ``members``.
- PR#47: Added :mod:`sphinx.ext.linkcode` extension.
- PR#25: In inheritance diagrams, the first line of the class docstring
is now the tooltip for the class.
* Command-line interfaces:
- PR#75: Added ``--follow-links`` option to sphinx-apidoc.
- #869: sphinx-build now has the option :option:`-T` for printing the full
traceback after an unhandled exception.
- sphinx-build now supports the standard :option:`--help` and
:option:`--version` options.
- sphinx-build now provides more specific error messages when called with
invalid options or arguments.
- sphinx-build now has a verbose option :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.
* 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
- PR#108: Add experimental support for parallel building with a new
:option:`-j` option.
* PR#88: Added the "Sphinx Developer's Guide" (:file:`doc/devguide.rst`)
which outlines the basic development process of the Sphinx project.
* Added a detailed "Installing Sphinx" document (:file:`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
* #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
* #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 its ``platform`` 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
- 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 :rst:role:`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
:rst:dir:`toctree`\'s ``numbered`` option.
- #586: Implemented improved :rst:dir:`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 :rst:dir:`only` directives are now correctly
- Added ``emphasize-lines`` option to source code directives.
- #678: C++ domain now supports superclasses.
* 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.
* Other builders:
- #516: Added new value of the `latex_show_urls` option to
show the URLs in footnotes.
- #209: Added `text_newlines` and `text_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` and `linkcheck_workers`.
- #521: Added `linkcheck_ignore` config value.
- #28: Support row/colspans in tables in the LaTeX builder.
* Configuration and extensibility:
- #537: Added `nitpick_ignore`.
- #306: Added :event:`env-get-outdated` event.
- :meth:`.Application.add_stylesheet` now accepts full URIs.
* 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.
* Other extensions:
- Added the :mod:`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>``
- #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 to ``label`` for giving the equation label, for compatibility
with Docutils.
* 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
* #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
* #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
* #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
* #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
* #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 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
* #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
* #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
* #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 the ``toctree()`` template
callable when used with ``collapse=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
:func:`~.Sphinx.add_object_type` API function.
* Fix handling of doc field types for different directive types.
* Allow breaking long signatures, continuing with backlash-escaped
* 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
- 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 :mod:`~sphinx.ext.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 value
- ``sphinx.builder`` module
Features added
* General:
- Added a "nitpicky" mode that emits warnings for all missing
references. It is activated by the :option:`-n` command-line switch
or the `nitpicky` config value.
- Added ``latexpdf`` target in quickstart Makefile.
* Markup:
- The `menuselection` and `guilabel` roles now
support ampersand accelerators.
- New more compact doc field syntax is now recognized: ``:param type
name: description``.
- Added ``tab-width`` option to `literalinclude` directive.
- Added ``titlesonly`` option to :rst:dir:`toctree` directive.
- Added the ``prepend`` and ``append`` options to the
`literalinclude` 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 :dudir:`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.
* 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
old ``unused_docs``, ``exclude_trees`` and
``exclude_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` and `latex_show_urls`
config values.
- The behavior of `html_file_suffix` changed slightly: the
empty string now means "no suffix" instead of "default suffix", use
``None`` for "default suffix".
* 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`` and ``domain-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 class
``toctree-wrapper`` in HTML output.
- The :data:`toctree` callable in templates now has a ``maxdepth``
keyword argument to control the depth of the generated tree.
- The :data:`toctree` callable in templates now accepts a
``titles_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
- #322: Improved responsiveness of the search page by loading the
search index asynchronously.
* Extension API:
- Added :event:`html-collect-pages`.
- Added `needs_sphinx` config value and
:meth:`~sphinx.application.Sphinx.require_sphinx` application API
- #200: Added :meth:`~sphinx.application.Sphinx.add_stylesheet`
application API method.
* Extensions:
- Added the :mod:`~sphinx.ext.viewcode` extension.
- Added the :mod:`~sphinx.ext.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 :mod:`~sphinx.ext.autosummary`
extension, thanks to Pauli Virtanen.
- #309: The :mod:`~sphinx.ext.graphviz` extension can now output SVG
instead of PNG images, controlled by the
`graphviz_output_format` config value.
- Added ``alt`` option to :rst:dir:`graphviz` extension directives.
- Added ``exclude`` argument to :func:`.autodoc.between`.
* 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.
Previous versions
The changelog for versions before 1.0 can be found in the file ``CHANGES.old``
in the source distribution or `at BitBucket