Release 1.1 (in development) ============================ * Added Python 3.x support. Release 1.0.2 (in development) ============================== * 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 :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 :confval:`nitpicky` config value. - Added ``latexpdf`` target in quickstart Makefile. * Markup: - The :rst:role:`menuselection` and :rst:role:`guilabel` roles now support ampersand accelerators. - New more compact doc field syntax is now recognized: ``:param type name: description``. - Added ``tab-width`` option to :rst:dir:`literalinclude` directive. - Added ``titlesonly`` option to :rst:dir:`toctree` directive. - Added the ``prepend`` and ``append`` options to the :rst:dir:`literalinclude` directive. - #284: All docinfo metadata is now put into the document metadata, not just the author. - The :rst:role:`ref` role can now also reference tables by caption. - The :rst:dir:`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 :confval:`rst_prolog` config value. - Added :confval:`html_secnumber_suffix` config value to control section numbering format. - Added :confval:`html_compact_lists` config value to control docutils' compact lists feature. - The :confval:`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. - :confval:`html_static_path` can now contain single file entries. - The new universal config value :confval:`exclude_patterns` makes the old :confval:`unused_docs`, :confval:`exclude_trees` and :confval:`exclude_dirnames` obsolete. - Added :confval:`html_output_encoding` config value. - Added the :confval:`latex_docclass` config value and made the "twoside" documentclass option overridable by "oneside". - Added the :confval:`trim_doctest_flags` config value, which is true by default. - Added :confval:`html_show_copyright` config value. - Added :confval:`latex_show_pagerefs` and :confval:`latex_show_urls` config values. - The behavior of :confval:`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 theme. - #322: Improved responsiveness of the search page by loading the search index asynchronously. * Extension API: - Added :event:`html-collect-pages`. - Added :confval:`needs_sphinx` config value and :meth:`~sphinx.application.Sphinx.require_sphinx` application API method. - #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 :confval:`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 :confval:`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. Release 0.6.8 (in development) ============================== * #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. Release 0.6.7 (Jun 05, 2010) ============================ * #440: Remove usage of a Python >= 2.5 API in the ``literalinclude`` directive. * Fix a bug that prevented some references being generated in the LaTeX builder. * #428: Add some missing CSS styles for standard docutils classes. * #432: Fix UnicodeErrors while building LaTeX in translated locale. Release 0.6.6 (May 25, 2010) ============================ * Handle raw nodes in the ``text`` writer. * Fix a problem the Qt help project generated by the ``qthelp`` builder that would lead to no content being displayed in the Qt Assistant. * #393: Fix the usage of Unicode characters in mathematic formulas when using the ``pngmath`` extension. * #404: Make ``\and`` work properly in the author field of the ``latex_documents`` setting. * #409: Make the ``highlight_language`` config value work properly in the LaTeX builder. * #418: Allow relocation of the translation JavaScript files to the system directory on Unix systems. * #414: Fix handling of Windows newlines in files included with the ``literalinclude`` directive. * #377: Fix crash in linkcheck builder. * #387: Fix the display of search results in ``dirhtml`` output. * #376: In autodoc, fix display of parameter defaults containing backslashes. * #370: Fix handling of complex list item labels in LaTeX output. * #374: Make the ``doctest_path`` config value of the doctest extension actually work. * Fix the handling of multiple toctrees when creating the global TOC for the ``toctree()`` template function. * Fix the handling of hidden toctrees when creating the global TOC for the ``toctree()`` template function. * Fix the handling of nested lists in the text writer. * #362: In autodoc, check for the existence of ``__self__`` on function objects before accessing it. * #353: Strip leading and trailing whitespace when extracting search words in the search function. Release 0.6.5 (Mar 01, 2010) ============================ * In autodoc, fix the omission of some module members explicitly documented using documentation comments. * #345: Fix cropping of sidebar scroll bar with ``stickysidebar`` option of the default theme. * #341: Always generate UNIX newlines in the quickstart Makefile. * #338: Fix running with ``-C`` under Windows. * In autodoc, allow customizing the signature of an object where the built-in mechanism fails. * #331: Fix output for enumerated lists with start values in LaTeX. * Make the ``start-after`` and ``end-before`` options to the ``literalinclude`` directive work correctly if not used together. * #321: Fix link generation in the LaTeX builder. Release 0.6.4 (Jan 12, 2010) ============================ * Improve the handling of non-Unicode strings in the configuration. * #316: Catch OSErrors occurring when calling graphviz with arguments it doesn't understand. * Restore compatibility with Pygments >= 1.2. * #295: Fix escaping of hyperref targets in LaTeX output. * #302: Fix links generated by the ``:doc:`` role for LaTeX output. * #286: collect todo nodes after the whole document has been read; this allows placing substitution references in todo items. * #294: do not ignore an explicit ``today`` config value in a LaTeX build. * The ``alt`` text of inheritance diagrams is now much cleaner. * Ignore images in section titles when generating link captions. * #310: support exception messages in the ``testoutput`` blocks of the ``doctest`` extension. * #293: line blocks are styled properly in HTML output. * #285: make the ``locale_dirs`` config value work again. * #303: ``html_context`` values given on the command line via ``-A`` should not override other values given in conf.py. * Fix a bug preventing incremental rebuilds for the ``dirhtml`` builder. * #299: Fix the mangling of quotes in some literal blocks. * #292: Fix path to the search index for the ``dirhtml`` builder. * Fix a Jython compatibility issue: make the dependence on the ``parser`` module optional. * #238: In autodoc, catch all errors that occur on module import, not just ``ImportError``. * Fix the handling of non-data, but non-method descriptors in autodoc. * When copying file times, ignore OSErrors raised by ``os.utime()``. Release 0.6.3 (Sep 03, 2009) ============================ * Properly add C module filenames as dependencies in autodoc. * #253: Ignore graphviz directives without content instead of raising an unhandled exception. * #241: Fix a crash building LaTeX output for documents that contain a todolist directive. * #252: Make it easier to change the build dir in the Makefiles generated by quickstart. * #220: Fix CSS so that displaymath really is centered. * #222: Allow the "Footnotes" header to be translated. * #225: Don't add whitespace in generated HTML after inline tags. * #227: Make ``literalinclude`` work when the document's path name contains non-ASCII characters. * #229: Fix autodoc failures with members that raise errors on ``getattr()``. * #205: When copying files, don't copy full stat info, only modification times. * #232: Support non-ASCII metadata in Qt help builder. * Properly format bullet lists nested in definition lists for LaTeX. * Section titles are now allowed inside ``only`` directives. * #201: Make ``centered`` directive work in LaTeX output. * #206: Refuse to overwrite an existing master document in sphinx-quickstart. * #208: Use MS-sanctioned locale settings, determined by the ``language`` config option, in the HTML help builder. * #210: Fix nesting of HTML tags for displayed math from pngmath extension. * #213: Fix centering of images in LaTeX output. * #211: Fix compatibility with docutils 0.5. Release 0.6.2 (Jun 16, 2009) ============================ * #130: Fix obscure IndexError in doctest extension. * #167: Make glossary sorting case-independent. * #196: Add a warning if an extension module doesn't have a ``setup()`` function. * #158: Allow '..' in template names, and absolute template paths; Jinja 2 by default disables both. * When highlighting Python code, ignore extra indentation before trying to parse it as Python. * #191: Don't escape the tilde in URIs in LaTeX. * Don't consider contents of source comments for the search index. * Set the default encoding to ``utf-8-sig`` to handle files with a UTF-8 BOM correctly. * #178: apply ``add_function_parentheses`` config value to C functions as promised. * #173: Respect the docutils ``title`` directive. * #172: The ``obj`` role now links to modules as promised. * #19: Tables now can have a "longtable" class, in order to get correctly broken into pages in LaTeX output. * Look for Sphinx message catalogs in the system default path before trying ``sphinx/locale``. * Fix the search for methods via "classname.methodname". * #155: Fix Python 2.4 compatibility: exceptions are old-style classes there. * #150: Fix display of the "sphinxdoc" theme on Internet Explorer versions 6 and 7. * #146: Don't fail to generate LaTeX when the user has an active ``.docutils`` configuration. * #29: Don't generate visible "-{-}" in option lists in LaTeX. * Fix cross-reference roles when put into substitutions. * Don't put image "alt" text into table-of-contents entries. * In the LaTeX writer, do not raise an exception on too many section levels, just use the "subparagraph" level for all of them. * #145: Fix autodoc problem with automatic members that refuse to be getattr()'d from their parent. * If specific filenames to build are given on the command line, check that they are within the source directory. * Fix autodoc crash for objects without a ``__name__``. * Fix intersphinx for installations without urllib2.HTTPSHandler. * #134: Fix pending_xref leftover nodes when using the todolist directive from the todo extension. Release 0.6.1 (Mar 26, 2009) ============================ * #135: Fix problems with LaTeX output and the graphviz extension. * #132: Include the autosummary "module" template in the distribution. Release 0.6 (Mar 24, 2009) ========================== New features added ------------------ * Incompatible changes: - Templating now requires the Jinja2 library, which is an enhanced version of the old Jinja1 engine. Since the syntax and semantic is largely the same, very few fixes should be necessary in custom templates. - The "document" div tag has been moved out of the ``layout.html`` template's "document" block, because the closing tag was already outside. If you overwrite this block, you need to remove your "document" div tag as well. - The ``autodoc_skip_member`` event now also gets to decide whether to skip members whose name starts with underscores. Previously, these members were always automatically skipped. Therefore, if you handle this event, add something like this to your event handler to restore the old behavior:: if name.startswith('_'): return True * Theming support, see the new section in the documentation. * Markup: - Due to popular demand, added a ``:doc:`` role which directly links to another document without the need of creating a label to which a ``:ref:`` could link to. - #4: Added a ``:download:`` role that marks a non-document file for inclusion into the HTML output and links to it. - Added an ``only`` directive that can selectively include text based on enabled "tags". Tags can be given on the command line. Also, the current builder output format (e.g. "html" or "latex") is always a defined tag. - #10: Added HTML section numbers, enabled by giving a ``:numbered:`` flag to the ``toctree`` directive. - #114: Added an ``abbr`` role to markup abbreviations and acronyms. - The ``literalinclude`` directive now supports several more options, to include only parts of a file. - The ``toctree`` directive now supports a ``:hidden:`` flag, which will prevent links from being generated in place of the directive -- this allows you to define your document structure, but place the links yourself. - #123: The ``glossary`` directive now supports a ``:sorted:`` flag that sorts glossary entries alphabetically. - Paths to images, literal include files and download files can now be absolute (like ``/images/foo.png``). They are treated as relative to the top source directory. - #52: There is now a ``hlist`` directive, creating a compact list by placing distributing items into multiple columns. - #77: If a description environment with info field list only contains one ``:param:`` entry, no bullet list is generated. - #6: Don't generate redundant ``