.. include:: docs/header0.txt ================== Docutils History ================== :Author: David Goodger; open to all Docutils developers :Contact: docutils-develop@lists.sourceforge.net :Date: $Date$ :Revision: $Revision$ :Web site: https://docutils.sourceforge.io/ :Copyright: This document has been placed in the public domain. .. contents:: Release 0.22b.dev (unpublished) =============================== * General - Add tox.ini to pyproject.toml to be in sdist (bug #486). - Fix license issue (bug #487). * docs/ref/docutils.dtd - Allow multiple elements in a . Fixes feature-request #60 * docutils/core.py - Removed `Publisher.setup_option_parser()` (internal, obsolete). - Allow a string value (component name or alias) in the "reader", "parser", and "writer" arguments of `Publisher.__init__()` and the `publish_*()` convenience functions. * docutils/frontend.py - Drop short options ``-i`` and ``-o`` for ``--input-encoding`` and ``--output-encoding``. - Change the default input encoding from ``None`` (auto-detect) to "utf-8". * docutils/io.py - Change the default input encoding from ``None`` (auto-detect) to "utf-8". * docutils/nodes.py - Raise TypeError if the "rawsource" argument in `Element.__init__()` is an `Element` instance. Catches errors like ``nodes.hint(nodes.paragraph())``. - New element category classes `SubStructural` and `PureTextElement`. - Fix element categories. - New method `Element.validate()`: raise `nodes.ValidationError` if the element does not comply with the "Docutils Document Model". Provisional. - New "attribute validating functions" convert string representations to correct data type, normalize values, raise ValueError for invalid attribute names or values. - Removed `Element.set_class()`. * docutils/parsers/docutils_xml.py - New parser for Docutils XML sources. Provisional. * docutils/parsers/recommonmark_wrapper.py - New method `Parser.finish_parse()` to clean up (before validating). * docutils/parsers/rst/directives/misc.py - Pass the included file's path to the parser when the "include" directive is used with :parser: option. Enables system messages with correct source/line indication. * docutils/parsers/rst/directives/tables.py - Removed `CSVTable.decode_from_csv()` and `CSVTable.encode_from_csv()`. Not required with Python 3. * docutils/parsers/rst/roles.py - Renamed `normalized_role_options()` to `normalized_role_options()` (it is now also used for directive options). * docutils/readers/__init__.py: - Deprecate "parser_name" argument of `Reader.__init__()`. * docutils/transforms/frontmatter.py - Update `DocInfo` to work with corrected element categories. * docutils/transforms/misc.py: - Fix for `misc.Transitions`: report an error if a element follows a or element as this is invalid according to ``docutils.dtd``. * docutils/transforms/writer_aux.py - Removed `Compound` class. * docutils/transforms/references.py - Make `AnonymousHyperlinks` transform idempotent. * docutils/transforms/universal.py - `Messages` also handles "loose" system messages generated by the parser. * docutils/utils/__init__.py - Removed `Reporter.set_conditions()`. Set attributes via configuration settings or directly. * docutils/utils/error_reporting.py - Removed. Obsolete in Python 3. * docutils/writers/docutils-xml.py - Do not increase indentation of follow-up lines inside inline elements. when formatting with `indents`_. * docutils/writers/_html_base.py - Make MathML the default math_output_. * docutils/writers/html4css1/__init__.py - Keep default math_output_ value "HTML math.css". * docutils/writers/latex2e/__init__.py - Remove optional argument `pxunit` of `LaTeXTranslator.to_latex_length()` (ignored since at least 2012). * docutils/writers/manpage.py - Remove code for unused emdash bullets. - Feature-request #105 more informative document comments. docutils version in header - Stop converting text to full capitals (bug #481). * docutils/writers/null.py - `null.Writer.translate()` sets `self.output` to the empty string. * tools/rst2odt_prepstyles.py - Use `core.publish_file()` instead of `core.publish_file_to_binary()`. * tools/rst2odt_prepstyles.py - Removed. Use `docutils.writers.odf_odt.prepstyles`. Release 0.21.2 (2024-04-23) =========================== * Declare support for languages Georgian and Catalan (Valencian). * docs/ref/docutils.dtd - Remove declaration of element . - Remove from content declaration of
elements. * Fix test failures. Release 0.21.1 (2024-04-10) =========================== * Add missing files in Docutils 0.21 source distribution (sdist). Release 0.21 (2024-04-09) ========================= * General - Drop support for Python 3.7 and 3.8. - Updated build system to use Flit_ (patch #186 by Adam Turner). Removed ``setup.py``. - Provide ``rst2*`` "console_scripts" `entry points`_ (without the ``.py`` extension) instead of installing the ``rst2*.py`` front end tools in the binary PATH. .. _Flit: https://github.com/pypa/flit/ * docs/ref/docutils.dtd - The element accepts a new attribute "loading". - Fix definitions (no change to actual behaviour): * The element uses the attribute "xml:space". * The element may contain text only (no inline elements). * The element uses the "depth" and "local" attributes to store "contents" directive options when used as placeholder for a generated table of contents (LaTeX writers with `use_latex_toc`_ setting). - Documentation fix: Reference names (``%refname.type`` and ``%refnames.type``) are whitespace-normalized but **not** always downcased. * docutils/frontend.py - Allow `validate_*()` functions to be called with just the "value" argument but keep the legacy interface for use with optparse. - New function `frontend.validate_math_output()`. * docutils/io.py - Simpler and more secure `input encoding`_ default behaviour: Do not use the locale encoding as fallback if Python is started in `UTF-8 mode`_. Stop using "latin1" as second fallback. Remove BOM (U+FEFF ZWNBSP at start of data) only if the "input_encoding" configuration setting is None, '', 'utf-8-sig', 'utf-16', or 'utf-32'. Do not remove other ZWNBSPs. .. _UTF-8 mode: https://docs.python.org/3/library/os.html#utf8-mode .. _input encoding: docs/api/publisher.html#encodings - Auto-close `FileInput.source` in case of reading/decoding errors. * docutils/languages/, docutils/parsers/rst/languages/ - Mark/Fix mistranslated localizations of the "admonition" directive name. In Docutils, "admonition" is used as a generic term for "advice"/"advisory"/"remark", not a reprimand. - Add support for Georgian language (patch #204 by Temuri Doghonadze). - Update/complete Catalan translations (patch #203 by Antoni Bella Pérez). * docutils/nodes.py - Remove compatibility hacks `nodes.reprunicode` and `nodes.ensure_str()`. * docutils/parsers/rst/directives/images.py - New "image" directive option "loading". * docutils/parsers/rst/directives/tables.py - Use the same CSV format for the ``:header:`` option and the main data of the "csv-table" directive. - Move `parsers.rst.directives.Table.process_header_option()` method to `parsers.rst.directives.CSVTable`. * docutils/parsers/rst/states.py - Don't split inside "< >" when parsing "option groups" (fixes bug #474). * docutils/parsers/rst/directives/misc.py, docutils/parsers/rst/directives/tables.py - Consider the new root_prefix_ setting when including files with "include", "raw", or "csv-table" directives. * docutils/utils/math/* - Use custom exception `utils.math.MathError` instead of abusing `SyntaxError` for LaTeX math syntax errors. - Unify interface of LaTeX -> MathML conversion functions. Improve error reporting. - Sort ℏ (`\hslash`) as "mathord", not "mathalpha". * docutils/utils/math/latex2mathml.py - Generate "MathML Core" to fix rendering with Chromium/Android. Use CSS rules instead of the deprecated "columnalign" attribute to style as "align" environment. Use Mathematical Alphanumeric Symbols instead of with "mathvariant" attribute. - Use instead of for character class "mathord". - Support "aligned" environment. - Eliminate side-effect on later import of "tex2unichar". * docutils/utils/math/mathml_elements.py - New module defining MathML element classes (outsourced from latex2mathml.py). - Base MathML element classes on `xml.etree.ElementTree`. * docutils/utils/roman.py - Update to version `1.4 `__. Fixes feature-request #95 (license is now ZPL 2.1). * docutils/utils/smartquotes.py - Pre-compile regexps once, not with every call of `educateQuotes()` (patch #206 by Chris Sewell). - Simplify regexps; skip replacement rules if there is nothing to replace. * docutils/writers/html4css1/__init__.py - Support video inclusion via ```` tags. * docutils/writers/html5_polyglot/\*.css - Move MathML styles to "minimal.css" (required for correct rendering). - Highlight heading of target section also with explicit hyperlink target. - No additional margins for line-blocks. * docutils/writers/_html_base.py - Stop setting the "footnote-reference" class value for footnote references. Since 0.18, you can use the CSS selector ``[role="doc-noteref"]``. - Support reading/embedding images also with "file:" URI. - Warn, if image scaling fails because the image file cannot be read. - Support video inclusion via ``