Contact: | grubert@users.sourceforge.net |
---|---|
Maintainer: | docutils-develop@lists.sourceforge.net |
Date: | 2021-04-17 |
Revision: | 8705 |
Web site: | https://docutils.sourceforge.io/ |
Copyright: | This document has been placed in the public domain. |
This document summarizes the major changes in recent and upcoming releases. For a more detailed list of changes, please see the Docutils HISTORY.
Contents
latex writer: The default for the configuration setting legacy_class_functions will change to "False". Adapt stylesheets modifying \DUadmonition and/or \DUtitle or set to "True".
html5 writer:
htm4css1 writer: Support the embed_images option.
s5_html writer: Remove the IE PNG Fix by Angus Turnbull. IE has native PNG support since version 7.
Make <meta> a standard Docutils doctree node.
The meta directive will insert <meta> instead of pending nodes. Writers may ignore some or all <meta> elements if they are not supported by the output format.
The transforms/components.Filter class will become obsolete by this change and may be removed in future.
Node.traverse() will return an iterator instead of a list.
Remove utils.unique_combinations (obsoleted by itertools.combinations).
Eventually remove the "rawsource" attribute and argument from nodes.Text: we store the null-escaped text in Text nodes since 0.16 so there is no additional information in the rawsource.
If the id_prefix setting is non-empty, leading number and hyphen characters will not be stripped from a reference name during identifier normalization. This may change generated identifier keys.
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 auto_id_prefix will change to "%". This means auto-generated IDs will use the tag name as prefix. Set auto_id_prefix to "id" if you want unchanged auto-IDs or to "%" if you want the new feature already in 0.17.
The default HTML writer "html" with frontend rst2html.py may change from "html4css1" to "html5".
Use get_writer_by_name('html') or the rst2html.py front end, if you want the output to be up-to-date automatically.
Use the "html4" writer or rst2html4.py, if you depend on stability of the generated HTML code, e.g. because you use a custom style sheet or post-processing that may break otherwise.
Note
Docutils 0.15.x is the last version supporting Python 2.6, 3.3 and 3.4.
Docutils 0.16.x supports Python 2.7 and Python >= 3.5 natively, without the use of the 2to3 tool.
Note
Docutils 0.14.x is the last version supporting Python 2.4, 2.5, 3.1, and 3.2.
Docutils 0.15.x is compatible with Python versions 2.6, 2.7 and 3.3 to 3.5 (cf. Python 3 compatibility).
Small changes only, release current state
General
docutils/parsers/rst/directives/tables.py
docutils/writers/html4css1/__init__.py - Fix [ 3600051 ] for tables in a list, table cells are not compacted. - New setting stylesheet_dirs (see above).
Now, it is easy to add a custom stylesheet to Docutils' default stylesheet with, e.g., --stylesheet_path='html4css1.css, mystyle.css'
- Changed behaviour of the default settings:
if there is a file html4css1.css in the working directory of the process at launch, it is used instead of the one provided by Docutils in the writer source directory.
docutils/writers/latex2e/__init__.py
docutils/writers/manpage.py
Note
Docutils 0.9.x is the last version supporting Python 2.3.
Docutils 0.10 is compatible with Python versions from 2.4 to 3.2 (cf. Python 3 compatibility).
General:
SmartQuotes transform for typographic quotes and dashes.
docutils/math, docutils/error_reporting.py, and docutils/urischemes.py moved to the utils package. Code importing these modules needs to adapt, e.g.:
try: import docutils.math as math except ImportError: import docutils.utils.math as math
enhanced math and error handling.
docutils/io.py
docutils/writers/html4css1/__init__.py
docutils/writers/latex2e/__init__.py, docutils/writers/xetex/__init__.py
docutils/writers/s5_html/__init__.py
General:
Several fixes for Python 3 usage.
docutils/setup.py
Fix [ 3527842 ]. Under Python 3, converted tests and tools were installed in the PYTHONPATH. Converted tests are now stored in docutils/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.
General:
setup.py
docutils/utils.py -> docutils/utils/__init__.py
docutils/writers/html4css1/__init__.py
docutils/writers/latex2e/__init__.py
COPYING:
General:
reStructuredText:
most directives now support a "name" option that attaches a reference name. So you can write
.. figure:: image.png :name: figure name
as a short form of
.. _figure name: .. figure:: image.png
Internationalization:
Components:
HTML writer:
LaTeX2e writer:
XeTeX writer:
New writer generating LaTeX code for compiling with xelatex.
XeTeX uses unicode and modern font technologies.
and fixes and enhancements here and there.
Components:
General:
Note
Docutils 0.5 is the last version supporting Python 2.2.
Docutils 0.6 is compatible with Python versions from 2.3 up to 2.6 and convertible to 3.1 code.
Note
The "newlatex" writer is orphaned.
The recommended way to generate PDF output is to use either the LaTeX2e writer or one of the alternatives listed at http://docutils.sourceforge.net/docs/user/links.html#pdf.
Components:
reStructuredText:
Documentation:
Internationalization:
General:
Note
Docutils 0.4.x is the last version that will support Python 2.1. Docutils 0.5 will not be compatible with Python 2.1; Python 2.2 or later will be required.
Docutils 0.4.x is the last version that will make compromises in its HTML output for Netscape Navigator 4. Docutils 0.5 will require more up-to-date browsers (the exact definition is to be determined).
Components:
reStructuredText:
Internationalization:
Documentation:
General: