.. -*- coding: utf-8 -*-

==================
 Docutils History
==================

:Author: David Goodger; open to all Docutils developers
:Contact: docutils-develop@lists.sourceforge.net
:Date: $Date: 2019-07-24 11:22:01 +0200 (Mi, 24. Jul 2019) $
:Revision: $Revision: 8295 $
:Web site: http://docutils.sourceforge.net/
:Copyright: This document has been placed in the public domain.

.. contents::

Changes Since 0.15
==================

branches/rel-0.15
-----------------

* docutils/nodes.py

  - Fix 366: circular import when docutils nodes is iported before docutils.utils
    by putting ``import docutils.utils`` into astext.

  - Fix 366: as it is done in trunk Commit [r8294], moving the function.

Release 0.15 (2019-07-20)
=========================

* General

  - Dropped support for Python 2.4, 2.5, 3.1, and 3.2.
  - Infrastructure automation.

* docs/ref/rst/restructuredtext.txt:

  - Document rST syntax change: Tokens like ``:this:example:`` are now valid
    field list names (instead of ordinary text).

* docutils/io.py

  - Fix [ 348 ] Since Python 3.4, the 'U' universal newlines mode has been
    deprecated (thanks to hugovk).

*  docutils/languages/la.py
   docutils/parsers/rst/languages/la.py:

  - Apply [ 153 ] Korean mappings by Thomas Sungjin Kang.

* docutils/nodes.py

  - Fix [ 251 ] system_message.copy() TypeError.
  - Element.copy() also copies `document`, `line`, and `source` attributes.

* docutils/parsers/rst/__init__.py:

  - Apply [ 152 ] reset `default role` at end of document.

* docutils/parsers/rst/states.py:

  - Allow embedded colons in field list field names.
  - Add `rawsource` attribute for text of inline elements.

* docutils/parsers/rst/directives/html.py:

  - Fix bug #281: Remove escaping backslashes in meta directive content.

* docutils/parsers/rst/directives/misc.py:

  - Don't convert tabs to spaces, if `tab_width` is negative in
    `include` directive with `code` option.

* docutils/parsers/rst/directives/tables.py:

  - Apply patch #121: Add "width" option for the table directives.

* docutils/transforms/frontmatter.py:

  - Add field name as class argument to generic docinfo fields unconditionally.

* docutils/transforms/references.py:

  - Fix bug #331: fixed the "trim" options of the "unicode" directive.

* docutils/utils/__init__.py:

  - Deprecate `unique_combinations` (obsoleted by `itertools.combinations`).

* docutils/utils/smartquotes.py:

  - Fix bug #332: use open quote after whitespace, ZWSP, and ZWNJ.

* docutils/writers/html5_polyglot/

  - automatically add HTML5-compatible meta tags for docinfo items
    "authors", "date", and "copyright".

* docutils/writers/_html_base.py

  - Fix bug #358: Non-breaking space removed from fixed-width literal.

* docutils/writers/latex2e/__init__.py:

  - Fix bug #323: spurious ``\phantomsection`` and whitespace in
    ``parts['title']``.
  - Fix bug #324: Invalid LaTeX for table with empty multicolumn cell.
  - Fixes to literal block handling.


Release 0.14 (2017-08-03)
=========================

* docs/ref/docutils.dtd:

  - Enable validation of Docutils XML documents against the DTD:

    Use attribute type NMTOKEN instead of REFID for the `refid` attribute
    and NMTOKENS for `backrefs`: REFID refers to an ID type instance,
    however, the `ids` attribute cannot use the ID type because `XML only
    allows one ID per Element Type`__ and doesn't support a multiple-ID
    "IDS" attribute type.

  __ https://www.w3.org/TR/REC-xml/#sec-attribute-types

* docs/ref/rst/restructuredtext.txt:

  - Added documentation for escaped whitespace in URI contexts.
  - Clarify use of Unicode character categories.

* docutils/parsers/rst/states.py:

  - Added functionality: escaped whitespace in URI contexts.
  - Consistent handling of all whitespace characters in inline markup
    recognition. Fixes [ 307 ] and [ 3402314 ] (now [ 173 ]).

* docutils/parsers/rst/directives/images.py:

  - Added support for escaped whitespace in URI contexts.

* docutils/parsers/rst/directives/tables.py:

  - Rework patch [ 120 ] (revert change to ``Table.get_column_widths()``
    that led to problems in an application with a custom table directive).

* docutils/transforms/frontmatter.py:

  - Fix [ 320 ] Russian docinfo fields not recognized.

* docutils/transforms/references.py:

  - Don't add a second ID to problematic references.

* docutils/transforms/universal.py:

  Fix SmartQuotes: warn only once if language is unsupported,
  keep "rawsource" when "educating" quotes.

* docutils/utils/__init__.py:

  - Added ``split_escaped_whitespace`` function, support for escaped
    whitespace in URI contexts.

* docutils/utils/error_reporting.py:

  - Fix [ 321 ] Import block might cause name error.

* docutils/utils/smartquotes.py:

  - Update quote definitions for languages et, fi, fr, ro, sv, tr, uk.
  - New quote definitions for hr, hsb, hu, lv, sh, sl, sr.
  - Fix [ 313 ] Differentiate apostrophe from closing single quote
    (if possible).
  - Fix [ 317 ] Extra space inserted with French smartquotes.
  - Add command line interface for stand-alone use (requires 2.7).

* docutils/writers/_html_base.py:

  - Provide default title in metadata (required by HTML5).
  - Fix [ 312 ] HTML writer generates invalid HTML if the table has two tags.
  - Fix [ 319 ] The MathJax CDN shut down on April 30, 2017. For security
    reasons, we don't use a third party public installation as default but
    warn if math-output_ is set to MathJax without specifying a URL.

* docutils/writers/html4css1/__init__.py:

  - Apply [ 125 ] HTML writer: respect automatic table column sizing.

* docutils/writers/latex2e/__init__.py:

  - Handle class arguments for block-level elements by wrapping them
    in a "DUclass" environment. This replaces the special handling for
    "epigraph" and "topic" elements.

* docutils/writers/manpage.py:

  - Apply [ 141 ] Handling inline in manpage writer.

* docutils/writers/odf_odt/__init__.py:

  - Command setting ``language`` now sets the default language
    of the generated ODF document.
  - The use of image directive options :width: (%), :scale:, etc now
    set the width/height/size of images in the generated ODF
    documents.
  - The heading/title of admonitions now reflects the language
    specified by the ``language`` setting.
  - Fixed [ 306 ] only first of multiple "image" directives with the same URL
    shown in output.
  - Fixed [ 282 ] python3: AttributeError.

* tools/rst2html4.py: New front-end.

* tools/dev/generate_punctuation_chars.py: New skript
  to test and update utils.punctuation_chars.


Release 0.13.1 (2016-12-09)
===========================

* docutils/languages/fa.py
  docutils/parsers/rst/languages/fa.py
  docutils/languages/la.py
  docutils/parsers/rst/languages/la.py:

  - Apply [ 133 ] Persian mappings by Shahin Azad.
  - Apply [ 135 ] Language modules for Latvian by Alexander Smishlajev

* docutils/nodes.py

  - Fix [ 253 ] Attribute key without value not allowed in XML.

* docutils/parsers/

  - Apply [ 103 ] Recognize inline markups without word boundaries.
  - Enable escaping in embedded URIs and aliases (fixes [ 284 ]).

* docutils/parsers/rst/__init__.py

  - Fix [ 233 ] Change the base URL for the :rfc: role.

* docutils/parsers/rst/directives/tables.py

  - Apply [ 120 ] tables accept option widths: list of relative widths, 'auto'
    or 'grid'.

  - Implement feature request [ 48 ]
    Add :align: option to the table directives.
    Thanks to Takeshi KOMIYA for the patch.

* docutils/parsers/rst/roles.py

  - Fix [ 295 ] Class argument for custom role inheriting from math.

* docutils/parsers/rst/tableparser.py

  - Really fix [ 159 ] Spurious table column alignment errors.

* docutils/transforms/frontmatter.py

  - Add name of generic bibliographic fields as a "classes" attribute value
    (after conversion to a valid identifier form).

* docutils/utils/error_reporting.py

  - Fix [ 130 ] support streams expectiong byte-strings in ErrorOutput.

* docutils/utils/math/math2html.py

  - Add ``\colon`` macro, fix spacing around colons. Fixes [ 246 ].
  - New upstream version (additional macros, piecewise integrals and sums).

* docutils/writers/_html_base.py

  - New auxiliary module for definitions common to all HTML writers.

* docutils/writers/html5_polyglot/

  - New HTML writer generating clean, polyglot_ markup conforming to
    `HTML 5`_.

    The CSS stylesheets ``minimal.css`` and ``plain.css`` contain required
    and recommended layout rules.

* docutils/writers/html4css1/__init__.py

  - Add "docutils" to class values for "container" object to address [ 267 ].
  - Apply patch [ 119 ] by Anatoly Techtonik: use absolute paths for
    ``default_stylesheet_path`` and ``default_template_path``.
  - Fix [ 266 ] creating labels/class values in description list items.
  - Do not use <sup> and <sub> tags inside <pre> (parsed-literal blocks).
  - Fix footnotes with content that does not start with a paragraph.
  - Use https in default MathJax URL (report Alan G Isaac).
  - Outsourcing of common code to _html_base.py.

* docutils/writers/latex2e/__init__.py

  - Fix [ 262 ] Use ``\linewidth`` instead of ``\textwidth`` for figures,
    admonitions and docinfo.

  - Use absolute path for ``default_template_path``.

  - Removed deprecated options ``--use-latex-footnotes`` and
    ``--figure-footnotes``.

  - Cleaner LaTeX code for enumerations and literal blocks.

  - Use "hyperref" package together with "bookmark" (improved hyperlinking
    by the same author).

  - Fix [ 286 ] Empty column title cause invalid latex file.

  - Fix [ 224 ] Fix rowspan support for tables.

  - Let LaTeX determine the column widths in tables with "colwidths-auto".
    Not suited for multi-paragraph cells!

* docutils/writers/odf_odt/__init__.py

  - remove decode.encode of filename stored in zip.

* docutils/writers/xetex/__init__.py

  - LuaLaTex compatibility: do not load "xunicode".

* tools/

  - New front-end ``rst2html5.py``.

* tox.ini

  - Test py26, py27, py33 and py34.

    To use, install the ``tox`` package via pip or easy_install and use
    tox from the project root directory.

.. _polyglot: http://www.w3.org/TR/html-polyglot/
.. _HTML 5: http://www.w3.org/TR/html5/
.. _XHTML 1.0: http://www.w3.org/TR/xhtml1/


Release 0.12 (2014-07-06)
=========================

* docs/ref/rst/directives.txt

  - Update "math" and "csv-table" descriptions.

* docutils/parsers/rst/directives/images.py

  - Fix [ 258 ] figwidth="image" generates unitless width value.

* docutils/parsers/rst/states.py

  - Improve error report when a non-ASCII character is specified as
    delimiter, quote or escape character under Python 2.
    Fixes [ 249 ] and [ 250 ].

* docutils/writers/html4css1/__init__.py

  - Don't add newline after inline math.
    Thanks to Yury G. Kudryashov for the patch.

* docutils/writers/latex2e/__init__.py

  - Fix [ 239 ] Latex writer glues paragraphs with figure floats.
  - Apply [ 116 ] by Kirill Smelkov. Don't hardcode \large for subtitle.

* docutils/writers/odf_odt/__init__.py

  - Apply patch by Jakub Wilk to fix bug [ 100 ].

* test/test_error_reporting.py

  - Fix [ 223 ] by removing redundant tests we do not have control over.

* test/test_nodes.py

  - Apply [ 115 ] respect fixed 2to3 string literal conversion behavior.

Release 0.11 (2013-07-22)
=========================

* General

  - Apply [ 2714873 ] Fix for the overwritting of document attributes.
  - Support embedded aliases within hyperlink references.
  - Fix [ 228 ] try local import of docutils components (reader, writer, parser,
    language module) before global search.

* docutils/nodes.py

  - Fix [ 3601607 ] node.__repr__() must return `str` instance.

* docutils/parsers/rst/directives/__init__.py

  - Fix [ 3606028 ] ``assert`` is skipped with ``python -O``.

* docutils/parsers/rst/directives/images.py

  - Apply [ 3599485 ] node source/line information for sphinx translation.

* docutils/parsers/rst/directives/tables.py

  - Fix [ 210 ] Python 3.3 checks CVS syntax only if "strict" is True.

* docutils/parsers/rst/states.py

  - Fix [ 157 ] Line block parsing doesn't like system message.
  - Always import our local copy of roman.py (report Larry Hastings).

* docutils/transforms/references.py

  - Fix [ 3607029 ] traceback with embedded alias pointing to missing target.

* docutils/utils/__init__.py

  - Fix [ 3596884 ] exception importing ``docutils.io``.

* docutils/writers/html4css1/__init__.py

  - Fix [ 3600051 ] for tables in a list, table cells are not compacted.
  - New setting `stylesheet_dirs`: Comma-separated list of directories
    where stylesheets are found. Used by `stylesheet_path` when expanding
    relative path arguments.
  - New default for math-output_: ``HTML math.css``.
  - Avoid repeated class declarations in html4css1 writer
    (modified version of patch [ 104 ]).

.. _math-output: docs/user/config.html#math-output

* docutils/writers/latex2e/__init__.py

  - Drop the simple algorithm replacing straight double quotes with
    English typographic ones.
    Activate the SmartQuotes_ transform if you want this feature.
  - Fix literal use of babel shorthands (straight quote, tilde, ...).
  - Fix [ 3603246 ] Bug in option "--graphicx-option=auto".
  - New setting `stylesheet_dirs`.

.. _SmartQuotes: docs/user/config.html#smart-quotes

* docutils/writers/manpage.py

  - Fix [3607063] handle lines starting with a period.
  - Fix option separating comma was bold (thanks to Bill Morris).

Release 0.10 (2012-12-16)
=========================

* General

  - Dropped support for Python 2.3.
  - ``docutils/math``, ``docutils/error_reporting.py``, and
    ``docutils/urischemes.py`` moved to the utils package.
  - Fix [3541369] Relative __import__ also with Python 3.3.
  - Fix [3559988] and [3560841] __import__ local writer, reader, languages
    and parsers for Python 2.7 up.
  - Fix import of PIL.Image.
  - Change default of "syntax highlight" option to "long",
    basic syntax highlight styles for LaTeX and HTML.

* docutils/io.py

  - FileInput/FileOutput: no system-exit on IOError.  The `handle_io_errors`
    option is ignored and will be removed in a future release.
  - Fix Py3k error writing to stdout with encoding differing from default.
  - Fix opening binary files under Py3k (thanks to Dominic Fitzpatrick).

* docutils/parsers/rst/directives/misc.py

  - Fix [ 3546533 ] Unicode error with `date` directive.

* docutils/transforms/universal.py

  - SmartQuotes transform for typographic quotes and dashes.

* docutils/utils/__init__.py

  - normalize_language_tag() now returns `BCP 47`_ conformant tags
    with subtags separated by ``-``.

* docutils/writers/html4css1/__init__.py

  - Use ``<code>`` tag for inline "code",
    do not drop nested inline nodes (syntax highlight tokens).
  - Customizable MathJax URL (based on patch by Dmitry Shachnev).
  - No line break after opening inline math tag.

* docutils/writers/manpage.py

  - Apply [ 3527401 ] addmonition's don't preserve indentation
  - Apply [ 3527397 ] Add indentation to literal blocks in manpage writer.

* docutils/writers/xetex/__init__.py

  - Apply [ 3555160 ] ensure order of "otherlanguages".
  - Fix section numbering by LaTeX.

* docutils/writers/s5_html/__init__.py

  - Fix [ 3556388 ] Mathjax does not work with rst2s5.

* docutils/writers/s5_html/docutils_xml.py

  - Fix [ 3552403 ] Prevent broken PyXML replacing stdlibs xml module.
  - Fix/improve output with ``--indent`` option.

* setup.py

  - Tag ``math.css`` stylesheet as data file (patch by Dmitry Shachnev).

* tools/test/test_buildhtml.py

  - Fix [ 3521167 ] allow running in any directory.
  - Fix [ 3521168 ] allow running with Python 3.


Release 0.9.1 (2012-06-17)
==========================

* setup.py

  - Fix [ 3527842 ]. Under Python 3, converted tests and tools were
    installed in the PYTHONPATH. Converted tests are now
    stored in ``test3/``, tools no longer need conversion.

    If you installed one of Docutils versions 0.7 ... 0.9 with
    ``setup.py install`` under Python 3, remove the spurious
    ``test/`` and ``tools/`` directories in the site library root.

* test/

  - Make tests independent from the location of the ``test/`` directory.
  - Use converted sources (from the ``build/`` directory) for tests under
    Python 3.

* tools/

  - Make tools compatible with both, Python 2 and 3 without 2to3-conversion.

* docutils/io.py

  - Fix writing binary data to sys.stdout under Python 3 (allows
    ``rst2odt.py`` to be used with output redirection).

* docutils/parsers/rst/directives/misc.py

  - Fix [ 3525847 ]. Catch and report UnicodeEncodeError with
    ``locale == C`` and 8-bit char in path argument of `include` directive.

* test/alltests.py

  - class `Tee`: catch UnicodeError when writing to "ascii" stream or
    file under Python 3.

Release 0.9 (2012-05-02)
========================

* General:

  - New reStructuredText "code" role and directive and "code" option
    of the "include" directive with syntax highlighting by Pygments_.
  - Fix parse_option_marker for option arguments containing ``=``.
  - Fix [ 2993756 ]: import Python Imaging Library's Image module
    via ``import PIL`` as starting with PIL 1.2,
    "PIL lives in the PIL namespace only" (announcement__).

.. _Pygments: http://pygments.org/
__ http://mail.python.org/pipermail/image-sig/2011-January/006650.html

* setup.py

  - Fix [ 2971827 ] and [ 3442827 ]
    extras/roman.py moved to docutils/utils/roman.py

* docutils/frontend.py

  - Fix [ 3481980 ] Use os.getcwdu() in make_paths_absolute().

* docutils/io.py

  - Fix [ 3395948 ] (Work around encoding problems in Py3k).
  - `mode` argument for FileOutput avoids code replication in
    BinaryFileOutput.
  - New exceptions InputError and OutputError for IO errors in
    FileInput/FileOutput.

* docutils/core.py:

  - No "hard" system exit on file IO errors: catch and report them in
    `Publisher.reportException` instead. Allows handling by a calling
    application if the configuration setting `traceback` is True.

* docutils/utils.py -> docutils/utils/__init__.py

  - docutils.utils is now a package (providing a place for sub-modules)

  .. note:: docutils/math, docutils/error_reporting.py, and
     docutils/urischemes.py will move to the utils package in the next
     release, too. See RELEASE-NOTES__

     __ RELEASE-NOTES.html

  - DependencyList uses io.FileOutput and 'utf8' encoding to prevent
    errors recording non-ASCII filenames (fixes [ 3434355 ]).

  - Fix relative_path() with source=None and `unicode` target.

* docutils/parsers/rst/states.py

  - Fix [ 3402314 ] allow non-ASCII whitespace, punctuation
    characters and "international" quotes around inline markup.
  - Use `field_marker` pattern to look for start of a
    directive option block (fixes [ 3484857 ]).

* docutils/parsers/rst/tableparser.py

  - Fix [ 2926161 ] for simple tables.
    (Combining chars in grid tables still contribute to cell width.)

* docutils/writers/latex2e/__init__.py

  - Support the `abbreviation` and `acronym` standard roles.
  - Record only files required to generate the LaTeX source as dependencies.
  - Fix handling of missing stylesheets.
  - Use ``\setcounter{secnumdepth}{0}`` instead of ``*``-versions
    when suppressing LaTeX section numbering.
  - Use ``\DUtitle`` for unsupported section levels
  - Apply [ 3512791 ] do not compare string literals with "is"

* docutils/writers/xetex/__init__.py

  - Avoid code duplication with latex2e writer (solves [ 3512728 ]).

* docutils/writers/html4css1/__init__.py

  - Change default for `math-output` setting to MathJax.
  - Fix handling of missing stylesheets.

* docutils/writers/docutils_xml.py

  - Use the visitor pattern with default_visit()/default_depart() methods
    instead of minidom to facilitate special handling of selected nodes.
  - Support raw XML (inserted as-is inside a <raw></raw> node).

* docutils/writers/manpage.py

  - Do not emit comment line with trailing blank. Problematic for VCS.

Release 0.8.1 (2011-08-30)
==========================

* General:

  - Fix [ 3364658 ] (Change last file with Apache license to BSD-2-Clause)
    and [ 3395920 ] (correct copyright info for rst.el).

* test/

  -  Apply [ 3303733 ] and [ 3365041 ] to fix tests under Py3k.

* docutils/writers/latex2e/__init__.py

  - Clean up Babel language setting. Restores Sphinx compatibility.

Release 0.8 (2011-07-07)
========================

* General:

  - Handle language codes according to `BCP 47`_.
  - If the specified language is not supported by Docutils,
    warn and fall back to English.
  - Math support: reStructuredText "math" role and directive,
    ``math`` and ``math_block`` doctree elements.
  - Decode command line arguments with the locale's preferred encoding
    (to allow, e.g., ``--title=Dornröschen``).
  - Orphaned "python" reader and "newlatex2e" writer moved to the sandbox.
  - New sub-module `error_reporting`: handle encoding/decoding errors
    when reporting exceptions.
  - Some additions to the Docutils core are released under the 2-Clause BSD
    license, see COPYING_ for details.

  .. _BCP 47: http://www.rfc-editor.org/rfc/bcp/bcp47.txt
  .. _COPYING: COPYING.html

* reStructuredText:

  - Most directives now support a "name" option that attaches a
    reference name.

  - Directive content may start on the first line also when the directive
    type accepts options.

* docs/dev/policies.txt:

  - Recommend the 2-Clause BSD license
    (http://www.spdx.org/licenses/BSD-2-Clause)
    for code that is kept under the author's copyright.

* tools/buildhtml.py:

  - Fix ``--local`` switch.

* Fix [ 3018371 ] Added Lithuanian mappings by Dalius Dobravolskas.

* docutils/writers/html4css1/__init__.py

  - Set "lang" argument for objects with class argument
    "language-<language tag>".
  - New setting "math-output" with support for HTML, MathML, and LaTeX.

* docutils/writers/latex2e/__init__.py

  - Fix [ 3043986 ] AttributeError using :local: with table of content.
  - Place title data in the document preamble.
  - Load `babel` package only if required.
  - Update list of supported languages.
  - New config setting "hyperref-options".
    No hard-coded "unicode" hyperref option (clash with xetex).
  - Set language for custom roles, paragraphs, block-quotes, and
    line-quotes with class argument "language-<language tag>".
  - Fix [ 3095603 ] wrong quotes output for russian and other languages.
  - Convert image URI to a local file path.
  - Apply [ 3148141 ] fix multicolumn support when a colspanning cell
    has more than one paragraph (Wolfgang Scherer).
  - \leavevmode before longtable only when needed (prevents spurious vspace)
  - do not advance table counter for tables without caption

* docutils/writers/xetex/__init__.py

  - New writer generating LaTeX code for compiling with ``xelatex``.

    A separate writer (inheriting from latex2e) instead of a ``--xetex``
    option allows separate config options for XeTeX vs. LaTeX2e.

* docutils/writers/manpage.py

  - Fix: BUG#3219183 - vertical space in definition lists containing markup.
  - Fix: vertical space cleaning for option group ``.``.

* tools/editors/emacs/rst.el:

  - Fix [ 3001100 ] does not handle spaces in filenames
    (thanks to Jakub Wilk)

* docutils/utils.py:

  - strip whitespace from stylesheet arguments
  - exclude combining chars from column_width()
    (partial fix for [ 2926161 ])

* docutils/parsers/rst/directives/misc.py:

  - Fix [ 1830389 ] Replace not breaking on getting system_messages from
    nested_parse

* docutils/io.py:

  - Do not close() sys.stdin, sys.stdout, or sys.stderr. Prevents
    ``Exception ValueError: 'I/O operation on closed file.'`` with Python 3.

Release 0.7 (2010-07-07)
========================

* General:

  - Fix [ 2881769 ] setup configuration.
  - Fix [ 2788716 ] reporting problems in included files.

* docutils/io.py

  - FileInput opens files as text files with universal newline support
    (mode "rU", configurable with the new optional argument "mode").

* docutils/nodes.py

  - Fix [ 2975987 ] repr(Text) failed with long string (Jeffrey C. Jacobs).

* docutils/utils.py

  - Fix [ 2923723 ] let decode_path() tolerate path == None

* docutils/writers/html4css1/__init__.py

  - Support SVG and SWF images (thanks to Stefan Rank).
  - Generate valid XHTML for centered images with targets.
    Use CSS classes instead of "align" tags for image alignment.

* docutils/writers/latex2e/__init__.py

  - Use `transforms.writer_aux.Admonitions` to "normalize" special
    admonitions.
  - Use the ``\url`` command for URLs (breaks long URLs instead of
    writing into the margin).
  - Preserve runs of spaces in `inline literals`__.
  - Deprecate ``figure_footnotes`` setting.
  - Rename ``use_latex_footnotes`` setting to `docutils_footnotes`__.
  - New ``latex_preamble`` setting.
  - Use PDF standard fonts (Times/Helvetica/Courier) as default.
  - Fix hyperlink targets (labels) for images, figures, and tables.
  - Apply [ 2961988 ] Load babel after inputenc and fontenc.
  - Apply [ 2961991 ] Call hyperref with unicode option.
  - Drop the special `output_encoding`__ default ("latin-1").
    The Docutils wide default (usually "UTF-8") is used instead.
  - Render inline markup in document title and subtitle.
  - Fix numbering depth with LaTeX section numbering.
  - Update Unicode -> LaTeX translations.
  - Fix bug with topic directive (thanks to Alan G Isaac for reporting).

__ docs/ref/restructuredtext.html#inline-literals
__ docs/user/config.html#docutils-footnotes
__ docs/user/config.html#output_encoding

* docutils/writers/manpage.py

  - Fix: supported attribute (thanks to peter2108).
  - Remove trailing blanks in code (keep in sync with mercurial version).
  - Titles level 1, that is ``.SH``, always uppercase.
  - Apply patch from mg: literal text should be bold in man-pages.

* docutils/nodes.py

  - Fix: encoding ``'ascii'`` must be lowercase to prevent problems for
    turkish locale.

* setup.py:

  - Python 3 support: copy test/ and tools/ to the build-dir
    and convert Python sources with 2to3.


Release 0.6 (2009-10-11)
========================

* General:

  - Docutils is now compatible with Python versions from 2.3 up to 2.6
    and convertible to 3.1 code.

    + Node.__nonzero__ returns True instead of 1.
    + use os.walk instead os.path.walk.
    + minimize "types" module where possible.
    + Backwards-compatible changes to remove python2.6 -3 deprecation warnings
    + Text nodes now subclass unicode rather than UserString
      (which is gone in python 3.0).
    + 3.0 compatibility module docutils._compat

    + Drop 2.2 compatibility workarounds.
    + Drop extras/optparse.py and extras/textwrap.py
      (stdlib modules since 2.3).

  - OpenOffice export: ODT writer moved from sandbox to Doctutils core.
  - Unix man page export: manpage writer moved from sandbox to Doctutils
    core.

  - Apply [ 1719345 ] Galician translation
  - Apply [ 1905741 ] Polish translation
  - Apply [ 1878977 ] make_id(): deaccent characters.
  - Apply [ 2029251 ] return nonzero when tests fail.
  - Fix [ 1692788 ] allow UTF-8 in style sheets.
  - Fix [ 2781629 ] support non-ASCII chars in file names.
  - Apply [ 2845002 ] let ``--no-raw`` disable raw *roles* too.
  - Fix [ 2831643 ] by renaming DirectiveError.message to DirectiveError.msg
  - Fix [ 2821266 ] --strict option works now like --halt=info.
  - Fix [ 2788716 ] DirectiveError now correctly reports source and line.
  - Fix [ 1627229 ] hyperlink references in substitutions.

  - The "newlatex" writer is orphaned.

* reStructuredText:

  - Documented Unicode characters allowed as inline markup openers,
    closers, and delimiters.
  - Allow units for all length specifications.
  - Allow percent sign in "scale" argument of "figure" and "image" directives.
  - Bugfix: The "figalign" argument of a figure now works as intended
    (aligning the figure, not its contents).
  - Align images with class "align-[right|center|left]"
    (allows setting the alignment of an image in a figure).

* docutils/nodes.py:

  - Added ``Element.__contains__`` method, for the in-operator.

* docutils/parsers/rst/states.py:

  - Apply [ 1994493 ] Patch to support all kinds of quotes in inline markup.
  - Added support for Unicode inline markup delimiters "‐ ‑ ‒ – —" and
    " " (non-breaking space), and "¡ ¿" openers.

* docutils/parsers/directives/misc.py:

  - Added ``start-line`` and ``end-line`` options to "include"
    directive to select a range of lines.
  - Hard tabs in literal inclusions are replaced by spaces. This is
    configurable via the new ``tab-width`` option of the "include" directive
    (a negative tab-width prevents tab expansion).

* docutils/utils.py:

  - Add ``get_stylesheet_list`` function.
  - Apply [ 2834836 ] print info at halt

* docutils/transforms/universal.py:

  - Raise default priority of StripClasses to exclude stripped classes from
    the ToC.

* docutils/writers/html4css1/__init__.py:

  - ``--stylesheet`` and ``--stylesheet-path`` options support a comma
    separated list of stylesheets.
  - Address [ 1938891 ] Inline literal text creates "pre" span only when
    needed to prevent inter-word line wraps.
  - Use `translate` method instead of repeated `replace` calls.
  - Fix [ 1757105 ] New ``table-style`` option. Added to standard table
    classes to allow CSS styling that does not interfere with other
    table-using constructs (field lists, citations, ...).

* docutils/writers/newlatex2e/__init__.py:

  - Apply [ 1612821 ] Double quotes in literal text in Italian/German

* docutils/writers/latex2e/__init__.py (see also
  `<docs/user/docutils-05-compat.sty.html>`__) :

  - Add ``--embed-stylesheet`` option.
  - Apply [ 1474017 ] image vertical alignment is reversed.
  - Apply [ 2051599 ] multi-page tables in latex writer (from pabigot).
  - Change: has_key for dictionaries (not Nodes) to in-operator.
  - Merge adjacent citations into one latex cite command.
  - Failsave implementation of custom roles. LaTeX compilation now ignores
    unknown classes instead of aborting with an error.
  - Support custom roles based on standard roles.
  - LaTeX packages can be used as ``--stylesheet`` arguments without
    restriction. (A style sheet is now referenced with the ``\usepackage``
    command, if it ends with ``.sty`` or has no extension.)
  - Add ``bp`` to lenghts without unit (prevents LaTex errors).
  - Correctly write length unit ``pt`` as ``bp`` in LaTeX.
  - Do not convert ``px`` to ``pt`` (``px`` is supported by pdfTeX since
    2005-02-04 as a configurable length unit).
  - Do not use fontenc, nor the obsolete 'ae' and 'aeguill' packages
    if font-encoding is set to ''. LaTeX defaults to OT1 then.
  - Set sub- and superscript role argument in text mode not as math.
    Use a custom role based on sub-/superscript if you want italic shape.
  - Shorter preamble and less dependencies: Load packages and define macros
    only if required in the document.
  - Use the name prefix ``DU`` for all Docutils specific LaTeX macros.
  - New custom environments and commands with optional "classes" argument.
  - Simpler LaTeX encoding, e.g. "\%" instead of "{\%}".
  - Better conformance to Docutils specifications with ``--use-latex-toc``.
    Support for LaTeX generated ToC also with unnumbered sections.
  - If 'sectnum_xform' is False, the 'sectnum' directive triggers
    section numbering by LaTeX.
  - Use default font in admonitions and sidebar.
  - Align of image in a figure defaults to 'center'.
  - Bugfix: Newlines around targets and references prevent run-together
    paragraphs.
  - Fix internal hyperlinks.
  - Use class defaults for page margins ('typearea' now optional).
  - Float placement made configurable, default changed to "here definitely".
  - Typeset generic topic as "quote block with title".
  - Use template (file and configuration option).
  - In the default template, load cmap.sty (fix text extraction in PDF) and
    fixltx2e.sty (LaTeX patches, \textsubscript).
  - Render doctest blocks as literal blocks (fixes [ 1586058 ]).
  - Use `translate` instead of repeated `replace` calls for text encoding.
  - Hyperlinked footnotes and support for symbol footnotes and
    ``--footnote-references=brackets`` with ``--use-latex-footnotes``.
  - Complete pairs of binary options
    (``--figure-footnotes, --figure-citations, --link-stylesheet``,
    ``--use-docutils-toc, --use-docutils-docinfo, --topic-abstract``)
  - New defaults:
    - font-encoding: "T1" (formerly implicitely set by 'ae').
    - use-latex-toc: true (ToC with page numbers).
    - use-latex-footnotes: true (no mixup with figures).

* docutils/writers/manpage.py

  - Do not print version at document end, this is done by the viewer.
  - Do not print date at document end, this is done by the viewer.
  - Fix storage of docinfo fields for none standard fields.

* docutils/tools/rst2man.py

Release 0.5 (2008-06-25)
========================

* docutils/languages/he.py: Added to project: Hebrew mappings by
  Meir Kriheli.

* docutils/parsers/rst/languages/he.py: Added to project: Hebrew
  mappings by Meir Kriheli.

* docutils/frontend.py:

  - Configuration files are now assumed and required to be
