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

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

:Author: David Goodger; open to all Docutils developers
:Contact: docutils-develop@lists.sourceforge.net
:Date: $Date: 2021-04-17 14:41:26 +0200 (Sa, 17. Apr 2021) $
:Revision: $Revision: 8705 $
:Web site: https://docutils.sourceforge.io/
:Copyright: This document has been placed in the public domain.

.. contents::

Release 0.17.1 (2021-04-16)
===========================


* docutils/utils/math/latex2mathml.py

  - Fix bug #406 (MathML translation of ``\mathbf``).

* docutils/writers/latex2e/__init__.py:

  - Open "docutils.sty" with encoding set to "utf8".
    Fixes bug #414: error with Py3k when locale encoding is "ascii".

* docutils/parsers/*.py, docutils/transforms/*.py

  - Provide fallbacks for parser config settings
    to facilitate programmatic use.

* docutils/writers/manpage.py

  - Apply patch #160: move macro defs above ``.TH``
    (thanks Willie and sorry for the delay).

Release 0.17 (2021-04-03)
=========================

* General

  - Installing with ``setup.py`` now requires ``setuptools``.
    Alternatively, install with `pip`_ (or "manually").
  - Use importlib.import_module() to programmatically import modules.
  - Fix bug #385: Import of language modules.

  .. _pip: https://pypi.org/project/pip/

* docutils/MANIFEST.in

  - Exclude test outputs.

* docutils/__init__.py

  - VersionInfo: ValueError for invalid values, fix comparison to tuples.

* docutils/languages/
  docutils/parsers/rst/languages/

  - Apply patch # 177 Arabic mappings by Shahin.
  - Apply patch for bug #399 Fixes in Korean translation by Shinjo Park.

* docutils/nodes.py

  - Apply patch #165 "Fix error when copying `system_message` node"
    by Takeshi KOMIYA.
  - Apply version of patch #167 "Let document.set_id() register all
    existing IDs" (thanks to Takeshi KOMIYA).
  - Fix bug #410: Use a "property" function to recursively fetch
    `Node.document` value from parent node.

* docutils/parsers/recommonmark_wrapper.py

  - New, **experimental** wrapper to integrate the
    `recommonmark`__ Markdown parser for use with Docutils.
    Currently only tested with recommonmark version 0.4.0.

    __ https://pypi.org/project/recommonmark/

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

  - Make the sidebar's "title" argument optional (feature request #69).

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

  - Make "meta" elements available for "latex" and "odt".

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

  - Prevent infinite inclusion loops.

* docutils/parsers/rst/roles.py

  - Apply patch #174 `Lowercase new role names on registration`
    by John Thorvald Wodder II.

* docutils/utils/smartquotes.py

  - Fix bug #383: Smart quotes around opening and separator characters.

* docutils/transforms/components.py

  - Allow a comma-separated list of formats for the Filter transform.

* docutils/writers/html*

  - Implement feature request #40 `Option to embed images as data URI`.

* docutils/writers/html5_polyglot/__init__.py

  - Use the new semantic tags <main>, <section>, <header>,
    <footer>, <aside>, <figure>, and <figcaption>.
    See ``minimal.css`` and ``plain.css`` for styling rule examples.

    Change the `initial_header_level` setting default to "2", as browsers
    use the `same style for <h1> and <h2> when nested in a <section\>`__.

    __ https://stackoverflow.com/questions/39547412/same-font-size-for-h1-and-h2-in-article

  - Use HTML text-level tags <small>, <s>, <q>, <dfn>, <var>, <samp>, <kbd>,
    <i>, <b>, <u>, <mark>, and <bdi> if a matching class value
    is found in `inline` and `literal` elements.
    Use <ins> and <del> if a matching class value
    is found in `inline`, `literal`, or `container` elements.
    Use <small> for generated code line numbers.

  - Fix bug #398: properly close link tag to "schema.dcterms".

  - Add a `viewport meta tag`__ to fix rendering in mobile browsers.

    __ https://developer.mozilla.org/en-US/docs/Web/HTML/Viewport_meta_tag
    
  - Use <video> for images with video MIME types supported by HTML5.

* docutils/writers/html5_polyglot/minimal.css

  - Move non-essential styling to ``plain.css``.
    Small fixes and tweaks.
    
  - Support "captionbelow" class value for tables.
  
  - Display code line numbers as pseudo-elements which are skipped
    when copying text from code blocks. Solves feature request #32.

* docutils/writers/html5_polyglot/plain.css

  - Support numbered figures.

* docutils/writers/html5_polyglot/responsive.css

  - New optional style that adapts to different screen sizes.

* docutils/writers/latex2e/__init__.py:

  - Use LaTeX environments for admonitions and "class wrappers" for styling
    admonitions and titles if the new configuration setting
    `legacy_class_functions`_ is False.

    .. _legacy_class_functions: docs/user/config.html#legacy-class-functions

  - Remove backwards compatibility code for the deprecated
    `styling command`__ prefix ``\docutilsrole``.

    __ docs/user/latex.html#custom-interpreted-text-roles

  - Remove legacy LaTeX stylesheet ``docutils-05-compat.sty``.

  - Support the `memoir` LaTeX document class.
    Fixes bugs #390, #391, and #392. Thanks to John Thorvald Wodder II.

  - The special value "auto" for the `graphicx_option`_ setting
    is no longer supported (it never worked for xetex/luatex).

    .. _graphicx_option: docs/user/config.html#graphicx-option

  - Most helper commands and element definitions are now defined in the
    LaTeX package `docutils.sty`_ and only inserted in the document
    preamble if the `stylesheet`__ setting does not list "docutils".

    .. _docutils.sty: https://ctan.org/pkg/docutils
    __ docs/user/config.html#stylesheet-latex-writers

  - Apply patch #173 "Make \*TeX writers convert nonstandard table
    classes to DUclass environments" by John Thorvald Wodder II.

  - Fix bug #408 "Incorrect assert in latex writer
    for multiple citation references".

  - Apply patch #175 "Fix alignment of nested tables"
    by John Thorvald Wodder II. Additional fixes to table alignment.

  - Do not write Docutils-generated ToC, when ``use_latex_toc``
    is True. (This did happen when publishing from a doctree.)

  - Set PDF document properties from "meta" directive content.

  - Apply version of patch #176 "LaTeX writer: Append \leavevmode to
    non-docinfo field names" by John Thorvald Wodder II.

* docutils/writers/manpage.py

  - Fix #394 fix missing new line after rubric.
  - Patch #168 fix crashing on empty citation (by Takeshi KOMIYA).
  - Fix #126 manpage title with spaces.
  - Fix #380 commandline option problem in sphinx.

* docutils/writers/odf_odt/__init__.py:

  - Fix/improve metadata handling:
    fix "keyword" splitting,
    allow generic fields (stored as "Custom Properties").

* docutils/writers/pseudoxml.py:

  - New option `detailled`__.

    __ docs/user/config.html#detailled

* test/DocutilsTestSupport.py

  - Run python3 test like python2 against source not the build/-directory

* tools/docutils-cli.py

  - New generic command line front end that allows the free selection of
    reader, parser, and writer components.


Release 0.16 (2020-01-16)
=========================

* General

  - Dropped support for Python 2.6, 3.3 and 3.4
  - Docutils now supports Python 2.7 and Python 3.5+ natively
    (without conversion by ``2to3``).
  - Keep `backslash escapes`__ in the document tree. Backslash characters in
    text are be represented by NULL characters in the ``text`` attribute of
    Doctree nodes and removed in the writing stage by the node's
    ``astext()`` method.

  __ http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#escaping-mechanism

* docutils/io.py

  - Remove the `handle_io_errors` option from io.FileInput/Output.

* docutils/nodes.py

  - Speed up Node.next_node().
  - If `auto_id_prefix`_ ends with "%", this is replaced with the tag name.
  - Warn about Node.traverse() returning an iterator instead of a list
    in future.

  .. _auto_id_prefix: docs/user/config.html#auto-id-prefix

* docutils/statemachine.py

  - Patch [ 158 ]: Speed up patterns by saving compiled versions (eric89gxl)

* docutils/transforms/universal.py

  - Fix [ 332 ]: Standard backslash escape for smartquotes.
  - Fix [ 342 ]: No escape in roles descending from `inline literal`.

* docutils/utils/__init__.py

  - unescape() definition moved to `nodes` to avoid circular import
    dependency. Fixes [ 366 ].

* docutils/writers/latex2e/__init__.py:

  - Fix topic subtitle.
  - Make "rubric" bold-italic and left aligned.
  - Fix [ 339 ] don't use "alltt" or literal-block-environment
    in admonitions and footnotes.
  - Deprecation warning for ``\docutilsrole``-prefixed styling commands.
  - Add "latex writers" to the `config_section_dependencies`.
  - Ignore classes for `rubric` elements
    (class wrapper interferes with LaTeX formatting).

* docutils/writers/manpage.py

  - Apply fix for [ 287 ] comma after option is bold.
  - Apply fix for [ 289 ], line starting with ``.`` in a text.

* docutils/writers/odf_odt/__init__.py:

  - Fix: ElementTree.getchildren deprecated warning

* docutils/writers/xetex/__init__.py:

  - Add "latex writers" to the `config_section_dependencies`.

* test/alltests.py

  - Fix: 377 ResourceWarning: unclosed file python3.8
    Close alltests.out with atexit.

* test/functional/*

  - Fix: 377 ResourceWarning: unclosed file python3.8
    Read defaults file with context.

  - Set "auto_id_prefix" to "%" (expands to tag-names).
    Results in descriptive links in HTML and more localized changes when
    editions to the input add or remove auto-ids.

* test/test_io.py:

  - Apply patch #157: avoid test failure because of a ``ResourceWarning``.

* test/test_writers/test_odt.py:

  - Fix [ 359 ]: Test suite failes on Python 3.8. odt xml sorting.
    Use ElementTree instead of minidom.

* tools/buildhtml.py

  - New option `html-writer`_.

  .. _html-writer: docs/user/config.html#html-writer


Release 0.15.1 (2019-07-24)
===========================

source: branches/rel-0.15

Bugs #366 fix release for python2 only.


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/ko.py
   docutils/parsers/rst/languages/ko.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.

* 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.
