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

:Author: David Goodger; open to all Docutils developers
:Contact: docutils-develop@lists.sourceforge.net
:Date: $Date: 2021-10-26 13:53:26 +0200 (Di, 26. Okt 2021) $
:Revision: $Revision: 8865 $
:Web site: https://docutils.sourceforge.io/
:Copyright: This document has been placed in the public domain.

.. contents::

Release 0.18 (2021-10-26)
=========================

* docutils/nodes.py

  - Don't change a list while looping over it (in
    document.set_name_id_map()). Thanks to Mickey Endito.

* docutils/parsers/recommonmark_wrapper.py

  - Test and update to work with recommonmark version 0.6.0.
    Still experimental.

    Unfortunately, recommonmark_ is `no longer maintained`__.

    __ https://github.com/readthedocs/recommonmark/issues/221

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

  - Fix bug #424 Wrong circular inclusion detection.
    Use a "magic" comment instead of line numbers
    to keep a log of recursive inclusions.

* docutils/parsers/rst/states.py

  -  Use a "magic" comment to update the log of recursive inclusions.

* docutils/writers/html5_polyglot/__init__.py

  - New option "image_loading". Support "lazy" loading of images.
    Obsoletes "embed_images".

* docutils/writers/pseudoxml.py:

  - Fix spelling of option "detailed".

* tools/docutils-cli.py

  - Read settings from standard configuration files.

Fix spelling errors in documentation and docstrings. 
Thanks to Dimitri Papadopoulos.


Release 0.18b1 (2021-10-05)
===========================

* docutils/frontend.py

  - The default value for the "auto_id_prefix" setting changed to "%":
    auto-generated IDs use the tag name as prefix.

* docutils/nodes.py

  - Make meta__ a standard Docutils doctree node. Writers may ignore
    "meta" nodes if they are not supported by the output format.

    __ docs/ref/doctree.html#meta

  - document.make_id(): Do not strip leading number and hyphen characters
    from `name` if the id_prefix setting is non-empty.

  - ``Node.traverse()`` returns an iterator instead of a list.

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

  - Removed. (Meta directive moved to ``misc.py``.)

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

  - `Meta` directive class (moved from html.py) inserts `meta`
    (instead of `pending`) nodes.

  - Add `class` option to `Raw` directive.

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

  - Unify behaviour of `"widths" option`_: check that the length of an
    integer list equals the number of table columns also for the "table"
    directive.

* docutils/tools/math/math2html.py,
  docutils/tools/math/tex2unicode.py,
  docutils/writers/html5/math.css

  - Fork from elyxer and remove code that is not required
    for math conversion.
  - Scale variable sized operators and big delimiters with CSS
  - Support more commands, fix mapping of commands to Unicode characters
    (cf. `LaTeX syntax for mathematics`_).
  - Fix bug #244 Wrong subscript/superscript order.
  - Don't use <tt> element (deprecated in HTML5).
  - Use STIX fonts if available.

  .. _LaTeX syntax for mathematics: docs/ref/rst/mathematics.html

* docutils/parsers/rst/states.py:

  - Fix source location (line number) for attribution elements.
    Patch by Mickey Endito.
  - Add line, source, and rawsource internal attributes for blockquote
    elements. Patch by Mickey Endito.

* docutils/transforms/references.py

  - Skip system_messages when propagating targets. Fixes bug #425.

* docutils/utils/__init__.py

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

* docutils/utils/latex2mathml.py

  - Major update (fixes and support for additional commands and symbols).
    Fixes bug #407.

* docutils/writers/_html_base.py

  - Write footnote brackets and field term colons to HTML, so that
    they are present also without CSS and when copying text.
    Adapt ``minimal.css``.

  - Use semantic tags <aside> for footnote text, topics, admonitions,
    and system-messages and <nav> for the table of contents. Use <div>
    for citations.

  - Only specify table column widths, if the `"widths" option`_ is set
    and is not "auto" (fixes bug #426).
    The `table_style`_ setting "colwidths-grid" restores the current default.

    .. _"widths" option: docs/ref/rst/directives.html#column-widths
    .. _table_style: docs/user/config.html#table-style

  - Use ARIA roles to enable accessible HTML for abstract, dedication,
    the table of contents, footnote, references, footnotes, citations,
    and backlinks.

  - Use "aria-level" attribute instead of invalid tags <h7>, <h8>, ...
    for headings of deeply nested sections.

  - Do not set classes "compound-first", "compound-middle", or
    "compound-last" to elements nested in a compound.
    Use class value "backrefs" instead of "fn-backref" for a span of
    back-references.

  - Do not write class values handled by the HTML writer ("colwidths-auto",
    "colwidths-given", "colwidths-grid") to the output.

  - Move space character between section number and heading into
    "sectnum" span.

  - Removed attribute ``HTMLTranslator.topic_classes``

  - Items of a definition list with class argument "details" are
    converted to `details disclosure elements`.


* docutils/writers/html4css1/__init__.py:

  - Overwrite methods in _html_base.HTMLTranslator that use HTML5 tags
    (details, aside, nav, ...) and attributes (role, aria-level).

* docutils/writers/latex2e/__init__.py

  - The setting `legacy_class_functions`_ now defaults to "False".
    Adapt stylesheets modifying ``\DUadmonition`` and/or ``\DUtitle``.

  - Apply patch #181 "Fix tocdepth when chapter/part in use" by
    John Thorvald Wodder II.

  - Fix newlines after/before ids_to_labels() (cf. patch #183).

  - Refactor/revise ToC writing.

  - Don't add ``\phantomsection`` to labels in math-blocks.

  - Improve spacing and allow customization of Docutils-generated table
    of contents.

  - New algorithm for table column widths. Fixes bug #422.
    New configuration setting legacy_column_widths_.

    Table.set_table_style() arguments changed.

    Only write "continued on next page..." if it fits
    without making the table columns wider.

    Table `width` option overrides conflicting "auto" column `widths`.

.. _legacy_column_widths: docs/user/config.html#legacy-column-widths


* docutils/writers/latex2e/docutils.sty

  - Fix excessive padding above sidebar titles.

* docutils/writers/pseudoxml.py:

  - Fix option "detailed" under Python 2.7.

* docutils/writers/s5_html/themes/default

  - Remove IE 6 compatibility workarounds ``iepngfix.htc`` and
    ``blank.gif`` (fixes bug #169).

* docutils/writers/manpage.py

  - Fix: double quotes need to be escaped on macro invocation.
    Done everywhere.


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.

    .. _recommonmark: 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 unique, matching class value
    is found in `inline`__ and `literal`__ elements.
    Use <ins> and <del> if a unique matching class value
    is found in `inline`, `literal`, or `container` elements.
    Use <small> for generated code line numbers.

    __ docs/ref/doctree.html#inline
    __ docs/ref/doctree.html#literal

  - 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 command line 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#detailed

* 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 fails 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 multi-column 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 script
  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 expecting byte-strings in ErrorOutput.

* docutils/utils/math/math2html.py

  - Add ``\colon`` macro, fix spacing around colons. Fixes [ 246 ].
  - New upstream version (additional macros, piece-wise 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 hard code \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 behaviour.


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

* General

  - Apply [ 2714873 ] Fix for the overwriting 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`_ conforming tags
