Changelog
### 0.20.1
```
===========================
Bugfix release. See HISTORY_ for details.
```
### 0.20
```
=========================
.. Note::
Docutils 0.20 is the last version supporting Python 3.7 and 3.8.
* General
- Support Python 3.11 (patch 198 by Hugo van Kemenade).
* Output changes:
HTML5:
Use dpub-ARIA role "doc-footnote" (instead of ARIA role "note")
for footnotes.
LaTeX:
Do not load the `inputenc` package in UTF-8 encoded LaTeX sources.
(UTF-8 is the default encoding for LaTeX2e since 2018).
* Configuration changes:
- Settings in the [latex2e writer] configuration file section
are now ignored by the "xetex" writer.
Place common settings in section `[latex writers]`_.
.. _[latex writers]: docs/user/config.htmllatex-writers
- New command line setting output_. Obsoletes the ``<destination>``
positional argument (cf. `future changes`__).
__ `command-line usage pattern`_
* `utils.find_file_in_dirs()` now returns a POSIX path also on Windows;
`utils.get_stylesheet_list()` no longer converts ``\`` to ``/``.
* docutils/languages/
docutils/parsers/rst/languages/
- Support Ukrainian. Patch by Dmytro Kazanzhy.
* test/coverage.sh
- Removed. Use the coverage.py_ project instead,
``coverage run test/alltests.py`` and ``coverage report``.
.. _coverage.py: https://pypi.org/project/coverage/
* tools/
- Moved ``quicktest.py`` to ``tools/dev/``.
* Bugfixes and improvements (see HISTORY_).
.. _output: docs/user/config.htmloutput
```
### 0.19
```
=========================
```
### 0.19b1
```
* Drop support for Python 2.7, 3.5, and 3.6.
* Output changes:
HTML5:
Wrap groups of footnotes in an ``<aside>`` for easier styling.
The CSS rule ``.footnote-list { display: contents; }`` can be used to
restore the behaviour of custom CSS styles.
* After package installation, the CLI commands ``python -m docutils`` and
``docutils`` start the `generic command line front end tool`_.
.. _generic command line front end tool:
docs/user/tools.htmlgeneric-command-line-front-end
* Support parsing "Markdown" input with 3rd party parsers
myst_, pycmark_, or recommonmark_.
* The default values for the "pep-references", "rfc-base-url",
and "python-home" `configuration settings`_ now use the "https:" scheme.
The PEP-writer template's header is updated to fix links and
resemble the header of official PEPs.
* Various bugfixes and improvements (see HISTORY_).
.. _myst: https://pypi.org/project/myst-docutils
.. _pycmark: https://pypi.org/project/pycmark/
.. _recommonmark: https://pypi.org/project/recommonmark/
.. _configuration settings: docs/user/config.html
```
### 0.18.1
```
===========================
.. Note::
Docutils 0.18.1 is the last version supporting Python 2.7, 3.5, and 3.6.
* ``nodes.Node.traverse()`` returns a list again to restore backwards
compatibility (fixes bug 431).
Use ``nodes.Node.findall()`` to get an iterator.
* re-add module ``parsers.rst.directives.html``
(stub, emits deprecation warning and loads
"Meta" directive from its new place at ``parsers.rst.directives.misc``.)
* Small bugfixes (see HISTORY_).
```
### 0.18
```
=========================
* Output changes:
Identifiers:
- During `identifier normalization`_, leading number and hyphen
characters are no longer stripped from a `reference name`_, if the
id_prefix_ setting is non-empty.
Example:
with ``--id-prefix="DU-"``, a section with title "34. May"
currently gets the identifier key ``DU-may`` and after the
change the identifier key ``DU-34-may``.
- The default value for the auto_id_prefix_ setting changed to ``%``:
"use the tag name as prefix for auto-generated IDs".
Set auto_id_prefix_ to ``id`` for unchanged auto-IDs.
HTML5:
- Use the semantic tag <aside> for footnote text and citations, topics
(except abstract and toc), admonitions, and system messages.
Use <nav> for the Table of Contents.
- Make "auto" table column widths the default: Only specify column
widths, if the `"widths" option`_ is set and not "auto".
The table-style__ setting "colwidths-grid" restores the current default.
.. _"widths" option: __ docs/ref/rst/directives.htmltable
__ docs/user/config.htmltable-style
- Items of a definition list with class argument "details" are
converted to `details disclosure elements`_. Example::
..class:: details
Summary
This additional information should be hidden.
- Do not add "compound-first", "compound-middle", or "compound-last" to
elements nested in a compound. Use child selector and ":first-child",
":last-child" pseudo classes instead.
- Use class value "backrefs" instead of "fn-backref" for a span of
back-references.
- Write footnote brackets and field term colons to HTML, so that they
are present also without CSS and when copying text.
- Move space character between section number and heading into
"sectnum" span.
`math-output`_: html
- Support more commands, fix mapping of commands to Unicode characters.
- Scale variable sized operators and big delimiters with CSS.
- Don't use <tt> element (deprecated in HTML5).
- Use STIX fonts if available.
LaTeX:
`legacy_class_functions`_ setting default changed to "False",
admonitions are now environments.
* New standard Docutils doctree node: <meta__>.
* New configuration settings:
- [latex writers] legacy_column_widths_ and
- [html5Â writer]Â image_loading_.
* Removed files:
``iepngfix.htc`` and ``blank.gif`` (IEÂ 6 workaround for `s5_html`).
* Removed sub-module:
``parsers.rst.directives.html``
(reversed in release 0.18.1).
* Removed function: utils.unique_combinations()
(obsoleted by itertools.combinations()).
* Removed attributes:
- ``HTMLTranslator.topic_classes``: check ``node.parent.classes`` instead.
- ``nodes.Text.rawsource``: we store the null-escaped text in Text
nodes since 0.16 so there is no additional information in the
rawsource.
* Major refactoring and fixes/additions in
``docutils/utils/math/math2html.py`` and
``docutils/utils/math/latex2mathml.py``
(mathematical notation in HTML, cf. `LaTeX syntax for mathematics`_).
* nodes.Node.traverse() returns an iterator instead of a list
(reversed in release 0.18.1).
* Various bugfixes and improvements (see HISTORY_).
Fix spelling errors in documentation and docstrings.
Thanks to Dimitri Papadopoulos.
__ docs/ref/doctree.htmlmeta
.. _identifier normalization:
docs/ref/rst/directives.htmlidentifier-normalization
.. _id_prefix: docs/user/config.htmlid-prefix
.. _auto_id_prefix: docs/user/config.htmlauto-id-prefix
.. _details disclosure elements:
https://www.w3.org/TR/html52/interactive-elements.html#the-details-element
.. _LaTeX syntax for mathematics: docs/ref/rst/mathematics.html
.. _legacy_column_widths: docs/user/config.htmllegacy-column-widths
```
### 0.17.1
```
===========================
* Bug fixes (for details see the Docutils `HISTORY`_).
```
### 0.17
```
=========================
* Numerous bug fixes and improvements
(for details see the Docutils `HISTORY`_).
* Installing with ``setup.py`` now requires setuptools_.
Alternatively, install with pip_.
* The generic command line front end tool docutils-cli.py_ allows
the free selection of reader, parser, and writer components.
* Support Arabic language.
* 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/
* HTML5 writer:
- New option embed_images_.
- Use semantic tags (for details see the Docutils `HISTORY`_).
- Change the `initial_header_level`_ setting's default to "2", as browsers
use the `same style for <h1> and <h2> when nested in a section`__.
- New optional style ``responsive.css``, adapts to different screen
sizes.
- Move non-essential styling from ``minimal.css`` to ``plain.css``
rsp. ``responsive.css``.
- Show code line numbers as pseudo-elements so they are skipped when
copying the code block from the page.
.. _initial_header_level: docs/user/config.htmlinitial-header-level
__ https://stackoverflow.com/questions/39547412/same-font-size-for-h1-and-h2-in-article
.. _embed_images: docs/user/config.htmlembed-images
* LaTeX writer:
- New configuration setting `legacy_class_functions`_.
- The special value "auto" for the `graphicx_option`_ setting
is no longer supported (it never worked for xetex/luatex).
- `Styling commands`__ using the legacy ``\docutilsrole`` prefix are
now ignored. Use ``\DUrole``.
__ docs/user/latex.htmlclasses
- 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 lists "docutils".
__ docs/user/config.htmlstylesheet-latex-writers
- Remove legacy LaTeX stylesheet ``docutils-05-compat.sty``.
.. _setuptools: https://pypi.org/project/setuptools/
.. _pip: https://pypi.org/project/pip/
.. _docutils-cli.py: docs/user/tools.htmldocutils-cli-py
.. _legacy_class_functions: docs/user/config.htmllegacy-class-functions
.. _graphicx_option: docs/user/config.htmlgraphicx-option
.. _docutils.sty: https://ctan.org/pkg/docutils
```
### 0.16
```
=========================
Docutils 0.16.x supports Python 2.7 and Python >= 3.5 natively,
without the use of the ``2to3`` tool.
* reStructuredText:
- Keep `backslash escapes`__ in the document tree. This allows, e.g.,
escaping of author-separators in `bibliographic fields`__.
__ https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#escaping-mechanism
__ docs/ref/rst/restructuredtext.htmlbibliographic-fields
* LaTeX writer:
- Informal titles of type "rubric" default to bold-italic and left aligned.
- Deprecate ``\docutilsrole`` prefix for styling commands:
use ``\DUrole`` instead.
- Fix topic subtitle.
- Add "latex writers" to the `config_section_dependencies`.
- Ignore classes for `rubric` elements
(class wrapper interferes with LaTeX formatting).
* tools/buildhtml.py
- New option ``--html-writer`` allows to select "html" (default),
"html4" or "html5" (deprecated in favour of the `"writer" setting`_
in Docutils 0.18).
.. _"writer" setting:
docs/user/config.htmlwriter-buildhtml-application
* docutils/io.py
- Remove the `handle_io_errors` argument from io.FileInput/Output.
* docutils/nodes.py
- If `auto_id_prefix`_ ends with "%", this is replaced with the tag name.
.. _auto_id_prefix: docs/user/config.htmlauto-id-prefix
* Various bugfixes and improvements (see HISTORY_).
```
### 0.15
```
=========================
Docutils 0.15.x is compatible with Python versions 2.6, 2.7 and 3.3 to 3.5.
.. Note::
Docutils 0.15.x is the last version supporting Python 2.6, 3.3 and 3.4.
* reStructuredText:
- Allow embedded colons in field list field names (before, tokens like
``:this:example:`` were considered ordinary text).
- Fixed a bug with the "trim" options of the "unicode" directive.
* languages: Added Korean localisation (ko).
```
Links
- PyPI: https://pypi.org/project/docutils
- Changelog: https://pyup.io/changelogs/docutils/
- Homepage: https://docutils.sourceforge.io/
This PR updates docutils from 0.14 to 0.20.1.
Changelog
### 0.20.1 ``` =========================== Bugfix release. See HISTORY_ for details. ``` ### 0.20 ``` ========================= .. Note:: Docutils 0.20 is the last version supporting Python 3.7 and 3.8. * General - Support Python 3.11 (patch 198 by Hugo van Kemenade). * Output changes: HTML5: Use dpub-ARIA role "doc-footnote" (instead of ARIA role "note") for footnotes. LaTeX: Do not load the `inputenc` package in UTF-8 encoded LaTeX sources. (UTF-8 is the default encoding for LaTeX2e since 2018). * Configuration changes: - Settings in the [latex2e writer] configuration file section are now ignored by the "xetex" writer. Place common settings in section `[latex writers]`_. .. _[latex writers]: docs/user/config.htmllatex-writers - New command line setting output_. Obsoletes the ``<destination>`` positional argument (cf. `future changes`__). __ `command-line usage pattern`_ * `utils.find_file_in_dirs()` now returns a POSIX path also on Windows; `utils.get_stylesheet_list()` no longer converts ``\`` to ``/``. * docutils/languages/ docutils/parsers/rst/languages/ - Support Ukrainian. Patch by Dmytro Kazanzhy. * test/coverage.sh - Removed. Use the coverage.py_ project instead, ``coverage run test/alltests.py`` and ``coverage report``. .. _coverage.py: https://pypi.org/project/coverage/ * tools/ - Moved ``quicktest.py`` to ``tools/dev/``. * Bugfixes and improvements (see HISTORY_). .. _output: docs/user/config.htmloutput ``` ### 0.19 ``` ========================= ``` ### 0.19b1 ``` * Drop support for Python 2.7, 3.5, and 3.6. * Output changes: HTML5: Wrap groups of footnotes in an ``<aside>`` for easier styling. The CSS rule ``.footnote-list { display: contents; }`` can be used to restore the behaviour of custom CSS styles. * After package installation, the CLI commands ``python -m docutils`` and ``docutils`` start the `generic command line front end tool`_. .. _generic command line front end tool: docs/user/tools.htmlgeneric-command-line-front-end * Support parsing "Markdown" input with 3rd party parsers myst_, pycmark_, or recommonmark_. * The default values for the "pep-references", "rfc-base-url", and "python-home" `configuration settings`_ now use the "https:" scheme. The PEP-writer template's header is updated to fix links and resemble the header of official PEPs. * Various bugfixes and improvements (see HISTORY_). .. _myst: https://pypi.org/project/myst-docutils .. _pycmark: https://pypi.org/project/pycmark/ .. _recommonmark: https://pypi.org/project/recommonmark/ .. _configuration settings: docs/user/config.html ``` ### 0.18.1 ``` =========================== .. Note:: Docutils 0.18.1 is the last version supporting Python 2.7, 3.5, and 3.6. * ``nodes.Node.traverse()`` returns a list again to restore backwards compatibility (fixes bug 431). Use ``nodes.Node.findall()`` to get an iterator. * re-add module ``parsers.rst.directives.html`` (stub, emits deprecation warning and loads "Meta" directive from its new place at ``parsers.rst.directives.misc``.) * Small bugfixes (see HISTORY_). ``` ### 0.18 ``` ========================= * Output changes: Identifiers: - During `identifier normalization`_, leading number and hyphen characters are no longer stripped from a `reference name`_, if the id_prefix_ setting is non-empty. Example: with ``--id-prefix="DU-"``, a section with title "34. May" currently gets the identifier key ``DU-may`` and after the change the identifier key ``DU-34-may``. - The default value for the auto_id_prefix_ setting changed to ``%``: "use the tag name as prefix for auto-generated IDs". Set auto_id_prefix_ to ``id`` for unchanged auto-IDs. HTML5: - Use the semantic tag <aside> for footnote text and citations, topics (except abstract and toc), admonitions, and system messages. Use <nav> for the Table of Contents. - Make "auto" table column widths the default: Only specify column widths, if the `"widths" option`_ is set and not "auto". The table-style__ setting "colwidths-grid" restores the current default. .. _"widths" option: __ docs/ref/rst/directives.htmltable __ docs/user/config.htmltable-style - Items of a definition list with class argument "details" are converted to `details disclosure elements`_. Example:: ..class:: details Summary This additional information should be hidden. - Do not add "compound-first", "compound-middle", or "compound-last" to elements nested in a compound. Use child selector and ":first-child", ":last-child" pseudo classes instead. - Use class value "backrefs" instead of "fn-backref" for a span of back-references. - Write footnote brackets and field term colons to HTML, so that they are present also without CSS and when copying text. - Move space character between section number and heading into "sectnum" span. `math-output`_: html - Support more commands, fix mapping of commands to Unicode characters. - Scale variable sized operators and big delimiters with CSS. - Don't use <tt> element (deprecated in HTML5). - Use STIX fonts if available. LaTeX: `legacy_class_functions`_ setting default changed to "False", admonitions are now environments. * New standard Docutils doctree node: <meta__>. * New configuration settings: - [latex writers] legacy_column_widths_ and - [html5 writer] image_loading_. * Removed files: ``iepngfix.htc`` and ``blank.gif`` (IE 6 workaround for `s5_html`). * Removed sub-module: ``parsers.rst.directives.html`` (reversed in release 0.18.1). * Removed function: utils.unique_combinations() (obsoleted by itertools.combinations()). * Removed attributes: - ``HTMLTranslator.topic_classes``: check ``node.parent.classes`` instead. - ``nodes.Text.rawsource``: we store the null-escaped text in Text nodes since 0.16 so there is no additional information in the rawsource. * Major refactoring and fixes/additions in ``docutils/utils/math/math2html.py`` and ``docutils/utils/math/latex2mathml.py`` (mathematical notation in HTML, cf. `LaTeX syntax for mathematics`_). * nodes.Node.traverse() returns an iterator instead of a list (reversed in release 0.18.1). * Various bugfixes and improvements (see HISTORY_). Fix spelling errors in documentation and docstrings. Thanks to Dimitri Papadopoulos. __ docs/ref/doctree.htmlmeta .. _identifier normalization: docs/ref/rst/directives.htmlidentifier-normalization .. _id_prefix: docs/user/config.htmlid-prefix .. _auto_id_prefix: docs/user/config.htmlauto-id-prefix .. _details disclosure elements: https://www.w3.org/TR/html52/interactive-elements.html#the-details-element .. _LaTeX syntax for mathematics: docs/ref/rst/mathematics.html .. _legacy_column_widths: docs/user/config.htmllegacy-column-widths ``` ### 0.17.1 ``` =========================== * Bug fixes (for details see the Docutils `HISTORY`_). ``` ### 0.17 ``` ========================= * Numerous bug fixes and improvements (for details see the Docutils `HISTORY`_). * Installing with ``setup.py`` now requires setuptools_. Alternatively, install with pip_. * The generic command line front end tool docutils-cli.py_ allows the free selection of reader, parser, and writer components. * Support Arabic language. * 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/ * HTML5 writer: - New option embed_images_. - Use semantic tags (for details see the Docutils `HISTORY`_). - Change the `initial_header_level`_ setting's default to "2", as browsers use the `same style for <h1> and <h2> when nested in a section`__. - New optional style ``responsive.css``, adapts to different screen sizes. - Move non-essential styling from ``minimal.css`` to ``plain.css`` rsp. ``responsive.css``. - Show code line numbers as pseudo-elements so they are skipped when copying the code block from the page. .. _initial_header_level: docs/user/config.htmlinitial-header-level __ https://stackoverflow.com/questions/39547412/same-font-size-for-h1-and-h2-in-article .. _embed_images: docs/user/config.htmlembed-images * LaTeX writer: - New configuration setting `legacy_class_functions`_. - The special value "auto" for the `graphicx_option`_ setting is no longer supported (it never worked for xetex/luatex). - `Styling commands`__ using the legacy ``\docutilsrole`` prefix are now ignored. Use ``\DUrole``. __ docs/user/latex.htmlclasses - 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 lists "docutils". __ docs/user/config.htmlstylesheet-latex-writers - Remove legacy LaTeX stylesheet ``docutils-05-compat.sty``. .. _setuptools: https://pypi.org/project/setuptools/ .. _pip: https://pypi.org/project/pip/ .. _docutils-cli.py: docs/user/tools.htmldocutils-cli-py .. _legacy_class_functions: docs/user/config.htmllegacy-class-functions .. _graphicx_option: docs/user/config.htmlgraphicx-option .. _docutils.sty: https://ctan.org/pkg/docutils ``` ### 0.16 ``` ========================= Docutils 0.16.x supports Python 2.7 and Python >= 3.5 natively, without the use of the ``2to3`` tool. * reStructuredText: - Keep `backslash escapes`__ in the document tree. This allows, e.g., escaping of author-separators in `bibliographic fields`__. __ https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#escaping-mechanism __ docs/ref/rst/restructuredtext.htmlbibliographic-fields * LaTeX writer: - Informal titles of type "rubric" default to bold-italic and left aligned. - Deprecate ``\docutilsrole`` prefix for styling commands: use ``\DUrole`` instead. - Fix topic subtitle. - Add "latex writers" to the `config_section_dependencies`. - Ignore classes for `rubric` elements (class wrapper interferes with LaTeX formatting). * tools/buildhtml.py - New option ``--html-writer`` allows to select "html" (default), "html4" or "html5" (deprecated in favour of the `"writer" setting`_ in Docutils 0.18). .. _"writer" setting: docs/user/config.htmlwriter-buildhtml-application * docutils/io.py - Remove the `handle_io_errors` argument from io.FileInput/Output. * docutils/nodes.py - If `auto_id_prefix`_ ends with "%", this is replaced with the tag name. .. _auto_id_prefix: docs/user/config.htmlauto-id-prefix * Various bugfixes and improvements (see HISTORY_). ``` ### 0.15 ``` ========================= Docutils 0.15.x is compatible with Python versions 2.6, 2.7 and 3.3 to 3.5. .. Note:: Docutils 0.15.x is the last version supporting Python 2.6, 3.3 and 3.4. * reStructuredText: - Allow embedded colons in field list field names (before, tokens like ``:this:example:`` were considered ordinary text). - Fixed a bug with the "trim" options of the "unicode" directive. * languages: Added Korean localisation (ko). ```Links
- PyPI: https://pypi.org/project/docutils - Changelog: https://pyup.io/changelogs/docutils/ - Homepage: https://docutils.sourceforge.io/