1 .. include:: docs/header0.txt
3 ========================
5 ========================
7 :Contact: grubert@users.sourceforge.net
8 :Maintainer: docutils-develop@lists.sourceforge.net
11 :Web site: https://docutils.sourceforge.io/
12 :Copyright: This document has been placed in the public domain.
15 This document summarizes the major changes in previous and upcoming releases.
16 For a more detailed list of changes, please see the Docutils `HISTORY`_.
23 Command line interface
24 ----------------------
26 * The _`command-line usage pattern` will change:
30 - COMMAND [OPTIONS] [SOURCE [DESTINATION]]
31 + COMMAND [OPTIONS] [SOURCE [SOURCE2 [...]]] [>DESTINATION]
33 * Remove short options ``-i`` and ``-o`` in Docutils 0.22.
34 Use the long equivalents ``--input-encoding`` and ``--output-encoding``.
36 * Stop accepting the DESTINATION positional argument in Docutils 1.0.
37 Use output redirection or the option ``--output=DESTINATION``
38 (available since Docutils 0.20).
40 * Accept more than one source document and the short option
41 ``-o`` for ``--output`` in Docutils 2.0
43 For the rationale, see https://clig.dev/#arguments-and-flags.
46 https://packaging.python.org/en/latest/specifications/entry-points/
52 * Change the default input encoding from ``None`` (auto-detect) to
53 "utf-8" in Docutils 0.22.
55 * Remove the input encoding auto-detection code in Docutils 1.0 or later.
60 * The `default HTML writer`__ will change in Docutils 2.0:
62 The rst2html_ front end and ``get_writer_by_name('html')`` select
63 "html4css1" now and will select "html5" in Docutils 2.0 and later.
65 - Use rst2html4_, ``docutils --writer=html4``, or
66 ``get_writer_by_name('html4')`` if you depend on stability of the
67 generated HTML code, e.g. because you use a custom style sheet or
68 post-processing that may break otherwise.
69 - Use rst2html5_, ``docutils`` or ``get_writer_by_name('html5')``
70 if you want a HTML5 document.
72 __ docs/user/html.html#html
76 - Move attribution behind the blockquote to comply with the `"living
77 standard"`__. (HTML5__ allows <cite> elements inside a blockquote.)
79 __ https://html.spec.whatwg.org/#the-blockquote-element
80 __ https://www.w3.org/TR/2014/REC-html5-20141028/grouping-content.html
81 #the-blockquote-element
83 - Change the default value for math_output_ to "MathML" in Docutils 0.22.
85 - Remove option ``--embed-images`` (obsoleted by "image_loading_")
90 - Change default of use_latex_citations_ setting to True
93 - Change default of legacy_column_widths_ setting to False
96 - Remove ``use_verbatim_when_possible`` setting
97 (use literal_block_env_: verbatim) in Docutils 2.0.
99 - Don't wrap references with custom reference-label_ in
100 a ``\hyperref`` command in Docutils 0.22.
101 Specify, e.g., "ref" instead of "ref*" to keep generating hyperlinks.
103 .. _reference-label: docs/user/config.html#reference-label
105 * "null" writer: output will change to the empty string in Docutils 0.22.
111 * Remove `parsers.rst.directives.CSVTable.HeaderDialect`
114 * Remove the "rawsource" argument from `nodes.Text.__init__()`
117 * Drop support for `old-format configuration files`_ in Docutils 2.0.
119 * Remove the ``--html-writer`` option of the `buildhtml.py`_ application
120 (obsoleted by the `"writer" setting`_ since Docutils 0.18)
123 * Revise the `String I/O`__ interface used by the `publish_string()`
124 and `publish_from_doctree()` publisher convenience functions.
125 (In Python 3, name and behaviour no longer match.)
127 __ docs/api/publisher.html#string-i-o
129 * Move math format conversion from docutils/utils/math (called from
130 docutils/writers/_html_base.py) to a transform__.
132 __ docs/ref/transforms.html
134 * Remove mistranslated localizations of the "admonition" directive name in
135 Docutils 0.22 or later.
137 Use the English term, matching translations introduced in Docutils 0.21,
138 or specific admonitions instead of "aanmaning" (nl),
139 "admonition" (fr), "ammonizione" (it), "ermahnung" (de),
140 "exhortación" (es), "formaning" (da), "sciigo" (eo),
141 "upomnienie" (pl), "vermaning" (af),
142 to avoid errors in future conversions.
144 .. _front end tools: docs/user/tools.html
145 .. _input_encoding: docs/user/config.html#input-encoding
146 .. _math_output: docs/user/config.html#math-output
147 .. _UTF-8 mode: https://docs.python.org/3/library/os.html#utf8-mode
148 .. _image_loading: docs/user/config.html#image-loading
149 .. _old-format configuration files:
150 docs/user/config.html#old-format-configuration-files
152 .. _rst2html: docs/user/tools.html#rst2html
153 .. _rst2html4: docs/user/tools.html#rst2html4
154 .. _rst2html5: docs/user/tools.html#rst2html5
155 .. _reference name: docs/ref/rst/restructuredtext.html#reference-names
156 .. _literal_block_env: docs/user/config.html#literal-block-env
157 .. _use_latex_citations: docs/user/config.html#use-latex-citations
158 .. _buildhtml.py: docs/user/tools.html#buildhtml-py
161 Release 0.21 (unpublished)
162 ==========================
164 * Drop support for Python 3.7 and 3.8.
166 * Provide ``rst2*`` "console_scripts" `entry points`_
167 (without the ``.py`` extension) instead of installing the
168 ``rst2*.py`` `front end tools`_ in the binary PATH. [#]_
170 Exceptions: ``rstpep2html.py`` and ``rst2odt_prepstyles.py``:
172 - Use ``docutils --reader=pep --writer=pep_html`` for a PEP preview. [#]_
173 - Use ``python -m docutils.writers.odf_odt.prepstyles``
174 to `strip the page size`__ from an ODT writer stylesheet.
176 __ docs/user/odt.html#page-size
178 .. [#] Some Linux distributions already use the short names.
179 .. [#] The final rendering is done by a Sphinx-based build system
182 * Simpler and more secure `input encoding`_ default behaviour:
184 Do not use the locale encoding as fallback if Python is started in
185 `UTF-8 mode`_. Stop using "latin1" as second fallback.
187 Remove BOM (U+FEFF ZWNBSP at start of data) only if the `input_encoding`_
188 configuration setting is None, '', 'utf-8-sig', 'utf-16', or 'utf-32'.
189 Do not remove other ZWNBSPs.
191 .. _input encoding: docs/api/publisher.html#encodings
194 Stop setting the "footnote-reference" class value for footnote references.
195 You can use the CSS selector ``[role="doc-noteref"]``
196 since Docutils 0.18 (see minimal.css for examples).
198 * Use the same CSV format for the ``:header:`` option and the main data
199 of the "csv-table_" directive.
203 - `nodes.reprunicode` and `nodes.ensure_str()`
204 (not required with Python 3),
205 `utils.Reporter.set_conditions()` (obsolete)
206 `core.Publisher.setup_option_parser()` (internal, obsolete)
208 - File ``install.py``. See README.txt__ for alternatives.
210 .. _csv-table: docs/ref/rst/directives.html#csv-table
211 __ README.html#installation
214 Release 0.20.1 (2023-05-17)
215 ===========================
217 Bugfix release. See HISTORY_ for details.
220 Release 0.20 (2023-05-04)
221 =========================
225 Docutils 0.20 is the last version supporting Python 3.7 and 3.8.
229 - Support Python 3.11 (patch #198 by Hugo van Kemenade).
234 Use dpub-ARIA role "doc-footnote" (instead of ARIA role "note")
238 Do not load the `inputenc` package in UTF-8 encoded LaTeX sources.
239 (UTF-8 is the default encoding for LaTeX2e since 2018).
241 * Configuration changes:
243 - Settings in the [latex2e writer] configuration file section
244 are now ignored by the "xetex" writer.
245 Place common settings in section `[latex writers]`_.
247 .. _[latex writers]: docs/user/config.html#latex-writers
249 - New command line setting output_. Obsoletes the ``<destination>``
250 positional argument (cf. `future changes`__).
252 __ `command-line usage pattern`_
254 * `utils.find_file_in_dirs()` now returns a POSIX path also on Windows;
255 `utils.get_stylesheet_list()` no longer converts ``\`` to ``/``.
257 * docutils/languages/
258 docutils/parsers/rst/languages/
260 - Support Ukrainian. Patch by Dmytro Kazanzhy.
264 - Removed. Use the coverage.py_ project instead,
265 ``coverage run test/alltests.py`` and ``coverage report``.
267 .. _coverage.py: https://pypi.org/project/coverage/
271 - Moved ``quicktest.py`` to ``tools/dev/``.
273 * Bugfixes and improvements (see HISTORY_).
275 .. _output: docs/user/config.html#output
278 Release 0.19 (2022-07-05)
279 =========================
281 (Release 0.19b1 (2022-06-21))
283 * Drop support for Python 2.7, 3.5, and 3.6.
288 Wrap groups of footnotes in an ``<aside>`` for easier styling.
290 The CSS rule ``.footnote-list { display: contents; }`` can be used to
291 restore the behaviour of custom CSS styles.
293 * After package installation, the CLI commands ``python -m docutils`` and
294 ``docutils`` start the `generic command line front end tool`_.
296 .. _generic command line front end tool:
297 docs/user/tools.html#generic-command-line-front-end
299 * Support parsing "Markdown" input with 3rd party parsers
300 myst_, pycmark_, or recommonmark_.
302 * The default values for the "pep-references", "rfc-base-url",
303 and "python-home" `configuration settings`_ now use the "https:" scheme.
304 The PEP-writer template's header is updated to fix links and
305 resemble the header of official PEPs.
307 * Various bugfixes and improvements (see HISTORY_).
309 .. _myst: https://pypi.org/project/myst-docutils
310 .. _pycmark: https://pypi.org/project/pycmark/
311 .. _recommonmark: https://pypi.org/project/recommonmark/
312 .. _configuration settings: docs/user/config.html
315 Release 0.18.1 (2021-12-23)
316 ===========================
320 Docutils 0.18.1 is the last version supporting Python 2.7, 3.5, and 3.6.
322 * ``nodes.Node.traverse()`` returns a list again to restore backwards
323 compatibility (fixes bug #431).
324 Use ``nodes.Node.findall()`` to get an iterator.
326 * re-add module ``parsers.rst.directives.html``
327 (stub, emits deprecation warning and loads
328 "Meta" directive from its new place at ``parsers.rst.directives.misc``.)
330 * Small bugfixes (see HISTORY_).
333 Release 0.18 (2021-10-26)
334 =========================
339 - During `identifier normalization`_, leading number and hyphen
340 characters are no longer stripped from a `reference name`_, if the
341 id_prefix_ setting is non-empty.
344 with ``--id-prefix="DU-"``, a section with title "34. May"
345 currently gets the identifier key ``DU-may`` and after the
346 change the identifier key ``DU-34-may``.
348 - The default value for the auto_id_prefix_ setting changed to ``%``:
349 "use the tag name as prefix for auto-generated IDs".
350 Set auto_id_prefix_ to ``id`` for unchanged auto-IDs.
353 - Use the semantic tag <aside> for footnote text and citations, topics
354 (except abstract and toc), admonitions, and system messages.
355 Use <nav> for the Table of Contents.
357 - Make "auto" table column widths the default: Only specify column
358 widths, if the `"widths" option`_ is set and not "auto".
359 The table-style__ setting "colwidths-grid" restores the current default.
361 .. _"widths" option: __ docs/ref/rst/directives.html#table
362 __ docs/user/config.html#table-style
364 - Items of a definition list with class argument "details" are
365 converted to `details disclosure elements`_. Example::
370 This additional information should be hidden.
372 - Do not add "compound-first", "compound-middle", or "compound-last" to
373 elements nested in a compound. Use child selector and ":first-child",
374 ":last-child" pseudo classes instead.
376 - Use class value "backrefs" instead of "fn-backref" for a span of
379 - Write footnote brackets and field term colons to HTML, so that they
380 are present also without CSS and when copying text.
382 - Move space character between section number and heading into
386 - Support more commands, fix mapping of commands to Unicode characters.
387 - Scale variable sized operators and big delimiters with CSS.
388 - Don't use <tt> element (deprecated in HTML5).
389 - Use STIX fonts if available.
392 `legacy_class_functions`_ setting default changed to "False",
393 admonitions are now environments.
395 * New standard Docutils doctree node: <meta__>.
397 * New configuration settings:
399 - [latex writers] legacy_column_widths_ and
400 - [html5 writer] image_loading_.
403 ``iepngfix.htc`` and ``blank.gif`` (IE 6 workaround for `s5_html`).
405 * Removed sub-module:
406 ``parsers.rst.directives.html``
407 (reversed in release 0.18.1).
409 * Removed function: utils.unique_combinations()
410 (obsoleted by itertools.combinations()).
412 * Removed attributes:
414 - ``HTMLTranslator.topic_classes``: check ``node.parent.classes`` instead.
415 - ``nodes.Text.rawsource``: we store the null-escaped text in Text
416 nodes since 0.16 so there is no additional information in the
419 * Major refactoring and fixes/additions in
420 ``docutils/utils/math/math2html.py`` and
421 ``docutils/utils/math/latex2mathml.py``
422 (mathematical notation in HTML, cf. `LaTeX syntax for mathematics`_).
424 * nodes.Node.traverse() returns an iterator instead of a list
425 (reversed in release 0.18.1).
427 * Various bugfixes and improvements (see HISTORY_).
429 Fix spelling errors in documentation and docstrings.
430 Thanks to Dimitri Papadopoulos.
432 __ docs/ref/doctree.html#meta
433 .. _identifier normalization:
434 docs/ref/rst/directives.html#identifier-normalization
435 .. _id_prefix: docs/user/config.html#id-prefix
436 .. _auto_id_prefix: docs/user/config.html#auto-id-prefix
437 .. _details disclosure elements:
438 https://www.w3.org/TR/html52/interactive-elements.html#the-details-element
439 .. _LaTeX syntax for mathematics: docs/ref/rst/mathematics.html
440 .. _legacy_column_widths: docs/user/config.html#legacy-column-widths
443 Release 0.17.1 (2021-04-16)
444 ===========================
446 * Bug fixes (for details see the Docutils `HISTORY`_).
448 Release 0.17 (2021-04-03)
449 =========================
451 * Numerous bug fixes and improvements
452 (for details see the Docutils `HISTORY`_).
454 * Installing with ``setup.py`` now requires setuptools_.
455 Alternatively, install with pip_.
457 * The generic command line front end tool docutils-cli.py_ allows
458 the free selection of reader, parser, and writer components.
460 * Support Arabic language.
462 * New, **experimental** wrapper to integrate the `recommonmark`__
463 Markdown parser for use with Docutils.
464 Currently only tested with recommonmark version 0.4.0.
466 __ https://pypi.org/project/recommonmark/
470 - New option embed_images_.
472 - Use semantic tags (for details see the Docutils `HISTORY`_).
474 - Change the `initial_header_level`_ setting's default to "2", as browsers
475 use the `same style for <h1> and <h2> when nested in a section`__.
477 - New optional style ``responsive.css``, adapts to different screen
480 - Move non-essential styling from ``minimal.css`` to ``plain.css``
481 rsp. ``responsive.css``.
483 - Show code line numbers as pseudo-elements so they are skipped when
484 copying the code block from the page.
486 .. _initial_header_level: docs/user/config.html#initial-header-level
487 __ https://stackoverflow.com/questions/39547412/same-font-size-for-h1-and-h2-in-article
488 .. _embed_images: docs/user/config.html#embed-images
492 - New configuration setting `legacy_class_functions`_.
494 - The special value "auto" for the `graphicx_option`_ setting
495 is no longer supported (it never worked for xetex/luatex).
497 - `Styling commands`__ using the legacy ``\docutilsrole`` prefix are
498 now ignored. Use ``\DUrole``.
500 __ docs/user/latex.html#classes
502 - Most helper commands and element definitions are now defined in the
503 LaTeX package `docutils.sty`_ and only inserted in the document
504 preamble if the stylesheet__ setting does not lists "docutils".
506 __ docs/user/config.html#stylesheet-latex-writers
508 - Remove legacy LaTeX stylesheet ``docutils-05-compat.sty``.
510 .. _setuptools: https://pypi.org/project/setuptools/
511 .. _pip: https://pypi.org/project/pip/
512 .. _docutils-cli.py: docs/user/tools.html#docutils-cli-py
513 .. _legacy_class_functions: docs/user/config.html#legacy-class-functions
514 .. _graphicx_option: docs/user/config.html#graphicx-option
515 .. _docutils.sty: https://ctan.org/pkg/docutils
518 Release 0.16 (2020-01-12)
519 =========================
521 Docutils 0.16.x supports Python 2.7 and Python >= 3.5 natively,
522 without the use of the ``2to3`` tool.
526 - Keep `backslash escapes`__ in the document tree. This allows, e.g.,
527 escaping of author-separators in `bibliographic fields`__.
529 __ https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#escaping-mechanism
530 __ docs/ref/rst/restructuredtext.html#bibliographic-fields
534 - Informal titles of type "rubric" default to bold-italic and left aligned.
535 - Deprecate ``\docutilsrole`` prefix for styling commands:
536 use ``\DUrole`` instead.
537 - Fix topic subtitle.
538 - Add "latex writers" to the `config_section_dependencies`.
539 - Ignore classes for `rubric` elements
540 (class wrapper interferes with LaTeX formatting).
544 - New option ``--html-writer`` allows to select "html" (default),
545 "html4" or "html5" (deprecated in favour of the `"writer" setting`_
548 .. _"writer" setting:
549 docs/user/config.html#writer-buildhtml-application
553 - Remove the `handle_io_errors` argument from io.FileInput/Output.
557 - If `auto_id_prefix`_ ends with "%", this is replaced with the tag name.
559 .. _auto_id_prefix: docs/user/config.html#auto-id-prefix
561 * Various bugfixes and improvements (see HISTORY_).
564 Release 0.15 (2019-07-20)
565 =========================
567 Docutils 0.15.x is compatible with Python versions 2.6, 2.7 and 3.3 to 3.5.
571 Docutils 0.15.x is the last version supporting Python 2.6, 3.3 and 3.4.
575 - Allow embedded colons in field list field names (before, tokens like
576 ``:this:example:`` were considered ordinary text).
578 - Fixed a bug with the "trim" options of the "unicode" directive.
580 * languages: Added Korean localisation (ko).
583 Release 0.14 (2017-08-03)
584 =========================
588 Docutils 0.14.x is the last version supporting Python 2.4, 2.5,
591 * docutils/docs/ref/docutils.dtd:
593 - Enable validation of Docutils XML documents against the DTD:
595 * docutils/parsers/rst/:
597 - Added functionality: escaped whitespace in URI contexts.
598 - Consistent handling of all whitespace characters in inline markup
599 recognition. (May break documents that relied on some whitespace
600 characters (NBSP, ...) *not* to be recognized as whitespace.)
602 * docutils/utils/smartquotes.py:
604 - Update quote definitions for et, fi, fr, ro, sv, tr, uk.
605 - Add quote definitions for hr, hsb, hu, lv, sh, sl, sr.
606 - Differentiate apostrophe from closing single quote (if possible).
607 - Add command line interface for stand-alone use (requires 2.7).
609 * docutils/writers/_html_base:
611 - Provide default title in metadata.
612 - The MathJax CDN shut down on April 30, 2017. For security reasons, we
613 don't use a third party public installation as default but warn
614 if `math-output` is set to MathJax without specifying a URL.
615 See math-output_ for details.
617 * docutils/writers/html4css1:
619 - Respect automatic table column sizing.
621 * docutils/writers/latex2e/__init__.py
623 - Handle class arguments for block-level elements by wrapping them
624 in a "DUclass" environment. This replaces the special handling for
625 "epigraph" and "topic" elements.
627 * docutils/writers/odf_odt:
629 - Language option sets ODF document's default language
630 - Image width, scale, ... set image size in generated ODF.
634 - New front-end ``rst2html4.py``.
637 Release 0.13.1 (2016-12-09)
638 ===========================
640 * docutils/writers/html5_polyglot
642 - New HTML writer generating `HTML 5`_.
644 .. _HTML 5: https://www.w3.org/TR/html5/
648 - New front-end ``rst2html5.py``.
650 * languages: persian/farsi (fa) and latvian (la) mappings.
652 * change default base url for :rfc: to http://tools.ietf.org/html/
654 * tables accept widths, a list and align
656 * latex2e: Fix admonition width, remove deprecated options,
657 better tablewidth auto, ...
659 * rst.el: The problem with ``electric-indent-mode`` has been fixed.
662 Release 0.12 (2014-07-06)
663 =========================
665 Small changes only, release current state
668 Release 0.11 (2013-07-22)
669 =========================
673 - Apply [ 2714873 ] Fix for the overwriting of document attributes.
674 - Support embedded aliases within hyperlink references.
675 - Fix [ 228 ] try local import of docutils components (reader, writer, parser,
676 language module) before global search.
678 * docutils/parsers/rst/directives/tables.py
680 - Fix [ 210 ] Python 3.3 checks CVS syntax only if "strict" is True.
682 * docutils/writers/html4css1/__init__.py
683 - Fix [ 3600051 ] for tables in a list, table cells are not compacted.
684 - New setting `stylesheet_dirs` (see above).
686 Now, it is easy to add a custom stylesheet to Docutils' default
687 stylesheet with, e.g., ``--stylesheet_path='html4css1.css, mystyle.css'``
689 Changed behaviour of the default settings:
690 if there is a file ``html4css1.css`` in the working directory of the
691 process at launch, it is used instead of the one provided by Docutils
692 in the writer source directory.
694 - New default for math-output_: ``HTML math.css``.
695 - Avoid repeated class declarations in html4css1 writer
696 (modified version of patch [ 104 ]).
698 .. _math-output: docs/user/config.html#math-output
700 * docutils/writers/latex2e/__init__.py
702 - Drop the simple algorithm replacing straight double quotes with
703 English typographic ones.
704 Activate the SmartQuotes_ transform if you want this feature.
705 - New setting `stylesheet_dirs`: Comma-separated list of directories
706 where stylesheets are found. Used by `stylesheet_path` when expanding
707 relative path arguments.
709 .. _SmartQuotes: docs/user/config.html#smart-quotes
711 * docutils/writers/manpage.py
713 - Fix [3607063] handle lines starting with a period.
714 - Fix option separating comma was bold (thanks to Bill Morris).
716 Release 0.10 (2012-12-16)
717 =========================
719 Docutils 0.10 is compatible with Python versions from 2.4 to 3.2.
723 - SmartQuotes transform for typographic quotes and dashes.
725 - ``docutils/math``, ``docutils/error_reporting.py``, and
726 ``docutils/urischemes.py`` moved to the utils package.
727 Code importing these modules needs to adapt, e.g.::
730 import docutils.math as math
732 import docutils.utils.math as math
734 - enhanced math and error handling.
738 - FileInput/FileOutput: no system-exit on IOError.
739 The `handle_io_errors` argument is ignored.
741 * docutils/writers/html4css1/__init__.py
743 - Use ``<code>`` tag for inline "code",
744 do not drop nested inline nodes (syntax highlight tokens).
745 - Customizable MathJax URL (based on patch by Dmitry Shachnev).
746 - No line break after opening inline math tag.
748 * docutils/writers/latex2e/__init__.py, docutils/writers/xetex/__init__.py
750 - Fix section numbering by LaTeX.
752 * docutils/writers/s5_html/__init__.py
754 - Fix [ 3556388 ] Mathjax does not work with rst2s5.
757 Release 0.9.1 (2012-06-17)
758 ==========================
762 Docutils 0.9.1 is the last version supporting Python 2.3.
766 Several fixes for Python 3 usage.
770 - Fix [ 3527842 ]. Under Python 3, converted tests and tools were
771 installed in the PYTHONPATH. Converted tests are now
772 stored in ``docutils/test3/``, tools no longer need conversion.
774 If you installed one of Docutils versions 0.7 ... 0.9 with
775 ``setup.py install`` under Python 3, remove the spurious
776 ``test/`` and ``tools/`` directories in the site library root.
779 Release 0.9 (2012-05-02)
780 =========================
784 - reStructuredText "code" role and directive with syntax highlighting
786 - "code" option of the "include" directive.
788 .. _Pygments: https://pygments.org/
790 - Fix [ 3402314 ] allow non-ASCII whitespace, punctuation
791 characters and "international" quotes around inline markup.
793 - Fix handling of missing stylesheets.
797 - Fix [ 2971827 ] and [ 3442827 ]
798 extras/roman.py moved to docutils/utils/roman.py
800 * docutils/utils.py -> docutils/utils/__init__.py
802 - docutils.utils is now a package (providing a place for sub-modules)
804 * docutils/writers/html4css1/__init__.py
806 - change default for `math-output` setting to MathJax
808 * docutils/writers/latex2e/__init__.py
810 - Support the `abbreviation` and `acronym` standard roles.
811 - Record only files required to generate the LaTeX source as dependencies.
812 - Use ``\setcounter{secnumdepth}{0}`` instead of ``*``-versions
813 when suppressing LaTeX section numbering.
816 Release 0.8.1 (2011-08-30)
817 ==========================
821 - Fix [ 3364658 ] (Change last file with Apache license to BSD-2-Clause)
822 and [ 3395920 ] (correct copyright info for rst.el).
824 * docutils/writers/latex2e/__init__.py
826 - Clean up Babel language setting. Restores Sphinx compatibility.
829 Release 0.8 (2011-07-07)
830 ========================
834 - Some additions to the Docutils core are released under the 2-Clause BSD
839 - Handle language codes according to `BCP 47`_.
840 - If the specified language is not supported by Docutils,
841 warn and fall back to English.
842 - Math support: reStructuredText "math" role and directive,
843 ``math`` and ``math_block`` doctree elements.
844 - Orphaned "python" reader and "newlatex2e" writer moved to the sandbox.
846 .. _BCP 47: https://www.rfc-editor.org/rfc/bcp/bcp47.txt
850 - most directives now support a "name" option that attaches a
851 reference name. So you can write ::
853 .. figure:: image.png
856 as a short form of ::
860 .. figure:: image.png
862 Internationalization:
864 * Added lithuanian mappings.
870 - New setting "math-output" with support for HTML, MathML, and LaTeX.
874 - Convert image URI to a local file path.
875 - Apply [ 3148141 ] fix multicolumn support when a colspanning cell
876 has more than one paragraph (Wolfgang Scherer).
880 - New writer generating LaTeX code for compiling with ``xelatex``.
882 XeTeX uses unicode and modern font technologies.
884 * and fixes and enhancements here and there.
887 Release 0.7 (2010-07-07)
888 ========================
894 - Support SVG and SWF images (thanks to Stefan Rank).
895 - Generate valid XHTML for centered images with targets.
896 Use CSS classes instead of "align" tags for image alignment.
900 - Use the ``\url`` command for URLs (breaks long URLs instead of writing
902 - Preserve runs of spaces in 'inline literals'.
903 - Deprecate ``figure_footnotes`` setting.
904 - Rename ``use_latex_footnotes`` setting to `docutils_footnotes`__.
905 - New ``latex_preamble`` setting.
906 - Use PDF standard fonts (Times/Helvetica/Courier) as default.
907 - `hyperref` package called with ``unicode`` option (see the
908 `hyperref config tips`__ for how to override).
909 - Drop the special `output_encoding`__ default ("latin-1").
910 The Docutils wide default (usually "UTF-8") is used instead.
912 __ docs/user/config.html#docutils-footnotes
913 __ docs/user/latex.html#hyperlinks
914 __ docs/user/latex.html#output-encoding
918 - Titles level 1, that is ``.SH``, always uppercase.
919 - Apply patch from mg: literal text should be bold in man-pages.
923 * io.FileInput opens files as text files with universal newline support
924 (mode "rU", configurable with the new optional argument "mode").
928 - Python 3 support: copy test/ and tools/ to the build-dir
929 and convert Python sources with 2to3.
932 Release 0.6 (2009-10-11)
933 ========================
935 Docutils 0.6 is compatible with Python versions from 2.3 up to 2.6
936 and convertible to 3.1 code.
940 The "newlatex" writer is orphaned.
942 The recommended way to generate PDF output is to use either the
943 LaTeX2e writer or one of the alternatives listed at
944 https://docutils.sourceforge.io/docs/user/links.html#pdf.
948 - Allow length units for all length specifications.
949 - Allow percent sign in "scale" argument of "figure" and "image" directives.
950 - Bugfix: The "figalign" argument of a figure now works as intended
951 (aligning the figure not its contents).
952 - Align images with class "align-[right|center|left]"
953 (allows setting the alignment of an image in a figure).
954 - Hard tabs in literal inclusions are replaced by spaces. This is
955 configurable via the new "tab-width" option of the "include" directive
956 (a negative tab-width prevents tab expansion).
960 - ``--stylesheet`` and ``--stylesheet-path`` options now support a comma
961 separated list of stylesheets.
966 - font-encoding: "T1" (formerly implicitly set by 'ae').
967 - use-latex-toc: true (ToC with page numbers).
968 - use-latex-footnotes: true (no mixup with figures).
969 - Float placement defaults to "here definitely" (configurable).
970 - Align of image in a figure defaults to 'center'.
971 - Use class defaults for page margins ('typearea' now optional).
972 - Support LaTeX packages as ``--stylesheet`` arguments.
973 - Use ``bp`` for lengths without unit or unit ``pt``,
974 do not convert ``px`` to ``pt``.
975 - Do not use 'ae' and 'aeguill' packages if font-encoding is set to ''.
976 - Set sub- and superscript role argument as text not math.
977 - Support custom roles based on standard roles.
978 - Load packages and define macros only if required in the document.
979 - All Docutils specific LaTeX macros are prefixed with ``DU``.
980 - Better conformance to Docutils specifications with "use_latex_toc".
981 - If 'sectnum_xform' is False, the 'sectnum' directive triggers
982 section numbering by LaTeX.
983 - Use default font in admonitions and sidebar.
984 - Typeset generic topic as "quote with title".
985 - Use template (file and configuration option).
986 - Render doctest blocks as literal blocks (indented).
990 - moved from sandbox to Doctutils core.
994 - moved from sandbox to Doctutils core.
997 Release 0.5 (2008-06-25)
998 ========================
1002 Docutils 0.5 is the last version supporting Python 2.2.
1008 - Dropped all ``name`` attributes of ``a`` elements (``id`` is
1009 universally supported now).
1013 - Better bibTeX citation support.
1014 - Add ``--literal-block-env``
1018 - Changed to support new python.org website structure and
1023 * Changed the directive API to a new object-oriented system.
1024 (Compatibility for the old, functional-style directive interface is
1025 retained.) See the updated `Creating reStructuredText Directives`__
1028 __ docs/howto/rst-directives.html
1030 * Allow ``+`` and ``:`` in reference names requested for citations.
1034 * Added `Deploying Docutils Securely`__
1036 __ docs/howto/security.txt
1038 Internationalization:
1040 * Added hebrew mappings.
1044 * Configuration files are now assumed and required to be
1047 * Added docutils/writers/html4css1/template.txt.
1049 * Enhance emacs support.
1052 Release 0.4 (2006-01-09)
1053 ========================
1057 Docutils 0.4 is the last version supporting Python 2.1.
1059 It is also the last version that will make compromises in
1060 its HTML output for Netscape Navigator 4. Docutils 0.5 will
1061 require more up-to-date browsers (the exact definition is to be
1066 * Added an `S5/HTML writer`__ and the rst2s5.py__ front end:
1067 multi-platform, multi-browser HTML slide shows.
1069 __ docs/user/slide-shows.html
1070 __ docs/user/tools.html#rst2s5
1072 * The newlatex2e writer is nearing completion.
1074 * Added a DocTree reader, ``publish_doctree`` and
1075 ``publish_from_doctree`` convenience functions, for document tree
1076 extraction and reprocessing.
1080 * Added directives: "container__" (generic block-level container),
1081 "default-role__" (role used for \`backtick\` syntax), "title__"
1082 (document title metadata), and "date__" (generate the current local
1083 date, for substitution definitions).
1085 __ docs/ref/rst/directives.html#container
1086 __ docs/ref/rst/directives.html#default-role
1087 __ docs/ref/rst/directives.html#title
1088 __ docs/ref/rst/directives.html#date
1090 * Length units are now supported for image__ sizes.
1092 __ docs/ref/rst/directives.html#image
1094 * Added `standard definition files`__ for special characters etc.
1096 __ docs/ref/rst/definitions.html
1098 Internationalization:
1100 * Added Japanese and Simplified Chinese language mappings, and support
1101 for double-width CJK-characters in tables and section titles.
1105 * Added a `guide for distributors`__ (package maintainers) and a
1106 `guide for developers`__.
1108 __ docs/dev/distributing.html
1109 __ docs/dev/hacking.html
1113 * Added significant `Emacs support for reST`__.
1115 __ docs/user/emacs.html
1117 * Added a `--strip-comments`__ option.
1119 __ docs/user/config.html#strip-comments
1121 * `--embed-stylesheet`__ is now the default for the HTML writer
1122 (rather than --link-stylesheet).
1124 __ docs/user/config.html#embed-stylesheet
1127 Release 0.3.9 (2005-05-26)
1128 ==========================
1130 * Added "file_insertion_enabled__" and "raw_enabled__" settings.
1132 __ docs/user/config.html#file-insertion-enabled
1133 __ docs/user/config.html#raw-enabled
1135 * Added `auto-enumerated lists`__.
1137 __ docs/ref/rst/restructuredtext.html#enumerated-lists
1139 * Added `"header" and "footer"`__ directives.
1141 __ docs/ref/rst/directives.html#document-header-footer
1143 * Added "list-table__" directive.
1145 __ docs/ref/rst/directives.html#list-table
1147 * Added support for `section subtitles`__.
1149 __ docs/user/config.html#sectsubtitle-xform
1151 * Added "field_name_limit__" and "option_limit__" settings to HTML writer.
1153 __ docs/user/config.html#field-name-limit
1154 __ docs/user/config.html#option-limit
1156 * Added "cloak_email_addresses__" setting to HTML writer.
1158 __ docs/user/config.html#cloak-email-addresses
1160 * UTF-8 BOMs are now removed from the input stream.
1163 Release 0.3.7 (2004-12-24)
1164 ==========================
1166 * A special "`line block`__" syntax has been added. (Also see the
1167 `quick reference`__.)
1169 __ docs/ref/rst/restructuredtext.html#line-blocks
1170 __ docs/user/rst/quickref.html#line-blocks
1172 * Empty sections are now allowed.
1174 * A "raw__" role has been added.
1176 __ docs/ref/rst/roles.html#raw
1178 * The LaTeX writer now escapes consecutive dashes (like "--" or "---")
1179 so that they are no longer transformed by LaTeX to en or em dashes.
1180 (Please see the FAQ__ for how to represent such dashes.)
1182 __ FAQ.html#how-can-i-represent-esoteric-characters-e-g-character-entities-in-a-document
1184 * A `dependency recorder`__ has been added.
1186 __ docs/user/config.html#record-dependencies
1188 * A directive has been added for `compound paragraphs`__.
1190 __ docs/ref/rst/directives.html#compound-paragraph
1193 Release 0.3.5 (2004-07-29)
1194 ==========================
1196 * Improved, extended and reorganized the documentation__.
1200 * Added "csv-table__" directive.
1202 __ docs/ref/rst/directives.html#csv-table
1204 .. _HISTORY: HISTORY.html
1205 .. _Python 3 compatibility: README.html#python-3-compatibility