Release 1.3 (in development) ============================ Change support versions ----------------------- * Drop Python-2.5. (support code was completely removed) 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. * 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`` 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 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 :confval:`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()`` and ``sphinx.roles.xfileref_role()`` which were deprecated since version 1.0. * PR#122: the files given in :confval:`latex_additional_files` now override TeX files included by Sphinx, such as ``sphinx.sty``. * PR#124: the node generated by :rst:dir:`versionadded`, :rst:dir:`versionchanged` and :rst:dir:`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 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`` 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 :confval:`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 in :confval:`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 :confval:`latex_elements` can be used to control this. Thanks to Dmitry Shachnev. - The ``'fontpkg'`` item in :confval:`latex_elements` now defaults to ``''`` when the :confval:`language` uses the Cyrillic script. Suggested by Dmitry Shachnev. - The :confval:`latex_documents`, :confval:`texinfo_documents`, and :confval:`man_pages` configuration values will be set to default values based on the :confval:`master_doc` if not explicitly set in :file:`conf.py`. Previously, if these values were not set, no output would be genereted 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``. * 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 :confval:`epub_use_index` configuration value. If provided, it will be used instead of :confval:`html_use_index` for epub builder. - PR#126: Add :confval:`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 :confval:`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 occurrance 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 documentation. - PR#108: Add experimental support for parallel building with a new :option:`-j` option. Documentation ------------- * 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 ``
`` 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 :rst:dir:`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
:confval:`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 :confval:`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 :rst:dir:`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
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 :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 :rst:dir:`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
handled.
- Added ``emphasize-lines`` option to source code directives.
- #678: C++ domain now supports superclasses.
* HTML builder:
- Added ``pyramid`` theme.
- #559: :confval:`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 :confval:`latex_show_urls` option to
show the URLs in footnotes.
- #209: Added :confval:`text_newlines` and :confval:`text_sectionchars`
config values.
- Added :confval:`man_show_urls` config value.
- #472: linkcheck builder: Check links in parallel, use HTTP HEAD
requests and allow configuring the timeout. New config values:
:confval:`linkcheck_timeout` and :confval:`linkcheck_workers`.
- #521: Added :confval:`linkcheck_ignore` config value.
- #28: Support row/colspans in tables in the LaTeX builder.
* Configuration and extensibility:
- #537: Added :confval:`nitpick_ignore`.
- #306: Added :event:`env-get-outdated` event.
- :meth:`.Application.add_stylesheet` now accepts full URIs.
* Autodoc:
- #564: Add :confval:`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 :rst:dir:`testcleanup` blocks in the doctest extension.
- #594: :confval:`trim_doctest_flags` now also removes ``