Subject: CVS commit: pkgsrc/textproc/py-docutils
From: Thomas Klausner
Date: 2024-04-18 11:01:56
Message id: 20240418090156.3E2F0FA2C@cvs.NetBSD.org

Log Message:
py-docutils: update to 0.21.1.

Release 0.21.1 (2024-04-10)
===========================

The sdist in 0.21 was incomplete

- pypi allows no file replacing
- adding a postrelease suffix "post1": docutils-0.21.post1.tar.gz
  works on pypi, but fails with pip because the metadata differs.

  But if the metadata is 0.21.post1 pypi makes it a new release.

  0.21.1 is the same code except for the version number.

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 <image> element accepts a new attribute "loading".

  - Fix definitions (no change to actual behaviour):

    * The <math_block> element uses the attribute "xml:space".
    * The <raw> element may contain text only (no inline elements).
    * The <topic> 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 <mtable> as "align" environment.

    Use Mathematical Alphanumeric Symbols instead of <mstyle> with
    "mathvariant" attribute.

  - Use <mi> instead of <mo> 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 <https://pypi.org/project/roman/4.1/>`__.
    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 ``<object>`` 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 ``<video>`` tags
    (moved here from writers/html5_polyglot/__init__.py).
  - New auxiliary method `HTMLTranslator.uri2imagepath()` ensures the
    image file can also be read when CWD and output directory differ.
  - Consider the root_prefix_ setting when converting an image URI
    to a local filesystem path.
  - New `\<image>`_ attribute "loading" overrides image_loading_ \ 
setting.
  - Embed SVG images as ``<svg>`` instead of data-URI.
    Fixes feature-request #100.
  - Generate system messages for errors/warnings during the writing stage
    (image transformations, math content conversion, ...).
  - Close ``<dt>`` element in `depart_term()` to allow a
    "definition_list_item" with multiple "terms" \ 
(cf. feature-request #60).
  - Link to the document "#top" from the ToC heading
    (unless toc_backlinks_ is False).
  - Transfer `id` attribute from <field> elements to the respective
    <field_name> child element to allow cross-references to field-list items
    (<field>s are skipped in HTML output).

* docutils/writers/latex2e/__init__.py

  - Fix placement of hyperlink target (label) for tables (bug #440).
  - More compact LaTeX source for option-lists and description-lists
    (no change in output).

* docutils/writers/manpage.py

  - Put manual section in .TH in quotes.
  - Skip footer to avoid the link to document source in the manpage.
  - Add multiple definition list term support, see feature #60.
  - Render reference, refid and refuri.
    Use of ``.UR`` and ``.UE`` macros for reference markup is too brittle.
  - Add preprocessor hinting tbl first line, see bug #477.
  - Change tbl-Tables using box option, see bug #475.
  - Apply literal block patch #205. Use ``.EE`` and ``.EX`` macros.
    Thanks to G. Branden Robinson.

* docutils/writers/odf_odt/__init__.py

  - Use context manager for image reading operations.
    Catch `URLError` when `urllib.request.urlopen()` fails.

  - Convert image URI to path if accessing a local file. Fixes bug #153.

* docutils/writers/s5_html/__init__.py

  - Warn if the S5 writer cannot copy the theme files.
  - Programmatic customization of theme_url_ setting no longer
    overridden by the default for theme_.

* tools/buildhtml.py

  - New configuration setting `sources`_.
  - Match `prune`_ values with `fnmatch.fnmatch()`.

Files:
RevisionActionfile
1.5modifypkgsrc/textproc/py-docutils/ALTERNATIVES
1.64modifypkgsrc/textproc/py-docutils/Makefile
1.32modifypkgsrc/textproc/py-docutils/PLIST
1.31modifypkgsrc/textproc/py-docutils/distinfo