Skip to content

Update markdown to 3.7 - #216

Closed
pyup-bot wants to merge 1 commit into
masterfrom
pyup-update-markdown-3.4.1-to-3.7
Closed

Update markdown to 3.7#216
pyup-bot wants to merge 1 commit into
masterfrom
pyup-update-markdown-3.4.1-to-3.7

Conversation

@pyup-bot

Copy link
Copy Markdown
Collaborator

This PR updates markdown from 3.4.1 to 3.7.

Changelog

3.7

Changed

Refactor `abbr` Extension

A new `AbbrTreeprocessor` has been introduced, which replaces the now deprecated
`AbbrInlineProcessor`. Abbreviation processing now happens after Attribute Lists,
avoiding a conflict between the two extensions (1460).

The `AbbrPreprocessor` class has been renamed to `AbbrBlockprocessor`, which
better reflects what it is. `AbbrPreprocessor` has been deprecated.

A call to `Markdown.reset()` now clears all previously defined abbreviations.

Abbreviations are now sorted by length before executing `AbbrTreeprocessor`
to ensure that multi-word abbreviations are implemented even if an abbreviation
exists for one of those component words. (1465)

Abbreviations without a definition are now ignored. This avoids applying
abbr tags to text without a title value.

Added an optional `glossary` configuration option to the abbreviations extension.
This provides a simple and efficient way to apply a dictionary of abbreviations
to every page.

Abbreviations can now be disabled by setting their definition to `""` or `''`.
This can be useful when using the `glossary` option.


Fixed

* Fixed links to source code on GitHub from the documentation (1453).

3.6

Changed

Refactor TOC Sanitation

* All postprocessors are now run on heading content.
* Footnote references are now stripped from heading content. Fixes 660.
* A more robust `striptags` is provided to convert headings to plain text.
Unlike, the `markupsafe` implementation, HTML entities are not unescaped.
* The plain text `name`, rich `html`, and unescaped raw `data-toc-label` are
saved to `toc_tokens`, allowing users to access the full rich text content of
the headings directly from `toc_tokens`.
* The value of `data-toc-label` is sanitized separate from heading content
before being written to `name`. This fixes a bug which allowed markup through
in certain circumstances. To access the raw unsanitized data, retrieve the
value from `token['data-toc-label']` directly.
* An `html.unescape` call is made just prior to calling `slugify` so that
`slugify` only operates on Unicode characters. Note that `html.unescape` is
not run on `name`, `html`, or `data-toc-label`.
* The functions `get_name` and `stashedHTML2text` defined in the `toc` extension
are both **deprecated**. Instead, third party extensions should use some
combination of the new functions `run_postprocessors`, `render_inner_html` and
`striptags`.

Fixed

* Include `scripts/*.py` in the generated source tarballs (1430).
* Ensure lines after heading in loose list are properly detabbed (1443).
* Give smarty tree processor higher priority than toc (1440).
* Permit carets (`^`) and square brackets (`]`) but explicitly exclude
backslashes (`\`) from abbreviations (1444).
* In attribute lists (`attr_list`, `fenced_code`), quoted attribute values are
now allowed to contain curly braces (`}`) (1414).

3.5.2

Fixed

* Fix type annotations for `convertFile` - it accepts only bytes-based buffers.
Also remove legacy checks from Python 2 (1400)
* Remove legacy import needed only in Python 2 (1403)
* Fix typo that left the attribute `AdmonitionProcessor.content_indent` unset
(1404)
* Fix edge-case crash in `InlineProcessor` with `AtomicString` (1406).
* Fix edge-case crash in `codehilite` with an empty `code` tag (1405).
* Improve and expand type annotations in the code base (1401).
* Fix handling of bogus comments (1425).

3.5.1

Fixed

* Fix a performance problem with HTML extraction where large HTML input could
trigger quadratic line counting behavior (1392).
* Improve and expand type annotations in the code base (1394).

3.5

Added

Add `permalink_leading` configuration option to the toc extension (1339)

A new boolean option `permalink_leading` controls the position of the permanent
link anchors generated with `permalink`. Setting `permalink_leading` to `True`
will cause the links to be inserted at the start of the header, before any other
header content. The default behavior for `permalink` is to append permanent
links to the header, placing them after all other header content.

Changed

* Add support for cPython version 3.12 (and PyPy 3.10) and drop support for
Python version 3.7 (1357).
* Refactor changelog to use the format defined at <https://keepachangelog.com/>.
* Update the list of empty HTML tags (1353).
* Add customizable TOC title class to TOC extension (1293).
* Add API documentation of the code base which is generated by
[mkdocstrings](https://mkdocstrings.github.io/) (#1220).

Fixed

* Fix a corner case in admonitions where if an indented code block was provided
as the first block, the output would be malformed (1329).

3.4.4

Fixed

* Add a special case for initial `'s` to smarty extension (1305).
* Unescape any backslash escaped inline raw HTML (1358).
* Unescape backslash escaped TOC token names (1360).

3.4.3

Fixed

* Restore console script (1327).

3.4.2

Fixed
* Officially support Python 3.11.
* Improve standalone * and _ parsing (1300).
* Consider `<html>` HTML tag a block-level element (1309).
* Switch from `setup.py` to `pyproject.toml`.
Links

@pyup-bot pyup-bot mentioned this pull request Aug 16, 2024
@pyup-bot

Copy link
Copy Markdown
Collaborator Author

Closing this in favor of #249

@pyup-bot pyup-bot closed this Apr 11, 2025
@rogeriodelphi
rogeriodelphi deleted the pyup-update-markdown-3.4.1-to-3.7 branch April 11, 2025 17:06
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