Skip to content

Releases: Python-Markdown/markdown

Release 3.11.2

Choose a tag to compare

@github-actions github-actions released this 19 Oct 19:41

Fixed

  • Sanitize attribute names in the fenced_code and legacy_attrs extensions so an
    attribute name cannot break out of its tag and inject markup (#1663).
  • For backwards compatibility, revert the enforcement of CommonMark style
    punctuation rules (#1657).

Release 3.11.1

Choose a tag to compare

@github-actions github-actions released this 13 Oct 19:29

Fixed

  • Update serializer to be non-recursive (#1644).
  • Improve ancestor handling in the inline Treeprocessor (#1646).
  • Keep a raw HTML comment inside an inline HTML element that closes in the
    same paragraph, instead of splitting the paragraph around it (#1643).
  • Fix issue where inline HTML attributes were rejected if they had < or > in the attribute (#1647).
  • Fix issue where an unterminated end tag (</foo) could cause all remaining content to be dropped (#1651).
  • Complete rework of emphasis handling to improve nested emphasis handling better (#1632).

Release 3.11.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 13:46

Changed

  • Inline processors now resume searching after the previous match, improving
    performance for repeated inline patterns (#1619).
  • Officially support Python 3.15 and drop support for Python 3.10
  • Walk backtick runs in BacktickInlineProcessor without a regex (#1620).
  • Switch static site generator for documentation from MkDocs to Zensical
    (#1627, #1635, #1637, and #1638).

Fixed

  • Ensure removing Abbreviations does not raise an error (#1634).
  • Fix an issue with excessive backtracking when matching inline code blocks (#1617).
  • md_in_html now honors tags added to Markdown.block_level_elements after
    the extension is loaded (#1246).
  • Fix quadratic-time regex backtracking in ReferenceProcessor when a link
    reference definition has no URL, e.g. a line consisting only of [id]:
    followed by many trailing spaces (#798).
  • Document attr_list usage for def_list (#1123).

Release 3.10.3

Choose a tag to compare

@github-actions github-actions released this 30 Jul 19:05

Fixed

  • Fix SetextHeaderProcessor regex to prevent mixed = and - chars in setext-style headers (#1606).
  • Add AI Policy to Contributing Guide.
  • Officially document all included extensions as being in maintenance mode.
  • Link the Extension API documentation to the API Reference (#1612).

Release 3.10.2

Choose a tag to compare

@github-actions github-actions released this 09 Feb 14:57
e7a0efb

Fixed

  • Fix a regression related to comment handling (#1590).
  • More reliable fix for </ (#1593).

Release 3.10.1

Choose a tag to compare

@github-actions github-actions released this 21 Jan 18:09

Fixed

  • Ensure nested elements inside inline comments are properly unescaped (#1571).
  • Make the docs build successfully with mkdocstrings-python 2.0 (#1575).
  • Fix infinite loop when multiple bogus or unclosed HTML comments appear in input (#1578).
  • Fix another infinite loop when handling bad comments (#1586).

Release 3.10.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 19:51

Changed

  • Officially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9
    and PyPy 3.9.

Fixed

  • Fix an HTML comment parsing case in some Python versions that can cause an
    infinite loop (#1554).
  • Revert the default behavior of USE_DEFINITION_ORDER (to True). The new
    behavior introduced in 3.9.0 is experimental and results are inconsistent.
    It should not have been made the default behavior (#1561).

Release 3.9.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 20:25

Changed

  • Footnotes are now ordered by the occurrence of their references in the
    document. A new configuration option for the footnotes extension,
    USE_DEFINITION_ORDER, has been added to support restoring the previous
    behavior of ordering footnotes by the occurrence of definitions (#1367).

Fixed

  • Ensure inline processing iterates through elements in document order (#1546).
  • Fix handling of incomplete HTML tags in code spans in Python 3.14 (#1547).

Release 3.8.2

Choose a tag to compare

@github-actions github-actions released this 19 Jun 17:12

Fixed

  • Fix codecs deprecation in Python 3.14.
  • Fix issue with unclosed comment parsing in Python 3.14.
  • Fix issue with unclosed declarations in Python 3.14.
  • Fix issue with unclosed HTML tag <foo and Python 3.14.

Release 3.8.1

Choose a tag to compare

@github-actions github-actions released this 18 Jun 14:50

Fixed

  • Ensure incomplete markup declaration in raw HTML doesn't crash parser (#1534).
  • Fixed dropped content in md_in_html (#1526).
  • Fixed HTML handling corner case that prevented some content from not being rendered (#1528).