Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update docutils to 0.21.1 #606

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

This PR updates docutils from 0.12 to 0.21.1.

Changelog

0.21.1

===========================

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.

0.21

=========================

* General:

- Drop support for Python 3.7 and 3.8.

- Provide ``rst2*`` "console_scripts" `entry points`_
 (without the ``.py`` extension) instead of installing the
 ``rst2*.py`` `front end tools`_ in the binary PATH. []_

 Exceptions: ``rstpep2html.py`` and ``rst2odt_prepstyles.py``:

 - Use ``docutils --reader=pep --writer=pep_html`` for a PEP preview. []_
 - Use ``python -m docutils.writers.odf_odt.prepstyles``
   to `strip the page size`__ from an ODT writer stylesheet.

 __ docs/user/odt.htmlpage-size

.. [] Some Linux distributions already use the short names.
.. [] The final rendering is done by a Sphinx-based build system
      (cf. :PEP:`676`).

* reStructuredText:

- Use the same CSV format for the ``:header:`` option and the main data
 of the "csv-table_" directive.

- New option "loading" for the `"image" directive`_.
 Sets the new attribute loading__ of the <image> doctree element.

__ docs/ref/doctree.htmlloading

* Configuration changes:

- New configuration setting root_prefix_.
 Configurable root directory for included files.

- New configuration setting sources_ for the "buildhtml.py" application.

- 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.

* Output changes:

HTML5:
 Stop setting the "footnote-reference" class value for footnote
 references. Use the CSS selector ``[role="doc-noteref"]``
 (works since Docutils 0.18, see minimal.css for examples).

 Fix MathML rendering problems in Chrome/Chromium based browsers.

 Embed SVG images as ``<svg>`` instead of data-URI.

manpage:
 Use .EE/.EX macros for literal blocks.

 Render URI references (do not use .UR/.UE).

 Use box option for tables.

* Removed objects:

`docutils.nodes.reprunicode`, `docutils.nodes.ensure_str()`
 Python 2 compatibility hacks
`docutils.utils.Reporter.set_conditions()`
 obsolete
`docutils.core.Publisher.setup_option_parser()`
 internal, obsolete

* New files:

``docutils/writers/html5_polyglot/italic-field-names.css``
 Alternative style for Docutils field-lists.

* Removed files:

``install.py``, ``setup.py``
 Metadata is now stored in ``pyproject.toml``,
 supported by pip_ since version 19.0 (2019-01-22).
 See README__ for installation alternatives.

__ README.htmlinstallation

* Bugfixes and improvements (see HISTORY_).

.. _input encoding: docs/api/publisher.htmlencodings
.. _csv-table: docs/ref/rst/directives.htmlcsv-table
.. _"image" directive: docs/ref/rst/directives.htmlimage
.. _root_prefix: docs/user/config.htmlroot-prefix
.. _sources: docs/user/config.htmlsources

0.20.1

===========================

Bugfix release. See HISTORY_ for details.

0.20

=========================

.. Note::

Docutils 0.20 is the last version supporting Python 3.7 and 3.8.

* General

- Support Python 3.11 (patch 198 by Hugo van Kemenade).

* Output changes:

HTML5:
 Use dpub-ARIA role "doc-footnote" (instead of ARIA role "note")
 for footnotes.

LaTeX:
 Do not load the `inputenc` package in UTF-8 encoded LaTeX sources.
 (UTF-8 is the default encoding for LaTeX2e since 2018).

* Configuration changes:

- Settings in the [latex2e writer] configuration file section
 are now ignored by the "xetex" writer.
 Place common settings in section `[latex writers]`_.

- New command line setting output_. Obsoletes the ``<destination>``
 positional argument (cf. `future changes`__).

 __ `command-line usage pattern`_

* `utils.find_file_in_dirs()` now returns a POSIX path also on Windows;
`utils.get_stylesheet_list()` no longer converts ``\`` to ``/``.

* docutils/languages/
docutils/parsers/rst/languages/

- Support Ukrainian. Patch by Dmytro Kazanzhy.

* test/coverage.sh

- Removed. Use the coverage.py_ project instead,
 ``coverage run test/alltests.py`` and ``coverage report``.

* tools/

- Moved ``quicktest.py`` to ``tools/dev/``.

* Bugfixes and improvements (see HISTORY_).

.. _[latex writers]: docs/user/config.htmllatex-writers
.. _output: docs/user/config.htmloutput
.. _coverage.py: https://pypi.org/project/coverage/

0.19

=========================

0.19b1

* Drop support for Python 2.7, 3.5, and 3.6.

* Output changes:

HTML5:
 Wrap groups of footnotes in an ``<aside>`` for easier styling.

 The CSS rule ``.footnote-list { display: contents; }`` can be used to
 restore the behaviour of custom CSS styles.

* After package installation, the CLI commands ``python -m docutils`` and
``docutils`` start the `generic command line front end tool`_.

* Support parsing "Markdown" input with 3rd party parsers
myst_, pycmark_, or recommonmark_.

* The default values for the "pep-references", "rfc-base-url",
and "python-home" `configuration settings`_ now use the "https:" scheme.
The PEP-writer template's header is updated to fix links and
resemble the header of official PEPs.

* Various bugfixes and improvements (see HISTORY_).

.. _generic command line front end tool:
 docs/user/tools.htmlgeneric-command-line-front-end
.. _myst: https://pypi.org/project/myst-docutils
.. _pycmark: https://pypi.org/project/pycmark/
.. _recommonmark: https://pypi.org/project/recommonmark/
.. _configuration settings: docs/user/config.html

0.18.1

===========================

.. Note::

Docutils 0.18.1 is the last version supporting Python 2.7, 3.5, and 3.6.

* ``nodes.Node.traverse()`` returns a list again to restore backwards
compatibility (fixes bug 431).
Use ``nodes.Node.findall()`` to get an iterator.

* re-add module ``parsers.rst.directives.html``
(stub, emits deprecation warning and loads
"Meta" directive from its new place at ``parsers.rst.directives.misc``.)

* Small bugfixes (see HISTORY_).

0.18

=========================

* Output changes:

Identifiers:
 - During `identifier normalization`_, leading number and hyphen
   characters are no longer stripped from a `reference name`_, if the
   id_prefix_ setting is non-empty.

   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 the auto_id_prefix_ setting changed to ``%``:
   "use the tag name as prefix for auto-generated IDs".
   Set auto_id_prefix_ to ``id`` for unchanged auto-IDs.

HTML5:
 - Use the semantic tag <aside> for footnote text and citations, topics
   (except abstract and toc), admonitions, and system messages.
   Use <nav> for the Table of Contents.

 - Make "auto" table column widths the default: Only specify column
   widths, if the `"widths" option`_ is set and not "auto".
   The table-style__ setting "colwidths-grid" restores the current default.

   __ docs/user/config.htmltable-style

 - Items of a definition list with class argument "details" are
   converted to `details disclosure elements`_. Example::

     ..class:: details

     Summary
       This additional information should be hidden.

 - Do not add "compound-first", "compound-middle", or "compound-last" to
   elements nested in a compound. Use child selector and ":first-child",
   ":last-child" pseudo classes instead.

 - Use class value "backrefs" instead of "fn-backref" for a span of
   back-references.

 - Write footnote brackets and field term colons to HTML, so that they
   are present also without CSS and when copying text.

 - Move space character between section number and heading into
   "sectnum" span.

`math-output`_: html
 - Support more commands, fix mapping of commands to Unicode characters.
 - Scale variable sized operators and big delimiters with CSS.
 - Don't use <tt> element (deprecated in HTML5).
 - Use STIX fonts if available.

LaTeX:
  `legacy_class_functions`_ setting default changed to "False",
  admonitions are now environments.

* New standard Docutils doctree node: <meta__>.

__ docs/ref/doctree.htmlmeta

* New configuration settings:

- [latex writers] legacy_column_widths_ and
- [html5 writer] image_loading_.

* Removed files:
``iepngfix.htc`` and ``blank.gif`` (IE 6 workaround for `s5_html`).

* Removed sub-module:
``parsers.rst.directives.html``
(reversed in release 0.18.1).

* Removed function: utils.unique_combinations()
(obsoleted by itertools.combinations()).

* Removed attributes:

- ``HTMLTranslator.topic_classes``: check ``node.parent.classes`` instead.
- ``nodes.Text.rawsource``: we store the null-escaped text in Text
 nodes since 0.16 so there is no additional information in the
 rawsource.

* Major refactoring and fixes/additions in
``docutils/utils/math/math2html.py`` and
``docutils/utils/math/latex2mathml.py``
(mathematical notation in HTML, cf. `LaTeX syntax for mathematics`_).

* nodes.Node.traverse() returns an iterator instead of a list
(reversed in release 0.18.1).

* Various bugfixes and improvements (see HISTORY_).

Fix spelling errors in documentation and docstrings.
Thanks to Dimitri Papadopoulos.

.. _"widths" option: __ docs/ref/rst/directives.htmltable
.. _identifier normalization:
 docs/ref/rst/directives.htmlidentifier-normalization
.. _id_prefix: docs/user/config.htmlid-prefix
.. _auto_id_prefix: docs/user/config.htmlauto-id-prefix
.. _details disclosure elements:
 https://www.w3.org/TR/html52/interactive-elements.html#the-details-element
.. _LaTeX syntax for mathematics: docs/ref/rst/mathematics.html
.. _legacy_column_widths: docs/user/config.htmllegacy-column-widths

0.17.1

===========================

* Bug fixes (for details see the Docutils `HISTORY`_).

0.17

=========================

* Numerous bug fixes and improvements
(for details see the Docutils `HISTORY`_).

* Installing with ``setup.py`` now requires setuptools_.
Alternatively, install with pip_.

* The generic command line front end tool docutils-cli.py_ allows
the free selection of reader, parser, and writer components.

* Support Arabic language.

* New, **experimental** wrapper to integrate the `recommonmark`__
Markdown parser for use with Docutils.
Currently only tested with recommonmark version 0.4.0.

__ https://pypi.org/project/recommonmark/

* HTML5 writer:

- New option embed_images_.

- Use semantic tags (for details see the Docutils `HISTORY`_).

- Change the `initial_header_level`_ setting's default to "2", as browsers
 use the `same style for <h1> and <h2> when nested in a section`__.

- New optional style ``responsive.css``, adapts to different screen
 sizes.

- Move non-essential styling from ``minimal.css`` to ``plain.css``
 rsp. ``responsive.css``.

- Show code line numbers as pseudo-elements so they are skipped when
 copying the code block from the page.

.. _initial_header_level: docs/user/config.htmlinitial-header-level
__ https://stackoverflow.com/questions/39547412/same-font-size-for-h1-and-h2-in-article
.. _embed_images: docs/user/config.htmlembed-images

* LaTeX writer:

- New configuration setting `legacy_class_functions`_.

- The special value "auto" for the `graphicx_option`_ setting
 is no longer supported (it never worked for xetex/luatex).

- `Styling commands`__ using the legacy ``\docutilsrole`` prefix are
 now ignored. Use ``\DUrole``.

 __ docs/user/latex.htmlclasses

- Most helper commands and element definitions are now defined in the
 LaTeX package `docutils.sty`_ and only inserted in the document
 preamble if the stylesheet__ setting does not lists "docutils".

 __ docs/user/config.htmlstylesheet-latex-writers

- Remove legacy LaTeX stylesheet ``docutils-05-compat.sty``.

.. _setuptools: https://pypi.org/project/setuptools/
.. _pip: https://pypi.org/project/pip/
.. _docutils-cli.py: docs/user/tools.htmldocutils-cli-py
.. _legacy_class_functions: docs/user/config.htmllegacy-class-functions
.. _graphicx_option: docs/user/config.htmlgraphicx-option
.. _docutils.sty: https://ctan.org/pkg/docutils

0.16

=========================

Docutils 0.16.x supports Python 2.7 and Python >= 3.5 natively,
without the use of the ``2to3`` tool.

* reStructuredText:

- Keep `backslash escapes`__ in the document tree. This allows, e.g.,
 escaping of author-separators in `bibliographic fields`__.

__ https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#escaping-mechanism
__ docs/ref/rst/restructuredtext.htmlbibliographic-fields

* LaTeX writer:

- Informal titles of type "rubric" default to bold-italic and left aligned.
- Deprecate ``\docutilsrole`` prefix for styling commands:
 use ``\DUrole`` instead.
- Fix topic subtitle.
- Add "latex writers" to the `config_section_dependencies`.
- Ignore classes for `rubric` elements
 (class wrapper interferes with LaTeX formatting).

* tools/buildhtml.py

- New option ``--html-writer`` allows to select "html" (default),
 "html4" or "html5" (deprecated in favour of the `"writer" setting`_
 in Docutils 0.18).

* docutils/io.py

- Remove the `handle_io_errors` argument from io.FileInput/Output.

* docutils/nodes.py

- If `auto_id_prefix`_ ends with "%", this is replaced with the tag name.

* Various bugfixes and improvements (see HISTORY_).

.. _"writer" setting: docs/user/config.htmlwriter-buildhtml-application
.. _auto_id_prefix: docs/user/config.htmlauto-id-prefix

0.15

=========================

Docutils 0.15.x is compatible with Python versions 2.6, 2.7 and 3.3 to 3.5.

.. Note::

Docutils 0.15.x is the last version supporting Python 2.6, 3.3 and 3.4.

* reStructuredText:

- Allow embedded colons in field list field names (before, tokens like
 ``:this:example:`` were considered ordinary text).

- Fixed a bug with the "trim" options of the "unicode" directive.

* languages: Added Korean localisation (ko).

0.14

=========================

.. Note::

Docutils 0.14.x is the last version supporting Python 2.4, 2.5,
3.1, and 3.2.

* docutils/docs/ref/docutils.dtd:

- Enable validation of Docutils XML documents against the DTD:

* docutils/parsers/rst/:

- Added functionality: escaped whitespace in URI contexts.
- Consistent handling of all whitespace characters in inline markup
 recognition. (May break documents that relied on some whitespace
 characters (NBSP, ...) *not* to be recognized as whitespace.)

* docutils/utils/smartquotes.py:

- Update quote definitions for et, fi, fr, ro, sv, tr, uk.
- Add quote definitions for hr, hsb, hu, lv, sh, sl, sr.
- Differentiate apostrophe from closing single quote (if possible).
- Add command line interface for stand-alone use (requires 2.7).

* docutils/writers/_html_base:

- Provide default title in metadata.
- The MathJax CDN shut down on April 30, 2017. For security reasons, we
 don't use a third party public installation as default but warn
 if `math-output` is set to MathJax without specifying a URL.
 See math-output_ for details.

* docutils/writers/html4css1:

- Respect automatic table column sizing.

* docutils/writers/latex2e/__init__.py

- Handle class arguments for block-level elements by wrapping them
 in a "DUclass" environment. This replaces the special handling for
 "epigraph" and "topic" elements.

* docutils/writers/odf_odt:

- Language option sets ODF document's default language
- Image width, scale, ... set image size in generated ODF.

* tools/

- New front-end ``rst2html4.py``.

0.13.1

===========================

* docutils/writers/html5_polyglot

- New HTML writer generating `HTML 5`_.

* tools/

- New front-end ``rst2html5.py``.

* languages: persian/farsi (fa) and latvian (la) mappings.

* change default base url for :rfc: to http://tools.ietf.org/html/

* tables accept widths, a list and align

* latex2e: Fix admonition width, remove deprecated options,
better tablewidth auto, ...

* rst.el: The problem with ``electric-indent-mode`` has been fixed.

.. _HTML 5: https://www.w3.org/TR/html5/
Links

@pyup-bot pyup-bot mentioned this pull request Apr 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant