release 0.22

engelbert gruber <[email protected]> Tue, 29 Jul 2025 18:22:44 +0200
Newsgroups gmane.text.docutils.user,gmane.text.docutils.devel
Message-ID <CAHnbgBN9WXsqszjmBVUVF3omtyvz82sys2ipENAX4KemwuUFcw@mail.gmail.com>
Hei everyone,

after one month of rc5

the final 0.22 is in the open
sorry for the long wait

the Release consists of ... maybe see online
https://docutils.sourceforge.io/0.22/RELEASE-NOTES.html

all the best and onto next
 e

Release 0.22rc5 (2025-06-24)
============================

Targets generated from hyperlink references with embedded URI or alias
are no longer "explicit" but "implicit" (i.e. with the same priority as
auto-generated section targets, see `implicit hyperlink targets`__).

__ https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html
   #implicit-hyperlink-targets

Don't report an error for duplicate targets with identical refname.

Release 0.22rc4 (2025-06-17)
============================

Drop the "name" option of the "target-notes" directive.
(Report an error instead of silently ignoring the value.)

New alias "rst-class" for the `"class"`_ directive to improve the
compatibility with Sphinx.


Release 0.22rc3 (2025-06-10)
============================

New objects
  `transforms.references.CitationReferences`
     Mark citation_references as resolved if the backend
     uses a BibTeX database.

Output changes

  manpage:
     Do not drop text of internal targets.


Release 0.22rc2 (2025-05-22)
============================

Fix backwards-compatibility problem:
  reStructuredText section parsing no longer requires
  `parsers.rst.states.RSTStateMachine.memo.section_parents`
  (a cache introduced in Docutils 0.22rc1).

Deprecate `parsers.rst.states.Struct` (obsoleted by
`types.SimpleNamespace`).


Release 0.22rc1 (2025-05-06)
============================

reStructuredText:
  - Support `CSS3 units`_. This adds "ch", "rem", "vw", "vh", "vmin",
    "vmax", and "Q" to the `supported length units`__. Note that some
    output formats don't support all units.
  - New option "figname" for the `"figure"`_ directive.

  .. _CSS3 units: https://www.w3.org/TR/css-values-3/#lengths
  __ docs/ref/rst/restructuredtext.html#length-units

Document Tree / Docutils DTD
  - Allow multiple <term> elements in a `\<definition_list_item>`__
    (third-party writers may need adaption).
  - The first element in a <figure> may also be a <reference>
    (with nested "clickable" <image>).

  __ docs/ref/doctree.html#definition-list-item

Configuration changes
  - Make MathML the default math_output_ for the "html5" writer.
  - Change the default input_encoding_ from ``None`` (auto-detect) to
"utf-8".
  - Drop short options ``-i`` and ``-o``.
    Use the long equivalents ``--input-encoding`` and ``--output-encoding``.
    (See `command line interface`_ for the rationale.)
  - Rename configuration setting "output" to "output_path_".
  - New setting "validate_".
  - The manpage writer now recognizes the sections [writers] and
    [manpage writer] with the new setting `text_references`_.

Output changes
  LaTeX:
     Don't wrap references with custom reference_label_ in a ``\hyperref``
     command. The "hyperref" package generates hyperlinks for labels by
     default, so there is no change in the PDF
     (except for the starred forms like ``reference_label = \ref*``).

     Stop requiring "ifthen.sty". Add "ifthen" to the stylesheet__ setting
     or replace use of ``\ifthenelse{\isundefined...`` with the eTeX
     primitive ``\ifdefined``.

     __ docs/user/config.html#stylesheet-2

  HTML5:
     Unitless image_ size measures__ are written as <img> "width" and
     "hight" values instead of "style" rules.  The current behaviour
     is kept for values with units, so users may specify, e.g. ``:width:
     50px`` instead of ``:width: 50`` to override CSS stylesheet rules.

     __ docs/ref/doctree.html#measure

  manpage:
     Don't UPPERCASE section headings.

     Handle hyperlink references (see the text_references_ setting).

  null:
     The "null" writer output changed from None to the empty string.

     `publish_string()` now returns a `bytes` or `str` instance
     for all writers (as documented).

New objects
  `parsers.docutils_xml`
     parser for `Docutils XML`_ (e.g., the output of the "xml" writer).
     Provisional.

     Try ``docutils --parser=xml test/data/multiple-term-definitions.xml``
     or use the :parser: option of the `"include"`_ directive to include
     an XML file in a rST document.

  `nodes.Element.validate()`
     Raise `nodes.ValidationError` if the element does not comply with
     the `Docutils Document Model`_.
     Provisional.

  `writers.DoctreeTranslator`
     Generic Docutils document tree translator base class with
     `uri2path()` auxiliary method.
     Provisional.

Removed objects
  `core.Publisher.setup_option_parser()`
     internal, obsolete,
  `frontend.ConfigParser.get_section()`
     obsoleted by the configparser's "Mapping Protocol Access",
  `frontend.OptionParser.set_defaults_from_dict()`
     obsolete,
  `nodes.Element.set_class()`
     obsolete, append to Element['classes'] directly,
  `parsers.rst.directives.tables.CSVTable.decode_from_csv()`
     not required with Python 3,
  `parsers.rst.directives.tables.CSVTable.encode_from_csv()`
     not required with Python 3,
  `transforms.writer_aux.Compound`
     not used since Dec 2010,
  `utils.error_reporting`
     obsolete in Python 3,
  `utils.Reporter.set_conditions()`
     obsolete, set attributes via configuration settings or directly.

Removed localisations
  Mistranslations of the "admonition" directive name:
     Use "advies" (af), "varsel" (da), "warnhinweis" (de), "aviso" (es),
     "sciigo" (eo), "annonce" (fr), "avviso" (it), "advies" (nl),
     "zauważenie" (pl) (introduced in Docutils 0.21)
     or the English name "admonition".

New files
  ``docutils/parsers/rst/include/html-roles.txt``
     `Standard definition file`_ for additional roles matching HTML tags.

Removed files
  ``tools/rst2odt_prepstyles.py``
     Obsoleted by `writers.odf_odt.prepstyles`.
  ``docutils/utils/roman.py``
     Obsoleted by ``docutils/utils/_roman_numerals.py``

Bugfixes and improvements (see
https://docutils.sourceforge.io/0.22/HISTORY.html).